/*
 * Planex — site.css. Concept « Zonare » (docs/design/design-system.md): the colours of an architect's zoning diagram
 * (zona de zi, zona de noapte, băi și anexe, circulații, exterior), a real zoning bar per project, house pictograms per
 * category, render / plan tabs. Logo blue #2A64DB is the brand colour. Font: Host Grotesk. Prefix px-.
 * Mobile first: < 600, 600–1023, ≥ 1024, ≥ 1440.
 */

/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root {
	--px-ink: #172033;
	--px-mut: #5d6678;
	--px-bg: #f6f7fb;
	--px-white: #fff;
	--px-line: #e3e7f0;
	--px-blue: #2a64db;
	--px-deep: #183f9e;
	--px-zi: #ffd89c;
	--px-noapte: #b9d0ff;
	--px-anexe: #a8e6dc;
	--px-circ: #e4dcff;
	--px-ext: #cdeeb3;
	--px-soft: #eef2fa;
	--px-r-lg: 24px;
	--px-r: 16px;
	--px-r-sm: 10px;
	--px-shadow: 0 20px 44px rgb(23 32 51 / .10);
	--px-shadow-lg: 0 30px 60px rgb(23 32 51 / .14);
	--px-gutter: 16px;
}
@media (min-width: 600px) { :root { --px-gutter: 24px; } }
@media (min-width: 1024px) { :root { --px-gutter: 40px; } }
@font-face { font-family: "Host Grotesk Fallback"; src: local("Arial"); size-adjust: 102%; ascent-override: 94%; descent-override: 25%; }

.px-z--zi { --c: var(--px-zi); }
.px-z--noapte { --c: var(--px-noapte); }
.px-z--anexe { --c: var(--px-anexe); }
.px-z--circ { --c: var(--px-circ); }
.px-z--ext { --c: var(--px-ext); }

/* ── Base ───────────────────────────────────────────────────────────────── */
body { margin: 0; background: var(--px-bg); color: var(--px-ink); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.px-main > * { margin-block: 0; }
:where(.px-main, .px-header, .px-footer) a:focus-visible, .px-btn:focus-visible, .px-tab:focus-visible, summary:focus-visible, button:focus-visible {
	outline: 3px solid var(--px-blue); outline-offset: 3px; border-radius: 6px;
}
img { max-width: 100%; height: auto; }
.px-wrap { box-sizing: border-box; width: 100%; max-width: calc(1280px + 2 * var(--px-gutter)); margin-inline: auto; padding-inline: var(--px-gutter); }
.px-wrap--text { max-width: calc(760px + 2 * var(--px-gutter)); }
.px-section { padding-block: clamp(48px, 7vw, 96px); }
.px-section--white { background: var(--px-white); }
.px-empty { color: var(--px-mut); }
.px-label { display: block; margin: 0 0 6px; font-size: .8125rem; font-weight: 600; color: var(--px-mut); }
.px-noimg { display: block; aspect-ratio: 4 / 3; background: var(--px-soft); }

/* ── Buttons, pills, badges, tabs ───────────────────────────────────────── */
.px-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 24px; box-sizing: border-box;
	border-radius: 999px; border: 0; background: var(--px-blue); color: var(--px-white); font-weight: 600; font-size: 1rem; line-height: 1.2;
	text-decoration: none; text-align: center; transition: background .15s, transform .15s, box-shadow .15s; cursor: pointer;
}
.px-btn:hover { background: var(--px-deep); color: var(--px-white); transform: translateY(-1px); box-shadow: 0 10px 22px rgb(42 100 219 / .28); }
.px-btn--soft { background: var(--px-white); color: var(--px-ink); box-shadow: inset 0 0 0 1px #d5dbe8; }
.px-btn--soft:hover { background: var(--px-white); color: var(--px-blue); box-shadow: inset 0 0 0 1px var(--px-blue); }
.px-btn--light { background: var(--px-white); color: var(--px-deep); }
.px-btn--light:hover { background: var(--px-zi); color: var(--px-ink); box-shadow: none; }
.px-btn--sm { min-height: 42px; padding: 0 18px; font-size: .9375rem; }
.px-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 7px 14px; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); font-size: .875rem; font-weight: 500; }
.px-pill i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.px-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; background: rgb(255 255 255 / .94); color: var(--px-ink); font-size: .75rem; font-weight: 600; letter-spacing: .02em; box-shadow: inset 0 0 0 1px var(--px-line); }
.px-badge--lg { margin-bottom: 14px; font-size: .8125rem; background: var(--px-soft); box-shadow: none; }
.px-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.px-tab { min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--px-soft); color: var(--px-ink); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.px-tab span { color: var(--px-mut); font-weight: 500; }
.px-tab[aria-pressed="true"] { background: var(--px-ink); color: var(--px-white); }
.px-tab[aria-pressed="true"] span { color: #b7c1d4; }
.px-eyebrow { margin: 0 0 14px; font-size: .9375rem; font-weight: 600; color: var(--px-blue); }

/* ── Zoning bar, legend, stripe, facts, house pictograms ───────────────── */
.px-zbar { display: flex; height: 10px; gap: 2px; border-radius: 6px; overflow: hidden; }
.px-zbar i { display: block; background: var(--c); min-width: 4px; }
.px-zleg { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 0 0; padding: 0; font-size: .8125rem; color: var(--px-mut); }
.px-zleg li { display: inline-flex; align-items: center; gap: 4px; }
.px-zleg li::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--c); margin-right: 3px; }
.px-zleg b { color: var(--px-ink); font-weight: 600; }
.px-zleg small { font-size: .75rem; }
.px-stripe { display: flex; height: 6px; margin-top: 32px; max-width: 280px; border-radius: 4px; overflow: hidden; gap: 2px; }
.px-stripe i { flex: 1; background: var(--c); }
.px-facts { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.px-facts li { padding: 6px 10px; border-radius: var(--px-r-sm); background: var(--px-soft); font-size: .8125rem; }
.px-facts b { font-weight: 700; }
.px-house { width: 54px; height: 40px; color: var(--px-ink); flex: none; overflow: visible; }

/* ── Header and mega menu ───────────────────────────────────────────────── */
.px-header { position: sticky; top: 0; z-index: 50; background: rgb(255 255 255 / .92); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--px-line); }
.admin-bar .px-header { top: 32px; }
.px-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; }
.px-header__bar > * { margin-block: 0 !important; }
.px-logo { margin: 0; flex: none; }
.px-logo img { width: 124px; height: auto; display: block; }
@media (min-width: 1024px) { .px-logo img { width: 140px; } }
.px-menu { display: flex; align-items: center; gap: 10px; font-size: .9375rem; font-weight: 600; }
.px-menu summary { list-style: none; cursor: pointer; }
.px-menu summary::-webkit-details-marker { display: none; }
.px-menu a { color: var(--px-ink); text-decoration: none; }
.px-menu__toggle { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--px-ink); color: var(--px-white); font: inherit; font-weight: 600; cursor: pointer; }
.px-menu__toggle::before { content: ""; width: 16px; height: 10px; border-block: 2px solid currentColor; background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat; }
.px-menu__list { list-style: none; margin: 0; padding: 0; }
.px-menu__panel > summary::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
.px-menu__panel[open] > summary::after { transform: translateY(1px) rotate(-135deg); }
.px-menu__end { display: flex; align-items: center; gap: 14px; }
.px-menu__tel { display: grid; line-height: 1.15; font-weight: 700; white-space: nowrap; }
.px-menu__tel small { font-size: .6875rem; font-weight: 600; color: var(--px-mut); letter-spacing: .04em; text-transform: uppercase; }
.px-menu__tel:hover { color: var(--px-blue) !important; }
.px-menu__cta { min-height: 46px; padding: 0 22px; font-size: .9375rem; color: var(--px-white) !important; }
/* mega panel */
.px-mega__cols { display: grid; gap: 22px; }
.px-mega__h { margin: 0 0 8px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--px-mut); }
.px-mega__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.px-mega__col a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 12px; font-weight: 500; transition: background .15s, color .15s; }
.px-mega__col a:hover { background: var(--px-soft); color: var(--px-blue); }
.px-mega__col .px-house { width: 34px; height: 26px; padding: 4px; border-radius: 9px; background: var(--px-bg); }
.px-mega__col small { margin-left: auto; min-width: 26px; padding: 2px 8px; border-radius: 999px; background: var(--px-soft); color: var(--px-mut); font-size: .75rem; text-align: center; }
.px-mega__side { display: grid; gap: 12px; align-content: start; }
.px-mega__feat { display: grid; gap: 8px; padding: 10px; border-radius: 18px; background: var(--px-bg); }
.px-mega__pic img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; }
.px-mega__k { font-size: .6875rem; font-weight: 700; color: var(--px-blue); text-transform: uppercase; letter-spacing: .08em; }
.px-mega__t { font-weight: 700; line-height: 1.25; }
.px-mega__feat:hover .px-mega__t { color: var(--px-blue); }
.px-mega__all { width: 100%; color: var(--px-white) !important; }
/* phones and tablets: the list opens under the header */
@media (max-width: 1023px) {
	.px-js .px-menu__toggle { display: inline-flex; }
	.px-menu__tel { display: none; }
	.px-js .px-menu__list { display: none; }
	.px-js .px-menu.is-open .px-menu__list { display: block; position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 76px); overflow: auto; padding: 8px var(--px-gutter) 28px; background: var(--px-white); border-bottom: 1px solid var(--px-line); box-shadow: var(--px-shadow-lg); }
	.px-menu__list > li > a, .px-menu__panel > summary { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--px-line); font-size: 1.0625rem; }
	.px-mega__cols { padding: 16px 0; }
	.px-mega__side { padding-bottom: 8px; }
}
@media (min-width: 600px) and (max-width: 1023px) { .px-mega__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .px-menu__cta { display: none; } }
/* desktop: centred pill group */
@media (min-width: 1024px) {
	.px-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; }
	.px-menu { display: contents; }
	.px-menu__list { display: flex; align-items: center; gap: 2px; padding: 5px; border-radius: 999px; background: var(--px-soft); justify-self: center; }
	.px-menu__list > li > a, .px-menu__panel > summary { display: flex; align-items: center; padding: 10px 18px; border-radius: 999px; transition: background .15s, color .15s, box-shadow .15s; }
	.px-menu__list > li > a:hover, .px-menu__panel > summary:hover { color: var(--px-blue); }
	.px-menu__list > li > a[aria-current], .px-menu__panel > summary.is-here { background: var(--px-white); box-shadow: 0 2px 8px rgb(23 32 51 / .08); }
	.px-menu__panel[open] > summary { background: var(--px-ink); color: var(--px-white); box-shadow: none; }
	.px-menu__end { justify-self: end; }
	.px-menu__projects { position: static; }
	.px-menu__panel[open] .px-mega { position: absolute; left: 0; right: 0; top: calc(100% + 1px); padding: 0 var(--px-gutter); }
	.px-mega__in { display: grid; grid-template-columns: 1fr 290px; gap: 40px; max-width: 1280px; margin: 0 auto; padding: 28px 32px 32px; border-radius: 0 0 28px 28px; background: var(--px-white); box-shadow: 0 30px 60px rgb(23 32 51 / .16); }
	.px-mega__cols { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}

/* ── Section heading ────────────────────────────────────────────────────── */
.px-shead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 24px; margin: 0 0 32px; }
.px-shead__title { margin: 0; font-size: var(--wp--preset--font-size--x-large); letter-spacing: -.03em; }
.px-shead__intro { margin: 8px 0 0; color: var(--px-mut); max-width: 60ch; }
.px-shead__link { font-weight: 600; text-decoration: none; white-space: nowrap; }
.px-shead__link::after { content: " →"; }
.px-shead__link:hover { text-decoration: underline; }

/* ── Heroes ─────────────────────────────────────────────────────────────── */
.px-hero { padding-block: 28px clamp(44px, 6vw, 72px); background: var(--px-bg); }
.px-hero__grid { display: grid; gap: 36px; align-items: center; }
@media (min-width: 1024px) { .px-hero__grid { grid-template-columns: 1.15fr .85fr; gap: 56px; } .px-hero__grid--one { grid-template-columns: 1fr; } }
.px-hero__title { margin: 0; max-width: 20ch; font-size: clamp(2.25rem, 1.4rem + 3.2vw, 3.75rem); line-height: 1.04; letter-spacing: -.035em; }
.px-hero__lead { max-width: 58ch; margin: 18px 0 0; font-size: 1.125rem; color: #3c4558; }
.px-hero__icon { display: inline-flex; padding: 12px; margin-bottom: 18px; border-radius: var(--px-r); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-hero__icon .px-house { width: 64px; height: 48px; }
.px-hero__big .px-house { width: min(320px, 70vw); height: auto; }
.px-crumbs { margin-bottom: 22px; font-size: .875rem; color: var(--px-mut); }
.px-crumbs a { color: var(--px-mut); text-decoration: none; }
.px-crumbs a:hover { color: var(--px-blue); text-decoration: underline; }
.px-figures { list-style: none; display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; padding: 0; }
.px-figures li { min-width: 120px; padding: 14px 18px; border-radius: var(--px-r); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-figures b { display: block; font-size: 1.75rem; letter-spacing: -.03em; line-height: 1.1; }
.px-figures span { font-size: .8125rem; color: var(--px-mut); }
.px-hcard { display: grid; gap: 12px; padding: 14px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: var(--px-shadow-lg); color: var(--px-ink); text-decoration: none; max-width: 460px; justify-self: end; width: 100%; box-sizing: border-box; }
.px-hcard__pic img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.px-hcard__t { font-weight: 700; font-size: 1.125rem; }
.px-hcard:hover .px-hcard__t { color: var(--px-blue); }
.px-hero--page .px-hero__title, .px-hero--post .px-hero__title { max-width: 24ch; }
.px-hero--post { padding-bottom: 8px; }
.px-postmeta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; font-size: .875rem; color: var(--px-mut); }
.px-postmeta a { padding: 4px 10px; border-radius: 999px; background: var(--px-noapte); color: var(--px-ink); font-weight: 600; text-decoration: none; }
.px-postmeta span { padding: 4px 0; }
.px-feature { display: grid; gap: 10px; padding: 12px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: var(--px-shadow); text-decoration: none; color: var(--px-ink); }
.px-feature__pic img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; }
.px-feature__k { font-size: .8125rem; font-weight: 600; color: var(--px-blue); padding: 0 4px; }
.px-feature__t { font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; padding: 0 4px 6px; }
.px-feature:hover .px-feature__t { color: var(--px-blue); }
.px-hero .search-form { margin-top: 24px; max-width: 540px; }

/* Home hero */
.px-hhero { position: relative; overflow: hidden; background: var(--px-ink); color: var(--px-white); }
.px-hhero::before { content: ""; position: absolute; right: -160px; top: -200px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .55), transparent 62%); pointer-events: none; }
.px-hhero::after { content: ""; position: absolute; left: -200px; bottom: -260px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgb(255 216 156 / .16), transparent 62%); pointer-events: none; }
.px-hhero .px-pill { background: rgb(255 255 255 / .08); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .16); color: #dbe2ee; }
.px-hhero__title { color: var(--px-white); }
.px-hhero__title span { color: var(--px-zi); }
.px-hhero__lead { color: #c3cad8 !important; }
.px-hhero .px-btn--soft { background: transparent; color: var(--px-white); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .35); }
.px-hhero .px-btn--soft:hover { color: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-white); background: rgb(255 255 255 / .08); }
.px-hhero .px-finder a { background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); color: var(--px-white); }
.px-hhero .px-finder a:hover { background: rgb(255 255 255 / .12); box-shadow: inset 0 0 0 2px var(--px-zi); }
.px-hhero .px-finder .px-house { color: var(--px-white); }
.px-hhero .px-finder small { color: #9aa5b8; }
.px-hhero .px-carousel { color: var(--px-ink); }
.px-hhero__grid { position: relative; z-index: 1; display: grid; gap: 48px; padding-block: clamp(44px, 7vw, 88px); align-items: center; }
@media (min-width: 1024px) { .px-hhero__grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.px-hhero__title { margin: 20px 0 0; font-size: clamp(2.5rem, 1.4rem + 4.2vw, 4.5rem); line-height: 1.02; letter-spacing: -.04em; max-width: 15ch; }
.px-hhero__lead { margin: 22px 0 0; font-size: 1.1875rem; max-width: 46ch; }
.px-hhero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 0; }
.px-finder ul { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 40px 0 0; padding: 0; }
@media (max-width: 599px) { .px-finder ul { grid-template-columns: repeat(2, 1fr); } }
.px-finder a { display: grid; justify-items: center; gap: 6px; padding: 14px 6px 12px; border-radius: var(--px-r); text-decoration: none; font-size: .875rem; font-weight: 600; text-align: center; transition: box-shadow .15s, transform .15s, background .15s; }
.px-finder a:hover { transform: translateY(-2px); }
.px-finder small { font-weight: 500; font-size: .8125rem; }

/* ── Chips ──────────────────────────────────────────────────────────────── */
.px-chips ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.px-chips a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 8px; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-ink); text-decoration: none; font-size: .9375rem; font-weight: 500; }
.px-chips a .px-house { width: 30px; height: 22px; }
.px-chips a span { color: var(--px-mut); font-size: .8125rem; }
.px-chips a:hover { box-shadow: inset 0 0 0 1px var(--px-blue); }
.px-chips a[aria-current] { background: var(--px-ink); color: var(--px-white); box-shadow: none; }
.px-chips a[aria-current] .px-house { color: var(--px-white); }
.px-chips a[aria-current] span { color: #b7c1d4; }
.px-chips--text a { padding: 7px 14px; }
.px-hero .px-chips { margin-top: 32px; }
.px-section > .px-chips, .px-main--projects .px-chips { margin-bottom: 36px; }

/* ── Project cards and grids ────────────────────────────────────────────── */
.px-pgrid, .px-bgrid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 600px) { .px-pgrid, .px-bgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .px-pgrid, .px-bgrid { grid-template-columns: repeat(3, 1fr); gap: 28px; } }
.px-pcard, .px-bcard { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 10px 10px 16px; border-radius: 20px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); transition: transform .2s, box-shadow .2s; }
.px-pcard:hover, .px-bcard:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--px-line), var(--px-shadow); }
.px-pcard__pic, .px-bcard__pic { position: relative; margin: 0; border-radius: 14px; overflow: hidden; background: var(--px-white); }
.px-pcard__pic img, .px-bcard__pic img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.px-pcard__plan { position: absolute; inset: 0; height: 100% !important; object-fit: contain !important; padding: 10px; box-sizing: border-box; background: var(--px-white); opacity: 0; transition: opacity .25s; }
.px-pcard:hover .px-pcard__plan, .px-pcard:focus-within .px-pcard__plan { opacity: 1; }
.px-pcard .px-badge { position: absolute; left: 10px; top: 10px; }
.px-pcard__hint { position: absolute; right: 10px; top: 10px; padding: 4px 10px; border-radius: 999px; background: var(--px-ink); color: var(--px-white); font-size: .75rem; font-weight: 600; opacity: 0; transition: opacity .2s; }
.px-pcard:hover .px-pcard__hint { opacity: 1; }
.px-pcard__title, .px-bcard__title { margin: 2px 6px 0; font-size: 1.125rem; line-height: 1.3; letter-spacing: -.015em; }
.px-pcard__title a, .px-bcard__title a { color: var(--px-ink); text-decoration: none; }
.px-pcard__title a::after, .px-bcard__title a::after { content: ""; position: absolute; inset: 0; border-radius: 20px; }
.px-pcard__title a:hover, .px-bcard__title a:hover { color: var(--px-blue); }
.px-pcard .px-zbar, .px-pcard .px-facts { margin-inline: 6px; }
.px-bcard__cat, .px-bcard__cat a { margin: 0 6px; font-size: .8125rem; font-weight: 600; color: var(--px-blue); text-decoration: none; position: relative; z-index: 1; }
.px-bcard__excerpt { margin: 0 6px; color: var(--px-mut); font-size: .9375rem; }
.px-bcard__excerpt p { margin: 0; }
.px-loophead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; margin-bottom: 22px; }
.px-loophead > p { margin: 0; font-weight: 600; }
.px-loophead .px-zleg { margin: 0; }
.px-pagination { margin-top: 44px; }
.px-pagination ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0; margin: 0; }
.px-pagination a, .px-pagination span, .px-pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; box-sizing: border-box; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); text-decoration: none; color: var(--px-ink); font-weight: 600; }
.px-pagination .current { background: var(--px-ink); color: var(--px-white); box-shadow: none; }

/* Category cards */
.px-catgrid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 600px) { .px-catgrid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .px-catgrid { grid-template-columns: repeat(4, 1fr); gap: 18px; } }
.px-catcard a { display: grid; gap: 4px; height: 100%; box-sizing: border-box; padding: 18px; border-radius: var(--px-r); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-ink); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.px-catcard a:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-catcard .px-house { margin-bottom: 10px; }
.px-catcard__name { font-weight: 700; font-size: 1.0625rem; line-height: 1.25; }
.px-catcard__meta { font-size: .8125rem; color: var(--px-mut); }

