/* ==========================================================================
   Wotomio — drawing-sheet world.
   Tokens come from theme.json; this file only aliases them.
   ========================================================================== */

:root {
	--paper: var(--wp--preset--color--paper);
	--paper-shade: var(--wp--preset--color--paper-shade);
	--ink: var(--wp--preset--color--ink);
	--ink-2: var(--wp--preset--color--ink-2);
	--ink-3: var(--wp--preset--color--ink-3);
	--raw: var(--wp--preset--color--raw);
	--treated: var(--wp--preset--color--treated);
	--stored: var(--wp--preset--color--stored);
	--signal: var(--wp--preset--color--signal);
	--valve: var(--wp--preset--color--valve);
	--alert: var(--wp--preset--color--alert);
	--white: var(--wp--preset--color--white);

	--f-display: var(--wp--preset--font-family--display);
	--f-body: var(--wp--preset--font-family--body);
	--f-mono: var(--wp--preset--font-family--mono);

	--line: 2px;
	--hair: 1px;
	--gutter: clamp(1rem, 4vw, 3rem);
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);

	accent-color: var(--stored);
	scrollbar-color: var(--ink-3) var(--paper-shade);
}

html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	background: var(--paper);
	color: var(--ink);
	caret-color: var(--stored);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-variant-numeric: tabular-nums;
}

::selection { background: var(--valve); color: var(--ink); }

::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--paper-shade); }
::-webkit-scrollbar-thumb { background: var(--ink-3); border: 3px solid var(--paper-shade); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--stored);
	outline-offset: 3px;
}

a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }

h1, h2, h3, h4 { text-wrap: balance; hyphens: manual; }
p { text-wrap: pretty; }

.skip-link.screen-reader-text:focus {
	background: var(--valve);
	color: var(--ink);
	font-family: var(--f-mono);
}

/* --------------------------------------------------------------------------
   Shared atoms
   -------------------------------------------------------------------------- */

.is-style-tag,
.title-block__label,
.nameplate__hint,
.nameplate dt {
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1.4;
}

.wp-block-button.is-style-line .wp-block-button__link {
	background: transparent;
	color: var(--ink);
	border-color: var(--ink);
}
.wp-block-button.is-style-line .wp-block-button__link:hover {
	background: var(--ink);
	color: var(--paper);
}
.wp-block-button.is-style-compact .wp-block-button__link {
	padding: 0.5rem 0.9rem;
	font-size: 1rem;
}

.wp-block-button__link {
	transition: background-color 180ms var(--ease-out), color 180ms var(--ease-out);
}
.wp-block-button__link:active { transform: translateY(1px); }

.empty-note {
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	color: var(--ink-2);
	border: var(--hair) dashed var(--ink-3);
	padding: 1.25rem 1.5rem;
	max-width: 60ch;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.site-header-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .site-header-part { top: var(--wp-admin--admin-bar--height, 0); }

.site-header {
	background: var(--paper);
	border-bottom: var(--line) solid var(--ink);
}
.site-header__bar {
	min-height: 4.25rem;
	gap: 1.5rem;
}
.site-brand { gap: 0.75rem; }
.site-brand .wp-block-site-logo img { max-height: 2.5rem; width: auto; }
.site-brand .wp-block-site-logo:not(:empty) + .wp-block-site-title { display: none; }
.site-header .wp-block-site-title a { color: var(--ink); }
.site-header__nav { gap: clamp(1rem, 2.5vw, 2rem); }
.site-header .wp-block-navigation-item__content { padding-block: 0.4rem; border-bottom: var(--line) solid transparent; }
.site-header .wp-block-navigation-item__content:hover { border-bottom-color: var(--ink); color: var(--ink); }

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--paper) !important;
	color: var(--ink) !important;
	padding: 1.5rem var(--gutter);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 2.25rem;
	letter-spacing: 0;
}


/* --------------------------------------------------------------------------
   Hero: the main drawing sheet
   -------------------------------------------------------------------------- */

.wotom-hero {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 2rem);
	row-gap: 0;
	max-width: 88rem;
	margin-inline: auto !important;
	padding: 2.25rem calc(1.25rem + clamp(1rem, 3vw, 2.5rem)) 1.25rem !important;
	border-inline: var(--line) solid var(--ink);
	border-bottom: var(--line) solid var(--ink);
}
.wotom-hero > * { margin-block: 0 !important; }

.sheet-ruler {
	position: absolute;
	inset: 0 0 auto 0;
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	height: 1.5rem;
	border-bottom: var(--hair) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	color: var(--ink-2);
}
.sheet-ruler span {
	display: grid;
	place-items: center;
	border-left: var(--hair) solid var(--ink);
}
.sheet-ruler span:first-child { border-left: 0; }

.sheet-side {
	position: absolute;
	top: 1.5rem;
	bottom: 0;
	width: 1.25rem;
	display: grid;
	grid-template-rows: repeat(4, 1fr);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	color: var(--ink-2);
}
.sheet-side--left { left: 0; border-right: var(--hair) solid var(--ink); }
.sheet-side--right { right: 0; border-left: var(--hair) solid var(--ink); }
.sheet-side span { display: grid; place-items: center; border-top: var(--hair) solid var(--ink); }
.sheet-side span:first-child { border-top: 0; }

.wotom-hero .title-block--hero {
	grid-column: 8 / -1;
	align-self: end;
	grid-template-columns: 1.3fr 1fr 0.6fr;
	margin-top: 0.75rem !important;
	border: var(--line) solid var(--ink);
	background: var(--white);
}
.title-block--hero .title-block__cell { padding: 0.45rem 0.75rem 0.55rem; }
.title-block--hero .title-block__value { font-family: var(--f-display); font-weight: 700; text-transform: uppercase; font-size: 0.9375rem; }

.wotom-hero__text {
	grid-column: 1 / span 8;
	padding-top: clamp(0.75rem, 1.5vw, 1.25rem);
}
.wotom-hero__title {
	font-size: clamp(3rem, 1.4rem + 4.6vw, 5.5rem) !important;
	line-height: 0.9 !important;
	max-width: 17ch;
	margin: 0 0 1.25rem !important;
}
.wotom-hero__title .is-ai { color: var(--signal); }
.wotom-hero__lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.4;
	max-width: 46ch;
	color: var(--ink-2);
	margin: 0 0 1.5rem !important;
}

.nameplate {
	grid-column: 9 / span 4;
	align-self: end;
	margin-bottom: 1.5rem !important;
	background: var(--white);
	border: var(--line) solid var(--ink);
	position: relative;
	font-size: 0.9375rem;
	line-height: 1.45;
}
.nameplate::before,
.nameplate::after {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ink-3);
	top: 8px;
	left: 8px;
	box-shadow: calc(100cqw - 22px) 0 0 var(--ink-3);
}
.nameplate { container-type: inline-size; }
.nameplate::after { top: auto; bottom: 8px; }
.nameplate__hint {
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	padding: 0.55rem 1.4rem;
	color: var(--ink-2);
	border-bottom: var(--hair) solid var(--ink);
}
.nameplate__head {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	padding: 0.85rem 1.4rem;
	background: var(--ink);
	color: var(--paper);
}
.nameplate__tag {
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--valve);
}
.nameplate__name {
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 1.375rem;
	line-height: 1;
	text-transform: uppercase;
}
.nameplate__rows { margin: 0; padding: 0.4rem 1.4rem 1.1rem; }
.nameplate__rows > div { padding-top: 0.7rem; }
.nameplate__rows > div + div { border-top: var(--hair) solid var(--paper-shade); margin-top: 0.7rem; }
.nameplate dt { color: var(--ink-3); margin-bottom: 0.2rem; }
.nameplate dd { margin: 0; }
.nameplate [data-np] { transition: opacity 160ms var(--ease-out); }
.nameplate.is-swapping [data-np] { opacity: 0; }

.pid-frame {
	grid-column: 1 / -1;
	margin: 1.25rem 0 0 !important;
	padding-top: 0.5rem;
	border-top: var(--hair) solid var(--ink);
}
.pid { display: block; width: 100%; height: auto; overflow: visible; }
.pid--tall { display: none; }

.pid-legend {
	grid-column: 1 / span 7;
	align-self: end;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.75rem;
	list-style: none;
	margin: 0.75rem 0 0 !important;
	padding: 0.85rem 0 0;
	border-top: var(--hair) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--ink-2);
}
.pid-legend li { display: flex; align-items: center; gap: 0.6rem; }
.pid-legend li::before {
	content: "";
	width: 2.25rem;
	height: 0;
	border-top: 4px solid currentColor;
}
.pid-legend__raw::before { color: var(--raw); }
.pid-legend__treated::before { color: var(--treated); }
.pid-legend__stored::before { color: var(--stored); }
.pid-legend__signal::before { color: var(--signal); border-top: 2px dashed currentColor !important; }

/* Diagram drawing ---------------------------------------------------------- */

.pid .pipe { fill: none; stroke-width: 4; stroke-linecap: square; stroke-linejoin: miter; }
.pid .pipe--raw { stroke: var(--raw); }
.pid .pipe--treated { stroke: var(--treated); }
.pid .pipe--stored { stroke: var(--stored); }
.pid .flow {
	fill: none;
	stroke: var(--paper);
	stroke-width: 1.6;
	stroke-dasharray: 3 15;
	stroke-linecap: round;
	opacity: 0.9;
}
.pid .arrow--raw { fill: var(--raw); }
.pid .arrow--treated { fill: var(--treated); }
.pid .arrow--stored { fill: var(--stored); }
.pid .signal { fill: none; stroke: var(--signal); stroke-width: 1.75; stroke-dasharray: 8 5; }

.pid .body { fill: var(--paper); stroke: var(--ink); stroke-width: 2; }
.pid .body--instrument { fill: var(--white); }
.pid .body--valve { fill: var(--valve); }
.pid .body--consumer { fill: var(--white); }
.pid .body--open { fill: none; }
.pid .edge { fill: none; stroke: var(--ink); stroke-width: 2; stroke-linecap: square; }
.pid .edge--dash { stroke-dasharray: 5 4; stroke-width: 1.5; }
.pid .level { fill: var(--stored); opacity: 0.14; }
.pid .level-line { stroke: var(--stored); stroke-width: 1.5; stroke-dasharray: 10 4; }
.pid .hit { fill: transparent; stroke: none; }

