/* Madin page CSS.
   Lifted out of an inline wp_head block in functions.php on 2026-08-26: it was 66 KB repeated
   in every HTML response and could not be cached between pages. Edit this file directly;
   the enqueue in functions.php versions it by file modification time. */

:root{
	--madin-green:#00C348;
	--madin-green-deep:#00A53C;
	--madin-neon:#00F350;
	--madin-moss:#093A2D;
	--madin-mint:#C9FFC1;
	--madin-mint-50:#EAFBE6;
	--madin-neutral:#EEEDEE;
	--madin-ease:cubic-bezier(0.22,0.61,0.36,1);
	--madin-mark:url("/wp-content/uploads/madin-mark.png");
}

/* ============================================================
   Tagline lockup - hero
   ============================================================ */
.madin-lockup{
	max-width:34rem;
	margin:0;
}
.madin-lockup .madin-tagline-line{
	font-weight:800;
	font-size:clamp(1.5rem,1.15rem + 1.5vw,2.25rem);
	line-height:1.05;
	margin:0 0 .35rem;
	text-transform:lowercase;
	letter-spacing:.005em;
	color:var(--madin-moss);
}
.madin-lockup .madin-slogan-line{
	font-weight:700;
	font-size:clamp(.75rem,.7rem + .22vw,.875rem);
	letter-spacing:.1em;
	text-transform:uppercase;
	margin:0;
	color:var(--madin-moss);
	opacity:.78;
}

/* On the brand-green hero the ink is Moss, never green-on-green (Ch.04 contrast rules). */
.madin-lockup--on-green .madin-tagline-line{ color:var(--madin-moss); }
.madin-lockup--on-green .madin-slogan-line{ color:var(--madin-moss); opacity:.72; }

/* On moss / photography the tagline takes the neon-green treatment used in the brand book. */
.madin-lockup--on-dark .madin-tagline-line{ color:var(--madin-neon); }
.madin-lockup--on-dark .madin-slogan-line{ color:#fff; opacity:.8; }

/* ============================================================
   Standards badges - proof, set as type, never illustrated (Ch.06)
   ============================================================ */
.madin-standards{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	justify-content:center;
	margin:0 auto;
	max-width:1040px;
	padding:0 20px;
}
.madin-standards .badge{
	font-weight:700;
	font-size:11.5px;
	letter-spacing:.07em;
	color:var(--madin-moss);
	border:1.5px solid rgba(9,58,45,.28);
	border-radius:999px;
	padding:7px 14px;
	white-space:nowrap;
	transition:border-color 140ms var(--madin-ease),background 140ms var(--madin-ease);
}
.madin-standards .badge:hover{
	border-color:var(--madin-moss);
	background:var(--madin-mint-50);
}

.stars .madin-star{ display:inline-block; vertical-align:middle; margin-right:2px; }

/* Completes a heading that the layout splits across widgets: the words stay out of the way
   visually but the document outline and the accessible name read as one phrase. */
.madin-sr-only{
	position:absolute;
	width:1px;height:1px;
	padding:0;margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

/* Read-more chevron replacing the decorative dingbat */
.madin-arrow{
	display:inline-block;
	vertical-align:-2px;
	margin-left:6px;
}

/* 24/7 rescue card. The bullets were 12px moss on brand green - inside the contrast rule but
   too small to scan comfortably, and the row was clipping the Madin 24/7 lockup on the right. */
body .elementor-element.elementor-widget.elementor-element-62d474ed .elementor-heading-title,
body .elementor-element.elementor-widget.elementor-element-7d48055c .elementor-heading-title,
body .elementor-element.elementor-widget.elementor-element-2903e76b .elementor-heading-title,
body .elementor-element.elementor-widget.elementor-element-58b7cbd .elementor-heading-title,
body .elementor-element.elementor-widget.elementor-element-bba4550 .elementor-heading-title,
body .elementor-element.elementor-widget.elementor-element-c4a36bd .elementor-heading-title{
	font-size:15px;
	line-height:1.45;
}
@media (max-width:767px){
	body .elementor-element.elementor-widget.elementor-element-62d474ed .elementor-heading-title,
	body .elementor-element.elementor-widget.elementor-element-7d48055c .elementor-heading-title,
	body .elementor-element.elementor-widget.elementor-element-2903e76b .elementor-heading-title,
	body .elementor-element.elementor-widget.elementor-element-58b7cbd .elementor-heading-title,
	body .elementor-element.elementor-widget.elementor-element-bba4550 .elementor-heading-title,
	body .elementor-element.elementor-widget.elementor-element-c4a36bd .elementor-heading-title{
		font-size:14px;
	}
}

/* Let the lockup scale to its box instead of being cropped by it. */
body .elementor-element.elementor-widget.elementor-element-64afdea9 img,
body .elementor-element.elementor-widget.elementor-element-3d40a0a img{
	width:100%;
	height:auto;
	max-width:100%;
	object-fit:contain;
}


/* ============================================================
   Vision · Mission · Positioning · Core values
   Built from the brand's own graphic language rather than generic cards: the faceted pentagon
   (Ch.02 / Ch.07), the cellular voronoi mesh, the signature diagonal sweep, and hero numerals in
   display weight. Grounds alternate light/dark so the block reads as one composition, and every
   pairing is checked against the palette's contrast rules (moss on green 5.4:1, white on moss
   12.7:1) rather than using brand green for text, which fails at 2.4:1.
   ============================================================ */
.madin-vm{
	--vm-mesh:
		radial-gradient(circle at 18% 22%, transparent 26px, var(--vm-cell) 27px, var(--vm-cell) 28px, transparent 29px),
		radial-gradient(circle at 62% 14%, transparent 30px, var(--vm-cell) 31px, var(--vm-cell) 32px, transparent 33px),
		radial-gradient(circle at 84% 56%, transparent 34px, var(--vm-cell) 35px, var(--vm-cell) 36px, transparent 37px),
		radial-gradient(circle at 36% 72%, transparent 28px, var(--vm-cell) 29px, var(--vm-cell) 30px, transparent 31px);
	max-width:1040px;
	margin:0 auto;
	padding:0 20px;
	text-align:left;
}

/* ---------- Vision / Mission pair ---------- */
.madin-vm-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}
@media (max-width:860px){ .madin-vm-grid{ grid-template-columns:1fr; } }

.madin-vm-card{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	border-radius:24px;
	padding:44px 38px 40px;
	min-height:260px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	transition:transform 420ms var(--madin-ease), box-shadow 420ms var(--madin-ease);
}
.madin-vm-card:hover{
	transform:translateY(-3px);
	box-shadow:0 18px 44px rgba(9,58,45,.16);
}

/* The gem, bled off the corner as a large quiet anchor - the treatment Ch.07 prescribes. */
.madin-vm-card::after{
	content:"";
	position:absolute;
	right:-52px; top:-44px;
	width:236px; height:244px;
	background:currentColor;
	-webkit-mask:var(--madin-mark) no-repeat center/contain;
	mask:var(--madin-mark) no-repeat center/contain;
	opacity:.11;
	z-index:-1;
	pointer-events:none;
	transition:transform 620ms var(--madin-ease), opacity 420ms var(--madin-ease);
}
.madin-vm-card:hover::after{ transform:scale(1.06) rotate(-4deg); opacity:.16; }

/* Vision takes the dark ground, Mission the light one, so the pair reads as a diptych. */
.madin-vm-card--vision{
	background:
		linear-gradient(148deg, #0B4433 0%, var(--madin-moss) 58%, #072A20 100%);
	color:#fff;
}
.madin-vm-card--vision::before{
	content:"";
	position:absolute; inset:0;
	--vm-cell:rgba(0,243,80,.16);
	background-image:var(--vm-mesh);
	background-size:180px 180px;
	opacity:.85;
	z-index:-1;
	pointer-events:none;
}
.madin-vm-card--mission{
	background:linear-gradient(148deg,#FFFFFF 0%, var(--madin-mint-50) 100%);
	border:1px solid rgba(9,58,45,.10);
	color:var(--madin-moss);
}
.madin-vm-card--mission::before{
	content:"";
	position:absolute; inset:0;
	--vm-cell:rgba(0,195,72,.16);
	background-image:var(--vm-mesh);
	background-size:180px 180px;
	opacity:.6;
	z-index:-1;
	pointer-events:none;
}

/* Hero numeral, set in display weight and ghosted - depth without another box. */
.madin-vm-card .vm-num{
	position:absolute;
	left:30px; top:18px;
	font-family:var(--font-display,inherit);
	font-weight:800;
	font-size:clamp(64px,9vw,104px);
	line-height:1;
	letter-spacing:-.02em;
	font-variant-numeric:tabular-nums;
	z-index:-1;
	pointer-events:none;
	user-select:none;
}
.madin-vm-card--vision .vm-num{ color:rgba(0,243,80,.14); }
.madin-vm-card--mission .vm-num{ color:rgba(0,165,60,.13); }

.madin-vm-card .vm-label{
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	margin-bottom:14px;
}
.madin-vm-card .vm-label::before{
	content:"";
	width:26px; height:2px;
	border-radius:2px;
}
.madin-vm-card--vision .vm-label{ color:var(--madin-neon); }
.madin-vm-card--vision .vm-label::before{ background:var(--madin-neon); }
.madin-vm-card--mission .vm-label{ color:var(--madin-green-deep); }
.madin-vm-card--mission .vm-label::before{ background:var(--madin-green); }

.madin-vm-card .vm-text{
	font-size:clamp(1.05rem,.95rem + .45vw,1.3rem);
	line-height:1.5;
	margin:0;
	font-weight:400;
	text-wrap:pretty;
	max-width:40ch;
}
.madin-vm-card--vision .vm-text{ color:rgba(255,255,255,.94); }

/* ---------- Positioning statement ---------- */
.madin-positioning{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	margin:18px 0 0;
	border-radius:24px;
	padding:56px clamp(28px,5vw,72px);
	background:linear-gradient(120deg, var(--madin-moss) 0%, #0B4B39 100%);
}
/* The signature sweep: one white diagonal, anchored to a corner (Ch.07). */
.madin-positioning::before{
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(104deg, transparent 0 62%, rgba(0,243,80,.10) 62% 64%, transparent 64%);
	z-index:-1;
	pointer-events:none;
}
.madin-positioning::after{
	content:"";
	position:absolute;
	right:-90px; bottom:-120px;
	width:340px; height:340px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(0,243,80,.22), transparent 66%);
	z-index:-1;
	pointer-events:none;
}
.madin-positioning .pos-label{
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--madin-neon);
	margin-bottom:18px;
}
.madin-positioning .pos-label::before{
	content:"";
	width:26px; height:2px;
	background:var(--madin-neon);
	border-radius:2px;
}
.madin-positioning .pos-text{
	position:relative;
	font-size:clamp(1.15rem,1rem + .75vw,1.6rem);
	line-height:1.48;
	color:#fff;
	margin:0;
	font-weight:400;
	max-width:54ch;
	text-wrap:balance;
}

/* ---------- Four core values ---------- */
.madin-values{ margin-top:18px; }
.madin-values-head{
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--madin-green-deep);
	margin:0 0 16px;
}
.madin-values-head::before{
	content:"";
	width:26px; height:2px;
	background:var(--madin-green);
	border-radius:2px;
}
.madin-values-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:16px;
	counter-reset:mv;
}
@media (max-width:900px){ .madin-values-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .madin-values-grid{ grid-template-columns:1fr; } }

