/*
Theme Name:   Moggies.in
Description:  Child theme of GeneratePress for moggies.in. Colours, fonts and layout for the site go here; behaviour goes in the moggies-in-site must-use plugin.
Author:       Moggies International
Template:     generatepress
Version:      0.10.1
Text Domain:  moggies-in
*/

/* Brand colours: the blue-teal of the Moggies.in Tracker, so the service
   site looks related to moggiesinternational.com but clearly its own. */
:root {
	--mi-accent: #155e75;
	--mi-accent-soft: #dcedf2;
	--mi-ink: #14232a;
	--mi-muted: #566a72;
	--mi-line: #d3dee2;
}

/* Logo lockup (functions.php): mark on a light plate + live-text name. */
.moggies-lockup {
	margin: 0;
	line-height: 1.15;
}

.moggies-lockup a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--mi-ink);
	text-decoration: none;
}

.moggies-lockup__plate {
	display: inline-flex;
	flex: none;
	padding: 5px 7px;
	background: #ffffff;
	border: 1px solid var(--mi-line);
	border-radius: 10px;
}

.moggies-lockup__plate img {
	display: block;
	width: 44px;
	height: auto;
}

.moggies-lockup__text {
	display: flex;
	flex-direction: column;
}

.moggies-lockup__name {
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--mi-accent);
}

.moggies-lockup__by {
	font-size: 12.5px;
	font-weight: 500;
	color: var(--mi-muted);
}

@media (max-width: 480px) {
	.moggies-lockup a {
		gap: 9px;
	}

	.moggies-lockup__plate img {
		width: 36px;
	}

	.moggies-lockup__name {
		font-size: 17px;
	}

	.moggies-lockup__by {
		font-size: 11.5px;
	}
}

/* Home page (front-page.php). */
.moggies-home .site-main {
	margin: 0;
}

.moggies-home section {
	margin-bottom: 20px;
	padding: 40px;
	background: #ffffff;
	border-radius: 14px;
}

.moggies-home h1,
.moggies-home h2,
.moggies-home h3 {
	color: var(--mi-ink);
}

.moggies-home h1 {
	max-width: 22ch;
	margin-bottom: 16px;
	font-size: clamp(30px, 4.6vw, 46px);
	font-weight: 700;
	line-height: 1.12;
}

.moggies-home h2 {
	margin-bottom: 8px;
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 700;
}

.moggies-home h3 {
	margin-bottom: 6px;
	font-size: 18px;
	font-weight: 700;
}

.moggies-home p {
	margin-bottom: 0;
}

.mh-hero {
	background: linear-gradient(135deg, #ffffff 55%, var(--mi-accent-soft)) !important;
}

/* Home hero: text on the left, the ship-and-cargo-plane image on the right;
   the image goes under the text on narrow screens. */
.mh-hero--media {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 36px;
	align-items: center;
}

.mh-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 520px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
}

@media (max-width: 860px) {
	.mh-hero--media {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.mh-hero__img {
		height: auto;
		aspect-ratio: 16 / 10;
	}
}

/* Header menu: darker and a little bolder than GeneratePress's default. */
.main-navigation .main-nav ul li a {
	font-weight: 600;
	color: var(--mi-ink);
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--mi-accent);
}

.mh-eyebrow {
	margin-bottom: 10px !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mi-accent);
}

.mh-lead {
	max-width: 60ch;
	font-size: 18px;
	color: var(--mi-muted);
}

.mh-offer {
	margin-top: 14px;
	font-weight: 700;
	color: var(--mi-ink);
}

.mh-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.mh-btn {
	display: inline-block;
	padding: 12px 20px;
	border: 1px solid var(--mi-accent);
	border-radius: 999px;
	font-weight: 600;
	color: var(--mi-accent);
	text-decoration: none;
}

.mh-btn:hover,
.mh-btn:focus-visible {
	background: var(--mi-accent-soft);
	color: var(--mi-accent);
}

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

.mh-btn--primary:hover,
.mh-btn--primary:focus-visible {
	background: #0f4a5d;
	color: #ffffff;
}

.mh-proof {
	padding: 24px 40px !important;
	background: var(--mi-accent) !important;
	color: #ffffff;
}

.mh-proof ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 16px 28px;
	margin: 0;
	list-style: none;
}

.mh-proof li {
	font-size: 14px;
	line-height: 1.35;
}

