/* MyHSETeam_Theme1 — layout and component styles not expressible in theme.json. */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
p, li { max-width: 68ch; }
.has-text-align-center p, p.has-text-align-center { margin-left: auto; margin-right: auto; }
img { height: auto; }

:where(a, button, input, select, textarea, summary, .wp-element-button):focus-visible {
	outline: 3px solid var(--wp--preset--color--teal-ink);
	outline-offset: 3px;
	border-radius: 4px;
}
.is-style-section-navy :where(a, button, input, summary, .wp-element-button):focus-visible,
.mhse-footer :where(a, button, .wp-element-button):focus-visible {
	outline-color: var(--wp--preset--color--amber);
}
.wp-element-button, .wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }

/* Skip link */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	padding: .75rem 1rem; z-index: 1000; top: .5rem; left: .5rem;
}

/* Anchor targets clear the sticky header */
:where(section, [id]) { scroll-margin-top: calc(var(--wp--custom--header--height) + 12px); }

footer.wp-block-template-part, main + footer.wp-block-template-part { margin-block-start: 0; }
main.wp-block-group { margin-block-end: 0; }
.mhse-nowrap { white-space: nowrap; }

/* ---------- Sticky header ---------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part { top: 0; } }

.mhse-header {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
	min-height: var(--wp--custom--header--height);
}
.mhse-header.is-scrolled { box-shadow: 0 6px 20px -14px rgba(24, 35, 58, .45); }
.mhse-brand { gap: .65rem !important; text-decoration: none; }
.mhse-brand .wp-block-image { margin: 0; flex-shrink: 0; }
.mhse-brand .wp-block-image img { width: 46px; height: 46px; display: block; }
.mhse-brand .wp-block-site-title { margin: 0; white-space: nowrap; }
.mhse-brand .mhse-brand__tag {
	margin: 0; font-size: .75rem; line-height: 1.2; color: var(--wp--preset--color--teal-ink); font-weight: 600; letter-spacing: .01em;
}
.mhse-header .wp-block-navigation .wp-block-navigation-item__content { padding: .35rem 0; border-bottom: 2px solid transparent; }
.mhse-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.mhse-header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
	border-bottom-color: var(--wp--preset--color--teal);
}
.mhse-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--40);
}
.mhse-header .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
}
.mhse-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start; padding-top: 1.5rem;
}
.mhse-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start; gap: 1.1rem; width: 100%;
}
.mhse-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: 1.625rem; font-weight: 700; width: 100%; align-items: flex-start !important;
	border-bottom: 1px solid var(--wp--preset--color--line); padding-bottom: 1.1rem;
}
.mhse-header .mhse-header__cta .wp-block-button__link { padding: .7em 1.15em; font-size: .9375rem; white-space: nowrap; }
@media (max-width: 781px) {
	.mhse-header .mhse-header__cta { display: none; }
	.mhse-brand .mhse-brand__tag { display: none; }
	.mhse-brand .wp-block-image img { width: 40px; height: 40px; }
}

/* ---------- Sections: illustration + content ---------- */
.mhse-section { position: relative; overflow-x: clip; }
:where(.wp-block-post-content, .entry-content, .editor-styles-wrapper .is-root-container) > .mhse-section.alignfull,
.wp-block-post-content > .mhse-section { margin-block: 0; }
.mhse-split.wp-block-columns { align-items: center; gap: var(--wp--preset--spacing--50); }
.mhse-split .mhse-art,
.mhse-split .mhse-art img { width: 100%; margin: 0; }
.mhse-art img { display: block; border-radius: var(--wp--custom--radius--large); }
.mhse-split__content > :first-child { margin-top: 0; }
@media (min-width: 782px) {
	.wp-block-columns.is-style-art-right { flex-direction: row-reverse; }
	.mhse-split__art { position: sticky; top: calc(var(--wp--custom--header--height) + 24px); align-self: flex-start; }
	.mhse-split.are-vertically-aligned-center .mhse-split__art { position: static; align-self: center; }
}
@media (max-width: 781px) {
	.mhse-split__art { max-width: 520px; }
	.mhse-split.wp-block-columns { gap: var(--wp--preset--spacing--40); }
}

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	color: var(--wp--preset--color--teal-ink); background: transparent; border-color: currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):focus {
	color: var(--wp--preset--color--white); background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy);
}
.is-style-section-navy .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--wp--preset--color--white); }

