/* ========== THEME — globalne nadpisania bloków + sekcje + responsive helpers ========== */

/* ===== Strip default WP block margins, sterujemy własnym rytmem ===== */
.wp-site-blocks > main, .wp-site-blocks > div { padding: 0; }
.editor-styles-wrapper, body { background: var(--bg); }

/* Wide / full alignments without rounded corners */
.alignfull, .alignwide { border-radius: 0; }

/* No default block paragraph margin in narrow stories */
.entry-content p { margin: 0 0 1em; max-width: 70ch; }

/* ===== Section: shared spacing + hairlines ===== */
/* Padding skaluje się: mobile 20px → tablet 40px → desktop 64px → xl 96px → 2xl: cap content do 1440px (centered) */
.atz-section {
	padding: 40px 20px;
	border-top: 1px solid var(--hair);
}
.atz-section > * { max-width: 1440px; margin-left: auto; margin-right: auto; }
.atz-section--inset { background: var(--bg-inset); }
.atz-section--surface { background: var(--bg-elev); }
.atz-section--dark { background: var(--ink); color: var(--bg); }
.atz-section--no-border { border-top: none; }

@media (min-width: 768px)  { .atz-section { padding: 64px 40px; } }
@media (min-width: 1024px) { .atz-section { padding: 88px 56px; } }
@media (min-width: 1280px) { .atz-section { padding: 104px 80px; } }
@media (min-width: 1600px) { .atz-section { padding: 120px 96px; } }

/* Header bar — same horizontal scaling as sections */
.atz-header__bar { max-width: 1440px; margin: 0 auto; }
.atz-header__meta { padding-left: 20px; padding-right: 20px; }
@media (min-width: 768px)  { .atz-header__meta { padding-left: 40px; padding-right: 40px; } }
@media (min-width: 1024px) { .atz-header__meta { padding-left: 56px; padding-right: 56px; } }
@media (min-width: 1280px) { .atz-header__meta { padding-left: 80px; padding-right: 80px; } }
@media (min-width: 1600px) { .atz-header__meta { padding-left: 96px; padding-right: 96px; } }

/* Footer — same scaling */
.atz-footer { padding: 40px 20px 28px; }
.atz-footer > * { max-width: 1440px; margin-left: auto; margin-right: auto; }
@media (min-width: 768px)  { .atz-footer { padding: 56px 40px 32px; } }
@media (min-width: 1024px) { .atz-footer { padding: 72px 56px 40px; } }
@media (min-width: 1280px) { .atz-footer { padding: 96px 80px 48px; } }
@media (min-width: 1600px) { .atz-footer { padding: 112px 96px 56px; } }

/* ===== Hero variants — base shells (specific styling per variant) ===== */
.atz-hero { position: relative; padding: 28px 16px 40px; }
.atz-hero__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-2);
	margin-bottom: 24px;
}
.atz-hero__meta .accent { color: var(--accent); }
.atz-hero__title {
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 0.95;
	margin: 0;
	font-size: clamp(48px, 13vw, 72px);
	text-wrap: balance;
}
.atz-hero__title .accent { color: var(--accent); }
.atz-hero__lead {
	font-size: 16px;
	line-height: 1.55;
	color: var(--ink-2);
	max-width: 540px;
	margin-top: 20px;
	text-wrap: pretty;
}
.atz-hero__cta { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }

@media (min-width: 1024px) {
	.atz-hero { padding: 64px 40px 72px; }
	.atz-hero__meta { margin-bottom: 48px; }
	.atz-hero__title { font-size: clamp(96px, 10vw, 160px); }
	.atz-hero__lead { font-size: 18px; }
	.atz-hero__cta { flex-direction: row; gap: 10px; margin-top: 32px; }
}

/* ===== Hero · Photo (default) ===== */
.atz-hero-photo {
	position: relative;
	overflow: hidden;
	background: var(--ink);
	color: var(--bg);
}
/* On desktop fit hero (metabar + stage + spec strip) into the visible viewport
   minus the sticky header height, so the spec strip is never cut off. */
@media (min-width: 1024px) {
	.atz-hero-photo {
		display: flex;
		flex-direction: column;
		min-height: calc(100svh - var(--atz-header-h));
		max-height: calc(100svh - var(--atz-header-h));
	}
	.atz-hero-photo__metabar,
	.atz-hero-photo__strip { flex-shrink: 0; }
	.atz-hero-photo__stage { flex: 1; min-height: 0; }
	.atz-hero-photo__content { min-height: 0 !important; }
}
.atz-hero-photo__metabar {
	position: relative;
	z-index: 3;
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.7);
	border-bottom: 1px solid rgba(255,255,255,.12);
	background: rgba(0,0,0,.4);
	backdrop-filter: blur(6px);
}
@media (min-width: 768px)  { .atz-hero-photo__metabar { padding: 20px 40px; } }
@media (min-width: 1024px) { .atz-hero-photo__metabar { padding: 24px 56px; } }
@media (min-width: 1280px) { .atz-hero-photo__metabar { padding: 28px 80px; } }
@media (min-width: 1600px) { .atz-hero-photo__metabar { padding: 32px 96px; } }
.atz-hero-photo__metabar .accent { color: var(--accent); }
.atz-hero-photo__stage {
	position: relative;
	min-height: 560px;
}
.atz-hero-photo__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center;
}
.atz-hero-photo__scrim {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(12,12,12,.55) 0%, rgba(12,12,12,.65) 35%, rgba(12,12,12,.92) 100%);
}
@media (min-width: 1024px) {
	.atz-hero-photo__scrim {
		background: linear-gradient(180deg, rgba(12,12,12,.1) 0%, rgba(12,12,12,.2) 40%, rgba(12,12,12,.92) 100%);
	}
}
/* Hero content: identical horizontal alignment to .atz-section.
   Section has padding on .atz-section + max-width:1440 + margin:auto on direct children.
   Hero __content is a grid (margin:auto on grid items doesn't center across the parent),
   so we put the centering on __content itself with max-width = 1440 + 2 × max-padding (96)
   so text edges land on the same vertical line as section text on any viewport. */
.atz-hero-photo__content {
	position: relative;
	z-index: 2;
	padding: 30px 20px 28px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	min-height: 0;
	align-content: start;
	width: 100%;
	max-width: 1632px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 768px)  { .atz-hero-photo__content { padding: 56px 40px 48px; } }
