:root {
	--ms-navy: #001f5b;
	--ms-navy-soft: #173a70;
	--ms-ink: #132033;
	--ms-terracotta: #d1a083;
	--ms-terracotta-dark: #a96f52;
	--ms-limestone: #e6e7e8;
	--ms-parchment: #fdfdfd;
	--ms-olive: #66745b;
	--ms-border: rgba(19, 32, 51, 0.14);
	--ms-shadow: 0 18px 45px rgba(19, 32, 51, 0.12);
	--ms-serif: "Playfair Display", "Cinzel", Georgia, serif;
	--ms-sans: Inter, Roboto, Arial, sans-serif;
}

.ms-page {
	background: var(--ms-parchment);
	color: var(--ms-ink);
	font-family: var(--ms-sans);
}

.ms-page h1,
.ms-page h2,
.ms-page h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0;
}

.ms-page p {
	line-height: 1.7;
}

.ms-section {
	padding: clamp(56px, 7vw, 104px) 0;
}

.ms-container {
	inline-size: min(1180px, calc(100% - 32px));
	margin-inline: auto;
}

.ms-eyebrow {
	color: var(--ms-terracotta-dark);
	display: inline-block;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ms-button {
	align-items: center;
	background: var(--ms-navy);
	border: 1px solid var(--ms-navy);
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-weight: 800;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.72rem 1rem;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ms-button:hover,
.ms-button:focus-visible {
	background: var(--ms-terracotta-dark);
	border-color: var(--ms-terracotta-dark);
	color: #fff;
}

.ms-button.secondary {
	background: transparent;
	color: var(--ms-navy);
}

.ms-button.secondary:hover,
.ms-button.secondary:focus-visible {
	background: rgba(209, 160, 131, 0.14);
	color: var(--ms-navy);
}

.ms-grid {
	display: grid;
	gap: 24px;
}

.ms-grid.two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ms-grid.three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ms-contact-cards,
.ms-team-cards {
	align-items: stretch !important;
}

.ms-contact-cards > *,
.ms-team-cards > * {
	margin-block-start: 0 !important;
}

.ms-contact-cards > .ms-panel,
.ms-team-cards > .ms-panel {
	align-self: stretch !important;
	block-size: 100%;
}

.ms-panel {
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid var(--ms-border);
	border-radius: 8px;
	box-shadow: var(--ms-shadow);
	padding: 24px 28px;
}
.ms-panel h2,
.ms-panel h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	margin-block: 0 14px;
}
.ms-panel h2 a,
.ms-panel h3 a {
	color: inherit;
	text-decoration: none;
}
.ms-panel h2 a:hover,
.ms-panel h3 a:hover {
	color: var(--ms-terracotta-dark);
}

.ms-meta-list {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
}

.ms-meta-list div {
	border-block-start: 1px solid var(--ms-border);
	padding-block-start: 12px;
}

.ms-meta-list dt {
	color: rgba(19, 32, 51, 0.62);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ms-meta-list dd {
	font-weight: 700;
	margin: 0.25rem 0 0;
}

.ms-table-wrap {
	border: 1px solid var(--ms-border);
	border-radius: 8px;
	overflow-x: auto;
}

.ms-table {
	border-collapse: collapse;
	inline-size: 100%;
	min-inline-size: 780px;
}

.ms-table th,
.ms-table td {
	border-block-end: 1px solid var(--ms-border);
	padding: 14px 16px;
	text-align: start;
	vertical-align: top;
}

.ms-table th {
	background: rgba(0, 31, 91, 0.06);
	color: var(--ms-navy);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.ms-tag {
	background: rgba(209, 160, 131, 0.16);
	border: 1px solid rgba(169, 111, 82, 0.24);
	border-radius: 999px;
	color: var(--ms-ink);
	display: inline-flex;
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.2;
	padding: 0.28rem 0.62rem;
}

.ms-tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-block: 18px 30px;
}

.ms-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-block: 14px 20px;
}

/* ============================== DATABASE VIEWS ============================== */

.ms-database-hero {
	background:
		radial-gradient(ellipse at 20% 20%, rgba(0, 31, 91, 0.55), transparent 60%),
		radial-gradient(ellipse at 90% 80%, rgba(0, 31, 91, 0.85), transparent 60%),
		linear-gradient(135deg, #0a1838 0%, #001f5b 55%, #061128 100%);
	color: rgba(255, 255, 255, 0.82);
	overflow: hidden;
	padding-block: clamp(76px, 10vw, 140px);
	position: relative;
}

.ms-database-hero::before {
	background-image: url("../images/hero-pattern.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	inset: 0;
	mix-blend-mode: luminosity;
	opacity: 0.32;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.ms-database-hero::after {
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.06) 1px, transparent 0);
	background-size: 28px 28px;
	content: "";
	inset: 0;
	mix-blend-mode: overlay;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.ms-database-hero .ms-container {
	position: relative;
	z-index: 2;
}

.ms-database-hero .ms-eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.ms-database-hero h1 {
	color: #fff;
	font-size: clamp(3.2rem, 7vw, 5.4rem);
	margin-block: 22px 0;
	max-inline-size: 1120px;
}

.ms-database-hero .ms-lead {
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(1.12rem, 2vw, 1.45rem);
	line-height: 1.55;
	margin-block: 24px 0;
	max-inline-size: 920px;
}

.ms-database-hero a {
	color: #fff;
}

.ms-database-hero .ms-tag {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.24);
	color: #fff;
}

.ms-database-hero .ms-button {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.34);
	color: #fff;
}

.ms-database-hero .ms-button.secondary {
	background: transparent;
	color: #fff;
}

.ms-database-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-block-end: 24px;
}

.ms-database-tabs--sites {
	border-block-end: 1px solid var(--ms-border);
	flex-wrap: nowrap;
	gap: clamp(20px, 3.2vw, 46px);
	margin-block-end: 22px;
	overflow-x: auto;
}

.ms-database-tabs--types {
	gap: 10px;
	margin-block-end: 22px;
}