.madin-value{
	counter-increment:mv;
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(9,58,45,.10);
	border-radius:18px;
	padding:26px 22px 24px;
	min-height:172px;
	display:flex;
	flex-direction:column;
	transition:transform 320ms var(--madin-ease), box-shadow 320ms var(--madin-ease),
		border-color 320ms var(--madin-ease);
}
/* A facet cut off the bottom-right corner, echoing the gem rather than a plain rounded box. */
.madin-value::after{
	content:"";
	position:absolute;
	right:0; bottom:0;
	width:46px; height:46px;
	background:linear-gradient(135deg, transparent 50%, var(--madin-mint-50) 50%);
	transition:background 320ms var(--madin-ease);
	pointer-events:none;
}
.madin-value:hover{
	transform:translateY(-4px);
	border-color:rgba(0,195,72,.5);
	box-shadow:0 14px 34px rgba(9,58,45,.12);
}
.madin-value:hover::after{ background:linear-gradient(135deg, transparent 50%, var(--madin-mint) 50%); }

/* Number set inside the pentagon of the mark itself. */
.madin-value .mv-badge{
	position:relative;
	width:40px; height:42px;
	flex-shrink:0;
	margin-bottom:16px;
	background:linear-gradient(150deg, var(--madin-green) 0%, var(--madin-green-deep) 100%);
	-webkit-mask:var(--madin-mark) no-repeat center/contain;
	mask:var(--madin-mark) no-repeat center/contain;
	transition:background 320ms var(--madin-ease), transform 320ms var(--madin-ease);
}
.madin-value:hover .mv-badge{
	background:linear-gradient(150deg, var(--madin-neon) 0%, var(--madin-green) 100%);
	transform:scale(1.06);
}
/* The set is ordered, so the index stays - moved out of the mark, which is too irregular to
   hold a legible numeral. */
.madin-value .mv-index{
	position:absolute;
	right:18px; top:16px;
	font-weight:800;
	font-size:13px;
	line-height:1;
	color:rgba(9,58,45,.22);
	font-variant-numeric:tabular-nums;
	pointer-events:none;
}
.madin-value .mv-index::before{ content:"0" counter(mv); }

.madin-value span{
	display:block;
	font-weight:700;
	font-size:1rem;
	line-height:1.4;
	color:var(--madin-moss);
	text-wrap:pretty;
	margin-top:auto;
}

.madin-vm .madin-standards{
	margin-top:22px;
	justify-content:flex-start;
	padding:0;
}

/* ---------- entrance ---------- */
.madin-vm [data-vm-reveal]{
	opacity:0;
	transform:translateY(14px);
	transition:opacity 620ms var(--madin-ease), transform 620ms var(--madin-ease);
}
.madin-vm [data-vm-reveal].is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
	.madin-vm-card,.madin-value,.madin-value::after,.madin-value .mv-badge,
	.madin-vm-card::after,.madin-vm [data-vm-reveal]{ transition:none; }
	.madin-vm-card:hover,.madin-value:hover{ transform:none; }
	.madin-vm-card:hover::after{ transform:none; }
	.madin-vm [data-vm-reveal]{ opacity:1; transform:none; }
}


/* ============================================================
   R&D laboratories · Certifications
   Same graphic language as the vision block so the page reads as one system: the mark, the
   cellular mesh, a facet cut, and the year set as a hero numeral. The certificates are the
   brand's proof, so they are named rather than left as three unlabelled images.
   ============================================================ */
.madin-rd, .madin-cert{
	max-width:1040px;
	margin:0 auto;
	padding:0 20px;
}

/* ---------- R&D ---------- */
.madin-rd-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}
@media (max-width:860px){ .madin-rd-grid{ grid-template-columns:1fr; } }