@media (min-width: 1024px) {
	.atz-hero-photo__content {
		min-height: 560px;
		align-content: end;
		gap: 24px;
	}
}
.atz-hero-photo__eyebrow {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255,255,255,.92);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}
@media (min-width: 1024px) {
	.atz-hero-photo__eyebrow { font-size: 11px; letter-spacing: 0.14em; }
}
.atz-hero-photo__eyebrow::before {
	content: '';
	width: 6px; height: 6px;
	background: var(--accent);
	border-radius: 50%;
}
.atz-hero-photo__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(42px, 9vw, 60px);
	margin: 0;
	line-height: 1;
	letter-spacing: -0.02em;
	text-wrap: balance;
}
.atz-hero-photo__title .accent { color: var(--accent); }
.atz-hero-photo__lead {
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255,255,255,.75);
	max-width: 500px;
	margin-top: 20px;
}
.atz-hero-photo__cta { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.atz-hero-photo__card {
	display: none;
	align-self: end;
	justify-self: end;
	max-width: 280px;
	background: rgba(12,12,12,.72);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,.15);
	padding: 18px;
}
.atz-hero-photo__card-head {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 12px;
	display: flex;
	justify-content: space-between;
}
.atz-hero-photo__card-body { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.85); margin-bottom: 16px; }
.atz-hero-photo__card-spec {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 8px;
	border-top: 1px solid rgba(255,255,255,.12);
	padding-top: 12px;
}
.atz-hero-photo__card-spec-label { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.atz-hero-photo__card-spec-value { font-family: var(--font-display); font-weight: 600; font-size: 22px; line-height: 1; }
.atz-hero-photo__card-spec-value span { font-size: 11px; color: rgba(255,255,255,.5); margin-left: 3px; font-weight: 500; }

.atz-hero-photo__rule {
	display: none;
	position: absolute;
	top: 0; right: 0;
	height: 100%; width: 32px;
	z-index: 2;
	pointer-events: none;
}

.atz-hero-photo__strip {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid rgba(255,255,255,.12);
	background: var(--ink);
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.atz-hero-photo__strip-cell {
	padding: 16px 18px;
	border-right: 1px solid rgba(255,255,255,.12);
	border-bottom: 1px solid rgba(255,255,255,.12);
}
.atz-hero-photo__strip-cell:nth-child(2n) { border-right: none; }
.atz-hero-photo__strip-cell:nth-last-child(-n+2) { border-bottom: none; }
.atz-hero-photo__strip-label {
	font-family: var(--font-mono);
	font-size: 10px;
	color: rgba(255,255,255,.5);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.atz-hero-photo__strip-value {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 28px;
	margin-top: 4px;
	line-height: 1;
	letter-spacing: -0.015em;
}
.atz-hero-photo__strip-value span { font-size: 0.5em; color: rgba(255,255,255,.5); margin-left: 4px; font-weight: 500; }

@media (min-width: 1024px) {
	.atz-hero-photo__scrim { background: linear-gradient(90deg, rgba(12,12,12,.88) 0%, rgba(12,12,12,.55) 45%, rgba(12,12,12,.1) 75%, rgba(12,12,12,0) 100%); }
	.atz-hero-photo__content {
		padding: 56px 56px 56px;
		grid-template-columns: 1.1fr 1fr;
		gap: 48px;
	}
}
/* Hero content padding mirrors .atz-section scaling — content stops on the same vertical line as USP section label */
@media (min-width: 1280px) { .atz-hero-photo__content { padding: 64px 80px 64px; } }
@media (min-width: 1600px) { .atz-hero-photo__content { padding: 80px 96px 80px; } }
@media (min-width: 1024px) {
	.atz-hero-photo__title { font-size: clamp(56px, 5.5vw, 96px); line-height: 0.98; }
	.atz-hero-photo__lead { font-size: 18px; }
	.atz-hero-photo__cta { flex-direction: row; gap: 10px; margin-top: 32px; }
	.atz-hero-photo__card { display: block; }
	.atz-hero-photo__rule { display: block; }
	.atz-hero-photo__strip {
		grid-template-columns: repeat(4, 1fr);
	}
	.atz-hero-photo__strip-cell:nth-child(2n) { border-right: 1px solid rgba(255,255,255,.12); }
	.atz-hero-photo__strip-cell:nth-child(4n) { border-right: none; }
	.atz-hero-photo__strip-cell:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
	.atz-hero-photo__strip-cell:nth-last-child(-n+4):nth-child(4n+1),
	.atz-hero-photo__strip-cell:nth-last-child(-n+4):nth-child(4n+2),
	.atz-hero-photo__strip-cell:nth-last-child(-n+4):nth-child(4n+3),
	.atz-hero-photo__strip-cell:nth-last-child(-n+4):nth-child(4n) { border-bottom: none; }
	.atz-hero-photo__strip-value { font-size: 40px; }
}

/* ===== USP grid ===== */
.atz-usp { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--hair-strong); }
.atz-usp__cell {
	padding: 22px 16px;
	border-bottom: 1px solid var(--hair-strong);
	position: relative;
}
.atz-usp__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.atz-usp__num { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--ink-3); }
.atz-usp__dot { width: 8px; height: 8px; background: var(--accent); display: block; }
.atz-usp__title { font-family: var(--font-display); font-weight: 600; font-size: 24px; margin: 0 0 10px; line-height: 1.1; }
.atz-usp__desc { font-size: 13px; color: var(--ink-2); line-height: 1.5; margin: 0; }

@media (min-width: 1024px) {
	.atz-usp { grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--hair-strong); }
	.atz-usp__cell { padding: 24px; border-right: 1px solid var(--hair-strong); }
	.atz-usp__title { font-size: 22px; }
}

/* ===== Cluster utility (used heavily) ===== */
.atz-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.atz-cluster--between { justify-content: space-between; }
.atz-cluster--end { justify-content: flex-end; align-items: flex-end; }

.atz-stack { display: flex; flex-direction: column; gap: 16px; }

.atz-grid { display: grid; gap: 16px; }
.atz-grid--2 { grid-template-columns: repeat(2, 1fr); }
.atz-grid--3 { grid-template-columns: repeat(3, 1fr); }
.atz-grid--4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 767px) {
	.atz-grid--2, .atz-grid--3, .atz-grid--4 { grid-template-columns: 1fr; }
}

/* ===== Services head (shared row: H2 + ghost button right) ===== */
.atz-services-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-top: 16px;
	margin-bottom: 24px;
}
.atz-services-head__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(34px, 9vw, 48px);
	margin: 0;
	max-width: 820px;
	line-height: 0.98;
	letter-spacing: -0.02em;
}
.atz-services-head__title .accent { color: var(--accent); }

@media (min-width: 1024px) {
	.atz-services-head { flex-direction: row; align-items: flex-end; margin-bottom: 40px; }
	.atz-services-head__title { font-size: clamp(56px, 6vw, 84px); }
}

