/*
Theme Name: MCS Schwarz 2026
Theme URI: https://mcs-schwarz.de/
Description: Block theme for MCS SCHWARZ – Munich Consulting Service (child of Twenty Twenty-Five).
Author: Bits & Bytes Media
Author URI: https://bitsandbytesmedia.com/
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: mcs-2026
*/

/* Only what theme.json cannot express. */

:root {
	--mcs-ease: cubic-bezier(.2, .7, .2, 1);
	--mcs-shadow: 0 2px 6px rgba(11, 42, 92, .05), 0 10px 30px rgba(11, 42, 92, .07);
	--mcs-shadow-hover: 0 4px 10px rgba(11, 42, 92, .08), 0 18px 40px rgba(11, 42, 92, .12);
	/* Icons (stroke 1.75, 24px grid) used as CSS masks */
	--mcs-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--mcs-i-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
	--mcs-i-laptop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4.5' width='16' height='11' rx='1.5'/%3E%3Cpath d='M2 18.5h20l-1 1.5H3z'/%3E%3C/svg%3E");
	--mcs-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5l8 3v6c0 5-3.4 8.6-8 10-4.6-1.4-8-5-8-10v-6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
	--mcs-i-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8.5' cy='8' r='3.2'/%3E%3Ccircle cx='16.5' cy='6.5' r='2.7'/%3E%3Cpath d='M2.5 19.5c0-3.4 2.7-6 6-6s6 2.6 6 6M14.5 12.2c.6-.2 1.3-.3 2-.3 2.9 0 5 2.2 5 5'/%3E%3C/svg%3E");
	--mcs-i-cloud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18.5h10.5a4 4 0 0 0 .6-8 6 6 0 0 0-11.5 1.6A3.3 3.3 0 0 0 7 18.5z'/%3E%3C/svg%3E");
	--mcs-i-phone-mobile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2'/%3E%3Cpath d='M10.5 18.5h3'/%3E%3C/svg%3E");
	--mcs-i-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5h17M6.5 16.5v-5M11 16.5v-9M15.5 16.5v-6M20 16.5V5'/%3E%3C/svg%3E");
	--mcs-i-school: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c0 1.5 2.7 3 6 3s6-1.5 6-3v-5M22 9v5'/%3E%3C/svg%3E");
	--mcs-i-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2.5H6.5a1.5 1.5 0 0 0-1.5 1.5v16a1.5 1.5 0 0 0 1.5 1.5h11A1.5 1.5 0 0 0 19 20V7.5z'/%3E%3Cpath d='M14 2.5v5h5M8.5 13h7M8.5 17h5'/%3E%3C/svg%3E");
	--mcs-i-scan: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8V5a2 2 0 0 1 2-2h3M16 3h3a2 2 0 0 1 2 2v3M21 16v3a2 2 0 0 1-2 2h-3M8 21H5a2 2 0 0 1-2-2v-3M7 12h10'/%3E%3C/svg%3E");
	--mcs-i-euro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 6.5a7 7 0 1 0 0 11M4 10.5h9M4 13.5h9'/%3E%3C/svg%3E");
	--mcs-i-call: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.6v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 1.1 3.9 2 2 0 0 1 3.1 1.7h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L7.1 9.6a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
	--mcs-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9.5' r='2.6'/%3E%3C/svg%3E");
	--mcs-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='1.5'/%3E%3Cpath d='M3 6l9 7 9-7'/%3E%3C/svg%3E");
	--mcs-i-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='11' rx='1.5'/%3E%3Cpath d='M8 10.5V7a4 4 0 0 1 8 0v3.5M12 14.5v3'/%3E%3C/svg%3E");
	--mcs-i-refresh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 12a8.5 8.5 0 0 1-15 5.5M3.5 12a8.5 8.5 0 0 1 15-5.5'/%3E%3Cpath d='M18.5 2.5v4h-4M5.5 21.5v-4h4'/%3E%3C/svg%3E");
	--mcs-i-database: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5.5' rx='8' ry='3'/%3E%3Cpath d='M4 5.5v13c0 1.7 3.6 3 8 3s8-1.3 8-3v-13M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E");
	--mcs-i-bug: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='7.5' width='10' height='13' rx='5'/%3E%3Cpath d='M9 7.5a3 3 0 0 1 6 0M3 13h4M17 13h4M4 7.5l3 2M20 7.5l-3 2M4 19l3-2M20 19l-3-2M12 11v9'/%3E%3C/svg%3E");
	--mcs-i-key: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='4.5'/%3E%3Cpath d='M10.7 12.3L20.5 2.5M17 6l3 3M14.5 8.5l2 2'/%3E%3C/svg%3E");
	--mcs-i-radar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Ccircle cx='12' cy='12' r='5.5'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3Cpath d='M12 12l6.5-6.5'/%3E%3C/svg%3E");
	--mcs-i-archive: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='3.5' width='19' height='5' rx='1'/%3E%3Cpath d='M4 8.5v11a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-11M10 12.5h4'/%3E%3C/svg%3E");
	--mcs-i-life: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M5.3 5.3l3.9 3.9M14.8 14.8l3.9 3.9M14.8 9.2l3.9-3.9M5.3 18.7l3.9-3.9'/%3E%3C/svg%3E");
	--mcs-i-handshake: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8.5l4-3 3 1.5 3-1.5 3 1.5 3-1.5 4 3v6l-4 2-5 3.5-5-3.5-4-2z'/%3E%3Cpath d='M9 7l-2 4c1 1 2.5 1 3.5 0L12 9.5l4.5 4.5'/%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--accent); color: #fff; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }

/* ---------------------------------------------------------------- Header */
.mcs-header { position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 0 rgba(11, 42, 92, .07); }
body.admin-bar .mcs-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { body.admin-bar .mcs-header { top: 0; } }
.mcs-header a { text-decoration: none !important; }
.mcs-brand { display: flex; align-items: center; gap: 14px; color: var(--wp--preset--color--contrast) !important; }
.mcs-brand img { width: 96px; height: auto; display: block; }
.mcs-brand__text { display: block; padding-left: 14px; border-left: 2px solid var(--wp--preset--color--contrast); line-height: 1.15; }
.mcs-brand__text strong { display: block; font-size: 1.45rem; font-weight: 800; letter-spacing: .02em; color: var(--wp--preset--color--contrast); }
.mcs-brand__text span { display: block; font-size: .95rem; font-weight: 500; color: var(--wp--preset--color--body); }
.mcs-header .wp-block-navigation { color: var(--wp--preset--color--contrast); }
.mcs-header .wp-block-navigation-item__content { padding-block: .35em; position: relative; }
.mcs-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px;
	background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--mcs-ease);
}
.mcs-header .wp-block-navigation-item__content:hover::after,
.mcs-header .current-menu-item > .wp-block-navigation-item__content::after,
.mcs-header .current-menu-ancestor > .wp-block-navigation-item__content::after { transform: scaleX(1) !important; }
.mcs-header .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: 10px; padding: .5rem 0 !important; min-width: 250px !important;
	box-shadow: var(--mcs-shadow-hover); background: #fff !important;
}
.mcs-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.2rem !important; font-weight: 500; }
.mcs-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); }
.mcs-header .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; }
.mcs-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.2rem; }
.mcs-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; min-width: 0 !important; }