.pid text { fill: var(--ink); }
.pid .t-tag { font-family: var(--f-mono); font-size: 11px; font-weight: 500; fill: var(--ink-2); letter-spacing: 0.02em; }
.pid .t-name, .pid .t-inside {
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.pid .t-inside--tank { font-size: 19px; fill: var(--stored); }
.pid .t-name--signal { fill: var(--signal); }
.pid .t-bubble { font-family: var(--f-mono); font-size: 11px; font-weight: 700; }
.pid .t-bubble--num { font-weight: 500; }

.pid .eq { cursor: pointer; outline: none; }
.pid .eq .body, .pid .eq .edge { transition: stroke 160ms var(--ease-out); }
.pid .eq:hover .body,
.pid .eq:hover .edge,
.pid .eq.is-active .body,
.pid .eq.is-active .edge { stroke: var(--stored); stroke-width: 2.75; }
.pid .eq.is-active .t-name,
.pid .eq.is-active .t-inside { fill: var(--stored); }
.pid .eq:focus-visible .hit { stroke: var(--stored); stroke-width: 2; stroke-dasharray: 4 3; }

@media (prefers-reduced-motion: no-preference) {
	.pid .flow { animation: wotom-flow 1.1s linear infinite; }
	.pid .pipe { stroke-dasharray: 1; stroke-dashoffset: 1; animation: wotom-draw 900ms var(--ease-out) forwards; }
	.pid .pipe--raw { animation-delay: 150ms; }
	.pid .pipe--treated { animation-delay: 650ms; }
	.pid .pipe--stored { animation-delay: 1100ms; }
	.pid .flow--raw { animation-delay: 0ms; }
	.pid .signal { opacity: 0; animation: wotom-fade 500ms var(--ease-out) 1700ms forwards, wotom-signal 1.6s linear 1700ms infinite; }
	.pid .level { transform-box: fill-box; transform-origin: bottom; animation: wotom-fill 1.4s var(--ease-out) 1100ms backwards; }
	.pid .agitator { animation: wotom-stir 1.4s ease-in-out infinite alternate; }
}

@keyframes wotom-flow { to { stroke-dashoffset: -18; } }
@keyframes wotom-draw { to { stroke-dashoffset: 0; } }
@keyframes wotom-fade { to { opacity: 1; } }
@keyframes wotom-signal { to { stroke-dashoffset: -26; } }
@keyframes wotom-fill { from { transform: scaleY(0.2); } }
@keyframes wotom-stir { from { transform: scaleX(1); } to { transform: scaleX(-1); } }

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */

.site-main--front > .wp-block-group,
.site-main--front > section { margin-block-start: 0 !important; }

.wotom-section {
	padding-block: var(--wp--preset--spacing--80) !important;
	border-bottom: var(--line) solid var(--ink);
}

.section-head {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 2rem);
	align-items: end;
	margin-bottom: var(--wp--preset--spacing--60) !important;
}
.section-head > * { margin: 0 !important; }
.section-head h2 { grid-column: 1 / span 7; }
.section-head__lead {
	grid-column: 8 / span 5;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.4;
	color: var(--ink-2);
	max-width: 36ch;
}
.section-head--row .section-head__link {
	grid-column: 9 / span 4;
	justify-self: end;
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* Services: section view A–A ------------------------------------------------ */

.section-view {
	--band: minmax(15rem, 25rem);
	display: grid;
	grid-template-columns: 1fr var(--band) 1fr;
	position: relative;
}
.section-view > * { margin: 0 !important; }
.section-view__legend,
.layer {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: subgrid;
	align-items: center;
}
.section-view__legend {
	padding-bottom: 1rem;
	color: var(--ink-2);
}
.section-view__legend > * { margin: 0 !important; }
.section-view__legend > :first-child { text-align: right; padding-right: 2rem; }
.section-view__legend > :nth-child(2) { text-align: center; }
.section-view__legend > :last-child { padding-left: 2rem; }

.layer > * { margin: 0 !important; }
.layer__business,
.layer__tech {
	position: relative;
	font-size: 1.0625rem;
	line-height: 1.45;
	padding-block: 1.25rem;
}
.layer__business { text-align: right; padding-right: 3.5rem; }
.layer__tech {
	padding-left: 3.5rem;
	font-size: 1rem;
	color: var(--ink-2);
}
.layer__business::after,
.layer__tech::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 2.75rem;
	border-top: var(--hair) solid var(--ink);
}
.layer__business::after { right: 0.5rem; }
.layer__tech::before { left: 0.5rem; }
.layer__business::before,
.layer__tech::after {
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ink);
}
.layer__business::before { right: 0.25rem; }
.layer__tech::after { left: 0.25rem; }

.layer__band {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.3rem;
	padding: 1.1rem 1.5rem;
	border-inline: var(--line) solid var(--ink);
	border-top: var(--line) solid var(--ink);
	color: var(--white);
	min-height: 7.5rem;
}
.layer__band > * { margin: 0 !important; }
.layer__band .is-style-tag { opacity: 0.85; }
.layer__name { font-size: clamp(1.5rem, 1.1rem + 1vw, 2rem) !important; line-height: 0.95 !important; color: inherit !important; }

.layer--ai .layer__band { background: var(--signal); border-radius: 50% 50% 0 0 / 3.25rem 3.25rem 0 0; padding-top: 2.25rem; }
.layer--model .layer__band { background: var(--white); color: var(--ink); }
.layer--warehouse .layer__band { background: var(--stored); }
.layer--etl .layer__band { background: var(--treated); }
.layer--sources .layer__band { background: var(--raw); border-bottom: var(--line) solid var(--ink); }

.layer--sources { position: relative; }
.layer--sources::after {
	content: "";
	grid-column: 1 / -1;
	height: 0.9rem;
	margin-top: -1px;
	border-top: var(--line) solid var(--ink);
	background: repeating-linear-gradient(-45deg, var(--ink) 0 1px, transparent 1px 9px);
	opacity: 0.55;
}

/* Process: commissioning stations ----------------------------------------- */

.stations {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0 clamp(1rem, 2vw, 2rem);
	list-style: none;
	padding: 0 !important;
	position: relative;
	counter-reset: none;
}
.stations::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 1.75rem;
	border-top: 4px solid var(--treated);
}
.station { position: relative; margin: 0 !important; padding-right: 0.5rem; }
.station > * { margin: 0 !important; }
.station__no {
	position: relative;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	border: var(--line) solid var(--ink);
	background: var(--white);
	font-family: var(--f-mono);
	font-size: 0.875rem;
	font-weight: 700;
}
.station__no::after {
	content: "";
	position: absolute;
	left: -2px;
	right: -2px;
	top: 50%;
	border-top: var(--line) solid var(--ink);
	display: none;
}
.station:first-child .station__no { background: var(--valve); }
.station__title {
	font-size: var(--wp--preset--font-size--h-4) !important;
	margin-top: 1.5rem !important;
	margin-bottom: 0.6rem !important;
}
.station__text { font-size: 1rem; color: var(--ink-2); line-height: 1.5; }

/* Audit: safety-yellow field ------------------------------------------------ */

.wotom-audit {
	background: var(--valve);
	color: var(--ink);
}
.audit {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 2rem);
	align-items: start;
}
.audit > * { margin: 0 !important; }
.audit__intro { grid-column: 1 / span 6; }
.audit__intro > * { margin-block: 0 1.5rem !important; }
.audit__intro .section-head__lead { color: var(--ink); max-width: 34ch; }
.audit__cta .wp-block-button__link { background: var(--ink); color: var(--valve); border-color: var(--ink); }
.audit__cta .wp-block-button__link:hover { background: var(--white); color: var(--ink); }

.protocol {
	grid-column: 8 / span 5;
	background: var(--white);
	border: var(--line) solid var(--ink);
	padding: 0 1.75rem 1.5rem;
	box-shadow: 0 18px 36px -24px rgb(14 26 38 / 0.55);
	transform: rotate(-0.6deg);
}
.protocol > * { margin-block: 0 !important; }
.protocol__head {
	display: flex;
	justify-content: space-between;
	margin-inline: -1.75rem !important;
	padding: 0.6rem 1.75rem;
	border-bottom: var(--line) solid var(--ink);
	color: var(--ink-2);
}
.protocol__head > * { margin: 0 !important; }
.protocol h3 { font-size: var(--wp--preset--font-size--h-4) !important; margin-top: 1.25rem !important; margin-bottom: 1rem !important; }
.protocol__foot {
	margin-top: 1.25rem !important;
	padding-top: 1rem;
	border-top: var(--hair) dashed var(--ink-3);
	font-size: 0.9375rem;
	color: var(--ink-2);
}

.is-style-checklist { list-style: none; padding: 0 !important; margin: 0; }
.is-style-checklist li {
	position: relative;
	padding: 0.75rem 0 0.75rem 2.25rem;
	border-top: var(--hair) solid var(--paper-shade);
	line-height: 1.45;
}
.is-style-checklist li:first-child { border-top: 0; }
.is-style-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85rem;
	width: 1.15rem;
	height: 1.15rem;
	border: var(--line) solid var(--ink);
	background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%2323724A' stroke-width='2.4' stroke-linecap='square'/%3E%3C/svg%3E") center / 80% no-repeat;
}

/* Case studies: drawing register ------------------------------------------- */

.case-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
	gap: clamp(1rem, 2vw, 2rem);
	list-style: none;
	padding: 0 !important;
}
.case-grid > li { margin: 0 !important; display: flex; }
.case-sheet {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--white);
	border: var(--line) solid var(--ink);
	transition: border-color 180ms var(--ease-out);
}
.case-sheet:hover { border-color: var(--stored); }
.case-sheet:hover .title-block { border-top-color: var(--stored); }
.case-sheet > * { margin: 0 !important; }
.case-sheet__image { border-bottom: var(--line) solid var(--ink); }
.case-sheet__image img { display: block; }
.case-sheet__body { flex: 1; padding: 1.5rem 1.5rem 1.75rem; }
.case-sheet__body > * { margin: 0 !important; }
.case-sheet__title { font-size: var(--wp--preset--font-size--h-4) !important; margin-bottom: 0.75rem !important; }
.case-sheet__title a:hover { color: var(--stored); }
.case-sheet__excerpt { color: var(--ink-2); font-size: 1rem; }
.case-sheet__excerpt p { margin: 0; }

/* Title block (case sheets, single case, footer) --------------------------- */

.title-block {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: var(--line) solid var(--ink);
}
.title-block > * { margin: 0 !important; }
.title-block__cell {
	padding: 0.7rem 1rem 0.8rem;
	border-left: var(--hair) solid var(--ink);
	min-width: 0;
}
.title-block__cell:first-child { border-left: 0; }
.title-block__cell > * { margin: 0 !important; }
.title-block__label { color: var(--ink-3); margin-bottom: 0.2rem !important; font-size: 0.6875rem !important; }
.title-block__value { font-size: 0.9375rem; line-height: 1.35; overflow-wrap: anywhere; }
.title-block__value a { text-decoration: none; }
.title-block__value:empty::before { content: "—"; color: var(--ink-3); }

.title-block--case {
	grid-template-columns: 1fr 1fr 2fr;
	border: var(--line) solid var(--ink);
	background: var(--white);
	margin-block: 2rem !important;
}
.title-block__value--result { font-family: var(--f-display); font-weight: 700; font-size: 1.25rem; text-transform: uppercase; line-height: 1.1; }

/* Contact: ink field --------------------------------------------------------- */