.ms-database-tab {
	align-items: baseline;
	border-block-end: 3px solid transparent;
	color: rgba(19, 32, 51, 0.68);
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: 0.06em;
	padding: 14px 0;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.ms-database-tab span {
	color: var(--ms-terracotta-dark);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.ms-database-tab:hover,
.ms-database-tab:focus-visible,
.ms-database-tab.active {
	border-color: var(--ms-terracotta-dark);
	color: var(--ms-navy);
}

.ms-database-tabs--types .ms-database-tab {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	box-shadow: 0 10px 28px rgba(19, 32, 51, 0.08);
	flex-direction: column;
	gap: 4px;
	min-inline-size: 170px;
	padding: 14px clamp(14px, 2.2vw, 28px);
}

.ms-database-tabs--types .ms-database-tab.active {
	background: var(--ms-navy);
	border-color: var(--ms-navy);
	color: #fff;
}

.ms-database-tabs--types .ms-database-tab.active span {
	color: rgba(255, 255, 255, 0.76);
}

.ms-filter-form {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(170px, 230px));
	margin-block: 0 32px;
	padding: 18px;
}

.ms-filter-form label {
	display: grid;
	gap: 8px;
	margin: 0;
}

.ms-filter-form input,
.ms-filter-form select {
	background: #fff;
	border: 1px solid rgba(19, 32, 51, 0.18);
	border-radius: 6px;
	color: var(--ms-ink);
	font: inherit;
	inline-size: 100%;
	min-block-size: 44px;
	padding: 0.6rem 0.72rem;
}

.ms-filter-form input::placeholder {
	color: rgba(19, 32, 51, 0.42);
}

.ms-filter-form .ms-button,
.ms-page form.ms-panel > .ms-button {
	align-self: end;
	inline-size: auto;
	justify-content: center;
	justify-self: start;
	min-inline-size: 124px;
}

.ms-fe-filters {
	margin-block: 0 32px;
	padding: 24px;
	overflow: visible;
}

.ms-fe-filters .widget {
	margin: 0;
}

.ms-fe-filters .wpc-filters-main-wrap,
.ms-fe-filters .wpc-filters-widget-wrapper,
.ms-fe-filters .wpc-filters-widget-content {
	margin: 0;
	padding: 0;
}

.ms-fe-filters .wpc-filters-open-button-container,
.ms-fe-filters .wpc-widget-close-container,
.ms-fe-filters .wpc-filters-widget-top-container,
.ms-fe-filters .wpc-posts-found,
.ms-fe-filters .wpc-filters-widget-controls-container {
	display: none !important;
}

.ms-fe-filters .wpc-filters-widget-content {
	background: transparent;
	border: 0 !important;
	box-shadow: none !important;
	block-size: auto !important;
	inline-size: 100%;
	max-block-size: none !important;
}

.ms-fe-filters .wpc-filters-scroll-container {
	margin: 0;
	overflow: visible;
}

.ms-fe-filters .wpc-filters-widget-wrapper {
	display: grid !important;
	gap: 24px 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	inline-size: 100%;
}

.ms-fe-filters .wpc-horizontal-layout .wpc-filters-section:not(.wpc-filter-layout-submit-button) {
	inline-size: auto !important;
	margin: 0 !important;
	max-inline-size: none !important;
}

.ms-fe-filters .wpc-filters-section:has(.wpc-no-filter-terms) {
	display: none !important;
}

.ms-fe-filters .wpc-filter-title {
	color: var(--ms-terracotta-dark);
	font: 700 0.75rem/1.2 var(--ms-sans);
	letter-spacing: 0.14em;
	margin-block-end: 8px;
	text-transform: uppercase;
}

.ms-fe-filters .wpc-filter-layout-submit-button {
	grid-column: 1 / -1;
	margin-block-start: 12px;
	max-inline-size: none !important;
	width: 100% !important;
}

.ms-fe-filters .wpc-sticky-buttons {
	align-items: center;
	border: 1px solid rgba(19, 32, 51, 0.1);
	border-radius: 6px;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 14px 16px;
	width: 100%;
}

.ms-fe-filters .wpc-filter-search-form,
.ms-fe-filters .wpc-search-field-wrapper,
.ms-fe-filters .wpc-filter-search-wrapper {
	margin: 0;
	width: 100%;
}

.ms-fe-filters .wpc-filter-content select,
.ms-fe-filters input.wpc-search-field,
.ms-fe-filters input.wpc-filter-search-field {
	background-color: #fff;
	border: 1px solid rgba(19, 32, 51, 0.18);
	border-radius: 6px;
	color: var(--ms-ink);
	font: 500 1rem/1.4 var(--ms-sans);
	min-block-size: 44px;
	padding-block: 0.58rem;
}

.ms-fe-filters .wpc-filter-content select {
	padding-inline: 0.72rem 2rem;
}

.ms-fe-filters input.wpc-search-field,
.ms-fe-filters input.wpc-filter-search-field {
	padding-inline: 2.25rem 0.72rem;
}

.ms-fe-filters input::placeholder {
	color: rgba(19, 32, 51, 0.42);
}

.ms-fe-filters .wpc-filters-ul-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.ms-fe-filters .wpc-checkbox-item,
.ms-fe-filters .wpc-label-item {
	margin: 0;
}

.ms-fe-filters .wpc-term-item-content-wrapper {
	align-items: center;
	display: flex;
	gap: 8px;
}

.ms-fe-filters .wpc-filter-link {
	color: var(--ms-ink);
	text-decoration: none;
}

.ms-fe-filters .wpc-filter-link:hover,
.ms-fe-filters .wpc-filter-link:focus-visible,
.ms-fe-filters .wpc-see-more-control:hover,
.ms-fe-filters .wpc-see-more-control:focus-visible {
	color: var(--ms-terracotta-dark);
}

.ms-fe-filters .wpc-term-count {
	color: rgba(19, 32, 51, 0.45);
	margin-inline-start: 0.18rem;
}

.ms-fe-filters .wpc-filters-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ms-fe-filters .wpc-filter-label-wrapper {
	align-items: center;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(19, 32, 51, 0.18);
	border-radius: 6px;
	display: inline-flex;
	gap: 0.2rem;
	min-block-size: 34px;
	padding: 0.28rem 0.72rem;
}

.ms-fe-filters .wpc-label-input:checked + label .wpc-filter-label-wrapper,
.ms-fe-filters .wpc-filter-label-wrapper:hover {
	border-color: var(--ms-terracotta-dark);
}

.ms-fe-filters .wpc-see-more-control,
.ms-fe-filters .wpc-see-less-control {
	color: var(--ms-navy);
	display: inline-block;
	font-weight: 700;
	margin-block-start: 8px;
	text-decoration-color: rgba(0, 31, 91, 0.25);
	text-underline-offset: 0.18em;
}

.ms-fe-filters .wpc-filter-few-terms .wpc-see-more-control,
.ms-fe-filters .wpc-filter-few-terms .wpc-see-less-control {
	display: none !important;
}

.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-submit-button,
.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-reset-button {
	align-items: center;
	border-radius: 6px;
	display: inline-flex;
	font: 800 0.98rem/1 var(--ms-sans);
	justify-content: center;
	margin: 0 !important;
	min-block-size: 44px;
	padding: 0.72rem 1rem;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
	white-space: nowrap;
}

.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-submit-button {
	background: var(--ms-navy) !important;
	border: 1px solid var(--ms-navy) !important;
	color: #fff !important;
	inline-size: min(220px, 100%) !important;
	max-inline-size: 220px !important;
}

.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-reset-button {
	background: #fff !important;
	border: 1px solid rgba(19, 32, 51, 0.18) !important;
	color: var(--ms-navy) !important;
	inline-size: min(180px, 100%) !important;
	max-inline-size: 180px !important;
}

.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-submit-button:hover,
.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-submit-button:focus-visible {
	background: var(--ms-terracotta-dark) !important;
	border-color: var(--ms-terracotta-dark) !important;
	color: #fff !important;
	opacity: 1;
}

.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-reset-button:hover,
.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-reset-button:focus-visible {
	background: rgba(209, 160, 131, 0.14) !important;
	border-color: var(--ms-terracotta-dark) !important;
	color: var(--ms-navy) !important;
	opacity: 1;
}

.ms-database-overview {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-block-start: 24px;
}

.ms-database-card {
	background: #fff;
	border: 1px solid var(--ms-border);
	border-radius: 8px;
	box-shadow: 0 16px 40px rgba(19, 32, 51, 0.08);
	color: var(--ms-ink);
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-block-size: 250px;
	padding: 24px;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ms-database-card:hover,
.ms-database-card:focus-visible {
	border-color: var(--ms-terracotta-dark);
	box-shadow: 0 24px 60px rgba(19, 32, 51, 0.12);
	color: var(--ms-ink);
	transform: translateY(-2px);
}

.ms-database-card h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	margin: 0;
}

.ms-database-card p {
	color: rgba(19, 32, 51, 0.68);
	font-size: 0.95rem;
	margin: 0;
}

.ms-page .navigation.pagination {
	margin-block-start: 32px;
}

.ms-page .navigation.pagination .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.ms-page .navigation.pagination .page-numbers {
	align-items: center;
	background: #fff;
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	color: var(--ms-navy);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-block-size: 42px;
	min-inline-size: 42px;
	padding-inline: 12px;
	text-decoration: none;
}

.ms-page .navigation.pagination .page-numbers.current {
	background: var(--ms-navy);
	border-color: var(--ms-navy);
	color: #fff;
}

.ms-page .navigation.pagination .page-numbers:hover,
.ms-page .navigation.pagination .page-numbers:focus-visible {
	background: rgba(209, 160, 131, 0.14);
	border-color: var(--ms-terracotta-dark);
	color: var(--ms-navy);
}

.ms-page .navigation.pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	min-inline-size: 24px;
}