/* ===== Services grid ===== */
.atz-services {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--hair-strong);
}
.atz-services__card {
	padding: 22px 0;
	border-bottom: 1px solid var(--hair-strong);
	display: flex;
	flex-direction: column;
	gap: 0;
	color: var(--ink);
	background: transparent;
	transition: background .15s var(--ease);
}
.atz-services__card:hover { background: var(--bg-inset); }
.atz-services__head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.atz-services__no { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; opacity: 0.6; }
.atz-services__title { font-family: var(--font-display); font-weight: 600; font-size: 26px; margin: 0 0 10px; line-height: 1.05; }
.atz-services__short { font-size: 13px; opacity: 0.8; line-height: 1.5; margin: 0 0 16px; }
.atz-services__spec { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.atz-services__spec li { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
.atz-services__more { margin-top: 20px; display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }

@media (min-width: 1024px) {
	.atz-services { grid-template-columns: repeat(3, 1fr); }
	.atz-services__card { padding: 28px; border-right: 1px solid var(--hair-strong); }
	.atz-services__card:nth-child(3n) { border-right: none; }
	.atz-services__card--featured { background: var(--ink); color: var(--bg); }
	.atz-services__card--featured:hover { background: var(--ink); }
	.atz-services__title { font-size: 28px; }
}

/* ===== About ===== */
.atz-about { display: grid; grid-template-columns: 1fr; gap: 28px; margin-top: 24px; }
.atz-about__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 8vw, 40px); margin: 0; line-height: 1.02; letter-spacing: -0.02em; }
.atz-about__title .accent { color: var(--accent); }
.atz-about__lead { font-size: 15px; line-height: 1.6; color: var(--ink-2); margin: 16px 0 0; }
.atz-about__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

@media (min-width: 1024px) {
	.atz-about { grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 40px; }
	.atz-about__title { font-size: clamp(40px, 4vw, 56px); }
	.atz-about__lead { font-size: 16px; }
}

/* ===== Gallery ===== */
.atz-section--gallery { padding: 32px 0 32px 16px; }
.atz-gallery__wrap { padding-right: 16px; }
.atz-gallery {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-right: 16px;
}
.atz-gallery__card {
	min-width: 260px;
	scroll-snap-align: start;
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
	display: flex;
	flex-direction: column;
}
.atz-gallery__thumb {
	aspect-ratio: 4/5;
	position: relative;
	border-bottom: 1px solid var(--hair-strong);
	overflow: hidden;
}
.atz-gallery__thumb img,
.atz-gallery__thumb svg {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.atz-gallery__tag { position: absolute; top: 10px; left: 10px; }
.atz-gallery__num {
	position: absolute; bottom: 10px; right: 10px;
	color: var(--ink-3);
	font-family: var(--font-mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.atz-gallery__body { padding: 16px; }
.atz-gallery__body h3 { font-family: var(--font-display); font-weight: 600; margin: 0; font-size: 20px; line-height: 1.1; letter-spacing: -0.01em; }
.atz-gallery__body p { font-size: 12px; color: var(--ink-2); margin: 6px 0 0; }

@media (min-width: 1024px) {
	.atz-section--gallery { padding: 88px 40px; }
	.atz-gallery__wrap { padding-right: 0; }
	.atz-gallery {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 16px;
		overflow-x: visible;
		padding-right: 0;
	}
	.atz-gallery__card { min-width: 0; }
}

/* ===== Testimonials (dark) ===== */
.atz-testi__head { display: flex; flex-direction: column; gap: 20px; }
.atz-testi__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(32px, 9vw, 44px); margin: 0; line-height: 1; max-width: 900px; letter-spacing: -0.02em; }
.atz-testi__grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
.atz-testi__card {
	margin: 0;
	padding: 24px;
	border: 1px solid rgba(255,255,255,.15);
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: transparent;
}
.atz-testi__quote { color: var(--accent); }
.atz-testi__card blockquote { margin: 0; font-size: 15px; line-height: 1.55; flex: 1; color: rgba(255,255,255,.92); }
.atz-testi__card figcaption { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.atz-testi__name { color: var(--bg); }
.atz-testi__role { color: rgba(255,255,255,.5); margin-top: 2px; }

@media (min-width: 1024px) {
	.atz-testi__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
	.atz-testi__title { font-size: clamp(48px, 5vw, 72px); margin-top: 20px; }
}

/* ===== Coverage (cała Polska) ===== */
.atz-coverage__head { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; margin-bottom: 24px; }
.atz-coverage__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(32px, 9vw, 44px); margin: 0; line-height: 1; max-width: 700px; letter-spacing: -0.02em; }
.atz-coverage__hint { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); }
.atz-coverage__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--hair-strong);
}
.atz-coverage__cell {
	padding: 14px 12px;
	border-bottom: 1px solid var(--hair-strong);
	border-right: 1px solid var(--hair-strong);
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
}
.atz-coverage__cell:nth-child(2n) { border-right: none; }
.atz-coverage__pin { color: var(--accent); flex-shrink: 0; }
.atz-coverage__cell--more { color: var(--accent); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; }

@media (min-width: 1024px) {
	.atz-coverage__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
	.atz-coverage__title { font-size: clamp(44px, 5vw, 64px); }
	.atz-coverage__grid { grid-template-columns: repeat(6, 1fr); }
	.atz-coverage__cell:nth-child(2n) { border-right: 1px solid var(--hair-strong); }
	.atz-coverage__cell:nth-child(6n) { border-right: none; }
}

/* ===== Contact (form + info) ===== */
.atz-contact { display: grid; grid-template-columns: 1fr; gap: 28px; margin-top: 24px; }
.atz-contact__col h2 { margin: 0; }
.atz-contact__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 8vw, 40px); margin: 0; line-height: 1; letter-spacing: -0.02em; }
.atz-contact__title .accent { color: var(--accent); }
.atz-contact__lead { font-size: 15px; color: var(--ink-2); line-height: 1.55; margin-top: 16px; }
.atz-contact__list { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-direction: column; gap: 16px; }
.atz-contact__line { display: flex; gap: 14px; align-items: flex-start; }
.atz-contact__icon {
	width: 36px; height: 36px;
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
	display: inline-flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	color: var(--ink);
}
.atz-contact__value { font-size: 15px; margin-top: 4px; }
.atz-contact__value a { color: inherit; }
.atz-contact__value a:hover { color: var(--accent); }

@media (min-width: 1024px) {
	.atz-contact { grid-template-columns: 1fr 1fr; gap: 48px; }
	.atz-contact__title { font-size: clamp(40px, 4.5vw, 60px); }
}

/* ===== Blog strip ===== */
.atz-blog-strip {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--hair-strong);
}
.atz-blog-strip__card {
	padding: 22px 0;
	border-bottom: 1px solid var(--hair-strong);
}
.atz-blog-strip__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.atz-blog-strip__date { font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.1em; }
.atz-blog-strip__title { font-family: var(--font-display); font-weight: 600; font-size: 22px; margin: 0 0 12px; line-height: 1.1; text-wrap: balance; letter-spacing: -0.01em; }
.atz-blog-strip__title a { color: inherit; }
.atz-blog-strip__title a:hover { color: var(--accent); }
.atz-blog-strip__meta { font-family: var(--font-mono); font-size: 10px; color: var(--ink-2); letter-spacing: 0.1em; text-transform: uppercase; }

@media (min-width: 1024px) {
	.atz-blog-strip { grid-template-columns: repeat(3, 1fr); }
	.atz-blog-strip__card { padding: 24px; border-right: 1px solid var(--hair-strong); }
	.atz-blog-strip__card:nth-child(3n) { border-right: none; }
}

/* ============================================================
   SUBPAGES — wspólne nagłówki H1/H2 + lead
   ============================================================ */