/* Section intro text block (heading + lead) */
.is-style-kicker {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--teal-ink);
	margin-bottom: -.5rem !important;
	letter-spacing: .01em;
}
.is-style-section-navy .is-style-kicker { color: var(--wp--preset--color--amber); }
.mhse-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--slate); }
.is-style-section-navy .mhse-lead { color: var(--wp--preset--color--cloud); }

/* ---------- Feature rows (icon + text) ---------- */
.mhse-features { gap: 1.5rem !important; }
.mhse-feature.wp-block-group { gap: 1rem; align-items: flex-start; }
.mhse-feature .wp-block-image { flex: 0 0 48px; margin: .15rem 0 0; }
.mhse-feature .wp-block-image img { width: 48px; height: 48px; padding: 10px; border-radius: 12px; background: var(--wp--preset--color--white); box-shadow: inset 0 0 0 1px var(--wp--preset--color--line); }
.is-style-section-white .mhse-feature .wp-block-image img { background: var(--wp--preset--color--mist); box-shadow: none; }
.is-style-section-navy .mhse-feature .wp-block-image img { background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.mhse-feature h3 { font-size: 1.1875rem; margin: 0 0 .25rem; letter-spacing: -0.01em; }
.mhse-feature p { margin: 0; }
.mhse-feature > .wp-block-group { flex: 1; }

/* ---------- Cards ---------- */
.wp-block-group.is-style-card,
.wp-block-group.is-style-price-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--medium);
	padding: clamp(1.25rem, 3vw, 2rem);
}
.wp-block-group.is-style-price-card { border-top: 6px solid var(--wp--preset--color--teal); }
.is-style-price-card > h2 { font-size: var(--wp--preset--font-size--x-large); margin-bottom: .5rem; }
.is-style-price-card .mhse-price { margin-bottom: 0; }
.is-style-price-card .mhse-setup { margin-top: .35rem; margin-bottom: 1rem; color: var(--wp--preset--color--muted); font-weight: 600; }
.wp-block-group.is-style-price-card.mhse-featured { border-top-color: var(--wp--preset--color--amber); box-shadow: var(--wp--preset--shadow--card); }
.is-style-price-card > .is-style-kicker { margin: 0 0 .25rem !important; }
.mhse-price { display: flex; align-items: baseline; gap: .4rem; flex-wrap: wrap; margin: 0; }
.mhse-price strong { font-size: clamp(2.5rem, 5vw, 3.5rem); line-height: 1; color: var(--wp--preset--color--navy); letter-spacing: -0.03em; }
.mhse-price span { color: var(--wp--preset--color--muted); font-weight: 600; }

/* ---------- Lists ---------- */
.wp-block-list.is-style-checks { list-style: none; padding-left: 0; }
.wp-block-list.is-style-checks li { position: relative; padding-left: 2rem; margin-bottom: .55rem; }
.wp-block-list.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.25rem; height: 1.25rem; border-radius: 50%;
	background: var(--wp--preset--color--teal-ink)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.is-style-section-navy .wp-block-list.is-style-checks li::before { background-color: var(--wp--preset--color--teal); }

/* Ordered steps */
ol.mhse-steps { list-style: none; counter-reset: step; padding-left: 0; }
ol.mhse-steps > li { counter-increment: step; position: relative; padding-left: 3.25rem; margin-bottom: 1.5rem; }
ol.mhse-steps > li::before {
	content: counter(step); position: absolute; left: 0; top: -.1rem; width: 2.25rem; height: 2.25rem; border-radius: 50%;
	display: grid; place-items: center; font-weight: 700; color: var(--wp--preset--color--white); background: var(--wp--preset--color--navy);
}
ol.mhse-steps > li strong { display: block; color: var(--wp--preset--color--navy); font-size: 1.125rem; }

/* ---------- FAQ (details) ---------- */
.wp-block-details summary {
	list-style: none; cursor: pointer; font-weight: 700; color: var(--wp--preset--color--navy);
	display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; flex: 0 0 1.5rem; height: 1.5rem; margin-top: .05rem; border-radius: 50%;
	background: var(--wp--preset--color--mist)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23287068' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 65% no-repeat;
}
.wp-block-details[open] summary::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23287068' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
}
.is-style-section-mist .wp-block-details summary::after { background-color: var(--wp--preset--color--white); }
.wp-block-details > :not(summary) { margin-top: .75rem; }

