/**
 * CIS front-end foundation for Kadence + Gutenberg.
 *
 * Apply `cis-page` to the outermost Gutenberg Group block for a CIS page.
 * Apply the documented cis-* utility classes only to approved page blocks.
 */

.cis-page {
	--cis-navy: #0b2942;
	--cis-blue: #126ea8;
	--cis-teal: #0c8b8c;
	--cis-cyan: #24a8c5;
	--cis-surface: #f4f9fb;
	--cis-white: #ffffff;
	--cis-ink: #142b3c;
	--cis-muted: #526778;
	--cis-border: #d8e5ea;
	--cis-shadow: 0 0.75rem 2rem rgba( 11, 41, 66, 0.1 );
	--cis-radius: 0.75rem;
	--cis-content-width: 75rem;
	--cis-space-2xs: 0.5rem;
	--cis-space-xs: 0.75rem;
	--cis-space-sm: 1rem;
	--cis-space-md: 1.5rem;
	--cis-space-lg: 2.5rem;
	--cis-space-xl: clamp( 3.5rem, 7vw, 6.5rem );
	color: var( --cis-ink );
	line-height: 1.6;
	width: 100%;
	overflow-x: clip;
}

html,
body {
	overflow-x: hidden;
}

.cis-page :where( section, div, article, figure, img ) {
	min-width: 0;
}

.cis-page > .wp-block-group { margin-block: 0; }
.cis-page .cis-section__inner { padding-inline: clamp(1.25rem, 4vw, 2rem); }
.cis-page .cis-kicker { color: var(--cis-teal); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cis-page .cis-link { color: var(--cis-blue); font-weight: 750; text-decoration-thickness: .1em; text-underline-offset: .2em; }
.cis-page .cis-meta { color: var(--cis-muted); font-size: .9rem; }
.cis-page .cis-check-list { padding-left: 1.2rem; }
.cis-page .cis-check-list li { margin-block: .5rem; }
.cis-page .cis-article-placeholder { padding: clamp(2rem,5vw,4rem); border: 1px dashed var(--cis-teal); border-radius: var(--cis-radius); background: #effafa; }

.cis-page .cis-section {
	padding-block: var( --cis-space-xl );
}

.cis-page .cis-section--surface {
	background-color: var( --cis-surface );
}

.cis-page .cis-section--navy {
	background-color: var( --cis-navy );
	color: var( --cis-white );
}

.cis-page .cis-section__inner {
	max-width: var( --cis-content-width );
	margin-inline: auto;
}

.cis-page :is( h1, .cis-heading-1 ) {
	max-width: 20ch;
	margin-block: 0 var( --cis-space-md );
	color: currentcolor;
	font-size: clamp( 2.25rem, 5vw, 4.5rem );
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.cis-page :is( h2, .cis-heading-2 ) {
	max-width: 28ch;
	margin-block: 0 var( --cis-space-sm );
	color: currentcolor;
	font-size: clamp( 1.75rem, 3vw, 2.75rem );
	line-height: 1.18;
	letter-spacing: -0.02em;
}

.cis-page :is( h3, .cis-heading-3 ) {
	margin-block: 0 var( --cis-space-xs );
	color: currentcolor;
	font-size: clamp( 1.2rem, 2vw, 1.5rem );
	line-height: 1.3;
}

.cis-page .cis-eyebrow {
	display: inline-block;
	margin-bottom: var( --cis-space-xs );
	color: var( --cis-teal );
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.cis-page .cis-section--navy .cis-eyebrow {
	color: #8ce0e2;
}

.cis-page .cis-lead {
	max-width: 65ch;
	margin-block: 0;
	color: var( --cis-muted );
	font-size: clamp( 1.0625rem, 1.6vw, 1.25rem );
}

.cis-page .cis-section--navy .cis-lead {
	color: #d8edf1;
}

.cis-page .wp-block-buttons {
	gap: var( --cis-space-sm );
	margin-top: var( --cis-space-lg );
}

.cis-page .wp-block-button__link,
.cis-page .cis-button {
	min-height: 2.875rem;
	padding: 0.75rem 1.125rem;
	border: 1px solid var( --cis-blue );
	border-radius: 999px;
	background-color: var( --cis-blue );
	color: var( --cis-white );
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.cis-page .cis-button--secondary .wp-block-button__link,
.cis-page .wp-block-button.is-style-cis-secondary .wp-block-button__link {
	background-color: transparent;
	color: var( --cis-blue );
}

.cis-page .cis-section--navy .cis-button--secondary .wp-block-button__link,
.cis-page .cis-section--navy .wp-block-button.is-style-cis-secondary .wp-block-button__link {
	border-color: var( --cis-white );
	color: var( --cis-white );
}

.cis-page .wp-block-button__link:hover,
.cis-page .cis-button:hover {
	border-color: var( --cis-teal );
	background-color: var( --cis-teal );
	color: var( --cis-white );
	transform: translateY( -1px );
}

.cis-page :is( a, button, input, select, textarea ):focus-visible {
	outline: 3px solid var( --cis-cyan );
	outline-offset: 3px;
}

.cis-page .cis-card {
	height: 100%;
	padding: var( --cis-space-lg );
	border: 1px solid var( --cis-border );
	border-radius: var( --cis-radius );
	background-color: var( --cis-white );
	box-shadow: var( --cis-shadow );
}

.cis-page .cis-card > :last-child {
	margin-bottom: 0;
}

.cis-page .cis-card-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 100%, 16rem ), 1fr ) );
	gap: var( --cis-space-md );
}

.cis-page .cis-featured-card {
	border-color: var( --cis-teal );
	background-color: #effafa;
}

.cis-page .cis-media {
	overflow: hidden;
	border-radius: var( --cis-radius );
	background-color: var( --cis-surface );
}

.cis-page .cis-media img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

.cis-page .cis-cta {
	padding: clamp( 2rem, 5vw, 4rem );
	border-radius: var( --cis-radius );
	background-color: var( --cis-navy );
	color: var( --cis-white );
}

.cis-page .cis-cta .cis-lead {
	color: #d8edf1;
}

.cis-page .cis-hero {
	position: relative;
	overflow: hidden;
	min-height: clamp( 28rem, 60vw, 48rem );
	border-radius: var( --cis-radius );
	background-color: var( --cis-navy );
	color: var( --cis-white );
}

.cis-page .cis-hero__media {
	position: absolute;
	inset: 0;
	margin: 0;
}

.cis-page .cis-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cis-page .cis-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: end;
	min-height: inherit;
	padding: clamp( 1.5rem, 5vw, 4rem );
}