/* Hamburger up to 1000px (core switches only below 600px) */
@media (max-width: 1000px) {
	.mcs-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.mcs-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 480px) {
	.mcs-brand img { width: 64px; }
	.mcs-brand { gap: 10px; }
	.mcs-brand__text { padding-left: 10px; }
	.mcs-brand__text strong { font-size: 1.15rem; }
	.mcs-brand__text span { font-size: .78rem; }
}

/* ---------------------------------------------------------------- Hero: light panel with a diagonal edge over the photo */
.mcs-hero.wp-block-cover { overflow: hidden; align-items: center; background: var(--wp--preset--color--surface); }
.mcs-hero > .wp-block-cover__image-background { left: 36% !important; width: 64% !important; }
.mcs-hero > .wp-block-cover__background { display: none; }
.mcs-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(115deg, #f8fbff 0%, #eaf3fc 60%, #dcebf9 100%);
	clip-path: polygon(0 0, 55% 0, 44% 100%, 0 100%);
}
/* thin cyan glow along the diagonal */
.mcs-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(90deg, rgba(20, 168, 234, .0), rgba(20, 168, 234, .35));
	clip-path: polygon(55% 0, 55.6% 0, 44.6% 100%, 44% 100%);
}
.mcs-hero.wp-block-cover > .wp-block-cover__inner-container { z-index: 2; width: 100%; }
.mcs-hero h1 { position: relative; color: var(--wp--preset--color--contrast); }
.mcs-hero h1::before {
	content: ""; position: absolute; left: -.72em; top: .1em; width: .26em; height: .62em;
	background: var(--wp--preset--color--accent); transform: skewX(-24deg); border-radius: 2px;
}
@media (max-width: 1000px) {
	.mcs-hero.wp-block-cover { flex-direction: column; padding-top: 0 !important; min-height: 0 !important; }
	.mcs-hero > .wp-block-cover__image-background { position: relative !important; left: 0 !important; width: 100% !important; height: 46vw !important; min-height: 240px; order: -1; }
	.mcs-hero::after { clip-path: none; top: 46vw; }
	.mcs-hero::before { display: none; }
	.mcs-hero > .wp-block-cover__inner-container { padding-top: var(--wp--preset--spacing--50); }
	.mcs-hero h1::before { display: none; }
}
@media (max-width: 522px) { .mcs-hero::after { top: 240px; } }