.wotom-contact {
	background: var(--ink);
	color: var(--paper);
	border-bottom: 0 !important;
}
.wotom-contact h2 { color: var(--paper); }
.wotom-contact a:not(.wp-block-button__link) { color: var(--paper); }
.wotom-contact .wp-block-button__link { color: var(--ink); }
.wotom-contact .wp-block-button__link:hover { background: var(--paper); color: var(--ink); }
.contact {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 2rem);
	align-items: end;
}
.contact > * { margin: 0 !important; }
.contact__intro { grid-column: 1 / span 7; }
.contact__intro > * { margin-block: 0 1.5rem !important; }
.contact__intro .section-head__lead { color: #C9D2D9; max-width: 38ch; margin-bottom: 0 !important; }
.contact__plate {
	grid-column: 9 / span 4;
	border: var(--hair) solid #6F7E8B;
	padding: 1.25rem 1.5rem 1.5rem;
}
.contact__plate > * { margin-block: 0 !important; }
.contact__plate .title-block__label { color: #A8B4BE; }
.contact__value {
	font-family: var(--f-display);
	font-weight: 700;
	font-size: clamp(1.375rem, 1rem + 1vw, 1.875rem);
	line-height: 1.1;
	margin-bottom: 1rem !important;
	overflow-wrap: anywhere;
}
.contact__value a { text-decoration: none; border-bottom: var(--hair) solid #6F7E8B; }
.contact__value a:hover { color: var(--valve); border-bottom-color: var(--valve); }
.contact__plate .wp-block-buttons { margin-top: 0.5rem !important; }
.wotom-contact :focus-visible { outline-color: var(--valve); }

/* --------------------------------------------------------------------------
   Footer: title block of the whole site
   -------------------------------------------------------------------------- */

.site-footer-part { margin-top: 0 !important; }
.site-footer { background: var(--paper); padding-block: 2.5rem 3rem !important; }
.title-block--site {
	grid-template-columns: 2fr 1fr 1.2fr 1fr;
	border: var(--line) solid var(--ink);
	background: var(--paper);
}
.title-block--site .title-block__cell { padding: 1rem 1.25rem 1.2rem; }
.title-block__cell--brand .wp-block-site-title { font-size: 2.5rem; margin-bottom: 0.5rem !important; }
.title-block__cell--brand .title-block__value { max-width: 34ch; color: var(--ink-2); }
.footer-nav { gap: 0.3rem !important; font-size: 0.8125rem; }
.footer-nav a:hover { color: var(--stored); }

/* --------------------------------------------------------------------------
   Inner pages
   -------------------------------------------------------------------------- */

.site-main:not(.site-main--front) { padding-bottom: var(--wp--preset--spacing--70); }
.site-main--canvas { padding-bottom: 0 !important; }

.page-head {
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
	border-bottom: var(--line) solid var(--ink);
	margin-bottom: var(--wp--preset--spacing--60) !important;
}
.page-head > * { margin-block: 0 1rem !important; }
.page-head h1, .page-head .wp-block-post-title, .page-head .wp-block-query-title {
	font-size: clamp(2.75rem, 1.5rem + 4vw, 5rem);
	max-width: 18ch;
}
.page-head .section-head__lead { max-width: 48ch; font-size: var(--wp--preset--font-size--lead); color: var(--ink-2); }

.register__list { list-style: none; padding: 0 !important; margin: 0; border-top: var(--line) solid var(--ink); }
.register__list > li { margin: 0 !important; }
.register__row {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: baseline;
	padding-block: 1.5rem;
	border-bottom: var(--hair) solid var(--ink);
}
.register__row > * { margin: 0 !important; }
.register__title { font-size: var(--wp--preset--font-size--h-4) !important; }
.register__title a:hover { color: var(--stored); }
.register__excerpt { color: var(--ink-2); font-size: 1rem; }
.register__excerpt p { margin: 0; }
.register__pages { margin-top: 2rem !important; font-family: var(--f-mono); }
.register__pages .page-numbers.current { background: var(--ink); color: var(--paper); padding: 0.1rem 0.5rem; }

.sheet { padding-top: var(--wp--preset--spacing--70); }
.sheet__meta {
	gap: 0.5rem 1.5rem;
	padding-bottom: 1rem;
	border-bottom: var(--hair) solid var(--ink);
}
.sheet__title { font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.5rem) !important; }
.sheet__lead { font-size: var(--wp--preset--font-size--lead); color: var(--ink-2); }
.sheet__image { border: var(--line) solid var(--ink); }
.sheet__nav {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: 1rem;
	border-top: var(--line) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.8125rem;
}

.entry > * + * { margin-block-start: 1.25rem; }
.entry h2 { font-size: var(--wp--preset--font-size--h-3); margin-block-start: 3rem !important; }
.entry h3 { font-size: var(--wp--preset--font-size--h-4); margin-block-start: 2.25rem !important; }
.entry ul:not(.is-style-checklist), .entry ol { padding-left: 1.25rem; }
.entry li::marker { color: var(--ink-3); font-family: var(--f-mono); }
.entry figcaption { text-align: left; }

.wp-block-table.is-style-schedule table,
.entry .wp-block-table table { border-collapse: collapse; width: 100%; border: var(--line) solid var(--ink); }
.wp-block-table th {
	font-family: var(--f-mono);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-align: left;
	background: var(--paper-shade);
}
.wp-block-table th, .wp-block-table td { border: var(--hair) solid var(--ink); padding: 0.6rem 0.85rem; }

.wp-block-search__input {
	border: var(--line) solid var(--ink);
	border-radius: 0;
	background: var(--white);
	padding: 0.7rem 0.9rem;
	font-family: var(--f-mono);
}
.wp-block-search__button {
	border: var(--line) solid var(--ink);
	border-radius: 0;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-display);
	font-weight: 800;
	text-transform: uppercase;
	margin-left: -2px !important;
}
.wp-block-search__button:hover { background: var(--valve); color: var(--ink); }

.not-found { padding-block: var(--wp--preset--spacing--80); }
.not-found > * { margin-block: 0 1.5rem !important; }
.not-found__code {
	display: inline-block;
	background: var(--alert);
	color: var(--white);
	padding: 0.3rem 0.6rem;
}
.not-found .wp-block-search { max-width: 32rem; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.wotom-hero__text { grid-column: 1 / -1; }
	.nameplate { grid-column: 1 / -1; order: 3; margin-top: 1rem !important; max-width: 36rem; }
	.pid-frame { order: 2; }
	.pid-legend { order: 4; grid-column: 1 / -1; }
	.wotom-hero .title-block--hero { order: 5; grid-column: 1 / -1; }

	.stations { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
	.stations::before { display: none; }
	.station { border-top: 4px solid var(--treated); padding-top: 0; }
	.station__no { margin-top: -1.9rem !important; }

	.protocol, .audit__intro, .contact__intro, .contact__plate { grid-column: 1 / -1; }
	.protocol { margin-top: 2rem !important; }
	.contact__plate { margin-top: 2rem !important; max-width: 30rem; }
}

@media (max-width: 781px) {
	.wotom-hero { padding: 2.25rem 1rem 1rem !important; }
	.sheet-side { display: none; }
	.sheet-ruler { grid-template-columns: repeat(4, 1fr); }
	.sheet-ruler span:nth-child(n + 5) { display: none; }
	.wotom-hero__title { font-size: clamp(2.75rem, 12vw, 4rem) !important; }
	.pid--wide { display: none; }
	.pid--tall { display: block; max-width: 26rem; margin-inline: auto; }
	.nameplate { max-width: none; }

	.section-head h2, .section-head__lead, .section-head--row .section-head__link { grid-column: 1 / -1; justify-self: start; }
	.section-head__lead { margin-top: 1rem !important; }

	.section-view { grid-template-columns: 1fr; }
	.section-view__legend { display: none; }
	.layer { grid-template-columns: 1fr; }
	.layer__band { order: -1; min-height: 0; }
	.layer--ai .layer__band { border-radius: 50% 50% 0 0 / 2rem 2rem 0 0; padding-top: 1.75rem; }
	.layer__business, .layer__tech {
		text-align: left;
		padding: 0.9rem 1rem 0 1.25rem;
		border-left: var(--line) solid var(--ink);
		border-right: var(--line) solid var(--ink);
	}
	.layer__tech { padding-bottom: 1.1rem; }
	.layer__business::after, .layer__business::before, .layer__tech::before, .layer__tech::after { display: none; }
	.layer--sources::after { grid-column: 1; }
	.layer--sources .layer__band { border-bottom: 0; }
	.layer--sources .layer__tech { border-bottom: var(--line) solid var(--ink); }

	.stations { grid-template-columns: 1fr; row-gap: 0; padding-left: 1.75rem !important; }
	.stations::before { display: block; left: 1.75rem; right: auto; top: 0; bottom: 0; border-top: 0; border-left: 4px solid var(--treated); }
	.station { border-top: 0; padding: 0 0 2rem 2.75rem; }
	.station__no { position: absolute; left: -1.75rem; top: 0; margin-top: 0 !important; transform: translateX(2px); }
	.station__title { margin-top: 0.6rem !important; }

	.protocol { transform: none; padding-inline: 1.25rem; }
	.protocol__head { margin-inline: -1.25rem !important; padding-inline: 1.25rem; }

	.title-block, .title-block--case { grid-template-columns: 1fr 1fr; }
	.title-block__cell:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: var(--hair) solid var(--ink); }
	.title-block--site { grid-template-columns: 1fr 1fr; }
	.title-block--site .title-block__cell--brand { grid-column: 1 / -1; border-bottom: var(--hair) solid var(--ink); }
	.title-block--site .title-block__cell:nth-child(2) { border-left: 0; }
	.title-block--site .title-block__cell:nth-child(3) { grid-column: auto; border-left: var(--hair) solid var(--ink); border-top: 0; }
	.title-block--site .title-block__cell--meta { grid-column: 1 / -1; border-left: 0; border-top: var(--hair) solid var(--ink); }

	.register__row { grid-template-columns: 1fr; gap: 0.5rem; }
	.wotom-hero .title-block--hero { grid-template-columns: 1fr 1fr auto; }
	.title-block--hero .title-block__cell:nth-child(3) { grid-column: auto; border-top: 0; border-left: var(--hair) solid var(--ink); }
}

/* ==========================================================================
   Basic automations page (v2)
   ========================================================================== */

/* Clock stage: scroll-scrubbed frames --------------------------------------- */

.wotom-scrub {
	--stick-top: calc(4.25rem + var(--wp-admin--admin-bar--height, 0px));
	position: relative;
	height: 290vh;
	max-width: 88rem;
	margin-inline: auto;
	border-inline: var(--line) solid var(--ink);
	border-bottom: var(--line) solid var(--ink);
}
.scrub__sticky {
	position: sticky;
	top: var(--stick-top);
	height: calc(100svh - var(--stick-top));
	min-height: 34rem;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 2rem);
	align-items: center;
	padding: 2.5rem clamp(1rem, 3vw, 2.5rem) 1.5rem;
	overflow: hidden;
}
.scrub__text { grid-column: 1 / span 5; }
.scrub__title {
	font-size: clamp(2.75rem, 1.1rem + 4.2vw, 5.25rem);
	line-height: 0.9;
	margin: 0 0 1.25rem;
}
.scrub__title .is-ai { color: var(--signal); }
.scrub__lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.4;
	color: var(--ink-2);
	max-width: 36ch;
	margin: 0 0 1.75rem;
}
.scrub__stage { grid-column: 6 / span 7; min-width: 0; }

.clock-plate {
	margin: 0;
	background: var(--white);
	border: var(--line) solid var(--ink);
}
.clock-plate__head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 1rem;
	border-bottom: var(--line) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.clock-plate__short { display: none; }
.clock-plate__frame { color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.clock-plate__screen { aspect-ratio: 854 / 480; background: var(--paper-shade); overflow: hidden; }
.clock-plate__img,
.clock-plate__canvas { display: block; width: 100%; height: 100%; object-fit: cover; }

.agent-strip {
	list-style: none;
	margin: 0.9rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.5rem;
}
.agent-strip__item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 0.45rem;
	padding: 0.55rem 0.6rem 0.6rem;
	border: var(--hair) solid var(--ink-3);
	color: var(--ink-3);
	transition: border-color 220ms var(--ease-out), color 220ms var(--ease-out), background-color 220ms var(--ease-out);
}
.agent-strip__lamp {
	grid-row: span 2;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	border: var(--line) solid currentColor;
	transition: background-color 220ms var(--ease-out);
}
.agent-strip__tag { font-family: var(--f-mono); font-size: 0.6875rem; line-height: 1.2; }
.agent-strip__name {
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 0.9375rem;
	line-height: 1.05;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}
.agent-strip__item.is-on { border-color: var(--ink); color: var(--ink); background: var(--white); }
.agent-strip__item.is-on .agent-strip__lamp { background: var(--stored); border-color: var(--stored); outline: var(--hair) solid var(--ink); outline-offset: 2px; }

/* Switchboard ------------------------------------------------------------------ */

.board {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem);
	gap: clamp(1rem, 2vw, 2rem);
	align-items: start;
}
.board__panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--line);
	background: var(--ink);
	border: var(--line) solid var(--ink);
}
.circuit {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.25rem 1.5rem 1.5rem;
	background: var(--paper);
	transition: background-color 220ms var(--ease-out);
}
.circuit.is-on { background: var(--white); }
.circuit > * { margin: 0; }
.circuit__head { display: flex; justify-content: space-between; align-items: center; }
.circuit__tag {
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.2rem 0.45rem;
	border: var(--hair) solid var(--ink);
	transition: background-color 220ms var(--ease-out), color 220ms var(--ease-out);
}
.circuit.is-on .circuit__tag { background: var(--stored); border-color: var(--stored); color: var(--white); }
.circuit__name { font-size: var(--wp--preset--font-size--h-4); line-height: 1; }
.circuit__text { font-size: 1rem; line-height: 1.5; color: var(--ink-2); }

.lever { position: relative; display: inline-flex; cursor: pointer; }
.lever__input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.lever__track {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 4rem;
	height: 1.9rem;
	padding: 0 0.5rem;
	border: var(--line) solid var(--ink);
	background: var(--paper-shade);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	font-weight: 700;
	transition: background-color 200ms var(--ease-out);
}
.lever__knob {
	position: absolute;
	top: 2px;
	left: 2px;
	width: calc(50% - 2px);
	height: calc(100% - 4px);
	background: var(--ink);
	transform: translateX(100%);
	transition: transform 260ms var(--ease-out), background-color 200ms var(--ease-out);
}
.lever__input:checked + .lever__track { background: var(--stored); color: var(--white); }
.lever__input:checked + .lever__track .lever__knob { transform: translateX(0); background: var(--white); }
.lever__input:focus-visible + .lever__track { outline: 3px solid var(--stored); outline-offset: 3px; }