.atz-uslugi-h1 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(36px, 9vw, 56px);
	margin: 16px auto 24px;
	line-height: 0.98;
	letter-spacing: -0.02em;
	text-wrap: balance;
}
.atz-uslugi-h1 .accent { color: var(--accent); }
.atz-uslugi-lead {
	font-size: 16px;
	line-height: 1.55;
	color: var(--ink-2);
	max-width: 680px;
	margin: 0;
}
/* Intro wrapper — keeps H1 + lead aligned with the centered .atz-section-label
   on wide viewports (>1632px), so the lead's narrower max-width (680px) doesn't
   horizontally center-align it relative to the H1. */
.atz-uslugi-intro { max-width: 1440px; margin: 0 auto; }
.atz-uslugi-intro > .atz-uslugi-h1 { margin-left: 0; margin-right: 0; }
.atz-h2 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(32px, 6vw, 48px);
	margin: 16px auto 28px;
	line-height: 1;
	letter-spacing: -0.02em;
}
.atz-h2 .accent { color: var(--accent); }

@media (min-width: 1024px) {
	.atz-uslugi-h1 { font-size: clamp(56px, 7vw, 96px); }
	.atz-uslugi-lead { font-size: 19px; }
	.atz-h2 { font-size: clamp(48px, 5vw, 72px); }
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.atz-breadcrumb {
	padding-top: 16px !important;
	padding-bottom: 16px !important;
	border-top: none;
	border-bottom: 1px solid var(--hair);
}
.atz-breadcrumb__nav {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-2);
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.atz-breadcrumb__nav a:hover { color: var(--accent); }
.atz-breadcrumb__nav .accent { color: var(--accent); }

/* ============================================================
   USLUGI LIST (archive-usluga)
   ============================================================ */
.atz-uslugi-list {
	border-top: 1px solid var(--hair-strong);
	border-bottom: 1px solid var(--hair-strong);
}
.atz-uslugi-list__row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 16px;
	padding: 24px 20px;
	border-bottom: 1px solid var(--hair-strong);
	align-items: center;
	color: var(--ink);
	transition: background .15s var(--ease);
}
.atz-uslugi-list__row:last-child { border-bottom: none; }
.atz-uslugi-list__row:hover { background: var(--bg-inset); }
.atz-uslugi-list__no {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: 0.12em;
}
.atz-uslugi-list__icon { display: none; }
.atz-uslugi-list__title { font-family: var(--font-display); font-weight: 600; font-size: 26px; margin: 0; line-height: 1.02; letter-spacing: -0.01em; }
.atz-uslugi-list__short { font-size: 14px; color: var(--ink-2); margin: 8px 0 0; max-width: 520px; line-height: 1.5; }
.atz-uslugi-list__chips { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.atz-uslugi-list__arrow { color: var(--accent); }

@media (min-width: 1024px) {
	.atz-uslugi-list__row {
		grid-template-columns: 80px 64px 1fr auto auto;
		gap: 32px;
		padding: 36px 56px;
	}
	.atz-uslugi-list__icon { display: block; }
	.atz-uslugi-list__title { font-size: 40px; }
	.atz-uslugi-list__chips { justify-content: flex-end; }
}
@media (min-width: 1280px) { .atz-uslugi-list__row { padding: 36px 80px; } }
@media (min-width: 1600px) { .atz-uslugi-list__row { padding: 44px 96px; } }

/* ============================================================
   USLUGA HERO (single-usluga top section)
   ============================================================ */
.atz-usluga-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	margin-top: 24px;
}
.atz-usluga-hero__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(44px, 12vw, 64px);
	margin: 0;
	line-height: 0.95;
	letter-spacing: -0.02em;
	text-wrap: balance;
}
.atz-usluga-hero__lead {
	font-size: 16px;
	line-height: 1.55;
	color: var(--ink-2);
	margin-top: 20px;
	max-width: 560px;
}
.atz-usluga-spec { padding: 24px; }

@media (min-width: 1024px) {
	.atz-usluga-hero { grid-template-columns: 1.3fr 1fr; gap: 56px; align-items: start; }
	.atz-usluga-hero__title { font-size: clamp(72px, 8vw, 120px); }
	.atz-usluga-hero__lead { font-size: 19px; }
}

.atz-spec-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.atz-spec-table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--hair);
}
.atz-spec-table td:first-child {
	color: var(--ink-2);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.atz-spec-table td:last-child { text-align: right; font-weight: 500; }

/* ============================================================
   APPLICATIONS (single-usluga)
   ============================================================ */
.atz-apps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--hair-strong);
}
.atz-apps__item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 18px 0;
	border-bottom: 1px solid var(--hair-strong);
}
.atz-apps__no { width: 28px; color: var(--accent); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; flex-shrink: 0; }
.atz-apps__text { font-size: 15px; line-height: 1.4; }

@media (min-width: 1024px) {
	.atz-apps { grid-template-columns: repeat(2, 1fr); }
	.atz-apps__item:nth-child(odd) { padding-right: 24px; border-right: 1px solid var(--hair-strong); }
	.atz-apps__item:nth-child(even) { padding-left: 24px; }
	.atz-apps__text { font-size: 17px; }
}

/* ============================================================
   PROCESS (4 numbered steps)
   ============================================================ */
.atz-process {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--hair-strong);
}
.atz-process__step {
	padding: 22px 0;
	border-bottom: 1px solid var(--hair-strong);
}
.atz-process__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.atz-process__no { font-family: var(--font-display); font-weight: 600; font-size: 36px; color: var(--accent); line-height: 1; }
.atz-process__arrow { color: var(--ink-3); display: none; }
.atz-process__title { font-family: var(--font-display); font-weight: 600; font-size: 22px; margin: 0 0 8px; line-height: 1.1; }
.atz-process__desc { font-size: 13px; color: var(--ink-2); line-height: 1.5; margin: 0; }

@media (min-width: 1024px) {
	.atz-process { grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--hair-strong); }
	.atz-process__step { padding: 24px; border-right: 1px solid var(--hair-strong); }
	.atz-process__arrow { display: inline-flex; }
}

/* ============================================================
   FAQ (details/summary)
   ============================================================ */
.atz-faq { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
.atz-faq__list { display: flex; flex-direction: column; }
.atz-faq__item {
	border-top: 1px solid var(--hair-strong);
	padding: 18px 0;
}
.atz-faq__item:last-child { border-bottom: 1px solid var(--hair-strong); }
.atz-faq__item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	cursor: pointer;
	list-style: none;
}
.atz-faq__item summary::-webkit-details-marker { display: none; }
.atz-faq__q { font-family: var(--font-display); font-weight: 600; font-size: 19px; line-height: 1.2; }
.atz-faq__icon {
	width: 32px; height: 32px;
	border: 1px solid var(--ink);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	transition: all .15s var(--ease);
}
.atz-faq__item[open] .atz-faq__icon { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); transform: rotate(45deg); }
.atz-faq__a { font-size: 14px; line-height: 1.6; color: var(--ink-2); margin: 14px 0 0; max-width: 640px; }

