/*!
Theme Name: matthewlaurin
Theme URI: https://www.matthewlaurin.com/
Author: Matthew Laurin
Author URI: https://www.matthewlaurin.com/
Description: Making sense of the web. The Madhouse Marketing theme: a landing-led WordPress theme built to the Madhouse Brand Style Guide v1.0 — Madhouse Red, charcoal and a disciplined neutral range, set in Poppins and Inter.
Version: 2.0.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: matthewlaurin
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.

matthewlaurin is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
# Brand tokens
--------------------------------------------------------------
Madhouse Marketing Brand Style Guide v1.0, August 2026, with the
red accent replaced by cobalt blue. Every neutral and every type
value below is still quoted from the guide; the accent ramp is
derived from #0047AB by the same tint and shade steps the guide
used for red. Sections 07-09 (colour), 11-12 (type).

The accent is Cobalt Blue #0047AB. It replaces the Madhouse Red
of guide v1.0 everywhere the guide called for red; the ratio is
unchanged at roughly 60% white, 30% charcoal and neutrals, 10%
cobalt. Cobalt is a spike, not a wash: it is reserved for one
button per screen, section rules and underlines, icons, and a
single word inside a headline. It is never used for body copy or
for large panels behind text.

Cobalt is a much darker accent than the red it replaces, so on
dark grounds (ink, and the reversed hero, contact and closing
bands) the accent steps up to Cobalt 75 #4075C0. That keeps the
same measured contrast the red had on those grounds.

Contrast, measured:
  charcoal on white  10.31:1  AAA   default pairing
  ink on white       17.38:1  AAA   long-form reading
  white on charcoal  10.31:1  AAA   reversed panels
  slate on white      5.10:1  AA    captions and labels only
  cobalt on white     8.44:1  AAA   was 4.38:1 in red
  white on cobalt     8.44:1  AAA   buttons, was 4.38:1 in red
  deep cobalt/white  11.53:1  AAA   link and body-size accent text
  cobalt 75 on ink    3.74:1  large only — accents on dark grounds
  cobalt on ink       2.06:1  FAILS never at full strength
  cobalt on charcoal  1.22:1  FAILS never
--------------------------------------------------------------*/

:root {
	/* Primary palette. The --md-red* names are kept so existing
	   overrides keep resolving; the values are cobalt blue. */
	--md-red: #0047AB;
	--md-red-deep: #003580;
	--md-charcoal: #414042;
	--md-black: #000000;

	/* Neutrals (guide p.10) */
	--md-ink: #1A1A1C;
	--md-slate: #6D6E71;
	--md-fog: #D1D3D4;
	--md-mist: #F2F2F3;
	--md-white: #FFFFFF;

	/* Cobalt tints — charts, highlights and hover states, plus the
	   accent value on dark grounds (--md-red-75). Never a logo,
	   a headline or a call to action on a light ground. */
	--md-red-75: #4075C0;
	--md-red-50: #80A3D5;
	--md-red-25: #BFD1EA;
	--md-red-10: #E6EDF7;

	/* Charcoal tints — reach for these before any colour
	   that is not in the guide. (guide p.10) */
	--md-charcoal-70: #77767A;
	--md-charcoal-45: #A3A3A6;
	--md-charcoal-20: #D9D9DB;
	--md-charcoal-08: #F2F2F3;

	/* Ink steps, for dark grounds. Capped at #2A2A2C so a
	   Cobalt 75 display accent keeps its 3:1 on top. */
	--md-ink-mid: #232325;
	--md-ink-hi: #2A2A2C;

	/* Functional — product and dashboard work only (guide p.10) */
	--md-success: #1A7F43;
	--md-warning: #A35B00;
	--md-error: #B3141A;   /* stays red: error is a signal, not the brand */
	--md-info: #1C4F9C;

	/* Typefaces (guide p.13, p.16) */
	--md-display: "Poppins", "Helvetica Neue", Arial, sans-serif;
	--md-text: "Inter", -apple-system, "Segoe UI", Arial, sans-serif;

	/* Type scale (guide p.14) — sizes in px for screen */
	--md-size-display: 44px;  --md-line-display: 46px;  --md-track-display: -0.03em;
	--md-size-h1: 32px;       --md-line-h1: 36px;       --md-track-h1: -0.025em;
	--md-size-h2: 24px;       --md-line-h2: 30px;       --md-track-h2: -0.02em;
	--md-size-h3: 18px;       --md-line-h3: 24px;       --md-track-h3: -0.015em;
	--md-size-label: 11px;    --md-line-label: 14px;    --md-track-label: 0.06em;
	--md-size-lead: 17px;     --md-line-lead: 27px;
	--md-size-body: 16px;     --md-line-body: 26px;
	--md-size-small: 13px;    --md-line-small: 20px;
	--md-size-micro: 11px;    --md-line-micro: 16px;

	/* Semantic aliases used across the design */
	--md-bg: var(--md-white);
	--md-bg-alt: var(--md-mist);
	--md-text-body: var(--md-charcoal);
	--md-text-muted: var(--md-slate);
	--md-text-on-dark: var(--md-white);
	--md-border: var(--md-charcoal-20);
	--md-rule: var(--md-red);
	--md-focus: var(--md-red);
}

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 800;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #414042;
	font-family: var(--md-text);
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #f2f2f3;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #6D6E71;
	cursor: help;
}

mark,
ins {
	background: #e6edf7;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #d9d9db;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #003580;
}

a:visited {
	color: #002A65;
}

a:hover,
a:focus,
a:active {
	color: #0047AB;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #d9d9db #d9d9db #a3a3a6;
	border-radius: 3px;
	background: #f2f2f3;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #d9d9db #a3a3a6 #a3a3a6;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #a3a3a6 #a3a3a6 #a3a3a6;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #6D6E71;
	border: 1px solid #d9d9db;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #1A1A1C;
}

select {
	border: 1px solid #d9d9db;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f2f2f3;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #003580;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/*--------------------------------------------------------------
# Madhouse Marketing landing design
--------------------------------------------------------------
Extracted verbatim from the live site's inline <style> block.

Cascade order is load-bearing: several blocks below intentionally
redefine earlier ones (.problem-section, .site-header, .mdh-footer
and the .mdh-proof-* family are each overridden further down).
Do not reorder or dedupe these rules.

Scoping: the landing markup is wrapped in .mdh-embed, so the
aggressive reset at the top cannot reach ordinary theme content.
A "Theme integration" block at the very end restores sane
defaults for non-landing pages and for editor content.
--------------------------------------------------------------*/

/* ============================================================
   Scoped reset — applies only inside .mdh-embed so it cannot
   touch the surrounding WordPress theme.
   ============================================================ */
.mdh-embed{box-sizing:border-box;margin:0;padding:0;}
.mdh-embed *{margin:0;padding:0;box-sizing:border-box;}

/* ============================================================
   Reset, header & sticky navigation
   ============================================================ */

/* Reset */


html{
    scroll-behavior:smooth;
}

.mdh-embed{
    font-family: var(--md-text);
}

/* Prevent sticky header from covering sections */

#services,
#process,
#about,
#work,
#contact,
#difference,
#testimonials{
    scroll-margin-top:140px;
}

/* Header */

.site-header{
    position:sticky;
    top:0;
    width:100%;
    background:#fff;
    box-shadow:0 2px 18px rgba(0,0,0,.08);
    z-index:999;
}

.nav-container{
    width:92%;
    max-width:1300px;
    margin:auto;
    min-height:130px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* Logo */

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    height:120px;
    width:auto;
    display:block;
}

/* Navigation */

.main-nav ul{
    display:flex;
    align-items:center;
    gap:42px;
    list-style:none;
}

.main-nav a{
    text-decoration:none;
    color:#414042;
    font-size:17px;
    font-weight: 700;
    transition:.3s;
}

.main-nav a:hover{
    color:#0047AB;
}

/* Contact Button */

.contact-btn{
    background:#0047AB;
    color:#fff !important;
    padding:15px 32px;
    border-radius:50px;
    transition:.3s;
    box-shadow:0 8px 20px rgba(0, 71, 171,.25);
}

.contact-btn:hover{
    background:#414042;
    transform:translateY(-2px);
}

/* Mobile Menu */

#nav-toggle{
    display:none;
}

.hamburger{
    display:none;
    cursor:pointer;
}

.hamburger span{
    display:block;
    width:28px;
    height:3px;
    background:#414042;
    margin:5px 0;
    border-radius:5px;
}

/* Responsive */

@media(max-width:768px){

    #services,
    #process,
    #about,
    #work,
    #contact,
    #difference,
    #testimonials{
        scroll-margin-top:100px;
    }

    .nav-container{
        min-height:90px;
    }

    .logo img{
        height:70px;
    }

    .hamburger{
        display:block;
    }

    .main-nav{
        position:absolute;
        top:90px;
        left:0;
        width:100%;
        background:#fff;
        display:none;
        box-shadow:0 8px 20px rgba(0,0,0,.08);
    }

    .main-nav ul{
        flex-direction:column;
        gap:0;
        padding:20px 0;
    }

    .main-nav li{
        width:100%;
    }

    .main-nav a{
        display:block;
        text-align:center;
        padding:16px;
    }

    .contact-btn{
        margin:15px;
    }

    #nav-toggle:checked ~ .main-nav{
        display:block;
    }
}

