/*
 * NetCore Labs 2026 – site stylesheet (no build step).
 *
 * Structure: fonts · tokens · base · layout · typography · buttons · sections and components (theme classes on
 * core blocks, see patterns/) · tour block · header (1:1 port of netcorelabs.pl) · footer · forms (Contact Form 7)
 * · chat · blog · print. Icon classes at the end are generated by scripts/build-icons.py.
 */

/* ---------- Fonts: Nunito Sans, the files served by netcorelabs.pl (self-hosted, no font CDN – GDPR) ---------- */
@font-face { font-family: 'Nunito Sans'; src: url('../fonts/nunitosans-regular-webfont.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nunito Sans'; src: url('../fonts/nunitosans-semibold-webfont.woff2') format('woff2'); font-weight: 500 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nunito Sans'; src: url('../fonts/nunitosans-bold-webfont.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nunito Sans'; src: url('../fonts/nunitosans-extrabold-webfont.woff2') format('woff2'); font-weight: 800 900; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--font: 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

	/* Brand blue #0072F5 (logo) and the darker steps used for text and buttons on white (WCAG AA). */
	--blue: #0072f5;
	--blue-strong: #0062d6;
	--blue-deep: #004fae;
	--blue-50: #f2f8ff;
	--blue-100: #e3efff;
	--blue-200: #c4dcff;
	--blue-light: #8cc2ff;
	--accent-a11y: #0071f2;

	--heading: #20242c;
	--text: #555c69;
	--muted: #5d6471;
	--line: #e3e8ef;
	--line-strong: #cfd7e2;
	--soft: #f4f6f9;
	--white: #fff;
	--graphite: #303030;

	--ink: #0b1b33;
	--ink-2: #132846;
	--ink-3: #1d3760;
	--ink-text: #cdd7e4;
	--ink-muted: #a9b8cc;

	--success: #0b6146;
	--danger: #b42318;
	--danger-50: #fef3f2;

	--radius-sm: 0.75rem;
	--radius: 1rem;
	--radius-lg: 1.5rem;
	--shadow-card: 0 1px 2px rgb(11 27 51 / 0.04), 0 8px 24px -12px rgb(11 27 51 / 0.14);
	--shadow-float: 0 2px 6px rgb(11 27 51 / 0.06), 0 30px 60px -24px rgb(11 27 51 / 0.35);
	--ease: cubic-bezier(0.22, 1, 0.36, 1);

	/* Content container = netcorelabs.pl .container: min(1480px, 95%), below 744px 100% - 2rem. */
	--wrap-max: 1480px;
	--gutter: 1rem;
	--section-y: clamp(4rem, 2.5rem + 5vw, 8rem);
	--header-h: 92px;

	--fs-h1: clamp(2.25rem, 1.55rem + 2.3vw, 3.375rem);
	--fs-h2: clamp(1.875rem, 1.4rem + 1.5vw, 2.75rem);
	--fs-h3: 1.25rem;
	--fs-lead: clamp(1.125rem, 1.06rem + 0.3vw, 1.3125rem);
	--fs-small: 0.9375rem;
}

@media (min-width: 744px) {
	:root { --gutter: max(2.5%, calc((100% - var(--wrap-max)) / 2)); }
}

@media (max-width: 992px) {
	:root { --header-h: 77.4545px; }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--header-h) + 1rem);
}

body {
	margin: 0;
	font-family: var(--font);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--text);
	background-color: var(--white);
	/* netcorelabs.pl page background, visible behind the transparent header and the hero. */
	background-image: url('../img/tlo-hero.webp');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 200vh;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	color: var(--heading);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.012em;
	text-wrap: balance;
}

p, ul, ol, dl, figure, blockquote, pre, table { margin: 0; }
p { text-wrap: pretty; }
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--blue-strong); text-underline-offset: 0.2em; }
a:hover { color: var(--blue-deep); }
strong, b { font-weight: 700; color: var(--heading); }
code, kbd, pre { font-family: var(--font-mono); font-size: 0.9em; }
hr { border: 0; border-top: 1px solid var(--line); margin: 2.5rem 0; }

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

:focus-visible {
	outline: 3px solid var(--blue-strong);
	outline-offset: 3px;
	border-radius: 0.25rem;
}

[hidden] { display: none !important; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2147483647;
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	background: var(--blue-strong);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transform: translateY(-200%);
}

.skip-link:focus { transform: none; color: #fff; }

.ncl-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }

/* ---------- Layout ---------- */
.wrap {
	width: min(var(--wrap-max), 100% - 2rem);
	margin-inline: auto;
}

@media (min-width: 744px) {
	.wrap { width: min(var(--wrap-max), 95%); }
}

.site-main {
	display: block;
	padding-top: var(--header-h);
	outline: none;
}

/* Full-width sections place their children in the container through padding (keeps every edge aligned). */
.ncl-section,
.ncl-page-head,
.ncl-crumbs-wrap {
	padding-inline: var(--gutter);
}

.ncl-section {
	position: relative;
	padding-block: var(--section-y);
}

.ncl-section--tight { padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); }
.ncl-section.is-flush-top { padding-top: 0; }
.ncl-section > * + * { margin-top: clamp(2.5rem, 2rem + 1.5vw, 3.5rem); }

/* Light band (full width). */
.ncl-bg-soft { background: var(--soft); }
.ncl-bg-white { background: var(--white); }
.ncl-bg-soft + .ncl-bg-soft { padding-top: 0; }

/* Dark panel: a rounded block inset in the container. */
.ncl-panel-dark {
	margin-inline: var(--gutter);
	padding-inline: clamp(1.25rem, 0.5rem + 4vw, 6rem);
	border-radius: var(--radius-lg);
	background:
		radial-gradient(60rem 30rem at 100% 0%, rgb(0 114 245 / 0.22), transparent 60%),
		linear-gradient(135deg, var(--ink) 0%, #0e2242 100%);
	color: var(--ink-text);
}

.ncl-panel-dark + .ncl-panel-dark { margin-top: 1.5rem; }
.ncl-panel-dark :is(h1, h2, h3, h4, strong) { color: #fff; }
.ncl-panel-dark p, .ncl-panel-dark li { color: var(--ink-text); }
.ncl-panel-dark a:not(.wp-block-button__link) { color: var(--blue-light); }
.ncl-panel-dark a:not(.wp-block-button__link):hover { color: #fff; }
.ncl-panel-dark :focus-visible { outline-color: var(--blue-light); }
.ncl-panel-dark .ncl-eyebrow { color: var(--blue-light); }

@media (max-width: 743px) {
	.ncl-panel-dark { border-radius: var(--radius); }
}

/* ---------- Typography in content ---------- */
.ncl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--blue-strong);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ncl-eyebrow::before {
	content: '';
	width: 1.5rem;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.ncl-lead {
	color: var(--text);
	font-size: var(--fs-lead);
	line-height: 1.6;
}

.ncl-panel-dark .ncl-lead { color: var(--ink-text); }

.ncl-content h1, .ncl-page-head__title { font-size: var(--fs-h1); line-height: 1.1; letter-spacing: -0.02em; }
.ncl-content h2 { font-size: var(--fs-h2); line-height: 1.14; letter-spacing: -0.018em; }
.ncl-content h3 { font-size: var(--fs-h3); line-height: 1.3; }
.ncl-content h4 { font-size: 1.0625rem; line-height: 1.35; }

.ncl-small, .has-small-font-size { font-size: var(--fs-small); }
.ncl-note { color: var(--muted); font-size: 0.875rem; line-height: 1.55; }
.ncl-panel-dark .ncl-note { color: var(--ink-muted); }
.has-text-align-center { text-align: center; }

/* Section heading: eyebrow, title and intro. */
.ncl-head { max-width: 60rem; }
.ncl-head > * + * { margin-top: 1rem; }
.ncl-head > .ncl-eyebrow + * { margin-top: 1rem; }
.ncl-head > h2 + p { margin-top: 1.25rem; }
.ncl-head--center { margin-inline: auto; text-align: center; }
.ncl-head--center .ncl-eyebrow { justify-content: center; }
.ncl-head--row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 3rem;
	align-items: flex-end;
	justify-content: space-between;
	max-width: none;
}
.ncl-head--row > * + * { margin-top: 0; }
.ncl-head--row > .wp-block-group:first-child { max-width: 52rem; }
.ncl-head--row > .wp-block-group:first-child > * + * { margin-top: 1rem; }

/* ---------- Buttons ---------- */
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.wp-block-buttons.is-content-justification-center { justify-content: center; }

.wp-block-button__link,
.ncl-btn,
.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-height: 3rem;
	padding: 0.75rem 1.6rem;
	border: 1px solid var(--blue-strong);
	border-radius: 999px;
	background: var(--blue-strong);
	color: #fff;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.2s var(--ease);
	box-shadow: 0 8px 20px -10px rgb(0 98 214 / 0.7);
}

.wp-block-button__link::after,
.ncl-btn--primary::after {
	content: '';
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--arrow) center / contain no-repeat;
	mask: var(--arrow) center / contain no-repeat;
	transition: transform 0.2s var(--ease);
}