@media (max-width: 820px) {
	.ms-grid.two,
	.ms-grid.three,
	.ms-meta-list {
		grid-template-columns: 1fr;
	}
}

/* ============================== FRONT PAGE — split-screen home ============================== */

.ms-home {
	background: var(--ms-parchment);
	color: var(--ms-ink);
	font-family: var(--ms-sans);
}

.ms-home h1, .ms-home h2, .ms-home h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	line-height: 1.08;
	margin: 0;
}

.ms-home p { line-height: 1.62; margin: 0; }

.ms-home-eyebrow {
	color: var(--ms-terracotta-dark);
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ms-home-lead {
	color: rgba(19, 32, 51, 0.72);
	font-size: clamp(1.05rem, 1.4vw, 1.22rem);
	max-inline-size: 60ch;
}

/* hero */
.ms-home-hero {
	background:
		radial-gradient(ellipse at 20% 20%, rgba(0, 31, 91, 0.55), transparent 60%),
		radial-gradient(ellipse at 90% 80%, rgba(0, 31, 91, 0.85), transparent 60%),
		linear-gradient(135deg, #0a1838 0%, #001f5b 55%, #061128 100%);
	color: #fff;
	padding: clamp(96px, 14vw, 100px) 0 clamp(64px, 9vw, 120px);
	position: relative;
	overflow: hidden;
}
/* warstwa 1: archeologiczny pattern (plany sondaży, ślady terenowe), luminosity blend
   — z pomarańczowego źródła zostaje tylko struktura linii i tekstura na granacie */
.ms-home-hero::before {
	background-image: url("../images/hero-pattern.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	inset: 0;
	mix-blend-mode: luminosity;
	opacity: 0.32;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}
/* warstwa 2: subtelna siatka punktowa (papier miedziorytu) */
.ms-home-hero::after {
	background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0);
	background-size: 28px 28px;
	content: "";
	inset: 0;
	mix-blend-mode: overlay;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}
.ms-home-hero .ms-container { position: relative; z-index: 2; }
.ms-home-hero .ms-home-eyebrow { color: rgba(255,255,255,0.72); }
.ms-home-hero h1 {
	color: #fff;
	font-size: clamp(2.4rem, 5.4vw, 4.6rem);
	margin-block: 14px 22px;
	max-inline-size: 16ch;
}
.ms-home-hero .ms-home-lead {
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(1.1rem, 1.6vw, 1.36rem);
}
/* CTA wrapper — działa zarówno jako <div class="ms-home-cta">
   jak i <div class="wp-block-buttons ms-home-cta"> (core/buttons z Gutenberga) */
.ms-home-cta,
.wp-block-buttons.ms-home-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-block-start: 36px;
}
/* Przyciski:
    - legacy <a class="ms-home-btn"> stylujemy bezpośrednio
    - core/button renderuje <div class="wp-block-button ms-home-btn"><a class="wp-block-button__link">
      stylujemy wtedy wewnętrzny link, NIE wrapper (inaczej padding by się dublował) */
a.ms-home-btn,
.wp-block-button.ms-home-btn > .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 4px;
	color: #fff;
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	padding: 14px 22px;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 160ms ease, transform 160ms ease;
}
a.ms-home-btn:hover,
.wp-block-button.ms-home-btn > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
	transform: translateY(-1px);
}
a.ms-home-btn--ghost,
.wp-block-button.ms-home-btn--ghost > .wp-block-button__link {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.6);
}
a.ms-home-btn--ghost:hover,
.wp-block-button.ms-home-btn--ghost > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
}
.ms-home-meta {
	border-block-start: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.72);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.84rem;
	gap: 28px;
	letter-spacing: 0.06em;
	margin-block-start: 64px;
	padding-block-start: 22px;
	text-transform: uppercase;
}