.mh-proof strong {
	display: block;
	font-size: 17px;
}

.mh-proof h2 {
	color: #ffffff !important;
}

.mh-proof__intro {
	margin-bottom: 18px !important;
	opacity: 0.9;
}

.mh-trust {
	margin-top: 18px !important;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 15px;
}

.mh-intro {
	max-width: 62ch;
	margin-bottom: 22px !important;
	color: var(--mi-muted);
}

.mh-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 16px;
	margin: 0;
	list-style: none;
}

.mh-card {
	padding: 22px;
	border: 1px solid var(--mi-line);
	border-top: 4px solid var(--mi-accent);
	border-radius: 10px;
}

.mh-card p,
.mh-steps p {
	font-size: 15px;
	color: var(--mi-muted);
}

.mh-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin: 18px 0 0;
	list-style: none;
	counter-reset: mh-step;
}

.mh-steps li {
	counter-increment: mh-step;
}

.mh-steps li::before {
	content: counter(mh-step);
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin-bottom: 10px;
	border-radius: 50%;
	background: var(--mi-accent-soft);
	font-weight: 700;
	color: var(--mi-accent);
}

.mh-cta {
	text-align: center;
}

.mh-cta .mh-actions {
	justify-content: center;
}

.mh-address {
	margin-top: 18px !important;
	font-size: 14px;
	color: var(--mi-muted);
}

@media (max-width: 600px) {
	.moggies-home section {
		padding: 26px 20px;
	}

	.mh-proof {
		padding: 22px 20px !important;
	}

	.mh-btn {
		width: 100%;
		text-align: center;
	}
}

/* Service card photo (or icon panel) across the top of the card, with the
   icon badge overlapping its lower edge. */
.mh-card {
	--mi-card-pad: 22px;
	overflow: hidden;
	padding: var(--mi-card-pad);
	border-top: 1px solid var(--mi-line);
}