.loop {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: var(--hair) solid var(--ink);
	border-bottom: var(--hair) solid var(--ink);
}
.loop li {
	position: relative;
	padding: 0.6rem 0.9rem 0.65rem 0;
	font-size: 0.875rem;
	line-height: 1.35;
}
.loop li + li { padding-left: 0.9rem; border-left: var(--hair) dashed var(--ink-3); }
.loop li + li::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 50%;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left-color: var(--signal);
	border-right: 0;
}
.loop__label {
	display: block;
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 0.15rem;
}

.circuit__calc {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.4rem 0.6rem;
	margin-top: auto !important;
}
.circuit__calc .field { flex: 1 1 7.5rem; }
.field { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.field__label { min-height: 2.2em; display: flex; align-items: flex-end; font-family: var(--f-mono); font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); }
.field__input {
	width: 100%;
	box-sizing: border-box;
	border: var(--line) solid var(--ink);
	border-radius: 0;
	background: var(--white);
	padding: 0.55rem 0.7rem;
	font-family: var(--f-mono);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
	appearance: textfield;
}
.field__input::-webkit-outer-spin-button,
.field__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.field__input::placeholder { color: var(--ink-3); font-weight: 400; }
.field__input:focus-visible { outline: 3px solid var(--stored); outline-offset: 0; }
.field__hint { font-size: 0.8125rem; color: var(--ink-3); line-height: 1.3; }
.circuit__times { flex: none; font-family: var(--f-display); font-weight: 800; font-size: 1.5rem; line-height: 1; padding-top: 2.45rem; }
.circuit__out {
	flex: 1 0 100%;
	padding-top: 0.6rem;
	border-top: var(--hair) solid var(--paper-shade);
	font-family: var(--f-mono);
	font-size: 0.875rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--ink-2);
}
.circuit.is-on .circuit__out { color: var(--stored); }

.meter {
	position: sticky;
	top: calc(5.5rem + var(--wp-admin--admin-bar--height, 0px));
	background: var(--white);
	border: var(--line) solid var(--ink);
}
.meter > * { margin: 0; }
.meter__head {
	padding: 0.7rem 1.25rem;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.meter__digits {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4px;
	margin: 1.25rem 1.25rem 0 !important;
	padding: 4px;
	background: var(--ink);
}
.meter__digits span {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 4;
	background: color-mix(in srgb, var(--ink) 94%, var(--paper));
	color: var(--paper);
	font-family: var(--f-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 1.5rem + 2vw, 3.5rem);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	overflow: hidden;
}
.meter__digits span.is-lead { color: var(--ink-3); }
.meter__digits span.is-tick { animation: wotom-tick 320ms var(--ease-out); }
@keyframes wotom-tick { from { transform: translateY(-35%); opacity: 0.2; } }
.meter__unit {
	margin: 0.6rem 1.25rem 0 !important;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 1.25rem;
	text-transform: uppercase;
}
.meter__live { margin: 0.5rem 1.25rem 0 !important; font-size: 0.9375rem; line-height: 1.4; color: var(--ink-2); min-height: 2.8em; }
.meter__rows { margin: 1rem 1.25rem 0 !important; border-top: var(--hair) solid var(--ink); }
.meter__rows > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: var(--hair) solid var(--paper-shade); }
.meter__rows dt { font-family: var(--f-mono); font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); }
.meter__rows dd { margin: 0; font-family: var(--f-mono); font-weight: 600; font-size: 0.875rem; font-variant-numeric: tabular-nums; }
.meter__note { margin: 1rem 1.25rem 0 !important; font-size: 0.8125rem; line-height: 1.45; color: var(--ink-2); }
.meter .wp-block-buttons { margin: 1.25rem !important; }
.meter .wp-block-button, .meter .wp-block-button__link { width: 100%; text-align: center; }

/* Control loop + data station ------------------------------------------------ */

.loop-sheet { margin: 0 0 var(--wp--preset--spacing--50) !important; border-top: var(--hair) solid var(--ink); border-bottom: var(--hair) solid var(--ink); padding-block: 1.5rem; }
.pid--loop .t-inside--small { font-size: 14px; }
.loop-sheet__cue { display: none; margin: -2.25rem 0 var(--wp--preset--spacing--50); font-family: var(--f-mono); font-size: 0.75rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); text-align: right; }
.loop-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
	margin-bottom: var(--wp--preset--spacing--60) !important;
}
.loop-note > * { margin: 0 0 0.5rem; }
.loop-note p:last-child { color: var(--ink-2); font-size: 1rem; line-height: 1.5; }

.data-station {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(1rem, 2vw, 2rem);
	align-items: center;
	margin: 0 !important;
}
.data-station img { display: block; width: 100%; height: auto; border: var(--line) solid var(--ink); }
.data-station__media { position: relative; margin: 0; }
.data-station__note {
	position: absolute;
	left: var(--line);
	bottom: var(--line);
	padding: 0.35rem 0.6rem;
	background: var(--white);
	border-top: var(--hair) solid var(--ink);
	border-right: var(--hair) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.data-station figcaption { display: flex; flex-direction: column; gap: 0.75rem; align-items: flex-start; padding-bottom: 0.25rem; }
.data-station__text { font-size: var(--wp--preset--font-size--lead); line-height: 1.35; max-width: 30ch; }
.data-station__link { font-family: var(--f-mono); font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.03em; }

@media (max-width: 1100px) {
	.scrub__text { grid-column: 1 / span 12; }
	.scrub__stage { grid-column: 1 / span 12; }
	.scrub__sticky { align-content: center; row-gap: 1.25rem; }
	.scrub__title { font-size: clamp(2.5rem, 1.2rem + 3.6vw, 3.75rem); }
	.scrub__lead { max-width: 52ch; margin-bottom: 1rem; }
	.clock-plate, .agent-strip { max-width: 44rem; }
	.board { grid-template-columns: 1fr; }
	.meter { position: static; max-width: 32rem; }
}

@media (max-width: 781px) {
	.wotom-scrub { height: auto; border-inline: 0; }
	.scrub__sticky { position: relative; top: auto; height: 240vh; min-height: 0; display: block; align-content: normal; overflow: visible; padding: 2.25rem 1rem 0; }
	.scrub__text { padding-bottom: 1.5rem; }
	.scrub__stage { position: sticky; top: calc(var(--stick-top) + 0.75rem); padding-bottom: 1rem; }
	.agent-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.clock-plate__long { display: none; }
	.clock-plate__short { display: inline; }

	.board__panel { grid-template-columns: 1fr; }
	.circuit { padding: 1.1rem 1rem 1.25rem; }
	.loop { grid-template-columns: 1fr; }
	.loop li + li { padding-left: 0; border-left: 0; border-top: var(--hair) dashed var(--ink-3); }
	.loop li + li::before { left: 0.25rem; top: -5px; margin-top: 0; border: 5px solid transparent; border-top-color: var(--signal); border-bottom: 0; }

	.loop-sheet { overflow-x: auto; border-right: var(--line) solid var(--ink); }
	.loop-sheet__cue { display: block; }
	.pid--loop { min-width: 680px; }
	.loop-notes { grid-template-columns: 1fr; }
	.data-station { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.agent-strip__item, .agent-strip__lamp, .circuit, .circuit__tag, .lever__track, .lever__knob { transition: none; }
	.meter__digits span.is-tick { animation: none; }
}

.site-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation-item__content[aria-current="page"] { border-bottom-color: var(--ink); }
@media (min-width: 782px) and (max-width: 1180px) {
	.site-header__nav { gap: 0.9rem; }
	.site-header .wp-block-navigation { --navigation-layout-gap: 0.9rem; gap: 0.9rem; font-size: 0.75rem; }
}

/* ==========================================================================
   Private AI page (v3)
   ========================================================================== */

/* Hero: battery limit ------------------------------------------------------ */

.pai-hero {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 2rem);
	align-items: center;
	max-width: 88rem;
	margin-inline: auto;
	padding: 3.5rem clamp(1rem, 3vw, 2.5rem) 2.5rem;
	border-inline: var(--line) solid var(--ink);
	border-bottom: var(--line) solid var(--ink);
}
.pai-hero__text { grid-column: 1 / span 6; }
.pai-hero__title {
	font-size: clamp(2.75rem, 1.1rem + 3.9vw, 5rem);
	line-height: 0.92;
	margin: 0 0 1.25rem;
}
.pai-hero__title .is-ai { color: var(--stored); }
.pai-hero__lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.4;
	color: var(--ink-2);
	max-width: 40ch;
	margin: 0 0 1.75rem;
}
.pai-trust {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 1.75rem 0 0;
	padding: 1rem 0 0;
	border-top: var(--hair) solid var(--ink);
}
.pai-trust li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--f-display);
	font-weight: 700;
	font-size: 1.0625rem;
	text-transform: uppercase;
}
.pai-trust li::before {
	content: "";
	width: 0.9rem;
	height: 0.9rem;
	border: var(--line) solid var(--ink);
	background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%231C5BB0' stroke-width='2.6' stroke-linecap='square'/%3E%3C/svg%3E") center / 85% no-repeat;
}

.pai-limit { grid-column: 7 / span 6; margin: 0; }
.pid--limit { display: block; width: 100%; max-width: 38rem; margin-inline: auto; height: auto; }
.pid .fence { fill: rgb(28 91 176 / 0.04); stroke: var(--ink); stroke-width: 2; stroke-dasharray: 14 6 3 6; }
.pid .flange { fill: var(--ink); }
.pid .pipe-dead { stroke: var(--ink-3); stroke-width: 3; stroke-dasharray: 3 5; fill: none; }
.pid .body--ghost { fill: none; stroke: var(--ink-3); stroke-dasharray: 6 4; }
.pid .t-inside--ghost { fill: var(--ink-3); }
.pid .t-inside--lg { font-size: 19px; }
.pid .t-tag--flange { fill: var(--ink); font-weight: 700; }
.pid .lamp-live { fill: var(--treated); }
.pai-limit__cap {
	margin-top: 0.75rem;
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ink-2);
	text-align: center;
}

/* Hazard register ------------------------------------------------------------ */

.hazards, .revisions, .compare {
	width: 100%;
	border-collapse: collapse;
	border: var(--line) solid var(--ink);
	background: var(--white);
}
.hazards thead th, .revisions thead th, .compare thead th {
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-align: left;
	padding: 0.7rem 1.25rem;
	background: var(--ink);
	color: var(--paper);
}
.hazards td, .hazards th[scope="row"] {
	padding: 1.25rem;
	border-top: var(--hair) solid var(--ink);
	vertical-align: top;
	text-align: left;
}
.hazards__id { width: 6rem; }
.hazards__id span {
	display: inline-block;
	padding: 0.2rem 0.45rem;
	background: var(--alert);
	color: var(--white);
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	font-weight: 600;
}
.hazards__title {
	width: 30%;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--h-4);
	line-height: 1.02;
	text-transform: uppercase;
}
.hazards__text { color: var(--ink-2); line-height: 1.5; }
.pai-verdict {
	margin-top: var(--wp--preset--spacing--50) !important;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--h-3);
	line-height: 1;
	text-transform: uppercase;
	max-width: 24ch;
}

/* Security: revisions + compliance register ---------------------------------- */

.revisions th, .revisions td { width: 50%; padding: 1rem 1.25rem; border-top: var(--hair) solid var(--ink); text-align: left; vertical-align: top; line-height: 1.45; }
.revisions th + th, .revisions td + td { border-left: var(--line) solid var(--ink); }
.revisions td.revisions__before { color: var(--ink-2); text-decoration: line-through; text-decoration-color: rgb(184 50 28 / 0.55); text-decoration-thickness: 1px; }
.revisions td.revisions__after { font-weight: 600; }
.revisions thead .revisions__after { background: var(--stored); }
.revisions__rev {
	display: inline-block;
	margin-right: 0.4rem;
	padding: 0.05rem 0.35rem;
	border: var(--hair) solid currentColor;
}