/* ============================================================
   Hero + audit modal
   ============================================================ */

    :root {
        /* Shared left inset: hero h1 and header logo both align to this */
        --mdh-edge: clamp(36px, 5.2vw, 100px);

        /* The design's original variable names, kept so the rules below
           keep resolving, but now pointing at the brand palette. */
        --heading: var(--md-charcoal);
        --body: var(--md-charcoal);
        --accent: var(--md-red);
        --line: var(--md-border);
        --muted: var(--md-slate);
        --white: var(--md-white);
    }


    html {
        scroll-behavior: smooth;
    }

    .mdh-embed {
        margin: 0;
        font-family: var(--md-text);
        color: var(--body);
    }

    body.mdh-modal-lock {
        overflow: hidden;
    }

    .mdh-hero {
        position: relative;
        display: grid;
        grid-template-columns:
            minmax(520px, 45%)
            minmax(0, 55%);
        grid-template-areas: "content image";
        gap: clamp(32px, 4vw, 72px);
        align-items: center;
        width: 100%;
        min-height: min(860px, 100svh);
        padding:
            clamp(40px, 5vh, 60px)
            0
            clamp(40px, 5vh, 60px)
            var(--mdh-edge);
        overflow: hidden;
        background:
            radial-gradient(
                circle at 82% 95%,
                rgba(65, 64, 66, 0.07),
                transparent 31%
            ),
            linear-gradient(
                135deg,
                #ffffff 0%,
                #fafafb 48%,
                #f2f2f3 100%
            );
    }

    .mdh-content {
        grid-area: content;
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: 680px;
    }

    .mdh-heading {
        width: 100%;
    }

    .mdh-heading h1 {
        margin: 0;
        color: var(--heading);
    }

    .mdh-heading h1 span {
        display: block;
    }

    .mdh-heading em {
        color: var(--accent);
        font-style: normal;
    }

    .mdh-heading-top {
        font-size: clamp(52px, 4.35vw, 78px);
        font-weight: 800;
        line-height: 0.95;
        letter-spacing: -0.03em;
    }

    .mdh-heading-line {
        width: 148px;
        height: 3px;
        margin: clamp(22px, 2.8vh, 28px) 0;
        border-radius: 999px;
        background: var(--line);
    }

    .mdh-heading-bottom {
        color: var(--body);
        font-size: clamp(30px, 2.35vw, 42px);
        font-weight: 700;
        line-height: 1.16;
        letter-spacing: -0.025em;
    }

    /* Social links, sitting under the heading rule in the hero. */

    .mdh-social {
        margin: clamp(4px, 1.2vh, 12px) 0 0;
    }

    .mdh-social__heading {
        margin: 0 0 12px;
        font-family: var(--md-display);
        font-size: var(--md-size-label);
        line-height: var(--md-line-label);
        letter-spacing: var(--md-track-label);
        font-weight: 700;
        text-transform: uppercase;
        color: var(--muted);
    }

    .mdh-social__list {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mdh-social__list li {
        margin: 0;
    }

    .mdh-social__link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: var(--heading);
        background: var(--white);
        border: 1px solid var(--line);
        text-decoration: none;
        transition:
            color 0.18s ease,
            background-color 0.18s ease,
            border-color 0.18s ease,
            transform 0.18s ease;
    }

    .mdh-social__link i {
        font-size: 17px;
        line-height: 1;
    }

    .mdh-social__link:hover,
    .mdh-social__link:focus-visible {
        color: var(--white);
        background: var(--accent);
        border-color: var(--accent);
        transform: translateY(-2px);
    }

    .mdh-social__link:focus-visible {
        outline: 2px solid var(--md-focus);
        outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {
        .mdh-social__link {
            transition: none;
        }

        .mdh-social__link:hover,
        .mdh-social__link:focus-visible {
            transform: none;
        }
    }

    .mdh-stats {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            1px
            minmax(0, 1fr)
            1px
            minmax(0, 1.18fr);
        column-gap: clamp(20px, 2vw, 38px);
        align-items: start;
        width: 100%;
        max-width: 650px;
        margin:
            clamp(26px, 3vh, 34px)
            0
            clamp(14px, 1.8vh, 20px);
    }

    .mdh-stat {
        display: grid;
        grid-template-rows: 54px auto;
        align-items: start;
        min-width: 0;
    }

    .mdh-stat strong {
        display: flex;
        align-items: flex-end;
        height: 54px;
        margin: 0 0 9px;
        /* Three cobalt numbers in a row reads as a warning sign. The
           guide allows one spike per screen and the hero already spends
           it on the headline accent and the primary button. */
        color: var(--md-charcoal);
        font-size: clamp(38px, 3vw, 52px);
        font-weight: 800;
        line-height: 0.88;
        letter-spacing: -0.03em;
        white-space: nowrap;
    }

    .mdh-stat-enterprise strong {
        font-size: clamp(29px, 2.25vw, 39px);
        letter-spacing: -0.03em;
    }

    .mdh-stat span {
        display: block;
        max-width: 180px;
        color: var(--heading);
        font-size: 15px;
        font-weight: 800;
        line-height: 1.38;
    }

    .mdh-stat-divider {
        width: 1px;
        height: 96px;
        background: #d1d3d4;
    }

    .mdh-hero .mdh-intro {
        max-width: 620px;
        margin: 0;
        color: #414042 !important;
        font-size: 17px;
        line-height: 1.55;
    }

    .mdh-actions {
        width: 100%;
        max-width: 650px;
        margin-top: 22px;
    }

    .mdh-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }

    .mdh-buttons a,
    .mdh-buttons button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 60px;
        padding: 0 28px;
        border: 2px solid var(--accent);
        border-radius: 12px;
        font-family: inherit;
        font-size: 15px;
        font-weight: 800;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        transition:
            transform 0.2s ease,
            box-shadow 0.2s ease,
            background 0.2s ease,
            color 0.2s ease;
    }

    .mdh-buttons .primary {
        color: var(--white);
        background: var(--accent);
        box-shadow: 0 14px 32px rgba(0, 71, 171, 0.22);
    }

    .mdh-buttons .secondary {
        /* Never a second cobalt button on the same screen (guide p.11),
           and the ghost treatment keeps the hierarchy readable. */
        color: var(--md-charcoal);
        background: rgba(250, 250, 251, 0.82);
        border-color: var(--md-charcoal-20);
    }

    .mdh-buttons a:hover,
    .mdh-buttons button:hover {
        transform: translateY(-2px);
    }

    .mdh-buttons .primary:hover {
        box-shadow: 0 18px 38px rgba(0, 71, 171, 0.3);
    }

    .mdh-buttons .secondary:hover {
        color: var(--md-white);
        background: var(--md-charcoal);
        border-color: var(--md-charcoal);
    }

    .mdh-buttons a:focus-visible,
    .mdh-buttons button:focus-visible {
        outline: 3px solid rgba(0, 71, 171, 0.35);
        outline-offset: 4px;
    }

    .mdh-actions small {
        display: block;
        margin-top: 14px;
        color: var(--muted);
        font-size: 14px;
    }

    .mdh-image {
        grid-area: image;
        position: relative;
        align-self: stretch;
        width: 100%;
        min-height: clamp(600px, 75vh, 760px);
    }

    .mdh-image::before {
        content: "";
        position: absolute;
        inset: 0 -20px 0 0;
        border-radius: 360px 0 0 360px;
        background: var(--white);
        box-shadow: 0 30px 90px rgba(26, 26, 28, 0.1);
    }

    .mdh-image img {
        position: absolute;
        z-index: 1;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 360px 0 0 360px;
        object-fit: cover;
        object-position: 58% center;
        box-shadow: 0 26px 70px rgba(26, 26, 28, 0.13);
    }

    .mdh-image::after {
        content: "";
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 0;
        left: 0;
        height: 23%;
        border-radius: 0 0 0 360px;
        background:
            linear-gradient(
                to top,
                rgba(242, 242, 243, 0.97),
                rgba(242, 242, 243, 0)
            );
        pointer-events: none;
    }

    .mdh-modal {
        position: fixed;
        z-index: 999999;
        inset: 0;
        display: grid;
        place-items: center;
        padding: 24px;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transition:
            opacity 0.22s ease,
            visibility 0.22s ease;
    }

    .mdh-modal.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .mdh-modal-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(26, 26, 28, 0.72);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    .mdh-modal-dialog {
        position: relative;
        z-index: 1;
        width: min(100%, 680px);
        max-height: calc(100svh - 48px);
        overflow-y: auto;
        border-radius: 24px;
        background: #ffffff;
        box-shadow: 0 30px 90px rgba(26, 26, 28, 0.28);
        transform: translateY(18px) scale(0.98);
        transition: transform 0.22s ease;
    }

    .mdh-modal.is-open .mdh-modal-dialog {
        transform: translateY(0) scale(1);
    }

    .mdh-modal-content {
        padding: 48px;
    }

    .mdh-modal-eyebrow {
        display: block;
        margin-bottom: 10px;
        color: var(--md-red-deep);
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .mdh-modal-content h2 {
        margin: 0 50px 14px 0;
        color: var(--heading);
        font-size: clamp(30px, 4vw, 46px);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -0.03em;
    }

    .mdh-modal-description {
        margin: 0 0 28px;
        color: #414042;
        font-size: 16px;
        line-height: 1.6;
    }

    .mdh-modal-close {
        position: absolute;
        z-index: 2;
        top: 16px;
        right: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: var(--heading);
        background: #f2f2f3;
        font-family: var(--md-text);
        font-size: 30px;
        line-height: 1;
        cursor: pointer;
    }

    .mdh-modal-close:hover {
        background: #e6edf7;
    }

    .mdh-modal-form .wpcf7 {
        width: 100%;
    }

    .mdh-modal-form .wpcf7-form {
        display: grid;
        gap: 16px;
        margin: 0;
    }

    .mdh-modal-form .wpcf7-form > p {
        margin: 0;
    }

    .mdh-modal-form label {
        display: block;
        color: var(--heading);
        font-size: 14px;
        font-weight: 700;
        line-height: 1.4;
    }

    .mdh-modal-form .wpcf7-form-control-wrap {
        display: block;
        width: 100%;
    }

    .mdh-modal-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
    .mdh-modal-form select,
    .mdh-modal-form textarea {
        display: block;
        width: 100%;
        margin-top: 8px;
        padding: 14px 16px;
        border: 1px solid #d9d9db;
        border-radius: 10px;
        color: var(--body);
        background: #ffffff;
        font-family: inherit;
        font-size: 16px;
        line-height: 1.4;
        outline: none;
    }

    .mdh-modal-form input:not([type="submit"]):focus,
    .mdh-modal-form select:focus,
    .mdh-modal-form textarea:focus {
        border-color: var(--accent);
        box-shadow: 0 0 0 3px rgba(0, 71, 171, 0.14);
    }

    .mdh-modal-form textarea {
        min-height: 130px;
        resize: vertical;
    }

    .mdh-modal-form input[type="submit"] {
        width: 100%;
        min-height: 56px;
        padding: 0 24px;
        border: 2px solid var(--accent);
        border-radius: 10px;
        color: #ffffff;
        background: var(--accent);
        font-family: inherit;
        font-size: 15px;
        font-weight: 800;
        cursor: pointer;
    }

    .mdh-modal-form .wpcf7-response-output {
        margin: 16px 0 0 !important;
        padding: 12px 14px !important;
        border-radius: 8px;
        font-size: 14px;
        line-height: 1.5;
    }

    @media (min-width: 981px) and (max-height: 820px) {
        .mdh-hero {
            min-height: 720px;
            padding-top: 30px;
            padding-bottom: 30px;
        }

        .mdh-heading-top {
            font-size: clamp(50px, 4vw, 68px);
        }

        .mdh-heading-bottom {
            font-size: clamp(28px, 2.1vw, 37px);
        }

        .mdh-heading-line {
            margin-top: 20px;
            margin-bottom: 22px;
        }

        .mdh-stats {
            margin-top: 24px;
            margin-bottom: 14px;
        }

        .mdh-hero .mdh-intro {
            font-size: 16px;
            line-height: 1.5;
        }

        .mdh-actions {
            margin-top: 18px;
        }

        .mdh-buttons a,
        .mdh-buttons button {
            min-height: 56px;
        }

        .mdh-image {
            min-height: 620px;
        }
    }

    @media (max-width: 1250px) {
        :root { --mdh-edge: 38px; }

        .mdh-hero {
            grid-template-columns:
                minmax(470px, 47%)
                minmax(0, 53%);
            gap: 30px;
            padding-left: var(--mdh-edge);
        }

        .mdh-stats {
            column-gap: 20px;
        }

        .mdh-stat span {
            font-size: 14px;
        }

        .mdh-buttons a,
        .mdh-buttons button {
            padding-right: 22px;
            padding-left: 22px;
        }
    }

    @media (max-width: 980px) {
        :root { --mdh-edge: 24px; }

        .mdh-hero {
            grid-template-columns: 1fr;
            grid-template-areas:
                "content"
                "image";
            gap: 28px;
            min-height: auto;
            padding: 52px 24px 56px;
            padding-left: var(--mdh-edge);
        }

        .mdh-content {
            width: 100%;
            max-width: 760px;
            margin: 0 auto;
        }

        .mdh-heading-top,
        .mdh-heading-bottom {
            white-space: normal;
        }

        .mdh-image {
            width: 100%;
            max-width: 920px;
            min-height: 0;
            aspect-ratio: 16 / 9;
            margin: 0 auto;
        }

        .mdh-image::before,
        .mdh-image img {
            border-radius: 48px;
        }

        .mdh-image::before {
            inset: 0;
        }

        .mdh-image img {
            object-position: center;
        }

        .mdh-image::after {
            border-radius: 0 0 48px 48px;
        }
    }

    @media (max-width: 640px) {
        :root { --mdh-edge: 18px; }

        .mdh-hero {
            gap: 24px;
            padding: 34px 18px 42px;
            padding-left: var(--mdh-edge);
        }

        .mdh-heading-top {
            font-size: clamp(40px, 13vw, 56px);
            line-height: 0.98;
            letter-spacing: -0.03em;
        }

        .mdh-heading-bottom {
            font-size: clamp(25px, 7.2vw, 33px);
        }

        .mdh-heading-line {
            width: 110px;
            margin: 22px 0 25px;
        }

        .mdh-stats {
            grid-template-columns: 1fr;
            gap: 0;
            margin: 28px 0 18px;
        }

        .mdh-stat {
            grid-template-rows: auto auto;
        }

        .mdh-stat strong,
        .mdh-stat-enterprise strong {
            height: auto;
            margin-bottom: 8px;
            font-size: clamp(34px, 10vw, 44px);
            line-height: 0.95;
        }

        .mdh-stat-divider {
            display: block;
            width: 100%;
            height: 1px;
            margin: 18px 0;
        }

        .mdh-hero .mdh-intro {
            font-size: 16px;
            line-height: 1.52;
        }

        .mdh-actions {
            margin-top: 18px;
        }

        .mdh-buttons {
            flex-direction: column;
            gap: 12px;
        }

        .mdh-buttons a,
        .mdh-buttons button {
            width: 100%;
            min-height: 56px;
            padding: 0 18px;
        }

        .mdh-actions small {
            margin-top: 12px;
            text-align: center;
        }

        .mdh-image {
            aspect-ratio: 4 / 3;
        }

        .mdh-image::before,
        .mdh-image img {
            border-radius: 32px;
        }

        .mdh-image::after {
            border-radius: 0 0 32px 32px;
        }

        .mdh-modal {
            align-items: end;
            padding: 12px;
        }

        .mdh-modal-dialog {
            width: 100%;
            max-height: calc(100svh - 24px);
            border-radius: 22px;
        }

        .mdh-modal-content {
            padding: 54px 22px 28px;
        }
    }

    @media (max-width: 420px) {
        :root { --mdh-edge: 15px; }

        .mdh-hero {
            padding-right: 15px;
            padding-left: var(--mdh-edge);
        }

        .mdh-image {
            aspect-ratio: 1 / 1;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        html {
            scroll-behavior: auto;
        }

        .mdh-buttons a,
        .mdh-buttons button,
        .mdh-modal,
        .mdh-modal-dialog {
            transition: none;
        }
    }

/* ============================================================
   "Stop us if..." problem section
   ============================================================ */

:root{
    --primary: var(--md-charcoal);
    --accent: var(--md-red);
    --text: var(--md-charcoal);
    --border: var(--md-border);
}

.problem-section{
    position:relative;
    overflow:hidden;
    padding:80px 24px 90px;
    background:
        radial-gradient(circle at top left, rgba(65, 64, 66,0.055), transparent 35%),
        radial-gradient(circle at bottom right, rgba(26, 26, 28,.08), transparent 35%),
        linear-gradient(180deg,#FAFAFB 0%,#F2F2F3 100%);
}

.problem-container{
    max-width:1180px;
    margin:auto;
    position:relative;
    z-index:2;
}

.problem-title{
    max-width:980px;
    margin:0 auto 60px;
    text-align:center;
    color:var(--primary);
    font-size:clamp(38px,4.8vw,64px);
    line-height:.95;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.problem-title span{
    display:block;
    font-size:.88em;
}

.problem-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.problem-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:24px;
    padding:34px 32px;
    min-height:245px;
    position:relative;
    overflow:hidden;
    transition:.3s ease;
    box-shadow:0 10px 30px rgba(26, 26, 28,.05);
}

.problem-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,var(--primary),var(--accent));
}

.problem-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(26, 26, 28,.12);
}

.problem-card h3{
    margin:0 0 18px;
    color:var(--primary);
    font-size:28px;
    line-height:1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.problem-card p{
    margin:0;
    color:var(--text);
    font-size:17px;
    line-height:1.7;
}

.problem-callout{
    max-width:760px;
    margin:36px auto 0;
    padding:22px 28px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    text-align:center;
    box-shadow:0 12px 35px rgba(26, 26, 28,.06);
}

.problem-callout p{
    margin:0;
    color:var(--primary);
    font-size:21px;
    line-height:1.45;
    font-weight: 800;
}

.problem-callout span{
    color:var(--accent);
}

@media (max-width:900px){

.problem-section{
    padding:70px 20px 80px;
}

.problem-title{
    font-size:48px;
    margin-bottom:45px;
}

.problem-grid{
    grid-template-columns:1fr;
    gap:20px;
}

.problem-card{
    min-height:auto;
    padding:30px;
}

.problem-card h3{
    font-size:25px;
}

.problem-card p{
    font-size:16px;
}

.problem-callout{
    margin-top:28px;
}

.problem-callout p{
    font-size:18px;
}

}

@media (max-width:600px){

.problem-section{
    padding:60px 16px 70px;
}

.problem-title{
    font-size:40px;
    line-height:1;
    letter-spacing: -0.03em;
}

.problem-card{
    padding:26px;
}

.problem-card h3{
    font-size:23px;
}

.problem-card p{
    font-size:15px;
}

.problem-callout{
    padding:20px;
}

.problem-callout p{
    font-size:17px;
}

}

/* ============================================================
   Proof & credibility section
   ============================================================ */

  .mdh-proof-section,
  .mdh-proof-section *,
  .mdh-proof-section *::before,
  .mdh-proof-section *::after {
    box-sizing: border-box;
  }

  .mdh-proof-section {
    position: relative;
    background: linear-gradient(180deg, #ffffff 0%, #fafafb 100%);
    padding: 85px 28px 80px;
    overflow: hidden;
  }

  .mdh-proof-wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    text-align: center;
  }

  .mdh-eyebrow {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 14px !important;
    color: #6D6E71;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transform: none !important;
  }

  .mdh-proof-section h2 {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 900px;
    height: auto !important;
    margin: 0 auto 20px !important;
    color: #414042;
    font-size: clamp(40px, 4.2vw, 62px);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.025em;
    transform: none !important;
  }

  .mdh-proof-section h2 span {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    color: #0047ab;
    transform: none !important;
  }

  .mdh-proof-intro {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 820px;
    height: auto !important;
    margin: 0 auto 38px !important;
    color: #414042;
    font-size: 18px;
    line-height: 1.65;
    transform: none !important;
  }

  .mdh-proof-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 26px !important;
    width: 100% !important;
    max-width: 1100px;
    margin: 0 auto !important;
  }

  .mdh-proof-card {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 310px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 38px 34px !important;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(26, 26, 28, 0.08);
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(26, 26, 28, 0.05);
    text-align: left;
    transform: none !important;
  }

  .mdh-proof-card.featured {
    background: linear-gradient(135deg, #414042 0%, #4e4d50 100%);
  }

  .mdh-proof-card > .mdh-proof-number,
  .mdh-proof-card > h3,
  .mdh-proof-card > p {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .mdh-proof-card > .mdh-proof-number {
    margin: 0 0 22px !important;
    color: #0047ab;
    font-size: clamp(42px, 4vw, 64px);
    line-height: 0.95 !important;
    font-weight: 800;
    letter-spacing: -0.03em;
    word-break: normal;
  }

  .mdh-proof-card > .mdh-proof-number-enterprise {
    font-size: clamp(34px, 3vw, 50px);
    line-height: 1 !important;
    letter-spacing: -0.03em;
  }

  .mdh-proof-card > h3 {
    margin: 0 0 14px !important;
    color: #414042;
    font-size: 22px;
    line-height: 1.15 !important;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .mdh-proof-card > p {
    margin: 0 !important;
    color: #414042;
    font-size: 16px;
    line-height: 1.55 !important;
    font-weight: 400;
  }

  .mdh-proof-card.featured > .mdh-proof-number,
  .mdh-proof-card.featured > h3,
  .mdh-proof-card.featured > p {
    color: #ffffff;
  }

  .mdh-proof-callout {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 860px;
    height: auto !important;
    margin: 30px auto 0 !important;
    padding: 24px 30px !important;
    background: #ffffff;
    border: 1px solid rgba(0, 71, 171, 0.18);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(26, 26, 28, 0.04);
    text-align: left;
    transform: none !important;
  }

  .mdh-proof-callout > span {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(0, 71, 171, 0.12);
    color: #414042;
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
    transform: none !important;
  }

  .mdh-proof-callout > p {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    color: #414042;
    font-size: 18px;
    line-height: 1.55 !important;
    font-weight: 600;
    transform: none !important;
  }

  .mdh-proof-callout strong {
    color: #003580;
    font-weight: 800;
  }

  @media (max-width: 1000px) {
    .mdh-proof-grid {
      grid-template-columns: 1fr !important;
      max-width: 620px;
    }

    .mdh-proof-card {
      min-height: 0 !important;
      align-items: center !important;
      text-align: center;
    }
  }

  @media (max-width: 768px) {
    .mdh-proof-section {
      padding: 70px 20px;
    }

    .mdh-proof-section h2 {
      font-size: 40px;
    }

    .mdh-proof-intro {
      font-size: 17px;
      margin-bottom: 30px !important;
    }

    .mdh-proof-card {
      padding: 30px 24px !important;
    }

    .mdh-proof-card > .mdh-proof-number {
      font-size: 48px;
    }

    .mdh-proof-card > .mdh-proof-number-enterprise {
      font-size: 38px;
    }

    .mdh-proof-callout {
      flex-direction: column !important;
      align-items: flex-start !important;
      padding: 22px !important;
    }

    .mdh-proof-callout > p {
      font-size: 16px;
    }
  }

  @media (max-width: 480px) {
    .mdh-proof-section {
      padding: 56px 16px;
    }

    .mdh-proof-section h2 {
      font-size: 34px;
    }

    .mdh-proof-card > h3 {
      font-size: 20px;
    }

    .mdh-proof-card > .mdh-proof-number {
      font-size: 42px;
    }

    .mdh-proof-card > .mdh-proof-number-enterprise {
      font-size: 34px;
      overflow-wrap: anywhere !important;
    }
  }

/* ============================================================
   What we do: title-only services grid
   ============================================================ */

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

.mdh-services {
  width: 100%;
  padding: 68px 20px 80px;
  background: #ffffff;
  font-family: var(--md-text);
}

.mdh-services__container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

.mdh-services__header {
  max-width: 1000px;
  margin: 0 auto 46px;
  text-align: center;
}

.mdh-services__eyebrow {
  margin: 0 0 16px;
  color: #6d6e71;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mdh-services__title {
  margin: 0;
  color: #414042;
  font-size: clamp(38px, 4.4vw, 64px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.mdh-services__title span {
  color: #0047ab;
}

.mdh-services__intro {
  max-width: 740px;
  margin: 22px auto 0;
  color: #414042;
  font-size: 17px;
  line-height: 1.6;
}

.mdh-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mdh-service-card {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 150px;
  padding: 28px;
  background: #ffffff;
  border: 1px solid #d9d9db;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(26, 26, 28, .035);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.mdh-service-card:hover {
  transform: translateY(-4px);
  border-color: #bfd1ea;
  box-shadow: 0 18px 38px rgba(26, 26, 28, .08);
}

.mdh-service-card__icon {
  display: grid;
  flex: 0 0 58px;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  color: #0047ab;
  background: #f2f2f3;
}

.mdh-service-card__icon svg {
  display: block;
  width: 28px;
  height: 28px;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mdh-service-card h3 {
  margin: 0;
  color: #414042;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

@media (max-width: 980px) {
  .mdh-services {
    padding: 60px 20px 70px;
  }

  .mdh-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .mdh-services {
    padding: 48px 16px 56px;
  }

  .mdh-services__header {
    margin-bottom: 34px;
  }

  .mdh-services__eyebrow {
    margin-bottom: 13px;
    font-size: 10px;
    letter-spacing: 0.06em;
  }

  .mdh-services__title {
    font-size: clamp(34px, 10vw, 44px);
  }

  .mdh-services__intro {
    margin-top: 18px;
    font-size: 16px;
  }

  .mdh-services__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .mdh-service-card {
    min-height: 120px;
    padding: 22px;
    border-radius: 18px;
  }

  .mdh-service-card__icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }

  .mdh-service-card__icon svg {
    width: 25px;
    height: 25px;
  }

  .mdh-service-card h3 {
    font-size: 20px;
  }
}


/* ============================================================
   Madhouse Marketing difference band
   ============================================================ */

.medspa-difference {
  position: relative;
  overflow: hidden;
  padding: 72px 24px 82px;
  color: white;
  text-align: center;
  background: #1a1a1c;
}

.medspa-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(26, 26, 28,.97) 0%,
      rgba(26, 26, 28,.88) 48%,
      rgba(26, 26, 28,.84) 100%
    ),
    url("https://images.unsplash.com/photo-1570172619644-dfd03ed5d881?auto=format&fit=crop&w=1800&q=80");
  background-size: cover;
  background-position: center;
  filter: blur(2px);
  transform: scale(1.03);
}

.medspa-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 20%, rgba(64, 117, 192,.16), transparent 38%),
    radial-gradient(circle at 80% 70%, rgba(64, 117, 192,.12), transparent 34%);
}

.medspa-wrap {
  position: relative;
  z-index: 2;
  max-width: 940px;
  margin: 0 auto;
}

.medspa-label {
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #D1D3D4;
  text-transform: uppercase;
}

.medspa-label::after {
  content: "";
  display: block;
  width: 74px;
  height: 2px;
  background: #4075c0;
  margin: 16px auto 0;
}

.medspa-difference h2 {
  margin: 0 0 22px;
  font-size: clamp(42px, 4.8vw, 72px);
  line-height: .95;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #ffffff;
}

.medspa-difference h2 span {
  color: #4075c0;
}

.medspa-copy {
  max-width: 760px;
  margin: 0 auto 34px;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.55;
  color: rgba(250, 250, 251,.82);
}

.medspa-points {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0 auto 36px;
}

.point-card {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  min-width: 250px;
  padding: 16px 22px;
  border-radius: 16px;
  background: rgba(250, 250, 251,.05);
  border: 1px solid rgba(250, 250, 251,.12);
  backdrop-filter: blur(10px);
}

.point-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4075C0;
  font-weight: 800;
  font-size: 16px;
  background: rgba(64, 117, 192,.08);
  border: 1px solid rgba(64, 117, 192,.2);
}

.point-card span {
  color: white;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
}

.medspa-btn {
  display: inline-block;
  padding: 17px 36px;
  border-radius: 999px;
  background: #4075C0;
  color: white;
  text-decoration: none;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 16px 38px rgba(64, 117, 192,.26);
  transition: transform .25s ease, box-shadow .25s ease;
}

.medspa-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(64, 117, 192,.34);
}