.cis-page .cis-hero__panel {
	max-width: 42rem;
	padding: clamp( 1.25rem, 3vw, 2rem );
	border: 1px solid rgba( 255, 255, 255, 0.24 );
	border-radius: var( --cis-radius );
	background-color: rgba( 11, 41, 66, 0.88 );
}

.cis-page .cis-hero__panel .cis-lead {
	color: #e5f4f5;
}

.cis-page .cis-service-split {
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	gap: var( --cis-space-lg );
	align-items: center;
}

.cis-page .cis-service-split__content > :last-child,
.cis-page .cis-service-split__media > :last-child {
	margin-bottom: 0;
}

.cis-page .cis-asset-placeholder {
	display: grid;
	min-height: 15rem;
	place-items: center;
	padding: var( --cis-space-lg );
	border: 2px dashed var( --cis-teal );
	border-radius: var( --cis-radius );
	background-color: #effafa;
	color: var( --cis-navy );
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
}

.cis-page .cis-aquazyme {
	border: 1px solid var( --cis-teal );
	border-radius: var( --cis-radius );
	background-color: #effafa;
}

.cis-page .cis-aquazyme__media img {
	object-fit: contain;
}

.cis-page .cis-capability-card {
	border-top: 0.375rem solid var( --cis-teal );
}

.cis-page .cis-workflow {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 100%, 9rem ), 1fr ) );
	gap: var( --cis-space-sm );
	counter-reset: cis-workflow;
	list-style: none;
	margin: var( --cis-space-lg ) 0 0;
	padding: 0;
}

.cis-page .cis-workflow li {
	position: relative;
	min-height: 6rem;
	padding: var( --cis-space-md );
	border: 1px solid var( --cis-border );
	border-radius: var( --cis-radius );
	background-color: var( --cis-white );
	font-weight: 700;
}

.cis-page .cis-workflow li::before {
	counter-increment: cis-workflow;
	content: counter( cis-workflow, decimal-leading-zero );
	display: block;
	margin-bottom: var( --cis-space-xs );
	color: var( --cis-teal );
	font-size: 0.8125rem;
}

.cis-page .cis-contact-methods {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 100%, 15rem ), 1fr ) );
	gap: var( --cis-space-md );
}

.cis-page .cis-contact-method {
	display: flex;
	flex-direction: column;
	gap: var( --cis-space-xs );
	min-height: 100%;
	padding: var( --cis-space-lg );
	border: 1px solid var( --cis-border );
	border-radius: var( --cis-radius );
	background-color: var( --cis-white );
}

.cis-page .cis-contact-method a {
	color: var( --cis-blue );
	font-weight: 700;
	overflow-wrap: anywhere;
}

.cis-site-header,
.cis-site-footer {
	--cis-navy: #0b2942;
	--cis-blue: #126ea8;
	--cis-teal: #0c8b8c;
	--cis-white: #ffffff;
}