.madin-lab{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(9,58,45,.10);
	border-radius:24px;
	display:flex;
	flex-direction:column;
	transition:transform 320ms var(--madin-ease), box-shadow 320ms var(--madin-ease),
		border-color 320ms var(--madin-ease);
}
.madin-lab:hover{
	transform:translateY(-3px);
	border-color:rgba(0,195,72,.45);
	box-shadow:0 16px 38px rgba(9,58,45,.13);
}
.madin-lab__media{
	position:relative;
	aspect-ratio:16/10;
	overflow:hidden;
	background:var(--madin-mint-50);
}
.madin-lab__media img{
	width:100%; height:100%;
	object-fit:cover;
	display:block;
	transition:transform 620ms var(--madin-ease);
}
.madin-lab:hover .madin-lab__media img{ transform:scale(1.04); }
/* A moss wash keeps the photography on-brand and stops the caption fighting the image. */
.madin-lab__media::after{
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(to top, rgba(9,58,45,.62) 0%, rgba(9,58,45,.10) 46%, transparent 72%);
	pointer-events:none;
}
.madin-lab__year{
	position:absolute;
	left:22px; bottom:16px;
	z-index:1;
	font-family:var(--font-display,inherit);
	font-weight:800;
	font-size:clamp(30px,4vw,40px);
	line-height:1;
	color:var(--madin-neon);
	font-variant-numeric:tabular-nums;
	letter-spacing:-.01em;
}
.madin-lab__place{
	position:absolute;
	left:24px; bottom:calc(16px + 2.6em);
	z-index:1;
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:rgba(255,255,255,.9);
}
.madin-lab__body{
	padding:24px 26px 26px;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.madin-lab__body h3{
	margin:0;
	font-size:1.05rem;
	font-weight:700;
	line-height:1.35;
	color:var(--madin-moss);
	text-wrap:pretty;
}
.madin-lab__body p{
	margin:0;
	font-size:.95rem;
	line-height:1.6;
	color:#3D5A4F;
	text-wrap:pretty;
}

/* ---------- Certifications ---------- */
.madin-cert-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
@media (max-width:820px){ .madin-cert-grid{ grid-template-columns:1fr; } }

.madin-cert-card{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	background:linear-gradient(160deg,#FFFFFF 0%, var(--madin-mint-50) 100%);
	border:1px solid rgba(9,58,45,.10);
	border-radius:22px;
	padding:22px 22px 20px;
	transition:transform 320ms var(--madin-ease), box-shadow 320ms var(--madin-ease),
		border-color 320ms var(--madin-ease);
}
.madin-cert-card::before{
	content:"";
	position:absolute; inset:0;
	--vm-cell:rgba(0,195,72,.13);
	background-image:var(--vm-mesh,none);
	background-size:180px 180px;
	opacity:.5;
	z-index:-1;
	pointer-events:none;
}
/* Facet cut, the same device as the value cards. */
.madin-cert-card::after{
	content:"";
	position:absolute;
	right:0; bottom:0;
	width:52px; height:52px;
	background:linear-gradient(135deg, transparent 50%, rgba(0,195,72,.16) 50%);
	transition:background 320ms var(--madin-ease);
	pointer-events:none;
}
.madin-cert-card:hover{
	transform:translateY(-4px);
	border-color:rgba(0,195,72,.5);
	box-shadow:0 16px 40px rgba(9,58,45,.14);
}
.madin-cert-card:hover::after{ background:linear-gradient(135deg, transparent 50%, rgba(0,195,72,.3) 50%); }

.madin-cert-card__doc{
	background:#fff;
	border:1px solid rgba(9,58,45,.08);
	border-radius:12px;
	overflow:hidden;
	aspect-ratio:3/4;
	display:grid;
	place-items:center;
	margin-bottom:16px;
	box-shadow:0 4px 14px rgba(9,58,45,.08);
}
.madin-cert-card__doc img{
	width:100%; height:100%;
	object-fit:contain;
	display:block;
	transition:transform 620ms var(--madin-ease);
}
.madin-cert-card:hover .madin-cert-card__doc img{ transform:scale(1.03); }

.madin-cert-card__name{
	display:block;
	font-weight:700;
	font-size:1rem;
	line-height:1.35;
	color:var(--madin-moss);
	margin-bottom:5px;
}
.madin-cert-card__meta{
	display:block;
	font-size:.85rem;
	line-height:1.5;
	color:#6E867C;
}
.madin-cert-card__mark{
	position:absolute;
	right:-30px; top:-26px;
	width:132px; height:136px;
	background:var(--madin-green);
	-webkit-mask:var(--madin-mark) no-repeat center/contain;
	mask:var(--madin-mark) no-repeat center/contain;
	opacity:.07;
	z-index:-1;
	pointer-events:none;
}

@media (prefers-reduced-motion: reduce){
	.madin-lab,.madin-lab__media img,.madin-cert-card,.madin-cert-card__doc img,
	.madin-cert-card::after{ transition:none; }
	.madin-lab:hover,.madin-cert-card:hover{ transform:none; }
	.madin-lab:hover .madin-lab__media img,
	.madin-cert-card:hover .madin-cert-card__doc img{ transform:none; }
}



/* The brand-highlight clipPath definitions are shipped as width=0 height=0 SVGs, but Elementor
   still gives their wrapper a line box, leaving ~24px of dead vertical space in the middle of a
   section. Take them out of flow; clipPath references still resolve. */
svg[width='0'][height='0']{
	position:absolute;
	width:0;
	height:0;
	overflow:hidden;
}




/* ============================================================
   One content width across the whole page
   The Elementor kit sets a 1040px container, but a section saved with content_width:full renders
   without an .e-con-inner, so its children take the viewport width instead. On a 1920px monitor
   that left the product-set and advice rows at 1905px while every neighbouring section sat at
   1040px - three different column widths stacked down one page.

   Nearly every full-bleed section here carries a background image or colour, and that bleed is
   deliberate, so the section itself is left alone; only its children are brought back to the kit
   width. Backgrounds still run edge to edge, content lines up.
   ============================================================ */
.elementor-2393[data-elementor-type="wp-page"] > .e-con-full > .e-con,
.elementor-2393[data-elementor-type="wp-page"] > .e-con-full > .elementor-widget,
.elementor-2412[data-elementor-type="wp-page"] > .elementor-widget{
	max-width:min(1040px, calc(100% - 40px));
	margin-left:auto;
	margin-right:auto;
}

/* Our own blocks sit inside those widgets, so they measure to the same 1040 and need no padding of
   their own until the viewport is narrower than the container. */
.madin-features,
.madin-locations{
	width:100%;
	max-width:1040px;
	margin:0 auto;
	padding:0 20px;
	box-sizing:border-box;
}

/* ============================================================
   Comparison table - AUS 32 vs AUS 40
   Two fluids that look interchangeable and are not; the table exists so a chief engineer can
   settle the question in one glance. Scrolls inside its own container so the page body never
   scrolls sideways on a phone.
   ============================================================ */
.madin-compare-wrap{
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	border-radius:18px;
	border:1px solid rgba(9,58,45,.10);
}
.madin-compare{
	width:100%;
	min-width:560px;
	border-collapse:collapse;
	font-size:.9rem;
	background:#fff;
}
.madin-compare th,
.madin-compare td{
	text-align:left;
	padding:14px 18px;
	border-bottom:1px solid rgba(9,58,45,.08);
	vertical-align:top;
}
.madin-compare thead th{
	background:var(--madin-moss);
	color:#fff;
	font-weight:700;
	font-size:.82rem;
	letter-spacing:.04em;
	border-bottom:none;
}
.madin-compare thead th:first-child{ border-top-left-radius:18px; }
.madin-compare thead th:last-child{ border-top-right-radius:18px; }
.madin-compare tbody th{
	font-weight:700;
	color:var(--madin-moss);
	width:30%;
	background:var(--madin-mint-50);
}
.madin-compare td{ color:#3D5A4F; line-height:1.55; }
.madin-compare .is-marine{ background:rgba(0,195,72,.06); font-weight:600; color:var(--madin-moss); }
.madin-compare tbody tr:last-child th,
.madin-compare tbody tr:last-child td{ border-bottom:none; }

/* ---------- spec strip ---------- */
.madin-spec-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	grid-auto-rows:1fr;
	gap:14px;
}
@media (max-width:900px){ .madin-spec-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .madin-spec-grid{ grid-template-columns:1fr; grid-auto-rows:auto; } }

.madin-spec{
	background:var(--madin-moss);
	border-radius:18px;
	padding:22px 20px;
	display:flex;
	flex-direction:column;
	gap:4px;
}
.madin-spec .sp-value{
	font-size:1.7rem;
	font-weight:800;
	line-height:1.05;
	letter-spacing:-.02em;
	color:#fff;
	font-variant-numeric:tabular-nums;
}
.madin-spec .sp-label{
	font-size:11px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--madin-neon, #4BFF8F);
}
.madin-spec .sp-note{
	font-size:.8rem;
	line-height:1.5;
	color:rgba(255,255,255,.72);
	margin-top:auto;
	padding-top:8px;
}
/* ============================================================
   OEM / private-label page
   Built from the vocabulary already established elsewhere on the site: the moss ground and cellular
   mesh from the vision/mission block, the mark as a watermark, and numerals carrying quantitative
   information. Brand green is used as a ground with moss text on it (5.4:1) rather than as text on
   white, which fails contrast at 2.4:1.
   ============================================================ */
.madin-oem-hero{
	--oem-cell:rgba(0,195,72,.16);
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:var(--madin-moss);
	border-radius:26px;
	padding:56px 48px 52px;
	margin:0 auto;
	max-width:1040px;
}
.madin-oem-hero::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		radial-gradient(circle at 16% 24%, transparent 30px, var(--oem-cell) 31px, var(--oem-cell) 32px, transparent 33px),
		radial-gradient(circle at 58% 12%, transparent 34px, var(--oem-cell) 35px, var(--oem-cell) 36px, transparent 37px),
		radial-gradient(circle at 88% 62%, transparent 38px, var(--oem-cell) 39px, var(--oem-cell) 40px, transparent 41px),
		radial-gradient(circle at 34% 82%, transparent 30px, var(--oem-cell) 31px, var(--oem-cell) 32px, transparent 33px);
	pointer-events:none;
	z-index:-2;
}
/* the mark, oversized and cropped, as a watermark rather than an illustration */
.madin-oem-hero::after{
	content:"";
	position:absolute;
	right:-40px;
	bottom:-56px;
	width:280px;
	height:296px;
	background:rgba(0,195,72,.13);
	-webkit-mask:var(--madin-mark) no-repeat center/contain;
	mask:var(--madin-mark) no-repeat center/contain;
	pointer-events:none;
	z-index:-1;
}
.madin-oem-hero .oem-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-weight:700;
	font-size:11px;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--madin-neon, #4BFF8F);
	margin:0 0 18px;
}
.madin-oem-hero .oem-eyebrow::before{
	content:"";
	width:26px; height:2px;
	background:var(--madin-green);
	border-radius:2px;
}
.madin-oem-hero h1{
	color:#fff;
	font-size:clamp(1.9rem, 4vw, 2.9rem);
	line-height:1.14;
	letter-spacing:-.015em;
	text-wrap:balance;
	margin:0 0 18px;
	max-width:20ch;
}
.madin-oem-hero .oem-lead{
	color:rgba(255,255,255,.82);
	font-size:1.02rem;
	line-height:1.65;
	margin:0;
	max-width:62ch;
}
@media (max-width:700px){
	.madin-oem-hero{ padding:40px 24px 38px; border-radius:20px; }
	.madin-oem-hero::after{ width:190px; height:200px; right:-34px; bottom:-42px; }
}