@media (min-width: 1024px) {
	.atz-faq { grid-template-columns: 1fr 2fr; gap: 48px; }
}

/* ============================================================
   PORTFOLIO (archive-realizacja)
   ============================================================ */
.atz-portfolio__filters {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 24px;
	overflow-x: auto;
}
.atz-portfolio__filter {
	padding: 8px 14px;
	border: 1px solid var(--hair-strong);
	background: transparent;
	color: var(--ink);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}
.atz-portfolio__filter.is-active { background: var(--ink); color: var(--bg); border-color: var(--ink); }

.atz-portfolio__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
.atz-portfolio__card {
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
	color: var(--ink);
	display: flex;
	flex-direction: column;
}
.atz-portfolio__thumb {
	aspect-ratio: 4/3;
	position: relative;
	border-bottom: 1px solid var(--hair-strong);
	overflow: hidden;
}
.atz-portfolio__thumb img,
.atz-portfolio__thumb svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.atz-portfolio__tag { position: absolute; top: 10px; left: 10px; }
.atz-portfolio__year { position: absolute; bottom: 10px; right: 10px; color: var(--ink-3); font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; }
.atz-portfolio__body { padding: 18px; }
.atz-portfolio__title { font-family: var(--font-display); font-weight: 600; font-size: 22px; margin: 0; line-height: 1.1; letter-spacing: -0.01em; }
.atz-portfolio__sub { font-size: 13px; color: var(--ink-2); margin: 6px 0 14px; line-height: 1.5; }
.atz-portfolio__meta { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid var(--hair); }
.atz-portfolio__loc { font-family: var(--font-mono); font-size: 10px; color: var(--ink-2); letter-spacing: 0.1em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 4px; }
.atz-portfolio__arrow { color: var(--accent); }

@media (min-width: 768px)  { .atz-portfolio__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } }
@media (min-width: 1024px) { .atz-portfolio__grid { grid-template-columns: repeat(3, 1fr); } }

/* ============================================================
   REALIZACJA (single)
   ============================================================ */
.atz-realizacja-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.atz-realizacja-meta__cell {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--ink-2);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	display: inline-flex; align-items: center; gap: 6px;
}
.atz-realizacja-hero { margin: 24px 0 0; }
.atz-realizacja-hero img { width: 100%; height: auto; display: block; border: 1px solid var(--hair-strong); }
.atz-cs-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	margin-top: 24px;
}
.atz-cs__body { font-size: 15px; line-height: 1.6; color: var(--ink-2); margin-top: 16px; }
@media (min-width: 1024px) { .atz-cs-grid { grid-template-columns: 1fr 1fr; gap: 56px; } }

.atz-realizacja-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-top: 24px;
}
.atz-realizacja-gallery figure { margin: 0; border: 1px solid var(--hair-strong); aspect-ratio: 4/3; overflow: hidden; }
.atz-realizacja-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 1024px) { .atz-realizacja-gallery { grid-template-columns: repeat(3, 1fr); gap: 16px; } }

/* ============================================================
   CENNIK — Packages + Pricelist
   ============================================================ */