/* ── Project page ───────────────────────────────────────────────────────── */
.px-phero { padding-block: 24px 56px; background: var(--px-bg); }
.px-phero__grid { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-phero__grid { grid-template-columns: 1.35fr 1fr; gap: 48px; align-items: start; } }
.px-gallery { padding: 14px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: var(--px-shadow); }
.px-gallery__main { display: block; border-radius: 14px; overflow: hidden; background: var(--px-white); }
.px-gallery__main img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.px-gallery__main.is-plan img { object-fit: contain; padding: 12px; box-sizing: border-box; }
.px-gallery__thumbs { list-style: none; margin: 12px 0 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; }
.px-js .px-gallery__thumbs[hidden] { display: none; }
.px-gallery__thumbs a { display: block; width: 76px; border-radius: 10px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--px-line); background: var(--px-white); }
.px-gallery__thumbs a[aria-current] { box-shadow: 0 0 0 3px var(--px-blue); }
.px-gallery__thumbs img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.px-gallery__thumbs a[data-px-kind="plan"] img { object-fit: contain; }
.px-phero__title { margin: 0 0 18px; font-size: clamp(1.875rem, 1.3rem + 2vw, 2.75rem); line-height: 1.08; letter-spacing: -.035em; }
.px-phero__zones { margin-top: 24px; padding: 18px; border-radius: var(--px-r); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-phero__zones .px-zbar { height: 14px; }
.px-phero__cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.px-phero__cats { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0 0; padding: 0; }
.px-phero__cats a { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--px-soft); color: var(--px-ink); text-decoration: none; font-size: .8125rem; font-weight: 500; }
.px-phero__cats a:hover { background: var(--px-noapte); }
.px-levels__grid { display: grid; gap: 20px; }
@media (min-width: 600px) { .px-levels__grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } }
.px-level { padding: 20px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-level h3 { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 10px; font-size: 1.25rem; }
.px-level h3 span { font-size: .9375rem; font-weight: 600; color: var(--px-mut); }
.px-level table { width: 100%; border-collapse: separate; border-spacing: 0 4px; font-size: .9375rem; }
.px-level th, .px-level td { padding: 8px 10px; text-align: left; font-weight: 500; background: color-mix(in srgb, var(--c) 38%, white); }
.px-level th { border-radius: 8px 0 0 8px; border-left: 4px solid var(--c); }
.px-level td { border-radius: 0 8px 8px 0; text-align: right; font-weight: 700; white-space: nowrap; }
.px-specs { display: grid; gap: 0; margin: 0; }
.px-specs > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--px-line); font-size: .9375rem; }
.px-specs > div:first-child { border-top: 0; }
.px-specs dt { color: var(--px-mut); }
.px-specs dd { margin: 0; font-weight: 700; text-align: right; }
.px-related { margin-top: clamp(48px, 6vw, 80px); }
.px-prose--project:not(:empty) { margin-top: 48px; }