.ncl-btn--primary::after { content: none; }

:root {
	--arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
	--external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4 10.5 13.5'/%3E%3Cpath d='M18 14v4.5A1.5 1.5 0 0 1 16.5 20h-11A1.5 1.5 0 0 1 4 18.5v-11A1.5 1.5 0 0 1 5.5 6H10'/%3E%3C/svg%3E");
	--check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E");
	--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.wp-block-button__link[target='_blank']::after { -webkit-mask-image: var(--external); mask-image: var(--external); }

.wp-block-button__link:hover,
.ncl-btn--primary:hover,
.wpcf7-submit:hover {
	border-color: var(--blue-deep);
	background: var(--blue-deep);
	color: #fff;
	box-shadow: 0 10px 24px -10px rgb(0 79 174 / 0.8);
}

.wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button__link[target='_blank']:hover::after { transform: translate(2px, -2px); }

.is-style-secondary .wp-block-button__link,
.ncl-btn--secondary {
	border-color: rgb(48 48 48 / 0.7);
	background: var(--white);
	color: var(--graphite);
	box-shadow: none;
}

.is-style-secondary .wp-block-button__link::after { content: none; }
.is-style-secondary .wp-block-button__link[target='_blank']::after { content: ''; }

.is-style-secondary .wp-block-button__link:hover,
.ncl-btn--secondary:hover {
	border-color: var(--graphite);
	background: var(--graphite);
	color: #fff;
}

.is-style-link .wp-block-button__link {
	min-height: 2.75rem;
	padding: 0.4rem 0;
	border: 0;
	border-radius: 0.25rem;
	background: none;
	color: var(--blue-strong);
	box-shadow: none;
}

.is-style-link .wp-block-button__link:hover { background: none; color: var(--blue-deep); box-shadow: none; }

.ncl-panel-dark .wp-block-button__link { border-color: #fff; background: #fff; color: var(--ink); box-shadow: none; }
.ncl-panel-dark .wp-block-button__link:hover { border-color: var(--blue-light); background: var(--blue-light); color: var(--ink); }
.ncl-panel-dark .is-style-secondary .wp-block-button__link { border-color: rgb(255 255 255 / 0.5); background: transparent; color: #fff; }
.ncl-panel-dark .is-style-secondary .wp-block-button__link:hover { border-color: #fff; background: #fff; color: var(--ink); }
.ncl-panel-dark .is-style-link .wp-block-button__link { background: none; color: var(--blue-light); }

.ncl-btn--sm { min-height: 2.75rem; padding: 0.55rem 1.15rem; font-size: 0.9375rem; }
.ncl-btn .ncl-icon { width: 1rem; height: 1rem; }

/* Text link with an arrow. */
.ncl-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	text-decoration: none;
}

.ncl-arrow-link::after {
	content: '';
	width: 1rem;
	height: 1rem;
	background: currentColor;
	-webkit-mask: var(--arrow) center / contain no-repeat;
	mask: var(--arrow) center / contain no-repeat;
	transition: transform 0.2s var(--ease);
}

.ncl-arrow-link:hover::after { transform: translateX(3px); }

/* ---------- Grids ---------- */
.ncl-grid-1, .ncl-grid-2, .ncl-grid-3, .ncl-grid-4 {
	display: grid;
	gap: clamp(1rem, 0.6rem + 1vw, 1.5rem);
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
	.ncl-grid-2, .ncl-grid-3, .ncl-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.ncl-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ncl-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ncl-grid-1 > *, .ncl-grid-2 > *, .ncl-grid-3 > *, .ncl-grid-4 > * { margin: 0; }

/* Split: text and media side by side from 1024 px. */
.ncl-split {
	display: grid;
	gap: clamp(2rem, 1rem + 3vw, 4.5rem);
	align-items: center;
	grid-template-columns: minmax(0, 1fr);
}

.ncl-split > * { margin: 0; min-width: 0; }
.ncl-split > .wp-block-group:not([class*='ncl-grid']):not(.ncl-faq) > * + * { margin-top: 1.25rem; }
.ncl-split > .wp-block-group > .ncl-eyebrow + * { margin-top: 1rem; }
.ncl-split > .wp-block-group > .wp-block-buttons { margin-top: 2rem; }

@media (min-width: 1024px) {
	.ncl-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.ncl-split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ncl-split--reverse > :first-child { order: 2; }
	.ncl-split--top { align-items: start; }
	.ncl-split--wide-text { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.ncl-split--sticky > :first-child { position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; }
}

/* ---------- Cards ---------- */
.ncl-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-card);
}

.ncl-card > * + * { margin-top: 0.75rem; }
.ncl-card > h3 + p { margin-top: 0.6rem; }
.ncl-card > .wp-block-buttons, .ncl-card > .ncl-card__more { margin-top: auto; padding-top: 1.25rem; }
.ncl-card p { font-size: var(--fs-small); line-height: 1.65; }
.ncl-card h3 { font-size: var(--fs-h3); }
.ncl-card--plain { box-shadow: none; }
.ncl-card--soft { border-color: transparent; background: var(--soft); box-shadow: none; }

.ncl-bg-soft .ncl-card--soft { background: var(--white); }

/* Icon tile before the first element of a card with an .ncl-ico-NAME class. */
.ncl-card[class*='ncl-ico-']::before,
.ncl-feature[class*='ncl-ico-']::before {
	content: '';
	display: block;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1.25rem;
	border-radius: 0.75rem;
	background-color: var(--blue-50);
	box-shadow: inset 0 0 0 1px var(--blue-100);
}

.ncl-card[class*='ncl-ico-']::after,
.ncl-feature[class*='ncl-ico-']::after {
	content: '';
	position: absolute;
	width: 1.375rem;
	height: 1.375rem;
	background: var(--blue-strong);
	-webkit-mask: var(--ncl-ico) center / contain no-repeat;
	mask: var(--ncl-ico) center / contain no-repeat;
	top: calc(clamp(1.5rem, 1.2rem + 0.8vw, 2rem) + 0.6875rem);
	left: calc(clamp(1.5rem, 1.2rem + 0.8vw, 2rem) + 0.6875rem);
	pointer-events: none;
}

.ncl-panel-dark .ncl-card {
	border-color: rgb(255 255 255 / 0.1);
	background: rgb(255 255 255 / 0.04);
	box-shadow: none;
}

.ncl-panel-dark .ncl-card[class*='ncl-ico-']::before { background-color: rgb(255 255 255 / 0.06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.12); }
.ncl-panel-dark .ncl-card[class*='ncl-ico-']::after { background: var(--blue-light); }

/* Whole card clickable through the link in its heading. */
.ncl-card--link { transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease); }
.ncl-card--link :is(h2, h3) a { color: inherit; text-decoration: none; }
.ncl-card--link :is(h2, h3) a::before { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ncl-card--link :is(h2, h3) a:focus-visible { outline: none; }
.ncl-card--link:has(:is(h2, h3) a:focus-visible) { outline: 3px solid var(--blue-strong); outline-offset: 3px; }
.ncl-card--link .wp-block-buttons, .ncl-card--link .ncl-card__extra { position: relative; z-index: 2; }

@media (hover: hover) {
	.ncl-card--link:hover { transform: translateY(-3px); border-color: var(--blue-200); box-shadow: var(--shadow-float); }
	.ncl-card--link:hover :is(h2, h3) { color: var(--blue-strong); }
}

.ncl-card__more {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--blue-strong);
	font-size: var(--fs-small);
	font-weight: 700;
}

.ncl-card__more::after {
	content: '';
	width: 1rem;
	height: 1rem;
	background: currentColor;
	-webkit-mask: var(--arrow) center / contain no-repeat;
	mask: var(--arrow) center / contain no-repeat;
	transition: transform 0.2s var(--ease);
}

.ncl-card--link:hover .ncl-card__more::after { transform: translateX(3px); }

.ncl-card .ncl-kicker,
.ncl-kicker {
	color: var(--blue-strong);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ncl-panel-dark .ncl-kicker { color: var(--blue-light); }

/* Product tile: screenshot on top. */
.ncl-product { padding: 0; overflow: hidden; }
.ncl-product > :not(.ncl-product__media) { margin-inline: clamp(1.5rem, 1.2rem + 0.8vw, 2rem); }
.ncl-product > :last-child { margin-bottom: clamp(1.5rem, 1.2rem + 0.8vw, 2rem); }
.ncl-product > .ncl-product__media + * { margin-top: 1.75rem; }
.ncl-product h3 { font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.625rem); }

.ncl-product__media {
	margin: 0;
	padding: 1.5rem 1.5rem 0;
	border-bottom: 1px solid var(--line);
	background: linear-gradient(180deg, var(--soft), var(--white));
}

.ncl-product__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: top;
	border: 1px solid var(--line-strong);
	border-bottom: 0;
	border-radius: 0.75rem 0.75rem 0 0;
	transition: transform 0.4s var(--ease);
	transform: translateY(6px);
}

.ncl-product:hover .ncl-product__media img { transform: none; }

/* Feature list item (icon + title + text, no card chrome). */
.ncl-feature { position: relative; }
.ncl-feature > * + * { margin-top: 0.5rem; }
.ncl-feature h3 { font-size: 1.125rem; }
.ncl-feature p { font-size: var(--fs-small); }
.ncl-feature[class*='ncl-ico-']::after { top: 0.6875rem; left: 0.6875rem; }

/* ---------- Stats ---------- */
.ncl-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--line);
}