.atz-packages { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
.atz-package {
	padding: 24px;
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: relative;
}
.atz-package--featured { background: var(--ink); color: var(--bg); border-color: var(--accent); }
.atz-package__badge {
	position: absolute; top: -1px; right: -1px;
	background: var(--accent); color: var(--accent-ink);
	padding: 4px 10px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.atz-package__tag { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--ink-2); }
.atz-package--featured .atz-package__tag { color: var(--accent); }
.atz-package__name { font-family: var(--font-display); font-weight: 600; font-size: 26px; margin: 0; line-height: 1.1; }
.atz-package__desc { font-size: 13px; line-height: 1.5; margin: 0; color: var(--ink-2); }
.atz-package--featured .atz-package__desc { color: rgba(255,255,255,.7); }
.atz-package__price-row { padding-top: 12px; border-top: 1px solid var(--hair); }
.atz-package--featured .atz-package__price-row { border-top-color: rgba(255,255,255,.2); }
.atz-package__price { font-family: var(--font-display); font-weight: 600; font-size: 32px; line-height: 1; letter-spacing: -0.01em; }
.atz-package__unit { font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.1em; margin-top: 6px; }
.atz-package--featured .atz-package__unit { color: rgba(255,255,255,.5); }
.atz-package__feats { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; flex: 1; }
.atz-package__feats li { display: flex; gap: 8px; align-items: flex-start; }
.atz-package__check { color: var(--accent); flex-shrink: 0; margin-top: 2px; }

@media (min-width: 1024px) { .atz-packages { grid-template-columns: repeat(3, 1fr); gap: 20px; } }

.atz-pricelist {
	border: 1px solid var(--hair-strong);
	overflow: hidden;
}
.atz-pricelist__head {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	padding: 12px 16px;
	border-bottom: 1px solid var(--hair-strong);
	background: var(--bg-inset);
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.atz-pricelist__row {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	padding: 14px 16px;
	border-bottom: 1px solid var(--hair);
	align-items: center;
}
.atz-pricelist__row:last-child { border-bottom: none; }
.atz-pricelist__svc { font-size: 14px; font-weight: 500; }
.atz-pricelist__unit-mob { font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.1em; margin-top: 2px; }
.atz-pricelist__unit { font-family: var(--font-mono); font-size: 11px; color: var(--ink-2); letter-spacing: 0.1em; }
.atz-pricelist__price { font-family: var(--font-display); font-weight: 600; font-size: 17px; text-align: right; color: var(--accent); }
.atz-pricelist__foot { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 16px; }

@media (max-width: 767px) { .hide-mobile { display: none; } }

@media (min-width: 768px) {
	.atz-pricelist__head, .atz-pricelist__row { grid-template-columns: 2fr 1fr 1fr; padding: 18px 20px; }
	.atz-pricelist__svc, .atz-pricelist__price { font-size: 15px; }
	.atz-pricelist__price { font-size: 22px; }
	.atz-pricelist__unit-mob { display: none; }
}

/* ============================================================
   O FIRMIE — Timeline + Park maszynowy
   ============================================================ */
.atz-about-intro { margin-top: 16px; gap: 20px; }
.atz-about-intro p { font-size: 16px; line-height: 1.6; color: var(--ink-2); margin: 0; }
@media (min-width: 1024px) { .atz-about-intro { gap: 56px; } .atz-about-intro p { font-size: 18px; } }

.atz-timeline { margin-top: 24px; }
.atz-timeline__row {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 16px;
	padding: 18px 0;
	border-top: 1px solid var(--hair-strong);
	align-items: baseline;
}
.atz-timeline__year { font-family: var(--font-display); font-weight: 600; font-size: 28px; color: var(--accent); line-height: 1; letter-spacing: -0.01em; }
.atz-timeline__title { font-family: var(--font-display); font-weight: 600; font-size: 20px; margin: 0; line-height: 1.1; }
.atz-timeline__desc { grid-column: 2; font-size: 14px; color: var(--ink-2); line-height: 1.5; margin: 6px 0 0; }
@media (min-width: 1024px) {
	.atz-timeline__row { grid-template-columns: 120px 1fr 2fr; gap: 40px; padding: 22px 0; }
	.atz-timeline__year { font-size: 40px; }
	.atz-timeline__title { font-size: 26px; }
	.atz-timeline__desc { grid-column: 3; margin: 0; font-size: 15px; }
}

.atz-stats-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 28px;
}
@media (min-width: 1024px) { .atz-stats-grid { grid-template-columns: repeat(4, 1fr); } }

.atz-park {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid rgba(255,255,255,.2);
	border-left: 1px solid rgba(255,255,255,.2);
	margin-top: 20px;
}
.atz-park__cell { padding: 20px; border-bottom: 1px solid rgba(255,255,255,.2); border-right: 1px solid rgba(255,255,255,.2); }
.atz-park__brand { font-family: var(--font-mono); font-size: 10px; color: var(--accent); letter-spacing: 0.14em; margin-bottom: 10px; }
.atz-park__model { font-family: var(--font-display); font-weight: 600; font-size: 20px; margin-bottom: 4px; }
.atz-park__type { font-size: 12px; color: rgba(255,255,255,.6); }
@media (min-width: 1024px) { .atz-park { grid-template-columns: repeat(4, 1fr); } }

/* ============================================================
   KONTAKT — duża sekcja telefonu
   ============================================================ */
.atz-bigphone {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: end;
}
.atz-bigphone__label {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	color: var(--accent);
	text-transform: uppercase;
	margin-bottom: 12px;
}
.atz-bigphone__num {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(32px, 9.7vw, 49px);
	display: inline-block;
	line-height: 1;
	letter-spacing: -0.02em;
	border-bottom: 2px solid var(--accent);
	padding-bottom: 4px;
	color: var(--bg);
}
.atz-bigphone__num--alt { font-size: clamp(18px, 4.4vw, 25px); margin-top: 16px; opacity: 0.7; border-bottom-width: 1px; }
.atz-bigphone__hours-row {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-top: 1px solid rgba(255,255,255,.15);
	font-size: 14px;
}
@media (min-width: 1024px) {
	.atz-bigphone { grid-template-columns: 2fr 1fr; gap: 48px; }
	.atz-bigphone__num { font-size: clamp(63px, 7.92vw, 113px); }
}

/* ============================================================
   BLOG SINGLE — post body
   theme.json wstrzykuje globalne h1/h2/h3/h4 (clamp 40-128px, hero rozmiary).
   Zbijamy je !important w obrębie wpisu blogowego do rozsądnych wartości.
   ============================================================ */
.atz-post-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: clamp(32px, 5vw, 48px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
	/* margin-top/bottom 0 only — leave margin-left/right: auto from .atz-section > * intact
	   so the title aligns with breadcrumb + meta on the same vertical line.
	   No max-width here — full content width matches breadcrumb (text-wrap: balance handles line breaks). */
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	text-wrap: balance;
}
.atz-post-meta {
	display: flex;
	gap: 12px;
	margin-top: 16px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.atz-post-meta a { color: inherit; }
.atz-post-meta a:hover { color: var(--accent); }
.atz-post-featured { margin: 0 0 32px; }
.atz-post-featured img { width: 100%; height: auto; border: 1px solid var(--hair-strong); display: block; }

/* Body paragraphs / lists / quotes — readable long-form size */
.atz-post-body p,
.atz-post-body ul,
.atz-post-body ol,
.atz-post-body blockquote,
.atz-post-body :is(.wp-block-post-content) p,
.atz-post-body :is(.wp-block-post-content) ul,
.atz-post-body :is(.wp-block-post-content) ol {
	max-width: 70ch;
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: var(--ink);
	margin: 0 0 1.2em !important;
	letter-spacing: -0.005em;
}

/* Override globalne h2/h3/h4 z theme.json — zbijamy do article-scale */
.atz-post-body h2,
.atz-post-body :is(.wp-block-post-content) h2 {
	font-family: var(--font-display) !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	max-width: 30ch;
	margin: 2em 0 0.6em !important;
}
.atz-post-body h3,
.atz-post-body :is(.wp-block-post-content) h3 {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.005em !important;
	max-width: 30ch;
	margin: 1.6em 0 0.5em !important;
}
.atz-post-body h4,
.atz-post-body :is(.wp-block-post-content) h4 {
	font-family: var(--font-display) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	max-width: 30ch;
	margin: 1.4em 0 0.4em !important;
}

.atz-post-body blockquote {
	border-left: 3px solid var(--accent);
	padding-left: 24px;
	font-style: italic;
	color: var(--ink-2);
}
.atz-post-body img,
.atz-post-body :is(.wp-block-post-content) img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--hair-strong);
	margin: 24px 0;
	display: block;
}
.atz-post-body strong { font-weight: 600; }
.atz-post-body a:not(.wp-element-button) {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ============================================================
   HERO VARIANTS — shared base (Typo / Split / Index / Ticker)
   Same padding scaling and viewport fit as hero-photo.
   ============================================================ */
.atz-hero-x {
	position: relative;
	overflow: hidden;
	background: var(--bg);
	color: var(--ink);
}
.atz-hero-x__metabar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 20px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-2);
	border-bottom: 1px solid var(--hair);
}
.atz-hero-x__metabar .accent { color: var(--accent); }
.atz-hero-x__stage {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}
.atz-hero-x__content {
	width: 100%;
	max-width: 1632px;
	margin-left: auto;
	margin-right: auto;
	padding: 24px 20px;
}
.atz-hero-x__strip {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--hair-strong);
	flex-shrink: 0;
	max-width: 1632px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.atz-hero-x__strip-cell {
	padding: 16px 20px;
	border-right: 1px solid var(--hair-strong);
	border-bottom: 1px solid var(--hair-strong);
}
.atz-hero-x__strip-cell:nth-child(2n) { border-right: none; }
.atz-hero-x__strip-cell:nth-last-child(-n+2) { border-bottom: none; }
.atz-hero-x__strip-label { font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.12em; text-transform: uppercase; }
.atz-hero-x__strip-value { font-family: var(--font-display); font-weight: 600; font-size: 28px; margin-top: 4px; line-height: 1; letter-spacing: -0.015em; }
.atz-hero-x__strip-value span { font-size: 0.5em; color: var(--ink-2); margin-left: 4px; font-weight: 500; }

@media (min-width: 768px)  { .atz-hero-x__metabar { padding: 16px 40px; } .atz-hero-x__content { padding: 40px; } .atz-hero-x__strip-cell { padding: 20px 24px; } }
@media (min-width: 1024px) {
	.atz-hero-x { display: flex; flex-direction: column; min-height: calc(100svh - var(--atz-header-h)); max-height: calc(100svh - var(--atz-header-h)); }
	.atz-hero-x__metabar { padding: 18px 56px; flex-shrink: 0; }
	.atz-hero-x__content { padding: 56px; }
	.atz-hero-x__strip { grid-template-columns: repeat(4, 1fr); }
	.atz-hero-x__strip-cell { padding: 24px 32px; border-right: 1px solid var(--hair-strong); border-bottom: none; }
	.atz-hero-x__strip-cell:nth-child(4n) { border-right: none; }
}
@media (min-width: 1280px) { .atz-hero-x__metabar { padding: 22px 80px; } .atz-hero-x__content { padding: 64px 80px; } .atz-hero-x__strip-cell { padding: 28px 40px; } }
@media (min-width: 1600px) { .atz-hero-x__metabar { padding: 26px 96px; } .atz-hero-x__content { padding: 80px 96px; } .atz-hero-x__strip-cell { padding: 32px 48px; } }