/* Key figures: dark band */
.px-figband { background: var(--px-ink); color: var(--px-white); }
.px-figband ul { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0; padding: 0; background: #2c374d; }
@media (min-width: 600px) { .px-figband ul { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .px-figband ul { grid-template-columns: repeat(6, 1fr); } }
.px-figband li { display: grid; gap: 4px; padding: 26px 22px; background: var(--px-ink); }
.px-figband li:nth-child(5n+1) b { color: var(--px-zi); }
.px-figband li:nth-child(5n+2) b { color: var(--px-noapte); }
.px-figband li:nth-child(5n+3) b { color: var(--px-anexe); }
.px-figband li:nth-child(5n+4) b { color: var(--px-circ); }
.px-figband li:nth-child(5n+5) b { color: var(--px-ext); }
.px-figband b { font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1; letter-spacing: -.04em; }
.px-figband small { margin-left: 3px; font-size: .5em; letter-spacing: 0; }
.px-figband span { font-size: .875rem; color: #aab4c6; }

/* Plans per level */
.px-plans { margin-bottom: clamp(48px, 7vw, 88px); }
.px-plans .px-tabs { margin-bottom: 16px; }
.px-plans__panel { display: grid; gap: 20px; }
@media (min-width: 1024px) { .px-plans__panel { grid-template-columns: 1.4fr 1fr; align-items: start; } .px-plans__panel.is-wide { grid-template-columns: 1fr; } }
.px-plans__panel[hidden] { display: none; }
.px-plans__pic { display: grid; gap: 12px; padding: 16px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-plans__pic img { display: block; width: 100%; height: auto; max-height: 720px; object-fit: contain; }
.px-plans__rooms { padding: 20px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-plans__rooms table { width: 100%; border-collapse: separate; border-spacing: 0 4px; font-size: .9375rem; }
.px-plans__rooms th, .px-plans__rooms td { padding: 9px 12px; text-align: left; font-weight: 500; background: color-mix(in srgb, var(--c) 40%, white); }
.px-plans__rooms th { border-radius: 8px 0 0 8px; border-left: 4px solid var(--c); }
.px-plans__rooms td { border-radius: 0 8px 8px 0; text-align: right; font-weight: 700; white-space: nowrap; }

/* Zoning in detail */
.px-zones__bar .px-zbar { height: 22px; border-radius: 12px; }
.px-zones__grid { display: grid; gap: 16px; margin-top: 20px; }
@media (min-width: 600px) { .px-zones__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .px-zones__grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } }
.px-zcard { padding: 18px; border-radius: var(--px-r-lg); background: color-mix(in srgb, var(--c) 45%, white); }
.px-zcard__h { display: grid; gap: 2px; margin: 0 0 12px; }
.px-zcard__h span { font-weight: 700; font-size: 1.0625rem; }
.px-zcard__h b { font-size: .875rem; font-weight: 600; color: #3c4558; }
.px-zcard ul { list-style: none; display: grid; gap: 6px; margin: 0; padding: 0; }
.px-zcard li { display: flex; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 10px; background: rgb(255 255 255 / .75); font-size: .9375rem; }
.px-zcard li small { color: var(--px-mut); }
.px-zcard li b { white-space: nowrap; }

/* What the project includes */
.px-incl { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-incl { grid-template-columns: 1.6fr 1fr; gap: 56px; align-items: start; } }
.px-incl__list { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
@media (min-width: 700px) { .px-incl__list { grid-template-columns: repeat(3, 1fr); } }
.px-incl__list li { position: relative; padding: 22px; border-radius: var(--px-r-lg); background: var(--px-bg); overflow: hidden; }
.px-incl__list li::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--c); }
.px-incl__n { font-size: 2rem; font-weight: 800; letter-spacing: -.04em; color: color-mix(in srgb, var(--c) 55%, var(--px-ink)); }
.px-incl h3 { margin: 8px 0 6px; font-size: 1.1875rem; }
.px-incl__list p { margin: 0; color: var(--px-mut); font-size: .9375rem; }
.px-incl__sheet { padding: 24px; border-radius: var(--px-r-lg); background: var(--px-ink); color: var(--px-white); }
.px-incl__sheet h3 { margin: 0 0 12px; color: var(--px-white); }
.px-incl__sheet .px-specs > div { border-color: #2c374d; }
.px-incl__sheet .px-specs dt { color: #aab4c6; }

/* ── Forms panel and contact ────────────────────────────────────────────── */
.px-formpanel { background: var(--px-white); padding-block: clamp(48px, 7vw, 96px); scroll-margin-top: 16px; }
.px-formpanel__grid { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-formpanel__grid { grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; } }
.px-formpanel h2 { margin: 0 0 14px; font-size: var(--wp--preset--font-size--x-large); letter-spacing: -.03em; }
.px-formpanel__text > p { color: #3c4558; font-size: 1.0625rem; }
.px-formpanel__project { display: flex; align-items: center; gap: 14px; margin: 22px 0; padding: 12px; border-radius: var(--px-r); background: var(--px-bg); }
.px-formpanel__project img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; }
.px-formpanel__project p { margin: 0; }
.px-formpanel__project b { margin-right: 6px; }
.px-checks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.px-checks li { position: relative; padding-left: 30px; }
.px-checks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 6px; background: var(--px-ext); }
.px-checks li::after { content: ""; position: absolute; left: 7px; top: 6px; width: 5px; height: 10px; border: solid var(--px-ink); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.px-formpanel__form { padding: clamp(20px, 3vw, 36px); border-radius: var(--px-r-lg); background: var(--px-bg); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-formpanel .ff-el-input--label label { font-weight: 600; color: var(--px-ink); }
.px-formpanel .ff-el-form-control { border: 1px solid #d5dbe8 !important; border-radius: 12px !important; background: var(--px-white) !important; min-height: 50px; font: inherit !important; }
.px-formpanel .ff-el-form-control:focus { border-color: var(--px-blue) !important; box-shadow: 0 0 0 4px rgb(42 100 219 / .15) !important; }
.px-formpanel .ff-btn-submit { min-height: 54px; padding: 0 30px !important; border: 0 !important; border-radius: 999px !important; background: var(--px-blue) !important; color: var(--px-white) !important; font: inherit !important; font-weight: 600 !important; }
.px-formpanel .ff-btn-submit:hover { background: var(--px-deep) !important; }
.px-formpanel .ff-message-success { border: 0; border-radius: var(--px-r); background: var(--px-ext); color: var(--px-ink); }
.px-hero--contact { padding-bottom: clamp(48px, 7vw, 88px); }
.px-ways { list-style: none; display: grid; gap: 16px; margin: 40px 0 0; padding: 0; }
@media (min-width: 900px) { .px-ways { grid-template-columns: repeat(3, 1fr); } }
.px-ways li { padding: 24px; border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-ways h2 { margin: 14px 0 8px; font-size: 1.25rem; letter-spacing: -.02em; }
.px-ways p { margin: 0 0 14px; color: var(--px-mut); }
.px-ways a { font-weight: 600; text-decoration: none; }
.px-ways a::after { content: " →"; }
.px-offices { list-style: none; display: grid; gap: 12px; margin: 28px 0 0; padding: 0; }
.px-office { padding: 16px 18px; border-radius: var(--px-r); background: var(--px-bg); }
.px-office p { margin: 4px 0 0; color: var(--px-mut); font-size: .9375rem; }
.px-office__tel { font-size: 1.375rem; font-weight: 700; letter-spacing: -.02em; color: var(--px-ink); text-decoration: none; }
.px-office__tel:hover { color: var(--px-blue); }

/* ── Steps (home) ───────────────────────────────────────────────────────── */
.px-steps { padding-block: clamp(48px, 7vw, 96px); background: var(--px-deep); color: var(--px-white); }
.px-steps .px-shead__title { color: var(--px-white); }
.px-steps .px-shead__intro { color: #c9d6f5; }
.px-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
@media (min-width: 600px) { .px-steps__list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .px-steps__list { grid-template-columns: repeat(4, 1fr); } }
.px-steps__list li { padding: 22px; border-radius: var(--px-r-lg); background: rgb(255 255 255 / .07); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14); border-top: 6px solid var(--c); }
.px-steps__n { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 12px; background: var(--c); font-weight: 700; font-size: 1.125rem; color: var(--px-ink); }
.px-steps h3 { margin: 16px 0 6px; font-size: 1.1875rem; letter-spacing: -.02em; color: var(--px-white); }
.px-steps p { margin: 0; color: #c9d6f5; font-size: .9375rem; }

/* ── Prose (posts, pages, category texts) ───────────────────────────────── */
.px-prose { font-size: var(--wp--preset--font-size--medium); }
.px-prose > * { max-width: 760px; margin-inline: auto; }
.px-prose > .alignwide { max-width: 1280px; }
.px-prose--sheet, .px-catbody { padding: clamp(24px, 4vw, 56px) var(--px-gutter); border-radius: var(--px-r-lg); background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-catbody { margin-top: clamp(48px, 6vw, 80px); }
.px-prose h2 { margin-top: 2em; letter-spacing: -.03em; }
.px-prose h2:first-child { margin-top: 0; }
.px-prose h3 { margin-top: 1.6em; }
.px-prose ul { padding-left: 0; list-style: none; }
.px-prose ul li { position: relative; padding-left: 26px; margin: .45em 0; }
.px-prose ul li::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 12px; border-radius: 4px; background: var(--px-noapte); }
.px-prose table { width: 100%; border-collapse: collapse; font-size: .9375rem; border-radius: var(--px-r); overflow: hidden; box-shadow: inset 0 0 0 1px var(--px-line); }
.px-prose th, .px-prose td { padding: 11px 14px; border-bottom: 1px solid var(--px-line); text-align: left; vertical-align: top; }
.px-prose th, .px-prose thead td { background: var(--px-soft); font-weight: 700; }
.px-prose img { border-radius: var(--px-r); }
.px-prose blockquote { margin-left: auto; padding: 18px 22px; border-radius: var(--px-r); background: #fff7e8; border-left: 6px solid var(--px-zi); }
.px-postimg img { border-radius: var(--px-r-lg); }
.px-main--single .px-section { padding-bottom: clamp(32px, 5vw, 56px); }

/* ── Footer ─────────────────────────────────────────────────────────────── */
.px-footer { background: var(--px-ink); color: #c3cad8; font-size: .9375rem; }
.px-footer p { color: #c3cad8; }
.px-footer > .px-stripe { max-width: none; margin: 0; height: 8px; border-radius: 0; gap: 0; }
.px-footer > .px-wrap { padding-block: 64px 28px; }
.px-footer a { color: var(--px-white); text-decoration: none; }
.px-footer a:hover { color: var(--px-zi); }
.px-footer a:focus-visible { outline-color: var(--px-zi); }
.px-footer__top { display: grid; gap: 32px; padding-bottom: 44px; border-bottom: 1px solid #2c374d; }
@media (min-width: 1024px) { .px-footer__top { grid-template-columns: 1fr 1.6fr; gap: 56px; align-items: start; } }
.px-footer__home { display: inline-block; padding: 14px 18px; border-radius: 16px; background: var(--px-white); }
.px-footer__logo { display: block; width: 150px; height: auto; }
.px-footer__tag { margin: 22px 0 6px; font-size: 1.375rem; font-weight: 700; letter-spacing: -.02em; color: var(--px-white) !important; }
.px-footer__brand p:last-child { margin: 0; max-width: 42ch; }
.px-footer ul { list-style: none; margin: 0; padding: 0; }
.px-footer__cta { position: relative; display: grid; gap: 22px; padding: clamp(22px, 3vw, 32px); border-radius: 28px; background: #202b40; box-shadow: inset 0 0 0 1px #2c374d; overflow: hidden; }
.px-footer__cta::before { content: ""; position: absolute; right: -140px; top: -160px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .45), transparent 65%); pointer-events: none; }
.px-footer__cta > * { position: relative; }
@media (min-width: 800px) { .px-footer__cta { grid-template-columns: 1.15fr .85fr; gap: 28px; } .px-footer__nums { grid-column: 1 / -1; } }
.px-footer__k { margin: 0 0 8px; font-size: .8125rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--px-orange) !important; }
.px-footer__q { margin: 0 0 20px; font-size: clamp(1.375rem, 1.1rem + .8vw, 1.75rem); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; color: var(--px-white) !important; max-width: 22ch; }
.px-footer__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.px-footer .px-footer__btns .px-btn { color: var(--px-white); }
.px-footer__call { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 999px; box-shadow: inset 0 0 0 1px #3a4761; font-weight: 700; font-size: 1.0625rem; }
.px-footer__call .px-ico { width: 18px; height: 18px; color: var(--px-orange); }
.px-footer__call:hover { background: rgb(255 255 255 / .06); }
.px-footer__office { display: flex; gap: 14px; align-items: flex-start; align-self: stretch; padding: 20px; border-radius: 20px; background: rgb(12 18 32 / .45); box-shadow: inset 0 0 0 1px #2c374d; }
.px-footer__pin { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--px-orange); color: var(--px-ink); }
.px-footer__pin .px-ico { width: 22px; height: 22px; }
.px-footer__oc { margin: 0 0 4px; font-weight: 800; color: var(--px-white) !important; font-size: 1.0625rem; }
.px-footer__oa { margin: 0 0 12px; font-size: .875rem; line-height: 1.55; color: #9aa5b8 !important; }
.px-footer__map { display: inline-flex; align-items: center; gap: 6px; font-size: .875rem; font-weight: 700; }
.px-footer__map .px-ico { width: 16px; height: 16px; }
.px-footer__nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding-top: 20px; border-top: 1px solid #2c374d; }
.px-footer__nums b { display: block; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1; letter-spacing: -.04em; color: var(--px-white); }
.px-footer__nums span { display: block; margin-top: 6px; font-size: .8125rem; line-height: 1.35; color: #8e99ad; }
.px-footer__mid { display: grid; gap: 36px; padding-block: 44px; }
@media (min-width: 1024px) { .px-footer__mid { grid-template-columns: 1fr 260px; gap: 56px; } }
.px-footer__h { margin: 0 0 16px; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8e99ad !important; }
.px-footer__types { display: flex; flex-wrap: wrap; gap: 8px; }
.px-footer__types a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 999px; background: #202b40; box-shadow: inset 0 0 0 1px #2c374d; font-weight: 500; transition: background .15s; }
.px-footer__types a:hover { background: #2a3752; color: var(--px-white); }
.px-footer__types .px-house { width: 30px; height: 30px; padding: 4px; border-radius: 50%; background: var(--px-white); color: var(--px-ink); box-sizing: border-box; }
.px-footer__links { display: grid; gap: 10px; margin-bottom: 22px !important; }
.px-footer .px-btn--light { color: var(--px-deep); }
.px-footer .px-btn--light:hover { color: var(--px-ink); }
.px-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 0; padding-top: 22px; border-top: 1px solid #2c374d; color: #8e99ad !important; font-size: .875rem; }

/* ── Cookie banner (cookie-law-info): floating dark card ────────────────── */
#cookie-law-info-bar { left: 16px !important; right: auto !important; bottom: 16px !important; width: calc(100% - 32px) !important; max-width: 400px; padding: 16px 18px !important; border-radius: 18px !important; background: var(--px-ink) !important; color: #dbe2ee !important; box-shadow: 0 24px 60px rgb(10 16 30 / .35) !important; font-family: inherit !important; font-size: .8125rem !important; line-height: 1.5 !important; box-sizing: border-box; }
#cookie-law-info-bar .cli-bar-container { display: block !important; }
#cookie-law-info-bar .cli-bar-message { width: auto !important; margin: 0 0 12px !important; color: #dbe2ee !important; }
#cookie-law-info-bar .cli-bar-message::before { content: "Cookie-uri"; display: block; margin-bottom: 4px; font-size: .9375rem; font-weight: 700; color: var(--px-white); }
#cookie-law-info-bar .cli-bar-btn_container { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
#cookie-law-info-bar .cli-bar-btn_container a { display: inline-flex !important; align-items: center; min-height: 36px; margin: 0 !important; padding: 0 14px !important; border-radius: 999px !important; font-size: .8125rem !important; font-weight: 600 !important; text-decoration: none !important; }
#cookie-law-info-bar #cookie_action_close_header, #cookie-law-info-bar .cli_action_button { background: var(--px-zi) !important; color: var(--px-ink) !important; }
#cookie-law-info-bar .cli_settings_button { background: transparent !important; color: var(--px-white) !important; box-shadow: inset 0 0 0 1px #4a5672; }
@media (max-width: 599px) { #cookie-law-info-bar { left: 8px !important; bottom: 8px !important; width: calc(100% - 16px) !important; } }


/* ── Home hero carousel ─────────────────────────────────────────────────── */
.px-hhero__side { min-width: 0; }
.px-hhero__k { margin: 0 0 12px; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9aa5b8; }
.px-carousel { position: relative; min-width: 0; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.px-carousel__top { position: absolute; z-index: 3; left: 14px; right: 14px; top: 14px; display: flex; justify-content: space-between; align-items: center; pointer-events: none; }
.px-carousel__top > * { pointer-events: auto; }
.px-carousel__top .px-tabs { margin: 0; padding: 4px; border-radius: 999px; background: rgb(255 255 255 / .9); backdrop-filter: blur(8px); }
.px-carousel__top .px-tab { min-height: 32px; background: transparent; }
.px-carousel__top .px-tab[aria-pressed="true"] { background: var(--px-ink); }
.px-carousel__count { padding: 6px 12px; border-radius: 999px; background: rgb(23 32 51 / .7); color: var(--px-white); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.px-carousel__count b { color: var(--px-zi); }
.px-carousel__track { display: flex; margin: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: var(--px-r-lg); box-shadow: 0 40px 80px rgb(0 0 0 / .45); }
.px-carousel__track::-webkit-scrollbar { display: none; }
.px-slide { flex: 0 0 100%; scroll-snap-align: start; min-width: 0; background: var(--px-white); }
.px-slide__pic { position: relative; display: block; overflow: hidden; color: var(--px-white); text-decoration: none; }
.px-slide__pic img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.px-slide__p { position: absolute; inset: 0; height: 100% !important; object-fit: contain !important; padding: 56px 16px 96px; box-sizing: border-box; background: var(--px-white); opacity: 0; transition: opacity .25s; }
.px-carousel.is-plan .px-slide__p { opacity: 1; }
.px-slide .px-badge { position: absolute; left: 16px; bottom: 92px; z-index: 2; }
.px-slide__over { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: grid; gap: 10px; padding: 48px 16px 16px; background: linear-gradient(transparent, rgb(12 18 32 / .88)); }
.px-slide__t { font-size: 1.375rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.px-slide__pic:hover .px-slide__t { text-decoration: underline; text-underline-offset: 4px; }
.px-slide__over .px-facts li { background: rgb(255 255 255 / .16); color: var(--px-white); backdrop-filter: blur(6px); }
.px-slide__zones { padding: 14px 16px 16px; color: var(--px-ink); }
.px-slide__zones .px-zleg { margin-top: 8px; }
.px-carousel__nav { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 0; border: 0; }
.px-dots { display: flex; gap: 8px; flex: 1; justify-content: center; overflow-x: auto; scrollbar-width: none; }
.px-dot { flex: none; width: 56px; height: 42px; padding: 0; border: 2px solid transparent; border-radius: 10px; background: #2a3550; overflow: hidden; cursor: pointer; opacity: .55; transition: opacity .2s, border-color .2s; }
.px-dot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.px-dot:hover { opacity: .85; }
.px-dot[aria-current] { opacity: 1; border-color: var(--px-zi); }
.px-arrow { flex: none; position: relative; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .1); cursor: pointer; }
.px-arrow:hover { background: var(--px-zi); }
.px-arrow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border: solid var(--px-white); border-width: 0 0 2px 2px; transform: translate(-30%, -50%) rotate(45deg); }
.px-arrow:hover::before { border-color: var(--px-ink); }
.px-arrow--next::before { transform: translate(-70%, -50%) rotate(-135deg); }
@media (max-width: 599px) { .px-dot { width: 44px; height: 34px; } .px-slide__t { font-size: 1.125rem; } }

/* ── Blog cards ─────────────────────────────────────────────────────────── */
.px-loop .px-bgrid { gap: 28px; }
.px-bcard { padding: 0 0 18px; overflow: hidden; }
.px-bcard__pic, .px-bcard .wp-block-post-featured-image { margin: 0 !important; border-radius: 20px 20px 0 0; overflow: hidden; }
.px-bcard .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s; }
.px-bcard:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.px-bcard .px-bcard__cat { margin: 14px 18px 0 !important; }
.px-bcard .px-bcard__cat a { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--px-noapte); color: var(--px-ink); font-size: .75rem; font-weight: 700; }
.px-bcard .px-bcard__cat .wp-block-post-terms__separator { display: none; }
.px-bcard .px-bcard__cat a + a, .px-bcard .px-bcard__cat a ~ a { display: none; }
.px-bcard .px-bcard__title { margin: 10px 18px 0 !important; font-size: 1.1875rem; line-height: 1.3; }
.px-bcard__more { margin: auto 18px 0 !important; padding-top: 12px; font-weight: 600; font-size: .9375rem; text-decoration: none; color: var(--px-blue); position: relative; z-index: 1; }
.px-bcard__more::after { content: " →"; }
.px-loop .px-bcard:first-child { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.px-loop .px-bcard:first-child { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: auto auto 1fr; padding: 0; }
	.px-loop .px-bcard:first-child .wp-block-post-featured-image { grid-row: 1 / 4; border-radius: 20px 0 0 20px; }
	.px-loop .px-bcard:first-child .wp-block-post-featured-image img { height: 100%; aspect-ratio: auto; min-height: 340px; }
	.px-loop .px-bcard:first-child .px-bcard__cat { margin: 32px 32px 0 !important; }
	.px-loop .px-bcard:first-child .px-bcard__title { margin: 14px 32px 0 !important; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.125rem); letter-spacing: -.03em; }
	.px-loop .px-bcard:first-child .px-bcard__more { margin: 18px 32px 32px !important; align-self: end; }
}
.px-hero--blog .px-feature { display: none; }

/* ── Rich sections (category texts, hub, home) ──────────────────────────── */
.px-catbody { margin-top: clamp(56px, 7vw, 96px); padding: 0; background: none; box-shadow: none; }
.px-richwrap { display: grid; gap: clamp(28px, 4vw, 48px); }
.px-rich__toc ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.px-rich__toc a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-ink); text-decoration: none; font-weight: 600; font-size: .9375rem; }
.px-rich__toc a:hover { box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-rich__toc span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--px-soft); font-size: .75rem; }
.px-rich { display: grid; gap: 28px; padding: clamp(24px, 4vw, 48px); border-radius: 28px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); scroll-margin-top: 100px; }
.px-rich p { margin: 0 0 1em; font-size: 1.0625rem; line-height: 1.7; color: #2f3849; }
.px-rich p:last-child { margin-bottom: 0; }
.px-rich__n { margin: 0 0 10px !important; font-size: .875rem !important; font-weight: 800; letter-spacing: .1em; color: var(--px-blue) !important; }
.px-rich__h { margin: 0 0 18px; font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.25rem); line-height: 1.12; letter-spacing: -.03em; max-width: 22ch; }
.px-rich__items { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; counter-reset: px; align-content: start; }
.px-rich__items li { position: relative; counter-increment: px; padding: 16px 16px 16px 58px; border-radius: 18px; background: color-mix(in srgb, var(--c) 35%, white); font-weight: 500; line-height: 1.5; }
.px-rich__items li::before { content: counter(px); position: absolute; left: 14px; top: 14px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: var(--c); font-weight: 800; font-size: .875rem; }
.px-rich__items h3 { margin: 0 0 6px; font-size: 1.125rem; }
.px-rich__items p { font-size: .9375rem; font-weight: 400; }
.px-rich__img img { display: block; width: 100%; height: auto; border-radius: 20px; }
@media (min-width: 1024px) { .px-rich--lead { grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: start; } }
.px-rich--cards .px-rich__top { display: grid; gap: 8px 48px; }
@media (min-width: 1024px) { .px-rich--cards .px-rich__top { grid-template-columns: .9fr 1.1fr; align-items: start; } }
@media (min-width: 700px) { .px-rich--cards .px-rich__items { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
.px-rich--cards .px-rich__items li { padding: 64px 20px 20px; min-height: 120px; box-sizing: border-box; }
.px-rich--cards .px-rich__items li::before { top: 18px; left: 20px; }
.px-rich--dark { background: var(--px-ink); box-shadow: none; color: var(--px-white); }
.px-rich--dark p { color: #c3cad8; }
.px-rich--dark .px-rich__h { color: var(--px-white); }
.px-rich--dark .px-rich__n { color: var(--px-zi) !important; }
@media (min-width: 1024px) { .px-rich--dark { grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; } }
.px-rich--dark .px-rich__items { gap: 10px; }
@media (min-width: 700px) { .px-rich--dark .px-rich__items { grid-template-columns: 1fr 1fr; } }
.px-rich--dark .px-rich__items li { padding: 14px 14px 14px 52px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); color: #e7ebf3; font-size: .9375rem; }
.px-rich--dark .px-rich__items li::before { content: ""; width: 26px; height: 26px; border-radius: 8px; left: 14px; top: 13px; }
.px-rich--dark .px-rich__items li::after { content: ""; position: absolute; left: 23px; top: 18px; width: 6px; height: 11px; border: solid var(--px-ink); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.px-rich--plain { padding: 0; background: none; box-shadow: none; }

/* ── CTA band ───────────────────────────────────────────────────────────── */
.px-ctaband { padding-block: clamp(48px, 7vw, 96px); background: var(--px-bg); }
.px-ctaband__in { display: grid; gap: 40px; align-items: center; padding: clamp(28px, 5vw, 64px); border-radius: 32px; background: var(--px-ink); color: var(--px-white); overflow: hidden; position: relative; }
.px-ctaband__in::before { content: ""; position: absolute; right: -120px; top: -140px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .45), transparent 65%); pointer-events: none; }
@media (min-width: 1024px) { .px-ctaband__in { grid-template-columns: 1.15fr .85fr; gap: 64px; } }
.px-ctaband__text { position: relative; }
.px-ctaband .px-eyebrow { color: var(--px-zi); }
.px-ctaband h2 { margin: 0 0 24px; color: var(--px-white); font-size: clamp(1.75rem, 1.2rem + 2vw, 3rem); line-height: 1.05; letter-spacing: -.035em; max-width: 18ch; }
.px-ctaband__steps { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; counter-reset: s; }
.px-ctaband__steps li { counter-increment: s; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgb(255 255 255 / .08); color: #dbe2ee; font-size: .9375rem; }
.px-ctaband__steps li::before { content: counter(s); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c); color: var(--px-ink); font-weight: 800; font-size: .8125rem; }
.px-ctaband__steps b { color: var(--px-white); }
.px-ctaband p { margin: 0; color: #c3cad8; max-width: 52ch; }
.px-ctaband__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px !important; }
.px-btn--zi { background: var(--px-zi); color: var(--px-ink); }
.px-btn--zi:hover { background: var(--px-white); color: var(--px-ink); box-shadow: none; }
.px-ctaband__tel { display: grid; line-height: 1.2; color: var(--px-white); font-size: 1.25rem; font-weight: 700; text-decoration: none; }
.px-ctaband__tel small { font-size: .75rem; font-weight: 600; color: #9aa5b8; }
.px-ctaband__tel:hover { color: var(--px-zi); }
.px-aplan { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(5, 54px); gap: 6px; padding: 10px; border-radius: 22px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); transform: rotate(-3deg); }
.px-aplan span { display: flex; align-items: end; padding: 8px 10px; border-radius: 12px; background: var(--c); color: var(--px-ink); font-size: .75rem; font-weight: 700; }
.px-aplan .a { grid-area: 1 / 1 / 3 / 4; }
.px-aplan .b { grid-area: 1 / 4 / 3 / 5; }
.px-aplan .c { grid-area: 1 / 5 / 3 / 7; }
.px-aplan .d { grid-area: 3 / 5 / 5 / 7; }
.px-aplan .e { grid-area: 3 / 4 / 5 / 5; }
.px-aplan .f { grid-area: 3 / 1 / 4 / 4; }
.px-aplan .g { grid-area: 4 / 1 / 6 / 4; }
@media (max-width: 599px) { .px-aplan { grid-template-rows: repeat(5, 40px); } }

/* ── Article ────────────────────────────────────────────────────────────── */
.px-phead { padding-block: 24px clamp(40px, 6vw, 72px); background: var(--px-white); border-bottom: 1px solid var(--px-line); }
.px-phead__grid { display: grid; gap: 32px; align-items: center; }
@media (min-width: 1024px) { .px-phead__grid { grid-template-columns: 1.05fr .95fr; gap: 56px; } .px-phead__grid.is-text { grid-template-columns: 1fr; } }
.px-phead__title { margin: 0; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem); line-height: 1.06; letter-spacing: -.035em; max-width: 22ch; }
.px-phead__lead { margin: 18px 0 0; font-size: 1.1875rem; line-height: 1.6; color: #3c4558; max-width: 56ch; }
.px-phead__pic { position: relative; margin: 0; }
.px-phead__pic::before { content: ""; position: absolute; inset: 18px -14px -14px 18px; border-radius: 28px; background: var(--px-zi); }
.px-phead__pic img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; }
.px-article { max-width: calc(760px + 2 * var(--px-gutter)); }
.px-toc { margin: 0 0 36px; border-radius: 18px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-toc summary { display: flex; align-items: center; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; font-weight: 700; }
.px-toc summary::-webkit-details-marker { display: none; }
.px-toc summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border: solid var(--px-ink); border-width: 0 2px 2px 0; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.px-toc[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.px-toc__n { padding: 3px 10px; border-radius: 999px; background: var(--px-soft); color: var(--px-mut); font-size: .8125rem; font-weight: 600; }
.px-toc nav { padding: 0 10px 12px; }
.px-toc ol { list-style: none; display: grid; gap: 2px; margin: 0; padding: 0; }
.px-toc a { display: flex; gap: 10px; padding: 8px; border-radius: 10px; color: var(--px-ink); text-decoration: none; font-size: .9375rem; line-height: 1.35; }
.px-toc a:hover { background: var(--px-soft); color: var(--px-blue); }
.px-toc ol span { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: var(--px-soft); color: var(--px-blue); font-size: .75rem; font-weight: 700; }
.px-prose--post > * { max-width: 760px; margin-inline: auto; }
.px-prose--post { font-size: 1.125rem; line-height: 1.75; }
.px-prose--post > p:first-child { font-size: 1.25rem; color: var(--px-ink); }
.px-prose--post h2 { scroll-margin-top: 100px; margin-top: 2.2em; padding-top: 22px; border-top: 1px solid var(--px-line); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.px-prose--post h2:first-child { border-top: 0; padding-top: 0; }
.px-prose--post img { border-radius: 20px; }
.px-postprojects { }
.px-postmeta a { background: var(--px-noapte); }


/* ── Calm palette (owner, 2026-10-23: « too many colours ») ──────────────────
 * UI = ink, white, light grey and the logo blue. The five zoning colours are used only where they mean zones:
 * zoning bars and legends, rooms per zone, the abstract plan of the CTA. Everything below overrides decoration. */
.px-house path[fill^="var(--px-"] { fill: #e3ecff; }
.px-house path[fill="#fff"] { fill: #fff; }
.px-hhero .px-finder .px-house path[fill^="var(--px-"] { fill: rgb(255 255 255 / .14); }
.px-hhero__title span { color: #8fb2ff; }
.px-pill i { background: var(--px-blue); }
.px-hhero .px-pill i { background: #8fb2ff; }
.px-hhero .px-finder a:hover { box-shadow: inset 0 0 0 2px #8fb2ff; }
.px-steps__list li { border-top: 0; }
.px-steps__n { background: var(--px-white); color: var(--px-deep); }
.px-figband li b { color: var(--px-white) !important; }
.px-figband li:first-child b { color: #8fb2ff !important; }
.px-incl__list li::after { background: var(--px-blue); }
.px-incl__n { color: var(--px-blue); }
.px-rich__items li { background: var(--px-bg); }
.px-rich__items li::before { background: var(--px-white); color: var(--px-blue); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-rich--dark .px-rich__items li { background: rgb(255 255 255 / .06); }
.px-rich--dark .px-rich__items li::before { background: #8fb2ff; box-shadow: none; }
.px-rich--dark .px-rich__n { color: #8fb2ff !important; }
.px-ctaband .px-eyebrow { color: #8fb2ff; }
.px-ctaband__steps li::before { background: var(--px-white); }
.px-btn--zi { background: var(--px-white); }
.px-btn--zi:hover { background: #dbe6ff; }
.px-ctaband__tel:hover { color: #8fb2ff; }
.px-footer > .px-stripe { display: none; }
.px-footer a:hover { color: #8fb2ff; }
.px-carousel__count b { color: var(--px-white); }
.px-dot[aria-current] { border-color: var(--px-white); }
.px-arrow:hover { background: var(--px-white); }
.px-postmeta a, .px-bcard .px-bcard__cat a { background: var(--px-soft); color: var(--px-deep); }
.px-phead__pic::before { background: var(--px-soft); }
.px-checks li::before { background: var(--px-soft); }
.px-prose ul li::before { background: var(--px-blue); width: 8px; height: 8px; top: .65em; border-radius: 50%; }
.px-prose blockquote { background: var(--px-soft); border-left-color: var(--px-blue); }
#cookie-law-info-bar #cookie_action_close_header, #cookie-law-info-bar .cli_action_button { background: var(--px-white) !important; }
.px-phero__cats a:hover { background: #dbe6ff; }

/* ── Mega menu, refined ─────────────────────────────────────────────────── */
.px-mega__h { display: flex; align-items: center; gap: 8px; padding-bottom: 10px; margin-bottom: 6px !important; border-bottom: 1px solid var(--px-line); color: var(--px-ink) !important; font-size: .8125rem !important; letter-spacing: .02em !important; text-transform: none !important; }
.px-mega__col a { padding: 6px 6px 6px 4px; gap: 10px; }
.px-mega__col .px-house { width: 30px; height: 22px; padding: 0; background: none; }
.px-mega__col small { min-width: 0; padding: 0; background: none; color: var(--px-mut); font-weight: 500; font-variant-numeric: tabular-nums; }
.px-mega__col a:hover { background: var(--px-bg); }
.px-mega__col a:hover small { color: var(--px-blue); }
.px-mega__feat { padding: 0; overflow: hidden; background: var(--px-ink); color: var(--px-white); border-radius: 20px; }
.px-mega__pic img { border-radius: 0; }
.px-mega__feat .px-mega__k, .px-mega__feat .px-mega__t, .px-mega__feat .px-zbar { margin-inline: 14px; }
.px-mega__feat .px-mega__k { margin-top: 4px; color: #8fb2ff; }
.px-mega__feat .px-mega__t { color: var(--px-white); }
.px-mega__feat .px-zbar { margin-bottom: 14px; }
.px-mega__feat:hover .px-mega__t { color: #8fb2ff; }
@media (min-width: 1024px) {
	.px-mega__in { grid-template-columns: 1fr 280px; padding: 30px 32px; }
	.px-mega__cols { gap: 0; }
	.px-mega__col { padding: 0 20px; border-left: 1px solid var(--px-line); }
	.px-mega__col:first-child { padding-left: 0; border-left: 0; }
}

/* Category chips: one scrolling row */
.px-main--projects .px-chips ul { flex-wrap: nowrap; overflow-x: auto; padding: 4px 2px 10px; scrollbar-width: thin; scroll-snap-type: x proximity; }
.px-main--projects .px-chips li { flex: none; scroll-snap-align: start; }
.px-main--projects .px-chips a { white-space: nowrap; }

/* ── Cookie settings window (cookie-law-info) ───────────────────────────── */
.cli-modal .cli-modal-dialog { max-width: 560px !important; }
.cli-modal .cli-modal-content { border-radius: 24px !important; overflow: hidden; font-family: inherit !important; box-shadow: 0 40px 80px rgb(10 16 30 / .35); }
.cli-modal .cli-modal-body { padding: 26px 26px 22px !important; color: var(--px-ink); }
.cli-modal .cli-privacy-overview h4 { margin: 0 0 8px !important; font-size: 1.25rem !important; font-weight: 700 !important; letter-spacing: -.02em; color: var(--px-ink) !important; }
.cli-modal .cli-privacy-content-text, .cli-modal .cli-privacy-content p { font-size: .875rem !important; line-height: 1.55 !important; color: var(--px-mut) !important; }
.cli-modal .cli-privacy-readmore { font-size: .8125rem !important; color: var(--px-blue) !important; }
.cli-modal .cli-tab-section { margin: 6px 0 0 !important; }
.cli-modal .cli-tab-header { padding: 12px 14px !important; border-radius: 14px !important; background: var(--px-bg) !important; font-size: .9375rem !important; }
.cli-modal .cli-tab-header a.cli-nav-link { color: var(--px-ink) !important; font-weight: 600 !important; }
.cli-modal .cli-necessary-caption { color: var(--px-blue) !important; font-size: .8125rem !important; font-weight: 600; }
.cli-modal .cli-switch input:checked + .cli-slider { background-color: var(--px-blue) !important; }
.cli-modal .cli-slider { background-color: #cfd6e4 !important; }
.cli-modal .cli-switch .cli-slider::after { font-size: .75rem !important; color: var(--px-mut) !important; }
.cli-modal .cli-modal-close { top: 14px !important; right: 14px !important; width: 36px; height: 36px; border-radius: 50% !important; background: var(--px-bg) !important; }
.cli-modal .cli-modal-close svg { fill: var(--px-ink) !important; }
.cli-modal .cli-modal-footer { padding: 0 26px 24px !important; }
.cli-modal .cli-tab-footer .wt-cli-privacy-accept-btn, .cli-modal .cli-tab-footer .cli-btn { min-height: 44px; padding: 0 22px !important; border-radius: 999px !important; background: var(--px-blue) !important; color: var(--px-white) !important; font-family: inherit !important; font-size: .9375rem !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
.cli-modal-backdrop.cli-show { background: rgb(12 18 32 / .6) !important; opacity: 1 !important; }

/* Breadcrumbs: one line */
.px-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; padding: 0; }
.px-crumbs li { display: inline-flex; align-items: center; gap: 8px; }
.px-crumbs li + li::before { content: ""; width: 5px; height: 5px; border: solid currentColor; border-width: 1.5px 1.5px 0 0; transform: rotate(45deg); opacity: .6; }
.px-crumbs li[aria-current] { color: var(--px-ink); font-weight: 600; max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Category hero: dark panel and a fanned deck of projects */
.px-chero { padding: 16px 0 0; background: var(--px-bg); }
.px-chero__grid { position: relative; display: grid; gap: 40px; align-items: center; padding: clamp(24px, 4vw, 56px); border-radius: 32px; background: var(--px-ink); color: var(--px-white); overflow: hidden; }
.px-chero__grid::before { content: ""; position: absolute; right: -140px; top: -180px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .5), transparent 64%); pointer-events: none; }
@media (min-width: 1024px) { .px-chero__grid { grid-template-columns: 1.1fr .9fr; gap: 56px; min-height: 440px; } }
.px-chero__text { position: relative; }
.px-chero .px-crumbs, .px-chero .px-crumbs a { color: #9aa5b8; }
.px-chero .px-crumbs li[aria-current] { color: var(--px-white); }
.px-chero__icon { display: inline-grid; place-items: center; width: 72px; height: 72px; margin: 8px 0 18px; border-radius: 20px; background: rgb(255 255 255 / .08); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14); }
.px-chero__icon .px-house { width: 48px; height: 36px; color: var(--px-white); }
.px-chero__icon .px-house path[fill^="var(--px-"] { fill: rgb(143 178 255 / .35); }
.px-chero__title { margin: 0; color: var(--px-white); font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); line-height: 1.03; letter-spacing: -.035em; max-width: 16ch; }
.px-chero__lead { margin: 18px 0 0; color: #c3cad8; font-size: 1.125rem; line-height: 1.6; max-width: 52ch; }
.px-chero__fig { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; }
.px-chero__fig li { padding: 8px 14px; border-radius: 999px; background: rgb(255 255 255 / .08); color: #c3cad8; font-size: .9375rem; }
.px-chero__fig b { color: var(--px-white); font-size: 1.0625rem; }
.px-chero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
.px-deck { position: relative; height: 360px; }
@media (max-width: 599px) { .px-deck { height: 300px; } }
.px-deck__card { position: absolute; inset: 20px 40px 0 40px; display: block; border-radius: 22px; overflow: hidden; background: var(--px-white); box-shadow: 0 30px 60px rgb(0 0 0 / .45); transition: transform .3s; }
.px-deck__card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.px-deck__card:nth-child(1):not(.is-top) { transform: rotate(-7deg) translate(-36px, 6px) scale(.92); opacity: .55; }
.px-deck__card:nth-child(2):not(.is-top) { transform: rotate(5deg) translate(34px, -4px) scale(.95); opacity: .75; }
.px-deck__card.is-top { z-index: 2; }
.px-deck:hover .px-deck__card.is-top { transform: translateY(-6px); }
.px-deck__info { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 10px; padding: 48px 16px 16px; background: linear-gradient(transparent, rgb(12 18 32 / .9)); color: var(--px-white); }
.px-deck__t { font-size: 1.1875rem; font-weight: 700; letter-spacing: -.02em; }
.px-deck__info .px-facts li { background: rgb(255 255 255 / .16); color: var(--px-white); }
.px-main--projects > .px-section { padding-top: 40px; }

/* Blog: only the first entry is featured */
.px-loop .px-bcard:first-child { grid-column: auto; }
.px-loop .wp-block-post-template > li { display: flex; }
.px-loop .wp-block-post-template > li > .px-bcard { flex: 1; }
.px-loop .wp-block-post-template > li:first-child { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.px-loop .px-bcard:first-child { display: flex; grid-template-columns: none; padding: 0 0 18px; }
	.px-loop .px-bcard:first-child .wp-block-post-featured-image { grid-row: auto; border-radius: 20px 20px 0 0; }
	.px-loop .px-bcard:first-child .wp-block-post-featured-image img { height: auto; aspect-ratio: 16 / 10; min-height: 0; }
	.px-loop .px-bcard:first-child .px-bcard__cat { margin: 14px 18px 0 !important; }
	.px-loop .px-bcard:first-child .px-bcard__title { margin: 10px 18px 0 !important; font-size: 1.1875rem; letter-spacing: -.015em; }
	.px-loop .px-bcard:first-child .px-bcard__more { margin: auto 18px 0 !important; }
	.px-loop .wp-block-post-template > li:first-child .px-bcard { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: auto auto 1fr; padding: 0; }
	.px-loop .wp-block-post-template > li:first-child .wp-block-post-featured-image { grid-row: 1 / 4; border-radius: 20px 0 0 20px; }
	.px-loop .wp-block-post-template > li:first-child .wp-block-post-featured-image img { height: 100%; aspect-ratio: auto; min-height: 360px; }
	.px-loop .wp-block-post-template > li:first-child .px-bcard__cat { margin: 36px 36px 0 !important; }
	.px-loop .wp-block-post-template > li:first-child .px-bcard__title { margin: 14px 36px 0 !important; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem); letter-spacing: -.03em; }
	.px-loop .wp-block-post-template > li:first-child .px-bcard__more { margin: 20px 36px 36px !important; align-self: end; }
}
.px-bcard .px-bcard__title a { color: var(--px-ink); }
.px-bcard .px-bcard__title a:hover { color: var(--px-blue); }
.px-bcard__more { white-space: nowrap; }


/* ── Orange accent (owner, 2026-10-23: « i need that color ») ───────────────
 * #FFD89C on dark surfaces (titles, eyebrows, numbers, CTA buttons); #B4600A as text on light surfaces. */
:root { --px-orange: #ffd89c; --px-orange-text: #b4600a; --px-orange-deep: #f2a54a; }
.px-hhero__title span, .px-contact__title span { color: var(--px-orange); }
.px-hhero .px-pill i { background: var(--px-orange); }
.px-hhero .px-finder a:hover { box-shadow: inset 0 0 0 2px var(--px-orange); }
.px-chero .px-eyebrow, .px-ctaband .px-eyebrow, .px-steps .px-eyebrow, .px-contact .px-eyebrow { color: var(--px-orange); }
.px-rich--dark .px-rich__n { color: var(--px-orange) !important; }
.px-rich--dark .px-rich__items li::before { background: var(--px-orange); }
.px-figband li:first-child b { color: var(--px-orange) !important; }
.px-mega__feat .px-mega__k { color: var(--px-orange); }
.px-btn--zi, .px-btn--accent { background: var(--px-orange); color: var(--px-ink); }
.px-btn--zi:hover, .px-btn--accent:hover { background: var(--px-orange-deep); color: var(--px-ink); box-shadow: none; }
.px-footer a:hover, .px-ctaband__tel:hover { color: var(--px-orange); }
.px-rich__n { color: var(--px-orange-text) !important; }

/* ── Category chips bar + « all categories » dialog ─────────────────────── */
.px-chips--bar ul { flex-wrap: wrap !important; overflow: visible !important; }
.px-chips__all { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 6px 16px; border: 0; border-radius: 999px; background: var(--px-ink); color: var(--px-white); font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; }
.px-chips__all span { padding: 1px 8px; border-radius: 999px; background: var(--px-orange); color: var(--px-ink); font-size: .75rem; }
.px-dialog { width: min(960px, calc(100% - 24px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 28px; background: var(--px-white); color: var(--px-ink); box-shadow: 0 40px 80px rgb(10 16 30 / .35); }
.px-dialog::backdrop { background: rgb(12 18 32 / .6); backdrop-filter: blur(3px); }
.px-dialog__head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; background: var(--px-white); border-bottom: 1px solid var(--px-line); }
.px-dialog__t { margin: 0; font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.px-dialog__x { position: relative; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--px-bg); cursor: pointer; }
.px-dialog__x::before, .px-dialog__x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; background: var(--px-ink); transform: translate(-50%, -50%) rotate(45deg); }
.px-dialog__x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.px-dialog .px-catgroups { padding: 20px 24px 28px; }

/* Grouped categories (dialog, home, hub) */
.px-catgroups { display: grid; gap: 20px; }
@media (min-width: 700px) { .px-catgroups { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .px-catgroups--cards { grid-template-columns: repeat(3, 1fr); } }
.px-catgroups__g h3 { margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--px-line); font-size: .9375rem; }
.px-catgroups ul { list-style: none; display: grid; gap: 2px; margin: 0; padding: 0; }
.px-catgroups a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 12px; color: var(--px-ink); text-decoration: none; transition: background .15s; }
.px-catgroups a:hover, .px-catgroups a[aria-current] { background: var(--px-bg); }
.px-catgroups a[aria-current] { box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-catgroups .px-house { width: 32px; height: 24px; }
.px-catgroups__n { display: grid; font-weight: 600; line-height: 1.3; }
.px-catgroups__n small { font-weight: 400; font-size: .8125rem; color: var(--px-mut); }
.px-catgroups__c { margin-left: auto; min-width: 30px; padding: 2px 8px; border-radius: 999px; background: var(--px-soft); color: var(--px-mut); font-size: .8125rem; font-weight: 600; text-align: center; }
.px-catgroups--cards .px-catgroups__g { padding: 20px; border-radius: 24px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-catgroups--cards h3 { font-size: 1.0625rem; }

/* ── Rich sections: photos, side column ─────────────────────────────────── */
.px-rich__side { display: grid; gap: 16px; align-content: start; }
.px-rich__photo { position: relative; margin: 0; border-radius: 22px; overflow: hidden; }
.px-rich__photo img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.px-rich__photo figcaption { position: absolute; left: 12px; bottom: 12px; padding: 5px 12px; border-radius: 999px; background: rgb(255 255 255 / .92); font-size: .8125rem; font-weight: 600; }
.px-rich__head { display: block; }
.px-rich--cards .px-rich__side { grid-template-columns: 1fr; }
@media (min-width: 1024px) { .px-rich--cards .px-rich__side { grid-template-columns: .9fr 1.1fr; align-items: start; gap: 24px; } .px-rich--cards .px-rich__side .px-rich__items { grid-template-columns: 1fr; } }
.px-rich__items li p { margin: 0; }

/* ── Contact ────────────────────────────────────────────────────────────── */
.px-contact { padding: 16px 0 0; background: var(--px-bg); }
.px-contact__grid { position: relative; display: grid; gap: 36px; padding: clamp(24px, 4vw, 56px); border-radius: 32px; background: var(--px-ink); color: var(--px-white); overflow: hidden; }
.px-contact__grid::before { content: ""; position: absolute; left: -160px; top: -180px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .5), transparent 64%); pointer-events: none; }
@media (min-width: 1024px) { .px-contact__grid { grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; } }
.px-contact__text { position: relative; }
.px-contact .px-crumbs, .px-contact .px-crumbs a { color: #9aa5b8; }
.px-contact .px-crumbs li[aria-current] { color: var(--px-white); }
.px-contact__title { margin: 0; color: var(--px-white); font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); line-height: 1.03; letter-spacing: -.035em; max-width: 14ch; }
.px-contact__lead { margin: 18px 0 0; color: #c3cad8; font-size: 1.125rem; max-width: 50ch; }
.px-contact .px-offices { display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.px-contact .px-office { display: grid; grid-template-columns: auto 1fr; gap: 2px 16px; align-items: baseline; padding: 14px 18px; border-radius: 18px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); }
.px-office__city { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--px-orange); }
.px-contact .px-office__tel { font-size: 1.375rem; font-weight: 700; color: var(--px-white); text-decoration: none; }
.px-contact .px-office__tel:hover { color: var(--px-orange); }
.px-office__addr { grid-column: 1 / -1; font-size: .875rem; color: #9aa5b8; }
.px-contact__form { position: relative; padding: clamp(20px, 3vw, 32px); border-radius: 24px; background: var(--px-white); color: var(--px-ink); box-shadow: 0 30px 60px rgb(0 0 0 / .3); }
.px-contact__ft { margin: 0; font-size: 1.375rem; font-weight: 700; letter-spacing: -.02em; }
.px-contact__fs { margin: 4px 0 18px; color: var(--px-mut); font-size: .9375rem; }
.px-ways { list-style: none; display: grid; gap: 16px; margin: 0; padding: 0; }
@media (min-width: 900px) { .px-ways { grid-template-columns: repeat(3, 1fr); } }
.px-ways li { position: relative; padding: 26px; border-radius: 24px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-ways__n { position: absolute; right: 22px; top: 18px; font-size: 2rem; font-weight: 800; letter-spacing: -.04em; color: var(--px-soft); }
.px-ways h2 { margin: 14px 0 8px; font-size: 1.25rem; letter-spacing: -.02em; }
.px-ways p { margin: 0 0 14px; color: var(--px-mut); }
.px-ways a { font-weight: 600; text-decoration: none; }
.px-ways a::after { content: " →"; }

/* Fluent Forms layout (both forms) */
.frm-fluent-form .ff-el-group { margin-bottom: 16px !important; }
@media (min-width: 600px) {
	.frm-fluent-form > fieldset, form.frm-fluent-form { display: flex; flex-wrap: wrap; column-gap: 16px; }
	form.frm-fluent-form > * { flex: 1 1 100%; }
	form.frm-fluent-form .px-half { flex: 1 1 calc(50% - 8px); }
}
.frm-fluent-form .ff-el-input--label label { font-weight: 600 !important; font-size: .9375rem; }
.frm-fluent-form .ff-el-form-control { border: 1px solid #d5dbe8 !important; border-radius: 12px !important; background: var(--px-white) !important; min-height: 48px; font: inherit !important; }
.frm-fluent-form textarea.ff-el-form-control { min-height: 120px; }
.frm-fluent-form .ff-el-form-control:focus { border-color: var(--px-blue) !important; box-shadow: 0 0 0 4px rgb(42 100 219 / .15) !important; }
.frm-fluent-form .ff_t_c, .frm-fluent-form .ff-el-tc label { font-size: .875rem; color: var(--px-mut); }
.frm-fluent-form .ff-btn-submit { min-height: 52px; padding: 0 30px !important; border: 0 !important; border-radius: 999px !important; background: var(--px-blue) !important; color: var(--px-white) !important; font: inherit !important; font-weight: 600 !important; }
.frm-fluent-form .ff-btn-submit:hover { background: var(--px-deep) !important; }
.frm-fluent-form .error.text-danger { font-size: .8125rem; color: #b3261e; }

/* ── Blog: dark hero, category pills, magazine loop ─────────────────────── */
.px-chero__grid--one { min-height: 0 !important; grid-template-columns: 1fr !important; }
.px-chero--blog .px-chero__title { max-width: 20ch; }
.px-chero__search { margin-top: 26px; max-width: 520px; }
.px-chero__search .search-field { background: var(--px-white) !important; border-color: transparent; color: var(--px-ink) !important; }
.px-chero__search .search-field::placeholder { color: var(--px-mut); }
.px-chero__search .search-submit { background: var(--px-orange); color: var(--px-ink); }
.px-blogcats { margin-top: 18px; }
.px-blogcats ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.px-blogcats a { display: inline-flex; gap: 8px; padding: 8px 16px; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-ink); text-decoration: none; font-weight: 600; font-size: .9375rem; }
.px-blogcats a span { color: var(--px-mut); font-weight: 500; }
.px-blogcats a:hover { box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-blogcats a[aria-current] { background: var(--px-ink); color: var(--px-white); box-shadow: none; }
.px-blogcats a[aria-current] span { color: var(--px-orange); }
.px-pc { position: relative; display: flex; flex-direction: column; border-radius: 22px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.px-pc:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--px-line), var(--px-shadow); }
.px-pc__pic { display: block; overflow: hidden; }
.px-pc__pic img, .px-pc__pic .px-noimg { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s; }
.px-pc:hover .px-pc__pic img { transform: scale(1.04); }
.px-pc__body { display: grid; gap: 8px; padding: 18px 20px 22px; }
.px-pc__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: .8125rem; color: var(--px-mut); }
.px-pc__meta span { padding: 3px 10px; border-radius: 999px; background: var(--px-soft); color: var(--px-deep); font-weight: 700; }
.px-pc__title { margin: 0; font-size: 1.1875rem; line-height: 1.3; letter-spacing: -.015em; }
.px-pc__title a { color: var(--px-ink); text-decoration: none; }
.px-pc__title a::after { content: ""; position: absolute; inset: 0; }
.px-pc:hover .px-pc__title a { color: var(--px-blue); }
.px-pc__lead { margin: 4px 0 0; color: #3c4558; }
.px-pc__more { font-weight: 600; color: var(--px-blue); }
.px-pc__more::after { content: " →"; }
.px-pfeat { display: grid; gap: 24px; margin-bottom: 24px; }
@media (min-width: 1024px) { .px-pfeat { grid-template-columns: 1.5fr 1fr; } }
.px-pc--lg .px-pc__pic img { aspect-ratio: 16 / 9; }
.px-pc--lg .px-pc__body { padding: 24px 28px 28px; }
.px-pc--lg .px-pc__title { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.25rem); letter-spacing: -.03em; line-height: 1.12; }
.px-pfeat__side { display: grid; gap: 24px; }
@media (min-width: 600px) and (max-width: 1023px) { .px-pfeat__side { grid-template-columns: 1fr 1fr; } }
.px-pgrid2 { display: grid; gap: 24px; }
@media (min-width: 600px) { .px-pgrid2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .px-pgrid2 { grid-template-columns: repeat(3, 1fr); } }
.px-main--list > .px-section { padding-top: 40px; }

/* ── Home steps: timeline on deep blue ──────────────────────────────────── */
.px-steps__head { max-width: 640px; margin-bottom: 40px; }
.px-steps__head h2 { margin: 0 0 10px; color: var(--px-white); font-size: clamp(1.75rem, 1.2rem + 2vw, 3rem); letter-spacing: -.035em; line-height: 1.05; }
.px-steps__head p:not(.px-eyebrow) { margin: 0 0 24px; color: #c9d6f5; font-size: 1.125rem; }
.px-steps__list { position: relative; gap: 0 !important; }
.px-steps__list li { display: flex; gap: 18px; padding: 0 0 28px !important; background: none !important; box-shadow: none !important; border: 0 !important; position: relative; }
.px-steps__list li::before { content: ""; position: absolute; left: 27px; top: 56px; bottom: 0; width: 2px; background: rgb(255 255 255 / .18); }
.px-steps__list li:last-child::before { display: none; }
.px-steps__n { flex: none; width: 56px !important; height: 56px !important; border-radius: 50% !important; background: var(--px-orange) !important; color: var(--px-ink) !important; font-size: 1.125rem !important; font-weight: 800 !important; }
.px-steps__list h3 { margin: 12px 0 6px !important; }
@media (min-width: 1024px) {
	.px-steps .px-wrap { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }
	.px-steps__list { grid-template-columns: 1fr 1fr !important; gap: 8px 32px !important; }
	.px-steps__list li { padding: 22px !important; border-radius: 22px; background: rgb(255 255 255 / .06) !important; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12) !important; flex-direction: column; gap: 12px; }
	.px-steps__list li::before { display: none; }
}

/* Cookie settings: button text centred */
.cli-modal .cli-tab-footer .wt-cli-privacy-accept-btn, .cli-modal .cli-tab-footer .cli-btn { display: inline-flex !important; align-items: center; justify-content: center; line-height: 1 !important; padding-block: 0 !important; height: 46px; }
.cli-modal .cli-tab-footer { display: flex; justify-content: flex-end; }
.cli-modal .cli-privacy-content-text { max-height: none !important; }


/* ── Full-width dark heroes (category, blog, contact), like the home hero ── */
.px-chero, .px-contact { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 48px) 0 clamp(44px, 6vw, 80px); background: var(--px-ink); color: var(--px-white); }
.px-chero::before, .px-contact::before { content: ""; position: absolute; right: -160px; top: -220px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .5), transparent 62%); pointer-events: none; }
.px-chero::after, .px-contact::after { content: ""; position: absolute; left: -220px; bottom: -280px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgb(255 216 156 / .14), transparent 62%); pointer-events: none; }
.px-chero__grid, .px-contact__grid { padding: 0 !important; border-radius: 0 !important; background: none !important; overflow: visible !important; }
.px-chero__grid::before, .px-contact__grid::before { display: none; }
.px-chero .px-wrap, .px-contact .px-wrap { position: relative; z-index: 1; }
/* blog category pills on the dark hero */
.px-chero .px-blogcats { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgb(255 255 255 / .12); }
.px-chero .px-blogcats a { background: rgb(255 255 255 / .07); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14); color: var(--px-white); }
.px-chero .px-blogcats a span { color: #9aa5b8; }
.px-chero .px-blogcats a:hover { box-shadow: inset 0 0 0 2px var(--px-orange); }
.px-chero .px-blogcats a[aria-current] { background: var(--px-orange); color: var(--px-ink); }
.px-chero .px-blogcats a[aria-current] span { color: var(--px-ink); }
.px-chero--blog .px-chero__title { font-size: clamp(2.5rem, 1.4rem + 4vw, 4.25rem); }
.px-chero--blog .px-chero__grid { padding-top: 8px !important; }

/* ── Pagination ─────────────────────────────────────────────────────────── */
.px-pagination { display: flex; justify-content: center; margin-top: 48px; }
.px-pagination ul { display: inline-flex !important; flex-wrap: wrap; align-items: center; gap: 4px !important; padding: 6px !important; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-pagination li { display: flex; }
.px-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border-radius: 999px; background: transparent !important; box-shadow: none !important; color: var(--px-ink); font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.px-pagination a.page-numbers:hover { background: var(--px-soft) !important; color: var(--px-blue); }
.px-pagination .page-numbers.current { background: var(--px-ink) !important; color: var(--px-white); }
.px-pagination .page-numbers.dots { min-width: 24px; padding: 0 4px; color: var(--px-mut); }
.px-pagination .prev, .px-pagination .next { gap: 8px; padding: 0 18px; background: var(--px-soft) !important; }
.px-pagination .prev::before { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 0 0 2px 2px; transform: rotate(45deg); }
.px-pagination .next::after { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
@media (max-width: 599px) { .px-pagination .page-numbers:not(.prev):not(.next):not(.current) { display: none; } }


/* ── All heroes full-width dark (owner: « all the hero sections ») ──────── */
.px-hero--page, .px-hero--404, .px-phero, .px-phead { position: relative; overflow: hidden; background: var(--px-ink) !important; color: var(--px-white); border-bottom: 0 !important; }
.px-hero--page::before, .px-hero--404::before, .px-phero::before, .px-phead::before { content: ""; position: absolute; right: -160px; top: -220px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .5), transparent 62%); pointer-events: none; }
.px-hero--page > .px-wrap, .px-hero--404 > .px-wrap, .px-phero > .px-wrap, .px-phead > .px-wrap { position: relative; z-index: 1; }
.px-hero--page, .px-hero--404 { padding-block: clamp(28px, 4vw, 48px) clamp(48px, 6vw, 88px); }
.px-hero--page .px-hero__title, .px-hero--404 .px-hero__title, .px-phero__title, .px-phead__title { color: var(--px-white); }
.px-hero--page .px-hero__lead, .px-hero--404 .px-hero__lead, .px-phead__lead { color: #c3cad8; }
.px-hero--page .px-eyebrow, .px-hero--404 .px-eyebrow { color: var(--px-orange); }
.px-hero--page .px-stripe { display: none; }
.px-hero--page .px-crumbs, .px-hero--page .px-crumbs a, .px-hero--404 .px-crumbs a, .px-phero .px-crumbs, .px-phero .px-crumbs a, .px-phead .px-crumbs, .px-phead .px-crumbs a { color: #9aa5b8; }
.px-hero--page .px-crumbs li[aria-current], .px-phero .px-crumbs li[aria-current], .px-phead .px-crumbs li[aria-current] { color: var(--px-white); }
.px-hero__big .px-house { color: var(--px-white); }
.px-hero__big .px-house path[fill^="var(--px-"] { fill: rgb(255 216 156 / .35); }
/* project hero on dark */
.px-phero { padding-block: 24px 56px; }
.px-phero .px-gallery { box-shadow: 0 30px 60px rgb(0 0 0 / .4); }
.px-phero .px-badge--lg { background: rgb(255 255 255 / .1); color: var(--px-orange); box-shadow: none; }
.px-phero .px-facts li { background: rgb(255 255 255 / .08); color: #dbe2ee; }
.px-phero .px-facts b { color: var(--px-white); }
.px-phero__zones { background: rgb(255 255 255 / .06) !important; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1) !important; }
.px-phero__zones .px-label, .px-phero__zones .px-zleg { color: #aab4c6; }
.px-phero__zones .px-zleg b { color: var(--px-white); }
.px-phero .px-btn--soft { background: transparent; color: var(--px-white); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .35); }
.px-phero .px-btn--soft:hover { color: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-white); }
.px-phero__cats a { background: rgb(255 255 255 / .08); color: #dbe2ee; }
.px-phero__cats a:hover { background: var(--px-orange); color: var(--px-ink); }
.px-figband { border-top: 1px solid #2c374d; }
/* article hero on dark */
.px-phead { padding-block: 24px clamp(48px, 6vw, 80px); }
.px-phead .px-postmeta { color: #9aa5b8; }
.px-phead .px-postmeta a { background: rgb(255 255 255 / .1); color: var(--px-orange); }
.px-phead__pic::before { background: var(--px-orange); opacity: .9; }

/* ── Plans and rooms ────────────────────────────────────────────────────── */
.px-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-bottom: 18px; padding: 5px; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-seg__b { min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--px-ink); font: inherit; font-weight: 600; cursor: pointer; }
.px-seg__b:hover { color: var(--px-blue); }
.px-seg__b[aria-selected="true"] { background: var(--px-ink); color: var(--px-white); }
.px-plans__panel { display: grid; gap: 20px; }
@media (min-width: 1024px) { .px-plans__panel { grid-template-columns: 1.5fr 1fr; align-items: stretch; } .px-plans__panel.is-wide { grid-template-columns: 1fr; } }
.px-plans__pic { display: grid; gap: 12px; padding: 18px; border-radius: 26px; background: var(--px-white) var(--px-grid, none); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-plans__img { position: relative; display: block; border-radius: 16px; overflow: hidden; background: var(--px-white); }
.px-plans__img img { display: block; width: 100%; height: auto; max-height: 640px; object-fit: contain; transition: transform .3s; }
.px-plans__img:hover img { transform: scale(1.02); }
.px-plans__zoom { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--px-ink); color: var(--px-white); font-size: .8125rem; font-weight: 600; }
.px-plans__zoom::before { content: ""; width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; }
.px-plans__none { display: grid; justify-items: center; gap: 12px; padding: 56px 24px; text-align: center; color: var(--px-mut); }
.px-plans__none .px-house { width: 72px; height: 54px; }
.px-plans__rooms { display: flex; flex-direction: column; padding: 22px; border-radius: 26px; background: var(--px-ink); color: var(--px-white); box-shadow: none; }
.px-plans__rh { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 14px; margin-bottom: 8px; border-bottom: 1px solid #2c374d; }
.px-plans__rh span { font-size: 1.25rem; font-weight: 700; }
.px-plans__rh b { font-size: 1.75rem; letter-spacing: -.03em; color: var(--px-orange); }
.px-plans__rooms ul { list-style: none; display: grid; gap: 2px; margin: 0 0 16px; padding: 0; }
.px-plans__rooms li { display: flex; align-items: center; gap: 12px; padding: 10px 6px; border-bottom: 1px solid rgb(255 255 255 / .06); font-size: .9375rem; }
.px-plans__rooms li::before { content: ""; flex: none; width: 12px; height: 12px; border-radius: 4px; background: var(--c); }
.px-plans__rooms li span { color: #dbe2ee; }
.px-plans__rooms li b { margin-left: auto; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.px-plans__rooms .px-zleg { margin-top: auto; padding-top: 12px; color: #9aa5b8; }

.px-plans__rooms ul.px-zleg { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: auto 0 0; padding-top: 14px; border-top: 1px solid #2c374d; }
.px-plans__rooms ul.px-zleg li { padding: 0; border: 0; font-size: .75rem; color: #9aa5b8; }
.px-plans__rooms ul.px-zleg li::before { width: 8px; height: 8px; border-radius: 3px; }

/* blog feature: the large card fills the height of the two side cards */
@media (min-width: 1024px) {
	.px-pfeat { align-items: stretch; }
	.px-pc--lg { height: 100%; }
	.px-pc--lg .px-pc__pic { flex: 1 1 auto; min-height: 280px; position: relative; }
	.px-pc--lg .px-pc__pic img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
	.px-pfeat__side { grid-template-rows: 1fr 1fr; }
	.px-pc--sm { height: 100%; }
	.px-pc--sm .px-pc__pic { flex: 1 1 auto; position: relative; min-height: 150px; }
	.px-pc--sm .px-pc__pic img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
}
.px-pc__title a { color: var(--px-ink) !important; }
.px-pc:hover .px-pc__title a { color: var(--px-blue) !important; }


/* ── Home sections (team, layers, grid) ─────────────────────────────────── */
.px-richwrap--home { gap: clamp(56px, 7vw, 96px); }
.px-hs { display: grid; gap: 32px; scroll-margin-top: 100px; }
@media (min-width: 1024px) { .px-hs { grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; } .px-hs__text { position: sticky; top: 110px; } }
.px-hs__text p { margin: 0 0 1em; font-size: 1.0625rem; line-height: 1.7; color: #3c4558; }
.px-hs .px-rich__h { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem); max-width: 18ch; }
.px-hs__list { list-style: none; display: grid; gap: 16px; margin: 0; padding: 0; }
.px-hs__list li { display: flex; gap: 18px; align-items: flex-start; padding: 24px; border-radius: 24px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); transition: transform .2s, box-shadow .2s; }
.px-hs__list li:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--px-line), var(--px-shadow); }
.px-hs__list h3 { margin: 0 0 6px; font-size: 1.25rem; letter-spacing: -.02em; }
.px-hs__list p { margin: 0; color: var(--px-mut); line-height: 1.6; }
.px-hs__mark { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--px-ink); color: var(--px-orange); font-size: 1.375rem; font-weight: 800; letter-spacing: -.02em; }
/* team: three specialists */
.px-hs--team .px-hs__list li:nth-child(2) .px-hs__mark { background: var(--px-blue); color: var(--px-white); }
.px-hs--team .px-hs__list li:nth-child(3) .px-hs__mark { background: var(--px-orange); color: var(--px-ink); }
/* layers: the three parts of the file, as stacked sheets */
@media (min-width: 1024px) {
	.px-hs--layers .px-hs__list { gap: 0; padding: 16px 0 0 0; }
	.px-hs--layers .px-hs__list li { position: relative; margin-top: -14px; padding: 28px 28px 34px; border-radius: 24px; box-shadow: 0 -1px 0 var(--px-line), 0 18px 40px rgb(23 32 51 / .08); }
	.px-hs--layers .px-hs__list li:nth-child(1) { margin-left: 0; margin-right: 48px; z-index: 1; background: var(--px-white); }
	.px-hs--layers .px-hs__list li:nth-child(2) { margin-left: 24px; margin-right: 24px; z-index: 2; background: #f9fbff; }
	.px-hs--layers .px-hs__list li:nth-child(3) { margin-left: 48px; z-index: 3; background: var(--px-ink); }
	.px-hs--layers .px-hs__list li:nth-child(3) h3 { color: var(--px-white); }
	.px-hs--layers .px-hs__list li:nth-child(3) p { color: #c3cad8; }
	.px-hs--layers .px-hs__list li:nth-child(3) .px-hs__mark { background: var(--px-orange); color: var(--px-ink); }
	.px-hs--layers .px-hs__list li:hover { transform: translateX(6px); }
}
/* grid: services 2 × 2 */
@media (min-width: 700px) { .px-hs--grid .px-hs__list { grid-template-columns: 1fr 1fr; } .px-hs--grid .px-hs__list li { flex-direction: column; } }
.px-hs--grid .px-hs__mark { width: 48px; height: 48px; border-radius: 14px; font-size: 1rem; background: var(--px-soft); color: var(--px-blue); }
.px-hs--grid .px-hs__list li:first-child { background: var(--px-ink); box-shadow: none; }
.px-hs--grid .px-hs__list li:first-child h3 { color: var(--px-white); }
.px-hs--grid .px-hs__list li:first-child p { color: #c3cad8; }
.px-hs--grid .px-hs__list li:first-child .px-hs__mark { background: var(--px-orange); color: var(--px-ink); }

/* ── Lightbox (plans, project gallery) ──────────────────────────────────── */
.px-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgb(12 18 32 / .96); color: var(--px-white); }
.px-lightbox::backdrop { background: rgb(12 18 32 / .8); }
.px-lightbox__bar { position: absolute; z-index: 2; left: 0; right: 0; top: 0; display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: linear-gradient(rgb(12 18 32 / .9), transparent); }
.px-lightbox__t { flex: 1; font-weight: 600; font-size: .9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.px-lightbox__zoom { min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--px-orange); color: var(--px-ink); font: inherit; font-weight: 600; cursor: pointer; }
.px-lightbox .px-dialog__x { background: rgb(255 255 255 / .12); }
.px-lightbox .px-dialog__x::before, .px-lightbox .px-dialog__x::after { background: var(--px-white); }
.px-lightbox__stage { position: absolute; inset: 0; overflow: auto; display: grid; place-items: center; padding: 70px 20px 20px; box-sizing: border-box; }
.px-lightbox__stage img { display: block; max-width: 100%; max-height: calc(100vh - 100px); background: var(--px-white); border-radius: 12px; cursor: zoom-in; }
.px-lightbox.is-zoomed .px-lightbox__stage { place-items: start; }
.px-lightbox.is-zoomed .px-lightbox__stage img { max-width: none; max-height: none; width: 220%; cursor: zoom-out; }
@media (min-width: 1024px) { .px-lightbox.is-zoomed .px-lightbox__stage img { width: 160%; } }
.px-gallery__main, .px-plans__img { cursor: zoom-in; }

.frm-fluent-form fieldset { display: flex; flex-wrap: wrap; column-gap: 16px; margin: 0; padding: 0; border: 0; min-width: 0; }
.frm-fluent-form fieldset > * { flex: 1 1 100%; }
@media (min-width: 600px) { .frm-fluent-form fieldset > .px-half { flex: 1 1 calc(50% - 8px); } }
.frm-fluent-form .px-captcha { max-width: 320px; }


/* ── Article and page typography ────────────────────────────────────────── */
.px-prose--post { font-size: clamp(1.0625rem, 1rem + .3vw, 1.1875rem); line-height: 1.8; color: #263042; }
.px-prose--post > * + * { margin-top: 1.25em; }
.px-prose--post p { margin-block: 0; }
.px-prose--post > p:first-child { font-size: 1.25em; line-height: 1.65; color: var(--px-ink); }
.px-prose--post h2 { margin-top: 2.4em !important; padding-top: 0; border-top: 0; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.125rem); line-height: 1.18; letter-spacing: -.03em; color: var(--px-ink); position: relative; }
.px-prose--post h2::before { content: ""; display: block; width: 44px; height: 4px; margin-bottom: 18px; border-radius: 4px; background: var(--px-orange); }
.px-prose--post h3 { margin-top: 1.9em !important; font-size: 1.3125rem; line-height: 1.3; letter-spacing: -.015em; color: var(--px-ink); }
.px-prose--post h4 { margin-top: 1.6em !important; font-size: 1.0625rem; }
.px-prose--post a { color: var(--px-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.px-prose--post strong { color: var(--px-ink); }
.px-prose--post ul, .px-prose--post ol { padding-left: 0; list-style: none; display: grid; gap: .55em; }
.px-prose--post ul li { position: relative; padding-left: 28px; margin: 0; }
.px-prose--post ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--px-blue); }
.px-prose--post ol { counter-reset: px-ol; }
.px-prose--post ol li { position: relative; padding-left: 40px; counter-increment: px-ol; }
.px-prose--post ol li::before { content: counter(px-ol); position: absolute; left: 0; top: .15em; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--px-soft); color: var(--px-blue); font-size: .8125rem; font-weight: 800; }
.px-prose--post blockquote { margin: 1.8em 0; padding: 22px 26px; border: 0; border-radius: 20px; background: var(--px-ink); color: #dbe2ee; font-size: 1.125em; }
.px-prose--post blockquote p { color: inherit; }
.px-prose--post figure, .px-prose--post .wp-block-image { margin-block: 2em; }
.px-prose--post img { border-radius: 20px; }
.px-prose--post figcaption { margin-top: 10px; font-size: .875rem; color: var(--px-mut); text-align: center; }
.px-prose--post table { font-size: .9375rem; border-radius: 16px; overflow: hidden; }
.px-prose--post hr { border: 0; height: 1px; background: var(--px-line); margin-block: 2.5em; }
.px-prose--page { padding: clamp(24px, 4vw, 56px); border-radius: 28px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-prose--page > p:first-child { font-size: 1.125em; }
.px-main--page .px-article { padding-top: 40px; }

/* ── Fallback visual (no featured image) ────────────────────────────────── */
.px-fallback { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-height: 180px; aspect-ratio: 16 / 10; padding: 18px; box-sizing: border-box; background: var(--px-ink); overflow: hidden; }
.px-fallback::before { content: ""; position: absolute; right: -80px; top: -100px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .5), transparent 64%); }
.px-fallback .px-aplan { position: relative; width: min(78%, 340px); grid-template-rows: repeat(5, minmax(18px, 1fr)); aspect-ratio: 6 / 5; transform: rotate(-3deg); }
.px-fallback .px-aplan span { font-size: .625rem; padding: 4px 6px; }
.px-fallback__l { position: absolute; left: 14px; bottom: 12px; padding: 4px 12px; border-radius: 999px; background: var(--px-orange); color: var(--px-ink); font-size: .75rem; font-weight: 700; }
.px-phead__pic .px-fallback { border-radius: 24px; aspect-ratio: 4 / 3; position: relative; }

/* ── Blog hero: « Cele mai citite » ─────────────────────────────────────── */
@media (min-width: 1024px) { .px-chero--blog .px-chero__grid { grid-template-columns: 1.15fr .85fr; align-items: center; } }
.px-pop { position: relative; padding: 20px; border-radius: 24px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); backdrop-filter: blur(8px); }
.px-pop__h { margin: 0 0 10px; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--px-orange); }
.px-pop ol { list-style: none; display: grid; gap: 4px; margin: 0; padding: 0; }
.px-pop a { display: grid; grid-template-columns: auto 56px 1fr; align-items: center; gap: 12px; padding: 8px; border-radius: 14px; color: var(--px-white); text-decoration: none; transition: background .15s; }
.px-pop a:hover { background: rgb(255 255 255 / .08); }
.px-pop__n { font-size: .875rem; font-weight: 800; color: #6b7891; }
.px-pop__pic img { display: block; width: 56px; height: 56px; object-fit: cover; border-radius: 12px; }
.px-pop__pic:empty { width: 56px; height: 56px; border-radius: 12px; background: rgb(255 255 255 / .1); }
.px-pop__t { font-size: .9375rem; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }


/* ── Empty state ────────────────────────────────────────────────────────── */
.px-emptybox { display: grid; gap: 32px; align-items: center; padding: clamp(28px, 5vw, 56px); border-radius: 28px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
@media (min-width: 900px) { .px-emptybox { grid-template-columns: 260px 1fr; gap: 56px; } }
.px-emptybox__art { position: relative; display: grid; place-items: center; aspect-ratio: 1; border-radius: 32px; background: var(--px-ink); overflow: hidden; }
.px-emptybox__art::before { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .55), transparent 64%); }
.px-emptybox__art .px-house { position: relative; width: 60%; height: auto; color: var(--px-white); }
.px-emptybox__art .px-house path[fill^="var(--px-"] { fill: rgb(255 216 156 / .35); }
.px-emptybox__q { position: absolute; right: 22%; top: 18%; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--px-orange); color: var(--px-ink); font-size: 1.5rem; font-weight: 800; }
.px-emptybox h2 { margin: 0 0 10px; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.25rem); letter-spacing: -.03em; }
.px-emptybox__text > p { margin: 0 0 20px; color: #3c4558; font-size: 1.0625rem; max-width: 60ch; }
.px-emptybox .search-form { max-width: 520px; margin-bottom: 24px; }
.px-emptybox__cats { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; }
.px-emptybox__cats a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 8px; border-radius: 999px; background: var(--px-bg); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-ink); text-decoration: none; font-weight: 600; font-size: .9375rem; }
.px-emptybox__cats a:hover { box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-emptybox__cats .px-house { width: 28px; height: 21px; }
.px-emptybox__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }


/* ── Article typography, final (owner: spacing, consistent fonts, tables, lists) ──
 * One text style for paragraphs, list items, table cells and quotes: same font, size and line height. */
.px-main .px-prose--post { --px-fs: clamp(1.0625rem, 1rem + .3vw, 1.1875rem); --px-lh: 1.8; font-family: var(--wp--preset--font-family--body); font-size: var(--px-fs); line-height: var(--px-lh); color: #263042; }
.px-main .px-prose--post > * { margin-block: 0 !important; }
.px-main .px-prose--post > * + * { margin-top: 1.35em !important; }
.px-main .px-prose--post p, .px-main .px-prose--post li, .px-main .px-prose--post td, .px-main .px-prose--post dd { font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 400; color: inherit; }
.px-main .px-prose--post > p:first-child { font-size: 1.2em; line-height: 1.65; color: var(--px-ink); }
/* headings: room above, close to their text */
.px-main .px-prose--post > h2 { margin-top: 2.6em !important; }
.px-main .px-prose--post > h3 { margin-top: 2em !important; }
.px-main .px-prose--post > h4 { margin-top: 1.7em !important; }
.px-main .px-prose--post > h2 + *, .px-main .px-prose--post > h3 + *, .px-main .px-prose--post > h4 + * { margin-top: .75em !important; }
.px-main .px-prose--post > :first-child { margin-top: 0 !important; }
.px-main .px-prose--post h2, .px-main .px-prose--post h3, .px-main .px-prose--post h4 { font-family: var(--wp--preset--font-family--heading); color: var(--px-ink); }
/* lists */
.px-main .px-prose--post ul, .px-main .px-prose--post ol { margin-left: 0; padding: 0; list-style: none; display: grid; gap: .5em; }
.px-main .px-prose--post li { margin: 0; }
.px-main .px-prose--post li > ul, .px-main .px-prose--post li > ol { margin-top: .5em; }
.px-main .px-prose--post ul > li { position: relative; padding-left: 1.6em; }
.px-main .px-prose--post ul > li::before { content: ""; position: absolute; left: .3em; top: calc(var(--px-lh) * .5em - 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--px-blue); }
.px-main .px-prose--post ol { counter-reset: px-ol; }
.px-main .px-prose--post ol > li { position: relative; padding-left: 2.3em; counter-increment: px-ol; }
.px-main .px-prose--post ol > li::before { content: counter(px-ol); position: absolute; left: 0; top: calc(var(--px-lh) * .5em - 13px); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--px-soft); color: var(--px-blue); font-size: .8125rem; font-weight: 800; line-height: 1; }
/* tables: scroll on phones, ink header, zebra rows */
.px-main .px-prose--post .wp-block-table, .px-main .px-prose--post figure:has(> table) { overflow-x: auto; border-radius: 18px; box-shadow: inset 0 0 0 1px var(--px-line); }
.px-main .px-prose--post table { width: 100%; min-width: 520px; border-collapse: collapse; background: var(--px-white); font-size: .9375em; line-height: 1.55; box-shadow: none; border-radius: 0; }
.px-main .px-prose--post > table { display: block; overflow-x: auto; border-radius: 18px; box-shadow: inset 0 0 0 1px var(--px-line); }
.px-main .px-prose--post th, .px-main .px-prose--post thead td { padding: 14px 16px; background: var(--px-ink); color: var(--px-white); font-weight: 700; text-align: left; border: 0; font-size: .9375em; }
.px-main .px-prose--post td { padding: 12px 16px; border: 0; border-top: 1px solid var(--px-line); vertical-align: top; }
.px-main .px-prose--post tbody tr:nth-child(even) td { background: #f8f9fc; }
.px-main .px-prose--post tbody tr:hover td { background: var(--px-soft); }
.px-main .px-prose--post td:first-child { font-weight: 600; color: var(--px-ink); }
.px-main .px-prose--post table figcaption, .px-main .px-prose--post .wp-element-caption { padding: 10px 16px; font-size: .875rem; color: var(--px-mut); }
/* quotes, callouts, separators, media */
.px-main .px-prose--post blockquote { position: relative; margin-inline: 0; padding: 24px 28px 24px 64px; border: 0; border-radius: 20px; background: var(--px-soft); color: var(--px-ink); font-size: 1.05em; }
.px-main .px-prose--post blockquote::before { content: "„"; position: absolute; left: 20px; top: 8px; font-size: 3.5rem; line-height: 1; font-weight: 800; color: var(--px-blue); }
.px-main .px-prose--post blockquote p + p { margin-top: .8em; }
.px-main .px-prose--post blockquote cite { display: block; margin-top: 10px; font-size: .875rem; font-style: normal; color: var(--px-mut); }
.px-main .px-prose--post hr, .px-main .px-prose--post .wp-block-separator { width: 80px; height: 4px; margin-inline: auto; border: 0; border-radius: 4px; background: var(--px-orange); opacity: 1; }
.px-main .px-prose--post .wp-block-image img, .px-main .px-prose--post > img { display: block; width: 100%; height: auto; border-radius: 20px; }
.px-main .px-prose--post figcaption { margin-top: 10px; font-size: .875rem; line-height: 1.5; color: var(--px-mut); text-align: center; }
.px-main .px-prose--post code { padding: 2px 6px; border-radius: 6px; background: var(--px-soft); font-size: .9em; }
.px-main .px-prose--post .wp-block-details, .px-main .px-prose--post details { padding: 16px 20px; border-radius: 16px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-main .px-prose--post details summary { font-weight: 700; cursor: pointer; }

/* article column a little wider (owner) */
.px-article { max-width: calc(860px + 2 * var(--px-gutter)) !important; }
.px-main .px-prose--post > * { max-width: 860px; margin-inline: auto; }


/* ── Catalogue (hub) ────────────────────────────────────────────────────── */
.px-filter { display: grid; gap: 16px; margin: 0 0 20px; padding: 20px; border-radius: 24px; background: var(--px-bg); box-shadow: inset 0 0 0 1px var(--px-line); }
@media (min-width: 1100px) { .px-filter { grid-template-columns: auto auto 1.4fr auto; gap: 24px; align-items: start; } }
.px-filter__g { min-width: 0; margin: 0; padding: 0; border: 0; }
.px-filter__g legend { margin-bottom: 8px; padding: 0; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--px-mut); }
.px-filter__opts { display: flex; flex-wrap: wrap; gap: 6px; }
.px-filter label { position: relative; }
.px-filter input[type="radio"], .px-filter input[type="checkbox"] { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.px-filter label > span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); font-size: .9375rem; font-weight: 600; white-space: nowrap; transition: background .15s, color .15s, box-shadow .15s; }
.px-filter label:hover > span { box-shadow: inset 0 0 0 1px var(--px-blue); }
.px-filter input:checked + span { background: var(--px-ink); color: var(--px-white); box-shadow: none; }
.px-filter input:focus-visible + span { outline: 3px solid var(--px-blue); outline-offset: 2px; }
.px-filter__check input:checked + span::before { content: ""; width: 6px; height: 10px; margin-right: 8px; border: solid var(--px-orange); border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); }
.px-filter select { min-height: 38px; padding: 0 36px 0 14px; border: 0; border-radius: 999px; background: var(--px-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23172033' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; box-shadow: inset 0 0 0 1px var(--px-line); font: inherit; font-size: .9375rem; font-weight: 600; color: var(--px-ink); appearance: none; cursor: pointer; }
.px-catalog__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.px-catalog__count { margin: 0; font-size: 1.0625rem; }
.px-catalog__count b { font-size: 1.375rem; letter-spacing: -.02em; }
.px-catalog__reset { border: 0; background: none; color: var(--px-blue); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.px-cat-item[hidden] { display: none; }
.px-cat-item > .px-pcard { height: 100%; box-sizing: border-box; }
.px-main--hub .px-chero__title { max-width: 17ch; }

/* ghost button on dark heroes */
.px-btn--ghost { background: transparent !important; color: var(--px-white) !important; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .4) !important; }
.px-btn--ghost:hover { background: rgb(255 255 255 / .08) !important; box-shadow: inset 0 0 0 1px var(--px-white) !important; transform: none; }


/* ── FAQ (categories, hub) ──────────────────────────────────────────────── */
.px-faq { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-faq { grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; } .px-faq__head { position: sticky; top: 110px; } }
.px-faq__head h2 { margin: 0 0 12px; font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem); letter-spacing: -.035em; line-height: 1.08; max-width: 16ch; }
.px-faq__head .px-eyebrow { color: var(--px-orange-text); }
.px-faq__head p:not(.px-eyebrow) { margin: 0 0 22px; color: var(--px-mut); }
.px-faq__list { display: grid; gap: 10px; }
.px-faq__item { border-radius: 20px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); transition: box-shadow .2s; }
.px-faq__item[open] { box-shadow: inset 0 0 0 2px var(--px-ink); }
.px-faq__item summary { display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; list-style: none; font-weight: 700; font-size: 1.0625rem; line-height: 1.35; }
.px-faq__item summary::-webkit-details-marker { display: none; }
.px-faq__item summary::after { content: ""; flex: none; margin-left: auto; width: 32px; height: 32px; border-radius: 50%; background: var(--px-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23172033' stroke-width='1.8'/%3E%3C/svg%3E") center no-repeat; transition: transform .2s; }
.px-faq__item[open] summary::after { transform: rotate(45deg); background-color: var(--px-orange); }
.px-faq__n { flex: none; font-size: .8125rem; font-weight: 800; color: var(--px-blue); }
.px-faq__a { padding: 0 20px 20px 52px; }
.px-faq__a p { margin: 0; color: #3c4558; line-height: 1.7; }
/* tables inside rich sections */
.px-rich__table { margin: 1.2em 0; overflow-x: auto; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--px-line); }
.px-rich__table table { width: 100%; min-width: 480px; border-collapse: collapse; background: var(--px-white); font-size: .9375rem; line-height: 1.5; }
.px-rich__table th { padding: 12px 14px; background: var(--px-ink); color: var(--px-white); text-align: left; font-weight: 700; }
.px-rich__table td { padding: 11px 14px; border-top: 1px solid var(--px-line); vertical-align: top; }
.px-rich__table tbody tr:nth-child(even) td { background: #f8f9fc; }
.px-rich--dark .px-rich__table { box-shadow: none; }
.px-rich--dark .px-rich__table table { color: var(--px-ink); }
.px-rich a { color: var(--px-blue); text-underline-offset: 3px; }
.px-rich--dark a { color: var(--px-orange); }

/* grid children may shrink: wide tables scroll inside their box on phones */
.px-rich > *, .px-rich__text, .px-rich__side, .px-hs > *, .px-faq > *, .px-catbody, .px-richwrap { min-width: 0; }
.px-rich__table { max-width: 100%; }


/* ── Rich sections, rev. 2: text | side, then tables and H3 cards full width ── */
.px-rich { grid-template-columns: 1fr !important; }
@media (min-width: 1024px) {
	.px-rich { grid-template-columns: 1.05fr .95fr !important; column-gap: 56px; align-items: start; }
	.px-rich.is-single { grid-template-columns: 1fr !important; }
	.px-rich.is-single .px-rich__text { max-width: 820px; }
}
.px-rich__top, .px-rich__intro { display: contents; }
.px-rich__wide { grid-column: 1 / -1; display: grid; gap: 20px; min-width: 0; }
.px-rich__wide .px-rich__table { margin: 0; }
.px-rich__side .px-rich__items { grid-template-columns: 1fr !important; }
.px-rich--cards .px-rich__items li { padding: 16px 16px 16px 58px !important; min-height: 0 !important; }
.px-rich--cards .px-rich__items li::before { top: 14px !important; left: 14px !important; }
.px-rich__grid { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
@media (min-width: 700px) { .px-rich__grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
.px-rich__grid li { padding: 22px; border-radius: 20px; background: var(--px-bg); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-rich__grid h3 { margin: 10px 0 8px; font-size: 1.1875rem; letter-spacing: -.02em; }
.px-rich__grid p { margin: 0 0 .7em; font-size: 1rem !important; line-height: 1.65; color: #3c4558; }
.px-rich__grid p:last-child { margin-bottom: 0; }
.px-rich__cn { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--px-ink); color: var(--px-orange); font-size: .8125rem; font-weight: 800; }
.px-rich--dark .px-rich__grid li { background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); }
.px-rich--dark .px-rich__grid h3 { color: var(--px-white); }
.px-rich--dark .px-rich__grid p { color: #c3cad8; }
.px-rich--dark .px-rich__cn { background: var(--px-orange); color: var(--px-ink); }
.px-rich__table table { min-width: 560px; }

/* ── Catalogue filters, rev. 2 ──────────────────────────────────────────── */
.px-filter { display: grid; grid-template-columns: 1fr; gap: 0; padding: 0; overflow: hidden; border-radius: 24px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line), 0 10px 30px rgb(23 32 51 / .05); }
@media (min-width: 1100px) { .px-filter { grid-template-columns: auto auto 1fr auto; } }
.px-filter__g { padding: 16px 20px; border-top: 1px solid var(--px-line); }
.px-filter__g:first-child { border-top: 0; }
@media (min-width: 1100px) { .px-filter__g { border-top: 0; border-left: 1px solid var(--px-line); } .px-filter__g:first-child { border-left: 0; } }
.px-filter__g legend { float: left; width: 100%; margin: 0 0 10px; font-size: .75rem; letter-spacing: .06em; color: var(--px-ink); }
.px-filter__opts { clear: both; display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 4px; border-radius: 999px; background: var(--px-bg); }
.px-filter label > span { min-height: 36px; padding: 0 14px; background: transparent; box-shadow: none; color: var(--px-mut); }
.px-filter label:hover > span { box-shadow: none; color: var(--px-ink); }
.px-filter input:checked + span { background: var(--px-white); color: var(--px-ink); box-shadow: 0 2px 8px rgb(23 32 51 / .12); }
.px-filter__g--end .px-filter__opts { background: none; padding: 0; gap: 8px; }
.px-filter__check > span { background: var(--px-bg) !important; color: var(--px-ink) !important; }
.px-filter__check input:checked + span { background: var(--px-ink) !important; color: var(--px-white) !important; }
.px-filter select { background-color: var(--px-bg); box-shadow: none; }
@media (max-width: 599px) { .px-filter__opts { display: flex; flex-wrap: nowrap; overflow-x: auto; border-radius: 16px; scrollbar-width: none; } .px-filter label > span { white-space: nowrap; } }


.px-js .px-cat-item.is-more { display: none; }
.px-catalog__more { display: flex; justify-content: center; margin: 32px 0 0; }
.px-catalog__more span { color: var(--px-mut); font-weight: 500; }

/* ── « Cum lucrăm », rev. 3 (owner: not the deep blue): light panel, horizontal timeline ── */
.px-steps { background: var(--px-bg) !important; color: var(--px-ink) !important; padding-block: clamp(48px, 7vw, 96px); }
.px-steps .px-wrap { display: block !important; }
.px-steps__panel { padding: clamp(28px, 4vw, 56px); border-radius: 32px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-steps__head { display: grid; gap: 12px 40px; max-width: none !important; margin-bottom: 44px !important; }
@media (min-width: 1024px) { .px-steps__head { grid-template-columns: 1fr auto; align-items: end; } }
.px-steps__head .px-eyebrow { grid-column: 1 / -1; margin: 0; color: var(--px-orange-text) !important; }
.px-steps__head h2 { margin: 0 !important; color: var(--px-ink) !important; max-width: 20ch; }
.px-steps__head p:not(.px-eyebrow) { margin: 6px 0 0 !important; color: var(--px-mut) !important; }
.px-steps__head .px-btn { justify-self: start; }
@media (min-width: 1024px) { .px-steps__head .px-btn { grid-column: 2; grid-row: 2 / 4; align-self: center; } }
.px-steps__head .px-btn--accent { background: var(--px-blue) !important; color: var(--px-white) !important; }
.px-steps__head .px-btn--accent:hover { background: var(--px-deep) !important; }
.px-steps__list { position: relative; display: grid !important; grid-template-columns: 1fr !important; gap: 28px !important; }
@media (min-width: 700px) { .px-steps__list { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1024px) {
	.px-steps__list { grid-template-columns: repeat(4, 1fr) !important; gap: 32px !important; }
	.px-steps__list::before { content: ""; position: absolute; left: 28px; right: 28px; top: 27px; border-top: 2px dashed var(--px-line); }
}
.px-steps__list li { position: relative; display: block !important; padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; }
.px-steps__list li::before { display: none !important; }
.px-steps__n { position: relative; z-index: 1; display: inline-grid !important; place-items: center; width: 56px !important; height: 56px !important; border-radius: 50% !important; background: var(--px-white) !important; box-shadow: inset 0 0 0 2px var(--px-ink); color: var(--px-ink) !important; font-size: 1.0625rem !important; font-weight: 800 !important; }
.px-steps__list li:first-child .px-steps__n { background: var(--px-ink) !important; color: var(--px-orange) !important; box-shadow: none; }
.px-steps__list h3 { margin: 18px 0 8px !important; color: var(--px-ink) !important; font-size: 1.1875rem; }
.px-steps__list p { margin: 0; color: var(--px-mut) !important; font-size: .9375rem; line-height: 1.6; }

/* ── Catalogue filters, rev. 3: wrapping row, every group on one line ── */
.px-filter { display: flex !important; flex-wrap: wrap; align-items: stretch; grid-template-columns: none !important; }
.px-filter__g { flex: 0 0 auto; display: flex; flex-direction: column; gap: 10px; padding: 16px 22px !important; border: 0 !important; box-shadow: inset 1px 0 0 var(--px-line); }
.px-filter__g:first-child { box-shadow: none; }
.px-filter__g legend { float: none !important; width: auto !important; margin: 0 !important; padding: 0; white-space: nowrap; }
.px-filter__opts { flex-wrap: nowrap !important; align-self: flex-start; }
.px-filter__g--end { margin-left: auto; }
@media (max-width: 899px) {
	.px-filter { flex-direction: column; }
	.px-filter__g { box-shadow: inset 0 1px 0 var(--px-line) !important; }
	.px-filter__g:first-child { box-shadow: none !important; }
	.px-filter__g--end { margin-left: 0; }
	.px-filter__opts { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
}


/* ── Rich sections rev. 3: steps timeline, sub-lists in cards, labelled items, long tables ── */
.px-rich__steps { list-style: none; display: grid; gap: 0; margin: 0; padding: 0; counter-reset: none; }
@media (min-width: 900px) { .px-rich__steps { grid-template-columns: repeat(2, 1fr); column-gap: 32px; } }
.px-rich__steps li { position: relative; display: flex; gap: 16px; padding: 0 0 22px; }
.px-rich__steps li::before { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: var(--px-line); }
.px-rich--dark .px-rich__steps li::before { background: rgb(255 255 255 / .14); }
.px-rich__sn { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--px-ink); color: var(--px-orange); font-weight: 800; }
.px-rich--dark .px-rich__sn { background: var(--px-orange); color: var(--px-ink); }
.px-rich__steps li > div { padding-top: 10px; font-size: 1rem; line-height: 1.6; }
.px-rich__steps strong { display: block; margin-bottom: 2px; }
.px-rich__sub { list-style: none; display: grid; gap: 8px; margin: 12px 0 0; padding: 0; }
.px-rich__sub li { position: relative; padding-left: 22px; font-size: .9375rem; line-height: 1.55; color: #3c4558; }
.px-rich__sub li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--px-blue); }
.px-rich--dark .px-rich__sub li { color: #c3cad8; }
.px-rich--dark .px-rich__sub li::before { background: var(--px-orange); }
.px-rich__items strong { display: block; margin-bottom: 2px; color: var(--px-ink); }
.px-rich--dark .px-rich__items strong { color: var(--px-white); }
.px-rich__table.is-long { position: relative; max-height: 440px; overflow: hidden; }
.px-rich__table.is-long::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(transparent, var(--px-white) 75%); pointer-events: none; }
.px-rich__table.is-open { max-height: none; overflow-x: auto; }
.px-rich__table.is-open::after, .px-rich__table.is-open .px-rich__more { display: none; }
.px-rich__more { position: absolute; z-index: 1; left: 50%; bottom: 18px; transform: translateX(-50%); min-height: 42px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--px-ink); color: var(--px-white); font: inherit; font-weight: 600; font-size: .9375rem; cursor: pointer; }
.px-rich__table td a { color: var(--px-blue); font-weight: 600; }

/* nested lists inside H3 cards are plain bullets, not boxes; photo full width in every section */
.px-rich__grid .px-rich__sub li { padding: 0 0 0 22px !important; border-radius: 0; background: none !important; box-shadow: none !important; }
.px-rich--cards .px-rich__side, .px-rich__side { grid-template-columns: 1fr !important; }
.px-rich__photo { width: 100%; }

/* catalogue filters rev. 4: two deliberate rows on wide screens */
@media (min-width: 900px) {
	.px-filter { display: grid !important; grid-template-columns: auto auto 1fr; grid-template-areas: "lv bed end" "m2 m2 m2"; }
	.px-filter__g:nth-child(1) { grid-area: lv; }
	.px-filter__g:nth-child(2) { grid-area: bed; }
	.px-filter__g:nth-child(3) { grid-area: m2; box-shadow: inset 0 1px 0 var(--px-line) !important; }
	.px-filter__g:nth-child(4) { grid-area: end; margin-left: 0 !important; align-items: flex-end; }
	.px-filter__g:nth-child(4) .px-filter__opts { align-self: flex-end; }
	.px-filter__g:nth-child(4) legend { align-self: flex-end; }
}

.px-filter__l { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--px-ink); white-space: nowrap; }
@media (min-width: 900px) { .px-filter__g:nth-child(4) .px-filter__l { align-self: flex-end; } }


/* ── Projects hub: bespoke sections ─────────────────────────────────────── */
.px-hubwrap { display: grid; gap: clamp(56px, 7vw, 104px); }
.px-ico { width: 22px; height: 22px; flex: none; }
.px-hb { min-width: 0; scroll-margin-top: 100px; }
.px-hb__n { margin: 0 0 10px; font-size: .875rem; font-weight: 800; letter-spacing: .1em; color: var(--px-orange-text); }
.px-hb__head h2, .px-hb__whytext h2 { margin: 0 0 14px; font-size: clamp(1.75rem, 1.2rem + 1.9vw, 2.875rem); line-height: 1.07; letter-spacing: -.035em; max-width: 20ch; }
.px-hb__intro p, .px-hb__whytext p { margin: 0 0 .8em; font-size: 1.0625rem; line-height: 1.7; color: #3c4558; max-width: 64ch; }
.px-hb__head.is-center { text-align: center; }
.px-hb__head.is-center h2, .px-hb__head.is-center .px-hb__intro p { margin-inline: auto; }
.px-hb__tip { display: flex; gap: 12px; align-items: flex-start; margin: 18px 0 0; padding: 14px 16px; border-radius: 16px; background: #fff7e8; color: #5a4320; font-size: .9375rem; line-height: 1.6; }
.px-hb__tip .px-ico { color: var(--px-orange-text); margin-top: 2px; }
.px-hb__k { margin: 0 0 14px; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--px-mut); }

/* 0 finder */
.px-hb__top { display: grid; gap: 28px; align-items: end; margin-bottom: 28px; }
@media (min-width: 1024px) { .px-hb__top { grid-template-columns: 1.2fr .8fr; gap: 56px; } }
.px-hb__stats { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; padding: 0; }
.px-hb__stats li { padding: 18px 16px; border-radius: 20px; background: var(--px-ink); color: var(--px-white); }
.px-hb__stats li:first-child { background: var(--px-blue); }
.px-hb__stats b { display: block; font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.25rem); letter-spacing: -.04em; line-height: 1.05; }
.px-hb__stats li:last-child b { font-size: clamp(1.125rem, .9rem + .8vw, 1.5rem); }
.px-hb__stats span { font-size: .8125rem; color: #c3cad8; }
.px-hb__stats li:first-child span { color: #dbe6ff; }
.px-hb__panels { display: grid; gap: 16px; }
@media (min-width: 900px) { .px-hb__panels { grid-template-columns: 1fr 1fr; } .px-hb__panel--wide { grid-column: 1 / -1; } }
.px-hb__panel { padding: clamp(20px, 3vw, 30px); border-radius: 26px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); min-width: 0; }
.px-hb__panel h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 1.25rem; letter-spacing: -.02em; }
.px-hb__panel h3 .px-ico { color: var(--px-blue); }
.px-hb__panel > p { margin: 0 0 16px; color: #3c4558; line-height: 1.65; }
.px-hb__lvls { display: grid; gap: 12px; }
@media (min-width: 600px) { .px-hb__lvls { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .px-hb__lvls { grid-template-columns: repeat(4, 1fr); } }
.px-hb__lvl { display: grid; gap: 8px; padding: 18px; border-radius: 20px; background: var(--px-bg); color: var(--px-ink); text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s; }
.px-hb__lvl:hover { transform: translateY(-3px); background: var(--px-white); box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-hb__lvl .px-house { width: 52px; height: 38px; }
.px-hb__lvl-t { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; font-size: 1.0625rem; }
.px-hb__lvl-t b { font-size: 1.5rem; letter-spacing: -.03em; color: var(--px-blue); }
.px-hb__lvl-d { font-size: .875rem; line-height: 1.5; color: var(--px-mut); }
.px-bars { list-style: none; display: grid; gap: 8px; margin: 0 0 18px; padding: 0; }
.px-bars li { display: grid; grid-template-columns: 96px 1fr 30px; align-items: center; gap: 10px; font-size: .875rem; }
.px-bars__l { color: var(--px-mut); }
.px-bars__t { height: 12px; border-radius: 6px; background: var(--px-soft); overflow: hidden; }
.px-bars__t i { display: block; height: 100%; border-radius: 6px; background: var(--px-blue); }
.px-bars li:nth-child(2) .px-bars__t i { background: var(--px-deep); }
.px-bars li:nth-child(3) .px-bars__t i { background: var(--px-ink); }
.px-bars b { text-align: right; }
.px-hb__pills { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.px-hb__pills a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: var(--px-bg); color: var(--px-ink); text-decoration: none; font-weight: 600; font-size: .9375rem; transition: background .15s, box-shadow .15s; }
.px-hb__pills a:hover { background: var(--px-white); box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-hb__pills .px-house { width: 30px; height: 30px; padding: 4px; border-radius: 50%; background: var(--px-white); box-sizing: border-box; }
.px-hb__pills small { color: var(--px-mut); }
.px-hb__table { margin-top: 16px; border-radius: 20px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-hb__table summary { padding: 16px 20px; cursor: pointer; font-weight: 700; color: var(--px-blue); list-style: none; }
.px-hb__table summary::-webkit-details-marker { display: none; }
.px-hb__table summary::after { content: " +"; }
.px-hb__table[open] summary::after { content: " −"; }
.px-hb__table .px-rich__table { margin: 0 16px 16px; }

/* 1 project file: three sheets */
.px-hb__sheets { display: grid; gap: 18px; margin-top: 32px; }
@media (min-width: 900px) { .px-hb__sheets { grid-template-columns: repeat(3, 1fr); } }
.px-hb__sheet { position: relative; display: flex; flex-direction: column; padding: 28px 26px 22px; border-radius: 26px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line), 0 18px 40px rgb(23 32 51 / .06); }
.px-hb__sheet::before { content: ""; position: absolute; left: 26px; right: 26px; top: -8px; height: 8px; border-radius: 8px 8px 0 0; background: var(--px-line); }
.px-hb__sheet:nth-child(2) { background: var(--px-ink); color: var(--px-white); box-shadow: 0 18px 40px rgb(23 32 51 / .2); }
.px-hb__sheet-i { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--px-soft); color: var(--px-blue); }
.px-hb__sheet-i .px-ico { width: 28px; height: 28px; }
.px-hb__sheet:nth-child(2) .px-hb__sheet-i { background: rgb(255 255 255 / .1); color: var(--px-orange); }
.px-hb__sheet-k { margin: 18px 0 4px; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--px-mut); }
.px-hb__sheet h3 { margin: 0 0 10px; font-size: 1.5rem; letter-spacing: -.03em; }
.px-hb__sheet:nth-child(2) h3 { color: var(--px-white); }
.px-hb__sheet-c { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: var(--px-bg); font-size: .875rem; font-weight: 600; line-height: 1.5; }
.px-hb__sheet:nth-child(2) .px-hb__sheet-c { background: rgb(255 255 255 / .08); color: #dbe2ee; }
.px-hb__sheet p { margin: 0 0 12px; font-size: .9375rem; line-height: 1.65; color: #3c4558; }
.px-hb__sheet:nth-child(2) p { color: #c3cad8; }
.px-hb__sheet-w { display: flex; align-items: center; gap: 8px; margin: auto 0 0 !important; padding-top: 14px; border-top: 1px solid var(--px-line); font-size: .875rem !important; }
.px-hb__sheet:nth-child(2) .px-hb__sheet-w { border-color: #2c374d; }
.px-hb__sheet-w .px-ico { width: 18px; height: 18px; color: var(--px-blue); }
.px-hb__sheet:nth-child(2) .px-hb__sheet-w b { color: var(--px-white); }

/* 2 type vs adapted */
.px-hb__split { display: grid; gap: 18px; margin-top: 28px; }
@media (min-width: 1024px) { .px-hb__split { grid-template-columns: 1.25fr .75fr; align-items: stretch; } }
.px-hb__can, .px-hb__not { padding: clamp(22px, 3vw, 34px); border-radius: 28px; }
.px-hb__can { background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-hb__adapt { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
@media (min-width: 600px) { .px-hb__adapt { grid-template-columns: 1fr 1fr; } }
.px-hb__adapt li { padding: 18px; border-radius: 20px; background: var(--px-bg); }
.px-hb__ai { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--px-blue); color: var(--px-white); }
.px-hb__adapt h3 { margin: 14px 0 6px; font-size: 1.125rem; }
.px-hb__adapt p { margin: 0; font-size: .9375rem; line-height: 1.6; color: #3c4558; }
.px-hb__not { background: var(--px-ink); color: var(--px-white); }
.px-hb__not .px-hb__k { color: var(--px-orange); }
.px-hb__not h3 { margin: 0 0 10px; font-size: 1.5rem; letter-spacing: -.03em; color: var(--px-white); }
.px-hb__not > p { margin: 0 0 18px; color: #c3cad8; line-height: 1.65; }
.px-hb__not ul { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.px-hb__not li { display: flex; gap: 12px; padding: 12px 14px; border-radius: 14px; background: rgb(255 255 255 / .06); font-size: .9375rem; line-height: 1.5; color: #dbe2ee; }
.px-hb__not li .px-ico { color: var(--px-orange); margin-top: 1px; }

/* 3 steps: dark band */
.px-hb--steps { padding: clamp(28px, 5vw, 64px); border-radius: 32px; background: var(--px-ink); color: var(--px-white); position: relative; overflow: hidden; }
.px-hb--steps::before { content: ""; position: absolute; right: -160px; top: -200px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .45), transparent 64%); pointer-events: none; }
.px-hb--steps > * { position: relative; }
.px-hb--steps h2 { color: var(--px-white); }
.px-hb--steps .px-hb__intro p { color: #c3cad8; }
.px-hb--steps .px-hb__n { color: var(--px-orange); }
.px-hb__steps { list-style: none; display: grid; gap: 14px; margin: 32px 0 0; padding: 0; }
@media (min-width: 700px) { .px-hb__steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .px-hb__steps { grid-template-columns: repeat(4, 1fr); } }
.px-hb__steps li { position: relative; padding: 20px; border-radius: 20px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); }
.px-hb__steps li:last-child { background: var(--px-orange); box-shadow: none; }
.px-hb__steps li:last-child p, .px-hb__steps li:last-child h3 { color: var(--px-ink); }
.px-hb__sn { display: block; margin-bottom: 12px; font-size: 1.75rem; font-weight: 800; letter-spacing: -.04em; color: var(--px-orange); }
.px-hb__steps li:last-child .px-hb__sn { color: var(--px-ink); }
.px-hb__steps h3 { margin: 0 0 4px; font-size: 1.0625rem; color: var(--px-white); }
.px-hb__steps p { margin: 0; font-size: .9375rem; line-height: 1.55; color: #c3cad8; }
.px-hb__law { display: flex; gap: 12px; margin: 22px 0 0; padding: 16px 18px; border-radius: 16px; background: rgb(255 255 255 / .06); color: #c3cad8; font-size: .9375rem; line-height: 1.6; }
.px-hb__law .px-ico { color: var(--px-orange); margin-top: 2px; }

/* 4 how to read a sheet */
.px-hb__readgrid { display: grid; gap: 32px; margin-top: 28px; align-items: center; }
@media (min-width: 1024px) { .px-hb__readgrid { grid-template-columns: .85fr 1.15fr; gap: 56px; } }
.px-hb__demo { position: relative; max-width: 420px; justify-self: center; width: 100%; padding: 18px; border-radius: 30px; background: var(--px-soft); }
.px-hb__demo .px-pcard { box-shadow: 0 24px 50px rgb(23 32 51 / .14); }
.px-hb__demo-btn { width: 100%; margin-top: 12px; }
.px-hb__mk { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--px-orange); color: var(--px-ink); font-weight: 800; box-shadow: 0 0 0 5px rgb(255 216 156 / .35); flex: none; }
.px-hb__demo .px-hb__mk { position: absolute; z-index: 3; }
.px-hb__mk--1 { right: 6px; bottom: 116px; }
.px-hb__mk--2 { left: 6px; bottom: 146px; }
.px-hb__mk--3 { right: 6px; bottom: 24px; }
.px-hb__expl { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
.px-hb__expl li { display: flex; gap: 16px; padding: 20px; border-radius: 22px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-hb__expl h3 { margin: 4px 0 6px; font-size: 1.1875rem; }
.px-hb__expl p { margin: 0; font-size: .9375rem; line-height: 1.65; color: #3c4558; }

/* 5 why: blue band */
.px-hb--why { display: grid; gap: 32px; padding: clamp(28px, 5vw, 64px); border-radius: 32px; background: var(--px-blue); color: var(--px-white); }
@media (min-width: 1024px) { .px-hb--why { grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; } }
.px-hb--why .px-hb__n { color: var(--px-orange); }
.px-hb--why h2 { color: var(--px-white); }
.px-hb__whytext p { color: #e3ebff; }
.px-hb__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px !important; }
.px-hb__benefits { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; }
.px-hb__benefits li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: 20px; background: rgb(255 255 255 / .12); font-weight: 600; line-height: 1.5; }
.px-hb__benefits .px-ico { display: grid; width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--px-orange); color: var(--px-ink); box-sizing: border-box; }

/* ── FAQ rev. 2: one card, thin dividers, single open item ──────────────── */
.px-faq__list { gap: 0 !important; padding: 6px 22px; border-radius: 26px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-faq__item { border-radius: 0 !important; background: none !important; box-shadow: none !important; border-top: 1px solid var(--px-line); }
.px-faq__item:first-child { border-top: 0; }
.px-faq__item[open] { box-shadow: none !important; }
.px-faq__item summary { padding: 20px 0 !important; font-size: 1.0625rem; border-radius: 12px; }
.px-faq__item summary:focus { outline: none; }
.px-faq__item summary:focus-visible { outline: 2px solid var(--px-blue) !important; outline-offset: 4px; }
.px-faq__item[open] summary .px-faq__q { color: var(--px-blue); }
.px-faq__item summary::after { width: 30px !important; height: 30px !important; }
.px-faq__a { padding: 0 44px 20px 34px !important; }
.px-faq__a p { font-size: 1rem !important; line-height: 1.7 !important; color: #4a5366 !important; }

@media (max-width: 899px) { .px-filter__g { min-width: 0; max-width: 100%; align-self: stretch; box-sizing: border-box; } .px-filter__opts { max-width: 100%; } }

.px-hb__demo { box-sizing: border-box; }
.px-hb__readgrid > * { min-width: 0; }


/* ── Category pages: content-aware sections ─────────────────────────────── */
.px-smwrap { display: grid; gap: clamp(48px, 6vw, 88px); }
.px-sm { min-width: 0; scroll-margin-top: 100px; }
.px-sm > *, .px-sm__text, .px-sm__top > * { min-width: 0; }
.px-sm.is-panel { padding: clamp(24px, 4vw, 52px); border-radius: 32px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-sm__n { margin: 0 0 10px; font-size: .875rem; font-weight: 800; letter-spacing: .1em; color: var(--px-orange-text); }
.px-sm h2 { margin: 0 0 16px; font-size: clamp(1.625rem, 1.15rem + 1.7vw, 2.625rem); line-height: 1.08; letter-spacing: -.035em; max-width: 22ch; }
.px-sm p { font-size: 1.0625rem; line-height: 1.75; color: #3c4558; }
.px-sm__text > p, .px-sm__intro > p, .px-sm__leadtext > p { margin: 0 0 1em; max-width: 68ch; }
.px-sm__top { display: grid; gap: 8px 48px; margin-bottom: 26px; }
@media (min-width: 1024px) { .px-sm__top { grid-template-columns: .9fr 1.1fr; align-items: end; } .px-sm__top .px-sm__intro p:last-child { margin-bottom: 0; } }
.px-sm__top .px-sm__n { grid-column: 1 / -1; margin: 0; }
/* lead + data card */
.px-sm--lead { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-sm--lead { grid-template-columns: 1.25fr .75fr; gap: 56px; align-items: start; } }
.px-sm__big { font-size: clamp(1.1875rem, 1rem + .6vw, 1.4375rem) !important; line-height: 1.55 !important; color: var(--px-ink) !important; font-weight: 500; padding-left: 20px; border-left: 4px solid var(--px-orange); }
.px-sm__full { grid-column: 1 / -1; display: grid; gap: 20px; }
.px-sm__data { position: relative; align-self: start; padding: 24px; border-radius: 26px; background: var(--px-ink); color: var(--px-white); }
.px-sm__dk { margin: 0 0 14px !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--px-orange) !important; }
.px-sm__dstats { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 18px; padding: 0; }
.px-sm__dstats li { padding: 12px; border-radius: 16px; background: rgb(255 255 255 / .07); }
.px-sm__dstats b { display: block; font-size: 1.25rem; letter-spacing: -.03em; line-height: 1.15; }
.px-sm__dstats span { font-size: .75rem; color: #aab4c6; }
.px-sm__dl { margin: 0 0 8px !important; font-size: .8125rem !important; font-weight: 700; color: #c3cad8 !important; }
.px-sm__data .px-bars li { grid-template-columns: 112px 1fr 26px; color: #dbe2ee; }
.px-sm__data .px-bars__l { color: #aab4c6; }
.px-sm__data .px-bars__t { background: rgb(255 255 255 / .1); }
.px-sm__data .px-bars__t i, .px-sm__data .px-bars li:nth-child(n) .px-bars__t i { background: var(--px-orange); }
.px-sm__data .px-bars li:nth-child(2) .px-bars__t i { background: #8fb2ff; }
/* tiles */
.px-sm__tiles { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
@media (min-width: 700px) { .px-sm__tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .px-sm--tiles .px-sm__tiles { grid-template-columns: repeat(3, 1fr); } }
.px-sm__tiles li { padding: 22px; border-radius: 22px; background: var(--px-bg); transition: transform .2s; }
.px-sm:not(.is-panel) .px-sm__tiles li { background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-sm__tiles li:hover { transform: translateY(-3px); }
.px-sm--tiles .px-sm__tiles li:first-child { background: var(--px-ink) !important; box-shadow: none !important; }
.px-sm--tiles .px-sm__tiles li:first-child h3 { color: var(--px-white); }
.px-sm--tiles .px-sm__tiles li:first-child p { color: #c3cad8; }
.px-sm--tiles .px-sm__tiles li:first-child .px-sm__ti { background: var(--px-orange); color: var(--px-ink); }
.px-sm__ti { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--px-blue); color: var(--px-white); }
.px-sm__ti .px-ico { width: 24px; height: 24px; }
.px-sm__tiles h3 { margin: 16px 0 8px; font-size: 1.1875rem; letter-spacing: -.02em; }
.px-sm__tiles p { margin: 0 0 .6em; font-size: .9375rem !important; line-height: 1.65 !important; }
.px-sm__tiles p:last-child { margin-bottom: 0; }
/* checks */
.px-sm--checks { display: grid; gap: 28px; }
@media (min-width: 1024px) { .px-sm--checks { grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; } }
.px-sm__dark { padding: 24px; border-radius: 26px; background: var(--px-ink); }
.px-sm__checks { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.px-sm__checks li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; background: rgb(255 255 255 / .07); color: #e7ebf3; font-size: .9375rem; line-height: 1.55; }
.px-sm__checks li .px-ico { width: 24px; height: 24px; padding: 4px; border-radius: 8px; background: var(--px-orange); color: var(--px-ink); box-sizing: border-box; }
.px-sm__checks strong { color: var(--px-white); }
.px-sm__checks--light { margin-top: 18px; }
.px-sm__checks--light li { background: var(--px-bg); color: #263042; }
.px-sm:not(.is-panel) .px-sm__checks--light li { background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-sm__checks--light strong { color: var(--px-ink); }
.px-sm__checks--light li .px-ico { background: var(--px-blue); color: var(--px-white); }
/* two cards + photo */
.px-sm--two { display: grid; gap: 24px; }
@media (min-width: 1024px) { .px-sm--two { grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; } .px-sm--two .px-sm__tiles { grid-column: 1 / -1; } }
/* editorial */
.px-sm--edit { display: grid; gap: 28px; }
@media (min-width: 1024px) { .px-sm--edit { grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; } }
.px-sm__quote { margin: 0 0 18px; padding: 0; border: 0; background: none; font-size: clamp(1.25rem, 1rem + .9vw, 1.75rem); line-height: 1.3; font-weight: 700; letter-spacing: -.02em; color: var(--px-ink); }
.px-sm__quote::before { content: "„"; color: var(--px-orange-text); }
.px-sm__quote::after { content: "”"; color: var(--px-orange-text); }
.px-sm__photo { position: relative; display: block; border-radius: 26px; overflow: hidden; text-decoration: none; }
.px-sm__photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s; }
.px-sm__photo:hover img { transform: scale(1.03); }
.px-sm__photo span { position: absolute; left: 14px; bottom: 14px; padding: 6px 14px; border-radius: 999px; background: rgb(255 255 255 / .94); color: var(--px-ink); font-size: .875rem; font-weight: 600; }
/* steps */
.px-sm--steps { padding: clamp(28px, 5vw, 60px); border-radius: 32px; background: var(--px-ink); color: var(--px-white); }
.px-sm--steps h2 { color: var(--px-white); }
.px-sm--steps p { color: #c3cad8; }
.px-sm--steps .px-sm__n { color: var(--px-orange); }
/* versus */
.px-vs { position: relative; display: grid; gap: 14px; }
@media (min-width: 800px) { .px-vs { grid-template-columns: 1fr 1fr; gap: 24px; } }
.px-vs__col { padding: 24px; border-radius: 24px; background: var(--px-bg); }
.px-sm:not(.is-panel) .px-vs__col { background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-vs__col:last-child { background: var(--px-ink) !important; box-shadow: none !important; color: var(--px-white); }
.px-vs__col h3 { margin: 0 0 14px; font-size: 1.375rem; letter-spacing: -.02em; }
.px-vs__col:last-child h3 { color: var(--px-white); }
.px-vs__col ul { list-style: none; display: grid; gap: 0; margin: 0; padding: 0; }
.px-vs__col li { display: grid; gap: 2px; padding: 12px 0; border-top: 1px solid var(--px-line); }
.px-vs__col:last-child li { border-color: #2c374d; }
.px-vs__col li span { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--px-mut); }
.px-vs__col:last-child li span { color: #8fb2ff; }
.px-vs__col li b { font-weight: 500; font-size: .9375rem; line-height: 1.55; }
.px-vs__badge { display: grid; place-items: center; width: 54px; height: 54px; margin: -6px auto; border-radius: 50%; background: var(--px-orange); color: var(--px-ink); font-weight: 800; box-shadow: 0 0 0 6px var(--px-bg); z-index: 1; }
@media (min-width: 800px) { .px-vs__badge { position: absolute; left: 50%; top: 50%; margin: 0; transform: translate(-50%, -50%); } }
.px-sm.is-panel .px-vs__badge { box-shadow: 0 0 0 6px var(--px-white); }
.px-sm--table .px-rich__table, .px-sm--lead .px-rich__table { margin: 0; }
/* action band */
.px-sm--cta { display: grid; gap: 28px; padding: clamp(28px, 5vw, 60px); border-radius: 32px; background: var(--px-blue); color: var(--px-white); }
@media (min-width: 1024px) { .px-sm--cta { grid-template-columns: 1.3fr .7fr; gap: 56px; align-items: center; } }
.px-sm--cta h2 { color: var(--px-white); }
.px-sm--cta p { color: #e3ebff !important; }
.px-sm--cta .px-sm__n { color: var(--px-orange); }
.px-sm__ctabtns { display: grid; gap: 10px; margin: 0; }
.px-sm__ctabtns .px-btn { width: 100%; }
.px-sm__all { text-align: center; color: var(--px-white); font-weight: 600; text-underline-offset: 3px; }
.px-sm--cta .px-sm__checks li { background: rgb(255 255 255 / .12); }


/* links inside dark check panels */
.px-sm__dark a, .px-sm--cta a:not(.px-btn) { color: var(--px-orange); }
.px-sm__checks--light a { color: var(--px-blue); }

/* ── Home: zones explained ──────────────────────────────────────────────── */
.px-hz { padding-block: clamp(48px, 7vw, 96px); background: var(--px-bg); }
.px-hz__grid { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-hz__grid { grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; } }
.px-hz .px-eyebrow { color: var(--px-orange-text); }
.px-hz h2, .px-sizer h2, .px-cmp h2 { margin: 0 0 14px; font-size: clamp(1.75rem, 1.2rem + 1.9vw, 2.875rem); line-height: 1.07; letter-spacing: -.035em; max-width: 18ch; }
.px-hz__text > p, .px-sizer__head p, .px-cmp__text > p { margin: 0 0 20px; font-size: 1.0625rem; line-height: 1.7; color: #3c4558; max-width: 56ch; }
.px-hz__ex { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 18px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-ink); text-decoration: none; font-weight: 600; }
.px-hz__ex img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; }
.px-hz__ex small { display: block; font-size: .75rem; font-weight: 700; color: var(--px-orange-text); text-transform: uppercase; letter-spacing: .06em; }
.px-hz__ex:hover { box-shadow: inset 0 0 0 2px var(--px-blue); }
.px-hz__bar { margin-top: 16px; }
.px-hz__bar .px-zbar { height: 26px; border-radius: 14px; }
.px-hz__cards { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; }
@media (min-width: 600px) { .px-hz__cards { grid-template-columns: 1fr 1fr; } .px-hz__cards li:first-child { grid-column: 1 / -1; } }
.px-hz__cards li { position: relative; padding: 20px 20px 20px 74px; border-radius: 22px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-hz__sw { position: absolute; left: 20px; top: 20px; width: 38px; height: 38px; border-radius: 12px; background: var(--c); }
.px-hz__cards h3 { margin: 0 0 4px; font-size: 1.125rem; }
.px-hz__cards p { margin: 0 0 8px; font-size: .9375rem; line-height: 1.55; color: var(--px-mut); }
.px-hz__cards b { font-size: .9375rem; }
.px-hz__cards b.is-none { color: var(--px-mut); font-weight: 500; }

/* ── Home: surface slider ───────────────────────────────────────────────── */
.px-sizer { padding-block: 0 clamp(48px, 7vw, 96px); background: var(--px-bg); }
.px-sizer__panel { display: grid; gap: 28px; padding: clamp(28px, 4vw, 56px); border-radius: 32px; background: var(--px-ink); color: var(--px-white); position: relative; overflow: hidden; }
.px-sizer__panel::before { content: ""; position: absolute; left: -160px; bottom: -220px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .45), transparent 64%); pointer-events: none; }
.px-sizer__panel > * { position: relative; }
@media (min-width: 1024px) { .px-sizer__panel { grid-template-columns: 1fr 1fr; gap: 24px 56px; } .px-sizer__res, .px-sizer__all { grid-column: 1 / -1; } }
.px-sizer .px-eyebrow { color: var(--px-orange); }
.px-sizer h2 { color: var(--px-white); }
.px-sizer__head p { color: #c3cad8; }
.px-sizer__ctl { align-self: center; padding: 24px; border-radius: 24px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); }
.px-sizer__val { display: block; margin-bottom: 14px; font-size: 1.125rem; color: #c3cad8; }
.px-sizer__val b { font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem); letter-spacing: -.04em; color: var(--px-orange); margin-right: 6px; }
.px-sizer input[type="range"] { --px-fill: 50%; width: 100%; height: 10px; border-radius: 6px; appearance: none; background: linear-gradient(90deg, var(--px-orange) var(--px-fill), rgb(255 255 255 / .15) var(--px-fill)); cursor: pointer; }
.px-sizer input[type="range"]::-webkit-slider-thumb { appearance: none; width: 28px; height: 28px; border-radius: 50%; background: var(--px-white); box-shadow: 0 0 0 6px rgb(255 216 156 / .35); }
.px-sizer input[type="range"]::-moz-range-thumb { width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--px-white); }
.px-sizer input[type="range"]:focus-visible { outline: 3px solid var(--px-orange); outline-offset: 6px; }
.px-sizer__scale { display: flex; justify-content: space-between; margin-top: 8px; font-size: .8125rem; color: #9aa5b8; }
.px-sizer__out { margin: 14px 0 0; color: #c3cad8; }
.px-sizer__out b { color: var(--px-white); font-size: 1.125rem; }
.px-sizer__res { display: grid; gap: 14px; }
@media (min-width: 700px) { .px-sizer__res { grid-template-columns: repeat(3, 1fr); } }
.px-sizer__card { display: grid; gap: 8px; padding: 10px 10px 14px; border-radius: 20px; background: var(--px-white); color: var(--px-ink); text-decoration: none; transition: transform .2s; }
.px-sizer__card:hover { transform: translateY(-4px); }
.px-sizer__pic { position: relative; display: block; border-radius: 14px; overflow: hidden; }
.px-sizer__pic img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.px-sizer__pic .px-badge { position: absolute; left: 8px; top: 8px; }
.px-sizer__t { padding: 0 6px; font-weight: 700; line-height: 1.3; }
.px-sizer__f { padding: 0 6px; font-size: .875rem; color: var(--px-mut); }
.px-sizer__f b { color: var(--px-blue); }
.px-sizer__all { margin: 0; }
.px-sizer__all .px-btn--soft { background: transparent; color: var(--px-white); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .35); }

/* ── Home: render / plan comparison ─────────────────────────────────────── */
.px-cmp { padding-block: clamp(48px, 7vw, 96px); background: var(--px-white); }
.px-cmp__grid { display: grid; gap: 32px; }
@media (min-width: 1024px) { .px-cmp__grid { grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: center; } }
.px-cmp .px-eyebrow { color: var(--px-orange-text); }
.px-cmp__name { display: grid; gap: 10px; margin: 0 0 22px; }
.px-cmp__name b { font-size: 1.25rem; letter-spacing: -.02em; }
.px-cmp__box { --px-cut: 55%; position: relative; aspect-ratio: 4 / 3; border-radius: 28px; overflow: hidden; background: var(--px-white); box-shadow: 0 30px 60px rgb(23 32 51 / .14), inset 0 0 0 1px var(--px-line); user-select: none; }
.px-cmp__img { position: absolute; inset: 0; }
.px-cmp__img img { width: 100%; height: 100%; }
.px-cmp__img--plan img { object-fit: contain; padding: 18px; box-sizing: border-box; background: var(--px-white); }
.px-cmp__img--render img { object-fit: cover; }
.px-cmp__img--render { clip-path: inset(0 calc(100% - var(--px-cut)) 0 0); }
.px-cmp__tag { position: absolute; top: 14px; padding: 6px 12px; border-radius: 999px; background: var(--px-ink); color: var(--px-white); font-size: .8125rem; font-weight: 700; }
.px-cmp__img--render .px-cmp__tag { left: 14px; }
.px-cmp__img--plan .px-cmp__tag { right: 14px; background: var(--px-orange); color: var(--px-ink); }
.px-cmp__handle { position: absolute; top: 0; bottom: 0; left: var(--px-cut); width: 3px; margin-left: -1.5px; background: var(--px-white); box-shadow: 0 0 0 1px rgb(23 32 51 / .15); pointer-events: none; }
.px-cmp__handle::after { content: "‹ ›"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--px-white); color: var(--px-ink); font-weight: 800; letter-spacing: 2px; box-shadow: 0 8px 20px rgb(23 32 51 / .25); }
.px-cmp__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }


/* ── Home content: bespoke sections ─────────────────────────────────────── */
.px-homewrap { display: grid; gap: clamp(64px, 8vw, 112px); }
.px-homewrap h2 { margin: 0 0 14px; font-size: clamp(1.75rem, 1.2rem + 1.9vw, 2.875rem); line-height: 1.07; letter-spacing: -.035em; }
.px-homewrap .px-eyebrow { color: var(--px-orange-text); }
.px-homewrap p { font-size: 1.0625rem; line-height: 1.7; color: #3c4558; }
/* team */
.px-ht__head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.px-ht__head h2 { margin-inline: auto; max-width: 20ch; }
.px-ht__head p { margin: 0 auto .7em; max-width: 62ch; }
.px-ht__cards { list-style: none; display: grid; gap: 18px; margin: 0; padding: 0; }
@media (min-width: 900px) { .px-ht__cards { grid-template-columns: repeat(3, 1fr); } }
.px-ht__cards li { position: relative; padding: 30px 28px; border-radius: 28px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.px-ht__cards li:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--px-line), var(--px-shadow); }
.px-ht__cards li::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--px-soft); }
.px-ht__cards li:nth-child(2) { background: var(--px-ink); box-shadow: none; }
.px-ht__cards li:nth-child(2)::after { background: rgb(42 100 219 / .35); }
.px-ht__ico { position: relative; z-index: 1; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: var(--px-blue); color: var(--px-white); }
.px-ht__ico .px-ico { width: 30px; height: 30px; }
.px-ht__cards li:nth-child(2) .px-ht__ico { background: var(--px-orange); color: var(--px-ink); }
.px-ht__k { position: relative; z-index: 1; margin: 22px 0 4px !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--px-mut) !important; }
.px-ht__cards h3 { position: relative; z-index: 1; margin: 0 0 10px; font-size: 1.5rem; letter-spacing: -.03em; }
.px-ht__cards li:nth-child(2) h3 { color: var(--px-white); }
.px-ht__cards li > p:last-child { position: relative; z-index: 1; margin: 0; font-size: 1rem; }
.px-ht__cards li:nth-child(2) > p:last-child { color: #c3cad8; }
.px-ht__strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 22px auto 0 !important; padding: 14px 22px; width: fit-content; max-width: 100%; box-sizing: border-box; border-radius: 999px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); color: var(--px-blue) !important; }
.px-ht__strip span { font-weight: 800; color: var(--px-mut); }
.px-ht__strip b { margin-left: 8px; color: var(--px-ink); font-size: 1rem; }
/* project file */
.px-hf { display: grid; gap: 40px; align-items: center; }
@media (min-width: 1024px) { .px-hf { grid-template-columns: .9fr 1.1fr; gap: 72px; } }
.px-hf__art { position: relative; height: 380px; max-width: 460px; width: 100%; justify-self: center; }
.px-hf__sheet { position: absolute; left: 10%; top: 10%; width: 70%; height: 74%; display: flex; flex-direction: column; gap: 12px; padding: 22px; box-sizing: border-box; border-radius: 20px; background: var(--px-white); box-shadow: 0 24px 50px rgb(23 32 51 / .14), inset 0 0 0 1px var(--px-line); }
.px-hf__sheet.is-3 { transform: rotate(9deg) translate(40px, 10px); background: #eef2fa; }
.px-hf__sheet.is-2 { transform: rotate(4deg) translate(18px, 4px); background: var(--px-ink); }
.px-hf__sheet.is-1 { transform: rotate(-4deg); }
.px-hf__sh { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 1.0625rem; color: var(--px-ink); }
.px-hf__sh .px-ico { color: var(--px-blue); }
.px-hf__sheet.is-2 .px-hf__sh { color: var(--px-white); }
.px-hf__sheet.is-2 .px-hf__sh .px-ico { color: var(--px-orange); }
.px-hf__sheet i { display: block; height: 10px; border-radius: 6px; background: var(--px-soft); }
.px-hf__sheet i:nth-of-type(1) { height: 110px; border-radius: 12px; background: repeating-linear-gradient(90deg, transparent 0 22px, #dbe3f3 22px 24px), repeating-linear-gradient(0deg, transparent 0 22px, #dbe3f3 22px 24px), #f6f8fd; }
.px-hf__sheet i.is-short { width: 55%; }
.px-hf__sheet.is-2 i { background: rgb(255 255 255 / .12); }
.px-hf__stamp { position: absolute; right: 4%; bottom: 6%; display: grid; place-items: center; width: 108px; height: 108px; border-radius: 50%; background: var(--px-orange); color: var(--px-ink); font-size: .8125rem; font-weight: 800; text-align: center; line-height: 1.2; padding: 14px; box-sizing: border-box; transform: rotate(-10deg); box-shadow: 0 0 0 8px rgb(255 216 156 / .35); }
.px-hf__rows { list-style: none; display: grid; gap: 12px; margin: 26px 0 0; padding: 0; }
.px-hf__rows li { display: flex; gap: 18px; padding: 20px; border-radius: 22px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-hf__n { flex: none; font-size: 1.625rem; font-weight: 800; letter-spacing: -.04em; color: var(--px-blue); }
.px-hf__rows h3 { margin: 4px 0 6px; font-size: 1.1875rem; }
.px-hf__rows p { margin: 0; font-size: .9375rem !important; }
/* why Planex */
.px-hw { display: grid; gap: 36px; padding: clamp(28px, 5vw, 64px); border-radius: 36px; background: var(--px-ink); color: var(--px-white); position: relative; overflow: hidden; }
.px-hw::before { content: ""; position: absolute; right: -180px; top: -220px; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle, rgb(42 100 219 / .5), transparent 64%); pointer-events: none; }
.px-hw > * { position: relative; }
@media (min-width: 1024px) { .px-hw { grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; } }
.px-hw .px-eyebrow { color: var(--px-orange) !important; }
.px-hw h2 { color: var(--px-white); }
.px-hw p { color: #c3cad8 !important; }
.px-hw__nums { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 26px 0 0; padding: 0; }
.px-hw__nums li { padding: 16px; border-radius: 18px; background: rgb(255 255 255 / .07); }
.px-hw__nums b { display: block; font-size: 2.25rem; letter-spacing: -.04em; line-height: 1; color: var(--px-orange); }
.px-hw__nums span { display: block; margin-top: 6px; font-size: .8125rem; line-height: 1.4; color: #aab4c6; }
.px-hw__tiles { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; }
@media (min-width: 600px) { .px-hw__tiles { grid-template-columns: 1fr 1fr; } }
.px-hw__tiles li { display: grid; gap: 12px; padding: 20px; border-radius: 20px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); font-weight: 600; line-height: 1.45; color: #e7ebf3; transition: background .2s; }
.px-hw__tiles li:hover { background: rgb(255 255 255 / .1); }
.px-hw__ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--px-blue); color: var(--px-white); }
.px-hw__tiles li:nth-child(3n+1) .px-hw__ico { background: var(--px-orange); color: var(--px-ink); }
/* services */
.px-hs2__head { display: grid; gap: 12px 48px; margin-bottom: 30px; align-items: end; }
@media (min-width: 1024px) { .px-hs2__head { grid-template-columns: 1fr 1fr auto; } .px-hs2__head p { margin: 0; } }
.px-hs2__head h2 { margin: 0; max-width: 14ch; }
.px-hs2__grid { list-style: none; display: grid; gap: 16px; margin: 0; padding: 0; }
@media (min-width: 800px) { .px-hs2__grid { grid-template-columns: 1.2fr 1fr; grid-template-rows: auto auto auto; } .px-hs2__grid li.is-feat { grid-row: span 3; } }
.px-hs2__grid li { position: relative; padding: 26px; border-radius: 26px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); overflow: hidden; }
.px-hs2__grid li.is-feat { display: flex; flex-direction: column; justify-content: flex-end; min-height: 420px; color: var(--px-white); box-shadow: none; background: var(--px-ink); }
.px-hs2__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.px-hs2__grid li.is-feat::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(transparent 25%, rgb(12 18 32 / .92)); }
.px-hs2__grid li.is-feat > *:not(img) { position: relative; z-index: 2; }
.px-hs2__ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--px-soft); color: var(--px-blue); }
.px-hs2__grid li.is-feat .px-hs2__ico { background: var(--px-orange); color: var(--px-ink); }
.px-hs2__grid h3 { margin: 16px 0 8px; font-size: 1.3125rem; letter-spacing: -.02em; }
.px-hs2__grid li.is-feat h3 { color: var(--px-white); font-size: 1.75rem; }
.px-hs2__grid li p { margin: 0; font-size: .9375rem !important; }
.px-hs2__grid li.is-feat p { color: #dbe2ee !important; font-size: 1rem !important; }


/* ── Category sections: sub-sections (H3 with list / table), fixes ─────── */
.px-sm__tiles > li { list-style: none; }
.px-sm__tiles li li { padding: 0; background: none !important; box-shadow: none !important; transform: none !important; }
.px-sm__sub { display: grid; gap: 14px; margin-top: 24px; padding: clamp(20px, 3vw, 30px); border-radius: 26px; background: var(--px-bg); }
.px-sm:not(.is-panel) .px-sm__sub { background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-sm__sub h3 { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 1.375rem; letter-spacing: -.02em; }
.px-sm__sub > p { margin: 0; max-width: 72ch; }
.px-sm__sub .px-rich__table { margin: 6px 0 0; }
.px-sm__lab { list-style: none; display: grid; gap: 12px; margin: 6px 0 0; padding: 0; }
@media (min-width: 700px) { .px-sm__lab { grid-template-columns: 1fr 1fr; } }
.px-sm__lab li { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 18px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-sm:not(.is-panel) .px-sm__lab li { background: var(--px-bg); box-shadow: none; }
.px-sm__lab .px-ico { width: 28px; height: 28px; padding: 5px; border-radius: 9px; background: var(--px-blue); color: var(--px-white); box-sizing: border-box; }
.px-sm__lab b { display: block; margin-bottom: 3px; font-size: 1.0625rem; color: var(--px-ink); }
.px-sm__lab span { font-size: .9375rem; line-height: 1.6; color: #3c4558; }
.px-sm__olist { list-style: none; display: grid; gap: 12px; margin: 6px 0 0; padding: 0; }
@media (min-width: 900px) { .px-sm__olist { grid-template-columns: repeat(2, 1fr); } }
.px-sm__olist li { padding: 18px; border-radius: 18px; background: var(--px-white); box-shadow: inset 0 0 0 1px var(--px-line); }
.px-sm__olist .px-hb__sn { color: var(--px-blue); font-size: 1.375rem; margin-bottom: 6px; }
.px-sm__olist h4 { margin: 0 0 4px; font-size: 1.0625rem; }
.px-sm__olist p { margin: 0; font-size: .9375rem !important; }
.px-sm__top--photo { display: grid; gap: 24px; }
@media (min-width: 1024px) { .px-sm__top--photo { grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; } }
.px-sm .px-rich__table + .px-rich__table { margin-top: 18px; }


/* ── Contact hero: next steps ───────────────────────────────────────────── */
.px-cnext { margin-top: 28px; }
.px-cnext__h { margin: 0 0 12px !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #9aa5b8 !important; }
.px-cnext ol { list-style: none; position: relative; display: grid; gap: 4px; margin: 0; padding: 0; }
.px-cnext ol::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; border-left: 2px dashed rgb(143 178 255 / .35); }
.px-cnext li { position: relative; display: flex; gap: 16px; align-items: flex-start; padding: 8px 0; }
.px-cnext__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--px-blue); color: var(--px-white); }
.px-cnext li:first-child .px-cnext__ico { background: var(--px-orange); color: var(--px-ink); }
.px-cnext__ico .px-ico { width: 20px; height: 20px; }
.px-cnext__t { margin: 2px 0 2px !important; font-weight: 700; font-size: 1.0625rem; color: var(--px-white); }
.px-cnext__t b { margin-right: 8px; color: var(--px-orange); font-size: .875rem; }
.px-cnext__d { margin: 0 !important; font-size: .9375rem; line-height: 1.55; color: #aab4c6 !important; }
.px-cnext__tip { display: flex; gap: 12px; align-items: flex-start; margin: 16px 0 0 !important; padding: 14px 16px; border-radius: 16px; background: rgb(255 216 156 / .12); box-shadow: inset 0 0 0 1px rgb(255 216 156 / .3); font-size: .9375rem; line-height: 1.5; color: #e7ebf3 !important; }
.px-cnext__tip .px-ico { flex: none; width: 20px; height: 20px; color: var(--px-orange); }

/* ── Home: latest 12 articles, compact cards, 4 per row ───────────────── */
.px-bgrid--compact { gap: 16px; }
@media (min-width: 1024px) { .px-bgrid--compact { grid-template-columns: repeat(4, 1fr); gap: 18px; } }
.px-bgrid--compact .px-bcard { gap: 8px; padding: 8px 8px 14px; border-radius: 18px; }
.px-bgrid--compact .px-bcard__pic { border-radius: 12px; }
.px-bgrid--compact .px-bcard__pic img { aspect-ratio: 16 / 10; }
.px-bgrid--compact .px-bcard__cat { margin-inline: 6px; font-size: .75rem; }
.px-bgrid--compact .px-bcard__title { margin: 0 6px; font-size: 1rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ── Forms: « Trimite alt mesaj » ─────────────────────────────────────────── */
.ff-message-success { display: grid; justify-items: start; gap: 6px; }
.ff-message-success p { margin: 0; }
.px-ff-again { margin-top: 12px; }

/* ── Misc ───────────────────────────────────────────────────────────────── */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-form .search-field { width: 100%; min-height: 52px; box-sizing: border-box; border: 1px solid #d5dbe8; border-radius: 999px; padding: 0 20px; font: inherit; background: var(--px-white); }
.search-form .search-submit { min-height: 52px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--px-blue); color: var(--px-white); font: inherit; font-weight: 600; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