.pai-split {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	margin-top: var(--wp--preset--spacing--60) !important;
	align-items: start;
}
.pai-split h3 { font-size: var(--wp--preset--font-size--h-4); margin: 0 0 1rem; }
.pai-split__side { border-top: var(--line) solid var(--ink); padding-top: 1.25rem; }
.pai-split__side p { margin: 0 0 1rem; line-height: 1.5; }
.pai-note { font-size: 0.9375rem; color: var(--ink-2); border-left: var(--hair) solid var(--ink); padding-left: 1rem; }
.pai-link { font-family: var(--f-mono); font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.03em; }

.rules { margin: 0; border-top: var(--line) solid var(--ink); }
.rules__row {
	display: grid;
	grid-template-columns: 10rem minmax(0, 1fr);
	gap: 1rem;
	padding: 0.9rem 0;
	border-bottom: var(--hair) solid var(--ink);
	align-items: baseline;
}
.rules dt {
	justify-self: start;
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	padding: 0.15rem 0.45rem;
	border: var(--hair) solid var(--stored);
	color: var(--stored);
}
.rules dd { margin: 0; line-height: 1.5; }

/* Costs: break-even chart ------------------------------------------------------ */

.breakeven { margin: 0 0 var(--wp--preset--spacing--60) !important; border: var(--line) solid var(--ink); background: var(--white); }
.breakeven__head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 1rem;
	border-bottom: var(--line) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.pid--chart { display: block; width: 100%; max-width: 58rem; margin-inline: auto; height: auto; padding: 1rem 1rem 0.5rem; box-sizing: border-box; }
.pid .chart-grid line { stroke: var(--paper-shade); stroke-width: 1; }
.pid .chart-line { fill: none; stroke-width: 4; stroke-linejoin: round; }
.pid .chart-line--cloud { stroke: var(--raw); }
.pid .chart-line--private { stroke: var(--stored); }
.pid .chart-label--cloud { fill: var(--raw); }
.pid .chart-label--private { fill: var(--stored); }
.pid .t-name--stack { display: none; }
.pid .chart-cross circle { fill: var(--valve); stroke: var(--ink); stroke-width: 2; }
.pid .chart-drop { stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 4 4; }

.breakeven.is-armed .chart-line { stroke-dasharray: 1; stroke-dashoffset: 1; }
.breakeven.is-armed .chart-cross { opacity: 0; }
.breakeven.is-armed.is-drawn .chart-line { transition: stroke-dashoffset 1400ms var(--ease-out); stroke-dashoffset: 0; }
.breakeven.is-armed.is-drawn .chart-line--private { transition-delay: 200ms; }
.breakeven.is-armed.is-drawn .chart-cross { transition: opacity 400ms var(--ease-out) 1400ms; opacity: 1; }

.spec-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: var(--line) solid var(--ink); }
.spec { padding: 1.5rem 1.75rem 1.75rem; background: var(--paper); }
.spec + .spec { border-left: var(--line) solid var(--ink); }
.spec--private { background: var(--white); }
.spec h3 { display: flex; align-items: center; gap: 0.75rem; font-size: var(--wp--preset--font-size--h-4); margin: 0 0 1rem; }
.spec__tag {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: var(--line) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.875rem;
}
.spec--cloud .spec__tag { background: var(--raw); color: var(--white); border-color: var(--raw); }
.spec--private .spec__tag { background: var(--stored); color: var(--white); border-color: var(--stored); }
.spec ul { margin: 0; padding: 0; list-style: none; }
.spec li { padding: 0.6rem 0 0.6rem 1.5rem; border-top: var(--hair) solid var(--paper-shade); position: relative; line-height: 1.45; }
.spec li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 0.85rem; border-top: 3px solid; }
.spec--cloud li::before { color: var(--raw); }
.spec--private li::before { color: var(--stored); }

/* Steps: 4 stations ------------------------------------------------------------- */

.stations--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pai-steps__cta { margin-top: var(--wp--preset--spacing--50) !important; }

/* Comparison table ---------------------------------------------------------------- */

.compare th, .compare td { padding: 0.95rem 1.25rem; border-top: var(--hair) solid var(--ink); text-align: left; vertical-align: top; line-height: 1.45; }
.compare tbody th {
	width: 24%;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 1.0625rem;
	text-transform: uppercase;
}
.compare td.compare__cloud { color: var(--ink-2); }
.compare td.compare__private { background: rgb(28 91 176 / 0.06); font-weight: 600; border-left: var(--line) solid var(--stored); border-right: var(--line) solid var(--stored); }
.compare thead .compare__private { background: var(--stored); }
.compare tbody tr:last-child td.compare__private { border-bottom: var(--line) solid var(--stored); }

/* FAQ: drawing notes ---------------------------------------------------------------- */

.notes { border-top: var(--line) solid var(--ink); }
.note { border-bottom: var(--hair) solid var(--ink); }
.note summary {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) 1.5rem;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 0;
	cursor: pointer;
	list-style: none;
}
.note summary::-webkit-details-marker { display: none; }
.note__no { font-family: var(--f-mono); font-weight: 600; font-size: 0.9375rem; color: var(--ink-2); }
.note__q { font-family: var(--f-display); font-weight: 800; font-size: var(--wp--preset--font-size--h-4); line-height: 1.05; text-transform: uppercase; }
.note summary:hover .note__q { color: var(--stored); }
.note__icon { position: relative; width: 1.25rem; height: 1.25rem; }
.note__icon::before, .note__icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: var(--line) solid var(--ink); }
.note__icon::after { transform: rotate(90deg); transition: transform 200ms var(--ease-out); }
.note[open] .note__icon::after { transform: rotate(0deg); }
.note__a { margin: 0 2.5rem 1.5rem 4rem; max-width: 70ch; line-height: 1.55; color: var(--ink-2); }

/* Final CTA -------------------------------------------------------------------------- */

.pai-cta .contact { align-items: start; }
.pai-cta .contact__intro h2 { font-size: var(--wp--preset--font-size--h-2); }
.pai-cta__plate { background: rgb(243 245 242 / 0.04); }
.pai-cta__plate .wp-block-button__link { text-wrap: balance; }
.pai-cta__list { margin: 0.5rem 0 1.25rem !important; }
.pai-cta__list li { border-top-color: rgb(243 245 242 / 0.14); color: var(--paper); }
.pai-cta__list li::before { border-color: var(--paper); }
.pai-cta__alt { margin-top: 1rem !important; font-size: 0.9375rem; }
.pai-cta__micro { margin-top: 0.5rem !important; font-family: var(--f-mono); font-size: 0.75rem; letter-spacing: 0.02em; color: var(--paper-shade); }

/* Responsive ----------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.pai-hero__text, .pai-limit { grid-column: 1 / -1; }
	.pai-limit { margin-top: 2.5rem; }
	.stations--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pai-split { grid-template-columns: 1fr; }
}

@media (max-width: 781px) {
	.pai-hero { border-inline: 0; padding: 2.75rem 1rem 2rem; }
	.hazards thead { display: none; }
	.hazards, .hazards tbody, .hazards tr, .hazards td, .hazards th { display: block; width: auto; }
	.hazards tr { border-top: var(--hair) solid var(--ink); padding: 1rem; }
	.hazards tr:first-child { border-top: 0; }
	.hazards td, .hazards th[scope="row"] { border: 0; padding: 0 0 0.5rem; }
	.hazards__title { width: auto; }

	.revisions thead { display: none; }
	.revisions, .revisions tbody, .revisions tr, .revisions td { display: block; width: auto; }
	.revisions tr { border-top: var(--hair) solid var(--ink); }
	.revisions tr:first-child { border-top: 0; }
	.revisions td { border: 0; padding: 0.75rem 1rem; }
	.revisions td + td { border-left: 0; border-top: var(--hair) dashed var(--ink-3); }
	.revisions td::before { display: inline-block; width: 100%; font-family: var(--f-mono); font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); text-decoration: none; margin-bottom: 0.2rem; }
	.revisions td::before { content: attr(data-label); }
	.revisions td.revisions__after::before { color: var(--stored); }
	.rules__row { grid-template-columns: 1fr; gap: 0.4rem; }

	.spec-pair { grid-template-columns: 1fr; }
	.spec + .spec { border-left: 0; border-top: var(--line) solid var(--ink); }
	.stations--4 { grid-template-columns: 1fr; }

	.compare thead { display: none; }
	.compare, .compare tbody, .compare tr, .compare th, .compare td { display: block; width: auto; }
	.compare tr { border-top: var(--line) solid var(--ink); }
	.compare tr:first-child { border-top: 0; }
	.compare tbody th { width: auto; padding: 0.9rem 1rem 0.4rem; border: 0; }
	.compare td { border: 0; padding: 0.4rem 1rem 0.8rem; }
	.compare td.compare__private { border: 0; }
	.compare tbody tr:last-child td.compare__private { border-bottom: 0; }
	.compare td::before { content: attr(data-label); display: block; font-family: var(--f-mono); font-weight: 500; font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 0.15rem; }
	.compare td.compare__private::before { color: var(--stored); }

	.note summary { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; gap: 0.6rem; }
	.pid--chart { padding: 0.75rem 0.25rem 0.25rem; }
	.pid--chart .t-name { font-size: 34px; }
	.pid--chart .chart-cross .t-name:not(.t-name--stack) { display: none; }
	.pid--chart .t-name--stack { display: inline; }
	.pid--chart .t-tag { font-size: 23px; }
	.pid--limit .t-tag { font-size: 16px; }
	.pid .t-tag--wide-only { display: none; }
	.pid--limit .t-inside--lg { font-size: 24px; }
	.pid--limit .t-inside--ghost { font-size: 20px; }
	.pid--chart .chart-line { stroke-width: 6; }
	.note__a { margin: 0 0 1.25rem 2.6rem; }
}

@media (prefers-reduced-motion: reduce) {
	.note__icon::after { transition: none; }
}

/* Buttons written as raw HTML inside patterns get the same row layout as block buttons. */
.wp-block-buttons:not(.is-layout-flex) { display: flex; flex-wrap: wrap; gap: 0.75rem; }

/* ==========================================================================
   v4: Data warehouse + Database subscription pages, services submenu
   ========================================================================== */

/* Services submenu ---------------------------------------------------------- */

.site-header .wp-block-navigation__submenu-container {
	min-width: 17rem !important;
	padding: 0.35rem 0 !important;
	background: var(--paper) !important;
	border: var(--line) solid var(--ink) !important;
}
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.6rem 1rem !important;
	border-bottom: 0 !important;
	text-transform: none;
	font-family: var(--f-body);
	font-size: 0.9375rem;
	letter-spacing: 0;
}
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--paper-shade); color: var(--ink); }
.site-header .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { color: var(--stored); font-weight: 600; }
.site-header .wp-block-navigation-submenu__toggle { color: var(--ink); }

/* Data warehouse hero -------------------------------------------------------- */

.pid .t-tag--file { font-size: 12px; fill: var(--raw); }
.pid .body--truth { stroke-width: 2.5; }

/* Shared: spec rows of three, footnotes, use cases ----------------------------- */

.spec-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: var(--line) solid var(--ink);
}
.spec-row .spec + .spec { border-left: var(--line) solid var(--ink); }
.spec-row .spec { background: var(--white); }
.spec li::before { color: var(--ink); }
.spec__code {
	display: block;
	width: max-content;
	margin-bottom: 0.35rem;
	padding: 0.15rem 0.4rem;
	border: var(--hair) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 600;
	vertical-align: middle;
}
.spec h3 { flex-wrap: wrap; }
.section-head__for { display: block; margin-bottom: 0.35rem; font-weight: 600; color: var(--ink); }
.dwh-link { margin-top: 1.5rem !important; }
.pai-footnote { margin-top: 1rem !important; font-size: 0.875rem; color: var(--ink-2); }