/* ---------- packaging formats ---------- */
.madin-pack-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	grid-auto-rows:1fr;
	gap:14px;
}
@media (max-width:1000px){ .madin-pack-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px){ .madin-pack-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; } }

.madin-pack{
	position:relative;
	overflow:hidden;
	background:var(--madin-mint-50);
	border:1px solid rgba(9,58,45,.08);
	border-radius:18px;
	padding:20px 18px;
	display:flex;
	flex-direction:column;
	gap:4px;
	transition:background 300ms var(--madin-ease), border-color 300ms var(--madin-ease);
}
.madin-pack:hover{ background:var(--madin-mint); border-color:rgba(0,195,72,.4); }
.madin-pack .pk-size{
	font-size:1.55rem;
	font-weight:800;
	line-height:1.05;
	letter-spacing:-.02em;
	color:var(--madin-moss);
	font-variant-numeric:tabular-nums;
}
.madin-pack .pk-kind{
	font-size:.82rem;
	font-weight:600;
	color:var(--madin-green-deep);
}
.madin-pack .pk-note{
	font-size:.78rem;
	line-height:1.5;
	color:#3D5A4F;
	margin-top:auto;
	padding-top:8px;
}

/* ---------- closing call to action ---------- */
.madin-cta-band{
	position:relative;
	overflow:hidden;
	max-width:1040px;
	margin:0 auto;
	background:none;
	border-radius:26px;
	padding:44px 46px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px;
	flex-wrap:wrap;
}
.madin-cta-band::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(120deg, var(--madin-green) 0%, #2BD968 100%);
	border-radius:inherit;
}
.madin-cta-band h2{
	color:var(--madin-moss);
	font-size:clamp(1.35rem, 2.6vw, 1.9rem);
	line-height:1.2;
	margin:0 0 8px;
	text-wrap:balance;
}
.madin-cta-band p{
	color:rgba(9,58,45,.82);
	font-size:.95rem;
	line-height:1.6;
	margin:0;
	max-width:52ch;
}
.madin-cta-band .cta-actions{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
}
.madin-cta-band .cta-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:var(--madin-moss);
	color:#fff;
	font-weight:700;
	font-size:.92rem;
	padding:14px 24px;
	border-radius:999px;
	text-decoration:none;
	transition:transform 260ms var(--madin-ease), box-shadow 260ms var(--madin-ease);
}
.madin-cta-band .cta-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(9,58,45,.28); }
.madin-cta-band .cta-btn--ghost{
	background:transparent;
	color:var(--madin-moss);
	border:2px solid rgba(9,58,45,.32);
}
.madin-cta-band .cta-btn--ghost:hover{ border-color:var(--madin-moss); box-shadow:none; }
@media (max-width:700px){
	.madin-cta-band{ padding:34px 24px; border-radius:20px; }
}

@media (prefers-reduced-motion: reduce){
	.madin-pack,.madin-cta-band .cta-btn{ transition:none; }
	.madin-cta-band .cta-btn:hover{ transform:none; }
}
/* ============================================================
   Feature / benefit cards — Product and Service pages
   Same family as .madin-loc-card and .madin-cert-card: white ground, the mark as a badge, a
   facet-cut corner, hover lift. Replaces a horizontal-scroll strip that pushed 2 of 6 cards off
   screen with no arrows or scrollbar, so most visitors never reached them.
   ============================================================ */

.madin-feature-grid{
	grid-auto-rows:1fr;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
	align-items:stretch;
}
@media (max-width:900px){ .madin-feature-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .madin-feature-grid{ grid-template-columns:1fr; grid-auto-rows:auto; } }

/* four-up variant for the shorter benefits row */
.madin-feature-grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1000px){ .madin-feature-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .madin-feature-grid--4{ grid-template-columns:1fr; grid-auto-rows:auto; } }

.madin-feature{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid rgba(9,58,45,.10);
	border-radius:22px;
	padding:26px 24px 24px;
	transition:transform 320ms var(--madin-ease), box-shadow 320ms var(--madin-ease),
		border-color 320ms var(--madin-ease);
}
.madin-feature::after{
	content:"";
	position:absolute;
	right:0; bottom:0;
	width:46px; height:46px;
	background:linear-gradient(135deg, transparent 50%, var(--madin-mint-50) 50%);
	transition:background 320ms var(--madin-ease);
	pointer-events:none;
}
.madin-feature:hover{
	transform:translateY(-3px);
	border-color:rgba(0,195,72,.45);
	box-shadow:0 14px 34px rgba(9,58,45,.12);
}
.madin-feature:hover::after{ background:linear-gradient(135deg, transparent 50%, var(--madin-mint) 50%); }

.madin-feature .ft-badge{
	width:34px; height:36px;
	margin-bottom:16px;
	flex-shrink:0;
	background:linear-gradient(150deg, var(--madin-green) 0%, var(--madin-green-deep) 100%);
	-webkit-mask:var(--madin-mark) no-repeat center/contain;
	mask:var(--madin-mark) no-repeat center/contain;
}
.madin-feature .ft-name{
	font-weight:700;
	font-size:1.02rem;
	line-height:1.35;
	color:var(--madin-moss);
	margin:0 0 8px;
}
.madin-feature .ft-desc{
	font-size:.9rem;
	line-height:1.6;
	color:#3D5A4F;
	margin:0;
}

.madin-feature .ft-link{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-top:14px;
	font-weight:700;
	font-size:.85rem;
	color:var(--madin-green-deep);
	text-decoration:none;
}
.madin-feature .ft-link svg{ width:15px; height:15px; transition:transform 260ms var(--madin-ease); }
.madin-feature:hover .ft-link svg{ transform:translateX(3px); }
.madin-feature .ft-link:hover{ text-decoration:underline; }
.madin-faq-next{ margin-top:34px; }

@media (prefers-reduced-motion: reduce){
	.madin-feature,.madin-feature::after{ transition:none; }
	.madin-feature:hover{ transform:none; }
}

/* ============================================================
   Process steps — Service page
   A numbered variant of the feature card. The number is load-bearing here: these four steps are
   the actual order the maintenance work is carried out in, so the sequence is information.
   ============================================================ */
.madin-step-grid{
	grid-auto-rows:1fr;
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
	counter-reset:madin-step;
}
@media (max-width:1000px){ .madin-step-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .madin-step-grid{ grid-template-columns:1fr; grid-auto-rows:auto; } }

.madin-step{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid rgba(9,58,45,.10);
	border-radius:22px;
	padding:24px;
	transition:transform 320ms var(--madin-ease), box-shadow 320ms var(--madin-ease),
		border-color 320ms var(--madin-ease);
}
/* the connecting rule between steps, drawn only where a next step exists on the same row */
.madin-step::after{
	content:"";
	position:absolute;
	right:0; bottom:0;
	width:46px; height:46px;
	background:linear-gradient(135deg, transparent 50%, var(--madin-mint-50) 50%);
	transition:background 320ms var(--madin-ease);
	pointer-events:none;
}
.madin-step:hover{
	transform:translateY(-3px);
	border-color:rgba(0,195,72,.45);
	box-shadow:0 14px 34px rgba(9,58,45,.12);
}
.madin-step:hover::after{ background:linear-gradient(135deg, transparent 50%, var(--madin-mint) 50%); }

.madin-step .st-num{
	font-family:var(--font-display, inherit);
	font-size:2.6rem;
	font-weight:800;
	line-height:1;
	letter-spacing:-.02em;
	color:var(--madin-mint);
	margin-bottom:10px;
}
.madin-step .st-name{
	font-weight:700;
	font-size:1.02rem;
	line-height:1.35;
	color:var(--madin-moss);
	margin:0 0 8px;
}
.madin-step .st-desc{
	font-size:.9rem;
	line-height:1.6;
	color:#3D5A4F;
	margin:0;
}

@media (prefers-reduced-motion: reduce){
	.madin-step,.madin-step::after{ transition:none; }
	.madin-step:hover{ transform:none; }
}
/* ============================================================
   Contact — location cards
   Same system as the lab/certificate cards: the mark as a badge, a facet-cut corner, and a real
   call to action. The three offices were three default Elementor icon-lists with no visual
   separation and a "Directions" link that pointed nowhere.
   ============================================================ */