.cis-footer-inner { width: min(75rem, calc(100% - 2.5rem)); margin-inline: auto; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 2rem; }
.cis-footer-brand p { margin: 1rem 0 0; }
/* Original transparent owner-supplied logo: remove only empty framing in layout. */
.site-branding img.custom-logo { width:90px; height:60px; object-fit:cover; background:transparent; }
.cis-site-footer img.cis-brand-mark { width:176px; height:110px; object-fit:cover; background:transparent; }
.cis-footer-brand span { color: #8ce0e2; }
.cis-site-footer nav, .cis-footer-contact { display: flex; flex-direction: column; gap: .65rem; }
.cis-site-footer a { text-decoration: none; }
.cis-footer-bottom { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.2); }
.cis-footer-cta { padding: .7rem 1rem; border: 1px solid #8ce0e2; border-radius: 999px; font-weight: 700; }

.cis-site-header .cis-brand-mark,
.cis-site-footer .cis-brand-mark {
	display: block;
	width: auto;
	max-width: 11rem;
	height: auto;
}

.cis-site-header a[aria-current='page'] {
	color: var( --cis-teal );
	font-weight: 700;
}

.cis-site-footer {
	padding-block: clamp( 2.5rem, 5vw, 4rem );
	background-color: var( --cis-navy );
	color: var( --cis-white );
}

.cis-site-footer a {
	color: var( --cis-white );
}

.cis-site-footer a:hover {
	color: #8ce0e2;
}

.cis-site-footer :is( a, button ):focus-visible {
	outline: 3px solid #8ce0e2;
	outline-offset: 3px;
}

@media ( min-width: 48rem ) {
	.cis-page .cis-service-split {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.cis-page .cis-service-split--reverse .cis-service-split__content {
		order: 2;
	}

	.cis-page .cis-service-split--reverse .cis-service-split__media {
		order: 1;
	}
}

@media ( max-width: 47.99rem ) {
	.cis-page .cis-section {
		padding-inline: var( --cis-space-md );
	}

	.cis-page .wp-block-buttons {
		align-items: stretch;
	}

	.cis-page .wp-block-button {
		width: 100%;
	}

	.cis-page .wp-block-button__link {
		display: block;
		width: 100%;
		text-align: center;
	}
	.cis-footer-inner { grid-template-columns: 1fr; }
	.cis-footer-bottom { grid-column: 1; align-items: flex-start; flex-direction: column; }
}

@media ( prefers-reduced-motion: reduce ) {
	.cis-page .wp-block-button__link,
	.cis-page .cis-button {
		transition: none;
	}
}

/* CIS V1.1 — premium corporate refinement */
.cis-page {
	--cis-navy: #071f33;
	--cis-navy-2: #0a304c;
	--cis-blue: #087bb8;
	--cis-teal: #08a6a6;
	--cis-cyan: #33c5d8;
	--cis-surface: #f2f8fa;
	--cis-ink: #0b2639;
	--cis-muted: #536b7a;
	--cis-border: #d5e5e9;
	--cis-shadow: 0 24px 60px rgba( 7, 31, 51, .10 );
	--cis-radius: 1.15rem;
	font-family: Inter, "Aptos", "Segoe UI", Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.72;
}
.cis-page h1,.cis-page h2,.cis-page h3,.cis-page .cis-hero-title { font-family: "Aptos Display", Inter, "Segoe UI", Arial, sans-serif; font-weight: 650; }
.cis-page img { max-width:100%; height:auto; }
.cis-page h1 { font-size: clamp(2.75rem,5.5vw,5.3rem); letter-spacing: -.055em; }
.cis-page h2 { font-size: clamp(2.2rem,4vw,4rem); letter-spacing: -.045em; }
.cis-page h3 { letter-spacing: -.02em; }
.cis-page .cis-section { position: relative; padding-block: clamp(5rem,9vw,8.5rem); }
.cis-page .cis-section__inner { width: min(78rem,100%); padding-inline: clamp(1.4rem,4vw,3rem); }
.cis-page .cis-eyebrow { color: var(--cis-teal); font-size: .72rem; letter-spacing: .18em; margin-bottom: 1.25rem; }
.cis-page .cis-lead { line-height: 1.65; }
.cis-home-hero { min-height: min(52rem,calc(100vh - 5rem)); margin: 0; border-radius: 0; }
.cis-home-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,20,34,.92) 0%,rgba(3,20,34,.56) 48%,rgba(3,20,34,.08) 80%); }
.cis-home-hero .cis-hero__media img { object-position:center; }
.cis-home-hero .cis-hero__content { width:min(84rem,100%); margin:auto; align-items:center; padding:clamp(5rem,10vw,9rem) clamp(1.4rem,5vw,4rem); }
.cis-home-hero .cis-hero__panel { max-width:48rem; padding:0; border:0; background:transparent; box-shadow:none; }
.cis-home-hero .cis-hero-title { margin:0 0 1.5rem; color:#fff; font-size:clamp(3.15rem,7vw,6.6rem); line-height:.96; letter-spacing:-.065em; }
.cis-home-hero .cis-lead { max-width:43rem; color:#d9ebf0; font-size:clamp(1rem,1.6vw,1.25rem); }
.cis-home-hero .wp-block-buttons { margin-top:2.4rem; }
.cis-hero-rail { position:absolute; z-index:3; right:clamp(1.5rem,4vw,4rem); bottom:2rem; display:flex; gap:1rem; color:#d9edf2; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.cis-hero-rail span+span::before { content:"/"; margin-right:1rem; color:var(--cis-cyan); }
.cis-page .wp-block-button__link,.cis-page .cis-button { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:.9rem 1.4rem; border-radius:.35rem; font-size:.86rem; letter-spacing:.02em; }
.cis-page .cis-button { text-decoration:none; }
.cis-intro { overflow:hidden; }
.cis-intro::before { content:"CIS"; position:absolute; right:-.04em; top:50%; transform:translateY(-50%); color:#eef5f7; font-size:clamp(10rem,25vw,24rem); font-weight:800; letter-spacing:-.1em; line-height:1; pointer-events:none; }
.cis-intro-grid { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(3rem,8vw,8rem); align-items:start; }
.cis-intro-grid h1 { max-width:13ch; }
.cis-intro-grid>div:last-child { padding-top:2rem; }
.cis-arrow-link { display:inline-flex; gap:.8rem; align-items:center; margin-top:1.3rem; color:var(--cis-blue); font-weight:750; text-decoration:none; }
.cis-arrow-link span { transition:transform .2s ease; }
.cis-arrow-link:hover span { transform:translateX(.35rem); }
.cis-service-split { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(3rem,8vw,8rem); }
.cis-service-copy { position:relative; padding-block:1rem; }
.cis-section-number { position:absolute; right:0; top:-1rem; color:#dcebee; font-size:clamp(4rem,8vw,7rem); font-weight:750; line-height:1; }
.cis-service-copy h2 span { color:var(--cis-teal); }
.cis-pill-list { display:flex; flex-wrap:wrap; gap:.55rem; padding:0; margin:2rem 0; list-style:none; }
.cis-pill-list li { padding:.45rem .8rem; border:1px solid var(--cis-border); border-radius:999px; color:var(--cis-muted); font-size:.76rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.cis-engineering-placeholder { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:30rem; overflow:hidden; padding:2rem; border-radius:var(--cis-radius); background:linear-gradient(145deg,#0a3954,#0b7180); color:#fff; box-shadow:var(--cis-shadow); }
.cis-engineering-placeholder::before,.cis-engineering-placeholder::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
.cis-engineering-placeholder::before { width:26rem; height:26rem; right:-8rem; top:-8rem; }
.cis-engineering-placeholder::after { width:17rem; height:17rem; right:-3rem; top:-3rem; }
.cis-engineering-placeholder span { position:relative; font-size:clamp(4rem,9vw,7.5rem); font-weight:750; line-height:.8; letter-spacing:-.08em; opacity:.9; }
.cis-engineering-placeholder small { position:relative; margin-top:1.5rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.35); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.cis-service-section:nth-of-type(odd) .cis-engineering-placeholder { background:linear-gradient(145deg,#073352,#078c94); }
.cis-aquazyme-flagship { overflow:hidden; background:var(--cis-navy); color:#fff; }
.cis-aquazyme-flagship::before { content:"A"; position:absolute; right:-.06em; top:-.3em; color:rgba(255,255,255,.035); font-size:38rem; font-weight:850; line-height:1; }
.cis-flagship-head { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:end; margin-bottom:4rem; }
.cis-flagship-head h2 { margin-bottom:0; font-size:clamp(4rem,9vw,8rem); color:#fff; }
.cis-flagship-head .cis-lead { color:#bfd7de; }
.cis-flagship-grid { position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.cis-flagship-grid figure { margin:0; padding:2rem; border-radius:1.2rem; background:#fff; box-shadow:0 30px 70px rgba(0,0,0,.28); }
.cis-flagship-grid figure img { display:block; width:100%; height:auto; }
.cis-flagship-label { color:#67d9de; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
.cis-variant-list { display:flex; flex-direction:column; margin-block:1.5rem; border-top:1px solid rgba(255,255,255,.18); }
.cis-variant-list span { padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.18); font-weight:700; letter-spacing:.025em; }
.cis-format-row { display:flex; gap:1rem; margin:1.5rem 0 2rem; }
.cis-format-row div { flex:1; padding:1rem; border:1px solid rgba(255,255,255,.2); border-radius:.45rem; }
.cis-format-row small,.cis-format-row strong { display:block; }
.cis-format-row small { color:#86dce2; font-size:.65rem; letter-spacing:.15em; }
.cis-format-row strong { margin-top:.2rem; font-size:1.25rem; }
.cis-aquazyme-flagship .cis-button { background:var(--cis-cyan); border-color:var(--cis-cyan); color:var(--cis-navy); }
.cis-product-frame { position:relative; margin:0; padding:2.5rem; border-radius:var(--cis-radius); background:#fff; box-shadow:var(--cis-shadow); }
.cis-product-frame::before { content:"PRODUCT RANGE"; position:absolute; top:1rem; left:1.2rem; color:var(--cis-teal); font-size:.62rem; font-weight:800; letter-spacing:.16em; }
.cis-product-frame img { display:block; width:100%; }
.cis-section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:end; margin-bottom:4rem; }
.cis-value-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--cis-border); border-left:1px solid var(--cis-border); }
.cis-value-grid article { min-height:20rem; padding:2rem; border-right:1px solid var(--cis-border); border-bottom:1px solid var(--cis-border); background:#fff; transition:background .2s ease,transform .2s ease; }
.cis-value-grid article:hover { position:relative; transform:translateY(-4px); background:var(--cis-surface); }
.cis-value-grid article>span { color:var(--cis-teal); font-size:.72rem; font-weight:800; }
.cis-value-grid h3 { margin-top:5rem; }
.cis-final-cta { overflow:hidden; background:linear-gradient(120deg,#058b99,#0872a6); color:#fff; }
.cis-final-cta::after { content:""; position:absolute; width:25rem; height:25rem; right:-8rem; bottom:-15rem; border:1px solid rgba(255,255,255,.25); border-radius:50%; box-shadow:0 0 0 4rem rgba(255,255,255,.035),0 0 0 8rem rgba(255,255,255,.025); }
.cis-final-cta .cis-section__inner { display:grid; grid-template-columns:1.15fr .85fr; gap:4rem; align-items:end; }
.cis-final-cta h2 { max-width:14ch; color:#fff; }
.cis-final-cta p { color:#dff6f8; }
.cis-button--light { background:#fff !important; border-color:#fff !important; color:var(--cis-navy) !important; }
.cis-page:not(:has(.cis-home-hero)) > .cis-section:first-child { overflow:hidden; padding-top:clamp(6rem,10vw,9rem); background:linear-gradient(125deg,var(--cis-navy),#0b5270); }
.cis-page:not(:has(.cis-home-hero)) > .cis-section:first-child::after { content:""; position:absolute; width:28rem; height:28rem; right:-9rem; top:-12rem; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 5rem rgba(255,255,255,.025); }
.cis-page .cis-card { border:1px solid var(--cis-border); border-radius:.75rem; box-shadow:0 14px 34px rgba(7,31,51,.07); }
.cis-page .cis-card:hover { border-color:#acd8de; }
.cis-page .cis-cta { border-radius:1rem; background:linear-gradient(120deg,var(--cis-navy),#0a5d70); }
.cis-site-footer { border-top:4px solid var(--cis-teal); }
.cis-footer-inner { gap:clamp(2rem,5vw,5rem); }
.cis-site-footer nav a,.cis-footer-contact a { opacity:.82; }
.cis-site-footer nav a:hover,.cis-footer-contact a:hover { opacity:1; }
.site-header-wrap .site-header-row-container-inner { border-bottom:1px solid rgba(7,31,51,.08); box-shadow:0 8px 28px rgba(7,31,51,.04); }
.site-header-wrap .site-main-header-wrap .site-header-row-container-inner { min-height:78px; }
.site-header-wrap .site-branding img { max-height:48px; width:auto; }
.site-header-wrap .site-title { font-size:clamp(1rem,1.6vw,1.35rem); line-height:1.1; white-space:nowrap; }
.site-header-wrap .primary-menu-container > ul > li > a { font-size:.86rem; font-weight:700; letter-spacing:.01em; }
.site-header-wrap .primary-menu-container .cis-nav-cta > a { min-height:auto; margin-left:.6rem; padding:.75rem 1.1rem; border-radius:.35rem; background:var(--global-palette1,#087bb8); color:#fff !important; }
.site-header-wrap .primary-menu-container .cis-nav-cta > a:hover { background:#08a6a6; }

@media(max-width:64rem){
	.cis-value-grid{grid-template-columns:repeat(2,1fr)}
	.cis-flagship-grid,.cis-flagship-head{grid-template-columns:1fr}
	.cis-flagship-head{margin-bottom:3rem}
}
@media(max-width:47.99rem){
	.cis-home-hero{min-height:44rem}
	.cis-home-hero{border-radius:0}
	.cis-home-hero::after{background:linear-gradient(90deg,rgba(3,20,34,.92),rgba(3,20,34,.55))}
	.cis-home-hero .cis-hero__media img{object-position:62% center}
	.cis-hero-rail{display:none}
	.cis-intro-grid,.cis-service-split,.cis-section-heading,.cis-final-cta .cis-section__inner{grid-template-columns:1fr;gap:2rem}
	.cis-intro-grid>div:last-child{padding-top:0}
	.cis-service-split--reverse .cis-service-split__content,.cis-service-split--reverse .cis-service-copy{order:initial}
	.cis-service-split--reverse .cis-engineering-placeholder,.cis-service-split--reverse .cis-product-frame{order:initial}
	.cis-engineering-placeholder{min-height:20rem}
	.cis-section-number{top:0}
	.cis-flagship-head h2{font-size:clamp(3.6rem,18vw,5rem)}
	.cis-flagship-grid figure{padding:1rem}
	.cis-value-grid{grid-template-columns:1fr}
	.cis-value-grid article{min-height:15rem}
	.cis-value-grid h3{margin-top:3rem}
	.cis-final-cta{padding-inline:0}
}

/* CIS V2 publication polish */
.cis-engineering-panel {
	position:relative; display:flex; flex-direction:column; justify-content:flex-end;
	min-height:26rem; overflow:hidden; padding:clamp(1.5rem,4vw,2.5rem);
	border:1px solid rgba(255,255,255,.15); border-radius:var(--cis-radius);
	background:linear-gradient(145deg,#092d49 0%,#0b6e7b 100%); color:#fff;
	box-shadow:var(--cis-shadow);
}
.cis-engineering-panel::before { content:""; position:absolute; width:25rem; height:25rem; right:-10rem; top:-10rem; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.02); }
.cis-engineering-panel::after { content:""; position:absolute; inset:auto 2.5rem 7.5rem; height:1px; background:rgba(255,255,255,.25); }
.cis-engineering-panel span,.cis-engineering-panel strong,.cis-engineering-panel small { position:relative; z-index:1; }
.cis-engineering-panel span { color:#77e1e4; font-size:.7rem; font-weight:800; letter-spacing:.17em; }
.cis-engineering-panel strong { max-width:12ch; margin:.6rem 0 1.1rem; font-size:clamp(2rem,4vw,3.5rem); line-height:1.02; letter-spacing:-.04em; }
.cis-engineering-panel small { padding-top:1rem; border-top:1px solid rgba(255,255,255,.24); color:#d8eef1; font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; }
.cis-inner-hero .cis-section__inner { position:relative; z-index:1; }
.cis-inner-hero h1 { max-width:15ch; }
.cis-inner-hero .cis-lead { max-width:46rem; }
.cis-capability-showcase { overflow:hidden; }
.cis-capability-showcase::before { content:"R/U/B"; position:absolute; right:-.04em; top:.1em; color:#edf5f7; font-size:clamp(8rem,20vw,18rem); font-weight:850; letter-spacing:-.1em; line-height:1; }
.cis-capability-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.cis-capability-grid article { min-height:25rem; display:flex; flex-direction:column; justify-content:flex-end; padding:2rem; border-radius:.8rem; background:var(--cis-navy); color:#fff; box-shadow:var(--cis-shadow); }
.cis-capability-grid article:nth-child(2) { background:linear-gradient(145deg,#0a4863,#087e8b); }
.cis-capability-grid article:nth-child(3) { background:linear-gradient(145deg,#087b9e,#16a6aa); }
.cis-capability-grid article>span { margin-bottom:auto; color:#7ce1e4; font-size:.72rem; font-weight:800; }
.cis-capability-grid h3 { color:#fff; font-size:clamp(1.5rem,2.5vw,2.2rem); }
.cis-capability-grid p { color:#d9ebef; }
.cis-workflow--premium { grid-template-columns:repeat(7,1fr); gap:0; }
.cis-workflow--premium li { min-height:13rem; padding:1.25rem; border-radius:0; border-right:0; }
.cis-workflow--premium li:last-child { border-right:1px solid var(--cis-border); }
.cis-workflow--premium strong,.cis-workflow--premium small { display:block; }
.cis-workflow--premium small { margin-top:.8rem; color:var(--cis-muted); font-size:.72rem; font-weight:400; line-height:1.5; }
.cis-project-apps,.cis-editorial-intro { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,8rem); align-items:start; }
.cis-app-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--cis-border); }
.cis-app-list span { padding:1.25rem .5rem; border-bottom:1px solid var(--cis-border); font-weight:700; }
.cis-topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.cis-topic-grid article { position:relative; min-height:18rem; overflow:hidden; padding:2rem; border:1px solid var(--cis-border); border-radius:.75rem; background:#fff; box-shadow:0 12px 30px rgba(7,31,51,.06); }
.cis-topic-grid article::after { content:""; position:absolute; width:8rem; height:8rem; right:-4rem; bottom:-4rem; border:1px solid #cce3e7; border-radius:50%; }
.cis-topic-grid article>span { color:var(--cis-teal); font-size:.72rem; font-weight:800; }
.cis-topic-grid h3 { margin-top:4rem; font-size:1.45rem; }
.cis-empty-editorial { padding:clamp(2rem,6vw,5rem); border-radius:1rem; background:linear-gradient(120deg,#edf7f8,#f8fbfc); border:1px solid var(--cis-border); }
.cis-empty-editorial>span { color:var(--cis-teal); font-size:.7rem; font-weight:800; letter-spacing:.16em; }
.cis-empty-editorial h3 { margin-top:1rem; font-size:clamp(1.8rem,3vw,2.6rem); }
.cis-technical-consult { padding:clamp(2rem,5vw,4rem); border-left:.35rem solid var(--cis-teal); border-radius:0 .8rem .8rem 0; background:linear-gradient(120deg,#edf8f8,#f8fbfc); }
.cis-technical-consult strong { font-size:clamp(1.35rem,2.5vw,2rem); color:var(--cis-navy); }
.cis-site-footer { padding-top:clamp(4rem,7vw,6rem); }
.cis-footer-brand strong { font-size:1.2rem; }
.cis-footer-contact a { line-height:1.45; }

@media(max-width:64rem){
	.cis-workflow--premium{grid-template-columns:repeat(4,1fr)}
	.cis-capability-grid{grid-template-columns:1fr}
	.cis-capability-grid article{min-height:18rem}
	.cis-topic-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:47.99rem){
	.cis-engineering-panel{min-height:20rem}
	.cis-workflow--premium{grid-template-columns:1fr}
	.cis-workflow--premium li{min-height:auto;border-right:1px solid var(--cis-border);border-bottom:0}
	.cis-workflow--premium li:last-child{border-bottom:1px solid var(--cis-border)}
	.cis-project-apps,.cis-editorial-intro{grid-template-columns:1fr;gap:2rem}
	.cis-app-list,.cis-topic-grid{grid-template-columns:1fr}
	.cis-topic-grid article{min-height:14rem}
	.cis-topic-grid h3{margin-top:2.5rem}
}

/* CIS V2.2 — mobile publication finish */
.cis-capability-showcase > .cis-section__inner {
	position: relative;
	z-index: 1;
}

.cis-home-hero .wp-block-button.is-style-cis-secondary .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.65);
	background: rgba(3, 28, 46, 0.48);
}

.cis-home-hero .wp-block-button.is-style-cis-secondary .wp-block-button__link:hover,
.cis-home-hero .wp-block-button.is-style-cis-secondary .wp-block-button__link:focus-visible {
	color: #062e46;
	border-color: #fff;
	background: #fff;
}
@media ( max-width: 47.99rem ) {
	/* Compact Kadence mobile branding without altering the official logo asset. */
	.site-mobile-header-wrap .site-main-header-wrap .site-header-row-container-inner,
	.site-mobile-header-wrap .site-main-header-inner-wrap,
	.site-mobile-header-wrap .site-header-section {
		min-height: 76px !important;
	}

	.site-mobile-header-wrap .site-container {
		padding-inline: 1rem;
	}

	.site-mobile-header-wrap .site-main-header-inner-wrap {
		grid-template-columns: minmax( 0, 1fr ) auto;
		align-items: center;
	}

	.site-mobile-header-wrap .mobile-site-branding,
	.site-mobile-header-wrap .mobile-site-branding .brand {
		width: 100%;
		min-width: 0;
	}

	.site-mobile-header-wrap .mobile-site-branding .brand {
		display: flex;
		align-items: center;
		gap: 0.75rem;
	}

	.site-mobile-header-wrap .mobile-site-branding img.custom-logo {
		width: 78px !important;
		max-width: 78px !important;
		height: auto !important;
		max-height: 58px !important;
		object-fit: contain;
		flex: 0 0 auto;
	}

	.site-mobile-header-wrap .mobile-site-branding .site-title-wrap {
		width: auto;
		min-width: 0;
		flex: 1 1 auto;
	}

	.site-mobile-header-wrap .mobile-site-branding .site-title {
		max-width: 9.5rem;
		margin: 0;
		font-size: 0.95rem !important;
		font-weight: 750;
		line-height: 1.08 !important;
		letter-spacing: -0.015em;
		white-space: normal !important;
	}

	.site-mobile-header-wrap .mobile-toggle-open-container .menu-toggle-open {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid #d5e5e9;
		border-radius: 50%;
		background: #f7fbfc;
		color: #0b2639;
	}

	.popup-navigation-drawer .drawer-inner {
		width: min( 88vw, 21rem );
		box-shadow: -20px 0 60px rgba( 3, 20, 34, 0.28 );
	}

	.popup-navigation-drawer .drawer-content {
		padding: 4.25rem 1.25rem 2rem;
	}

	.popup-navigation-drawer .mobile-navigation a {
		min-height: 3.25rem;
		display: flex;
		align-items: center;
		padding-inline: 0.75rem;
		font-size: 0.92rem;
	}

	.popup-navigation-drawer .mobile-navigation .cis-nav-cta > a {
		margin-top: 0.75rem;
		border: 1px solid #33c5d8;
		border-radius: 0.4rem;
		background: #087bb8;
		color: #fff;
		justify-content: center;
	}

	/* Use the full mobile canvas; avoid the earlier double horizontal padding. */
	.cis-page .cis-section {
		padding: clamp( 3.75rem, 14vw, 4.5rem ) 0;
	}

	.cis-page .cis-section__inner {
		width: 100%;
		padding-inline: 1.25rem;
	}

	.cis-page :is( h1, .cis-heading-1 ) {
		font-size: clamp( 2.15rem, 10vw, 2.75rem );
		line-height: 1.07;
		letter-spacing: -0.045em;
	}

	.cis-page :is( h2, .cis-heading-2 ) {
		font-size: clamp( 1.8rem, 8vw, 2.25rem );
		line-height: 1.12;
		letter-spacing: -0.035em;
	}

	.cis-page :is( h3, .cis-heading-3 ) {
		font-size: clamp( 1.2rem, 5.6vw, 1.45rem );
	}

	.cis-page .cis-eyebrow {
		margin-bottom: 0.9rem;
		font-size: 0.68rem;
		line-height: 1.45;
	}

	.cis-page .cis-lead,
	.cis-inner-hero .cis-lead {
		font-size: 1rem;
		line-height: 1.62;
	}

	.cis-page:not(:has(.cis-home-hero)) > .cis-section:first-child {
		padding-block: clamp( 3.75rem, 15vw, 4.75rem );
	}

	.cis-home-hero {
		min-height: 590px;
	}

	.cis-home-hero .cis-hero__content {
		align-items: center;
		padding: 3.5rem 1.25rem 3.25rem;
	}

	.cis-home-hero .cis-hero-title {
		max-width: none;
		margin-bottom: 1.15rem;
		font-size: clamp( 2.7rem, 12vw, 3.4rem );
		line-height: 0.98;
		letter-spacing: -0.055em;
	}

	.cis-home-hero .wp-block-buttons,
	.cis-page .wp-block-buttons {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0.75rem;
		margin-top: 1.75rem;
	}

	.cis-page .wp-block-button__link,
	.cis-page .cis-button {
		min-height: 50px;
		padding: 0.82rem 1rem;
		font-size: 0.84rem;
	}

	.cis-intro::before {
		right: -0.12em;
		top: 2.25rem;
		transform: none;
		font-size: 9rem;
	}

	.cis-intro-grid,
	.cis-service-split,
	.cis-section-heading,
	.cis-final-cta .cis-section__inner,
	.cis-flagship-grid,
	.cis-flagship-head {
		gap: 1.75rem;
	}

	.cis-section-heading,
	.cis-flagship-head {
		margin-bottom: 2.25rem;
	}

	.cis-service-copy {
		padding-block: 0;
	}

	.cis-section-number {
		top: -0.25rem;
		font-size: 3.75rem;
		opacity: 0.8;
	}

	.cis-pill-list {
		gap: 0.45rem;
		margin: 1.35rem 0;
	}

	.cis-pill-list li {
		padding: 0.38rem 0.68rem;
		font-size: 0.69rem;
	}

	.cis-engineering-panel,
	.cis-engineering-placeholder {
		min-height: 15.5rem;
		padding: 1.4rem;
		border-radius: 1rem;
	}

	.cis-engineering-panel::after {
		inset: auto 1.4rem 6.7rem;
	}

	.cis-engineering-panel strong {
		font-size: clamp( 2rem, 10vw, 2.75rem );
	}

	.cis-engineering-panel small {
		font-size: 0.64rem;
		line-height: 1.5;
	}

	.cis-flagship-head h2 {
		font-size: clamp( 3.35rem, 17vw, 4.4rem );
	}

	.cis-flagship-grid figure,
	.cis-product-frame {
		padding: 0.85rem;
		border-radius: 0.9rem;
	}

	.cis-product-frame {
		padding-top: 2.25rem;
	}

	.cis-variant-list span {
		padding-block: 0.72rem;
	}

	.cis-format-row {
		gap: 0.75rem;
	}

	.cis-format-row div {
		padding: 0.85rem;
	}

	.cis-value-grid article {
		min-height: auto;
		padding: 1.4rem;
	}

	.cis-value-grid h3 {
		margin-top: 1.75rem;
	}

	.cis-capability-grid article {
		min-height: 15rem;
		padding: 1.5rem;
	}

	.cis-workflow--premium li {
		padding: 1rem 1.15rem;
	}

	.cis-topic-grid article {
		min-height: 11.5rem;
		padding: 1.4rem;
	}

	.cis-topic-grid h3 {
		margin-top: 1.75rem;
	}

	.cis-empty-editorial,
	.cis-technical-consult,
	.cis-page .cis-card,
	.cis-page .cis-cta,
	.cis-page .cis-contact-method {
		padding: 1.5rem;
	}

	.cis-final-cta::after {
		width: 18rem;
		height: 18rem;
		right: -9rem;
		bottom: -11rem;
	}

	.cis-site-footer {
		padding-block: 3rem 5.75rem;
	}

	.cis-footer-inner {
		width: calc( 100% - 2.5rem );
		gap: 1.75rem;
	}

	.cis-site-footer .cis-brand-mark {
		max-width: 9rem;
	}

	.cis-site-footer nav,
	.cis-footer-contact {
		gap: 0;
	}

	.cis-site-footer nav a,
	.cis-footer-contact a {
		display: flex;
		align-items: center;
		min-height: 42px;
		border-bottom: 1px solid rgba( 255, 255, 255, 0.12 );
	}

	.cis-footer-bottom {
		gap: 1.25rem;
	}

	.cis-footer-cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 50px;
		border-radius: 0.4rem;
		background: rgba( 255, 255, 255, 0.06 );
	}
}

@media ( max-width: 23.75rem ) {
	.site-mobile-header-wrap .mobile-site-branding img.custom-logo {
		width: 70px !important;
		max-width: 70px !important;
	}

	.site-mobile-header-wrap .mobile-site-branding .site-title {
		max-width: 8rem;
		font-size: 0.88rem !important;
	}

	.cis-home-hero {
		min-height: 560px;
	}

	.cis-page .cis-section__inner {
		padding-inline: 1rem;
	}

	.cis-format-row {
		flex-direction: column;
	}
}