@media (max-width: 768px) {
  .medspa-difference {
    padding: 64px 20px 72px;
  }

  .medspa-label {
    font-size: 11px;
    letter-spacing: 0.06em;
  }

  .medspa-difference h2 {
    font-size: 44px;
    letter-spacing: -0.03em;
  }

  .medspa-copy {
    font-size: 17px;
  }

  .medspa-points {
    gap: 12px;
  }

  .point-card {
    width: 100%;
    min-width: 0;
  }

  .medspa-btn {
    width: 100%;
    max-width: 340px;
  }
}

/* ============================================================
   Our process roadmap
   ============================================================ */

.mdhp-process,.mdhp-process *{box-sizing:border-box;}
.mdhp-process{
  background:linear-gradient(180deg,#fafafb 0%,#f2f2f3 100%);
  padding:70px 20px 95px;
  overflow:visible;
  position:relative;
  margin-bottom:0;
  border-bottom:none!important;
  box-shadow:none!important;
}
.mdhp-inner{max-width:1220px;margin:0 auto;text-align:center;overflow:visible;border-bottom:none!important;box-shadow:none!important;}
.mdhp-process h2{color:#414042;font-size:clamp(34px,3.6vw,58px);line-height:1.05;font-weight: 800;margin:0 0 18px;}
.mdhp-intro{max-width:860px;margin:0 auto 65px;color:#414042;font-size:18px;line-height:1.5;}
.mdhp-roadmap{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;overflow:visible;}
.mdhp-path{position:absolute;left:-35px;top:45px;width:calc(100% + 70px);height:120px;z-index:0;pointer-events:none;}
.mdhp-path path{fill:none;stroke:#d1d3d4;stroke-width:2;stroke-dasharray:8 11;stroke-linecap:round;opacity:.65;}
.mdhp-pin{position:absolute;left:-8px;top:65px;width:34px;height:34px;z-index:2;}
.mdhp-pin svg{width:100%;height:100%;fill:none;stroke:#6d6e71;stroke-width:2.5;}
.mdhp-step{position:relative;z-index:2;text-align:center;}
.mdhp-circle{width:120px;height:120px;margin:0 auto 22px;border-radius:50%;background:#fff;border:1px solid rgba(0, 71, 171,.35);box-shadow:0 18px 45px rgba(26, 26, 28,.08);position:relative;}
.mdhp-circle span{position:absolute;top:-8px;right:-8px;width:38px;height:38px;border-radius:50%;background:#0047ab;color:#fff;font-size:19px;font-weight: 800;display:flex;align-items:center;justify-content:center;z-index:4;}
.mdhp-icon-bg{position:absolute;width:50px;height:50px;border-radius:50%;background:#e6edf7;top:50%;left:50%;transform:translate(-50%,-50%);}
.mdhp-icon{position:absolute;top:50%;left:50%;width:50px;height:50px;z-index:3;stroke:#414042;stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round;transform:translate(-50%,-50%);}
.mdhp-step h3{color:#414042;font-size:28px;line-height:1.1;font-weight: 800;margin:0;}
.mdhp-step i{display:block;width:38px;height:3px;background:#0047ab;border-radius:999px;margin:14px auto 18px;}
.mdhp-step p{max-width:300px;margin:0 auto;color:#414042;font-size:15px;line-height:1.65;}
.mdhp-process::before,.mdhp-process::after,.mdhp-inner::before,.mdhp-inner::after{display:none!important;}
@media(max-width:980px){
.mdhp-roadmap{grid-template-columns:1fr;gap:50px;}
.mdhp-path,.mdhp-pin{display:none;}
.mdhp-intro{margin-bottom:50px;}
}

/* ============================================================
   How we're different comparison
   ============================================================ */

.mdh-different {
  background: #ffffff;
  padding: 80px 24px;
}

.mdh-different-wrap {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
}

.mdh-eyebrow {
  margin: 0 0 14px;
  color: #6D6E71;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mdh-different h2 {
  max-width: 760px;
  margin: 0 auto 18px;
  color: #414042;
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1.05;
  font-weight: 800;
}

.mdh-different h2 span {
  color: #0047ab;
}

.mdh-different-intro {
  max-width: 650px;
  margin: 0 auto 48px;
  color: #414042;
  font-size: 17px;
  line-height: 1.65;
}

.mdh-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  text-align: left;
}

.mdh-compare-col {
  border-radius: 24px;
  padding: 42px;
  min-height: 430px;
}

.mdh-good {
  background: linear-gradient(135deg, #fafafb 0%, #f2f2f3 100%);
  border: 2px solid #0047ab;
  box-shadow: 0 24px 60px rgba(26, 26, 28, 0.08);
  transform: translateY(-8px);
}

.mdh-bad {
  background: #fafafb;
  border: 1px solid #d9d9db;
  opacity: 0.88;
}

.mdh-label {
  margin-bottom: 30px;
  color: #414042;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 800;
}

.mdh-compare ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mdh-compare li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 22px;
  color: #414042;
  font-size: 18px;
  line-height: 1.55;
}

.mdh-compare li:last-child {
  margin-bottom: 0;
}

.mdh-good li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #0047AB;
  font-weight: 800;
  font-size: 20px;
}

.mdh-bad li::before {
  content: "–";
  position: absolute;
  left: 2px;
  top: 0;
  color: #6d6e71;
  font-weight: 800;
  font-size: 22px;
}

@media (max-width: 768px) {
  .mdh-different {
    padding: 70px 20px;
  }

  .mdh-compare {
    grid-template-columns: 1fr;
  }

  .mdh-compare-col {
    padding: 30px 24px;
    min-height: auto;
  }

  .mdh-good {
    transform: none;
  }

  .mdh-different h2 {
    font-size: 36px;
  }

  .mdh-label {
    font-size: 24px;
  }

  .mdh-compare li {
    font-size: 16px;
  }
}

/* ============================================================
   Case studies section
   ============================================================ */

  .mdh-proof,
  .mdh-proof * {
    box-sizing: border-box;
  }

  .mdh-proof {
    background: #fafafb;
    padding: 90px 24px 95px;
  }

  .mdh-proof-wrap {
    max-width: 1180px;
    margin: 0 auto;
    text-align: center;
  }

  .mdh-eyebrow {
    margin: 0 0 14px;
    color: #414042;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .mdh-proof h2 {
    max-width: 720px;
    margin: 0 auto 18px;
    color: #414042;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.04;
    font-weight: 800;
  }

  .mdh-proof-intro {
    max-width: 720px;
    margin: 0 auto 34px;
    color: #414042;
    font-size: 17px;
    line-height: 1.6;
  }

  .mdh-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    align-items: stretch;
    text-align: left;
  }

  .mdh-proof-card {
    display: grid;
    grid-template-rows:
      4px
      28px
      14px
      18px
      58px
      28px
      58px
      8px
      20px
      24px
      80px
      24px
      auto;
    padding: 34px 30px;
    background: #ffffff;
    border: 1px solid #d9d9db;
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(26, 26, 28, 0.04);
  }

  .mdh-card-line {
    grid-row: 1;
    width: 60px;
    height: 4px;
    border-radius: 999px;
    background: #0047ab;
  }

  .mdh-card-kicker {
    grid-row: 3;
    margin: 0;
    color: #6D6E71;
    font-size: 11px;
    font-weight: 800;
    line-height: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .mdh-proof-card h3 {
    grid-row: 5;
    margin: 0;
    color: #414042;
    font-size: 26px;
    line-height: 1.08;
    font-weight: 800;
  }

  .mdh-metric {
    grid-row: 7;
    margin: 0;
    color: #414042;
    font-size: 58px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
  }

  .mdh-metric-label {
    grid-row: 9;
    margin: 0;
    color: #6D6E71;
    font-size: 15px;
    font-weight: 800;
    line-height: 20px;
  }

  .mdh-card-copy {
    grid-row: 11;
    margin: 0;
    color: #414042;
    font-size: 16px;
    line-height: 1.55;
  }

  .mdh-card-details {
    grid-row: 13;
    display: grid;
    grid-template-rows: repeat(3, minmax(62px, auto));
  }

  .mdh-detail-row {
    display: block;
    padding: 13px 0;
    border-top: 1px solid #d9d9db;
    color: #414042;
    font-size: 14px;
    line-height: 1.45;
  }

  .mdh-detail-row strong {
    color: #414042;
    font-weight: 800;
  }

  .mdh-detail-row span {
    color: #414042;
  }

  .mdh-proof-note {
    margin: 34px 0 0;
    color: #6d6e71;
    font-size: 13px;
  }

  @media (max-width: 900px) {
    .mdh-proof {
      padding: 75px 20px;
    }

    .mdh-proof-grid {
      grid-template-columns: 1fr;
    }

    .mdh-proof-card {
      display: block;
      padding: 32px 26px;
    }

    .mdh-card-line {
      margin-bottom: 28px;
    }

    .mdh-card-kicker {
      margin-bottom: 18px;
    }

    .mdh-proof-card h3 {
      margin-bottom: 28px;
    }

    .mdh-metric {
      margin-bottom: 8px;
    }

    .mdh-metric-label {
      margin-bottom: 24px;
    }

    .mdh-card-copy {
      margin-bottom: 24px;
    }

    .mdh-card-details {
      display: block;
    }

    .mdh-proof h2 {
      font-size: 38px;
    }
  }

  @media (max-width: 520px) {
    .mdh-proof {
      padding: 60px 16px;
    }

    .mdh-proof h2 {
      font-size: 32px;
    }

    .mdh-proof-card {
      padding: 28px 22px;
    }

    .mdh-proof-card h3 {
      font-size: 24px;
    }

    .mdh-metric {
      font-size: 52px;
    }
  }

/* ============================================================
   Contact hero + footer
   ============================================================ */


  .mdh-embed {
    margin: 0;
    background: #1A1A1C;
  }

  .mdh-embed {
    font-family: var(--md-text);
    color: #ffffff;
  }

  .mdh-contact-hero {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    padding: 110px 6vw 70px;
    border-bottom: 0;
    background:
      radial-gradient(
        circle at 80% 45%,
        rgba(64, 117, 192, 0.42),
        transparent 35%
      ),
      radial-gradient(
        circle at 15% 18%,
        rgba(64, 117, 192, 0.12),
        transparent 34%
      ),
      linear-gradient(
        135deg,
        #1A1A1C 0%,
        #232325 55%,
        #2a2a2c 100%
      );
  }

  .mdh-contact-hero::before {
    content: "";
    position: absolute;
    left: -280px;
    top: 80px;
    width: 900px;
    height: 900px;
    border: 1px solid rgba(250, 250, 251, 0.08);
    border-radius: 50%;
  }

  .mdh-contact-hero::after {
    content: "";
    position: absolute;
    left: 17%;
    top: 34%;
    width: 620px;
    height: 260px;
    border: 1px solid rgba(250, 250, 251, 0.07);
    border-radius: 50%;
    transform: rotate(8deg);
  }

  .mdh-bg-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.65;
    pointer-events: none;
  }

  .mdh-bg-orb-one {
    width: 360px;
    height: 360px;
    right: 15%;
    top: 20%;
    background: rgba(64, 117, 192, 0.42);
  }

  .mdh-bg-orb-two {
    width: 420px;
    height: 420px;
    right: -8%;
    bottom: -10%;
    background: rgba(64, 117, 192, 0.35);
  }

  .mdh-hero-inner {
    position: relative;
    z-index: 1;
    width: min(1700px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns:
      minmax(0, 1.45fr)
      minmax(420px, 0.65fr);
    gap: clamp(70px, 8vw, 150px);
    align-items: center;
  }

  .mdh-eyebrow {
    margin: 0 0 24px;
    color: #6D6E71;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 13px;
    font-weight: 800;
  }

  .mdh-hero-copy h2 {
    margin: 0;
    max-width: 760px;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(46px, 4.8vw, 78px);
    line-height: 1.08;
    letter-spacing: -0.03em;
    font-weight: 800;
  }

  .mdh-hero-copy h2 span {
    color: #4075c0 !important;
    -webkit-text-fill-color: #4075c0 !important;
  }

  .mdh-intro {
    max-width: 620px;
    margin: 30px 0 28px;
    color: rgba(250, 250, 251, 0.82);
    font-size: clamp(18px, 1vw, 20px);
    line-height: 1.6;
  }

  .mdh-service-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .mdh-service-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(250, 250, 251, 0.16);
    border-radius: 999px;
    background: rgba(250, 250, 251, 0.08);
    color: rgba(250, 250, 251, 0.86);
    font-size: 15px;
  }

  .mdh-form-card {
    width: 100%;
    max-width: 560px;
    justify-self: end;
    padding: 42px;
    border: 1px solid rgba(250, 250, 251, 0.18);
    border-radius: 26px;
    background: rgba(26, 26, 28, 0.7);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .mdh-form-kicker {
    margin: 0 0 12px;
    color: #D1D3D4;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 12px;
    font-weight: 800;
  }

  .mdh-form-card h2 {
    margin: 0 0 8px;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(32px, 2vw, 42px);
    line-height: 1.05;
    letter-spacing: -0.03em;
  }

  .mdh-form-intro {
    margin: 0 0 28px;
    color: rgba(250, 250, 251, 0.76);
    font-size: 17px;
  }

  .mdh-field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .mdh-form-card label {
    display: block;
    margin-bottom: 17px;
    color: rgba(250, 250, 251, 0.95);
    font-size: 14px;
    font-weight: 700;
  }

  .mdh-form-card small {
    color: rgba(250, 250, 251, 0.58);
  }

  .mdh-form-card input,
  .mdh-form-card textarea {
    width: 100%;
    margin-top: 8px;
    border: 1px solid rgba(250, 250, 251, 0.14);
    border-radius: 12px;
    padding: 15px 16px;
    background: rgba(250, 250, 251, 0.15);
    color: #ffffff;
    font: inherit;
    outline: none;
  }

  .mdh-form-card input::placeholder,
  .mdh-form-card textarea::placeholder {
    color: rgba(250, 250, 251, 0.55);
  }

  .mdh-form-card input:focus,
  .mdh-form-card textarea:focus {
    border-color: rgba(64, 117, 192, 0.78);
    background: rgba(250, 250, 251, 0.2);
    box-shadow: 0 0 0 4px rgba(64, 117, 192, 0.12);
  }

  .mdh-form-card textarea {
    min-height: 110px;
    resize: vertical;
  }

  .mdh-form-card button {
    width: 100%;
    margin-top: 8px;
    border: 0;
    border-radius: 12px;
    padding: 17px;
    background: #4075C0;
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    box-shadow: 0 14px 36px rgba(64, 117, 192, 0.35);
    transition:
      transform 0.2s ease,
      box-shadow 0.2s ease;
  }

  .mdh-form-card button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(64, 117, 192, 0.42);
  }

  .mdh-footer {
    position: relative;
    margin-top: -1px;
    padding: 40px 6vw;
    border-top: 1px solid rgba(250, 250, 251, 0.08);
    border-bottom: 0;
    background: linear-gradient(
      180deg,
      #2a2a2c 0%,
      #232325 30%,
      #1A1A1C 100%
    );
  }

  .mdh-footer::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0;
    width: 100%;
    height: 120px;
    background: linear-gradient(
      to bottom,
      rgba(26, 26, 28, 0),
      rgba(26, 26, 28, 0.75),
      #1A1A1C
    );
    pointer-events: none;
  }

  .mdh-footer-inner {
    position: relative;
    z-index: 1;
    width: min(1700px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(280px, 2fr) minmax(250px, 1.35fr) 0.8fr 0.9fr;
    gap: clamp(42px, 5vw, 90px);
    align-items: start;
  }

  .mdh-footer-brand {
    min-width: 0;
  }

  .mdh-footer-logo{
    display:block;
    width:100%;
    max-width:180px;
    height:auto;
    margin:0 0 18px;
    object-fit:contain;
}

  .mdh-footer-copy {
    margin: 0;
    color: rgba(250, 250, 251, 0.72);
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }

  .mdh-footer-statement {
    position: relative;
    padding: 6px 0 6px 28px;
    border-left: 2px solid rgba(64, 117, 192, 0.72);
  }

  .mdh-footer-statement-label {
    margin: 0 0 14px;
    color: #D1D3D4;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .mdh-footer-tagline {
    margin:0;
    color:#ffffff;
    font-size:clamp(30px,2.3vw,40px);
    line-height:1.05;
    font-weight: 800;
    letter-spacing: -0.025em;
}

  .mdh-footer-tagline strong{
    display:block;
    margin-top:8px;
    color:#4075c0;
    font-weight: 800;
}

  .mdh-footer h4 {
    margin: 0 0 18px;
    color: #D1D3D4;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }

  .mdh-footer a {
    display: block;
    width: fit-content;
    margin: 0 0 13px;
    color: rgba(250, 250, 251, 0.75);
    text-decoration: none;
    font-size: 16px;
    transition: color 0.2s ease, transform 0.2s ease;
  }

  .mdh-footer a:hover {
    color: #ffffff;
    transform: translateX(3px);
  }

  @media (max-width: 1100px) {
    .mdh-contact-hero {
      padding: 90px 28px 60px;
    }

    .mdh-hero-inner {
      grid-template-columns: 1fr;
      gap: 54px;
    }

    .mdh-hero-copy h2 {
      font-size: clamp(42px, 6vw, 64px);
    }

    .mdh-form-card {
      max-width: 720px;
      justify-self: start;
    }

    .mdh-footer-inner {
      grid-template-columns: 1fr 1fr;
      gap: 48px;
    }

    .mdh-footer-brand,
    .mdh-footer-statement {
      grid-column: auto;
    }
  }

  @media (max-width: 680px) {
    .mdh-contact-hero {
      min-height: auto;
      padding: 72px 20px 50px;
    }

    .mdh-hero-copy h2 {
      font-size: clamp(34px, 9vw, 44px);
      line-height: 1.02;
      letter-spacing: -0.03em;
    }

    .mdh-intro {
      margin-top: 26px;
      font-size: 17px;
    }

    .mdh-field-grid {
      grid-template-columns: 1fr;
      gap: 0;
    }

    .mdh-form-card {
      padding: 28px;
    }

    .mdh-footer {
      padding: 54px 20px;
    }

    .mdh-footer-inner {
      grid-template-columns: 1fr;
      gap: 38px;
    }

    .mdh-footer-logo{
    display:block;
    width:100%;
    max-width:180px;
    height:auto;
    margin:0 0 18px;
    object-fit:contain;
}

    .mdh-footer-statement {
      padding: 2px 0 2px 20px;
    }

    .mdh-footer-tagline {
    margin:0;
    color:#ffffff;
    font-size:clamp(30px,2.3vw,40px);
    line-height:1.05;
    font-weight: 800;
    letter-spacing: -0.025em;
}
  }

/* ============================================================
   Professional certifications marquee
   ============================================================ */
.mdh-cert-strip,
.mdh-cert-strip *,
.mdh-cert-strip *::before,
.mdh-cert-strip *::after {
  box-sizing: border-box;
}

.mdh-cert-strip {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 26px 0 34px;
  background:
    radial-gradient(circle at 8% 35%, rgba(65, 64, 66,0.044), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fafafb 100%);
  border-top: 1px solid rgba(26, 26, 28,.07);
  border-bottom: 1px solid rgba(26, 26, 28,.08);
}

.mdh-cert-divider {
  display: flex;
  align-items: center;
  gap: 18px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 24px;
}

.mdh-cert-divider::before,
.mdh-cert-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
}

.mdh-cert-divider::before {
  background: linear-gradient(90deg, transparent, #d1d3d4);
}

.mdh-cert-divider::after {
  background: linear-gradient(90deg, #d1d3d4, transparent);
}

.mdh-cert-divider span {
  flex: 0 0 auto;
  color: #414042;
  font-family: var(--md-text);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.mdh-cert-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.mdh-cert-slider::before,
.mdh-cert-slider::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  width: clamp(42px, 8vw, 130px);
  pointer-events: none;
}

.mdh-cert-slider::before {
  left: 0;
  background: linear-gradient(90deg, #fafafb 8%, rgba(250, 250, 251,0));
}

.mdh-cert-slider::after {
  right: 0;
  background: linear-gradient(270deg, #fafafb 8%, rgba(250, 250, 251,0));
}

.mdh-cert-track {
  display: flex;
  align-items: center;
  width: max-content;
  padding: 20px 0;
  animation: mdh-cert-scroll 30s linear infinite;
  will-change: transform;
}

.mdh-cert-slider:hover .mdh-cert-track {
  animation-play-state: paused;
}

.mdh-cert-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: clamp(34px, 4.5vw, 72px);
  padding-right: clamp(34px, 4.5vw, 72px);
}

.mdh-cert-badge {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 141px;
  height: 130px;
  transition: transform .25s ease;
}

.mdh-cert-badge--wide {
  width: 286px;
}

.mdh-cert-badge img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.mdh-cert-badge:hover {
  transform: translateY(-4px) scale(1.025);
}

@keyframes mdh-cert-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Scrolling switched off: a static, centred row that wraps rather than
   a track that runs off the edge. The edge fades go with it — they
   exist to soften badges entering and leaving, and over a row that
   ends on screen they just dim the outermost ones. */

.mdh-cert-slider--static {
  overflow: visible;
}

.mdh-cert-slider--static::before,
.mdh-cert-slider--static::after {
  display: none;
}

.mdh-cert-slider--static .mdh-cert-track {
  width: 100%;
  animation: none;
  will-change: auto;
}

.mdh-cert-slider--static .mdh-cert-group {
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding-right: 0;
  row-gap: clamp(18px, 2.5vw, 32px);
}

@media (max-width: 640px) {
  .mdh-cert-strip {
    padding: 22px 0 28px;
  }

  .mdh-cert-divider {
    gap: 10px;
    width: calc(100% - 28px);
    margin-bottom: 20px;
  }

  .mdh-cert-divider span {
    max-width: 225px;
    font-size: 9px;
    letter-spacing: 0.06em;
    white-space: normal;
  }

  .mdh-cert-track {
    animation-duration: 21s;
  }

  .mdh-cert-group {
    gap: 32px;
    padding-right: 32px;
  }

  .mdh-cert-badge {
    width: 106px;
    height: 97px;
  }

  .mdh-cert-badge--wide {
    width: 204px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdh-cert-slider {
    overflow-x: auto;
  }

  .mdh-cert-track {
    animation: none;
  }

  .mdh-cert-slider::before,
  .mdh-cert-slider::after {
    display: none;
  }
}


/* ============================================================
   Testimonials carousel — 3 cards per slide
   ============================================================ */
.mdh-testimonials,
.mdh-testimonials *,
.mdh-testimonials *::before,
.mdh-testimonials *::after { box-sizing: border-box; }

.mdh-testimonials {
  position: relative;
  overflow: hidden;
  padding: 78px 24px 84px;
  background:
    radial-gradient(circle at 8% 12%, rgba(65, 64, 66,0.055), transparent 30%),
    radial-gradient(circle at 92% 88%, rgba(26, 26, 28,.07), transparent 32%),
    linear-gradient(180deg, #fafafb 0%, #f2f2f3 100%);
}

.mdh-testimonials__wrap {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.mdh-testimonials__header {
  max-width: 800px;
  margin: 0 auto 38px;
  text-align: center;
}

.mdh-testimonials__eyebrow {
  margin: 0 0 12px;
  color: #6D6E71;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mdh-testimonials h2 {
  margin: 0;
  color: #414042;
  font-size: clamp(36px, 3.7vw, 54px);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -0.03em;
}

.mdh-testimonials h2 span { color: #0047ab; }

.mdh-testimonials__intro {
  max-width: 700px;
  margin: 17px auto 0;
  color: #414042;
  font-size: 17px;
  line-height: 1.62;
}

.mdh-testimonials__slider { position: relative; }

.mdh-testimonials__viewport {
  overflow: hidden;
  padding: 8px 4px 18px;
  touch-action: pan-y;
}

.mdh-testimonials__track {
  display: flex;
  gap: 22px;
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

.mdh-testimonial-card {
  position: relative;
  display: flex;
  flex: 0 0 calc((100% - 44px) / 3);
  flex-direction: column;
  min-width: 0;
  min-height: 330px;
  padding: 34px 30px 28px;
  overflow: hidden;
  background: rgba(250, 250, 251,.97) !important;
  border: 1px solid rgba(26, 26, 28,.10);
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(26, 26, 28,.07);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.mdh-testimonial-card::before {
  content: "“";
  position: absolute;
  top: 8px;
  right: 20px;
  color: rgba(0, 71, 171,.09);
  font-family: var(--md-display);
  font-size: 112px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.mdh-testimonial-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: #0047AB;
}

.mdh-testimonial-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 71, 171,.28);
  box-shadow: 0 22px 48px rgba(26, 26, 28,.11);
}

.mdh-testimonial-card__quote {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: 0 0 22px;
  border-radius: 50%;
  color: #0047ab;
  background: #e6edf7;
  font-family: var(--md-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.mdh-testimonial-card blockquote {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  margin: 0 !important;
  color: #414042;
  font-size: 16px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.65;
  text-align: left;
}

.mdh-testimonial-card__footer {
  position: relative;
  z-index: 1;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 24px 0 0 !important;
  padding: 18px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #d9d9db !important;
  box-shadow: none !important;
}

.mdh-testimonial-card__industry {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid rgba(0, 71, 171,.20);
  border-radius: 999px;
  color: #414042;
  background: #f2f2f3;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.mdh-testimonials__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 20px;
}

.mdh-testimonials__arrow {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #d9d9db;
  border-radius: 50%;
  color: #414042;
  background: #fff;
  font: inherit;
  font-size: 24px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(26, 26, 28,.07);
  transition: transform .2s ease, color .2s ease, background .2s ease;
}

.mdh-testimonials__arrow:hover {
  transform: translateY(-2px);
  color: #fff;
  background: #0047ab;
}

.mdh-testimonials__arrow:focus-visible {
  outline: 3px solid rgba(0, 71, 171,.30);
  outline-offset: 3px;
}

.mdh-testimonials__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.mdh-testimonials__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d1d3d4;
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}

.mdh-testimonials__dot.is-active {
  width: 28px;
  background: #0047ab;
}

@media (max-width: 980px) {
  .mdh-testimonial-card { flex-basis: calc((100% - 22px) / 2); }
}

@media (max-width: 680px) {
  .mdh-testimonials { padding: 62px 16px 68px; }
  .mdh-testimonials__header { margin-bottom: 32px; }
  .mdh-testimonials h2 { font-size: clamp(34px, 10vw, 44px); }
  .mdh-testimonials__intro { font-size: 16px; }
  .mdh-testimonials__track { gap: 16px; }
  .mdh-testimonial-card {
    flex-basis: 100%;
    min-height: 0;
    padding: 30px 24px 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdh-testimonials__track,
  .mdh-testimonial-card,
  .mdh-testimonials__arrow,
  .mdh-testimonials__dot { transition: none; }
}


/* ===== SEO, accessibility, and FAQ enhancements ===== */
.mdh-skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:1000000;
  padding:12px 16px;
  border-radius:8px;
  color:#fff;
  background:#414042;
  font-weight: 800;
  text-decoration:none;
  transform:translateY(-150%);
  transition:transform .2s ease;
}
.mdh-skip-link:focus{transform:translateY(0);}
.mdh-faq{
  padding:80px 24px;
  background:#fafafb;
  font-family: var(--md-text);
}
.mdh-faq__wrap{max-width:960px;margin:0 auto;}
.mdh-faq__header{max-width:760px;margin:0 auto 38px;text-align:center;}
.mdh-faq__eyebrow{
  margin:0 0 14px;
  color:#6D6E71;
  font-size:12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.mdh-faq h2{
  margin:0;
  color:#414042;
  font-size:clamp(36px,4.2vw,58px);
  line-height:1.04;
  letter-spacing: -0.03em;
}
.mdh-faq__list{display:grid;gap:14px;}
.mdh-faq details{
  border:1px solid #d9d9db;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(26, 26, 28,.04);
}
.mdh-faq summary{
  position:relative;
  padding:22px 58px 22px 24px;
  color:#414042;
  font-size:18px;
  font-weight: 800;
  line-height:1.35;
  cursor:pointer;
  list-style:none;
}
.mdh-faq summary::-webkit-details-marker{display:none;}
.mdh-faq summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:24px;
  transform:translateY(-50%);
  color:#0047ab;
  font-size:28px;
  line-height:1;
}
.mdh-faq details[open] summary::after{content:"−";}
.mdh-faq details p{
  margin:0;
  padding:0 24px 24px;
  color:#414042;
  font-size:16px;
  line-height:1.65;
}
.mdh-form-card--cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mdh-form-card--cta .mdh-modal-open{
  width:100%;
  min-height:56px;
  border:0;
  border-radius:10px;
  color:#fff;
  /* This card sits in the dark contact band, so the button carries
     Cobalt 75 like the other buttons on ink. */
  background:#4075c0;
  font-family: var(--md-display);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  cursor:pointer;
}
.mdh-form-card--cta .mdh-modal-open:hover{background:#414042;}
@media(max-width:700px){.mdh-faq{padding:56px 16px;}}


/* ===== Enhanced healthcare positioning ===== */
.mdh-service-card > div:last-child{min-width:0;}
.mdh-service-card p{
  margin:9px 0 0;
  color:#414042;
  font-size:15px;
  line-height:1.55;
}
.mdh-healthcare-trust{
  padding:84px 24px;
  background:#fff;
  font-family: var(--md-text);
}
.mdh-healthcare-trust__wrap{max-width:1180px;margin:0 auto;}
.mdh-healthcare-trust__header{max-width:820px;margin:0 auto 42px;text-align:center;}
.mdh-healthcare-trust__eyebrow{
  margin:0 0 14px;
  color:#6D6E71;
  font-size:12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.mdh-healthcare-trust h2{
  margin:0;
  color:#414042;
  font-size:clamp(38px,4.5vw,62px);
  line-height:1.03;
  letter-spacing: -0.03em;
}
.mdh-healthcare-trust__header > p:last-child{
  max-width:760px;
  margin:20px auto 0;
  color:#414042;
  font-size:18px;
  line-height:1.65;
}
.mdh-healthcare-trust__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.mdh-healthcare-trust__grid article{
  position:relative;
  padding:30px;
  border:1px solid #d9d9db;
  border-radius:20px;
  background:#fafafb;
}
.mdh-healthcare-trust__grid span{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-bottom:18px;
  border-radius:50%;
  color:#fff;
  background:#0047ab;
  font-size:19px;
  font-weight: 800;
}
.mdh-healthcare-trust__grid h3{
  margin:0 0 10px;
  color:#414042;
  font-size:23px;
  line-height:1.2;
}
.mdh-healthcare-trust__grid p{
  margin:0;
  color:#414042;
  font-size:16px;
  line-height:1.65;
}
.mdh-healthcare-trust__note{
  max-width:900px;
  margin:24px auto 0;
  color:#6d6e71;
  font-size:13px;
  line-height:1.6;
  text-align:center;
}
@media(max-width:760px){
  .mdh-healthcare-trust{padding:58px 16px;}
  .mdh-healthcare-trust__grid{grid-template-columns:1fr;}
  .mdh-healthcare-trust__grid article{padding:24px;}
  .mdh-service-card{align-items:flex-start;}
}


/* ===== Compact homepage problem section ===== */
.problem-section{
  position:relative;
  overflow:hidden;
  padding:72px 24px 76px;
  background:
    radial-gradient(circle at 10% 15%,rgba(65, 64, 66,0.072),transparent 30%),
    linear-gradient(180deg,#fafafb 0%,#f2f2f3 100%);
}
.problem-container{
  width:100%;
  max-width:1080px;
  margin:0 auto;
  text-align:center;
}
.problem-kicker{
  margin:0 0 13px;
  color:#6D6E71;
  font-size:12px;
  font-weight: 800;
  line-height:1.4;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.problem-title{
  max-width:820px;
  margin:0 auto;
  color:#414042;
  font-size:clamp(38px,4.6vw,66px);
  font-weight: 800;
  line-height:1.02;
  letter-spacing: -0.03em;
}
.problem-title span{display:inline;font-size:inherit;}
.problem-intro{
  max-width:650px;
  margin:18px auto 34px;
  color:#414042;
  font-size:18px;
  line-height:1.55;
}
.problem-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  max-width:940px;
  margin:0 auto 30px;
}
.problem-card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:76px;
  padding:18px 20px;
  border:1px solid rgba(26, 26, 28,.11);
  border-radius:16px;
  background:rgba(250, 250, 251,.9);
  box-shadow:0 10px 28px rgba(26, 26, 28,.06);
}
.problem-card::before{display:none;}
.problem-card:hover{
  transform:none;
  box-shadow:0 10px 28px rgba(26, 26, 28,.06);
}
.problem-card .problem-icon{
  display:grid;
  flex:0 0 28px;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  color:#fff;
  background:#0047ab;
  font-size:19px;
  font-weight: 800;
}
.problem-card p{
  margin:0;
  color:#414042;
  font-size:16px;
  font-weight: 800;
  line-height:1.3;
}
.problem-card h3{display:none;}
.problem-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
  border-radius:999px;
  color:#fff;
  background:#414042;
  box-shadow:0 14px 30px rgba(26, 26, 28,.18);
  font-size:15px;
  font-weight: 800;
  line-height:1.2;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.problem-cta:hover{
  color:#fff;
  background:#0047ab;
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0, 71, 171,.22);
}
.problem-callout{display:none;}

@media(max-width:760px){
  .problem-section{
    padding:52px 18px 58px;
  }
  .problem-kicker{
    margin-bottom:11px;
    font-size:10px;
    letter-spacing: 0.06em;
  }
  .problem-title{
    max-width:520px;
    font-size:clamp(34px,10.5vw,48px);
    line-height:1.03;
    letter-spacing: -0.03em;
  }
  .problem-intro{
    max-width:430px;
    margin:15px auto 26px;
    font-size:16px;
    line-height:1.5;
  }
  .problem-grid{
    grid-template-columns:1fr;
    gap:10px;
    max-width:440px;
    margin-bottom:24px;
  }
  .problem-card{
    justify-content:flex-start;
    min-height:0;
    padding:14px 16px;
    border-radius:13px;
    text-align:left;
  }
  .problem-card .problem-icon{
    flex-basis:25px;
    width:25px;
    height:25px;
    font-size:13px;
  }
  .problem-card p{
    font-size:15px;
  }
  .problem-cta{
    width:100%;
    max-width:440px;
    min-height:52px;
    padding:0 18px;
  }
}

@media(max-width:390px){
  .problem-section{padding-left:14px;padding-right:14px;}
  .problem-title{font-size:33px;}
}


/* ===== Homepage tightening pass ===== */
.mdhp-kicker{
  margin:0 0 12px;
  color:#6D6E71;
  font-size:12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.mdhp-process{padding-top:66px;padding-bottom:76px;}
.mdhp-intro{max-width:720px;margin-bottom:48px;}
.mdhp-roadmap{gap:28px;}
.mdhp-step p{max-width:285px;}

.mdh-different{
  padding:72px 24px 78px;
  background:#fff;
}
.mdh-different-wrap{max-width:1080px;}
.mdh-different h2{
  max-width:760px;
  font-size:clamp(36px,4.2vw,58px);
}
.mdh-different-intro{
  max-width:680px;
  margin-bottom:34px;
}
.mdh-value-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  max-width:940px;
  margin:0 auto 28px;
  text-align:left;
}
.mdh-value-grid article{
  padding:24px;
  border:1px solid #d9d9db;
  border-radius:18px;
  background:#fafafb;
}
.mdh-value-grid strong{
  display:block;
  margin-bottom:7px;
  color:#414042;
  font-size:19px;
  line-height:1.25;
}
.mdh-value-grid span{
  color:#414042;
  font-size:15px;
  line-height:1.55;
}
.mdh-different-cta{
  min-height:54px;
  padding:0 28px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:#414042;
  box-shadow:0 14px 30px rgba(26, 26, 28,.16);
  font-family: var(--md-display);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  cursor:pointer;
}
.mdh-different-cta:hover{background:#0047ab;}
.mdh-compare{display:none!important;}

@media(max-width:760px){
  .mdhp-process{padding:54px 16px 60px;}
  .mdhp-kicker{font-size:10px;letter-spacing: 0.06em;}
  .mdhp-process h2{font-size:34px;}
  .mdhp-intro{margin-bottom:34px;font-size:16px;}
  .mdhp-roadmap{gap:32px;}
  .mdhp-circle{width:96px;height:96px;margin-bottom:16px;}
  .mdhp-step h3{font-size:23px;}
  .mdhp-step p{font-size:15px;line-height:1.55;}
  .mdh-different{padding:56px 16px 60px;}
  .mdh-different h2{font-size:36px;}
  .mdh-different-intro{margin-bottom:26px;font-size:16px;}
  .mdh-value-grid{grid-template-columns:1fr;gap:10px;margin-bottom:22px;}
  .mdh-value-grid article{padding:18px;border-radius:14px;}
  .mdh-value-grid strong{font-size:17px;}
  .mdh-value-grid span{font-size:14px;}
  .mdh-different-cta{width:100%;max-width:460px;padding:0 18px;}
}


/* ===== Compact title-only services ===== */
.mdh-services{
  padding-top:60px;
  padding-bottom:68px;
}
.mdh-services__header{
  margin-bottom:34px;
}
.mdh-services__intro{
  margin-top:14px;
}
.mdh-services__grid{
  gap:16px;
}
.mdh-service-card{
  min-height:108px;
  padding:22px 24px;
  gap:18px;
}
.mdh-service-card h3{
  font-size:19px;
  line-height:1.25;
}
.mdh-service-card p{
  display:none !important;
}

/* ===== Restored difference section refinements ===== */
.medspa-difference{
  padding-top:76px;
  padding-bottom:82px;
}
.medspa-wrap{
  max-width:960px;
}
.medspa-copy{
  max-width:720px;
}
.medspa-btn{
  border:0;
  font-family: var(--md-text);
  cursor:pointer;
}

@media(max-width:700px){
  .mdh-services{
    padding-top:46px;
    padding-bottom:52px;
  }
  .mdh-services__header{
    margin-bottom:26px;
  }
  .mdh-services__grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .mdh-service-card{
    min-height:78px;
    padding:14px 16px;
    border-radius:14px;
  }
  .mdh-service-card__icon{
    flex-basis:46px;
    width:46px;
    height:46px;
  }
  .mdh-service-card__icon svg{
    width:23px;
    height:23px;
  }
  .mdh-service-card h3{
    font-size:17px;
  }

  .medspa-difference{
    padding:56px 16px 62px;
  }
  .medspa-label{
    margin-bottom:14px;
    font-size:10px;
    letter-spacing: 0.06em;
  }
  .medspa-label::after{
    width:54px;
    margin-top:12px;
  }
  .medspa-difference h2{
    margin-bottom:18px;
    font-size:clamp(38px,11vw,48px);
    line-height:.98;
  }
  .medspa-copy{
    margin-bottom:24px;
    font-size:16px;
    line-height:1.5;
  }
  .medspa-points{
    gap:9px;
    margin-bottom:24px;
  }
  .point-card{
    width:100%;
    min-width:0;
    padding:13px 15px;
    border-radius:13px;
  }
  .point-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
    font-size:14px;
  }
  .point-card span{
    font-size:15px;
  }
  .medspa-btn{
    width:100%;
    max-width:420px;
    padding:16px 20px;
  }
}


/* ===== Final visual polish ===== */

/* Better section rhythm */
.mdh-services{
  background:
    radial-gradient(circle at 10% 10%,rgba(65, 64, 66,0.033),transparent 28%),
    #ffffff;
}
.mdhp-process{
  background:
    linear-gradient(180deg,#fafafb 0%,#f2f2f3 100%);
}
.mdh-healthcare-trust{
  background:
    radial-gradient(circle at 85% 12%,rgba(65, 64, 66,0.039),transparent 30%),
    #ffffff;
}
.mdh-faq{
  background:
    linear-gradient(180deg,#fafafb 0%,#f2f2f3 100%);
}

/* More premium cards */
.mdh-service-card,
.mdh-healthcare-trust__grid article,
.mdh-value-grid article,
.mdh-faq details{
  box-shadow:0 18px 44px rgba(26, 26, 28,.065);
  border-color:rgba(26, 26, 28,.10);
}
.mdh-service-card:hover,
.mdh-healthcare-trust__grid article:hover,
.mdh-value-grid article:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 54px rgba(26, 26, 28,.10);
}

/* Refined testimonial section */
.mdh-testimonials,
.testimonials-section{
  position:relative;
  padding-bottom:96px !important;
  background:
    radial-gradient(circle at 0% 0%,rgba(65, 64, 66,0.050),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f2f2f3 100%) !important;
}
.mdh-testimonials h2,
.testimonials-section h2{
  max-width:980px;
}
.mdh-testimonial-card,
.testimonial-card{
  border:1px solid rgba(26, 26, 28,.10) !important;
  border-radius:24px !important;
  box-shadow:0 24px 55px rgba(26, 26, 28,.08) !important;
}
.mdh-testimonial-card::before,
.testimonial-card::before{
  height:4px !important;
}
.mdh-testimonial-card blockquote,
.testimonial-card blockquote,
.mdh-testimonial-card p,
.testimonial-card p{
  font-size:17px;
  line-height:1.7;
}

/* Keep testimonial controls clearly inside the light section */
.testimonial-controls,
.mdh-testimonial-controls,
.testimonial-nav,
.mdh-slider-controls{
  position:relative !important;
  z-index:5 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:16px !important;
  margin:34px auto 0 !important;
  padding:0 0 4px !important;
  transform:none !important;
  background:transparent !important;
}
.testimonial-controls button,
.mdh-testimonial-controls button,
.testimonial-nav button,
.mdh-slider-controls button{
  width:52px !important;
  height:52px !important;
  border:1px solid rgba(26, 26, 28,.12) !important;
  border-radius:50% !important;
  color:#414042 !important;
  background:#ffffff !important;
  box-shadow:0 12px 28px rgba(26, 26, 28,.12) !important;
}
.testimonial-controls button:hover,
.mdh-testimonial-controls button:hover,
.testimonial-nav button:hover,
.mdh-slider-controls button:hover{
  color:#ffffff !important;
  background:#0047ab !important;
}
.testimonial-controls--inside{
  margin-bottom:0 !important;
}

/* Ensure the footer begins after controls, not behind them */
.mdh-contact-section,
.contact-section,
footer{
  position:relative;
  z-index:1;
  margin-top:0 !important;
}

/* Stronger closing panel */
.mdh-contact-section,
.contact-section{
  background:
    radial-gradient(circle at 80% 15%,rgba(64, 117, 192,0.088),transparent 30%),
    linear-gradient(135deg,#1a1a1c 0%,#2a2a2c 56%,#232325 100%) !important;
}
.mdh-contact-section h2,
.contact-section h2{
  text-shadow:0 10px 30px rgba(0,0,0,.18);
}
.mdh-form-card{
  box-shadow:0 28px 70px rgba(0,0,0,.20) !important;
}

/* Small cobalt accent rule under main section headings */
.mdh-services__title::after,
.mdh-proof-section h2::after,
.mdhp-process h2::after,
.mdh-healthcare-trust h2::after,
.mdh-different h2::after,
.mdh-faq h2::after{
  content:"";
  display:block;
  width:64px;
  height:3px;
  margin:18px auto 0;
  border-radius:999px;
  background:#0047ab;
}

/* Remove category tags if they remain */
.testimonial-tag,
.testimonial-pill,
.review-tag,
.review-pill,
.mdh-testimonial-tag,
.mdh-testimonial-pill{
  display:none !important;
}

@media(max-width:760px){
  .mdh-testimonials,
  .testimonials-section{
    padding-bottom:68px !important;
  }
  .testimonial-controls,
  .mdh-testimonial-controls,
  .testimonial-nav,
  .mdh-slider-controls{
    margin-top:24px !important;
  }
  .testimonial-controls button,
  .mdh-testimonial-controls button,
  .testimonial-nav button,
  .mdh-slider-controls button{
    width:46px !important;
    height:46px !important;
  }
  .mdh-testimonial-card,
  .testimonial-card{
    border-radius:18px !important;
  }
}


/* ===== Enhanced Final CTA ===== */
.mdh-contact-section{
background:
radial-gradient(circle at 78% 18%, rgba(64, 117, 192,0.165), transparent 26%),
radial-gradient(circle at 15% 70%, rgba(64, 117, 192,0.055), transparent 32%),
linear-gradient(135deg,#1a1a1c 0%,#2a2a2c 55%,#232325 100%);
position:relative;
overflow:hidden;
}
.mdh-contact-section::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 20% 20%,rgba(250, 250, 251,.05),transparent 45%),
radial-gradient(circle at 85% 80%,rgba(250, 250, 251,.04),transparent 30%);
pointer-events:none;
}
.mdh-contact-content{position:relative;z-index:2;}
.mdh-contact-section h2{
font-size:clamp(56px,5vw,92px)!important;
line-height:.95!important;
letter-spacing: -0.03em;
max-width:650px;
}
.mdh-contact-section h2 .accent,
.mdh-contact-section h2 span:last-child{
background:#4075C0;
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
.mdh-contact-section p{
font-size:19px;
max-width:620px;
color:rgba(250, 250, 251,.86)!important;
}
.mdh-contact-tags{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.mdh-contact-tags span{
padding:12px 18px;
border-radius:999px;
background:rgba(250, 250, 251,.08);
border:1px solid rgba(250, 250, 251,.12);
backdrop-filter:blur(10px);
}
.mdh-form-card{
border:1px solid rgba(250, 250, 251,.08)!important;
box-shadow:0 35px 90px rgba(0,0,0,.28)!important;
}
.mdh-form-card button,
.mdh-form-card .wpcf7-submit{
background:#4075C0!important;
box-shadow:0 16px 36px rgba(64, 117, 192,.35);
}


/* ===== Fully redesigned closing CTA/footer section ===== */
.mdh-closing-cta{
  position:relative;
  overflow:hidden;
  padding:96px 24px 108px;
  color:#fff;
  background:#1a1a1c;
  font-family: var(--md-text);
}
.mdh-closing-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 22%,rgba(64, 117, 192,0.176),transparent 30%),
    radial-gradient(circle at 58% 88%,rgba(64, 117, 192,0.110),transparent 38%),
    linear-gradient(135deg,#1A1A1C 0%,#232325 52%,#2a2a2c 100%);
}
.mdh-closing-bg::before,
.mdh-closing-bg::after{
  content:"";
  position:absolute;
  border:1px solid rgba(250, 250, 251,.10);
  border-radius:50%;
}
.mdh-closing-bg::before{
  width:660px;
  height:660px;
  left:-270px;
  top:40px;
}
.mdh-closing-bg::after{
  width:760px;
  height:300px;
  left:250px;
  top:260px;
  transform:rotate(10deg);
}
.mdh-closing-wrap{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.72fr);
  gap:clamp(52px,7vw,110px);
  align-items:center;
  width:100%;
  max-width:1320px;
  margin:0 auto;
}
.mdh-closing-copy{max-width:760px;}
.mdh-closing-eyebrow{
  margin:0 0 22px;
  color:#D1D3D4;
  font-size:13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.mdh-closing-copy h2{
  margin:0;
  color:#fff;
  font-size:clamp(58px,6.3vw,96px);
  font-weight: 800;
  line-height:.94;
  letter-spacing: -0.03em;
}
.mdh-closing-copy h2 span{color:#4075c0;}
.mdh-closing-intro{
  max-width:690px;
  margin:28px 0 30px;
  color:rgba(250, 250, 251,.82);
  font-size:18px;
  line-height:1.65;
}
.mdh-closing-features{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.mdh-closing-feature{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 18px;
  border:1px solid rgba(250, 250, 251,.16);
  border-radius:999px;
  background:rgba(250, 250, 251,.055);
  backdrop-filter:blur(8px);
}
.mdh-closing-feature strong{
  color:#fff;
  font-size:15px;
  line-height:1.2;
}
.mdh-closing-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  color:#fff;
  background:#4075c0;
  font-size:19px;
  font-weight: 800;
}
.mdh-closing-card{
  position:relative;
  padding:42px;
  border:1px solid rgba(250, 250, 251,.16);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(26, 26, 28,.96),rgba(26, 26, 28,.96));
  box-shadow:0 32px 80px rgba(0,0,0,.28);
}
.mdh-closing-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:29px;
  background:linear-gradient(135deg,rgba(64, 117, 192,0.198),rgba(250, 250, 251,.05));
}
.mdh-closing-card-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.mdh-closing-card-top p{
  margin:0;
  color:#D1D3D4;
  font-size:13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.mdh-closing-spark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(64, 117, 192,.35);
  border-radius:50%;
  color:#FFFFFF;
  background:rgba(64, 117, 192,.08);
  font-size:20px;
}
.mdh-closing-card h3{
  margin:0;
  color:#fff;
  font-size:clamp(31px,3vw,44px);
  font-weight: 800;
  line-height:1.05;
  letter-spacing: -0.03em;
}
.mdh-closing-list{
  display:grid;
  gap:16px;
  margin:28px 0 30px;
  padding:0;
  list-style:none;
}
.mdh-closing-list li{
  position:relative;
  padding-left:34px;
  color:rgba(250, 250, 251,.84);
  font-size:16px;
  line-height:1.5;
}
.mdh-closing-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  color:#fff;
  background:#4075c0;
  font-size:12px;
  font-weight: 800;
}
.mdh-closing-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-height:72px;
  padding:0 24px;
  border:0;
  border-radius:16px;
  color:#fff;
  background:#4075C0;
  box-shadow:0 18px 38px rgba(64, 117, 192,.30);
  font-family: var(--md-display);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.mdh-closing-button:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 46px rgba(64, 117, 192,.40);
}
.mdh-closing-button span:last-child{font-size:28px;}
.mdh-closing-secure{
  margin:16px 0 0;
  color:rgba(250, 250, 251,.55);
  font-size:13px;
  text-align:center;
}
.mdh-closing-cta::after{
  content:"";
  position:absolute;
  right:-5%;
  bottom:-90px;
  left:-5%;
  height:150px;
  border-radius:50% 50% 0 0;
  background:#fff;
}

@media(max-width:980px){
  .mdh-closing-cta{padding:78px 22px 104px;}
  .mdh-closing-wrap{
    grid-template-columns:1fr;
    gap:44px;
    max-width:760px;
  }
  .mdh-closing-copy{text-align:center;margin:0 auto;}
  .mdh-closing-intro{margin-left:auto;margin-right:auto;}
  .mdh-closing-features{justify-content:center;}
  .mdh-closing-card{max-width:620px;width:100%;margin:0 auto;}
}
@media(max-width:640px){
  .mdh-closing-cta{padding:62px 16px 88px;}
  .mdh-closing-eyebrow{
    margin-bottom:16px;
    font-size:10px;
    letter-spacing: 0.06em;
  }
  .mdh-closing-copy h2{
    font-size:clamp(44px,14vw,62px);
    line-height:.98;
  }
  .mdh-closing-intro{
    margin-top:20px;
    margin-bottom:24px;
    font-size:16px;
    line-height:1.55;
  }
  .mdh-closing-features{
    display:grid;
    grid-template-columns:1fr;
    max-width:420px;
    margin:0 auto;
  }
  .mdh-closing-feature{
    justify-content:flex-start;
    min-height:48px;
  }
  .mdh-closing-card{
    padding:28px 22px;
    border-radius:22px;
  }
  .mdh-closing-card-top{margin-bottom:16px;}
  .mdh-closing-card h3{font-size:34px;}
  .mdh-closing-list{
    margin-top:22px;
    margin-bottom:24px;
    gap:14px;
  }
  .mdh-closing-list li{font-size:15px;}
  .mdh-closing-button{
    min-height:64px;
    padding:0 18px;
    font-size:14px;
  }
  .mdh-closing-cta::after{
    bottom:-110px;
    height:140px;
  }
}



/* ===== Premium compact navigation ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:rgba(250, 250, 251,.94);
  border-bottom:1px solid rgba(26, 26, 28,.07);
  box-shadow:0 8px 28px rgba(26, 26, 28,.055);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:
    background .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}
.site-header.is-scrolled{
  background:rgba(250, 250, 251,.98);
  border-bottom-color:rgba(26, 26, 28,.10);
  box-shadow:0 12px 36px rgba(26, 26, 28,.09);
}
.nav-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:none;
  min-height:94px;
  margin:0;
  /* left edge tracks the hero h1; right edge keeps the old 1280px gutter */
  padding:0 max(4%, calc((100% - 1280px) / 2)) 0 var(--mdh-edge);
  gap:34px;
}
.logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}
.logo img{
  display:block;
  width:auto;
  height:84px;
  transition:height .2s ease;
}
.site-header.is-scrolled .logo img{
  height:76px;
}
.main-nav{
  margin-left:auto;
}
.main-nav ul{
  display:flex;
  align-items:center;
  gap:clamp(22px,2.2vw,34px);
  margin:0;
  padding:0;
  list-style:none;
}
.main-nav li{
  display:flex;
  align-items:center;
}
.main-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:#414042;
  font-size:15px;
  font-weight: 700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:color .2s ease;
}
.main-nav a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:3px;
  left:0;
  height:2px;
  border-radius:999px;
  background:#0047ab;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.main-nav a:hover,
.main-nav a:focus-visible{
  color:#0047ab;
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after{
  transform:scaleX(1);
}
.contact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 23px;
  border:0;
  border-radius:999px;
  color:#fff !important;
  background:#0047AB;
  box-shadow:0 12px 26px rgba(0, 71, 171,.22);
  font-family: var(--md-display);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  white-space:nowrap;
  cursor:pointer;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}
.contact-btn:hover{
  background:#0047AB;
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(0, 71, 171,.30);
}
.contact-btn:focus-visible{
  outline:3px solid rgba(0, 71, 171,.30);
  outline-offset:4px;
}
#nav-toggle{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.hamburger{
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  width:46px;
  height:46px;
  border:1px solid rgba(26, 26, 28,.10);
  border-radius:14px;
  background:#fafafb;
  cursor:pointer;
}
.hamburger span{
  display:block;
  width:23px;
  height:2px;
  margin:0;
  border-radius:999px;
  background:#414042;
  transition:transform .2s ease,opacity .2s ease;
}
#nav-toggle:checked + .hamburger span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
#nav-toggle:checked + .hamburger span:nth-child(2){
  opacity:0;
}
#nav-toggle:checked + .hamburger span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

@media(max-width:1100px){
  .nav-container{
    padding-right:3%;
    gap:22px;
  }
  .main-nav ul{
    gap:20px;
  }
  .main-nav a{
    font-size:14px;
  }
  .contact-btn{
    padding:0 18px;
    font-size:13px;
  }
}

@media(max-width:900px){
  .nav-container{
    min-height:82px;
  }
  .logo img,
  .site-header.is-scrolled .logo img{
    height:68px;
  }
  .hamburger{
    display:flex;
    margin-left:auto;
  }
  .main-nav{
    position:absolute;
    top:100%;
    right:0;
    left:0;
    display:block;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    background:rgba(250, 250, 251,.99);
    border-bottom:1px solid rgba(26, 26, 28,.08);
    box-shadow:0 20px 38px rgba(26, 26, 28,.12);
    transition:max-height .28s ease,opacity .2s ease,visibility .2s ease;
  }
  #nav-toggle:checked ~ .main-nav{
    max-height:620px;
    opacity:1;
    visibility:visible;
  }
  .main-nav ul{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:min(92%,520px);
    margin:0 auto;
    padding:14px 0 22px;
  }
  .main-nav li{
    width:100%;
  }
  .main-nav a{
    display:flex;
    justify-content:space-between;
    width:100%;
    min-height:50px;
    padding:0 12px;
    border-bottom:1px solid rgba(26, 26, 28,.06);
    font-size:15px;
  }
  .main-nav a::after{
    display:none;
  }
  .main-nav li:last-child{
    padding-top:14px;
  }
  .contact-btn{
    width:100%;
    min-height:52px;
    margin:0;
  }
}

@media(max-width:480px){
  .nav-container{
    padding-right:14px;
    min-height:76px;
  }
  .logo img,
  .site-header.is-scrolled .logo img{
    height:62px;
  }
  .hamburger{
    width:43px;
    height:43px;
    border-radius:12px;
  }
}


/* ===== Final navigation alignment fix ===== */
.mdh-embed .site-header{
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:#ffffff !important;
  border-bottom:1px solid #d9d9db !important;
  box-shadow:0 8px 26px rgba(26, 26, 28,.06) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.mdh-embed .site-header.is-scrolled{
  background:#ffffff !important;
  border-bottom-color:#d9d9db !important;
  box-shadow:0 10px 30px rgba(26, 26, 28,.08) !important;
}

.mdh-embed .nav-container{
  width:100% !important;
  max-width:none !important;
  height:94px !important;
  min-height:94px !important;
  margin:0 !important;
  padding:0 max(4%, calc((100% - 1280px) / 2)) 0 var(--mdh-edge) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:32px !important;
}

.mdh-embed .logo{
  display:flex !important;
  align-items:center !important;
  align-self:center !important;
  height:100% !important;
  line-height:1 !important;
}

.mdh-embed .logo img,
.mdh-embed .site-header.is-scrolled .logo img{
  display:block !important;
  width:auto !important;
  height:78px !important;
  max-height:78px !important;
  margin:0 !important;
  object-fit:contain !important;
}

.mdh-embed .main-nav{
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  height:94px !important;
  margin-left:auto !important;
}

.mdh-embed .main-nav ul{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  gap:30px !important;
}

.mdh-embed .main-nav li{
  display:flex !important;
  align-items:center !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.mdh-embed .main-nav a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:2px 0 0 !important;
  line-height:1 !important;
}

.mdh-embed .main-nav a::after{
  bottom:20px !important;
}

.mdh-embed .contact-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  height:48px !important;
  margin:0 !important;
  padding:0 24px !important;
  line-height:1 !important;
}

@media(max-width:1100px){
  .mdh-embed .nav-container{
    padding-right:3% !important;
    gap:22px !important;
  }
  .mdh-embed .main-nav ul{
    gap:20px !important;
  }
}

@media(max-width:900px){
  .mdh-embed .nav-container{
    height:82px !important;
    min-height:82px !important;
  }

  .mdh-embed .logo,
  .mdh-embed .main-nav{
    height:82px !important;
  }

  .mdh-embed .logo img,
  .mdh-embed .site-header.is-scrolled .logo img{
    height:66px !important;
    max-height:66px !important;
  }

  .mdh-embed .main-nav{
    position:absolute !important;
    top:82px !important;
    right:0 !important;
    left:0 !important;
    display:block !important;
    height:auto !important;
    background:#ffffff !important;
  }

  .mdh-embed .main-nav ul{
    height:auto !important;
  }

  .mdh-embed .main-nav li{
    height:auto !important;
  }

  .mdh-embed .main-nav a{
    height:50px !important;
    padding:0 12px !important;
  }
}

@media(max-width:480px){
  .mdh-embed .nav-container{
    padding-right:14px !important;
    height:76px !important;
    min-height:76px !important;
  }

  .mdh-embed .logo{
    height:76px !important;
  }

  .mdh-embed .logo img,
  .mdh-embed .site-header.is-scrolled .logo img{
    height:60px !important;
    max-height:60px !important;
  }

  .mdh-embed .main-nav{
    top:76px !important;
  }
}


/* ===== White footer redesign ===== */
.mdh-footer{
  position:relative;
  z-index:2;
  padding:72px 24px 24px;
  color:#414042;
  background:#ffffff;
  border-top:1px solid #d9d9db;
  font-family: var(--md-text);
}
.mdh-footer__wrap{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(340px,1.3fr) minmax(150px,.55fr) minmax(190px,.65fr);
  gap:clamp(36px,5vw,76px);
  align-items:start;
  width:100%;
  max-width:1320px;
  margin:0 auto;
}
.mdh-footer__brand{
  min-width:0;
}
.mdh-footer__logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border:1px solid #d9d9db;
  border-radius:20px;
  background:#fafafb;
  box-shadow:0 16px 40px rgba(26, 26, 28,.07);
}
.mdh-footer__logo img{
  display:block;
  width:auto;
  height:150px;
  object-fit:contain;
}
.mdh-footer__brand > p{
  margin:18px 0 0;
  color:#414042;
  font-size:15px;
  letter-spacing: 0.06em;
}
.mdh-footer__statement{
  display:flex;
  align-items:flex-start;
  gap:28px;
  padding-top:8px;
}
.mdh-footer__statement > span{
  display:block;
  flex:0 0 3px;
  width:3px;
  height:132px;
  border-radius:999px;
  background:#0047AB;
}
.mdh-footer__statement h2{
  margin:0;
  color:#414042;
  font-size:clamp(34px,3.3vw,54px);
  font-weight: 800;
  line-height:1.08;
  letter-spacing: -0.03em;
}
.mdh-footer__statement strong{
  color:#0047ab;
}
.mdh-footer__heading{
  margin:0 0 18px;
  color:#6D6E71;
  font-size:12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform:uppercase;
}
.mdh-footer__nav,
.mdh-footer__contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
}
.mdh-footer__nav a,
.mdh-footer__contact a{
  color:#414042;
  font-size:15px;
  line-height:1.4;
  text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
.mdh-footer__nav a:hover,
.mdh-footer__contact a:hover{
  color:#414042;
  transform:translateX(2px);
}
.mdh-footer__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:#0047AB;
  box-shadow:0 12px 28px rgba(0, 71, 171,.22);
  font-family: var(--md-display);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.mdh-footer__button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0, 71, 171,.3);
}
.mdh-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  max-width:1320px;
  margin:46px auto 0;
  padding-top:22px;
  border-top:1px solid #d9d9db;
}
.mdh-footer__bottom p,
.mdh-footer__bottom a{
  margin:0;
  color:#6d6e71;
  font-size:13px;
  line-height:1.5;
  text-decoration:none;
}
.mdh-footer__bottom a:hover{
  color:#414042;
}

@media(max-width:980px){
  .mdh-footer__wrap{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mdh-footer__statement{
    order:3;
    grid-column:1 / -1;
  }
}
@media(max-width:640px){
  .mdh-footer{
    padding:52px 18px 22px;
  }
  .mdh-footer__wrap{
    grid-template-columns:1fr;
    gap:32px;
  }
  .mdh-footer__brand,
  .mdh-footer__statement,
  .mdh-footer__nav,
  .mdh-footer__contact{
    align-items:flex-start;
  }
  .mdh-footer__statement{
    order:initial;
    grid-column:auto;
    gap:18px;
  }
  .mdh-footer__statement > span{
    height:96px;
  }
  .mdh-footer__statement h2{
    font-size:36px;
  }
  .mdh-footer__logo img{
    height:120px;
  }
  .mdh-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
    margin-top:34px;
  }
}


/* ===== Compact white footer rebuild ===== */
.mdh-footer--compact{
  padding:54px 24px 20px !important;
  color:#414042 !important;
  background:#ffffff !important;
  border-top:1px solid #d9d9db !important;
  min-height:0 !important;
}
.mdh-footer--compact .mdh-footer__main{
  display:grid !important;
  grid-template-columns:220px minmax(340px,1.25fr) 150px 210px !important;
  gap:clamp(32px,4vw,64px) !important;
  align-items:center !important;
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
.mdh-footer--compact .mdh-footer__brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
.mdh-footer--compact .mdh-footer__logo{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.mdh-footer--compact .mdh-footer__logo img{
  display:block !important;
  width:auto !important;
  height:118px !important;
  max-height:118px !important;
  object-fit:contain !important;
}
.mdh-footer--compact .mdh-footer__brand > p{
  margin:14px 0 0 !important;
  color:#414042 !important;
  font-size:13px !important;
  letter-spacing: 0.06em!important;
}
.mdh-footer--compact .mdh-footer__statement{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  padding:0 !important;
  min-width:0 !important;
}
.mdh-footer--compact .mdh-footer__line{
  flex:0 0 3px !important;
  width:3px !important;
  height:104px !important;
  border-radius:999px !important;
  background:#0047AB !important;
}
.mdh-footer--compact .mdh-footer__statement h2{
  margin:0 !important;
  color:#414042 !important;
  font-size:clamp(32px,3.1vw,48px) !important;
  font-weight: 800!important;
  line-height:1.08 !important;
  letter-spacing: -0.03em!important;
}
.mdh-footer--compact .mdh-footer__statement strong{
  color:#0047ab !important;
}
.mdh-footer--compact .mdh-footer__nav,
.mdh-footer--compact .mdh-footer__contact{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:10px !important;
}
.mdh-footer--compact .mdh-footer__heading{
  margin:0 0 8px !important;
  color:#6D6E71 !important;
  font-size:11px !important;
  font-weight: 800!important;
  letter-spacing: 0.06em!important;
  text-transform:uppercase !important;
}
.mdh-footer--compact .mdh-footer__nav a,
.mdh-footer--compact .mdh-footer__contact a{
  color:#414042 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
.mdh-footer--compact .mdh-footer__button{
  min-height:44px !important;
  padding:0 16px !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  background:#0047AB !important;
  box-shadow:0 10px 24px rgba(0, 71, 171,.2) !important;
  font-family: var(--md-display) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  cursor:pointer !important;
}
.mdh-footer--compact .mdh-footer__bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  width:100% !important;
  max-width:1280px !important;
  margin:34px auto 0 !important;
  padding-top:18px !important;
  border-top:1px solid #d9d9db !important;
}
.mdh-footer--compact .mdh-footer__bottom p,
.mdh-footer--compact .mdh-footer__bottom a{
  margin:0 !important;
  color:#6d6e71 !important;
  font-size:12px !important;
  line-height:1.4 !important;
  text-decoration:none !important;
}

@media(max-width:1000px){
  .mdh-footer--compact .mdh-footer__main{
    grid-template-columns:190px minmax(300px,1fr) 140px !important;
  }
  .mdh-footer--compact .mdh-footer__contact{
    grid-column:3 !important;
  }
  .mdh-footer--compact .mdh-footer__nav{
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:start !important;
  }
  .mdh-footer--compact .mdh-footer__contact{
    grid-row:1 !important;
    align-self:end !important;
    margin-top:120px !important;
  }
}

@media(max-width:760px){
  .mdh-footer--compact{
    padding:44px 18px 18px !important;
  }
  .mdh-footer--compact .mdh-footer__main{
    grid-template-columns:1fr !important;
    gap:28px !important;
    align-items:start !important;
  }
  .mdh-footer--compact .mdh-footer__brand,
  .mdh-footer--compact .mdh-footer__statement,
  .mdh-footer--compact .mdh-footer__nav,
  .mdh-footer--compact .mdh-footer__contact{
    grid-column:auto !important;
    grid-row:auto !important;
    align-self:auto !important;
    margin-top:0 !important;
  }
  .mdh-footer--compact .mdh-footer__logo img{
    height:100px !important;
    max-height:100px !important;
  }
  .mdh-footer--compact .mdh-footer__statement{
    gap:18px !important;
  }
  .mdh-footer--compact .mdh-footer__line{
    height:82px !important;
  }
  .mdh-footer--compact .mdh-footer__statement h2{
    font-size:34px !important;
  }
  .mdh-footer--compact .mdh-footer__bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    margin-top:28px !important;
  }
}


/* ===== Verified final compact white footer ===== */
.mdh-embed > .mdh-footer.mdh-footer--compact,
.mdh-embed .mdh-footer.mdh-footer--compact{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  padding:48px 24px 20px !important;
  color:#414042 !important;
  background:#ffffff !important;
  border-top:1px solid #d9d9db !important;
  box-shadow:none !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__main{
  display:grid !important;
  grid-template-columns:200px minmax(330px,1.2fr) 140px 200px !important;
  gap:clamp(28px,4vw,56px) !important;
  align-items:center !important;
  width:min(100%,1280px) !important;
  margin:0 auto !important;
}
/* Footer columns render only when they hold content, so a partly
   filled footer switches to an auto-fitted grid: the fixed tracks
   above are sized for four specific neighbours and would strand the
   survivors in slots meant for something else. The narrow-screen
   rules further down still win — they come later and match too. */
.mdh-embed .mdh-footer--compact .mdh-footer__main--auto{
  grid-template-columns:repeat(auto-fit,minmax(200px,auto)) !important;
  justify-content:space-between !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__logo{
  display:inline-flex !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__logo img{
  display:block !important;
  width:auto !important;
  height:108px !important;
  max-height:108px !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__brand > p{
  margin:12px 0 0 !important;
  color:#414042 !important;
  font-size:13px !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__statement{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__line{
  display:block !important;
  flex:0 0 3px !important;
  width:3px !important;
  height:96px !important;
  background:#0047AB !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__statement h2{
  margin:0 !important;
  color:#414042 !important;
  font-size:clamp(30px,3vw,46px) !important;
  font-weight: 800!important;
  line-height:1.08 !important;
  letter-spacing: -0.03em!important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__statement strong{color:#0047ab !important;}
.mdh-embed .mdh-footer--compact .mdh-footer__nav,
.mdh-embed .mdh-footer--compact .mdh-footer__contact{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:9px !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__heading{
  margin:0 0 8px !important;
  color:#6D6E71 !important;
  font-size:11px !important;
  font-weight: 800!important;
  letter-spacing: 0.06em!important;
  text-transform:uppercase !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__nav a,
.mdh-embed .mdh-footer--compact .mdh-footer__contact a{
  color:#414042 !important;
  font-size:14px !important;
  text-decoration:none !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__button{
  min-height:42px !important;
  padding:0 15px !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  background:#0047AB !important;
  font-family: var(--md-display) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  cursor:pointer !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__bottom{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:20px !important;
  width:min(100%,1280px) !important;
  margin:30px auto 0 !important;
  padding-top:16px !important;
  border-top:1px solid #d9d9db !important;
}
.mdh-embed .mdh-footer--compact .mdh-footer__bottom p,
.mdh-embed .mdh-footer--compact .mdh-footer__bottom a{
  margin:0 !important;
  color:#6d6e71 !important;
  font-size:12px !important;
  text-decoration:none !important;
}
@media(max-width:900px){
  .mdh-embed .mdh-footer--compact .mdh-footer__main{
    grid-template-columns:1fr 1fr !important;
    align-items:start !important;
  }
  .mdh-embed .mdh-footer--compact .mdh-footer__statement{
    grid-column:1 / -1 !important;
  }
}
@media(max-width:640px){
  .mdh-embed > .mdh-footer.mdh-footer--compact,
  .mdh-embed .mdh-footer.mdh-footer--compact{
    padding:40px 18px 18px !important;
  }
  .mdh-embed .mdh-footer--compact .mdh-footer__main{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  .mdh-embed .mdh-footer--compact .mdh-footer__statement{
    grid-column:auto !important;
  }
  .mdh-embed .mdh-footer--compact .mdh-footer__statement h2{
    font-size:32px !important;
  }
  .mdh-embed .mdh-footer--compact .mdh-footer__bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/*--------------------------------------------------------------
# Theme integration (added — not part of the original block)
--------------------------------------------------------------
The landing CSS above is written for a page-builder embed where
.mdh-embed wrapped one page. Here it wraps the whole site so the
shared header/footer stay styled, which means two of its global
rules need containing on ordinary pages:

  1. `.mdh-embed { background:#1A1A1C; color:#fff }` — invisible on
     the landing page because every section paints its own
     background, but it would make a blog post white-on-navy.
  2. `.mdh-embed * { margin:0; padding:0 }` — fine for the designed
     sections, destructive for editor-authored content.

Both are re-scoped below. Nothing here affects the landing page.
--------------------------------------------------------------*/

body:not(.mdh-landing) .mdh-embed {
	color: var(--body);
	background: #fff;
	font-family: var(--md-text);
}

/* Restore normal flow inside editor-authored content. */
.mdh-embed .entry-content p,
.mdh-embed .entry-content ul,
.mdh-embed .entry-content ol,
.mdh-embed .entry-content dl,
.mdh-embed .entry-content pre,
.mdh-embed .entry-content table,
.mdh-embed .entry-content blockquote,
.mdh-embed .entry-content figure,
.mdh-embed .comment-content p,
.mdh-embed .widget p {
	margin: 0 0 1.5em;
}

.mdh-embed .entry-content h1,
.mdh-embed .entry-content h2,
.mdh-embed .entry-content h3,
.mdh-embed .entry-content h4,
.mdh-embed .entry-content h5,
.mdh-embed .entry-content h6 {
	margin: 0 0 .75em;
}

.mdh-embed .entry-content ul,
.mdh-embed .entry-content ol,
.mdh-embed .comment-content ul,
.mdh-embed .comment-content ol,
.mdh-embed .widget ul,
.mdh-embed .widget ol {
	padding-left: 1.5em;
}

.mdh-embed .entry-content blockquote {
	padding-left: 1.25em;
}

/* The landing markup owns the page shell; keep _s's own wrapper
   padding from doubling up on it. */
.mdh-landing #primary.site-main {
	margin: 0;
	padding: 0;
	max-width: none;
}

/* Screen-reader helper used by the skip link, kept available even
   though the reset above strips positioning from descendants. */
.mdh-embed .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
	word-wrap: normal;
}

.mdh-embed .screen-reader-text:focus {
	z-index: 100000;
	top: 5px;
	left: 5px;
	display: block;
	width: auto;
	height: auto;
	padding: 15px 23px 14px;
	clip: auto !important;
	clip-path: none;
	border-radius: 3px;
	color: #003580;
	background-color: #f2f2f3;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
	font-size: .875rem;
	font-weight: 700;
	line-height: normal;
	text-decoration: none;
}

/*--------------------------------------------------------------
## Built-in audit form
--------------------------------------------------------------
The original modal was styled around Contact Form 7's markup
(.wpcf7-form). These rules give the theme's own form the same
layout so it needs no plugin. Purely additive — the .wpcf7-*
rules above still apply when CF7 is the active form.
--------------------------------------------------------------*/

.mdh-modal-form .mdh-form {
	display: grid;
	gap: 16px;
	margin: 0;
}

.mdh-modal-form .mdh-form > p {
	margin: 0;
}

.mdh-form__optional {
	color: var(--muted);
	font-weight: 500;
}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.mdh-form__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mdh-form__error {
	display: block;
	margin-top: 6px;
	color: #b3141a;
	font-size: 13px;
	line-height: 1.4;
}

.mdh-modal-form .mdh-form [aria-invalid="true"] {
	border-color: #003580;
}

.mdh-form__response {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.5;
}

.mdh-form__response--ok {
	border-color: #b4d6c1;
	color: #1a7f43;
	background: #eaf3ee;
}

.mdh-form__response--error {
	border-color: #fbc6c9;
	color: #b3141a;
	background: #fde8e9;
}

/*--------------------------------------------------------------
## Gravity Forms in the audit modal
--------------------------------------------------------------
The scoped reset at the top of this file (`.mdh-embed *`) zeroes
margin and padding on every descendant, which strips the spacing
Gravity Forms relies on. Many GF rules are single-class, so they
tie with the reset on specificity and the winner would depend on
enqueue order — these selectors are deliberately more specific so
the result is deterministic either way.

Only applies inside the modal. GF elsewhere on the site keeps its
own styling.
--------------------------------------------------------------*/

.mdh-embed .mdh-modal-form .gform_wrapper {
	width: 100%;
	margin: 0;
}

/* The modal already has a title and description of its own. */
.mdh-embed .mdh-modal-form .gform_wrapper .gform_heading {
	display: none;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gfield {
	grid-column: 1 / -1;
	min-width: 0;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gfield_label {
	display: block;
	margin: 0 0 8px;
	color: var(--heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gfield_required {
	margin-left: 3px;
	color: #b3141a;
}

.mdh-embed .mdh-modal-form .gform_wrapper .ginput_container {
	margin: 0;
}

/* The generic .mdh-modal-form input rules add a top margin intended
   for CF7's label-wraps-input markup; GF labels are siblings. */
.mdh-embed .mdh-modal-form .gform_wrapper .ginput_container input,
.mdh-embed .mdh-modal-form .gform_wrapper .ginput_container select,
.mdh-embed .mdh-modal-form .gform_wrapper .ginput_container textarea {
	margin-top: 0;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gfield_description {
	margin: 6px 0 0;
	padding: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.45;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_required_legend {
	margin: 0 0 4px;
	color: var(--muted);
	font-size: 13px;
}

/* Validation */
.mdh-embed .mdh-modal-form .gform_wrapper .gfield_validation_message,
.mdh-embed .mdh-modal-form .gform_wrapper .validation_message {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	color: #b3141a;
	background: transparent;
	font-size: 13px;
	line-height: 1.4;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gfield_error input,
.mdh-embed .mdh-modal-form .gform_wrapper .gfield_error select,
.mdh-embed .mdh-modal-form .gform_wrapper .gfield_error textarea {
	border-color: #003580;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_validation_errors {
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid #fbc6c9;
	border-radius: 8px;
	background: #fde8e9;
	box-shadow: none;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_validation_errors h2,
.mdh-embed .mdh-modal-form .gform_wrapper .gform_validation_errors ol {
	margin: 0;
	color: #b3141a;
	font-size: 14px;
	line-height: 1.5;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_validation_errors ol {
	padding-left: 1.25em;
}

/* Submit */
.mdh-embed .mdh-modal-form .gform_wrapper .gform_footer {
	margin: 20px 0 0;
	padding: 0;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_button {
	width: 100%;
	min-height: 56px;
	padding: 0 24px;
	border: 2px solid var(--accent);
	border-radius: 10px;
	color: #fff;
	background: var(--accent);
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_button:hover {
	background: #0047ab;
}

.mdh-embed .mdh-modal-form .gform_wrapper .gform_ajax_spinner {
	display: inline-block;
	margin-left: 10px;
}

/* Confirmation */
.mdh-embed .mdh-modal-form .gform_confirmation_message {
	padding: 12px 14px;
	border: 1px solid #b4d6c1;
	border-radius: 8px;
	color: #1a7f43;
	background: #eaf3ee;
	font-size: 14px;
	line-height: 1.5;
}

/*--------------------------------------------------------------
## Alternate hero — centred over a full-bleed image
--------------------------------------------------------------
Selected via the `hero_variant` field. Composition: edge-to-edge
background image, a tinted scrim for legibility, and a centred
stack of eyebrow / headline / subheading / call to action.

With no image set, .mdh-hero-alt--plain leaves the radial gradient
showing on its own, which is a finished look rather than a
placeholder.
--------------------------------------------------------------*/

.mdh-hero-alt {
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	width: 100%;
	min-height: min(760px, 86svh);
	padding: clamp(90px, 11vh, 150px) var(--mdh-edge) clamp(76px, 9vh, 120px);
	color: #fff;
	text-align: center;
	/* Sits behind the image so it shows through any transparency, and
	   carries the section on its own when no image is set. */
	background: radial-gradient(closest-side at 50% 45%, #2a2a2c 0%, #1a1a1c 100%);
}

.mdh-hero-alt--plain {
	min-height: min(660px, 78svh);
}

.mdh-hero-alt__media,
.mdh-hero-alt__scrim {
	position: absolute;
	inset: 0;
}

.mdh-hero-alt__media {
	z-index: 0;
}

.mdh-hero-alt__img,
.mdh-hero-alt .mdh-hero-alt__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Darkens the photograph so white text stays readable over it
   whatever the image happens to be. Opacity is set inline from the
   `hero_alt_overlay` field. */
.mdh-hero-alt__scrim {
	z-index: 1;
	background:
		linear-gradient(
			180deg,
			rgba(26, 26, 28, .55) 0%,
			rgba(26, 26, 28, .75) 100%
		),
		radial-gradient(
			closest-side at 50% 50%,
			rgba(26, 26, 28, .35) 0%,
			rgba(26, 26, 28, .9) 100%
		);
	pointer-events: none;
}

.mdh-hero-alt__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1060px;
	margin: 0 auto;
}

.mdh-hero-alt__eyebrow {
	margin: 0 0 18px;
	color: #D1D3D4;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mdh-hero-alt__heading {
	margin: 0;
	color: #fff;
	font-size: clamp(38px, 4.7vw, 62px);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.mdh-hero-alt__heading em {
	color: #4075c0;
	font-style: normal;
}

.mdh-hero-alt__sub {
	max-width: 780px;
	margin: clamp(16px, 2vh, 22px) auto 0;
	color: rgba(250, 250, 251, .86);
	font-size: clamp(18px, 1.8vw, 27px);
	font-weight: 500;
	line-height: 1.4;
	text-wrap: pretty;
}

.mdh-hero-alt__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: clamp(26px, 3.4vh, 38px);
}

.mdh-hero-alt__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 0 clamp(30px, 4.6vw, 64px);
	border: 2px solid transparent;
	border-radius: 999px;
	color: #fff;
	background: #4075C0;
	box-shadow: 0 16px 38px rgba(64, 117, 192, .34);
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		background .2s ease,
		color .2s ease;
}

.mdh-hero-alt__cta:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 22px 46px rgba(64, 117, 192, .44);
}

.mdh-hero-alt__cta--ghost {
	border-color: rgba(250, 250, 251, .45);
	background: rgba(250, 250, 251, .07);
	box-shadow: none;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.mdh-hero-alt__cta--ghost:hover {
	border-color: #fff;
	background: rgba(250, 250, 251, .16);
	box-shadow: none;
}

.mdh-hero-alt__cta:focus-visible {
	outline: 3px solid rgba(64, 117, 192, .65);
	outline-offset: 4px;
}

.mdh-hero-alt__note {
	margin: 16px 0 0;
	color: rgba(250, 250, 251, .62);
	font-size: 14px;
	line-height: 1.5;
}

@media (max-width: 980px) {
	.mdh-hero-alt {
		min-height: 0;
		padding-top: clamp(72px, 9vh, 110px);
		padding-bottom: clamp(64px, 8vh, 96px);
	}
}

@media (max-width: 640px) {
	.mdh-hero-alt {
		padding: 62px 18px 58px;
	}

	.mdh-hero-alt__eyebrow {
		margin-bottom: 14px;
		font-size: 10px;
		letter-spacing: 0.06em;
	}

	.mdh-hero-alt__heading {
		font-size: clamp(32px, 9.2vw, 42px);
		line-height: 1.08;
	}

	.mdh-hero-alt__sub {
		font-size: 17px;
		line-height: 1.45;
	}

	.mdh-hero-alt__buttons {
		flex-direction: column;
		gap: 12px;
	}

	.mdh-hero-alt__cta {
		width: 100%;
		min-height: 56px;
		padding: 0 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mdh-hero-alt__cta {
		transition: none;
	}
}

/* Text stand-in when no logo image is set anywhere, so the header
   link is never an empty click target. */
.mdh-embed .logo-text {
	color: var(--heading);
	font-size: clamp(18px, 2vw, 23px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	white-space: nowrap;
}

.mdh-embed .mdh-footer__logo .logo-text {
	font-size: 20px;
}

/*--------------------------------------------------------------
# Brand typography
--------------------------------------------------------------
Guide sections 11 and 12. Two families, both SIL OFL, both free:

  Poppins  display / headings — geometric, warm, and close to the
           logo's own construction. Headlines, section titles, pull
           quotes, numbers and short labels. Set tight, -0.02em to
           -0.03em. Never used for paragraphs.
  Inter    text / interface — body copy, captions, tables, forms,
           reports. Set at 0 to -0.01em with generous line height.

This block only assigns family, weight ceiling and tracking. The
design's own fluid font-size clamps are deliberate and are left
alone: the guide's px scale is the floor those clamps resolve to on
a narrow screen, not a cap on a hero headline.

Poppins tops out at ExtraBold 800, so the 900s the original design
used have been brought down to 800 throughout the file above.
--------------------------------------------------------------*/

body,
.mdh-embed,
button,
input,
select,
optgroup,
textarea {
	font-family: var(--md-text);
	font-feature-settings: "cv11", "ss01";
}

/* Display and headings ------------------------------------------------- */

h1, h2, h3, h4, h5, h6,
.mdh-embed h1,
.mdh-embed h2,
.mdh-embed h3,
.mdh-embed h4,
.mdh-embed h5,
.mdh-embed h6,
.display,
.mdh-heading h1,
.mdh-hero-alt__heading,
.mdh-services__title,
.problem-title,
.mdhp-process h2,
.mdhp-step h3 {
	font-family: var(--md-display);
	letter-spacing: var(--md-track-h1);
	text-wrap: balance;
}

.mdh-embed h1,
.display,
.mdh-heading h1,
.mdh-hero-alt__heading,
.problem-title {
	letter-spacing: var(--md-track-display);
}

.mdh-embed h2 { letter-spacing: var(--md-track-h2); }
.mdh-embed h3 { letter-spacing: var(--md-track-h3); }

/* Numbers, metrics and pull quotes are display type too (guide p.13). */

.mdh-metric,
.mdh-proof-number,
.mdh-proof-number-enterprise,
.mdh-stat strong,
.mdh-stat-enterprise strong,
.mdh-testimonial-card blockquote,
.mdh-footer__statement h2 {
	font-family: var(--md-display);
	letter-spacing: var(--md-track-h2);
}

/* H4 / Label — eyebrows, table headers, small labels.
   Poppins Bold, 11/14, +0.06em, caps (guide p.14). */

.mdh-eyebrow,
.mdh-modal-eyebrow,
.mdh-card-kicker,
.mdh-closing-eyebrow,
.mdh-faq__eyebrow,
.mdh-footer-statement-label,
.mdh-footer__heading,
.mdh-form-kicker,
.mdh-healthcare-trust__eyebrow,
.mdh-hero-alt__eyebrow,
.mdh-label,
.mdh-metric-label,
.mdh-services__eyebrow,
.mdh-testimonials__eyebrow,
.mdh-testimonial-card__industry,
.mdhp-kicker,
.medspa-label,
.problem-kicker,
.widget-title {
	font-family: var(--md-display);
	font-weight: 700;
	letter-spacing: var(--md-track-label);
	text-transform: uppercase;
}

/* Short labels: buttons and primary navigation (guide p.13). */

.contact-btn,
.main-nav a,
.mdh-buttons a,
.mdh-buttons button,
.mdh-closing-button,
.mdh-different-cta,
.mdh-footer__button,
.mdh-form-card button,
.mdh-hero-alt__cta,
.mdh-modal-open,
.medspa-btn,
.problem-cta,
.wpcf7-submit,
.gform_button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	font-family: var(--md-display);
	letter-spacing: -0.01em;
}

/* White on cobalt measures 8.44:1, comfortably AAA, so the button
   floor is no longer a contrast requirement. It is kept at 19px bold
   because that is the guide's button size, and because the dark-ground
   buttons use Cobalt 75, where white measures 4.64:1 — large only. */

.contact-btn,
.mdh-buttons .primary,
.mdh-closing-button,
.mdh-footer__button,
.mdh-form-card button,
.mdh-hero-alt__cta,
.medspa-btn,
.problem-cta,
.wpcf7-submit,
.gform_button {
	font-size: max(19px, 1em);
	font-weight: 700;
}

/* The hero CTA is the one button that was already fluid. Keep the
   clamp, just lift its floor onto the 19px bar. */

.mdh-hero-alt__cta {
	font-size: clamp(19px, 2vw, 23px);
}

/* Text roles ------------------------------------------------------------ */

.mdh-embed p,
.mdh-embed li,
.mdh-embed dd,
.mdh-embed figcaption,
.mdh-embed table {
	font-family: var(--md-text);
	letter-spacing: 0;
}

.mdh-intro,
.mdh-lead,
.mdhp-intro,
.mdh-proof-intro,
.mdh-different-intro,
.mdh-services__intro,
.mdh-testimonials__intro,
.problem-intro {
	font-size: clamp(var(--md-size-lead), 1.1vw, 19px);
	line-height: var(--md-line-lead);
}

/* "No letter spacing on lowercase text" (guide p.14). The rule above
   tracks .mdh-label and friends because they are set in caps; anything
   that is not uppercased gives the tracking back. */

.mdh-embed p:not([class]),
.mdh-embed blockquote p {
	letter-spacing: 0;
}

/* Ranged left, never justified (guide p.14). The design centres a
   number of intros deliberately, which is a layout decision and not
   what the rule is about — so this bans justification and leaves
   alignment alone. */

.mdh-embed p,
.mdh-embed li,
.entry-content p {
	text-wrap: pretty;
}

.mdh-embed [style*="justify"],
.mdh-embed .has-text-align-justify,
.entry-content p[align="justify"] {
	text-align: left;
}

/* Emphasis is bold, not italic and never underline (guide p.14).
   Scoped to running text: the design uses <em> as the accent word
   inside headlines, where it has to keep the display weight. */

.mdh-embed p em,
.mdh-embed li em,
.mdh-embed dd em,
.mdh-embed p i,
.mdh-embed li i {
	font-style: normal;
	font-weight: 600;
}

.mdh-embed p strong,
.mdh-embed li strong,
.mdh-embed p b {
	font-weight: 700;
}

.mdh-embed p u,
.mdh-embed li u {
	text-decoration: none;
	font-weight: 600;
}

/* Body copy stays between 60 and 80 characters a line (guide p.14). */

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
	max-width: 72ch;
}

/* The tagline lockup — light geometric caps at roughly 0.30em, the one
   place the wide tracking from the logo artwork is reproduced in live
   type. Reference only: for the mark itself, use the supplied SVG. */

.mdh-tagline {
	font-family: var(--md-display);
	font-weight: 300;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--md-black);
}

.mdh-tagline--on-dark { color: var(--md-white); }

/*--------------------------------------------------------------
# Square corners
--------------------------------------------------------------
Every button and form control is squared off. The original design
mixed 3px, 10px, 12px, 16px, 50px and 999px radii; this collapses
all of them so the buttons share the flat-cut feel of the logo's
own terminals.

Placed last so it beats the `!important` radii the compact footer
and the carousel controls declare.
--------------------------------------------------------------*/

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.contact-btn,
.mdh-buttons a,
.mdh-buttons button,
.mdh-closing-button,
.mdh-different-cta,
.mdh-footer__button,
.mdh-footer--compact .mdh-footer__button,
.mdh-embed .mdh-footer--compact .mdh-footer__button,
.mdh-form-card button,
.mdh-form-card .wpcf7-submit,
.mdh-form-card--cta .mdh-modal-open,
.mdh-hero-alt__cta,
.mdh-modal-close,
.mdh-modal-form input[type="submit"],
.mdh-modal-open,
.mdh-testimonials__arrow,
.medspa-btn,
.problem-cta,
.wpcf7-submit,
.testimonial-controls button,
.mdh-testimonial-controls button,
.mdh-slider-controls button,
.mdh-embed .mdh-modal-form .gform_wrapper .gform_button {
	border-radius: 0 !important;
}

/* The carousel pagination dots are 9px indicators rather than
   buttons you read a label off, so they keep their circle. */

.mdh-testimonials__dot {
	border-radius: 999px !important;
}