.madin-loc-grid{
	grid-auto-rows:1fr;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
@media (max-width:900px){ .madin-loc-grid{ grid-template-columns:1fr; grid-auto-rows:auto; } }

.madin-loc-card{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(9,58,45,.10);
	border-radius:22px;
	padding:28px 26px 26px;
	display:flex;
	flex-direction:column;
	transition:transform 320ms var(--madin-ease), box-shadow 320ms var(--madin-ease),
		border-color 320ms var(--madin-ease);
}
.madin-loc-card::after{
	content:"";
	position:absolute;
	right:0; bottom:0;
	width:50px; height:50px;
	background:linear-gradient(135deg, transparent 50%, var(--madin-mint-50) 50%);
	transition:background 320ms var(--madin-ease);
	pointer-events:none;
}
.madin-loc-card:hover{
	transform:translateY(-3px);
	border-color:rgba(0,195,72,.45);
	box-shadow:0 14px 34px rgba(9,58,45,.12);
}
.madin-loc-card:hover::after{ background:linear-gradient(135deg, transparent 50%, var(--madin-mint) 50%); }

.madin-loc-card .loc-badge{
	width:38px; height:40px;
	margin-bottom:16px;
	background:linear-gradient(150deg, var(--madin-green) 0%, var(--madin-green-deep) 100%);
	-webkit-mask:var(--madin-mark) no-repeat center/contain;
	mask:var(--madin-mark) no-repeat center/contain;
}
.madin-loc-card .loc-label{
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--madin-green-deep);
	margin:0 0 10px;
}
.madin-loc-card .loc-name{
	font-weight:700;
	font-size:.98rem;
	line-height:1.4;
	color:var(--madin-moss);
	margin:0 0 4px;
}
.madin-loc-card .loc-scope{
	font-size:.78rem;
	line-height:1.45;
	color:var(--madin-green-deep);
	margin:0 0 10px;
}
.madin-loc-card .loc-tax{
	font-size:.74rem;
	font-weight:600;
	letter-spacing:.02em;
	color:#5C7A6E;
	font-variant-numeric:tabular-nums;
}
.madin-loc-card .loc-addr{
	font-size:.9rem;
	line-height:1.55;
	color:#3D5A4F;
	margin:0 0 16px;
	flex-grow:1;
}
.madin-loc-card .loc-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding-top:14px;
	border-top:1px solid rgba(9,58,45,.08);
}
.madin-loc-card .loc-phone{
	font-weight:700;
	font-size:.92rem;
	color:var(--madin-moss);
	text-decoration:none;
}
.madin-loc-card .loc-phone:hover{ color:var(--madin-green-deep); }
.madin-loc-card .loc-dir{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-weight:700;
	font-size:.85rem;
	color:var(--madin-green-deep);
	text-decoration:none;
	white-space:nowrap;
}
.madin-loc-card .loc-dir svg{ width:14px; height:14px; }
.madin-loc-card .loc-dir:hover{ text-decoration:underline; }

/* Nationwide service points — lighter treatment, a simple list rather than full cards, since
   these carry only a name and a phone number. */
.madin-points{ margin-top:22px; }
.madin-points-head{
	display:inline-flex;
	align-items:center;
	gap:9px;
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--madin-green-deep);
	margin:0 0 14px;
}
.madin-points-head::before{ content:""; width:26px; height:2px; background:var(--madin-green); border-radius:2px; }
.madin-points-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
}
@media (max-width:820px){ .madin-points-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .madin-points-grid{ grid-template-columns:1fr; } }
.madin-point{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
	background:var(--madin-mint-50);
	border-radius:12px;
	padding:13px 16px;
	font-size:.87rem;
}
.madin-point .pt-name{ color:var(--madin-moss); font-weight:600; }
.madin-point .pt-phone{ color:var(--madin-green-deep); font-weight:700; text-decoration:none; flex-shrink:0; }
.madin-point .pt-phone:hover{ text-decoration:underline; }

@media (prefers-reduced-motion: reduce){
	.madin-loc-card,.madin-loc-card::after{ transition:none; }
	.madin-loc-card:hover{ transform:none; }
}



/* ============================================================
   Madin landing pages — OEM (11641) & AUS 40 (11643)
   Direct transcription of the approved landing designs ("Madin OEM AdBlue" / "Madin AUS 40"
   standalone files), adapted to run inside the site's own header/footer. All class names carry the
   mlp- prefix and appear only on these two pages. Sections are targeted through their fixed
   Elementor ids because this stack does not print custom classes on containers.
   ============================================================ */
:root{
	--mlp-line:#DCE5DF;
	--mlp-fg2:#3D5A4F;
	--mlp-fg3:#6E867C;
	--mlp-subtle:#F6F8F5;
	--mlp-tint:#EAFBE6;
	--mlp-neon:#00F350;
	--mlp-ondark:#C9E7D8;
	--mlp-ondark2:#9FC9B4;
	--mlp-r-md:10px;
	--mlp-r-lg:16px;
	--mlp-r-xl:20px;
	--mlp-shadow-md:0 10px 26px rgba(9,58,45,.10);
	--mlp-shadow-lg:0 18px 44px rgba(9,58,45,.16);
	--mlp-shadow-green:0 10px 26px rgba(0,195,72,.32);
}
.mlp-wrap{ max-width:1200px; margin:0 auto; padding:0 28px; }
.mlp-eyebrow{
	font-weight:600; font-size:13px; letter-spacing:.12em; text-transform:uppercase;
	color:var(--madin-green-deep); display:inline-flex; align-items:center; gap:10px;
}
.mlp-eyebrow::before{ content:''; width:24px; height:2px; background:currentColor; border-radius:2px; }
.mlp-dark .mlp-eyebrow{ color:var(--mlp-neon); }