.mh-card__media {
	display: block;
	width: calc(100% + 2 * var(--mi-card-pad));
	max-width: none;
	height: auto;
	margin: calc(-1 * var(--mi-card-pad)) calc(-1 * var(--mi-card-pad)) 0;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.mh-card__media--icon {
	display: grid;
	place-items: center;
	margin-bottom: 44px;
	background: linear-gradient(135deg, var(--mi-accent), #0b2530);
	color: #ffd08a;
}

.mh-card__media--icon .mi-icon {
	width: 72px;
	height: 72px;
	stroke-width: 1.2;
}

.mh-card__media + .mh-card__icon {
	position: relative;
	margin-top: -26px;
	border: 3px solid #ffffff;
}

.mh-card__media--icon + .mh-card__icon {
	display: none;
}

/* Service cards link to their pages. */
.mh-card h3 a {
	color: var(--mi-ink);
	text-decoration: none;
}

.mh-card h3 a:hover,
.mh-card h3 a:focus-visible {
	color: var(--mi-accent);
	text-decoration: underline;
}

.mh-card h3 a::after {
	content: " →";
	color: var(--mi-accent);
}

.mh-more {
	margin-top: 18px !important;
	font-weight: 600;
}

.mh-more a,
.mh-eyebrow a,
.ms-others a {
	color: var(--mi-accent);
}

/* Service pages (template-service.php). */
.ms-columns {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 20px;
}

.ms-columns .mh-section {
	margin-bottom: 20px;
}

.ms-list {
	margin: 14px 0 0 1.2em;
}

.ms-list li {
	margin-bottom: 8px;
}

.ms-list--plain li::marker {
	color: var(--mi-accent);
}

.ms-note {
	margin-top: 16px !important;
	font-size: 14px;
	color: var(--mi-muted);
}

.ms-faq {
	margin-top: 10px;
}

.ms-faq details {
	padding: 14px 0;
	border-bottom: 1px solid var(--mi-line);
}

.ms-faq summary {
	font-weight: 700;
	color: var(--mi-ink);
	cursor: pointer;
}

.ms-faq details p {
	margin-top: 8px;
	color: var(--mi-muted);
}

.ms-others {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 10px 0 0;
	list-style: none;
}

.ms-others a {
	font-weight: 600;
}

.site-info a {
	color: var(--mi-accent);
}

@media (max-width: 800px) {
	.ms-columns {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

.mh-address a {
	color: var(--mi-accent);
}

/* Contact page (template-contact.php). */
.mc-columns {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 20px;
	align-items: start;
}

.mc-columns .mh-section {
	margin-bottom: 20px;
}

.mc-required-note {
	margin: 4px 0 18px !important;
	font-size: 14px;
	color: var(--mi-muted);
}

.mc-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
}

.mc-form > p {
	margin: 0 0 16px;
}

.mc-field--product,
.mc-field--service,
.mc-field--message,
.mc-privacy,
.mc-form > p:last-child {
	grid-column: 1 / -1;
}

.mc-field label {
	display: block;
	margin-bottom: 5px;
	font-size: 15px;
	font-weight: 600;
	color: var(--mi-ink);
}

.mc-field input,
.mc-field select,
.mc-field textarea {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--mi-line);
	border-radius: 8px;
	background: #ffffff;
	font-size: 16px;
	color: var(--mi-ink);
}

.mc-field input:focus,
.mc-field select:focus,
.mc-field textarea:focus {
	border-color: var(--mi-accent);
	outline: 2px solid var(--mi-accent-soft);
}

.mc-privacy {
	font-size: 14px;
	color: var(--mi-muted);
}

.mc-form button.mh-btn {
	border: 0;
	cursor: pointer;
	font-size: 16px;
}

/* Honeypot: off screen for people, still in the form for bots. */
.mc-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mc-notice {
	margin-bottom: 18px;
	padding: 16px 18px;
	border-radius: 10px;
}

.mc-notice--ok {
	background: #e3f3ea;
	color: #14532d;
}

.mc-notice--ok h2 {
	color: #14532d !important;
}

.mc-notice--error {
	background: #fdecea;
	color: #8a1c12;
	font-weight: 600;
}

.mc-direct .mh-actions {
	flex-direction: column;
	align-items: stretch;
	margin-top: 14px;
}

.mc-direct .mh-btn {
	text-align: center;
}

.mc-direct h3 {
	margin-top: 22px;
}

.mc-direct p {
	color: var(--mi-muted);
}

.mc-offer {
	margin-top: 18px !important;
	font-weight: 700;
	color: var(--mi-ink) !important;
}

@media (max-width: 800px) {
	.mc-columns,
	.mc-form {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

/* FAQ page (template-faq.php). */
.mf-item {
	padding: 22px 0;
	border-bottom: 1px solid var(--mi-line);
}

.mf-item:first-child {
	padding-top: 0;
}

.mf-item:last-child {
	border-bottom: 0;
}

.moggies-home .mf-item h2 {
	font-size: clamp(19px, 2.2vw, 22px);
	line-height: 1.3;
}

.mf-item p + p {
	margin-top: 10px !important;
}

.mf-item p:not(.mf-related) {
	max-width: 70ch;
}

.mf-related {
	margin-top: 12px !important;
	font-size: 14px;
	color: var(--mi-muted);
}

.mf-related a {
	color: var(--mi-accent);
	font-weight: 600;
}

/* Home page redesign (front-page.php, preview of 1 Nov 2026): full-width
   bands, each padded to a 1152px reading width. Scoped to .mh2 so the
   other pages keep their look. */
.mh2 {
	--mi-navy: #0b2530;
	--mi-amber: #f5a524;
	--mi-tint: #f3f8fa;
}

.mh2 .site-main {
	margin: 0;
}

/* GeneratePress spaces the blocks of a page 20px apart; the bands touch. */
.mh2 .site-main > * {
	margin-bottom: 0;
}

.mh2 .site-main > section,
.mh2 .site-main > div > section {
	margin: 0;
	padding: 88px max(24px, calc((100% - 1152px) / 2));
	background: #ffffff;
}

.mh2 h1,
.mh2 h2,
.mh2 h3 {
	color: var(--mi-ink);
}

.mh2 h2 {
	max-width: 24ch;
	margin-bottom: 12px;
	font-size: clamp(28px, 3.4vw, 40px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.mh2 h3 {
	margin-bottom: 8px;
	font-size: 19px;
	font-weight: 700;
}

.mh2 p {
	margin-bottom: 0;
}

.mh2 .mh-intro {
	margin-bottom: 36px !important;
	font-size: 17px;
}

.mh2-kicker {
	margin-bottom: 10px !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mi-accent);
}

.mi-icon {
	display: block;
	width: 24px;
	height: 24px;
}

/* Hero: dark band, ship picture on the right fading into the dark. */
.mh2 .site-main > .mh2-hero {
	position: relative;
	overflow: hidden;
	padding-top: 110px;
	padding-bottom: 150px;
	background: var(--mi-navy);
	color: #ffffff;
}

.mh2-hero__img {
	position: absolute;
	top: 0;
	right: 0;
	width: 62%;
	height: 100%;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 40%);
	mask-image: linear-gradient(to right, transparent 0, #000 40%);
}

.mh2-hero__text {
	position: relative;
	max-width: 600px;
}

.mh2-eyebrow {
	display: inline-block;
	margin-bottom: 22px !important;
	padding: 7px 14px;
	border: 1px solid rgba(245, 165, 36, 0.45);
	border-radius: 999px;
	background: rgba(245, 165, 36, 0.12);
	font-size: 13px;
	font-weight: 600;
	color: #ffd08a;
}

.mh2 .mh2-hero h1 {
	margin-bottom: 20px;
	font-size: clamp(34px, 5.2vw, 60px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #ffffff;
}

.mh2-lead {
	max-width: 52ch;
	font-size: 19px;
	line-height: 1.6;
	color: #c9d8de;
}

.mh2 .mh-actions {
	margin-top: 32px;
}

.mh2 .mh-btn {
	padding: 14px 24px;
	font-size: 16px;
	transition: transform 0.15s ease, background 0.15s ease;
}

.mh2 .mh-btn:hover {
	transform: translateY(-1px);
}

.mh2 .mh2-btn--amber {
	border-color: var(--mi-amber);
	background: var(--mi-amber);
	color: var(--mi-navy);
}

.mh2 .mh2-btn--amber:hover,
.mh2 .mh2-btn--amber:focus-visible {
	background: #ffb940;
	color: var(--mi-navy);
}

.mh2 .mh2-btn--ghost {
	border-color: rgba(255, 255, 255, 0.5);
	color: #ffffff;
}

.mh2 .mh2-btn--ghost:hover,
.mh2 .mh2-btn--ghost:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.mh2-offer {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px !important;
	font-weight: 600;
	color: #ffffff;
}

.mh2-offer .mi-icon {
	color: var(--mi-amber);
}

/* Numbers: a white card lifted into the bottom of the hero. */
.mh2 .site-main > .mh2-stats {
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
}

.mh2-stats ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: -70px 0 0;
	padding: 34px 10px;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 20px 50px rgba(11, 37, 48, 0.14);
	list-style: none;
}

.mh2-stats li {
	padding: 0 24px;
	border-left: 1px solid var(--mi-line);
}

.mh2-stats li:first-child {
	border-left: 0;
}

.mh2-stats strong {
	display: block;
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--mi-accent);
}

.mh2-stats span {
	font-size: 14px;
	color: var(--mi-muted);
}

/* Why Moggies: three points with icons. */
.mh2-why__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin: 40px 0 0;
	list-style: none;
}

.mh2-icon,
.mh-card__icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 18px;
	border-radius: 14px;
	background: var(--mi-accent-soft);
	color: var(--mi-accent);
}

.mh2-why p {
	font-size: 16px;
	line-height: 1.65;
	color: var(--mi-muted);
}

/* Services: a dark band in the middle of the page, so dark and light
   alternate from the hero to the closing call; white photo cards that lift
   on hover, and the whole card is the link. */
.mh2 .site-main > .mh2-services {
	background: radial-gradient(circle at 15% 0, #155e75 0, var(--mi-navy) 55%);
}

.mh2-services h2 {
	color: #ffffff !important;
}

.mh2-services .mh2-kicker {
	color: #ffd08a;
}

.mh2-services .mh-intro {
	color: #c9d8de;
}

.mh2 .mh-cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
}

.mh2 .mh-card {
	--mi-card-pad: 28px;
	position: relative;
	flex: 0 1 calc((100% - 48px) / 3);
	min-width: 280px;
	border: 0;
	border-radius: 16px;
	background: #ffffff;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mh2 .mh-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px rgba(0, 0, 0, 0.35);
}

.mh2 .mh-card h3 a::after {
	color: #b26a00;
}

/* Amber touches in the light bands too, so the middle of the page carries
   the hero's colours. */
.mh2-why .mh2-kicker,
.mh2-steps .mh2-kicker {
	color: #b26a00;
}

.mh2-stats ul {
	border-top: 4px solid var(--mi-amber);
}

.mh2-why .mh2-icon {
	background: linear-gradient(135deg, var(--mi-accent), var(--mi-navy));
	color: #ffd08a;
}

.mh2 .mh-card h3 a::before {
	content: "";
	position: absolute;
	inset: 0;
}

/* How it works: numbered circles on a line. */
.mh2-steps .mh-steps {
	position: relative;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	margin-top: 40px;
}

.mh2-steps .mh-steps::before {
	content: "";
	position: absolute;
	top: 26px;
	right: 12%;
	left: 12%;
	height: 2px;
	background: linear-gradient(to right, var(--mi-accent), var(--mi-amber));
	opacity: 0.35;
}

.mh2-steps .mh-steps li {
	position: relative;
	text-align: center;
}

.mh2-steps .mh-steps li::before {
	width: 54px;
	height: 54px;
	margin-bottom: 18px;
	border: 4px solid #ffffff;
	background: var(--mi-accent);
	box-shadow: 0 0 0 1px var(--mi-line);
	font-size: 20px;
	color: #ffffff;
}

.mh2-steps .mh-steps p {
	font-size: 15px;
	line-height: 1.6;
}

/* Questions: tinted band, accordion with plus signs. */
.mh2 .site-main > .mh2-faq > section {
	background: var(--mi-tint);
}

.mh2-faq .ms-faq {
	margin-top: 28px;
	border-top: 1px solid var(--mi-line);
}

.mh2-faq .ms-faq details {
	padding: 20px 4px;
}

.mh2-faq .ms-faq summary {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	font-size: 17px;
	list-style: none;
}

.mh2-faq .ms-faq summary::-webkit-details-marker {
	display: none;
}

.mh2-faq .ms-faq summary::after {
	content: "+";
	flex: none;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: var(--mi-accent);
}

.mh2-faq .ms-faq details[open] summary::after {
	content: "−";
}

.mh2-faq .ms-faq details p {
	max-width: 75ch;
	line-height: 1.65;
}

/* Closing call: dark band to match the hero. */
.mh2 .site-main > .mh2-cta > section {
	background: radial-gradient(circle at 80% 0, #155e75 0, var(--mi-navy) 60%);
	color: #c9d8de;
}

.mh2-cta h2 {
	max-width: none;
	color: #ffffff !important;
}

.mh2-cta p {
	font-size: 18px;
}

.mh2-cta .mh-offer {
	color: #ffd08a;
}

.mh2-cta .mh-btn {
	border-color: rgba(255, 255, 255, 0.5);
	color: #ffffff;
}

.mh2-cta .mh-btn:hover,
.mh2-cta .mh-btn:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.mh2-cta .mh-btn--primary {
	border-color: var(--mi-amber);
	background: var(--mi-amber);
	color: var(--mi-navy);
}

.mh2-cta .mh-btn--primary:hover,
.mh2-cta .mh-btn--primary:focus-visible {
	background: #ffb940;
	color: var(--mi-navy);
}

.mh2-cta .mh-address {
	margin-top: 28px !important;
	color: #9fb4bc;
}

.mh2-cta .mh-address a {
	color: #ffd08a;
}

@media (max-width: 900px) {
	.mh2 .site-main > section,
	.mh2 .site-main > div > section {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.mh2 .site-main > .mh2-hero {
		padding-top: 0;
		padding-bottom: 110px;
	}

	.mh2-hero__img {
		position: relative;
		width: calc(100% + 48px);
		height: auto;
		max-width: none;
		margin: 0 -24px 8px;
		aspect-ratio: 16 / 10;
		-webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
	}

	.mh2-stats ul,
	.mh2-why__list,
	.mh2-steps .mh-steps {
		grid-template-columns: 1fr 1fr;
	}

	.mh2-stats ul {
		gap: 24px 0;
	}

	.mh2-stats li:nth-child(3) {
		border-left: 0;
	}

	.mh2 .mh-card {
		flex-basis: calc((100% - 24px) / 2);
		min-width: 0;
	}

	.mh2-steps .mh-steps::before {
		display: none;
	}
}

@media (max-width: 600px) {
	.mh2-why__list,
	.mh2-steps .mh-steps,
	.mh2 .mh-cards {
		grid-template-columns: 1fr;
	}

	.mh2-steps .mh-steps li {
		text-align: left;
	}

	.mh2-stats li {
		padding: 0 16px;
	}

	.mh2 .mh-card {
		--mi-card-pad: 24px;
		flex-basis: 100%;
	}
}

/* Inner pages in the home page's look (1 Nov 2026): page hero
   (parts/page-hero.php), tick lists, panels, and the bands of /services/,
   a service page, /faq/ and /contact/. */
.mh2 .site-main > .mh2-hero--page {
	padding-top: 96px;
	padding-bottom: 96px;
}

.mh2 .site-main > .mh2-hero--plain,
.mh2 .site-main > .mh2-hero--icon {
	background: radial-gradient(circle at 85% 20%, #155e75 0, var(--mi-navy) 60%);
}

.mh2-hero--plain .mh2-hero__text {
	max-width: 760px;
}

.mh2-hero__icon {
	position: absolute;
	top: 50%;
	right: max(24px, calc((100% - 1152px) / 2));
	display: grid;
	place-items: center;
	width: 240px;
	height: 240px;
	border: 1px solid rgba(255, 208, 138, 0.35);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.04);
	color: #ffd08a;
	transform: translateY(-50%);
}

.mh2-hero__icon .mi-icon {
	width: 110px;
	height: 110px;
	stroke-width: 1.1;
}

.mh2-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.mh2-eyebrow a:hover,
.mh2-eyebrow a:focus-visible {
	text-decoration: underline;
}

.mh2 h2 + .mh2-ticks,
.mh2 h2 + .ms-list {
	margin-top: 22px;
}

.mh2-ticks {
	margin: 0;
	list-style: none;
}

.mh2-ticks li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 14px;
	font-size: 17px;
	line-height: 1.5;
}

.mh2-ticks .mi-icon {
	flex: none;
	margin-top: 1px;
	color: var(--mi-accent);
}

.mh2-who .mh2-ticks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 32px;
}

.mh2-who .mh2-ticks li {
	margin: 0;
	padding: 24px;
	border-radius: 14px;
	background: var(--mi-tint);
	font-weight: 600;
	color: var(--mi-ink);
}

.mh2-who .mh2-kicker {
	color: #b26a00;
}

/* Panels: white cards, or dark ones that echo the hero. */
.mh2 .ms-columns {
	gap: 28px;
	align-items: start;
}

.mh2-panel {
	padding: 36px;
	border: 1px solid var(--mi-line);
	border-radius: 16px;
	background: #ffffff;
}

.mh2 .mh2-panel h2 {
	max-width: none;
	font-size: clamp(24px, 2.6vw, 30px);
}

.mh2-panel--dark {
	border: 0;
	background: radial-gradient(circle at 90% 0, #155e75 0, var(--mi-navy) 70%);
	color: #c9d8de;
}

.mh2 .mh2-panel--dark h2,
.mh2 .mh2-panel--dark h3 {
	color: #ffffff;
}

.mh2-panel--dark .ms-list li::marker {
	color: var(--mi-amber);
}

.mh2-panel--dark .ms-note,
.mh2-panel--dark p {
	color: #9fb4bc;
}

.mh2-panel--dark .mh-btn {
	border-color: rgba(255, 255, 255, 0.5);
	color: #ffffff;
}

.mh2-panel--dark .mh-btn:hover,
.mh2-panel--dark .mh-btn:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.mh2-panel--dark .mh-btn--primary {
	border-color: var(--mi-amber);
	background: var(--mi-amber);
	color: var(--mi-navy);
}

.mh2-panel--dark .mh-btn--primary:hover,
.mh2-panel--dark .mh-btn--primary:focus-visible {
	background: #ffb940;
	color: var(--mi-navy);
}

.mh2-panel--dark .mc-offer {
	color: #ffd08a !important;
}

/* Question lists outside the home page use the same accordion. */
.mh2 .ms-faq {
	margin-top: 28px;
	border-top: 1px solid var(--mi-line);
}

.mh2 .ms-faq details {
	padding: 20px 4px;
}

.mh2 .ms-faq summary {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	font-size: 17px;
	list-style: none;
}

.mh2 .ms-faq summary::-webkit-details-marker {
	display: none;
}

.mh2 .ms-faq summary::after {
	content: "+";
	flex: none;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: var(--mi-accent);
}

.mh2 .ms-faq details[open] summary::after {
	content: "−";
}

.mh2 .site-main > .mh2-faq--white > section {
	background: #ffffff;
}

/* "Why Moggies" proof strip on /services/: a tinted band with white tiles. */
.mh2 .mh2-proof .mh-proof {
	padding: 88px max(24px, calc((100% - 1152px) / 2)) !important;
	border-radius: 0;
	background: var(--mi-tint) !important;
	color: var(--mi-ink);
}

.mh2 .mh-proof h2 {
	color: var(--mi-ink) !important;
}

.mh2 .mh-proof__intro {
	color: var(--mi-muted);
	opacity: 1;
}

.mh2 .mh-proof ul {
	gap: 16px;
}

.mh2 .mh-proof li {
	padding: 22px;
	border-top: 4px solid var(--mi-amber);
	border-radius: 14px;
	background: #ffffff;
	font-size: 14px;
	color: var(--mi-muted);
}

.mh2 .mh-proof strong {
	margin-bottom: 4px;
	color: var(--mi-accent);
}

.mh2 .mh-trust {
	border-top-color: var(--mi-line);
	color: var(--mi-ink);
}

/* Services sit last, just above the closing call (1 Nov 2026), so the two
   dark bands read as one ending, split by a faint line. "Other services" on
   a service page uses the same dark band. */
.mh2 .site-main > .mh2-cta > section {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mh2 .site-main > .mh2-steps--tint > section {
	background: var(--mi-tint);
}

/* FAQ page: full answers on white, readable width. */
.mh2 .mf-item {
	max-width: 860px;
}

.mh2 .mf-item h2 {
	max-width: none;
	font-size: clamp(20px, 2.3vw, 24px);
	line-height: 1.3;
}

.mh2 .mf-item p {
	font-size: 17px;
	line-height: 1.7;
}

/* Contact: the form and the direct contacts as panels on a tinted band. */
.mh2 .site-main > .mh2-contact {
	background: var(--mi-tint);
}

@media (max-width: 900px) {
	.mh2 .site-main > .mh2-hero--page {
		padding-bottom: 64px;
	}

	.mh2 .site-main > .mh2-hero--plain,
	.mh2 .site-main > .mh2-hero--icon {
		padding-top: 64px;
	}

	.mh2-hero__icon {
		display: none;
	}

	.mh2-who .mh2-ticks {
		grid-template-columns: 1fr;
	}

	.mh2 .ms-columns,
	.mh2 .mc-columns {
		gap: 20px;
	}

	.mh2-panel {
		padding: 26px 22px;
	}
}

/* Blog posts: dark title band (functions.php) and a readable white page. */
.mp-band {
	padding: 80px 24px 72px;
	background: radial-gradient(circle at 85% 20%, #155e75 0, #0b2530 60%);
	color: #c9d8de;
}

.mp-band__inner {
	max-width: 820px;
	margin: 0 auto;
}

.mp-band h1 {
	margin-bottom: 14px;
	font-size: clamp(30px, 4.4vw, 48px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #ffffff;
}

.mp-band .mh2-eyebrow {
	margin-bottom: 18px !important;
}

.mp-band__date {
	margin: 0;
	font-size: 15px;
	color: #9fb4bc;
}

body.moggies-post,
.moggies-post .site-content {
	background: #ffffff;
}

.moggies-post .entry-header {
	display: none;
}

.moggies-post .inside-article {
	max-width: 820px;
	margin: 0 auto;
	padding: 56px 0 72px !important;
}

.moggies-post .entry-content {
	margin-top: 0;
	font-size: 18px;
	line-height: 1.75;
	color: #2a3b42;
}

.moggies-post .entry-content h2,
.moggies-post .entry-content h3 {
	margin-top: 1.6em;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--mi-ink);
}

.moggies-post .entry-content a {
	color: var(--mi-accent);
}

.moggies-post .entry-content blockquote {
	border-left: 4px solid #f5a524;
	background: #f3f8fa;
}

.moggies-post .entry-content img {
	border-radius: 14px;
}

@media (max-width: 900px) {
	.moggies-post .inside-article {
		padding: 40px 24px 56px !important;
	}
}

/* Privacy policy (template-privacy.php): lists and links in the sections. */
.mpp ul {
	max-width: 70ch;
	margin: 10px 0 0 1.2em;
}

.mpp li {
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 4px;
}

.mpp p + ul,
.mpp ul + p {
	margin-top: 10px !important;
}

.mpp a,
.mc-privacy a {
	color: var(--mi-accent);
	font-weight: 600;
}