/* ---------- Form placeholder + plugin-agnostic form styling ---------- */
.mhse-form-slot {
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--white);
}
.mhse-section :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
	width: 100%; font: inherit; font-size: 1rem; color: var(--wp--preset--color--slate);
	background: var(--wp--preset--color--white); border: 1px solid #A9B4C4; border-radius: var(--wp--custom--radius--small);
	padding: .75rem .9rem;
}
.mhse-section :where(input, select, textarea):focus { border-color: var(--wp--preset--color--teal-ink); }
.mhse-section :where(label) { font-weight: 600; color: var(--wp--preset--color--navy); }
.mhse-section :where(input[type="submit"], button[type="submit"]) {
	font: inherit; font-weight: 700; cursor: pointer; color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--teal-ink); border: 2px solid var(--wp--preset--color--teal-ink);
	border-radius: var(--wp--custom--radius--small); padding: .85em 1.5em;
}
.mhse-section :where(input[type="submit"], button[type="submit"]):hover { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); }

/* ---------- Footer ---------- */
.mhse-footer { color: var(--wp--preset--color--cloud); }
.mhse-footer a { color: var(--wp--preset--color--white); text-decoration: none; }
.mhse-footer a:hover, .mhse-footer a:focus { color: var(--wp--preset--color--teal-bright); text-decoration: underline; }
.mhse-footer .mhse-follow:has(li) + h2 { margin-top: var(--wp--preset--spacing--30); }
.mhse-footer h2 { font-size: 1rem; letter-spacing: 0; color: var(--wp--preset--color--white); margin-bottom: .75rem; }
.mhse-footer .mhse-footer__logo img { width: 260px; max-width: 100%; }
/* Hide the "Follow us" row until profile links are added in the Site Editor */
.mhse-footer .mhse-follow:not(:has(li)),
.mhse-footer .mhse-follow-heading { display: none; }
.mhse-footer .wp-block-column:has(.mhse-follow li) .mhse-follow-heading { display: block; }
.mhse-footer .mhse-footer__links { list-style: none; padding: 0; margin: 0; }
.mhse-footer .mhse-footer__links li { margin: 0 0 .55rem; }
.mhse-footer .wp-block-social-links .wp-social-link { background: rgba(255,255,255,.08) !important; color: var(--wp--preset--color--white) !important; }
.mhse-footer .wp-block-social-links .wp-social-link:hover { background: var(--wp--preset--color--teal-ink) !important; }
.mhse-footer .wp-block-social-links .wp-social-link a { padding: .55em; }
.mhse-footer .mhse-share-button .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--white); border: 1px solid rgba(255,255,255,.3);
	font-size: .875rem; padding: .55em 1em; font-weight: 600;
}
.mhse-footer .mhse-share-button .wp-block-button__link:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy-deep); }
.mhse-footer__legal { border-top: 1px solid rgba(255,255,255,.12); font-size: .875rem; color: #9FB0C4; }
.mhse-footer__legal p { max-width: none; }
.mhse-share-status { font-size: .875rem; min-height: 1.25em; margin: 0; color: var(--wp--preset--color--teal-bright); }

/* ---------- Default page title band ---------- */
.mhse-page-title { border-bottom: 1px solid var(--wp--preset--color--line); }

/* ---------- v1.2.0 responsive fixes (25 Oct 2026) ---------- */
/* 1. Tables (e.g. Privacy Policy) fit small phones */
.wp-block-table table { width: 100%; }
@media (max-width: 600px) {
	.wp-block-table table { table-layout: fixed; font-size: .875rem; }
	.wp-block-table th, .wp-block-table td { padding: .45em .5em; overflow-wrap: anywhere; hyphens: auto; }
}
/* 2. Footer links never break mid-link */
.mhse-footer__legal a { white-space: nowrap; }
/* 4. Stacked sections (tablet portrait / phones): centre the illustration */
@media (max-width: 781px) {
	.mhse-split__art { width: 100%; margin-left: auto !important; margin-right: auto !important; }
	.mhse-split__art .mhse-art { margin-left: auto; margin-right: auto; }
}
/* 5. "Book a 15-minute call" inside the phone menu only */
.mhse-header .wp-block-navigation-item.mhse-nav-cta { display: none; }
.mhse-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.mhse-nav-cta {
	display: flex; border-bottom: 0; padding-top: .4rem;
}
.mhse-header .wp-block-navigation__responsive-container.is-menu-open .mhse-nav-cta .wp-block-navigation-item__content {
	background: var(--wp--preset--color--teal-ink); color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--small); padding: .7em 1.2em; font-size: 1.125rem;
}
/* 6. Home hero: headline before the illustration on phones and portrait tablets */
@media (max-width: 781px) {
	#top .mhse-split__content { order: -1; }
}