.rules--wide { margin-top: var(--wp--preset--spacing--50) !important; }
.rules--wide .rules__row { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); }
.rules--wide dt {
	padding: 0;
	border: 0;
	font-family: var(--f-display);
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--ink);
	text-transform: uppercase;
}

.use-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(1rem, 2vw, 2rem); row-gap: 0; }
.use-case { background: var(--white); border: var(--line) solid var(--ink); display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
.use-case__title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 1.25rem 1.5rem;
	font-size: var(--wp--preset--font-size--h-4);
	border-bottom: var(--line) solid var(--ink);
}
.use-case__title .spec__tag { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.use-case__rows { display: contents; }
.use-case__rows > div { padding: 0.85rem 1.5rem; border-top: var(--hair) solid var(--paper-shade); }
.use-case__rows > div:first-child { border-top: 0; }
.use-case__rows dt { font-family: var(--f-mono); font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 0.2rem; }
.use-case__rows dd { margin: 0; line-height: 1.5; }
.use-case__effect { background: rgb(35 114 74 / 0.08); border-top: var(--line) solid var(--treated) !important; }
.use-case__effect dt { color: var(--treated); }
.use-case__effect dd { font-weight: 600; }

/* Subscription hero: hour pool ---------------------------------------------------- */

.pool { grid-column: 7 / span 6; margin: 0; background: var(--white); border: var(--line) solid var(--ink); }
.pool__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.7rem 1.25rem;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.pool__total { font-family: var(--f-display); font-weight: 800; font-size: 1.5rem; letter-spacing: 0; color: var(--valve); }
.pool__body { padding: 1.25rem; }
.pool__months { display: flex; gap: 0; margin-bottom: 1rem; border: var(--line) solid var(--ink); width: max-content; }
.pool__month {
	padding: 0.45rem 0.9rem;
	border: 0;
	background: var(--paper);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
}
.pool__month + .pool__month { border-left: var(--hair) solid var(--ink); }
.pool__month[aria-pressed="true"] { background: var(--stored); color: var(--white); }
.pool__month:hover:not([aria-pressed="true"]) { background: var(--paper-shade); }
.pool__bar { display: flex; height: 3.25rem; border: var(--line) solid var(--ink); background: var(--paper); }
.pool__seg { transition: flex-grow 500ms var(--ease-out); }
.pool__seg + .pool__seg { border-left: var(--line) solid var(--ink); }
.pool__seg--care { flex: var(--a) 1 0; background: var(--ink); }
.pool__seg--fix { flex: var(--b) 1 0; background: var(--alert); }
.pool__seg--dev { flex: var(--c) 1 0; background: repeating-linear-gradient(-45deg, var(--ink) 0 2px, var(--white) 2px 7px); }
.pool__legend { margin: 1rem 0 0; }
.pool__row { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0; border-bottom: var(--hair) solid var(--paper-shade); align-items: baseline; }
.pool__row dt { display: flex; align-items: center; gap: 0.6rem; }
.pool__row dt::before { content: ""; width: 0.9rem; height: 0.9rem; flex: none; }
.pool__row--care dt::before { background: var(--ink); }
.pool__row--fix dt::before { background: var(--alert); }
.pool__row--dev dt::before { background: repeating-linear-gradient(-45deg, var(--ink) 0 2px, var(--white) 2px 7px); box-shadow: inset 0 0 0 1px var(--ink); }
.pool__row dd { margin: 0; font-family: var(--f-mono); font-weight: 700; font-variant-numeric: tabular-nums; }
.pool__note { margin: 0.9rem 0 0; font-size: 0.875rem; color: var(--ink-2); }
.pool__engines { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: var(--line) solid var(--ink); }
.pool__engines li { padding: 0.6rem 0.75rem; font-family: var(--f-display); font-weight: 700; text-transform: uppercase; font-size: 0.9375rem; }
.pool__engines li + li { border-left: var(--hair) solid var(--ink); }
.pool__engines span { display: block; font-family: var(--f-mono); font-weight: 500; font-size: 0.6875rem; color: var(--ink-3); }

.sub-pair { margin-top: var(--wp--preset--spacing--50) !important; }
.spec li strong { font-weight: 700; }

.spec-row--hours .spec { border-top: 6px solid var(--ink); }
.spec-row--hours .spec--care { border-top-color: var(--treated); }
.spec-row--hours .spec--fix { border-top-color: var(--alert); }
.spec-row--hours .spec--dev { border-top-color: var(--stored); }
.spec--care .spec__tag { background: var(--treated); border-color: var(--treated); color: var(--white); }
.spec--fix .spec__tag { background: var(--alert); border-color: var(--alert); color: var(--white); }
.spec--dev .spec__tag { background: var(--stored); border-color: var(--stored); color: var(--white); }
.spec--care li::before { color: var(--treated); }
.spec--fix li::before { color: var(--alert); }
.spec--dev li::before { color: var(--stored); }

/* Hours: ink = care, alert = incidents (a real fault meaning), hatch = development. */
.spec-row--hours .spec { border-top: 0; }
.spec-row--hours .spec::before { content: ""; display: block; height: 8px; margin: -1.5rem -1.75rem 1.25rem; }
.spec-row--hours .spec--care::before { background: var(--ink); }
.spec-row--hours .spec--fix::before { background: var(--alert); }
.spec-row--hours .spec--dev::before { background: repeating-linear-gradient(-45deg, var(--ink) 0 2px, var(--white) 2px 7px); border-bottom: var(--hair) solid var(--ink); }
.spec-row--hours .spec--care .spec__tag { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.spec-row--hours .spec--dev .spec__tag { background: var(--white); border-color: var(--ink); color: var(--ink); }
.spec-row--hours .spec--care li::before, .spec-row--hours .spec--dev li::before { color: var(--ink); }
.sub-pair .spec__tag { background: var(--ink) !important; border-color: var(--ink) !important; color: var(--paper) !important; }
.sub-pair .spec li::before { color: var(--ink) !important; }

/* Engines ---------------------------------------------------------------------------- */

.engines { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: var(--line) solid var(--ink); background: var(--white); }
.engine { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.5rem 1.25rem 1.75rem; min-height: 12rem; }
.engine + .engine { border-left: var(--line) solid var(--ink); }
.engine__tag { align-self: flex-start; padding: 0.15rem 0.45rem; background: var(--ink); color: var(--paper); font-family: var(--f-mono); font-size: 0.75rem; font-weight: 600; }
.engine__name { font-family: var(--f-display); font-weight: 800; font-size: clamp(1.375rem, 1rem + 1vw, 1.875rem); line-height: 1; text-transform: uppercase; }
.engine__text { margin-top: auto; font-size: 0.9375rem; line-height: 1.45; color: var(--ink-2); }
.engine--other { background: var(--paper); }
.engine--other .engine__tag { background: transparent; color: var(--ink); border: var(--hair) dashed var(--ink); }

/* Packages ------------------------------------------------------------------------------ */

.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); align-items: stretch; }
.plan { display: flex; flex-direction: column; background: var(--white); border: var(--line) solid var(--ink); }
.plan--lead { outline: 4px solid var(--ink); outline-offset: -2px; }
.plan__head { position: relative; padding: 1.5rem 1.5rem 1.25rem; border-bottom: var(--line) solid var(--ink); }
.plan--lead .plan__head { background: var(--ink); color: var(--paper); }
.plan__badge {
	position: absolute;
	border: var(--hair) solid var(--paper);
	top: -0.95rem;
	right: 1.25rem;
	margin: 0;
	padding: 0.25rem 0.6rem;
	background: var(--ink);
	color: var(--valve);
	font-family: var(--f-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.plan__name { margin: 0; font-size: var(--wp--preset--font-size--h-2); line-height: 0.9; color: inherit; }
.plan__hours { margin: 0.6rem 0 0; font-family: var(--f-mono); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.plan__for { margin: 0; padding: 1rem 1.5rem 0; font-weight: 600; line-height: 1.45; }
.plan__scope { list-style: none; margin: 0; padding: 0.5rem 1.5rem 1rem; flex: 1; }
.plan__scope li { position: relative; padding: 0.5rem 0 0.5rem 1.5rem; border-top: var(--hair) solid var(--paper-shade); line-height: 1.45; }
.plan__scope li:first-child { border-top: 0; }
.plan__scope li::before { content: ""; position: absolute; left: 0; top: 1rem; width: 0.8rem; border-top: 3px solid var(--ink); }
.plan__spec { margin: 0; border-top: var(--line) solid var(--ink); }
.plan__spec > div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 0.75rem; padding: 0.7rem 1.5rem; border-top: var(--hair) solid var(--paper-shade); align-items: baseline; }
.plan__spec > div:first-child { border-top: 0; }
.plan__spec dt { font-family: var(--f-mono); font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); }
.plan__spec dd { margin: 0; font-size: 0.9375rem; font-weight: 600; line-height: 1.35; }
.plan__cta { padding: 1.25rem 1.5rem 1.5rem; margin: 0 !important; }
.plan__cta .wp-block-button, .plan__cta .wp-block-button__link { width: 100%; text-align: center; }

/* Work order form ------------------------------------------------------------------------- */

.sub-order .contact { align-items: start; }
.order { background: var(--paper); color: var(--ink); border: var(--line) solid var(--paper); grid-column: 8 / span 5; }
.order__head {
	display: flex;
	justify-content: space-between;
	padding: 0.6rem 1.25rem;
	border-bottom: var(--line) solid var(--ink);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.order__form { padding: 1.25rem 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.order a { color: var(--ink); }
.order__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.order__package { margin: 0; padding: 0.55rem 0.8rem; background: var(--white); border: var(--hair) solid var(--ink); font-size: 0.9375rem; }
.ofield { display: flex; flex-direction: column; gap: 0.35rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.ofield[hidden] { display: none; }
.ofield__label { font-family: var(--f-mono); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); padding: 0; }
.ofield__opt { text-transform: none; letter-spacing: 0; color: var(--ink-3); }
.ofield__input {
	width: 100%;
	box-sizing: border-box;
	border: var(--line) solid var(--ink);
	border-radius: 0;
	background: var(--white);
	padding: 0.7rem 0.85rem;
	font: inherit;
	font-size: 1rem;
	color: var(--ink);
}
textarea.ofield__input { resize: vertical; min-height: 5.5rem; }
.ofield__input::placeholder { color: var(--ink-3); }
.ofield__input:focus-visible { outline: 3px solid var(--stored); outline-offset: 0; }
.is-invalid .ofield__input { border-color: var(--alert); background: #FFF6F4; }
.switch { display: grid; grid-template-columns: 1fr 1fr; border: var(--line) solid var(--ink); }
.switch__opt { position: relative; display: flex; cursor: pointer; }
.switch__opt + .switch__opt { border-left: var(--line) solid var(--ink); }
.switch__opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.switch__opt span {
	flex: 1;
	padding: 0.7rem;
	text-align: center;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 1.0625rem;
	text-transform: uppercase;
	background: var(--white);
	transition: background-color 160ms var(--ease-out), color 160ms var(--ease-out);
}
.switch__opt input:checked + span { background: var(--ink); color: var(--paper); }
.switch__opt input:focus-visible + span { outline: 3px solid var(--stored); outline-offset: -3px; }
.consent { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.9375rem; line-height: 1.45; cursor: pointer; }
.consent input { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; accent-color: var(--ink); flex: none; }
.consent.is-invalid span { color: var(--alert); }
.order__alert { margin: 0; padding: 0.7rem 0.9rem; background: #FFF1EE; color: var(--alert); border: var(--hair) solid var(--alert); font-size: 0.9375rem; }
.order__alert:not(.order__alert--client) { margin: 1.25rem 1.25rem 0; }
.order__form .wp-block-button, .order__form .wp-block-button__link { width: 100%; }
.order__form button.wp-block-button__link { cursor: pointer; text-wrap: balance; }
.order .pai-cta__micro { color: var(--ink-2); margin: 0 !important; }
.order__done { padding: 2rem 1.25rem; }
.order__done-title { margin: 0 0 0.5rem; font-family: var(--f-display); font-weight: 800; font-size: var(--wp--preset--font-size--h-3); text-transform: uppercase; color: var(--treated); }

/* Responsive --------------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.pool { grid-column: 1 / -1; margin-top: 2.5rem; }
	.spec-row, .use-cases, .plans { grid-template-columns: 1fr; }
	.spec-row .spec + .spec { border-left: 0; border-top: var(--line) solid var(--ink); }
	.spec-row--hours .spec + .spec { border-top-width: 6px; }
	.engines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.engine + .engine { border-left: 0; }
	.engine { border-top: var(--line) solid var(--ink); min-height: 0; }
	.engine:nth-child(-n+2) { border-top: 0; }
	.engine:nth-child(even) { border-left: var(--line) solid var(--ink); }
	.order { grid-column: 1 / -1; margin-top: 2rem; }
	.plans { max-width: 36rem; }
}

@media (max-width: 781px) {
	.pid .t-tag--file { font-size: 14px; }
	.rules--wide .rules__row { grid-template-columns: 1fr; }
	.pool__engines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pool__engines li:nth-child(3) { border-left: 0; }
	.pool__engines li:nth-child(n+3) { border-top: var(--hair) solid var(--ink); }
	.pool__head { flex-wrap: wrap; }
	.engines { grid-template-columns: 1fr; }
	.engine:nth-child(even) { border-left: 0; }
	.engine:nth-child(2) { border-top: var(--line) solid var(--ink); }
	.plan__spec > div { grid-template-columns: 1fr; gap: 0.15rem; }
}

@media (prefers-reduced-motion: reduce) {
	.pool__seg, .switch__opt span { transition: none; }
}

.hazards__title--file { font-family: var(--f-mono); font-size: 1.0625rem; font-weight: 600; line-height: 1.3; text-transform: none; overflow-wrap: anywhere; }

@media (max-width: 1100px) { .use-cases { row-gap: clamp(1rem, 2vw, 2rem); } }
.consent__note { margin: -0.4rem 0 0; font-size: 0.8125rem; line-height: 1.45; color: var(--ink-2); }

.spec-row .spec h3 { display: block; }
.site-main--dwh .compare thead .compare__private,
.site-main--sub .compare thead .compare__private { background: var(--ink); }
.site-main--dwh .compare td.compare__private,
.site-main--sub .compare td.compare__private { background: var(--white); border-left: var(--line) solid var(--ink); border-right: var(--line) solid var(--ink); }
.site-main--dwh .compare tbody tr:last-child td.compare__private,
.site-main--sub .compare tbody tr:last-child td.compare__private { border-bottom: var(--line) solid var(--ink); }
.site-main--dwh .compare td.compare__private::before,
.site-main--sub .compare td.compare__private::before { color: var(--ink); }

/* ==========================================================================
   v5: page content as editable blocks
   ========================================================================== */

.page-flow > * { margin-block: 0; }
.pai-hero > *, .scrub__sticky > *, .wotom-scrub > * { margin-block: 0 !important; }
.pai-hero__text > *, .scrub__text > * { margin-top: 0; }
.pai-hero__text > .pai-hero__lead { margin-top: 1.25rem; }
.use-cases > *, .plans > *, .spec-row > *, .spec-pair > *, .engines > *, .loop-notes > *, .pai-split > *, .stations > *, .notes > *, .contact > * { margin-block: 0 !important; }
.wp-block-table.hazards td, .wp-block-table.revisions td, .wp-block-table.compare td { font-size: 1rem; }
.pai-hero__title mark, .scrub__title mark { background: none; }
.pai-link-row a { font-family: var(--f-mono); font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.03em; }
.pai-link-row { margin-top: 1.5rem !important; }

/* Tables from the editor (figure.wp-block-table) ---------------------------- */

.wp-block-table.hazards, .wp-block-table.revisions, .wp-block-table.compare { margin: 0; overflow: visible; }
.wp-block-table.hazards table, .wp-block-table.revisions table, .wp-block-table.compare table { width: 100%; border-collapse: collapse; background: var(--white); }
.wp-block-table.hazards thead, .wp-block-table.revisions thead, .wp-block-table.compare thead { border: 0; }
.hazards td, .hazards th, .revisions td, .revisions th, .compare td, .compare th { border-left: 0; border-right: 0; border-bottom: 0; }
.wp-block-table.hazards thead th, .wp-block-table.revisions thead th, .wp-block-table.compare thead th { border-top: 0; }

.wp-block-table.hazards td:first-child { width: 6rem; }
.wp-block-table.hazards td:first-child code {
	display: inline-block;
	padding: 0.2rem 0.45rem;
	background: var(--alert);
	color: var(--white);
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	font-weight: 600;
}
.wp-block-table.hazards td:nth-child(2) { width: 30%; }
.wp-block-table.hazards td:nth-child(2) strong {
	font-family: var(--f-display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--h-4);
	line-height: 1.02;
	text-transform: uppercase;
}
.wp-block-table.hazards td:nth-child(3) { color: var(--ink-2); line-height: 1.5; }
.site-main--dwh .wp-block-table.hazards tr:nth-child(2) td:nth-child(2) strong { font-family: var(--f-mono); font-size: 1.0625rem; font-weight: 600; line-height: 1.3; text-transform: none; }

.wp-block-table.revisions td:first-child { color: var(--ink-2); text-decoration: line-through; text-decoration-color: rgb(184 50 28 / 0.55); text-decoration-thickness: 1px; }
.wp-block-table.revisions td:last-child { font-weight: 600; }
.wp-block-table.revisions th + th, .wp-block-table.revisions td + td { border-left: var(--line) solid var(--ink); }
.wp-block-table.revisions thead th:last-child { background: var(--stored); }

.wp-block-table.compare td:first-child {
	width: 24%;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 1.0625rem;
	text-transform: uppercase;
}
.wp-block-table.compare td:nth-child(2) { color: var(--ink-2); }
.wp-block-table.compare td:nth-child(3) { background: rgb(28 91 176 / 0.06); font-weight: 600; border-left: var(--line) solid var(--stored); border-right: var(--line) solid var(--stored); }
.wp-block-table.compare thead th:nth-child(3) { background: var(--stored); }
.site-main--dwh .wp-block-table.compare td:nth-child(3), .site-main--sub .wp-block-table.compare td:nth-child(3) { background: var(--white); border-left-color: var(--ink); border-right-color: var(--ink); }
.site-main--dwh .wp-block-table.compare thead th:nth-child(3), .site-main--sub .wp-block-table.compare thead th:nth-child(3) { background: var(--ink); }

/* Rules and rows written as paragraphs ------------------------------------------ */

p.rules__row {
	display: grid;
	grid-template-columns: 10rem minmax(0, 1fr);
	gap: 1rem;
	margin: 0;
	padding: 0.9rem 0;
	border-bottom: var(--hair) solid var(--ink);
	align-items: baseline;
	line-height: 1.5;
}
p.rules__row > code {
	justify-self: start;
	font-family: var(--f-mono);
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	padding: 0.15rem 0.45rem;
	border: var(--hair) solid var(--stored);
	color: var(--stored);
	background: none;
}
.rules--wide p.rules__row { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); }
.rules--wide p.rules__row > strong { font-family: var(--f-display); font-size: 1.125rem; font-weight: 800; text-transform: uppercase; }
.rules > * { margin-block: 0 !important; }

/* Spec blocks: tags written as inline code in headings --------------------------- */

.spec h3 code {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin-right: 0.5rem;
	border-radius: 50%;
	border: var(--line) solid var(--ink);
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-mono);
	font-size: 0.875rem;
	vertical-align: middle;
}
.spec-row .spec h3 code {
	display: block;
	width: max-content;
	height: auto;
	margin: 0 0 0.35rem;
	padding: 0.15rem 0.4rem;
	border-radius: 0;
	border-width: 1px;
	background: none;
	color: var(--ink);
	font-size: 0.75rem;
	font-weight: 600;
}
.spec-row--hours .spec h3 code { display: inline-grid; width: 2rem; height: 2rem; padding: 0; margin: 0 0.5rem 0 0; border-radius: 50%; border-width: 2px; font-size: 0.875rem; }
.spec-row--hours .spec--care h3 code { background: var(--ink); color: var(--paper); }
.spec-row--hours .spec--fix h3 code { background: var(--alert); border-color: var(--alert); color: var(--white); }
.spec-row--hours .spec--dev h3 code { background: var(--white); color: var(--ink); }
.spec > * { margin-block: 0; }
.spec h3 { margin-bottom: 1rem !important; }

/* Use-case sheets ------------------------------------------------------------------ */

.use-case > * { margin: 0 !important; }
.use-case__title code {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin-right: 0.5rem;
	border-radius: 50%;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-mono);
	font-size: 0.875rem;
}
p.use-case__row { padding: 0.85rem 1.5rem; border-top: var(--hair) solid var(--paper-shade); line-height: 1.5; }
p.use-case__row > strong { display: block; margin-bottom: 0.2rem; font-family: var(--f-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); }
p.use-case__effect { font-weight: 600; background: rgb(35 114 74 / 0.08); border-top: var(--line) solid var(--treated); }
p.use-case__effect > strong { color: var(--treated); }

/* Engines and plans written as paragraphs --------------------------------------------- */

.engine > * { margin: 0 !important; }
p.engine__tag { align-self: flex-start; }
.plan > *, .plan__head > * { margin-block: 0 !important; }
.plan__spec > p.plan__row {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1fr);
	gap: 0.75rem;
	margin: 0;
	padding: 0.7rem 1.5rem;
	border-top: var(--hair) solid var(--paper-shade);
	align-items: baseline;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
}
.plan__spec > p.plan__row:first-child { border-top: 0; }
.plan__spec > p.plan__row > strong { font-family: var(--f-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); }
.plan__spec { margin: 0 !important; border-top: var(--line) solid var(--ink); }
.plan__cta .wp-block-button { width: 100%; }

/* FAQ written as details blocks --------------------------------------------------------- */

.notes { counter-reset: note; }
.notes > .wp-block-details { margin: 0 !important; border-bottom: var(--hair) solid var(--ink); counter-increment: note; }
.notes .wp-block-details summary {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) 1.25rem;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--h-4);
	line-height: 1.05;
	text-transform: uppercase;
}
.notes .wp-block-details summary::-webkit-details-marker { display: none; }
.notes .wp-block-details summary::before { content: counter(note) "."; font-family: var(--f-mono); font-weight: 600; font-size: 0.9375rem; color: var(--ink-2); }
.notes .wp-block-details summary::after {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	background:
		linear-gradient(var(--ink), var(--ink)) center / 100% 2px no-repeat,
		linear-gradient(var(--ink), var(--ink)) center / 2px 100% no-repeat;
}
.notes .wp-block-details[open] summary::after { background: linear-gradient(var(--ink), var(--ink)) center / 100% 2px no-repeat; }
.notes .wp-block-details summary:hover { color: var(--stored); }
.notes .wp-block-details > p { margin: 0 2.5rem 1.5rem 4rem; max-width: 70ch; line-height: 1.55; color: var(--ink-2); }