.mlp-btn{
	font-weight:600; border:none; cursor:pointer; border-radius:999px;
	display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
	padding:15px 28px; font-size:15.5px; text-decoration:none;
	transition:transform 260ms var(--madin-ease), background 260ms var(--madin-ease), box-shadow 260ms var(--madin-ease);
}
.mlp-btn svg{ width:18px; height:18px; }
.mlp-btn--primary{ background:var(--madin-green); color:#fff; box-shadow:var(--mlp-shadow-green); }
.mlp-btn--primary:hover{ background:var(--madin-green-deep); transform:translateY(-2px); color:#fff; }
.mlp-btn--white{ background:#fff; color:var(--madin-moss); }
.mlp-btn--white:hover{ transform:translateY(-2px); box-shadow:var(--mlp-shadow-lg); color:var(--madin-moss); }
.mlp-btn--ghostdark{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); box-shadow:none; }
.mlp-btn--ghostdark:hover{ background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }

.mlp-hot{ display:flex; flex-direction:column; }
.mlp-hot span{ font-size:11px; color:var(--mlp-ondark2); letter-spacing:.06em; text-transform:uppercase; }
.mlp-hot a{ font-weight:700; font-size:19px; color:var(--mlp-neon); text-decoration:none; }
.mlp-light .mlp-hot span{ color:var(--mlp-fg3); }
.mlp-light .mlp-hot a{ color:var(--madin-green-deep); }

/* ---------- section shells ---------- */
.mlp-hero-copy h1{
	font-weight:800; font-size:clamp(2.1rem, 4.2vw, 3.4rem); line-height:1.05;
	letter-spacing:-.02em; margin:18px 0 16px; text-wrap:balance;
}
.mlp-dark.mlp-hero-copy h1, .mlp-dark .mlp-hero-copy h1{ color:#fff; }
.mlp-light.mlp-hero-copy h1, .mlp-light .mlp-hero-copy h1{ color:var(--madin-moss); }
.mlp-hero-copy h1 em{ font-style:normal; }
.mlp-dark.mlp-hero-copy h1 em, .mlp-dark .mlp-hero-copy h1 em{ color:var(--mlp-neon); }
.mlp-light.mlp-hero-copy h1 em, .mlp-light .mlp-hero-copy h1 em{ color:var(--madin-green-deep); }
.mlp-lead{ font-size:17px; line-height:1.65; max-width:540px; }
.mlp-dark .mlp-lead{ color:var(--mlp-ondark); }
.mlp-light .mlp-lead{ color:var(--mlp-fg2); }
.mlp-ctas{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; align-items:center; }

.mlp-stats{ display:flex; gap:36px; margin-top:36px; flex-wrap:wrap; }
.mlp-stats div b{ font-weight:800; font-size:34px; color:#fff; display:block; line-height:1; }
.mlp-stats div b i{ font-style:normal; font-size:17px; color:var(--mlp-neon); }
.mlp-stats div span{ font-size:12px; color:var(--mlp-ondark2); }

.mlp-trust{ display:flex; gap:8px; flex-wrap:wrap; margin-top:24px; }
.mlp-trust span, .mlp-cert{
	font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
	border:1.5px solid var(--madin-green); color:var(--madin-green-deep);
	padding:5px 12px; border-radius:999px; white-space:nowrap;
}
.mlp-certrow{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; padding:22px 0; }

.mlp-heroCard{
	background:#0F4D3C; border:1px solid rgba(255,255,255,.12); border-radius:var(--mlp-r-xl);
	padding:30px; position:relative; overflow:hidden;
}
.mlp-heroCard::after{
	content:''; position:absolute; right:0; top:0; bottom:0; width:110px;
	background:var(--madin-green); clip-path:polygon(44px 0,100% 0,100% 100%,0 100%); opacity:.9;
}
.mlp-heroCard img{ height:200px; width:auto; margin:0 auto 8px; filter:drop-shadow(0 18px 26px rgba(0,0,0,.4)); position:relative; z-index:1; }
.mlp-heroCard .tag{ position:relative; z-index:1; text-align:center; font-weight:600; font-size:12.5px; color:var(--mlp-ondark); }
.mlp-heroCard .big{ position:relative; z-index:1; text-align:center; font-weight:800; font-size:24px; color:#fff; margin-top:4px; }

.mlp-h2{ font-weight:800; font-size:clamp(1.6rem, 2.8vw, 2.35rem); letter-spacing:-.02em; margin:12px 0 10px; text-wrap:balance; color:var(--madin-moss); }
.mlp-dark .mlp-h2{ color:#fff; }
.mlp-sub{ font-size:15.5px; color:var(--mlp-fg2); line-height:1.6; max-width:640px; }

.mlp-three{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.mlp-fcard{
	background:#fff; border:1px solid var(--mlp-line); border-radius:var(--mlp-r-lg); padding:26px;
	transition:transform 260ms var(--madin-ease), box-shadow 260ms var(--madin-ease);
}
.mlp-fcard:hover{ transform:translateY(-3px); box-shadow:var(--mlp-shadow-md); }
.mlp-fcard .ic{
	width:44px; height:44px; border-radius:12px; background:var(--mlp-tint);
	color:var(--madin-green-deep); display:grid; place-items:center; margin-bottom:16px;
}
.mlp-fcard .ic svg{ width:22px; height:22px; }
.mlp-fcard h3{ font-weight:700; font-size:18px; margin-bottom:8px; color:var(--madin-moss); }
.mlp-fcard p{ font-size:14px; line-height:1.6; color:var(--mlp-fg2); }

.mlp-specTable{ margin-top:32px; background:#fff; border:1px solid var(--mlp-line); border-radius:var(--mlp-r-lg); overflow:hidden; }
.mlp-specTable .scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.mlp-specTable table{ width:100%; min-width:520px; border-collapse:collapse; font-size:14px; }
.mlp-specTable th{
	font-weight:600; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--mlp-fg3);
	text-align:left; padding:13px 20px; background:var(--mlp-subtle); border-bottom:1px solid var(--mlp-line);
}
.mlp-specTable td{ padding:13px 20px; border-bottom:1px solid var(--mlp-line); color:var(--mlp-fg2); }
.mlp-specTable tr:last-child td{ border-bottom:none; }
.mlp-specTable td b{ color:var(--madin-moss); }
.mlp-specnote{ font-size:12.5px; color:var(--mlp-fg3); margin-top:12px; }

.mlp-packs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.mlp-packs--5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.mlp-pack{
	border:1.5px solid var(--mlp-line); border-radius:var(--mlp-r-lg); padding:26px;
	position:relative; overflow:hidden; background:#fff;
}
.mlp-pack.hl{ border-color:var(--madin-green); box-shadow:var(--mlp-shadow-green); }
.mlp-pack .pop{
	position:absolute; top:14px; right:14px; font-weight:700; font-size:10px; letter-spacing:.08em;
	background:var(--madin-green); color:#fff; border-radius:99px; padding:4px 10px; text-transform:uppercase;
}
.mlp-pack h3{ font-weight:800; font-size:24px; color:var(--madin-moss); }
.mlp-pack i.d{
	font-style:normal; font-weight:600; font-size:12px; letter-spacing:.07em;
	text-transform:uppercase; color:var(--madin-green-deep);
}
.mlp-pack ul{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.mlp-pack li{ font-size:13.5px; color:var(--mlp-fg2); display:flex; gap:8px; align-items:flex-start; line-height:1.5; }
.mlp-pack li svg{ width:16px; height:16px; color:var(--madin-green); flex:none; margin-top:2px; }
.mlp-pack .mlp-btn{ margin-top:18px; width:100%; justify-content:center; padding:12px 0; font-size:14px; }
.mlp-pack > span{ font-size:13px; color:var(--mlp-fg2); display:block; margin-top:4px; }

.mlp-steps{ counter-reset:mlps; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:36px; }
.mlp-step{ position:relative; background:#fff; border:1px solid var(--mlp-line); border-radius:var(--mlp-r-lg); padding:24px 22px 22px; }
.mlp-step::before{
	counter-increment:mlps; content:'0' counter(mlps);
	font-weight:800; font-size:30px; color:var(--madin-green); display:block; margin-bottom:8px;
}
.mlp-step h3{ font-weight:700; font-size:16px; margin-bottom:6px; color:var(--madin-moss); }
.mlp-step p{ font-size:13px; line-height:1.55; color:var(--mlp-fg2); }

.mlp-faq{ max-width:760px; margin:36px auto 0; display:flex; flex-direction:column; gap:10px; }
.mlp-faq details{ background:#fff; border:1px solid var(--mlp-line); border-radius:var(--mlp-r-md); padding:0 20px; }
.mlp-faq summary{
	font-weight:600; font-size:15px; padding:16px 0; cursor:pointer; list-style:none;
	display:flex; justify-content:space-between; align-items:center; gap:14px; color:var(--madin-moss);
}
.mlp-faq summary::-webkit-details-marker{ display:none; }
.mlp-faq summary::after{ content:'+'; font-weight:600; color:var(--madin-green-deep); font-size:20px; }
.mlp-faq details[open] summary::after{ content:'\2013'; }
.mlp-faq details p{ font-size:14px; line-height:1.65; color:var(--mlp-fg2); padding:0 0 16px; }

/* marine cross-sell (OEM page) */
.mlp-aus ul{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:11px; }
.mlp-aus li{ display:flex; gap:11px; font-size:14px; color:#DCEFE3; align-items:flex-start; }
.mlp-aus li svg{ width:18px; height:18px; color:var(--mlp-neon); flex:none; margin-top:1px; }
.mlp-aus .mlp-sub{ color:#B7D6C8; }
.mlp-photo{ border-radius:var(--mlp-r-xl); overflow:hidden; box-shadow:var(--mlp-shadow-lg); position:relative; }
.mlp-photo img{ width:100%; height:380px; object-fit:cover; display:block; }
.mlp-photo .tag{
	position:absolute; left:18px; bottom:18px; background:rgba(9,58,45,.85);
	backdrop-filter:blur(8px); border-radius:12px; padding:12px 16px; font-size:12px; color:#B7D6C8;
}
.mlp-photo .tag b{ display:block; font-size:14px; color:#fff; }

/* final band (OEM) */
.mlp-final-h{ color:#fff; font-weight:800; font-size:clamp(1.5rem, 2.6vw, 2.1rem); letter-spacing:-.02em; max-width:56ch; margin:0; text-wrap:balance; }
.mlp-call{ font-weight:700; font-size:18px; color:#fff; display:inline-flex; gap:9px; align-items:center; text-decoration:none; }
.mlp-call:hover{ color:var(--madin-moss); }

/* ---------- Elementor form, styled as the landing quote card ---------- */
.mlp-formcard, .elementor-element-mlpaform, .elementor-element-mlpoform{
	background:#fff; border-radius:var(--mlp-r-xl); padding:30px; color:var(--madin-moss);
	box-shadow:var(--mlp-shadow-lg);
}
.elementor-element-mlpaform .fhead, .elementor-element-mlpoform .fhead, .mlp-formcard .fhead{ font-weight:700; font-size:19px; margin:0 0 4px; color:var(--madin-moss); }
.elementor-element-mlpaform .fnote, .elementor-element-mlpoform .fnote, .mlp-formcard .fnote{ font-size:12.5px; color:var(--mlp-fg3); margin:0 0 14px; }
.elementor-element-mlpaform .fpriv, .elementor-element-mlpoform .fpriv, .mlp-formcard .fpriv{ font-size:11px; color:var(--mlp-fg3); margin-top:10px; text-align:center; }
.elementor-element-mlpaform .elementor-field-group, .elementor-element-mlpoform .elementor-field-group, .mlp-formcard .elementor-field-group{ margin-bottom:2px; }
.elementor-element-mlpaform .elementor-field-label, .elementor-element-mlpoform .elementor-field-label, .mlp-formcard .elementor-field-label{
	font-weight:600 !important; font-size:11px !important; letter-spacing:.08em; text-transform:uppercase;
	color:var(--mlp-fg3) !important; font-family:inherit !important;
}
.elementor-element-mlpaform .elementor-field-textual, .elementor-element-mlpoform .elementor-field-textual,
.mlp-formcard .elementor-field-textual{
	font-size:14px; padding:11px 14px; border:1.5px solid var(--mlp-line) !important;
	border-radius:var(--mlp-r-md); background:#fff; color:var(--madin-moss);
}
.elementor-element-mlpaform .elementor-field-textual:focus, .elementor-element-mlpoform .elementor-field-textual:focus, .mlp-formcard .elementor-field-textual:focus{
	outline:none; border-color:var(--madin-green) !important; box-shadow:0 0 0 3px rgba(0,195,72,.18);
}
.elementor-element-mlpaform .elementor-button, .elementor-element-mlpoform .elementor-button, .mlp-formcard .elementor-button{
	width:100%; justify-content:center; border-radius:999px !important;
	background:var(--madin-green) !important; color:#fff !important;
	font-weight:600; font-size:15px; padding:14px 0; box-shadow:var(--mlp-shadow-green);
}
.elementor-element-mlpaform .elementor-button:hover, .elementor-element-mlpoform .elementor-button:hover, .mlp-formcard .elementor-button:hover{ background:var(--madin-green-deep) !important; }

/* OTT contact row - same channels as the site header */
.mlp-ott{ display:inline-flex; gap:10px; align-items:center; flex-wrap:wrap; }
.mlp-ott a{
	width:44px; height:44px; border-radius:50%; background:#fff;
	display:grid; place-items:center; box-shadow:var(--mlp-shadow-md);
	transition:transform 260ms var(--madin-ease);
}
.mlp-ott a:hover{ transform:translateY(-3px); }
.mlp-ott img{ width:24px; height:24px; display:block; }

/* ---------- About page (mlpb*) ---------- */
.mlp-tagline{ display:block; font-style:italic; font-weight:700; font-size:20px; color:#00A53C; margin:6px 0 18px; }
.mlp-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:36px; }
.mlp-four{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:36px; }
.mlp-five{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin-top:36px; }
.mlp-vcard{ background:#fff; border:1px solid var(--mlp-line); border-radius:18px; padding:28px 30px; }
.mlp-vcard .num{ font-weight:800; font-size:15px; color:#00A53C; letter-spacing:.14em; }
.mlp-vcard h3{ font-weight:800; font-size:20px; color:var(--madin-moss); margin:8px 0 10px; letter-spacing:.06em; }
.mlp-vcard p{ font-size:15.5px; line-height:1.7; color:var(--mlp-fg2); }
.mlp-quote{ background:#fff; border:1px solid var(--mlp-line); border-left:4px solid #00A53C; border-radius:18px; padding:30px 34px; margin-top:18px; }
.mlp-quote .lbl{ font-weight:700; font-size:12px; letter-spacing:.16em; color:#00A53C; text-transform:uppercase; }
.mlp-quote p{ font-size:17px; line-height:1.75; color:var(--madin-moss); margin-top:10px; max-width:70ch; }
.mlp-mini{ background:#fff; border:1px solid var(--mlp-line); border-radius:14px; padding:18px 18px; }
.mlp-mini h3{ font-weight:700; font-size:15.5px; color:var(--madin-moss); margin-bottom:6px; }
.mlp-mini p{ font-size:13.5px; line-height:1.55; color:var(--mlp-fg2); }
.mlp-facility p.desc{ font-size:14.5px; line-height:1.65; color:var(--mlp-fg2); margin-top:14px; }
.mlp-certgrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.mlp-certcard{ background:#fff; border:1px solid var(--mlp-line); border-radius:18px; padding:22px; text-align:center; }
.mlp-certcard img{ width:100%; height:230px; object-fit:contain; display:block; margin-bottom:14px; }
.mlp-certcard h3{ font-weight:800; font-size:17px; color:var(--madin-moss); margin-bottom:6px; }
.mlp-certcard p{ font-size:13.5px; line-height:1.55; color:var(--mlp-fg2); }
.elementor-element-mlpbhero{
	background:linear-gradient(180deg,#F6F8F5,#fff);
	border-bottom:1px solid var(--mlp-line);
}
.elementor-element-mlpbcta{ position:relative; z-index:0; background-color:var(--madin-moss); }
.elementor-element-mlpbcta::before{
	content:''; position:absolute; inset:0; z-index:-1;
	background-color:var(--madin-moss);
	background-image:url('/wp-content/uploads/2026/02/paternDark.svg');
	background-size:cover; background-position:center;
}
.elementor-element-mlpbvis, .elementor-element-mlpbrnd, .elementor-element-mlpbper{ background-color:var(--mlp-subtle); }
.elementor-element-mlpbcert{ background:#fff; border-bottom:1px solid var(--mlp-line); }
.elementor-element-mlpbhero, .elementor-element-mlpbcta{
	/* padding-left/right first, so a browser without padding-inline still gets the gutter */
	padding-left:max(28px, calc((100% - 1200px) / 2));
	padding-right:max(28px, calc((100% - 1200px) / 2));
	padding-inline:max(28px, calc((100% - 1200px) / 2));
}
@media (max-width:960px){
	.mlp-two, .mlp-four, .mlp-certgrid{ grid-template-columns:1fr 1fr; }
	.mlp-five{ grid-template-columns:1fr 1fr; }
	.elementor-element.elementor-element-mlpbhero > .elementor-element,
	.elementor-element.elementor-element-mlpbcta > .elementor-element{ width:100% !important; max-width:100% !important; }
}
@media (max-width:620px){
	.mlp-two, .mlp-four, .mlp-five, .mlp-certgrid{ grid-template-columns:1fr; }
}


.mlp-stats--light div b{ color:var(--madin-moss); }
.mlp-stats--light div b i{ color:#00A53C; }
.mlp-stats--light div span{ color:#6b7f74; }

/* ---------- per-section shells (ids are stable) ---------- */

/* the white submit button is now the only accent in the band - keep it, tighten it */
[data-elementor-type="footer"] > .e-con:first-child .elementor-button{
	background-color:#fff !important;
	color:var(--madin-moss) !important;
}
[data-elementor-type="footer"] > .e-con:first-child .elementor-button:hover{
	background-color:var(--madin-green) !important;
	color:var(--madin-moss) !important;
}


/* clean closing bands */
.elementor-element-mlpofin, .elementor-element-mlpacta{
	background-color:#fff !important;
	background-image:none !important;
	border-top:1px solid var(--mlp-line);
}
.elementor-element-mlpofin::before, .elementor-element-mlpacta::before{ content:none !important; }
.elementor-element-mlpofin .mlp-final-h,
.elementor-element-mlpacta .mlp-h2,
.elementor-element-mlpacta .mlp-dark .mlp-h2{ color:var(--madin-moss) !important; }
.elementor-element-mlpofin p,
.elementor-element-mlpacta p,
.elementor-element-mlpacta .mlp-lead,
.elementor-element-mlpacta .mlp-dark .mlp-lead{ color:#41584d !important; }
.elementor-element-mlpofin .mlp-eyebrow,
.elementor-element-mlpacta .mlp-eyebrow{ color:#00A53C !important; }
/* the white "ghost" button has no ground to sit on any more - promote it to the primary button */
.elementor-element-mlpofin .mlp-btn--white{
	background:var(--madin-green) !important; color:#fff !important; border-color:transparent !important;
}
.elementor-element-mlpofin .mlp-call,
.elementor-element-mlpacta .mlp-hot a{ color:var(--madin-moss) !important; }
.elementor-element-mlpofin .mlp-hot span,
.elementor-element-mlpacta .mlp-hot span{ color:#6b7f74 !important; }
/* white OTT chips need an edge once the dark ground is gone */
.elementor-element-mlpofin .mlp-ott a,
.elementor-element-mlpacta .mlp-ott a{ border:1px solid var(--mlp-line); }


/* about accents */
#brand, #misstion, #company, #rnd, #cer{ scroll-margin-top:110px; }
.mlp-h2{ position:relative; padding-bottom:14px; }
.mlp-h2::after{
	content:''; position:absolute; left:0; bottom:0; width:44px; height:3px;
	border-radius:2px; background:linear-gradient(90deg, #00C348, #00A53C);
}
.mlp-vcard{ border-top:3px solid transparent; transition:border-color .25s, transform .25s, box-shadow .25s; }
.mlp-vcard:hover{ border-top-color:var(--madin-green); transform:translateY(-3px); box-shadow:0 14px 30px rgba(9,58,45,.08); }
.mlp-mini{ transition:border-color .25s, transform .25s, box-shadow .25s; }
.mlp-mini:hover{ border-color:var(--madin-green); transform:translateY(-2px); box-shadow:0 10px 22px rgba(9,58,45,.07); }
.mlp-certcard{ transition:transform .25s, box-shadow .25s; }
.mlp-certcard:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(9,58,45,.08); }
.mlp-eyebrow::before{
	content:''; display:inline-block; width:18px; height:2px; border-radius:1px;
	background:#00A53C; vertical-align:middle; margin-right:8px;
}
.mlp-stats--light div{ padding-left:14px; border-left:3px solid var(--madin-green); }


/* ---------- documents page (MSDS / TDS / test reports) ----------
   Same shell as the brand-story hero so the two pages read as one design: light gradient band,
   hairline rule, water-vein overlay, and the 1200px gutter every other section uses. */
.elementor-element-mdocshero,
.elementor-element-mcoahero{
	background:linear-gradient(180deg,#F6F8F5,#fff);
	border-bottom:1px solid var(--mlp-line);
	position:relative;
}
.elementor-element-mdocshero::after,
.elementor-element-mcoahero::after{
	content:''; position:absolute; top:0; right:0; bottom:0; left:0; inset:0; pointer-events:none;
	background-image:url('/wp-content/uploads/2026/02/paternDark.svg');
	background-size:cover; background-position:center right;
	opacity:.05;
	-webkit-mask-image:linear-gradient(90deg, transparent 52%, #000 100%);
	mask-image:linear-gradient(90deg, transparent 52%, #000 100%);
}
.elementor-element-mdocshero, .elementor-element-mdocsbody,
.elementor-element-mcoahero, .elementor-element-mcoabody{
	padding-left:max(28px, calc((100% - 1200px) / 2));
	padding-right:max(28px, calc((100% - 1200px) / 2));
	padding-inline:max(28px, calc((100% - 1200px) / 2));
}
.elementor-element-mdocsbody, .elementor-element-mcoabody{ padding-top:26px; padding-bottom:72px; }

/* ---------- mobile menu (off-canvas): collapsible submenus ----------
   Every header template renders the off-canvas menu as a vertical nav-menu widget whose
   submenu_icon is empty, so Elementor prints no toggle and leaves each ul.sub-menu at
   display:none - on a phone the children of Madin, AdBlue® and Products were unreachable.
   The footer script injects a toggle per group; these rules give it collapsed and open states.
   Showing every child at once was tried first and read as a wall of links. */
.e-off-canvas .elementor-nav-menu--layout-vertical > ul > li{ position:relative; }

/* Collapsed by default. A max-height transition was tried first and something in the stack kept
   forcing max-height back to 0, so the state is carried by display with !important on both sides -
   the open rule is the more specific of the two, so it wins. */
.e-off-canvas .elementor-nav-menu--layout-vertical ul.sub-menu{
	display:none !important;
}
.e-off-canvas .elementor-nav-menu--layout-vertical > ul > li.madin-open > ul.sub-menu{
	/* Out of Elementor's absolutely-positioned dropdown and into the panel flow. */
	display:block !important;
	position:static !important;
	visibility:visible !important;
	opacity:1 !important;
	width:100% !important;
	min-width:0 !important;
	max-height:none !important;
	overflow:visible !important;
	background:transparent !important;
	box-shadow:none !important;
	border:0 !important;
	border-left:2px solid var(--mlp-line, #E3E8E4) !important;
	border-radius:0 !important;
	transform:none !important;
	margin:2px 0 8px 6px !important;
	padding:0 !important;
	animation:madinSubIn .18s ease both;
}
@keyframes madinSubIn{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
	.e-off-canvas .elementor-nav-menu--layout-vertical > ul > li.madin-open > ul.sub-menu{ animation:none; }
}

.e-off-canvas .elementor-nav-menu--layout-vertical > ul > li > a{
	font-weight:700 !important;
	padding-top:9px !important;
	padding-bottom:9px !important;
}
/* Keep the label clear of the toggle. */
.e-off-canvas .elementor-nav-menu--layout-vertical > ul > li.madin-has-sub > a{
	padding-right:52px !important;
}
.e-off-canvas .elementor-nav-menu--layout-vertical ul.sub-menu > li > a{
	display:flex !important;
	align-items:center;
	min-height:40px;
	padding:7px 14px !important;
	font-size:14.5px !important;
	font-weight:500 !important;
	line-height:1.35 !important;
	opacity:.92;
}
.e-off-canvas .elementor-nav-menu--layout-vertical > ul > li + li{
	border-top:1px solid var(--mlp-line, #E3E8E4);
}
.e-off-canvas .elementor-nav-menu--layout-vertical .sub-arrow{ display:none !important; }

/* The injected toggle: a 46px square at the right of the group row, so tapping the label still
   opens that page and tapping the chevron opens the group. */
.madin-subtoggle{
	position:absolute;
	top:0;
	right:0;
	width:46px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	margin:0;
	background:none;
	border:0;
	color:var(--madin-moss, #093A2D);
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
}
.madin-subtoggle svg{ width:15px; height:15px; transition:transform .2s ease; }
.madin-subtoggle[aria-expanded="true"] svg{ transform:rotate(180deg); }
.madin-subtoggle:focus-visible{ outline:2px solid var(--madin-green, #00C348); outline-offset:-2px; border-radius:8px; }

/* water veins */
.elementor-element-mlpbhero, .elementor-element-mlpbvis, .elementor-element-mlpbrnd{ position:relative; }
.elementor-element-mlpbhero::after, .elementor-element-mlpbvis::after, .elementor-element-mlpbrnd::after{
	content:''; position:absolute; top:0; right:0; bottom:0; left:0; inset:0; pointer-events:none;
	background-image:url('/wp-content/uploads/2026/02/paternDark.svg');
	background-size:cover; background-position:center right;
	opacity:.05;
	-webkit-mask-image:linear-gradient(90deg, transparent 52%, #000 100%);
	mask-image:linear-gradient(90deg, transparent 52%, #000 100%);
}

.elementor-element-mlpahero{
	background-color:var(--madin-moss);
	background-image:url('/wp-content/uploads/2026/02/paternDark.svg');
	background-size:cover;
	background-position:center;
}
.elementor-element-mlpacta, .elementor-element-mlpoaus, .elementor-element-mlpofin{
	position:relative; z-index:0; background-color:var(--madin-moss);
}
.elementor-element-mlpacta::before, .elementor-element-mlpoaus::before, .elementor-element-mlpofin::before{
	content:''; position:absolute; inset:0; z-index:-1;
	background-color:var(--madin-moss);
	background-image:url('/wp-content/uploads/2026/02/paternDark.svg');
	background-size:cover; background-position:center;
}
.elementor-element-mlpofin{ background-color:var(--madin-green); }
.elementor-element-mlpofin::before{ background-color:var(--madin-green); background-image:url('/wp-content/uploads/2026/02/paternPri.svg'); }
.elementor-element-mlpohero{ background:linear-gradient(180deg,#F6F8F5,#fff); border-bottom:1px solid var(--mlp-line); }
.elementor-element-mlpaspec, .elementor-element-mlpofill{ background-color:var(--mlp-subtle); }
.elementor-element-mlpacert{ border-bottom:1px solid var(--mlp-line); background:#fff; }

.elementor-element-mlpahero, .elementor-element-mlpohero,
.elementor-element-mlpacta, .elementor-element-mlpoaus, .elementor-element-mlpofin{
	/* padding-left/right first, so a browser without padding-inline still gets the gutter */
	padding-left:max(28px, calc((100% - 1200px) / 2));
	padding-right:max(28px, calc((100% - 1200px) / 2));
	padding-inline:max(28px, calc((100% - 1200px) / 2));
}
@media (max-width:960px){
	/* two-column landing sections stack: children take the full row, killing the 56%/40% split */
	.elementor-element.elementor-element-mlpahero > .elementor-element,
	.elementor-element.elementor-element-mlpohero > .elementor-element,
	.elementor-element.elementor-element-mlpacta > .elementor-element,
	.elementor-element.elementor-element-mlpoaus > .elementor-element{
		width:100% !important;
		max-width:100% !important;
	}
}
@media (max-width:960px){
	.elementor-element-mlpahero, .elementor-element-mlpohero,
	.elementor-element-mlpacta, .elementor-element-mlpoaus{ --flex-direction:column; }
	.mlp-three, .mlp-packs, .mlp-packs--5, .mlp-steps{ grid-template-columns:1fr 1fr; }
	.mlp-photo img{ height:280px; }
}
@media (max-width:620px){
	.mlp-three, .mlp-packs, .mlp-packs--5, .mlp-steps{ grid-template-columns:1fr; }
	.mlp-stats{ gap:22px; }
}
@media (prefers-reduced-motion: reduce){
	.mlp-btn, .mlp-fcard, .mlp-pack{ transition:none; }
	.mlp-btn:hover, .mlp-fcard:hover{ transform:none; }
}