/* ============================================================
   HERO · TYPO
   ============================================================ */
.atz-hero-typo__grid { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: end; flex: 1; }
.atz-hero-typo__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(40px, 11vw, 56px); margin: 0; line-height: 0.95; letter-spacing: -0.02em; text-wrap: balance; }
.atz-hero-typo__title .accent { color: var(--accent); }
.atz-hero-typo__lead { font-size: 16px; line-height: 1.55; color: var(--ink-2); max-width: 540px; margin-top: 20px; }
.atz-hero-typo__cta { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.atz-hero-typo__graphic { position: relative; aspect-ratio: 1/1; max-width: 360px; width: 100%; margin: 0 auto; border: 1px solid var(--hair-strong); overflow: hidden; }
.atz-hero-typo__graphic-label-tl,
.atz-hero-typo__graphic-label-br {
	position: absolute;
	font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2);
}
.atz-hero-typo__graphic-label-tl { top: 8px; left: 8px; }
.atz-hero-typo__graphic-label-br { bottom: 8px; right: 8px; }

@media (min-width: 1024px) {
	.atz-hero-typo__grid { grid-template-columns: 1.6fr 1fr; gap: 48px; }
	.atz-hero-typo__title { font-size: clamp(72px, 8vw, 120px); }
	.atz-hero-typo__lead { font-size: 18px; }
	.atz-hero-typo__cta { flex-direction: row; gap: 10px; margin-top: 32px; }
	.atz-hero-typo__graphic { margin-left: auto; margin-right: 0; }
}

/* ============================================================
   HERO · SPLIT
   ============================================================ */
.atz-hero-split { background: var(--ink); color: var(--bg); }
.atz-hero-split__metabar { color: rgba(255,255,255,.5); border-bottom-color: rgba(255,255,255,.12); }
.atz-hero-split__metabar .accent { color: var(--accent); }
.atz-hero-split__stage { display: grid; grid-template-columns: 1fr; min-height: auto; }
.atz-hero-split__left { display: flex; flex-direction: column; }
.atz-hero-split__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 28px;
	flex: 1;
	max-width: 1632px;
	margin-left: auto;
	margin-right: auto;
	padding: 32px 20px;
	width: 100%;
}
.atz-hero-split__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(36px, 11vw, 56px); margin: 0; line-height: 0.94; letter-spacing: -0.02em; }
.atz-hero-split__title .accent { color: var(--accent); }
.atz-hero-split__lead { font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.7); max-width: 480px; margin-top: 22px; }
.atz-hero-split__cta { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.atz-hero-split__stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.15); padding-top: 18px; }
.atz-hero-split__stats > div { padding-right: 12px; border-right: 1px solid rgba(255,255,255,.15); }
.atz-hero-split__stats > div:last-child { border-right: none; }
.atz-hero-split__stat-v { font-family: var(--font-display); font-weight: 600; font-size: 28px; line-height: 1; letter-spacing: -0.01em; }
.atz-hero-split__stat-l { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-top: 6px; }
.atz-hero-split__right { position: relative; min-height: 320px; border-top: 1px solid rgba(255,255,255,.15); overflow: hidden; }
.atz-hero-split__right img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: contrast(1.08) saturate(0.7) brightness(0.78); }
.atz-hero-split__scrim { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(12,12,12,.55) 0%, rgba(12,12,12,.28) 45%, rgba(12,12,12,.55) 100%); }
.atz-hero-split__chip-tl { position: absolute; top: 16px; left: 16px; background: var(--accent); color: var(--accent-ink); padding: 4px 10px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; }
.atz-hero-split__chip-br { position: absolute; bottom: 16px; right: 16px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: white; background: rgba(0,0,0,.5); padding: 4px 8px; backdrop-filter: blur(4px); }

@media (min-width: 1024px) {
	.atz-hero-split__stage { grid-template-columns: 1.1fr 1fr; min-height: 0; flex: 1; display: grid; }
	.atz-hero-split__content { padding: 56px; gap: 36px; }
	.atz-hero-split__title { font-size: clamp(56px, 7.5vw, 96px); }
	.atz-hero-split__lead { font-size: 17px; }
	.atz-hero-split__cta { flex-direction: row; }
	.atz-hero-split__stat-v { font-size: 36px; }
	.atz-hero-split__right { border-top: none; border-left: 1px solid rgba(255,255,255,.15); min-height: 0; }
}
@media (min-width: 1280px) { .atz-hero-split__content { padding: 64px 80px; } }
@media (min-width: 1600px) { .atz-hero-split__content { padding: 80px 96px; } }

/* ============================================================
   HERO · INDEX (numbered list of 5 services)
   ============================================================ */
.atz-hero-index__stage { padding: 0; }
.atz-hero-index__intro { padding: 28px 20px 16px; }
.atz-hero-index__title { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 8vw, 44px); margin: 0; line-height: 0.98; letter-spacing: -0.02em; max-width: 1100px; text-wrap: balance; }
.atz-hero-index__title .accent { color: var(--accent); }
.atz-hero-index__list {
	border-top: 1px solid var(--hair-strong);
	border-bottom: 1px solid var(--hair-strong);
	padding: 0 20px;
}
.atz-hero-index__row {
	padding: 14px 0;
	display: grid;
	grid-template-columns: 44px 1fr auto;
	gap: 12px;
	align-items: center;
	border-bottom: 1px solid var(--hair);
}
.atz-hero-index__row.is-last { border-bottom: none; }
.atz-hero-index__no { font-family: var(--font-display); font-weight: 600; font-size: 24px; color: var(--accent); line-height: 1; }
.atz-hero-index__icon { display: none; }
.atz-hero-index__title-cell { font-family: var(--font-display); font-weight: 600; font-size: 20px; line-height: 1.05; }
.atz-hero-index__spec { display: none; }
.atz-hero-index__arrow { color: var(--ink-3); }
.atz-hero-index__cta { padding: 24px 20px; display: flex; flex-direction: column; gap: 16px; }
.atz-hero-index__cta p { font-size: 15px; line-height: 1.5; color: var(--ink-2); margin: 0; max-width: 520px; }
.atz-hero-index__cta-row { display: flex; flex-direction: column; gap: 10px; }