/* Editor preview of theme-drawn parts ---------------------------------------------------- */

.wotom-part-editor { pointer-events: none; }
.pai-hero > .wotom-part-editor { grid-column: 7 / span 6; }
.scrub__sticky > .wotom-part-editor { grid-column: 6 / span 7; }
.is-layout-constrained > .wotom-part-editor { max-width: 84rem !important; }
@media (max-width: 1100px) {
	.pai-hero > .pool, .pai-hero > .pai-limit, .pai-hero > .wotom-part-editor { grid-column: 1 / -1; margin-top: 2.5rem !important; }
	.scrub__sticky > .wotom-part-editor { grid-column: 1 / -1; }
}

@media (max-width: 781px) {
	.wp-block-table.hazards table, .wp-block-table.revisions table, .wp-block-table.compare table,
	.wp-block-table.hazards tbody, .wp-block-table.revisions tbody, .wp-block-table.compare tbody,
	.wp-block-table.hazards tr, .wp-block-table.revisions tr, .wp-block-table.compare tr,
	.wp-block-table.hazards td, .wp-block-table.revisions td, .wp-block-table.compare td { display: block; width: auto !important; }
	.wp-block-table.hazards thead, .wp-block-table.revisions thead, .wp-block-table.compare thead { display: none; }
	.wp-block-table.hazards tr { border-top: var(--hair) solid var(--ink); padding: 1rem; }
	.wp-block-table.hazards td { border: 0; padding: 0 0 0.5rem; }
	.wp-block-table.revisions tr { border-top: var(--hair) solid var(--ink); }
	.wp-block-table.revisions td { border: 0 !important; padding: 0.75rem 1rem; }
	.wp-block-table.revisions td + td { border-top: var(--hair) dashed var(--ink-3) !important; }
	.wp-block-table.revisions td::before { content: attr(data-label); display: inline-block; width: 100%; font-family: var(--f-mono); font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 0.2rem; }
	.wp-block-table.compare tr { border-top: var(--line) solid var(--ink); }
	.wp-block-table.compare td { border: 0 !important; padding: 0.4rem 1rem 0.8rem; }
	.wp-block-table.compare td:first-child { padding-top: 0.9rem; }
	.wp-block-table.compare td:not(:first-child)::before { content: attr(data-label); display: block; font-family: var(--f-mono); font-weight: 500; font-size: 0.6875rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 0.15rem; }
	p.rules__row, .rules--wide p.rules__row { grid-template-columns: 1fr; gap: 0.4rem; }
	.plan__spec > p.plan__row { grid-template-columns: 1fr; gap: 0.15rem; }
	.notes .wp-block-details summary { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; gap: 0.6rem; }
	.notes .wp-block-details > p { margin: 0 0 1.25rem 2.6rem; }
}