@media (min-width: 1024px) {
	.ncl-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ncl-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ncl-stats > * { margin: 0; }

.ncl-stat {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	background: rgb(255 255 255 / 0.92);
}

.ncl-stat__value {
	color: var(--heading);
	font-size: clamp(1.625rem, 1.3rem + 1vw, 2.25rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.ncl-stat p:not(.ncl-stat__value) { font-size: var(--fs-small); line-height: 1.45; color: var(--muted); }

.ncl-panel-dark .ncl-stats { border-color: rgb(255 255 255 / 0.1); background: rgb(255 255 255 / 0.1); }
.ncl-panel-dark .ncl-stat { background: var(--ink); }
.ncl-panel-dark .ncl-stat__value { color: #fff; }
.ncl-panel-dark .ncl-stat p:not(.ncl-stat__value) { color: var(--ink-muted); }

/* ---------- Lists ---------- */
.ncl-checks {
	display: grid;
	gap: 0.6rem;
	padding: 0;
	list-style: none;
}

.ncl-checks li {
	position: relative;
	padding-left: 1.75rem;
	font-size: var(--fs-small);
	line-height: 1.55;
}

.ncl-checks li::before {
	content: '';
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 1.1rem;
	height: 1.1rem;
	background: var(--blue-strong);
	-webkit-mask: var(--check) center / contain no-repeat;
	mask: var(--check) center / contain no-repeat;
}

.ncl-checks--lg li { font-size: 1.0625rem; }
.ncl-panel-dark .ncl-checks li::before { background: var(--blue-light); }

.ncl-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

.ncl-chips li {
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--white);
	color: var(--heading);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.ncl-chips--brand li { border-color: var(--blue-100); background: var(--blue-50); color: var(--blue-deep); }
.ncl-panel-dark .ncl-chips li { border-color: rgb(255 255 255 / 0.16); background: rgb(255 255 255 / 0.05); color: #fff; }

/* Numbered process steps (core/list, ordered). */
.ncl-steps {
	display: grid;
	gap: clamp(1rem, 0.6rem + 1vw, 1.5rem);
	padding: 0;
	list-style: none;
	counter-reset: step;
}

@media (min-width: 768px) {
	.ncl-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.ncl-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ncl-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ncl-steps.ncl-steps--1 { grid-template-columns: minmax(0, 1fr); }


.ncl-steps > li {
	position: relative;
	padding: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
	padding-top: 5.25rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-card);
	counter-increment: step;
	font-size: var(--fs-small);
	line-height: 1.65;
}

.ncl-steps > li::before {
	content: counter(step);
	position: absolute;
	top: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
	left: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background: var(--blue-strong);
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
}

.ncl-steps > li strong:first-child {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--heading);
	font-size: 1.1875rem;
	line-height: 1.3;
}

.ncl-steps > li em {
	display: block;
	margin-top: 1rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--line);
	color: var(--heading);
	font-style: normal;
	font-weight: 700;
}

.ncl-panel-dark .ncl-steps > li { border-color: rgb(255 255 255 / 0.1); background: rgb(255 255 255 / 0.04); box-shadow: none; }
.ncl-panel-dark .ncl-steps > li em { border-color: rgb(255 255 255 / 0.12); color: #fff; }

.ncl-steps.ncl-steps--1 > li { padding-top: clamp(1.5rem, 1.2rem + 0.8vw, 2rem); padding-left: calc(clamp(1.5rem, 1.2rem + 0.8vw, 2rem) + 4rem); }

/* Signals ("Po czym poznać…"): two-column list with icons on dark panels. */
.ncl-signals {
	display: grid;
	gap: 1.25rem 2.5rem;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.ncl-signals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.ncl-signals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ncl-signals li {
	position: relative;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 0.14);
	font-size: var(--fs-small);
}

.ncl-bg-soft .ncl-signals li, .ncl-bg-white .ncl-signals li { border-top-color: var(--line-strong); }

.ncl-signals li strong:first-child {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 1.125rem;
	line-height: 1.35;
}

/* ---------- Media ---------- */
/* Screenshot in a browser frame. */
.ncl-shot {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding-top: 2.125rem;
	border: 1px solid rgb(207 215 226 / 0.8);
	border-radius: var(--radius-sm);
	background: var(--white);
	box-shadow: var(--shadow-float);
}

.ncl-shot::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: 2.125rem;
	border-bottom: 1px solid var(--line);
	background:
		radial-gradient(circle at 1rem 50%, var(--line-strong) 0.3rem, transparent 0.32rem),
		radial-gradient(circle at 1.9rem 50%, var(--line-strong) 0.3rem, transparent 0.32rem),
		radial-gradient(circle at 2.8rem 50%, var(--line-strong) 0.3rem, transparent 0.32rem),
		#eef3f9;
}

.ncl-shot img { width: 100%; height: auto; }

.ncl-shot figcaption,
.ncl-figure figcaption,
.wp-block-image figcaption {
	margin-top: 0.75rem;
	color: var(--muted);
	font-size: 0.875rem;
	line-height: 1.5;
}

.ncl-shot figcaption { margin: 0; padding: 0.75rem 1rem; border-top: 1px solid var(--line); background: var(--white); }

/* Phone mock-up. */
.ncl-shot--phone {
	max-width: 15rem;
	padding: 0.5rem;
	border: 0;
	border-radius: 2.25rem;
	background: var(--ink);
	box-shadow: var(--shadow-float), inset 0 0 0 1px rgb(255 255 255 / 0.08);
}

.ncl-shot--phone::before { content: none; }
.ncl-shot--phone img { border-radius: 1.75rem; }

/* Hero media: main screenshot with an optional phone overlapping its corner. */
.ncl-hero__media { position: relative; }
.ncl-hero__media > * { margin: 0; }
.ncl-hero__media .ncl-shot--phone {
	position: absolute;
	right: 1.25rem;
	bottom: -2.5rem;
	width: 22%;
	min-width: 7.5rem;
}

@media (max-width: 639px) {
	.ncl-hero__media .ncl-shot--phone { display: none; }
}

.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: inherit; }
.ncl-rounded img { border-radius: var(--radius); }

/* Client logo wall. */
.ncl-logos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--line);
}

@media (min-width: 768px) {
	.ncl-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ncl-logos > * {
	display: grid;
	place-items: center;
	min-height: 7.5rem;
	margin: 0;
	padding: 1.5rem 1.75rem;
	background: var(--white);
}

.ncl-logos img {
	width: auto;
	max-width: min(100%, 10.5rem);
	max-height: 3.25rem;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.8;
	transition: filter 0.25s var(--ease), opacity 0.25s var(--ease);
}

.ncl-logos > *:hover img { filter: none; opacity: 1; }

/* ---------- Hero ---------- */
.ncl-hero {
	padding-top: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 2rem + 4vw, 6rem);
}

.ncl-hero__grid {
	display: grid;
	gap: clamp(2.5rem, 1.5rem + 3vw, 4rem);
	align-items: center;
	grid-template-columns: minmax(0, 1fr);
}

.ncl-hero__grid > * { margin: 0; min-width: 0; }

@media (min-width: 1100px) {
	.ncl-hero__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
	.ncl-hero__grid--text { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
}

.ncl-hero__text > * + * { margin-top: 1.5rem; }
.ncl-hero__text > .ncl-eyebrow + * { margin-top: 1.25rem; }
.ncl-hero__text > .wp-block-buttons { margin-top: 2.25rem; }
.ncl-hero__text > .ncl-chips, .ncl-hero__text > .ncl-checks { margin-top: 1.75rem; }
.ncl-hero h1 { font-size: var(--fs-h1); line-height: 1.1; letter-spacing: -0.022em; max-width: 22ch; }
.ncl-hero .ncl-lead { max-width: 40rem; }
.ncl-hero > .ncl-stats { margin-top: clamp(3rem, 2rem + 3vw, 5rem); }

.ncl-hl { color: var(--blue); }

/* ---------- Tables ---------- */
.ncl-table {
	overflow-x: auto;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-card);
}