.mcs-partner::before {
	content: ""; display: inline-block; vertical-align: -.12em; margin-right: .6em; width: 1.6em; height: 1em;
	background: linear-gradient(90deg, var(--wp--preset--color--primary) 0 38%, transparent 38% 58%, var(--wp--preset--color--accent) 58%);
	transform: skewX(-24deg);
}

/* ---------------------------------------------------------------- Buttons with icons */
.wp-block-button.mcs-arrow .wp-block-button__link::after,
.wp-block-button.mcs-ext .wp-block-button__link::after,
.mcs-more a::after, .mcs-more.wp-block-read-more::after {
	content: ""; display: inline-block; width: 1.05em; height: 1.05em; margin-left: .55em; vertical-align: -.15em;
	background: currentColor; -webkit-mask: var(--mcs-i-arrow) center / contain no-repeat; mask: var(--mcs-i-arrow) center / contain no-repeat;
	transition: transform .2s var(--mcs-ease);
}
.wp-block-button.mcs-ext .wp-block-button__link::after { -webkit-mask-image: var(--mcs-i-external); mask-image: var(--mcs-i-external); }
.wp-block-button.mcs-arrow .wp-block-button__link:hover::after, .mcs-more a:hover::after, .mcs-more.wp-block-read-more:hover::after { transform: translateX(4px); }
.wp-block-button__link { transition: background .2s, box-shadow .2s, color .2s; box-shadow: 0 6px 16px rgba(10, 111, 209, .18); }
.is-style-outline > .wp-block-button__link { box-shadow: none; }
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; color: #fff !important; border-color: var(--wp--preset--color--contrast) !important; }
.mcs-on-dark .is-style-outline > .wp-block-button__link:hover { background: #fff !important; color: var(--wp--preset--color--navy) !important; border-color: #fff !important; }

.mcs-more { font-weight: 700; }
.mcs-more a, .mcs-more.wp-block-read-more { color: var(--wp--preset--color--primary); text-decoration: none !important; }

/* ---------------------------------------------------------------- Section kicker */
.mcs-kicker { letter-spacing: .22em; text-transform: uppercase; font-weight: 800; font-size: .82rem !important; color: var(--wp--preset--color--primary); margin-bottom: .4rem !important; }

/* ---------------------------------------------------------------- Feature cards (icon left) */
.is-style-mcs-card {
	position: relative; box-sizing: border-box;
	background: linear-gradient(160deg, #f6faff 0%, #ebf4fd 100%);
	border: 1px solid rgba(10, 111, 209, .08); border-radius: 14px; box-shadow: var(--mcs-shadow);
	transition: box-shadow .25s var(--mcs-ease), transform .25s var(--mcs-ease);
}
.wp-block-column > .is-style-mcs-card:only-child, .is-layout-grid > .is-style-mcs-card { height: 100%; }
.is-style-mcs-card:hover { box-shadow: var(--mcs-shadow-hover); transform: translateY(-3px); }
.is-style-mcs-card h3 { margin-top: 0; }
.is-style-mcs-card > :last-child { margin-bottom: 0; }
[class*="mcs-ic-"].is-style-mcs-card { padding-left: calc(var(--wp--preset--spacing--40) + 60px) !important; }
[class*="mcs-ic-"].is-style-mcs-card::before {
	content: ""; position: absolute; left: var(--wp--preset--spacing--40); top: var(--wp--preset--spacing--40);
	width: 46px; height: 46px; background: var(--wp--preset--color--primary-dark);
	-webkit-mask: var(--mcs-icon) center / contain no-repeat; mask: var(--mcs-icon) center / contain no-repeat;
}
@media (max-width: 600px) {
	[class*="mcs-ic-"].is-style-mcs-card { padding-left: var(--wp--preset--spacing--40) !important; padding-top: calc(var(--wp--preset--spacing--40) + 58px) !important; }
}
.mcs-ic-laptop { --mcs-icon: var(--mcs-i-laptop); }
.mcs-ic-shield { --mcs-icon: var(--mcs-i-shield); }
.mcs-ic-users { --mcs-icon: var(--mcs-i-users); }
.mcs-ic-cloud { --mcs-icon: var(--mcs-i-cloud); }
.mcs-ic-mobile { --mcs-icon: var(--mcs-i-phone-mobile); }
.mcs-ic-chart { --mcs-icon: var(--mcs-i-chart); }
.mcs-ic-school { --mcs-icon: var(--mcs-i-school); }
.mcs-ic-doc { --mcs-icon: var(--mcs-i-doc); }
.mcs-ic-scan { --mcs-icon: var(--mcs-i-scan); }
.mcs-ic-euro { --mcs-icon: var(--mcs-i-euro); }
.mcs-ic-call { --mcs-icon: var(--mcs-i-call); }
.mcs-ic-lock { --mcs-icon: var(--mcs-i-lock); }
.mcs-ic-refresh { --mcs-icon: var(--mcs-i-refresh); }
.mcs-ic-database { --mcs-icon: var(--mcs-i-database); }
.mcs-ic-bug { --mcs-icon: var(--mcs-i-bug); }
.mcs-ic-key { --mcs-icon: var(--mcs-i-key); }
.mcs-ic-radar { --mcs-icon: var(--mcs-i-radar); }
.mcs-ic-archive { --mcs-icon: var(--mcs-i-archive); }
.mcs-ic-life { --mcs-icon: var(--mcs-i-life); }
.mcs-ic-handshake { --mcs-icon: var(--mcs-i-handshake); }

/* ---------------------------------------------------------------- News cards (image left) */
.mcs-news-card {
	height: 100%; box-sizing: border-box; background: linear-gradient(160deg, #f6faff 0%, #eef5fd 100%);
	border: 1px solid rgba(10, 111, 209, .08); border-radius: 14px; box-shadow: var(--mcs-shadow);
	transition: box-shadow .25s var(--mcs-ease), transform .25s var(--mcs-ease);
}
.mcs-news-card:hover { box-shadow: var(--mcs-shadow-hover); transform: translateY(-3px); }
.mcs-news-card .wp-block-post-featured-image { flex: 0 0 38%; margin: 0; align-self: stretch; }
.mcs-news-card .wp-block-post-featured-image img { width: 100%; height: 100%; min-height: 140px; object-fit: cover; border-radius: 8px; }
.mcs-news-card .wp-block-post-featured-image a { display: block; height: 100%; }
.mcs-news-card .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.mcs-news-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.mcs-news-card .wp-block-post-excerpt__excerpt { margin: 0; }
.mcs-news-card .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 600px) {
	.mcs-news-card { flex-direction: column; align-items: stretch !important; }
	.mcs-news-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; height: auto; }
}

/* ---------------------------------------------------------------- Check list */
.is-style-mcs-checks { list-style: none; padding-left: 0; }
.is-style-mcs-checks li { position: relative; padding-left: 2em; margin-bottom: .55em; }
.is-style-mcs-checks li::before {
	content: ""; position: absolute; left: 0; top: .22em; width: 1.25em; height: 1.25em; border-radius: 50%;
	background: var(--wp--preset--color--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat;
}

/* ---------------------------------------------------------------- Dark CTA / footer */
.mcs-on-dark { background: radial-gradient(120% 140% at 0% 0%, #0d3270 0%, #0b2a5c 45%, #071d43 100%); }
.mcs-on-dark h2, .mcs-on-dark h3 { color: #fff; }
.mcs-cta-title { position: relative; }
.mcs-cta-title::before {
	content: ""; position: absolute; left: -.85em; top: .1em; width: .28em; height: .62em;
	background: var(--wp--preset--color--accent); transform: skewX(-24deg); border-radius: 2px;
}
@media (max-width: 1240px) { .mcs-cta-title::before { position: static; display: inline-block; margin-right: .45em; vertical-align: -.02em; } }
.mcs-cta-split > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255, 255, 255, .22); padding-left: var(--wp--preset--spacing--60); }
@media (max-width: 781px) { .mcs-cta-split > .wp-block-column + .wp-block-column { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255, 255, 255, .22); padding-top: var(--wp--preset--spacing--50); } }
.mcs-contact-line { position: relative; padding-left: 2.6em; margin: 0 0 1.1em !important; line-height: 1.45; }
.mcs-contact-line::before {
	content: ""; position: absolute; left: 0; top: .05em; width: 1.55em; height: 1.55em; background: currentColor;
	-webkit-mask: var(--mcs-icon) center / contain no-repeat; mask: var(--mcs-icon) center / contain no-repeat;
}
.mcs-contact-line.mcs-ic-pin { --mcs-icon: var(--mcs-i-pin); }
.mcs-contact-line.mcs-ic-call { --mcs-icon: var(--mcs-i-call); }
.mcs-contact-line.mcs-ic-mail { --mcs-icon: var(--mcs-i-mail); }
.mcs-on-dark a { color: #fff; }
.mcs-on-dark a:hover { color: var(--wp--preset--color--accent); text-decoration: none; }
.mcs-footer-bar { border-top: 1px solid rgba(255, 255, 255, .14); }
.mcs-footer-bar a { color: rgba(255, 255, 255, .8) !important; }
.mcs-plain-list { list-style: none; padding-left: 0; }

/* ---------------------------------------------------------------- Inner pages */
.mcs-page-hero { position: relative; overflow: hidden; }
.mcs-page-hero::after {
	content: ""; position: absolute; right: -6%; top: -30%; width: 38%; height: 160%; pointer-events: none;
	background: linear-gradient(180deg, rgba(20, 168, 234, .14), rgba(10, 111, 209, .05)); transform: skewX(-24deg);
}
.mcs-page-hero > * { position: relative; z-index: 1; }
.mcs-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; }
.mcs-person { text-align: left; }
.mcs-person strong { display: block; color: var(--wp--preset--color--contrast); font-size: 1.1rem; }
.mcs-quote { border-left: 4px solid var(--wp--preset--color--accent); padding-left: 1.2em; font-style: italic; }
.mcs-timeline { list-style: none; padding-left: 0; border-left: 2px solid var(--wp--preset--color--line); margin-left: .5em; }
.mcs-timeline li { position: relative; padding: 0 0 1.3em 1.6em; }
.mcs-timeline li::before { content: ""; position: absolute; left: -7px; top: .45em; width: 12px; height: 12px; border-radius: 50%; background: var(--wp--preset--color--accent); box-shadow: 0 0 0 4px #fff; }
.mcs-timeline li strong { color: var(--wp--preset--color--primary-dark); }

/* Placeholder marker for content still to be confirmed by the client */
.mcs-todo { background: #fff3c4; outline: 2px dashed #d9a400; padding: .1em .35em; }

/* ---------------------------------------------------------------- Contact Form 7 */
.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7 select, .wpcf7 textarea {
	width: 100%; box-sizing: border-box; padding: .75em .9em; border: 1px solid var(--wp--preset--color--line); border-radius: 8px;
	font: inherit; background: #fff; color: var(--wp--preset--color--contrast);
}
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: transparent; }
.wpcf7 label { display: block; font-weight: 600; font-size: .95em; color: var(--wp--preset--color--contrast); }
.wpcf7 .mcs-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2em; }
.wpcf7 .wpcf7-list-item { margin: 0 1.2em 0 0; }
.wpcf7 .wpcf7-list-item label { font-weight: 400; display: inline; }
.wpcf7 input[type="submit"] {
	background: linear-gradient(90deg, #0a6fd1 0%, #14a8ea 100%); color: #fff; border: 0; border-radius: 8px;
	padding: .9em 1.9em; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 6px 16px rgba(10, 111, 209, .18);
}
.wpcf7 input[type="submit"]:hover { background: linear-gradient(90deg, #0b2a5c 0%, #0a6fd1 100%); }
.mcs-hp { position: absolute !important; left: -9999px !important; }
@media (max-width: 600px) { .wpcf7 .mcs-form-row { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- Layout helpers */
/* Designed pages: full-width sections sit flush, each section brings its own padding */
.mcs-sections > * { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks > .wp-block-template-part:last-child,
.wp-site-blocks > footer { margin-block-start: 0; }
.wp-site-blocks > main { margin-block-start: 0; }
.wp-block-cover.alignfull.has-custom-content-position.has-custom-content-position > .wp-block-cover__inner-container { width: 100%; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
}

/* Icons also usable on cards */
.mcs-ic-pin { --mcs-icon: var(--mcs-i-pin); }
.mcs-ic-mail { --mcs-icon: var(--mcs-i-mail); }
.mcs-page-hero .mcs-lead { max-width: 720px; }
.wp-block-image img { box-shadow: var(--mcs-shadow); }
.mcs-page-hero .mcs-lead { margin-left: 0 !important; }
/* Text sections: left-aligned on the 1200px grid, readable line length */
.mcs-readable > * { max-width: 780px !important; margin-left: 0 !important; }