/* ==========================================================================
   v6: sheet width on every page, home + about as editable pages
   ========================================================================== */

/* Hero sheets keep the same 88rem frame as the home page, even when the block is full-width. */
.pai-hero.alignfull, .wotom-scrub.alignfull, .wotom-hero.alignfull { max-width: 88rem; margin-left: auto !important; margin-right: auto !important; }
.wotom-hero > *:not(.sheet-ruler):not(.sheet-side) { margin-block: 0 !important; }
.wotom-hero__text > * { margin-top: 0; }
.wotom-hero__title mark { background: none; }
.wotom-hero > .wotom-part-editor { grid-column: 1 / -1; }
.wotom-hero .title-block--hero { margin-top: 0.75rem !important; }

/* About: company nameplate */
.company-plate { grid-column: 8 / span 5; align-self: center; background: var(--white); border: var(--line) solid var(--ink); }
.company-plate > * { margin: 0 !important; }
.company-plate__head {
	padding: 0.7rem 1.25rem;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
p.company-plate__row {
	display: grid;
	grid-template-columns: 10rem minmax(0, 1fr);
	gap: 1rem;
	padding: 0.7rem 1.25rem;
	border-top: var(--hair) solid var(--paper-shade);
	font-weight: 600;
	line-height: 1.4;
}
p.company-plate__row:nth-child(2) { border-top: 0; }
p.company-plate__row > strong { font-family: var(--f-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); }

/* Places the company still has to fill in */
.site-main code:not(.wp-block-code code) { font-family: var(--f-mono); }
.company-plate code, .section-head__lead code, .person code:not(.use-case__title code) {
	padding: 0.05rem 0.35rem;
	border: var(--hair) dashed var(--alert);
	background: #FFF6F4;
	color: var(--alert);
	font-size: 0.8125rem;
	font-weight: 500;
}
.engines--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.engine__name a { color: var(--ink); text-decoration: none; }
.engine__name a:hover { color: var(--stored); text-decoration: underline; text-decoration-thickness: 2px; }

@media (max-width: 1100px) {
	.company-plate { grid-column: 1 / -1; margin-top: 2.5rem !important; max-width: 36rem; }
	.engines--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	p.company-plate__row { grid-template-columns: 1fr; gap: 0.15rem; }
	.engines--4 { grid-template-columns: 1fr; }
}

/* v10: case cards without the date cell */
.title-block--two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 781px) { .title-block--two .title-block__cell:nth-child(2) { grid-column: auto; border-top: 0; border-left: var(--hair) solid var(--ink); } }

/* ==========================================================================
   v12: benefit-led home page (two pillars), non-link Services menu item
   ========================================================================== */

.site-header .nav-services > .wp-block-navigation-item__content { cursor: default; }
.site-header .nav-services > .wp-block-navigation-item__content:hover { border-bottom-color: transparent; }

/* Hero: one primary action, four routes */
.home-hero__primary { margin-top: 0 !important; }
.home-hero__routes {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem !important;
	margin-top: 0.75rem !important;
	max-width: 32rem;
}
.home-hero__routes .wp-block-button, .home-hero__routes .wp-block-button__link { width: 100%; }
.home-hero__routes .wp-block-button__link { text-align: left; font-size: 1.0625rem; padding: 0.7rem 1rem; }
.home-hero .pai-hero__title { max-width: 16ch; }

/* Pillars drawing */
.pid--pillars .beam { fill: var(--ink); }
.pid--pillars .t-beam { fill: var(--valve); font-family: var(--f-display); font-weight: 800; font-size: 22px; text-transform: uppercase; }
.pid--pillars .load { fill: none; stroke: var(--ink); stroke-width: 2; }
.pid--pillars .plate { fill: var(--white); stroke: var(--ink); stroke-width: 1.5; }
.pid--pillars .plate--ai { stroke: var(--signal); }
.pid--pillars .plate--data { stroke: var(--stored); }
.pid--pillars .t-plate { font-family: var(--f-display); font-weight: 800; font-size: 16px; text-transform: uppercase; fill: var(--ink); }
.pid--pillars .t-name--stored { fill: var(--stored); }
.pid--pillars .t-tag--pipe { fill: var(--stored); }
.pid--pillars .slab { fill: rgb(138 84 35 / 0.12); stroke: var(--ink); stroke-width: 2; }
.pid--pillars .t-slab { font-family: var(--f-display); font-weight: 800; font-size: 16px; text-transform: uppercase; fill: var(--raw); }
.pid--pillars .ground { stroke: var(--ink); stroke-width: 2; }
.pid--pillars .hatch { stroke: var(--ink); stroke-width: 1; opacity: 0.55; }
.pid--pillars .pillar .body { fill: var(--paper); }
.pid--pillars .pillar--ai .body { fill: rgb(161 31 134 / 0.05); }
.pid--pillars .pillar--data .body { fill: rgb(28 91 176 / 0.05); }

/* Pillar headings: the pillar tag sits in the heading like every tag of the sheet */
.home-pillar h2 code {
	display: inline-block;
	margin-right: 0.4rem;
	padding: 0.1rem 0.5rem;
	font-family: var(--f-mono);
	font-size: 0.35em;
	font-weight: 600;
	letter-spacing: 0.03em;
	vertical-align: 0.55em;
	color: var(--white);
	background: var(--ink);
}
.home-pillar--ai h2 code { background: var(--signal); }
.home-pillar--data h2 code { background: var(--stored); }

/* Pillar I: automation cards */
.auto-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.auto-cards > * { margin: 0 !important; }
.auto-card {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.5rem 1.5rem 0;
	background: var(--white);
	border: var(--line) solid var(--ink);
	transition: border-color 180ms var(--ease-out);
}
.auto-card:hover { border-color: var(--signal); }
.auto-card > * { margin: 0 !important; }
.auto-card__tag {
	align-self: flex-start;
	padding: 0.2rem 0.5rem;
	border: var(--hair) solid var(--signal);
	color: var(--signal);
	font-family: var(--f-mono);
	font-size: 0.75rem;
	font-weight: 600;
}
.auto-card__title { font-size: var(--wp--preset--font-size--h-4); line-height: 1.02; }
.auto-card__text { color: var(--ink-2); line-height: 1.5; flex: 1; }
.auto-card__loop {
	list-style: none;
	margin: 0 -1.5rem !important;
	padding: 0 !important;
	border-top: var(--line) solid var(--ink);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.auto-card__loop li { padding: 0.75rem 0.9rem 0.85rem; font-size: 0.875rem; line-height: 1.35; position: relative; }
.auto-card__loop li + li { border-left: var(--hair) dashed var(--ink-3); }
.auto-card__loop li + li::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 1.1rem;
	border: 5px solid transparent;
	border-left-color: var(--signal);
	border-right: 0;
}
.auto-card__loop strong { display: block; margin-bottom: 0.15rem; font-family: var(--f-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-3); }
.auto-card__loop li:nth-child(2) strong { color: var(--signal); }

/* Pillar II: spec lead line */
.spec__lead { margin: 0 0 0.75rem !important; line-height: 1.5; color: var(--ink-2); }

/* Why Wotomio */
.why { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.why > * { margin: 0 !important; }
.why__text > * { margin-block: 0 1.25rem !important; }
.why__text h2 { max-width: 18ch; }
.why__stack { border: var(--line) solid var(--ink); border-radius: 50% 50% 0 0 / 2.5rem 2.5rem 0 0; overflow: hidden; }
.why__stack > * { margin: 0 !important; }
.why__band { padding: 1.75rem 1.5rem; }
.why__band > * { margin: 0 !important; }
.why__band--ai { background: var(--signal); color: var(--white); padding-top: 2.5rem; }
.why__band--data { background: var(--stored); color: var(--white); border-top: var(--line) solid var(--ink); padding-bottom: 2.5rem; }
.why__band-name { font-family: var(--f-display); font-weight: 800; font-size: var(--wp--preset--font-size--h-3); line-height: 1; text-transform: uppercase; }
.why__band-note { margin-top: 0.4rem !important; font-family: var(--f-mono); font-size: 0.8125rem; letter-spacing: 0.02em; opacity: 0.9; }
.why__stack::after {
	content: "";
	display: block;
	height: 0.9rem;
	border-top: var(--line) solid var(--ink);
	background: repeating-linear-gradient(-45deg, var(--ink) 0 1px, transparent 1px 9px);
	opacity: 0.55;
}

/* Contact form: topic choice */
.topics { display: grid; gap: 0.4rem; }
.topic { position: relative; display: flex; cursor: pointer; }
.topic input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.topic span {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.65rem 0.85rem;
	border: var(--line) solid var(--ink);
	background: var(--white);
	font-weight: 600;
	transition: background-color 160ms var(--ease-out), color 160ms var(--ease-out);
}
.topic span::before { content: ""; width: 0.9rem; height: 0.9rem; border: var(--line) solid currentColor; border-radius: 50%; flex: none; }
.topic input:checked + span { background: var(--ink); color: var(--paper); }
.topic input:checked + span::before { background: var(--valve); border-color: var(--valve); }
.topic input:focus-visible + span { outline: 3px solid var(--stored); outline-offset: 2px; }
.home-hero ~ * .contact__intro .contact__value, .sub-order .contact__intro .contact__value { margin-bottom: 1rem !important; }
.sub-order .contact__intro .title-block__label { color: #A8B4BE; margin-top: 1.5rem !important; }

@media (max-width: 1100px) {
	.auto-cards { grid-template-columns: 1fr; max-width: 40rem; }
	.why { grid-template-columns: 1fr; }
}
@media (max-width: 781px) {
	.home-hero__routes { grid-template-columns: 1fr; }
	.auto-card__loop { grid-template-columns: 1fr; }
	.auto-card__loop li + li { border-left: 0; border-top: var(--hair) dashed var(--ink-3); }
	.auto-card__loop li + li::before { left: 0.9rem; top: -5px; border: 5px solid transparent; border-top-color: var(--signal); border-bottom: 0; }
	.pid--pillars .t-plate { font-size: 19px; }
	.pid--pillars .t-beam { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
	.auto-card, .topic span { transition: none; }
}

.nobr { white-space: nowrap; }

/* Editor: the HTML block wrapper must not become the ruler's positioning context */
.block-editor-block-list__block.wp-block-html:has(.sheet-ruler), .block-editor-block-list__block.wp-block-html:has(.sheet-ruler) > div { position: static !important; }