.ncl-table table,
.ncl-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-small);
	line-height: 1.55;
	text-align: left;
}

.ncl-table th, .ncl-table td,
.ncl-prose th, .ncl-prose td {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--line);
	vertical-align: top;
	overflow-wrap: anywhere;
}

.ncl-table thead th { background: var(--ink); color: #fff; font-weight: 700; }
.ncl-table tbody tr:last-child > * { border-bottom: 0; }
.ncl-table tbody td:first-child { color: var(--heading); font-weight: 700; }
.ncl-table tbody tr:hover { background: var(--soft); }
.ncl-table figcaption, .wp-block-table figcaption { padding: 0.75rem 1.25rem; color: var(--muted); font-size: 0.8125rem; }
.ncl-table code { font-family: var(--font); font-size: 0.8125rem; font-weight: 700; color: var(--blue-deep); background: var(--blue-50); padding: 0.1rem 0.45rem; border-radius: 0.35rem; white-space: nowrap; }

@media (max-width: 767px) {
	.ncl-table table, .ncl-table thead, .ncl-table tbody, .ncl-table tr, .ncl-table td, .ncl-table th { display: block; }
	.ncl-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ncl-table tr { padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }
	.ncl-table td, .ncl-table th { padding: 0.2rem 0; border: 0; }
	.ncl-table code { white-space: normal; }
}

/* ---------- FAQ accordion (core/details) ---------- */
.ncl-faq-list { border-top: 1px solid var(--line-strong); }

.wp-block-details {
	border-bottom: 1px solid var(--line-strong);
}

.wp-block-details summary {
	position: relative;
	display: block;
	padding: 1.35rem 3.25rem 1.35rem 0;
	color: var(--heading);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
	transition: color 0.2s var(--ease);
}

.wp-block-details summary::-webkit-details-marker { display: none; }

.wp-block-details summary::after {
	content: '';
	position: absolute;
	top: 1.2rem;
	right: 0;
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	background:
		linear-gradient(var(--heading), var(--heading)) center / 0.75rem 2px no-repeat,
		linear-gradient(var(--heading), var(--heading)) center / 2px 0.75rem no-repeat;
	transition: transform 0.25s var(--ease), background-color 0.2s, border-color 0.2s;
}

.wp-block-details[open] summary::after {
	border-color: var(--blue-strong);
	background:
		linear-gradient(#fff, #fff) center / 0.75rem 2px no-repeat,
		var(--blue-strong);
	transform: rotate(180deg);
}

@media (hover: hover) {
	.wp-block-details summary:hover { color: var(--blue-strong); }
}

.wp-block-details > :not(summary) { max-width: 50rem; padding-right: 3.25rem; }
.wp-block-details > :not(summary):last-child { padding-bottom: 1.5rem; }
.wp-block-details > :not(summary) + :not(summary) { margin-top: 0.75rem; }

.ncl-panel-dark .wp-block-details, .ncl-panel-dark .ncl-faq-list { border-color: rgb(255 255 255 / 0.16); }
.ncl-panel-dark .wp-block-details summary { color: #fff; }

/* ---------- CTA band ---------- */
.ncl-cta { display: grid; gap: 2rem; align-items: center; }
.ncl-cta > * { margin: 0 !important; }
.ncl-cta > .wp-block-group > * + * { margin-top: 1rem; }

@media (min-width: 1024px) {
	.ncl-cta { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.ncl-cta > .wp-block-buttons { justify-content: flex-end; }
}

.ncl-contacts {
	display: grid;
	gap: 0.75rem;
	padding: 0;
	list-style: none;
}

.ncl-contacts li { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; align-items: baseline; }
.ncl-contacts a { font-size: 1.125rem; font-weight: 700; text-decoration: none; }
.ncl-contacts a:hover { text-decoration: underline; }

/* ---------- Case studies ---------- */
.ncl-case {
	display: grid;
	gap: 1.5rem 3rem;
	padding: clamp(1.5rem, 1rem + 2vw, 3rem);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
	scroll-margin-top: calc(var(--header-h) + 1.5rem);
}

.ncl-case > * { margin: 0; min-width: 0; }
.ncl-case > .wp-block-group > * + * { margin-top: 1rem; }

@media (min-width: 1024px) {
	.ncl-case { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; }
	.ncl-case--reverse > :first-child { order: 2; }
}

.ncl-case + .ncl-case { margin-top: 1.5rem; }
.ncl-case h3 { font-size: clamp(1.5rem, 1.25rem + 0.8vw, 2rem); }

.ncl-case__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

.ncl-case__facts li {
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	background: var(--soft);
	color: var(--heading);
	font-size: 0.8125rem;
	font-weight: 700;
}

/* ---------- Architecture flow (mObywatel) ---------- */
.ncl-flow {
	display: grid;
	gap: 1rem;
	padding: 0;
	list-style: none;
	counter-reset: flow;
}

@media (min-width: 1100px) {
	.ncl-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem; }
}

.ncl-flow > li {
	position: relative;
	padding: 1.5rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--white);
	box-shadow: var(--shadow-card);
	font-size: var(--fs-small);
}

.ncl-flow > li strong:first-child { display: block; color: var(--heading); font-size: 1.125rem; }
.ncl-flow > li em { display: inline-block; margin-bottom: 0.75rem; padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 0.75rem; font-style: normal; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

@media (min-width: 1100px) {
	.ncl-flow > li:not(:last-child)::after {
		content: '';
		position: absolute;
		top: 50%;
		right: -1.875rem;
		z-index: 1;
		width: 1.5rem;
		height: 1.5rem;
		background: var(--blue-strong);
		-webkit-mask: var(--arrow) center / contain no-repeat;
		mask: var(--arrow) center / contain no-repeat;
		transform: translateY(-50%);
	}
}

/* ---------- Chat illustration and code sample (assistant page) ---------- */
.ncl-chat-demo {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--soft);
	box-shadow: var(--shadow-card);
}

.ncl-chat-demo > * { margin: 0; }
.ncl-chat-demo__head { padding: 1rem 1.25rem; background: var(--ink); color: #fff !important; font-weight: 700; }
.ncl-chat-demo__q, .ncl-chat-demo__a { margin: 1rem 1.25rem; padding: 0.85rem 1.1rem; border-radius: 1rem; font-size: var(--fs-small); }
.ncl-chat-demo__q { margin-left: auto; max-width: 80%; border-bottom-right-radius: 0.3rem; background: var(--blue-strong); color: #fff; width: fit-content; }
.ncl-chat-demo__a { max-width: 92%; border: 1px solid var(--line); border-bottom-left-radius: 0.3rem; background: #fff; color: var(--heading); }
.ncl-chat-demo__src { margin: 0 1.25rem 1.25rem; padding: 0.85rem 1.1rem; border-top: 1px solid var(--line); font-size: 0.875rem; color: var(--muted); }
.ncl-chat-demo + figcaption, .ncl-figure-note { margin-top: 0.75rem; color: var(--muted); font-size: 0.875rem; }

.wp-block-code {
	overflow-x: auto;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--ink-3);
	border-radius: var(--radius);
	background: #06101e;
	color: var(--ink-text);
	font-size: 0.875rem;
	line-height: 1.7;
}

.wp-block-code code { font-size: inherit; white-space: pre; }

/* ---------- Tour block ---------- */
.ncl-tour { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }

@media (min-width: 1100px) {
	.ncl-tour { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2.5rem; }
}

.ncl-tour__nav { min-width: 0; }
.ncl-tour__tabs { display: none; }

.js .ncl-tour__tabs {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	padding-bottom: 0.5rem;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}

@media (min-width: 1100px) {
	.js .ncl-tour__tabs { position: sticky; top: calc(var(--header-h) + 1.5rem); flex-direction: column; gap: 0.25rem; overflow: visible; padding: 0; }
}

.ncl-tour__group { display: none; }

@media (min-width: 1100px) {
	.ncl-tour__group { display: block; padding: 1.25rem 1rem 0.5rem; color: var(--muted); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
	.ncl-tour__group:first-child { padding-top: 0; }
}

.ncl-tour__tab {
	position: relative;
	display: flex;
	flex-shrink: 0;
	gap: 0.75rem;
	align-items: center;
	padding: 0.7rem 1rem;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--heading);
	font: inherit;
	font-size: var(--fs-small);
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
	scroll-snap-align: start;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

@media (min-width: 1100px) {
	.ncl-tour__tab { border-color: transparent; background: transparent; }
}

.ncl-tour__tab:hover { border-color: var(--blue-200); background: var(--blue-50); }
.ncl-tour__tab[aria-selected='true'] { border-color: var(--blue-200); background: var(--blue-50); color: var(--blue-deep); }

.ncl-tour__num {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: #eef3f9;
	color: var(--muted);
	font-size: 0.8125rem;
	font-weight: 700;
}

.ncl-tour__tab[aria-selected='true'] .ncl-tour__num { background: var(--blue-strong); color: #fff; }

.ncl-tour__panels { min-width: 0; }
.ncl-tour__panel + .ncl-tour__panel { margin-top: 3rem; }
.js .ncl-tour__panel + .ncl-tour__panel { margin-top: 0; }
.js .ncl-tour__panel:not([data-active]) { display: none; }
.ncl-tour__panel:focus-visible { outline-offset: 6px; border-radius: var(--radius); }

.ncl-frame {
	overflow: hidden;
	border: 1px solid rgb(207 215 226 / 0.8);
	border-radius: var(--radius-sm);
	background: var(--white);
	box-shadow: var(--shadow-float);
}

.ncl-frame__bar {
	display: flex;
	gap: 0.45rem;
	align-items: center;
	padding: 0.55rem 0.85rem;
	border-bottom: 1px solid var(--line);
	background: #eef3f9;
}

.ncl-frame__bar > span:not(.ncl-frame__url) { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--line-strong); }
.ncl-frame__url { margin-left: 0.5rem; overflow: hidden; padding: 0.1rem 0.6rem; border-radius: 0.35rem; background: #fff; color: var(--muted); font-family: var(--font-mono); font-size: 0.6875rem; text-overflow: ellipsis; white-space: nowrap; }

.ncl-tour__media { position: relative; }
.ncl-tour__media .wp-block-image img { width: 100%; }

.ncl-tour__spot { position: absolute; z-index: 2; }

.ncl-tour__marker {
	position: relative;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin: -1rem 0 0 -1rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--blue-strong);
	color: #fff;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 0 0 4px rgb(255 255 255 / 0.9), 0 8px 20px -6px rgb(0 98 214 / 0.8);
	transition: transform 0.2s var(--ease);
}

.ncl-tour__marker:hover { transform: scale(1.1); }

.ncl-tour__callout {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	width: max-content;
	max-width: 16rem;
	padding: 0.6rem 0.85rem;
	border-radius: var(--radius-sm);
	background: var(--ink);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	box-shadow: var(--shadow-float);
	pointer-events: none;
}

.ncl-tour__callout.is-left { right: 1.5rem; left: auto; }
.ncl-tour__callout.is-up { top: auto; bottom: 1.5rem; }
.ncl-tour__callout[data-collapsed] { display: none; }

@media (max-width: 639px) {
	.ncl-tour__callout { display: none; }
}

.ncl-tour__spot-text { display: none; gap: 0.5rem; color: var(--muted); font-size: var(--fs-small); }
.ncl-tour__spot-text span { display: grid; place-items: center; flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-top: 0.15rem; border-radius: 50%; background: var(--blue-strong); color: #fff; font-size: 0.6875rem; font-weight: 700; }

@media (max-width: 639px) {
	.ncl-tour__spot-text { display: flex; }
}

.ncl-tour__caption { display: grid; gap: 0.75rem; margin-top: 1.75rem; }
.ncl-tour__step { color: var(--blue-strong); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.ncl-tour__text { display: grid; gap: 1rem; }

@media (min-width: 768px) {
	.ncl-tour__text { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: 2.5rem; }
	.ncl-tour__text > :not(.ncl-checks) { grid-column: 1; }
	.ncl-tour__text > .ncl-checks { grid-column: 2; grid-row: 1 / span 4; align-content: start; }
}

.ncl-tour__text h3 { font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem); }

.ncl-tour__pager { display: none; }

.js .ncl-tour__pager {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--line);
}

.ncl-tour__progress { color: var(--muted); font-size: 0.875rem; font-weight: 600; }

@media (max-width: 479px) {
	.ncl-hide-sm { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- Page head, breadcrumbs, prose ---------- */
.ncl-crumbs-wrap { padding-top: 1.5rem; }

.ncl-crumbs {
	color: var(--muted);
	font-size: 0.875rem;
	line-height: 1.5;
}

.ncl-crumbs a { color: var(--muted); text-decoration: none; }
.ncl-crumbs a:hover { color: var(--blue-strong); text-decoration: underline; }
.ncl-crumbs .separator { margin-inline: 0.35rem; }
.ncl-crumbs .last { color: var(--heading); font-weight: 600; }

.ncl-page-head { padding-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); padding-bottom: clamp(1.5rem, 1rem + 2vw, 3rem); }
.ncl-page-head > * + * { margin-top: 1rem; }
.ncl-page-head .ncl-lead { max-width: 48rem; }

/* Content without section blocks (legal pages, posts): readable column aligned with the container edge. */
.ncl-content > :not(.ncl-section):not(.ncl-panel-dark) {
	max-width: min(50rem, 100% - 2 * var(--gutter));
	margin-left: var(--gutter);
	margin-right: auto;
}

@media (max-width: 743px) {
	.ncl-content > :not(.ncl-section):not(.ncl-panel-dark) { max-width: none; margin-inline: 1rem; }
}

.ncl-content > :not(.ncl-section):not(.ncl-panel-dark) + :not(.ncl-section):not(.ncl-panel-dark) { margin-top: 1.25rem; }
.ncl-content > :not(.ncl-section):not(.ncl-panel-dark):last-child { margin-bottom: var(--section-y); }
.ncl-content > h2:not(.ncl-section) { margin-top: 3rem !important; font-size: clamp(1.5rem, 1.3rem + 0.6vw, 1.875rem); }
.ncl-content > h3:not(.ncl-section) { margin-top: 2rem !important; }
.ncl-content > :is(ul, ol):not(.ncl-section) { padding-left: 1.5rem; }
.ncl-content > :is(ul, ol) li + li { margin-top: 0.4rem; }
.ncl-content > .wp-block-table { overflow-x: auto; }
.ncl-content > .wp-block-table table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
.ncl-content > .wp-block-table :is(th, td) { padding: 0.75rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.ncl-content > .wp-block-table thead th, .ncl-content > .wp-block-table thead td { background: var(--soft); color: var(--heading); font-weight: 700; }

/* ---------- Blog ---------- */
.ncl-posts {
	display: grid;
	gap: 1.5rem;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.ncl-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.ncl-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ncl-post-card { padding: 0; overflow: hidden; }
.ncl-post-card__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ncl-post-card__body { display: grid; gap: 0.6rem; padding: 1.5rem; }
.ncl-post-card__meta { color: var(--muted); font-size: 0.875rem; }
.ncl-post-card__title { font-size: 1.25rem; }
.ncl-post-card p:not(.ncl-post-card__meta) { font-size: var(--fs-small); }

.ncl-article__media { padding-inline: var(--gutter); }
.ncl-article__media img { width: 100%; max-width: 60rem; max-height: 32rem; object-fit: cover; border-radius: var(--radius); }
.ncl-article__back { padding: 0 var(--gutter) var(--section-y); }

.navigation.pagination { margin-top: 2.5rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.page-numbers { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 0.85rem; border: 1px solid var(--line); border-radius: 999px; color: var(--heading); font-weight: 700; text-decoration: none; }
.page-numbers.current { border-color: var(--blue-strong); background: var(--blue-strong); color: #fff; }

.ncl-notfound { min-height: 50vh; }
.ncl-notfound > * + * { margin-top: 1.25rem; }
.ncl-notfound .wp-block-buttons { margin-top: 2rem; }

/* ---------- Forms (Contact Form 7) ---------- */
.ncl-form-title { font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem) !important; }
.ncl-form-card > * + * { margin-top: 0.75rem; }
.ncl-form-card > .wp-block-shortcode, .ncl-form-card > .wpcf7 { margin-top: 1.5rem; }

.ncl-form-card {
	padding: clamp(1.5rem, 1rem + 2vw, 2.75rem);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--white);
	box-shadow: var(--shadow-card);
}

.wpcf7 form > * + * { margin-top: 1.25rem; }
.ncl-form-grid { display: grid; gap: 1.25rem; }

@media (min-width: 640px) {
	.ncl-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ncl-form-grid .is-full { grid-column: 1 / -1; }
}

.ncl-field { display: grid; gap: 0.4rem; }

.ncl-field > label,
.ncl-fieldset legend {
	color: var(--heading);
	font-size: var(--fs-small);
	font-weight: 700;
	line-height: 1.4;
}

.ncl-req { color: var(--danger); }
.ncl-opt { color: var(--muted); font-weight: 400; }

.wpcf7-form-control-wrap { display: block; }

.wpcf7 :is(input[type='text'], input[type='email'], input[type='tel'], input[type='url'], input[type='number'], textarea, select) {
	display: block;
	width: 100%;
	min-height: 3rem;
	padding: 0.7rem 1rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--heading);
	font: inherit;
	font-size: 1rem;
	line-height: 1.5;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.wpcf7 textarea { min-height: 9rem; resize: vertical; }
.wpcf7 ::placeholder { color: #6b7480; opacity: 1; }
.wpcf7 :is(input, textarea, select):hover { border-color: var(--muted); }

.wpcf7 :is(input, textarea, select):focus-visible {
	border-color: var(--blue-strong);
	outline: 3px solid rgb(0 98 214 / 0.25);
	outline-offset: 0;
}

.wpcf7 [aria-invalid='true'] { border-color: var(--danger) !important; background: rgb(254 243 242 / 0.5); }

.wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.4rem;
	color: var(--danger);
	font-size: 0.875rem;
	font-weight: 600;
}

.ncl-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.ncl-fieldset legend { margin-bottom: 0.6rem; padding: 0; }

.ncl-fieldset .wpcf7-checkbox {
	display: grid;
	gap: 0.6rem;
}

@media (min-width: 640px) {
	.ncl-fieldset .wpcf7-checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ncl-fieldset .wpcf7-list-item { margin: 0; }

.ncl-fieldset .wpcf7-list-item label {
	display: flex;
	gap: 0.7rem;
	align-items: flex-start;
	height: 100%;
	padding: 0.8rem 0.95rem;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--heading);
	font-size: var(--fs-small);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s;
}

.ncl-fieldset .wpcf7-list-item label:hover { border-color: var(--blue-strong); }
.ncl-fieldset .wpcf7-list-item label:has(:checked) { border-color: var(--blue-strong); background: var(--blue-50); }
.ncl-fieldset .wpcf7-list-item label:has(:focus-visible) { outline: 3px solid var(--blue-strong); outline-offset: 2px; }

.wpcf7 input[type='checkbox'] {
	flex-shrink: 0;
	width: 1.2rem;
	height: 1.2rem;
	margin: 0.1rem 0 0;
	accent-color: var(--blue-strong);
	cursor: pointer;
}

.wpcf7 input[type='checkbox']:focus-visible { outline: none; }

.ncl-consent {
	padding: 1rem 1.1rem;
	border-radius: var(--radius-sm);
	background: var(--soft);
	font-size: 0.875rem;
	line-height: 1.55;
}

.ncl-consent .wpcf7-list-item { margin: 0; }
.ncl-consent .wpcf7-list-item label { display: flex; gap: 0.7rem; align-items: flex-start; color: var(--heading); font-size: var(--fs-small); cursor: pointer; }
.ncl-consent input[type='checkbox']:focus-visible { outline: 3px solid var(--blue-strong); outline-offset: 2px; }
.ncl-consent p { margin-top: 0.75rem; color: var(--muted); font-size: 0.8125rem; }

.ncl-form-hint { color: var(--muted); font-size: 0.875rem; }

.ncl-form-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }
.wpcf7-submit { min-width: 12rem; }
.wpcf7-submit:disabled, .wpcf7 form.submitting .wpcf7-submit { opacity: 0.7; cursor: progress; }
.wpcf7-spinner { display: none; }
.wpcf7 form.submitting .wpcf7-spinner { display: inline-block; width: 1.25rem; height: 1.25rem; border: 2px solid var(--line-strong); border-top-color: var(--blue-strong); border-radius: 50%; animation: ncl-spin 0.8s linear infinite; }

@keyframes ncl-spin { to { transform: rotate(360deg); } }

.wpcf7-response-output {
	margin: 1.25rem 0 0 !important;
	padding: 0.9rem 1.1rem !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: var(--radius-sm);
	font-size: var(--fs-small);
	font-weight: 600;
}

.wpcf7-response-output:empty { display: none; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output { border-color: rgb(180 35 24 / 0.35) !important; background: var(--danger-50); color: var(--danger); }
.wpcf7 form.sent .wpcf7-response-output { border-color: rgb(11 97 70 / 0.35) !important; background: #ecfdf3; color: var(--success); }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: rgb(180 35 24 / 0.35) !important; background: var(--danger-50); color: var(--danger); }
.wpcf7 .hidden-fields-container { display: none; border: 0; }
.wpcf7-screen-reader-response { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.grecaptcha-badge { visibility: hidden; }

/* ---------- Header: 1:1 port of netcorelabs.pl (.site-header). AA tweaks: accent #0071F2, visible focus. ---------- */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: var(--header-h);
	color: #303030;
	font-size: 1.125rem;
	line-height: 1.5;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
	transition: background-color 0.15s linear;
}

html:not(.js) .site-header,
.site-header.sticky,
.site-header:has(details[open]) {
	background-color: #fff;
	box-shadow: 0 3px 6px rgb(51 51 51 / 0.05);
}

.admin-bar .site-header { top: 32px; }

@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}

.site-header__inner {
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	padding-block: 1rem;
}

.site-header__logo a { display: block; border-radius: 0.25rem; }
.site-header__logo img { display: block; width: 330px; height: auto; }

@media (max-width: 992px) {
	.site-header__logo img { width: 250px; }
}

.primary-nav__list {
	display: flex;
	gap: 3.25rem;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-nav__link {
	color: inherit;
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.15s ease-in-out;
}

@media (hover: hover) {
	.primary-nav__link:hover { color: var(--accent-a11y); }
}

.primary-nav__link:focus-visible,
.primary-nav__link[aria-current='page'],
.nav-drop.is-current > .primary-nav__link { color: var(--accent-a11y); }

.primary-nav__cta {
	display: inline-block;
	padding: 0.75rem 2.25rem;
	border-radius: 3.75rem;
	background-color: var(--accent-a11y);
	color: #fff;
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	user-select: none;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

.primary-nav__cta:is(:hover, :focus-visible) { background-color: #303030; color: #fff; }

/* Mega panel (desktop dropdown). */
.primary-nav__item { position: relative; }

.nav-drop > summary {
	display: flex;
	gap: 0.375rem;
	align-items: center;
	list-style: none;
	cursor: pointer;
}

.nav-drop > summary::-webkit-details-marker { display: none; }
.nav-drop__chevron { width: 1.25rem; height: 1.25rem; transition: transform 0.2s; }
.nav-drop[open] .nav-drop__chevron { transform: rotate(180deg); }

.mega {
	position: absolute;
	top: calc(100% + 1.25rem);
	left: 50%;
	z-index: 10;
	width: min(30rem, calc(100vw - 2rem));
	padding: 0.75rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: var(--shadow-float);
	transform: translateX(-50%);
	-webkit-font-smoothing: antialiased;
}

.mega--wide { width: min(50rem, calc(100vw - 2rem)); }
.mega__cols { display: grid; gap: 0.5rem; }
.mega--wide .mega__cols { grid-template-columns: 3fr 2fr; }
.mega__group { padding: 0.25rem; }
.mega__group + .mega__group { border-left: 1px solid var(--line); padding-left: 0.75rem; }

.mega__title { padding: 0.5rem 0.75rem 0.25rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; line-height: 1.4; text-transform: uppercase; }
.mega__title a { color: var(--muted); text-decoration: none; }
.mega__title a:hover { color: var(--blue-strong); }

.mega__list { display: grid; gap: 0.125rem; margin: 0; padding: 0; list-style: none; }

.mega__link {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 0.7rem 0.75rem;
	border-radius: var(--radius-sm);
	color: var(--heading);
	text-decoration: none;
	transition: background-color 0.15s;
}

.mega__link:hover, .mega__link:focus-visible, .mega__link[aria-current='page'] { background: var(--soft); color: var(--heading); }

.mega__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.625rem;
	background: var(--blue-50);
	color: var(--blue-strong);
	box-shadow: inset 0 0 0 1px var(--blue-100);
	transition: background-color 0.15s, color 0.15s;
}

.mega__link:hover .mega__icon { background: var(--blue-strong); color: #fff; }
.mega__name { display: block; font-size: 0.9688rem; font-weight: 700; line-height: 1.35; }
.mega__desc { display: block; margin-top: 0.15rem; color: var(--muted); font-size: 0.8125rem; line-height: 1.45; font-weight: 400; }

.mega__all { margin: 0.5rem 0 0; padding: 0.75rem 0.75rem 0.25rem; border-top: 1px solid var(--line); font-size: 0.9375rem; }
.mega__all a { display: inline-flex; gap: 0.4rem; align-items: center; font-weight: 700; text-decoration: none; }
.mega__all .ncl-icon { width: 1rem; height: 1rem; }

/* Hamburger and full-screen mobile menu (≤ 1200 px). */
.hamburger {
	position: relative;
	z-index: 2147483647;
	display: none;
	padding: 0.625rem;
	border: 0;
	background: transparent;
	font: 400 13.3333px Arial, sans-serif;
	line-height: normal;
	list-style: none;
	cursor: pointer;
	transition: transform 0.2s linear;
}

.hamburger::-webkit-details-marker { display: none; }
.hamburger__box { position: relative; display: inline-block; width: 2.188rem; height: 0.8rem; }

.hamburger__inner,
.hamburger__inner::before,
.hamburger__inner::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #303030;
}

.hamburger__inner { top: 50%; transform: translateY(-50%); transition: background-color 0.2s linear; }
.hamburger__inner::before, .hamburger__inner::after { content: ''; transition: transform 0.2s linear, background-color 0.2s linear; }
.hamburger__inner::before { top: -10px; }
.hamburger__inner::after { top: 10px; }

details[open] > .hamburger .hamburger__inner { background-color: transparent !important; }
details[open] > .hamburger .hamburger__inner::before { background-color: #fff; transform: translateY(10px) rotate(45deg); }
details[open] > .hamburger .hamburger__inner::after { background-color: #fff; transform: translateY(-10px) rotate(-45deg); }
details[open] > .hamburger:focus-visible { outline-color: #fff; }

.mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 2147483646;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	background-color: var(--accent-a11y);
}

details[open] > .mobile-nav { animation: ncl-fade 0.4s ease; }

.mobile-nav__list {
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	margin: 0;
	padding: calc(var(--header-h) + 1rem) 1rem 2.5rem;
	list-style: none;
	text-align: center;
}

.mobile-nav__list > li > a {
	color: #fff;
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	text-transform: uppercase;
}

.mobile-nav__sub { display: grid; gap: 0.35rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.mobile-nav__sub a { color: #fff; font-size: 1.0625rem; font-weight: 600; line-height: 1.5; text-decoration: none; opacity: 0.92; }
.mobile-nav a:hover { text-decoration: underline; }
.mobile-nav a:focus-visible { outline-color: #fff; }
.mobile-nav a[aria-current='page'] { text-decoration: underline; text-underline-offset: 0.3em; }

@media (max-height: 760px) {
	.mobile-nav__list { gap: 1.5rem; justify-content: flex-start; }
}

@keyframes ncl-fade { from { opacity: 0; } to { opacity: 1; } }

@media (min-width: 1201px) {
	.mobile-menu { display: none; }
}

@media (max-width: 1200px) {
	.primary-nav { display: none; }
	.hamburger { display: block; }
}

html.menu-open { overflow: hidden; }

/* ---------- Footer ---------- */
.site-footer {
	position: relative;
	overflow: hidden;
	background: #06101e;
	color: var(--ink-text);
	font-size: var(--fs-small);
}

.site-footer a { color: var(--ink-text); text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer :focus-visible { outline-color: var(--blue-light); }

.site-footer__top {
	display: grid;
	gap: 2.5rem;
	padding-block: clamp(3.5rem, 2.5rem + 3vw, 5rem) 3rem;
}

@media (min-width: 768px) {
	.site-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.site-footer__top { grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 2fr) minmax(0, 3fr); gap: 3rem; }
}

.site-footer__logo { display: inline-block; border-radius: 0.25rem; }
.site-footer__logo img { width: 220px; height: auto; }
.site-footer__about { max-width: 26rem; margin-top: 1.25rem; line-height: 1.65; }

.site-footer__contact { display: grid; gap: 0.6rem; margin-top: 1.5rem; padding: 0; list-style: none; }
.site-footer__contact a { display: inline-flex; gap: 0.6rem; align-items: center; color: #fff; font-weight: 600; }
.site-footer__contact .ncl-icon { width: 1.1rem; height: 1.1rem; color: var(--blue-light); }

.site-footer__heading {
	margin-bottom: 1rem;
	color: var(--ink-muted);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-footer__nav ul { display: grid; gap: 0.55rem; padding: 0; list-style: none; }
.site-footer address { font-style: normal; line-height: 1.65; }
.site-footer address strong { color: #fff; }
.site-footer__ids { display: grid; gap: 0.2rem; margin-top: 0.85rem; }
.site-footer__ids div { display: flex; gap: 0.5rem; }
.site-footer__ids dt { min-width: 4rem; color: var(--ink-muted); }
.site-footer__ids dd { margin: 0; color: #fff; }

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	align-items: center;
	justify-content: space-between;
	padding-block: 1.5rem 2rem;
	border-top: 1px solid rgb(255 255 255 / 0.1);
	color: var(--ink-muted);
	font-size: 0.875rem;
}

.site-footer__legal ul { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; padding: 0; list-style: none; }

.site-footer__linkbtn {
	padding: 0;
	border: 0;
	background: none;
	color: var(--ink-text);
	font: inherit;
	cursor: pointer;
}

.site-footer__linkbtn:hover { color: #fff; text-decoration: underline; }

/* ---------- Chat launcher (Smartsupp after consent) ---------- */
.ncl-chat {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 60;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	align-items: flex-end;
}

@media (min-width: 640px) {
	.ncl-chat { right: 1.25rem; bottom: 1.25rem; }
}

.ncl-chat__panel {
	width: min(24rem, calc(100vw - 2rem));
	padding: 1.25rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: var(--shadow-float);
}

.ncl-chat__title { display: flex; gap: 0.5rem; align-items: center; font-size: 1rem; }
.ncl-chat__title .ncl-icon { color: var(--blue-strong); }
.ncl-chat__text { margin-top: 0.5rem; font-size: var(--fs-small); line-height: 1.6; }
.ncl-chat__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }

.ncl-chat__launcher {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	min-height: 3rem;
	padding: 0.75rem 1.25rem 0.75rem 1rem;
	border: 0;
	border-radius: 999px;
	background: var(--blue-strong);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 0 0 3px rgb(255 255 255 / 0.85), var(--shadow-float);
	transition: background-color 0.2s, transform 0.2s var(--ease);
}

.ncl-chat__launcher:hover { background: var(--blue-deep); transform: translateY(-2px); }

@media (max-width: 639px) {
	.ncl-chat__launcher { padding: 0.75rem; }
	.ncl-chat__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- Palette classes offered in the editor (global styles are not loaded) ---------- */
.has-brand-color { color: var(--blue-strong); }
.has-heading-color { color: var(--heading); }
.has-muted-color { color: var(--muted); }
.has-white-color { color: #fff; }
.has-brand-background-color { background-color: var(--blue-strong); }
.has-soft-background-color { background-color: var(--soft); }
.has-ink-background-color { background-color: var(--ink); }
.has-white-background-color { background-color: #fff; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ---------- Print ---------- */
@media print {
	@page { margin: 16mm 14mm; }
	body { background: #fff; color: #000; font-size: 11pt; }
	.site-header, .site-footer__legal, .ncl-chat, .skip-link, .wpcf7, .ncl-tour__tabs, .ncl-tour__pager, .ncl-tour__spot { display: none !important; }
	.site-main { padding-top: 0; }
	.ncl-panel-dark, .ncl-panel-dark * { background: #fff !important; color: #000 !important; }
	.js .ncl-tour__panel:not([data-active]) { display: block; }
	.ncl-card, .ncl-shot, .ncl-frame { box-shadow: none !important; break-inside: avoid; }
}

/* ICONS:START (generated by scripts/build-icons.py) */
.ncl-ico-accessibility { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4.5' r='1.5'/%3E%3Cpath d='M5 8.5c2.3.7 4.6 1 7 1s4.7-.3 7-1'/%3E%3Cpath d='M12 9.5V14m0 0-3 6.5M12 14l3 6.5'/%3E%3C/svg%3E"); }
.ncl-ico-arrow-left { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='m11 18-6-6 6-6'/%3E%3C/svg%3E"); }
.ncl-ico-arrow-right { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E"); }
.ncl-ico-building { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20.5h16'/%3E%3Cpath d='M5.5 20.5V9.5L12 4.5l6.5 5v11'/%3E%3Cpath d='M9.5 20.5v-5h5v5M9 11h.01M15 11h.01'/%3E%3C/svg%3E"); }
.ncl-ico-calendar { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='15' rx='2'/%3E%3Cpath d='M4 10h16M8.5 3.5v4M15.5 3.5v4'/%3E%3C/svg%3E"); }
.ncl-ico-check { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E"); }
.ncl-ico-chevron-down { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.ncl-ico-clipboard { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='4.5' width='13' height='16.5' rx='2'/%3E%3Cpath d='M9 4.5V3.8c0-.4.3-.8.8-.8h4.4c.5 0 .8.4.8.8v.7'/%3E%3Cpath d='m9 13 2 2 4-4'/%3E%3C/svg%3E"); }
.ncl-ico-close { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12'/%3E%3Cpath d='M18 6 6 18'/%3E%3C/svg%3E"); }
.ncl-ico-cloud { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 18.5a4.5 4.5 0 0 1-.4-9A6 6 0 0 1 18.6 10a4.3 4.3 0 0 1-.6 8.5H7.5Z'/%3E%3C/svg%3E"); }
.ncl-ico-code { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8.5 7.5-5 4.5 5 4.5M15.5 7.5l5 4.5-5 4.5M13.5 5l-3 14'/%3E%3C/svg%3E"); }
.ncl-ico-cpu { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3Crect x='9.5' y='9.5' width='5' height='5' rx='.8'/%3E%3Cpath d='M9 3v3M15 3v3M9 18v3M15 18v3M3 9h3M3 15h3M18 9h3M18 15h3'/%3E%3C/svg%3E"); }
.ncl-ico-database { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5.5' rx='7.5' ry='2.8'/%3E%3Cpath d='M4.5 5.5v13c0 1.5 3.4 2.8 7.5 2.8s7.5-1.3 7.5-2.8v-13'/%3E%3Cpath d='M4.5 12c0 1.5 3.4 2.8 7.5 2.8s7.5-1.3 7.5-2.8'/%3E%3C/svg%3E"); }
.ncl-ico-external { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4 10.5 13.5'/%3E%3Cpath d='M18 14v4.5A1.5 1.5 0 0 1 16.5 20h-11A1.5 1.5 0 0 1 4 18.5v-11A1.5 1.5 0 0 1 5.5 6H10'/%3E%3C/svg%3E"); }
.ncl-ico-eye { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.ncl-ico-file-text { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a1.5 1.5 0 0 0-1.5 1.5v15A1.5 1.5 0 0 0 7 21h10a1.5 1.5 0 0 0 1.5-1.5V7.5L14 3Z'/%3E%3Cpath d='M14 3v4.5h4.5M9 12.5h6M9 16h6'/%3E%3C/svg%3E"); }
.ncl-ico-globe { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17M12 3.5c2.4 2.4 3.5 5.2 3.5 8.5s-1.1 6.1-3.5 8.5c-2.4-2.4-3.5-5.2-3.5-8.5S9.6 5.9 12 3.5Z'/%3E%3C/svg%3E"); }
.ncl-ico-history { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12a8.5 8.5 0 1 0 2.6-6.1'/%3E%3Cpath d='M3.5 4.5V9H8'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E"); }
.ncl-ico-id-card { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Ccircle cx='8.5' cy='11' r='2'/%3E%3Cpath d='M5.5 15.5c.5-1.4 1.6-2 3-2s2.5.6 3 2M14 10h4M14 13.5h3'/%3E%3C/svg%3E"); }
.ncl-ico-image { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='m20.5 16-4.5-4.5L6 19.5'/%3E%3C/svg%3E"); }
.ncl-ico-layers { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3.5 8.5 4.5-8.5 4.5L3.5 8 12 3.5Z'/%3E%3Cpath d='m3.5 12 8.5 4.5 8.5-4.5'/%3E%3Cpath d='m3.5 16 8.5 4.5 8.5-4.5'/%3E%3C/svg%3E"); }
.ncl-ico-lifebuoy { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3Cpath d='m6 6 3.5 3.5M14.5 14.5 18 18M18 6l-3.5 3.5M9.5 14.5 6 18'/%3E%3C/svg%3E"); }
.ncl-ico-link { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3.1-3.1a4 4 0 0 0-5.7-5.7l-1 1'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.7 0l-3.1 3.1a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E"); }
.ncl-ico-lock { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 1 1 8 0v3'/%3E%3Cpath d='M12 14.5v2'/%3E%3C/svg%3E"); }
.ncl-ico-mail { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
.ncl-ico-map-pin { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6.5-5.6 6.5-11a6.5 6.5 0 1 0-13 0c0 5.4 6.5 11 6.5 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.ncl-ico-menu { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 17h16'/%3E%3C/svg%3E"); }
.ncl-ico-message { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 12c0 4-3.8 7-8.5 7-1.1 0-2.2-.2-3.2-.5L4 20l1.3-3.6A6.7 6.7 0 0 1 3.5 12c0-4 3.8-7 8.5-7s8.5 3 8.5 7Z'/%3E%3C/svg%3E"); }
.ncl-ico-news { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5.5h11v13a2 2 0 0 0 2 2H6.5A2.5 2.5 0 0 1 4 18V6.5c0-.6.4-1 1-1Z'/%3E%3Cpath d='M16 9h3.5a.5.5 0 0 1 .5.5V18.5a2 2 0 0 1-4 0M7.5 9h5M7.5 12.5h5M7.5 16h3'/%3E%3C/svg%3E"); }
.ncl-ico-phone { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.2l1.6 4-2 1.3a10 10 0 0 0 4.9 4.9l1.3-2 4 1.6V17a2 2 0 0 1-2 2A14 14 0 0 1 3 6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E"); }
.ncl-ico-printer { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3.5h10V9'/%3E%3Crect x='3.5' y='9' width='17' height='7.5' rx='1.5'/%3E%3Cpath d='M7 14h10v6.5H7z'/%3E%3C/svg%3E"); }
.ncl-ico-qr { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1'/%3E%3Cpath d='M14 14h2.5v2.5H14zM18.5 18.5H20V20h-1.5zM14 19.5h2M19.5 14v2.5'/%3E%3C/svg%3E"); }
.ncl-ico-refresh { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5A8 8 0 0 0 6 6.5L4 8.5M4 4v4.5h4.5'/%3E%3Cpath d='M4 12.5a8 8 0 0 0 14 5l2-2M20 20v-4.5h-4.5'/%3E%3C/svg%3E"); }
.ncl-ico-scale { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16.5M7.5 20.5h9M5 7.5h14'/%3E%3Cpath d='m5 7.5-2.5 6a3 3 0 0 0 5 0L5 7.5ZM19 7.5l-2.5 6a3 3 0 0 0 5 0L19 7.5Z'/%3E%3C/svg%3E"); }
.ncl-ico-search { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E"); }
.ncl-ico-server { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='7' rx='1.5'/%3E%3Crect x='4' y='13' width='16' height='7' rx='1.5'/%3E%3Cpath d='M8 7.5h.01M8 16.5h.01'/%3E%3C/svg%3E"); }
.ncl-ico-shield { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5.5c0 4.6 3.1 8.2 7.5 9.5 4.4-1.3 7.5-4.9 7.5-9.5V6L12 3Z'/%3E%3Cpath d='m9 12 2.2 2.2L15.5 10'/%3E%3C/svg%3E"); }
.ncl-ico-smartphone { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2.2'/%3E%3Cpath d='M10.5 18.5h3'/%3E%3C/svg%3E"); }
.ncl-ico-sparkles { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 3.5 12.6 8a3 3 0 0 0 1.9 1.9L19 11.5l-4.5 1.6a3 3 0 0 0-1.9 1.9L11 19.5 9.4 15a3 3 0 0 0-1.9-1.9L3 11.5l4.5-1.6A3 3 0 0 0 9.4 8L11 3.5Z'/%3E%3Cpath d='M18.5 3v3M17 4.5h3'/%3E%3C/svg%3E"); }
.ncl-ico-thumbs { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 10.5V20H4.5v-9.5h3ZM7.5 10.5 11 3.5a2.3 2.3 0 0 1 2.5 2.6L13 10h5.3a2 2 0 0 1 2 2.4l-1.3 6A2 2 0 0 1 17 20H7.5'/%3E%3C/svg%3E"); }
.ncl-ico-users { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M3 19.5c.6-3.3 3-5 6-5s5.4 1.7 6 5'/%3E%3Cpath d='M15.5 4.8a3.5 3.5 0 0 1 0 6.4M17.5 14.8c1.8.6 3 2.2 3.5 4.7'/%3E%3C/svg%3E"); }
.ncl-ico-workflow { --ncl-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4' width='6' height='5' rx='1.2'/%3E%3Crect x='14.5' y='15' width='6' height='5' rx='1.2'/%3E%3Cpath d='M6.5 9v3.5a2 2 0 0 0 2 2h6'/%3E%3Cpath d='m12.5 12 2 2.5-2 2.5'/%3E%3C/svg%3E"); }
/* ICONS:END */