@media (min-width: 1024px) {
	.atz-hero-index__intro { padding: 40px 56px 24px; }
	.atz-hero-index__title { font-size: clamp(40px, 6vw, 72px); }
	.atz-hero-index__list { padding: 0 56px; }
	.atz-hero-index__row { grid-template-columns: 80px auto 1fr auto auto; gap: 24px; padding: 16px 0; }
	.atz-hero-index__no { font-size: 36px; }
	.atz-hero-index__icon { display: block; }
	.atz-hero-index__title-cell { font-size: 28px; }
	.atz-hero-index__spec { display: block; font-family: var(--font-mono); font-size: 11px; color: var(--ink-2); letter-spacing: 0.1em; text-transform: uppercase; text-align: right; }
	.atz-hero-index__cta { flex-direction: row; align-items: center; justify-content: space-between; padding: 24px 56px 32px; }
	.atz-hero-index__cta-row { flex-direction: row; gap: 10px; }
}
@media (min-width: 1280px) {
	.atz-hero-index__intro { padding: 48px 80px 24px; }
	.atz-hero-index__list { padding: 0 80px; }
	.atz-hero-index__cta { padding: 28px 80px 40px; }
	.atz-hero-index__title { font-size: clamp(56px, 6vw, 88px); }
}
@media (min-width: 1600px) {
	.atz-hero-index__intro { padding: 56px 96px 28px; }
	.atz-hero-index__list { padding: 0 96px; }
	.atz-hero-index__cta { padding: 32px 96px 48px; }
}

/* ============================================================
   HERO · TICKER (giant marquee)
   ============================================================ */
.atz-hero-ticker__stage { display: flex; flex-direction: column; }
.atz-hero-ticker__rows { padding: 16px 0 8px; flex-shrink: 0; }
.atz-hero-ticker__row { display: flex; white-space: nowrap; overflow: hidden; margin: 2px 0; }
.atz-hero-ticker__inner {
	display: flex;
	gap: 28px;
	padding-right: 28px;
	will-change: transform;
}
.atz-hero-ticker__inner[data-row="0"] { animation: atz-ticker-l 40s linear infinite; }
.atz-hero-ticker__inner[data-row="1"] { animation: atz-ticker-r 48s linear infinite; }
.atz-hero-ticker__inner[data-row="2"] { animation: atz-ticker-l 56s linear infinite; }
@keyframes atz-ticker-l { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes atz-ticker-r { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .atz-hero-ticker__inner { animation: none !important; } }

.atz-hero-ticker__word {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(40px, 12vw, 56px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: transparent;
	-webkit-text-stroke: 1px var(--ink);
}
.atz-hero-ticker__word--fill { color: var(--ink); -webkit-text-stroke: 0; }
.atz-hero-ticker__word--accent { color: var(--accent); -webkit-text-stroke: 0; }
.atz-hero-ticker__sep { color: var(--ink-3); -webkit-text-stroke: 0; margin: 0 12px; }

.atz-hero-ticker__bottom {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: end;
	border-top: 1px solid var(--hair);
	padding-top: 24px !important;
	flex: 1;
}
.atz-hero-ticker__lead { font-size: 17px; line-height: 1.45; margin: 0; max-width: 620px; text-wrap: pretty; }
.atz-hero-ticker__lead .accent { color: var(--accent); }
.atz-hero-ticker__cta { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.atz-hero-ticker__card { border: 1px solid var(--hair-strong); background: var(--bg-inset); padding: 18px; }
.atz-hero-ticker__card-head { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 14px; }
.atz-hero-ticker__card-row { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid var(--hair); font-size: 13px; }
.atz-hero-ticker__card-k { font-family: var(--font-mono); font-size: 11px; color: var(--ink-2); letter-spacing: 0.1em; text-transform: uppercase; }
.atz-hero-ticker__card-v { font-weight: 500; }

@media (min-width: 1024px) {
	.atz-hero-ticker__rows { padding: 28px 0 12px; }
	.atz-hero-ticker__inner { gap: 48px; padding-right: 48px; }
	.atz-hero-ticker__word { font-size: clamp(72px, 9vw, 128px); }
	.atz-hero-ticker__bottom { grid-template-columns: 1.3fr 1fr; gap: 48px; padding-top: 32px !important; }
	.atz-hero-ticker__lead { font-size: 22px; }
	.atz-hero-ticker__cta { flex-direction: row; gap: 10px; margin-top: 28px; }
	.atz-hero-ticker__card { padding: 22px; }
}

/* ============================================================
   BLOG ARCHIVE (page-blog + home + archive)
   ============================================================ */
.atz-blog-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
.atz-blog-grid__card {
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
	display: flex;
	flex-direction: column;
}
.atz-blog-grid__media {
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
	border-bottom: 1px solid var(--hair-strong);
	display: block;
}
.atz-blog-grid__media img,
.atz-blog-grid__placeholder {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.atz-blog-grid__cat { position: absolute; top: 10px; left: 10px; }
.atz-blog-grid__body { padding: 20px; display: flex; flex-direction: column; flex: 1; gap: 10px; }
.atz-blog-grid__meta { font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); letter-spacing: 0.12em; text-transform: uppercase; }
.atz-blog-grid__title { font-family: var(--font-display); font-weight: 600; font-size: 22px; line-height: 1.15; margin: 0; letter-spacing: -0.01em; text-wrap: balance; }
.atz-blog-grid__title a { color: inherit; }
.atz-blog-grid__title a:hover { color: var(--accent); }
.atz-blog-grid__excerpt { font-size: 14px; line-height: 1.55; color: var(--ink-2); margin: 0; flex: 1; }
.atz-blog-grid__more {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--accent); margin-top: auto;
}

@media (min-width: 768px)  { .atz-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .atz-blog-grid { grid-template-columns: repeat(3, 1fr); } }

/* ============================================================
   GENERIC PAGE (Polityka prywatności, Regulamin etc.)
   Same proportions as blog single — long-form readable typography.
   ============================================================ */
.atz-page-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: clamp(36px, 6vw, 64px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
	text-wrap: balance;
}
.atz-page-body p,
.atz-page-body ul,
.atz-page-body ol,
.atz-page-body blockquote,
.atz-page-body :is(.wp-block-post-content) p,
.atz-page-body :is(.wp-block-post-content) ul,
.atz-page-body :is(.wp-block-post-content) ol {
	max-width: 70ch;
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: var(--ink);
	margin: 0 0 1.2em !important;
	letter-spacing: -0.005em;
}
.atz-page-body ul, .atz-page-body ol { padding-left: 24px; }
.atz-page-body li { margin-bottom: 0.4em; }
.atz-page-body h2,
.atz-page-body :is(.wp-block-post-content) h2 {
	font-family: var(--font-display) !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	margin: 2.2em 0 0.6em !important;
	max-width: 30ch;
}
.atz-page-body h3,
.atz-page-body :is(.wp-block-post-content) h3 {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	margin: 1.6em 0 0.5em !important;
	max-width: 30ch;
}
.atz-page-body strong { font-weight: 600; color: var(--ink); }
.atz-page-body a:not(.wp-element-button) {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.atz-page-body :is(.wp-block-post-content) > * + * { margin-top: 1.2em; }

/* ===== Visually hidden ===== */
.screen-reader-text {
	border: 0;
	clip: rect(1px,1px,1px,1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