/* split-screen */
.ms-home-duo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-block-size: 78vh;
}
.ms-duo-pane {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	padding: clamp(40px, 5vw, 72px);
	position: relative;
	text-decoration: none;
	transition: filter 0.3s ease;
}
.ms-duo-pane::before {
	background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.78) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}
.ms-duo-pane > * { position: relative; z-index: 2; }
.ms-duo-pane:hover { filter: brightness(1.08); }
.ms-duo-pane--cg {
	background: linear-gradient(135deg, #4a3022 0%, #2c1c14 60%, #1a1208 100%);
}
.ms-duo-pane--cg::after {
	content: none;
}
.ms-duo-bg, .ms-duo-bg video, .ms-duo-bg img {
	block-size: 100%;
	inline-size: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	z-index: 0;
}
.ms-duo-badge {
	align-items: center;
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding: 6px 14px;
	text-transform: uppercase;
	width: fit-content;
}
.ms-duo-badge--active { background: var(--ms-terracotta-dark); border-color: var(--ms-terracotta-dark); }
.ms-duo-pane h2 {
	color: #fff;
	font-size: clamp(2rem, 3.6vw, 3rem);
	margin-block: 16px 8px;
}
.ms-duo-sub {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin-block-end: 18px;
	text-transform: uppercase;
}
.ms-duo-desc {
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.02rem;
	line-height: 1.6;
	margin-block-end: 20px;
	max-inline-size: 48ch;
}
.ms-duo-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: 26px; }
.ms-duo-tag {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	color: #fff;
	font-size: 0.74rem;
	font-weight: 600;
	padding: 4px 12px;
}
.ms-duo-cta {
	color: #fff;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* tiles */
.ms-home-section-header {
	display: grid;
	gap: 14px;
	margin-block-end: 36px;
	max-inline-size: 760px;
}
.ms-home-section-header--center { margin-inline: auto; text-align: center; }
.ms-home-section-header h2 { font-size: clamp(1.9rem, 3.8vw, 3rem); }

.ms-home-tiles {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ms-home-tile {
	background: var(--ms-parchment);
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	box-shadow: var(--ms-shadow);
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.ms-home-tile:hover {
	border-color: var(--ms-terracotta);
	box-shadow: 0 28px 70px rgba(0,31,91,0.14);
	transform: translateY(-3px);
}
.ms-home-tile-num {
	color: var(--ms-terracotta-dark);
	font-family: var(--ms-serif);
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}
.ms-home-tile h3 { font-size: 1.35rem; }
.ms-home-tile p { color: rgba(19,32,51,0.7); font-size: 0.92rem; }
.ms-home-tile-arrow {
	color: var(--ms-navy);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-block-start: auto;
	text-transform: uppercase;
}

/* team */
.ms-team-photo {
	aspect-ratio: 3 / 2;
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	box-shadow: var(--ms-shadow);
	margin: 34px 0 44px;
	overflow: hidden;
}
.ms-team-photo img {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	object-position: center;
}

/* partners */
.ms-home-partners {
	background: var(--ms-limestone);
	border-block: 1px solid var(--ms-border);
	padding: 64px 0;
}
.ms-home-partner-bar {
	align-items: center;
	display: grid;
	gap: 32px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ms-home-partner {
	border: 1px dashed rgba(0,31,91,0.2);
	border-radius: 4px;
	color: var(--ms-navy);
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px;
	text-align: center;
}
.ms-home-partner strong { font-family: var(--ms-serif); font-size: 1.05rem; }
.ms-home-partner span {
	color: rgba(19,32,51,0.7);
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ms-home-partner--logo {
	align-items: center;
	justify-content: center;
	min-block-size: 96px;
}
/* core/image w komórce logo: zerujemy default margines figure i centrujemy */
.ms-home-partner--logo .wp-block-image,
.ms-home-partner--logo figure {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	max-inline-size: 100%;
}
.ms-home-partner--logo img {
	display: block;
	max-block-size: 56px;
	max-inline-size: 80%;
	inline-size: auto;
	block-size: auto;
	object-fit: contain;
}
.ms-home-partner-note {
	color: rgba(19,32,51,0.7);
	font-size: 0.86rem;
	margin-block-start: 26px;
	text-align: center;
}

/* responsive */
@media (max-width: 1024px) {
	.ms-home-duo { grid-template-columns: 1fr; }
	.ms-duo-pane { min-block-size: 60vh; }
	.ms-home-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-home-partner-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.ms-home-tiles { grid-template-columns: 1fr; }
	.ms-home-partner-bar { grid-template-columns: 1fr; }
}

/* ============================== PROJECT PAGES (Campogrosso, Tre Cantoni, podstrony) ============================== */

/* warianty .ms-section */
.ms-section.alt { background: var(--ms-limestone); }
.ms-section.dark { background: var(--ms-navy); color: #fff; }
.ms-section.dark h1,
.ms-section.dark h2,
.ms-section.dark h3 { color: #fff; }

/* nagłówek sekcji (eyebrow + h2 + lead) — używany w sekcjach project page */
.ms-section-header {
	display: grid;
	gap: 14px;
	margin-block-end: 36px;
	max-inline-size: 760px;
}
.ms-section-header.center {
	margin-inline: auto;
	text-align: center;
}
.entry-content .ms-section,
.entry-content .ms-section p,
.entry-content .ms-section li,
.entry-content .ms-section dd,
.entry-content .ms-section dt {
	font-family: var(--ms-sans);
}
.entry-content .ms-section-header h2,
.entry-content .ms-section .ms-container > h2,
.entry-content .ms-section .ms-container > h3,
.entry-content .ms-project-card h2,
.entry-content .ms-tile h3,
.entry-content .ms-record-card h3,
.entry-content .ms-pub-item h3,
.entry-content .ms-saggio3-panel h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	margin-block-start: 0;
}
.entry-content .ms-section-header h2 {
	font-size: clamp(1.9rem, 3.8vw, 3rem);
}
.entry-content .ms-section .ms-container > h2 {
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	margin-block: 0 22px;
}
.entry-content .ms-section .ms-container > h3 {
	font-size: clamp(1.2rem, 1.8vw, 1.55rem);
	margin-block: 32px 12px;
}
.entry-content .ms-section-header .ms-lead {
	color: rgba(19, 32, 51, 0.68);
	font-size: clamp(1.05rem, 1.4vw, 1.22rem);
	line-height: 1.6;
	max-inline-size: 60ch;
}

/* hero podstrony projektu — ciemne tło, video lub gradient placeholder.
   Warstwy (od dołu w górę):
     z-index 0  — .ms-bg-media (video lub <img>)
     z-index 1  — pattern PNG (archeologiczne sondaże, mix-blend luminosity)
                 + dot grid (papier miedziorytu, mix-blend overlay)
                 + dark overlay dla czytelności tekstu
     z-index 2  — .ms-container (treść hero) */
.ms-project-hero {
	color: #fff;
	min-block-size: 64vh;
	overflow: hidden;
	padding: clamp(120px, 14vw, 180px) 0 clamp(48px, 6vw, 80px);
	position: relative;
}
.ms-project-hero .ms-container { position: relative; z-index: 2; }
.ms-project-hero::before {
	background-image: url("../images/hero-pattern.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	inset: 0;
	mix-blend-mode: luminosity;
	opacity: 0.32;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}
.ms-project-hero::after {
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.06) 1px, transparent 0);
	background-size: 28px 28px;
	content: "";
	inset: 0;
	mix-blend-mode: overlay;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}
.ms-project-hero .ms-bg-media,
.ms-project-hero .ms-bg-media video,
.ms-project-hero .ms-bg-media img {
	block-size: 100%;
	inline-size: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	z-index: 0;
}
.ms-project-hero .ms-bg-media::after {
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 31, 91, 0.45) 48%, rgba(0, 0, 0, 0.3) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.62) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}
.ms-project-hero h1 {
	color: #fff;
	font-family: var(--ms-serif);
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	margin-block: 14px 8px;
	max-inline-size: 18ch;
}
.ms-project-hero .ms-lead {
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(1.05rem, 1.4vw, 1.22rem);
	max-inline-size: 60ch;
}
.ms-project-hero .ms-eyebrow { color: rgba(255, 255, 255, 0.78); }
.ms-project-hero .ms-duo-sub {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.96rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-block-end: 8px;
	text-transform: uppercase;
}
.ms-project-hero .ms-hero-meta {
	border-block-start: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.84rem;
	gap: 28px;
	letter-spacing: 0.06em;
	margin-block-start: 64px;
	padding-block-start: 22px;
	text-transform: uppercase;
}

/* compact wariant — dla podstron projektu (Historia, Kościół, Klasztor itp.)
   krótszy hero, mniejsza typografia h1 */
.ms-project-hero.compact {
	min-block-size: auto;
	padding: clamp(100px, 12vw, 160px) 0 clamp(56px, 8vw, 96px);
}
.ms-project-hero.compact h1 {
	font-size: clamp(2rem, 4vw, 3.4rem);
}

/* placeholder gradients dla project hero gdy brak zdjęcia tła.
   3 warstwy:
     1) dark overlay z dołu (czytelność tekstu meta/lead)
     2) silne radial gradients navy
     3) base linear gradient navy (jak na home)
   CG i TC obecnie identyczne — można później zróżnicować jeśli klient
   poda osobne style charakterystyczne dla każdego stanowiska. */
.ms-project-hero-placeholder-cg,
.ms-project-hero-placeholder-tc {
	background:
		linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.45) 80%, rgba(0, 0, 0, 0.7) 100%),
		radial-gradient(ellipse at 20% 20%, rgba(0, 31, 91, 0.55), transparent 60%),
		radial-gradient(ellipse at 90% 80%, rgba(0, 31, 91, 0.85), transparent 60%),
		linear-gradient(135deg, #0a1838 0%, #001f5b 55%, #061128 100%);
}

/* karta podstawowa: 2 kolumny — fakty stanowiska + opis/mapa */
.ms-project-card {
	display: grid;
	gap: clamp(28px, 4vw, 56px);
	grid-template-columns: 1fr 1fr;
}
.ms-project-card .ms-panel {
	padding: 32px;
}
.ms-project-card h2 {
	font-size: clamp(1.5rem, 2.2vw, 1.9rem);
	margin-block-end: 20px;
}

/* "fact-table" jako definition list — ten sam wzór co .ms-meta-list, ale jednolinijkowy */
.ms-fact-table {
	border-block-start: 1px solid var(--ms-border);
	margin: 0;
}
.ms-fact-table > div {
	border-block-end: 1px solid var(--ms-border);
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr 2fr;
	padding: 14px 4px;
}
.ms-fact-table dt {
	color: rgba(19, 32, 51, 0.7);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ms-fact-table dd {
	color: var(--ms-ink);
	font-weight: 600;
	margin: 0;
}

/* mapa placeholder */
.ms-map-block {
	background:
		linear-gradient(135deg, rgba(230, 231, 232, 0.96), rgba(243, 241, 236, 0.92)),
		var(--ms-limestone);
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	color: inherit;
	display: grid;
	min-block-size: 240px;
	overflow: hidden;
	place-items: center;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.ms-map-block::before {
	background:
		linear-gradient(115deg, transparent 0 22%, rgba(0, 31, 91, 0.12) 22% 23%, transparent 23% 100%),
		linear-gradient(35deg, transparent 0 48%, rgba(169, 111, 82, 0.16) 48% 49%, transparent 49% 100%),
		linear-gradient(155deg, transparent 0 60%, rgba(0, 31, 91, 0.10) 60% 61%, transparent 61% 100%),
		repeating-linear-gradient(0deg, rgba(0, 31, 91, 0.035) 0 1px, transparent 1px 34px),
		repeating-linear-gradient(90deg, rgba(0, 31, 91, 0.03) 0 1px, transparent 1px 42px);
	content: "";
	filter: blur(1.4px);
	inset: -12px;
	position: absolute;
	transform: scale(1.04);
}
.ms-map-block::after {
	background:
		radial-gradient(circle at 50% 48%, rgba(209, 160, 131, 0.18), transparent 28%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(0, 31, 91, 0.05));
	content: "";
	inset: 0;
	position: absolute;
}
.ms-map-block:hover,
.ms-map-block:focus-visible {
	border-color: rgba(169, 111, 82, 0.45);
	box-shadow: 0 24px 58px rgba(0, 31, 91, 0.14);
	transform: translateY(-2px);
}
.ms-map-block-content {
	background: rgba(253, 253, 253, 0.94);
	border: 1px solid var(--ms-border);
	border-radius: 4px;
	display: grid;
	gap: 5px;
	justify-items: center;
	min-inline-size: min(340px, calc(100% - 32px));
	padding: 18px 22px;
	position: relative;
	z-index: 1;
}
.ms-map-pin {
	background: var(--ms-terracotta-dark);
	block-size: 24px;
	border: 3px solid #fff;
	border-radius: 50% 50% 50% 0;
	box-shadow: 0 8px 18px rgba(0, 31, 91, 0.22);
	display: inline-block;
	inline-size: 24px;
	margin-block-end: 4px;
	transform: rotate(-45deg);
}
.ms-map-pin::after {
	background: #fff;
	border-radius: 50%;
	content: "";
	display: block;
	block-size: 7px;
	inline-size: 7px;
	inset-block-start: 6px;
	inset-inline-start: 6px;
	position: relative;
}
.ms-map-block-content strong {
	color: var(--ms-navy);
	display: block;
	font-family: var(--ms-serif);
	font-size: 1.05rem;
}
.ms-map-block-content span {
	color: rgba(19, 32, 51, 0.7);
	font-size: 0.82rem;
}
.ms-map-block-content small {
	color: var(--ms-terracotta-dark);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Tile grid (Tematy badawcze, kategorie itp.) */
.ms-tile-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ms-tile-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ms-tile-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ms-tile {
	background: var(--ms-parchment);
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	box-shadow: var(--ms-shadow);
	color: var(--ms-ink);
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 32px;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.ast-single-post .entry-content a.ms-tile,
.entry-content a.ms-tile,
.ast-single-post .entry-content a.ms-button,
.entry-content a.ms-button,
.ast-single-post .entry-content .ms-pub-actions a,
.entry-content .ms-pub-actions a {
	text-decoration: none;
}
.ms-tile:hover {
	border-color: var(--ms-terracotta);
	box-shadow: 0 28px 70px rgba(0, 31, 91, 0.14);
	transform: translateY(-3px);
}
.ms-tile h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-size: clamp(1.25rem, 1.8vw, 1.55rem);
}
.ms-tile p { color: rgba(19, 32, 51, 0.7); font-size: 0.95rem; }
.ms-tile-arrow {
	align-items: center;
	color: var(--ms-navy);
	display: inline-flex;
	font-size: 0.84rem;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.08em;
	margin-block-start: auto;
	text-transform: uppercase;
}

/* Galeria */
.ms-gallery-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ms-gallery-item {
	aspect-ratio: 4 / 3;
	background: var(--ms-limestone);
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	display: grid;
	overflow: hidden;
	place-items: center;
	position: relative;
}
.ms-gallery-item img {
	block-size: 100%;
	inline-size: 100%;
	object-fit: cover;
	transition: transform 180ms ease;
}
.ms-gallery-link {
	color: #fff;
	text-decoration: none;
}
.ast-single-post .entry-content a.ms-gallery-link,
.entry-content a.ms-gallery-link {
	text-decoration: none;
}
.ms-gallery-link::before {
	background: linear-gradient(180deg, rgba(0, 31, 91, 0) 35%, rgba(0, 31, 91, 0.82) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}
.ms-gallery-link:hover img,
.ms-gallery-link:focus-visible img {
	transform: scale(1.04);
}
.ms-gallery-caption {
	align-self: end;
	color: #fff;
	display: grid;
	gap: 3px;
	inset: auto 0 0;
	padding: 18px;
	position: absolute;
	text-align: left;
	z-index: 2;
}
.ms-gallery-caption strong {
	display: block;
	font-family: var(--ms-serif);
	font-size: 1rem;
	line-height: 1.15;
}
.ms-gallery-caption small {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ms-gallery-item .ms-placeholder-tag {
	color: rgba(19, 32, 51, 0.7);
	font-size: 0.82rem;
	font-style: italic;
	text-align: center;
	padding: 12px;
}
.ms-gallery-cta {
	margin-block-start: 28px;
	text-align: center;
}

/* Rekordy z bazy (lista artefaktów na project page) */
.ms-records { display: grid; gap: 16px; }
.ms-record-card {
	background: #fff;
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	box-shadow: var(--ms-shadow);
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr auto;
	padding: 22px 26px;
}
.ms-record-card > .ms-button {
	align-self: center;
	justify-self: end;
}
.ms-record-id {
	color: var(--ms-terracotta-dark);
	font-family: var(--ms-sans);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.ms-record-card h2,
.ms-record-card h3 {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-size: 1.32rem;
	font-weight: 700;
	line-height: 1.08;
	margin-block: 6px 8px;
}
.ms-record-card h2 a,
.ms-record-card h3 a {
	color: inherit;
	text-decoration: none;
}
.ms-record-card h2 a:hover,
.ms-record-card h3 a:hover { color: var(--ms-terracotta-dark); }
.ms-record-card p { color: rgba(19, 32, 51, 0.7); font-size: 0.95rem; margin: 0; }
.ms-record-card .ms-meta-list { margin-block-start: 18px; }
.ms-card-button { margin-block-start: 16px; }
.ms-table .ms-button {
	min-block-size: 36px;
	padding: 0.46rem 0.78rem;
	white-space: nowrap;
}

/* meta-row — wiersz z tagami pod opisem rekordu */
.ms-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-block: 14px;
}

/* Interaktywny przekrój Saggio 3 */
.ms-saggio3 {
	align-items: stretch;
	display: grid;
	gap: clamp(22px, 4vw, 42px);
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	margin-block: 34px;
}
.ms-saggio3-diagram {
	background:
		linear-gradient(170deg, rgba(0, 31, 91, 0.1), transparent 34%),
		linear-gradient(180deg, #f7f3ee 0%, #e6ddd5 48%, #c9b3a3 100%);
	border: 1px solid var(--ms-border);
	border-radius: 8px;
	box-shadow: var(--ms-shadow);
	min-block-size: 430px;
	overflow: hidden;
	position: relative;
}
.ms-saggio3-diagram::before {
	background-image:
		linear-gradient(18deg, transparent 0 44%, rgba(19, 32, 51, 0.12) 45% 46%, transparent 47%),
		linear-gradient(-10deg, transparent 0 53%, rgba(19, 32, 51, 0.1) 54% 55%, transparent 56%),
		radial-gradient(circle at 1px 1px, rgba(0, 31, 91, 0.1) 1px, transparent 0);
	background-size: 100% 100%, 100% 100%, 26px 26px;
	content: "";
	inset: 0;
	opacity: 0.74;
	position: absolute;
}
.ms-saggio3-diagram-label {
	background: rgba(253, 253, 253, 0.9);
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	inset-block-start: 22px;
	inset-inline-start: 22px;
	padding: 10px 14px;
	position: absolute;
	z-index: 3;
}
.ms-saggio3-diagram-label span {
	color: var(--ms-terracotta-dark);
	display: block;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ms-saggio3-diagram-label strong {
	color: var(--ms-navy);
	font-family: var(--ms-serif);
	font-size: 1.05rem;
}
.ms-saggio3-layer {
	border: 1px solid rgba(19, 32, 51, 0.24);
	border-radius: 7px;
	color: var(--ms-ink);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
	padding: 14px 18px;
	position: absolute;
	text-align: start;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	z-index: 2;
}
.ms-saggio3-layer:hover,
.ms-saggio3-layer:focus-visible,
.ms-saggio3-layer[aria-pressed="true"] {
	border-color: var(--ms-navy);
	box-shadow: 0 14px 34px rgba(0, 31, 91, 0.2);
	outline: none;
	transform: translateY(-2px);
}
.ms-saggio3-layer-title {
	font-family: var(--ms-serif);
	font-size: 1.1rem;
	font-weight: 700;
}
.ms-saggio3-layer-meta {
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.ms-saggio3-layer--layer3 {
	background: rgba(209, 160, 131, 0.9);
	inset-block-start: 32%;
	inset-inline: 9% 12%;
	min-block-size: 82px;
	transform: rotate(-2deg);
}
.ms-saggio3-layer--layer48 {
	background: rgba(173, 130, 100, 0.86);
	inset-block-start: 52%;
	inset-inline: 7% 10%;
	min-block-size: 96px;
	transform: rotate(1.5deg);
}
.ms-saggio3-layer--kiln {
	background: rgba(101, 64, 45, 0.92);
	border-color: rgba(255, 255, 255, 0.3);
	border-radius: 44% 44% 10px 10px;
	color: #fff;
	inset-block-end: 10%;
	inset-inline-start: 34%;
	min-block-size: 126px;
	inline-size: 34%;
	text-align: center;
}
.ms-saggio3-panels {
	display: grid;
}
.ms-saggio3-panel {
	background: #fff;
	border: 1px solid var(--ms-border);
	border-radius: 8px;
	box-shadow: var(--ms-shadow);
	padding: clamp(24px, 3vw, 34px);
}
.ms-saggio3-panel h3 {
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	margin-block: 8px 14px;
}
.ms-saggio3-panel .ms-button {
	margin-block-start: 8px;
}

/* Lista bibliografii / publikacji */
.ms-pub-list { display: grid; gap: 14px; }
.ms-pub-item {
	background: #fff;
	border: 1px solid var(--ms-border);
	border-radius: 6px;
	display: grid;
	gap: 6px;
	padding: 22px 26px;
}
.ms-pub-meta {
	color: rgba(19, 32, 51, 0.7);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.ms-pub-item h3 { font-size: 1.1rem; margin-block-end: 4px; }
.ms-pub-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-block-start: 6px;
}
.ms-pub-actions a {
	color: var(--ms-terracotta-dark);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}
.ms-pub-actions a:hover { color: var(--ms-navy); }

/* warianty .ms-button (uzupełnienie obecnego base) */
.ms-button.outline-navy,
a.ms-button.outline-navy {
	background: transparent;
	border-color: var(--ms-navy);
	color: var(--ms-navy);
}
.ms-button.outline-navy:hover,
a.ms-button.outline-navy:hover {
	background: var(--ms-navy);
	color: #fff;
}

/* responsive korekty project pages */
@media (max-width: 1024px) {
	.ms-project-card { grid-template-columns: 1fr; }
	.ms-database-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-tile-grid,
	.ms-tile-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-fe-filters .wpc-filters-widget-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.ms-tile-grid,
	.ms-tile-grid.four,
	.ms-gallery-grid,
	.ms-database-overview,
	.ms-filter-form {
		grid-template-columns: 1fr !important;
	}
	.ms-database-tabs--sites {
		flex-wrap: wrap;
		overflow-x: visible;
	}
	.ms-database-tab {
		inline-size: 100%;
		justify-content: space-between;
	}
	.ms-page form.ms-panel .ms-button {
		inline-size: 100%;
		justify-content: center;
	}
	.ms-fe-filters {
		padding: 18px;
	}
	.ms-fe-filters .wpc-filters-widget-wrapper {
		grid-template-columns: 1fr;
	}
	.ms-fe-filters .wpc-sticky-buttons {
		align-items: stretch;
		flex-direction: column-reverse;
	}
	.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-submit-button,
	.ms-fe-filters .wpc-filters-main-wrap a.wpc-filters-reset-button {
		inline-size: 100% !important;
		max-inline-size: none !important;
	}
	.ms-record-card { grid-template-columns: 1fr; }
	.ms-record-card > .ms-button { justify-self: start; }
	.ms-fact-table > div { grid-template-columns: 1fr; }
	.ms-saggio3 { grid-template-columns: 1fr; }
	.ms-saggio3-diagram { min-block-size: 430px; }
	.ms-saggio3-layer--layer3 {
		inset-block-start: 31%;
		min-block-size: 78px;
	}
	.ms-saggio3-layer--layer48 {
		inset-block-start: 50%;
		min-block-size: 84px;
	}
	.ms-saggio3-layer--kiln {
		inline-size: 42%;
		inset-block-end: 5%;
		inset-inline-start: 29%;
		min-block-size: 105px;
	}
}

/* ============================== FOOTER (custom override) ============================== */

.ms-footer {
	background: var(--ms-navy);
	color: rgba(255, 255, 255, 0.78);
	padding: 64px 0 32px;
}
.ms-footer h4 {
	color: #fff;
	font-family: var(--ms-sans);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-block-end: 16px;
	text-transform: uppercase;
}
.ms-footer-grid {
	display: grid;
	gap: 36px;
	grid-template-columns: 1.2fr 1fr 1fr 1fr;
	margin-block-end: 40px;
}
.ms-footer ul { list-style: none; margin: 0; padding: 0; }
.ms-footer li { margin-block-end: 8px; }
.ms-footer a { color: rgba(255, 255, 255, 0.78); text-decoration: none; }
.ms-footer a:hover { color: var(--ms-terracotta); }
.ms-footer p { color: rgba(255, 255, 255, 0.78); font-size: 0.92rem; line-height: 1.6; }
.ms-footer-funding {
	color: rgba(255, 255, 255, 0.6) !important;
	font-size: 0.78rem !important;
	margin-block-start: 14px;
}
.ms-footer-bottom {
	border-block-start: 1px solid rgba(255, 255, 255, 0.16);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.82rem;
	gap: 16px;
	justify-content: space-between;
	padding-block-start: 22px;
}
@media (max-width: 1024px) {
	.ms-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
	.ms-footer-grid { grid-template-columns: 1fr; }
}

/* ============================== HEADER (Astra nav override) ============================== */

/* wrapper */
header.site-header,
.ast-main-header-wrap,
#masthead {
	background: rgba(253, 253, 253, 0.94) !important;
	border-block-end: 1px solid var(--ms-border) !important;
	box-shadow: none !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

/* brand: nazwa serwisu */
.site-branding .site-title,
.ast-site-identity .site-title,
.site-title a,
.ast-site-title-wrap a {
	color: var(--ms-navy) !important;
	font-family: var(--ms-serif) !important;
	font-size: 1.18rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	text-decoration: none !important;
}

/* tagline pod brandem — schowaj jeśli nie używamy */
.site-description,
.ast-site-description {
	display: none !important;
}

/* menu items */
.main-header-menu .menu-item > a,
.main-navigation .menu-item > a,
.main-header-bar .main-header-menu a,
.ast-builder-menu-1 .menu-item > a,
.main-header-bar nav .menu-item > a {
	color: var(--ms-ink) !important;
	font-family: var(--ms-sans) !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em !important;
	padding: 6px 0 !important;
	margin: 0 12px !important;
	text-decoration: none !important;
	position: relative;
}

/* podkreślenie aktywnego / hover */
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a,
.main-header-menu .current-menu-ancestor > a,
.main-navigation .current-menu-item > a,
.main-header-menu .menu-item > a:hover,
.main-navigation .menu-item > a:hover,
.ast-builder-menu-1 .menu-item > a:hover,
.main-header-bar nav .menu-item > a:hover {
	color: var(--ms-navy) !important;
}

.main-header-menu .menu-item > a::after,
.main-navigation .menu-item > a::after {
	background: var(--ms-terracotta-dark);
	block-size: 2px;
	bottom: 2px;
	content: "";
	inset-inline: 0;
	opacity: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: opacity 160ms ease, transform 160ms ease;
}

.main-header-menu .current-menu-item > a::after,
.main-header-menu .current-menu-ancestor > a::after,
.main-navigation .current-menu-item > a::after,
.main-header-menu .menu-item > a:hover::after,
.main-navigation .menu-item > a:hover::after {
	opacity: 1;
	transform: scaleX(1);
}

/* dropdown sub-menu */
.main-header-menu .sub-menu,
.main-navigation .sub-menu,
.ast-builder-menu .sub-menu {
	background: var(--ms-parchment) !important;
	border: 1px solid var(--ms-border) !important;
	box-shadow: 0 18px 40px rgba(0, 31, 91, 0.12) !important;
	border-radius: 6px !important;
	padding: 8px 0 !important;
}

.main-header-menu .sub-menu .menu-item > a,
.main-navigation .sub-menu .menu-item > a {
	color: var(--ms-ink) !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	margin: 0 !important;
	padding: 8px 18px !important;
}

.main-header-menu .sub-menu .menu-item > a:hover,
.main-navigation .sub-menu .menu-item > a:hover {
	background: rgba(209, 160, 131, 0.14) !important;
	color: var(--ms-navy) !important;
}

.main-header-menu .sub-menu .menu-item > a::after,
.main-navigation .sub-menu .menu-item > a::after {
	display: none !important;
}

/* paddingi w main-header-bar — cały zewnętrzny wrapper trzymamy 0,
   tylko sam bar dostaje 16px góra/dół jak w prototypie .nav */
.ast-main-header-wrap,
.main-header-bar-wrap,
.ast-builder-grid-row-container,
.ast-builder-grid-row-container-inner {
	padding-block: 0 !important;
	min-height: 0 !important;
}

.main-header-bar .ast-builder-grid-row {
	padding: 5px clamp(20px, 4vw, 48px) !important;
	min-height: 0 !important;
}


/* Astra wstawia spacing pomiędzy logo a nazwą — domyślnie sporo */
.ast-site-identity {
	padding: 0 !important;
}

/* mobile burger color */
.ast-mobile-menu-trigger-fill,
.ast-mobile-menu-trigger-minimal,
.menu-toggle {
	color: var(--ms-navy) !important;
	background: transparent !important;
	border-color: var(--ms-navy) !important;
}
