/*
Theme Name: Senapi Art
Theme URI: https://senapiart.pl
Author: Senapi Art / Damian
Description: Autorski motyw dla pracowni figurek Senapi Art. Dark fantasy / horror estetyka. Zbudowany na WooCommerce + Carbon Fields.
Version: 0.2.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.1
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: senapiart
Tags: woocommerce, one-page, dark, custom
*/

/* ═══════════════════ TOKENS ═══════════════════ */
:root {
	--bg: #060505;
	--bg-1: #0c0a0a;
	--bg-2: #15110f;
	--line: #1f1916;
	--ink: #ece5d4;
	--ink-2: #b9b0a0;
	--ink-3: #7a7268;
	--ink-4: #4a4540;
	--blood: #a8121f;
	--blood-deep: #5e0a13;
	--bone: #d9c89c;
	--gold: #b89765;

	--topbar-h: 84px;
	--pad-x: clamp(20px, 4vw, 48px);
}

/* ═══════════════════ RESET ═══════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: var(--topbar-h); }
body {
	background: var(--bg);
	color: var(--ink);
	font-family: 'Inter', system-ui, sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
::selection { background: var(--blood); color: var(--ink); }
img {
	display: block;
	max-width: 100%;
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	user-drag: none;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* Widoczny focus dla nawigacji klawiaturą (a11y — WCAG 2.4.7). Myszy nie dotyczy. */
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
a:focus-visible,
button:focus-visible,
.cta:focus-visible,
.tile:focus-visible,
.hero-scroll:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

/* Film grain overlay */
body::before {
	content: "";
	position: fixed; inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
	opacity: .5;
	mix-blend-mode: overlay;
	pointer-events: none;
	z-index: 99;
}

/* ═══════════════════ PHOTO SLOT SYSTEM ═══════════════════ */
.ps-hint {
	position: absolute; inset: 10px;
	border: 1px dashed rgba(184,151,101,.18);
	background: #000;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: 10px; padding: 14px;
	text-align: center;
	z-index: 4;
	transition: border-color .3s ease, background-color .3s ease;
}
.ps-hint:hover { border-color: rgba(168,18,31,.45); background: #050202; }
.ps-icon { width: 28px; height: 28px; color: var(--gold); opacity: .45; }
.ps-label {
	font-family: 'Cinzel', serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--ink-3);
	line-height: 1.3;
}
.ps-path {
	font-family: 'JetBrains Mono', monospace;
	font-size: 9px;
	letter-spacing: .04em;
	color: var(--blood);
	opacity: .8;
	word-break: break-all;
	line-height: 1.4;
}
.tile:has(img) .ps-hint,
.feature:has(img) .ps-hint,
.pracownia-img:has(img) .ps-hint,
.product:has(img) .ps-hint,
.showroom-img:has(img) .ps-hint { display: none; }

/* ═══════════════════ TOPBAR ═══════════════════ */
.topbar {
	position: fixed; top: 0; left: 0; right: 0;
	z-index: 50;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	padding: 16px var(--pad-x);
	background: rgba(14,11,10,.96);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--line);
	min-height: var(--topbar-h);
}
.brand { display: flex; align-items: center; justify-self: start; }
.brand img {
	height: 52px; width: auto;
	transition: transform .35s ease, filter .35s ease;
	filter: drop-shadow(0 2px 10px rgba(0,0,0,.6));
}
.brand:hover img { transform: scale(1.04); filter: drop-shadow(0 0 18px rgba(168,18,31,.35)); }

nav.primary { display: flex; gap: 32px; align-items: center; justify-self: center; }
nav.primary a {
	font-family: 'Cinzel', serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--ink-2);
	position: relative;
	padding: 6px 0;
	transition: color .25s ease;
}
nav.primary a:hover { color: var(--ink); }
nav.primary a::after {
	content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
	width: 0; height: 1px; background: var(--blood);
	transition: width .35s ease;
}
nav.primary a:hover::after { width: 100%; }

.socials { display: flex; align-items: center; gap: 4px; justify-self: end; }
.socials a {
	width: 38px; height: 38px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--ink-2);
	border: 1px solid transparent;
	transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}
.socials a:hover {
	color: var(--ink);
	border-color: var(--blood);
	background: rgba(168,18,31,.15);
	transform: translateY(-1px);
}
.socials svg { width: 18px; height: 18px; }

.menu-toggle {
	display: none;
	background: transparent; border: 1px solid var(--line);
	color: var(--ink-2);
	width: 38px; height: 38px;
	align-items: center; justify-content: center;
}
.menu-toggle svg { width: 20px; height: 20px; }

/* ═══════════════════ HERO ═══════════════════ */
.hero {
	/* Stała kompozycja hero zdefiniowana w template-parts/hero.php. */
	--hero-image-size: 44vw;                     /* szerokość kolumny zdjęcia względem ekranu */
	--hero-col-gap: 48px;                        /* odstęp między kolumnami */
	--hero-shift-y: 0px;                         /* pionowy nudge zdjęcia */
	position: relative;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	padding: calc(var(--topbar-h) + 40px) var(--pad-x) 60px;
	isolation: isolate;
}
.hero::before {
	content: ""; position: absolute; inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 42%, rgba(0,0,0,.82) 100%),
		radial-gradient(ellipse at 26% 34%, rgba(168,18,31,.10), transparent 55%);
	z-index: 1;
	pointer-events: none;
}
/* Poświata zakotwiczona po stronie zdjęcia */
.hero::after {
	content: ""; position: absolute; z-index: 1; pointer-events: none;
	top: 50%; right: -8vw;
	width: 58vw; height: 58vw; max-width: 720px; max-height: 720px;
	transform: translateY(-50%);
	background: radial-gradient(circle, rgba(168,18,31,.18), transparent 62%);
	filter: blur(6px);
}
.hero--left::after { right: auto; left: -8vw; }

.hero-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(min-content, max-content) minmax(0, var(--hero-image-size));
	justify-content: center;
	align-items: center;
	gap: clamp(8px, var(--hero-col-gap), 140px);
}
/* Zdjęcie po lewej: zamiana kolumn + lustrzane wyrównanie napisów */
.hero--left .hero-inner {
	grid-template-columns: minmax(0, var(--hero-image-size)) minmax(min-content, max-content);
}
.hero--left .hero-media { order: -1; }
.hero--left .hero-copy { justify-self: end; text-align: right; align-items: flex-end; }
.hero--left .hero-brand { align-items: flex-end; }
.hero--left .hero-marks { flex-direction: row-reverse; }
.hero--left .hero-scroll { flex-direction: row-reverse; }
.hero--left .hero-tagline {
	padding-left: 0; padding-right: 18px;
	border-left: none; border-right: 1px solid rgba(184,151,101,.35);
}

/* ── Kolumna z napisami ── */
.hero-copy {
	position: relative;
	z-index: 3;
	justify-self: start;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 22px;
	max-width: 34rem;
}
.hero-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}
.hero-logo {
	width: auto;
	height: clamp(60px, 7vw, 104px);
	filter: drop-shadow(0 6px 22px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(168,18,31,.18));
}
.hero-marks {
	display: flex; align-items: center; gap: 13px;
	color: var(--ink-3);
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .32em;
	text-transform: uppercase;
}
.hero-marks::before {
	content: ""; width: 34px; height: 1px; flex: 0 0 auto;
	background: linear-gradient(90deg, var(--blood), transparent);
}
.hero-marks .dot { width: 4px; height: 4px; background: var(--blood); border-radius: 50%; flex: 0 0 auto; }

.hero-title {
	font-family: 'Cinzel', serif;
	font-weight: 900;
	letter-spacing: .06em;
	font-size: clamp(38px, 4.8vw, 70px);
	line-height: .98;
	text-transform: uppercase;
	color: var(--ink);
	text-shadow: 0 4px 30px rgba(0,0,0,.85);
}
.hero-title-main {
	display: block;
	white-space: nowrap;
}
.hero-title .sub {
	display: block;
	font-family: 'Cinzel', serif;
	font-weight: 500;
	font-size: clamp(12px, 1vw, 17px);
	letter-spacing: .5em;
	color: var(--blood);
	margin-top: 14px;
}
.hero-tagline {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: clamp(16px, 1.15vw, 20px);
	color: var(--gold);
	line-height: 1.5;
	max-width: 40ch;
	padding-left: 18px;
	border-left: 1px solid rgba(184,151,101,.35);
}
.hero-scroll {
	display: inline-flex; align-items: center; gap: 12px;
	margin-top: 6px;
	color: var(--ink-3);
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .34em;
	text-transform: uppercase;
	transition: color .3s ease;
}
.hero-scroll .line {
	width: 40px; height: 1px;
	background: linear-gradient(90deg, var(--blood), transparent);
	transition: width .35s ease, background .35s ease;
}
.hero-scroll:hover { color: var(--ink); }
.hero-scroll:hover .line { width: 58px; background: linear-gradient(90deg, var(--gold), transparent); }

/* ── Kolumna ze zdjęciem ── */
.hero-media {
	position: relative;
	z-index: 2;
	justify-self: center;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}
.hero .feature {
	position: relative;
	width: 100%;
	transform: translateY(var(--hero-shift-y));
	transition: transform .4s ease, filter .4s ease;
}
.hero .feature picture { display: block; width: 100%; }
.hero .feature img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 82vh;
	object-fit: contain;
	margin: 0 auto;
}
/* Wariant w ramce (zwykłe zdjęcie) */
.hero:not(.hero--cutout) .feature {
	padding: 14px;
	background: linear-gradient(158deg, rgba(21,17,15,.92), rgba(6,5,5,.92));
	border: 1px solid rgba(184,151,101,.22);
	box-shadow:
		0 44px 90px -28px rgba(0,0,0,.92),
		0 0 130px -30px rgba(168,18,31,.28);
}
.hero:not(.hero--cutout) .feature::after {
	content: ""; position: absolute; inset: 7px;
	border: 1px solid rgba(184,151,101,.3);
	pointer-events: none;
	z-index: 2;
}
.hero:not(.hero--cutout) .feature:hover {
	transform: translateY(calc(var(--hero-shift-y) - 4px));
}
/* Wariant cutout (PNG bez tła) — bez ramki, sama poświata */
.hero--cutout .feature {
	background: transparent;
	border: none;
	box-shadow: none;
	filter: drop-shadow(0 26px 48px rgba(0,0,0,.6));
}
.hero--cutout .feature::after { display: none; }
.hero--cutout .feature img { max-height: 86vh; }

/* ═══════════════════ SECTION CHROME ═══════════════════ */
.section {
	padding: 140px var(--pad-x);
	position: relative;
}
.section-head {
	display: flex; flex-direction: column; align-items: center; gap: 14px;
	text-align: center;
	margin-bottom: 80px;
}
.eyebrow {
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .5em;
	text-transform: uppercase;
	color: var(--blood);
	display: flex; align-items: center; gap: 16px;
}
.eyebrow::before, .eyebrow::after {
	content: ""; width: 28px; height: 1px; background: var(--blood-deep);
}
.section-title {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: clamp(34px, 4.5vw, 64px);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink);
}
.section-sub {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: clamp(16px, 1.2vw, 20px);
	color: var(--gold);
	max-width: 680px;
	line-height: 1.5;
}

/* ═══════════════════ GALERIA ═══════════════════ */
#galeria {
	background: linear-gradient(to bottom, var(--bg) 0%, var(--bg-1) 30%, var(--bg) 100%);
}
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 1480px;
	margin: 0 auto;
}
.tile {
	position: relative;
	overflow: hidden;
	background: #000;
	cursor: pointer;
	aspect-ratio: 1 / 1;
}
.tile img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .9s cubic-bezier(.2,.7,.3,1), filter .6s ease;
	filter: brightness(.85) saturate(.95);
}
.tile:hover img { transform: scale(1.06); filter: brightness(1) saturate(1.05); }
.tile::after {
	content: ""; position: absolute; inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(184,151,101,.06);
	background: linear-gradient(180deg, transparent 55%, rgba(6,5,5,.92) 100%);
	transition: box-shadow .4s ease;
	z-index: 2;
}
.tile:hover::after {
	box-shadow: inset 0 0 0 1px rgba(168,18,31,.5), inset 0 0 60px rgba(168,18,31,.18);
}
.tile .meta {
	position: absolute; bottom: 0; left: 0; right: 0;
	padding: 22px 24px;
	z-index: 3;
	display: flex; align-items: end; justify-content: space-between;
	gap: 16px;
}
.tile .name {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink);
	text-shadow: 0 2px 12px rgba(0,0,0,.9);
}
.tile .scale {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--ink-3);
	border-top: 1px solid var(--blood-deep);
	padding-top: 6px;
	white-space: nowrap;
}
.tile .tag {
	position: absolute; top: 16px; left: 16px;
	z-index: 3;
	font-family: 'Cinzel', serif;
	font-size: 9px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--ink);
	background: rgba(168,18,31,.85);
	padding: 5px 10px;
}
.tile:not(:has(img))::after,
.tile:not(:has(img)) .meta,
.tile:not(:has(img)) .tag { display: none; }

.gallery-foot { display: flex; justify-content: center; margin-top: 80px; }
.cta {
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .35em;
	text-transform: uppercase;
	padding: 18px 38px;
	border: 1px solid var(--blood);
	color: var(--ink);
	background: transparent;
	transition: all .3s ease;
	display: inline-flex; align-items: center; gap: 14px;
}
.cta:hover {
	background: var(--blood);
	box-shadow: 0 0 32px rgba(168,18,31,.4);
	letter-spacing: .42em;
}
.cta .arr { transition: transform .3s ease; }
.cta:hover .arr { transform: translateX(4px); }

/* ═══════════════════ FILTRY GALERII/SKLEPU ═══════════════════ */
.senapi-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 24px;
	align-items: end;
	justify-content: center;
	max-width: 1280px;
	margin: 0 auto 50px;
	padding: 18px 24px;
	border: 1px solid var(--line);
	background: var(--bg-1);
}
.senapi-filter {
	display: flex; flex-direction: column;
	gap: 6px;
	min-width: 180px;
}
.senapi-filter-label {
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--blood);
}
.senapi-filter select {
	background: var(--bg);
	border: 1px solid var(--line);
	color: var(--ink);
	padding: 10px 14px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	min-width: 180px;
}
.senapi-filter select:focus { outline: none; border-color: var(--blood); }
.senapi-filter-clear {
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--ink-3);
	border-bottom: 1px solid var(--ink-4);
	padding-bottom: 2px;
	transition: color .25s ease, border-color .25s ease;
	align-self: end;
}
.senapi-filter-clear:hover { color: var(--ink); border-color: var(--blood); }

.senapi-pagination {
	display: flex; justify-content: center; gap: 8px;
	margin-top: 60px;
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .25em;
	text-transform: uppercase;
}
.senapi-pagination a,
.senapi-pagination span {
	padding: 10px 14px;
	border: 1px solid var(--line);
	color: var(--ink-2);
	transition: color .25s ease, border-color .25s ease, background-color .25s ease;
}
.senapi-pagination a:hover { color: var(--ink); border-color: var(--blood); }
.senapi-pagination .current { background: var(--blood); border-color: var(--blood); color: var(--ink); }

.senapi-empty {
	text-align: center;
	padding: 60px 20px;
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 20px;
	color: var(--gold);
}

/* Portfolio-only mark (zamiast ceny na single i tilach) */
.senapi-portfolio-mark {
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--gold);
}

/* ═══════════════════ LIGHTBOX ═══════════════════ */
.senapi-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .24s ease, visibility .24s ease;
}
.senapi-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
body.lightbox-open { overflow: hidden; }
.senapi-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 4, 4, .86);
	backdrop-filter: blur(14px);
}
.senapi-lightbox__dialog {
	position: relative;
	z-index: 1;
	width: min(1320px, 100%);
	height: min(840px, calc(100svh - 40px));
	min-height: 560px;
	display: grid;
	grid-template-rows: 64px minmax(0, 1fr);
	overflow: hidden;
	background: #11110f;
	border: 1px solid #36332f;
	border-radius: 4px;
	box-shadow: 0 40px 100px rgba(0, 0, 0, .62);
	transform: translateY(12px) scale(.99);
	transition: transform .3s cubic-bezier(.2, .7, .3, 1);
}
.senapi-lightbox.is-open .senapi-lightbox__dialog { transform: none; }
.senapi-lightbox__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 18px 0 24px;
	border-bottom: 1px solid #302e2a;
	background: #151412;
}
.senapi-lightbox__counter {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: #736f67;
}
.senapi-lightbox__counter strong { font-size: 14px; color: var(--ink); }
.senapi-lightbox__close {
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 0 10px 0 14px;
	border: 1px solid transparent;
	border-radius: 3px;
	background: transparent;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: var(--ink-2);
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.senapi-lightbox__close svg { width: 19px; height: 19px; }
.senapi-lightbox__close:hover { color: var(--ink); border-color: #45413b; background: #1d1c19; }
.senapi-lightbox__body {
	min-height: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.75fr) minmax(310px, .75fr);
}
.senapi-lightbox__media {
	position: relative;
	min-width: 0;
	min-height: 0;
	display: grid;
	place-items: center;
	padding: 0;
	overflow: hidden;
	background: #080808;
}
.senapi-lightbox__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 80px rgba(0, 0, 0, .35);
}
.senapi-lightbox__img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 1;
	transition: opacity .2s ease;
}
.senapi-lightbox__media.is-loading .senapi-lightbox__img { opacity: .18; }
.senapi-lightbox__loader {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
	border: 2px solid #34312d;
	border-top-color: var(--blood);
	border-radius: 50%;
	opacity: 0;
	animation: senapi-lightbox-spin .8s linear infinite;
}
.senapi-lightbox__media.is-loading .senapi-lightbox__loader { opacity: 1; }
@keyframes senapi-lightbox-spin { to { transform: rotate(360deg); } }
.senapi-lightbox__details {
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 42px 34px 28px;
	border-left: 1px solid #302e2a;
	background: #151412;
}
.senapi-lightbox__copy { display: flex; flex-direction: column; align-items: flex-start; }
.senapi-lightbox__eyebrow {
	margin-bottom: 18px;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.senapi-lightbox__name {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(38px, 3.4vw, 54px);
	font-weight: 500;
	line-height: .98;
	color: var(--ink);
}
.senapi-lightbox__meta {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #302e2a;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 650;
	text-transform: uppercase;
	color: #8e8980;
}
.senapi-lightbox__description {
	margin-top: 24px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--ink-3);
}
.senapi-lightbox__link {
	min-height: 54px;
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 0 17px;
	border: 1px solid var(--blood);
	border-radius: 3px;
	background: var(--blood);
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	transition: background-color .2s ease, border-color .2s ease;
}
.senapi-lightbox__link[hidden] { display: none; }
.senapi-lightbox__link svg { width: 18px; height: 18px; flex: 0 0 auto; }
.senapi-lightbox__link:hover { background: #d13040; border-color: #d13040; }
.senapi-lightbox__navigation {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 12px;
}
.senapi-lightbox__nav {
	min-width: 0;
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 0 10px;
	border: 1px solid #3b3833;
	border-radius: 3px;
	background: transparent;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: var(--ink-2);
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.senapi-lightbox__nav svg { width: 17px; height: 17px; flex: 0 0 auto; }
.senapi-lightbox__nav:hover { color: var(--ink); border-color: #5d5750; background: #1d1c19; }
.senapi-lightbox.has-single-item .senapi-lightbox__navigation { display: none; }
.senapi-lightbox.is-image-only .senapi-lightbox__copy,
.senapi-lightbox.is-image-only .senapi-lightbox__link { display: none; }
.senapi-lightbox.is-image-only .senapi-lightbox__details { justify-content: flex-end; }

@media (max-width: 900px) {
	.senapi-lightbox { padding: 10px; }
	.senapi-lightbox__dialog {
		height: calc(100svh - 20px);
		min-height: 0;
		grid-template-rows: 56px minmax(0, 1fr);
	}
	.senapi-lightbox__header { padding: 0 9px 0 16px; }
	.senapi-lightbox__close span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.senapi-lightbox__close { width: 40px; padding: 0; }
	.senapi-lightbox__body {
		grid-template-columns: 1fr;
		grid-template-rows: minmax(260px, 56%) minmax(0, 44%);
		overflow-y: auto;
	}
	.senapi-lightbox__media { min-height: 280px; padding: 0; }
	.senapi-lightbox__details {
		padding: 24px 20px 18px;
		border-top: 1px solid #302e2a;
		border-left: 0;
	}
	.senapi-lightbox__eyebrow { margin-bottom: 10px; }
	.senapi-lightbox__name { font-size: 36px; }
	.senapi-lightbox__meta { margin-top: 12px; padding-top: 11px; }
	.senapi-lightbox__description { margin-top: 14px; font-size: 13px; }
	.senapi-lightbox__link { min-height: 50px; margin-top: 22px; }
	.senapi-lightbox__navigation { margin-top: 8px; }
}
@media (max-width: 480px) {
	.senapi-lightbox__body { grid-template-rows: minmax(245px, 52%) minmax(0, 48%); }
	.senapi-lightbox__details { padding: 20px 16px 14px; }
	.senapi-lightbox__description { display: none; }
	.senapi-lightbox__nav span { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.senapi-lightbox,
	.senapi-lightbox__dialog,
	.senapi-lightbox__img { transition: none; }
	.senapi-lightbox__loader { animation: none; }
}

/* ═══════════════════ SCROLL REVEALS ═══════════════════ */
.senapi-reveal {
	opacity: .86;
	transform: translate3d(0, 10px, 0);
	transition: opacity .46s cubic-bezier(.2, .72, .25, 1), transform .46s cubic-bezier(.2, .72, .25, 1);
}
.senapi-reveal.in-view {
	opacity: 1;
	transform: none;
}
.senapi-reveal:not(.senapi-reveal-done),
.senapi-reveal-group:not(.senapi-reveal-done) .senapi-reveal-item {
	will-change: opacity, transform;
}
.senapi-reveal-group .senapi-reveal-item {
	opacity: .9;
	transform: translate3d(0, 7px, 0);
	transition:
		opacity .42s cubic-bezier(.2, .72, .25, 1),
		transform .42s cubic-bezier(.2, .72, .25, 1);
	transition-delay: calc(var(--senapi-reveal-order, 0) * 38ms);
}
.senapi-reveal-group.in-view .senapi-reveal-item {
	opacity: 1;
	transform: none;
}
.senapi-reveal-initial,
.senapi-reveal-initial .senapi-reveal-item {
	transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
	.senapi-reveal,
	.senapi-reveal-group .senapi-reveal-item {
		transition: none; opacity: 1; transform: none;
	}
}

/* ═══════════════════ SINGLE FIGURKA ═══════════════════ */
.senapi-single-figurka {
	max-width: 1280px;
	margin: 0 auto;
	padding-top: 40px;
}
.senapi-single-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 70px;
	align-items: start;
	margin-bottom: 80px;
}
@media (max-width: 1000px) {
	.senapi-single-grid { grid-template-columns: 1fr; gap: 40px; }
}

.senapi-single-main-image {
	position: relative;
	aspect-ratio: 3/4;
	overflow: hidden;
	background: #000;
	border: 1px solid var(--line);
}
.senapi-single-main-link { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.senapi-single-main-image img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.senapi-single-main-image .stamp {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%) rotate(-12deg);
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: .5em;
	color: var(--blood);
	border: 3px solid var(--blood);
	padding: 14px 26px;
	background: rgba(6, 5, 5, .7);
	text-transform: uppercase;
}
.senapi-single-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 12px;
}
.senapi-single-thumb {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #000;
	border: 1px solid var(--line);
	opacity: .8;
	transition: opacity .25s ease, border-color .25s ease;
}
.senapi-single-thumb:hover { opacity: 1; border-color: var(--blood); }
.senapi-single-thumb img { width: 100%; height: 100%; object-fit: cover; }

.senapi-klimat-tag {
	display: inline-block;
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--ink);
	background: var(--blood);
	padding: 6px 12px;
	margin-bottom: 18px;
}
.senapi-single-title {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: clamp(28px, 3.4vw, 48px);
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.senapi-single-scale {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--ink-3);
	border-top: 1px solid var(--blood-deep);
	padding-top: 8px;
	display: inline-block;
	margin-bottom: 26px;
}
.senapi-single-status {
	padding: 16px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	margin-bottom: 22px;
}
.senapi-price {
	font-family: 'Cinzel', serif;
	font-size: 28px;
	font-weight: 500;
	color: var(--ink);
}
.senapi-price .woocommerce-Price-currencySymbol { color: var(--gold); margin-left: 4px; }
.senapi-sold-mark {
	font-family: 'Cinzel', serif;
	font-size: 13px;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--blood);
}
.senapi-single-shortdesc {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 18px;
	color: var(--gold);
	line-height: 1.5;
	margin-bottom: 24px;
}
.senapi-single-cta { margin-bottom: 24px; }
.senapi-single-cta .single_add_to_cart_button,
.senapi-single-cta button[name="add-to-cart"] {
	background: var(--blood);
	color: var(--ink);
	border: none;
	padding: 16px 36px;
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .4em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .25s ease;
}
.senapi-single-cta .single_add_to_cart_button:hover {
	background: var(--blood-deep);
	box-shadow: 0 0 32px rgba(168, 18, 31, .4);
	letter-spacing: .5em;
}
.senapi-single-cta .quantity {
	display: inline-block;
	margin-right: 8px;
}
.senapi-single-cta .quantity input {
	background: var(--bg);
	border: 1px solid var(--line);
	color: var(--ink);
	padding: 14px 12px;
	font-family: 'Inter', sans-serif;
	width: 64px;
	text-align: center;
}
.senapi-single-meta-extra {
	display: flex; gap: 14px; align-items: baseline;
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
}
.senapi-single-meta-extra .label { color: var(--blood); }
.senapi-single-meta-extra span:not(.label) { color: var(--ink-2); }

.senapi-single-h2 {
	font-family: 'Cinzel', serif;
	font-size: 22px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--ink);
	margin-bottom: 22px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line);
}
.senapi-single-description {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	line-height: 1.85;
	color: var(--ink-2);
}
.senapi-single-description--desktop {
	max-width: none;
	margin: 26px 0 0;
}
.senapi-single-description--mobile {
	max-width: 760px;
	margin: 0 auto 80px;
	display: none;
}
.senapi-single-description p { margin-bottom: 16px; }

@media (max-width: 1000px) {
	.senapi-single-description--desktop { display: none; }
	.senapi-single-description--mobile { display: block; }
}

.senapi-single-related { margin-bottom: 60px; }
.senapi-single-related .gallery-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 760px) {
	.senapi-single-related .gallery-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════ PRACOWNIA ═══════════════════ */
#pracownia {
	background: var(--bg);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.pracownia-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 80px;
	align-items: center;
	max-width: 1280px;
	margin: 0 auto;
}
.pracownia-text h2 {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: clamp(30px, 3.4vw, 52px);
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.pracownia-text .lead {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 22px;
	color: var(--gold);
	margin-bottom: 32px;
}
.pracownia-text p {
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	line-height: 1.85;
	color: var(--ink-2);
	margin-bottom: 22px;
	max-width: 540px;
}
.pracownia-text .creds {
	display: flex; gap: 50px; margin-top: 40px;
	padding-top: 32px; border-top: 1px solid var(--line);
	flex-wrap: wrap;
}
.cred-num {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 32px;
	color: var(--blood);
	line-height: 1;
}
.cred-label {
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-top: 8px;
}
.pracownia-img {
	position: relative;
	aspect-ratio: 4/5;
	overflow: hidden;
	background: #000;
}
.pracownia-img img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05) brightness(.85); }
.pracownia-img::before {
	content: ""; position: absolute; inset: 0;
	border: 1px solid var(--blood-deep);
	transform: translate(18px, 18px);
	z-index: 0;
}
.pracownia-img:not(:has(img))::before { transform: translate(14px, 14px); }
.pracownia-img::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(6,5,5,.5));
	pointer-events: none;
	z-index: 2;
}
.pracownia-img:not(:has(img))::after { display: none; }

.pracownia-img.cutout {
	overflow: visible;
	background: transparent;
}
.pracownia-img.cutout::before,
.pracownia-img.cutout::after {
	display: none;
}
.pracownia-img.cutout img {
	object-fit: contain;
	filter: none;
}

/* ═══════════════════ KOMISJE ═══════════════════ */
#komisje { background: var(--bg); overflow: hidden; }
#komisje::before {
	content: ""; position: absolute; inset: 0;
	background-image: radial-gradient(ellipse at top, rgba(168,18,31,.05), transparent 60%);
	pointer-events: none;
}
.komisje-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1280px;
	margin: 0 auto;
}
.tier {
	position: relative;
	background: linear-gradient(180deg, var(--bg-1), var(--bg));
	border: 1px solid var(--line);
	padding: 48px 36px 40px;
	display: flex; flex-direction: column; gap: 18px;
	transition: all .35s ease;
}
.tier:hover {
	border-color: var(--blood-deep);
	transform: translateY(-4px);
	box-shadow: 0 30px 60px -20px rgba(168,18,31,.2);
}
.tier.featured {
	border-color: var(--blood);
	background: linear-gradient(180deg, var(--bg-2), var(--bg-1));
}
.tier.featured::before {
	content: "Najczęściej wybierane";
	position: absolute; top: -1px; right: 24px;
	background: var(--blood);
	color: var(--ink);
	font-family: 'Cinzel', serif;
	font-size: 9px;
	letter-spacing: .3em;
	text-transform: uppercase;
	padding: 6px 12px;
}
.tier-num {
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .4em;
	color: var(--blood);
}
.tier h3 {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.tier .desc {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	color: var(--gold);
	font-size: 17px;
	line-height: 1.5;
	min-height: 78px;
}
.tier .price {
	font-family: 'Cinzel', serif;
	font-size: 28px;
	font-weight: 500;
	color: var(--ink);
	padding: 18px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	display: flex; align-items: baseline; gap: 10px;
}
.tier .price .from { font-size: 11px; letter-spacing: .3em; color: var(--ink-3); }
.tier .price .zl { font-size: 18px; color: var(--ink-2); }
.tier ul {
	list-style: none;
	display: flex; flex-direction: column; gap: 12px;
	margin: 8px 0 18px;
	font-size: 14px;
	color: var(--ink-2);
}
.tier ul li { padding-left: 22px; position: relative; }
.tier ul li::before {
	content: "✦"; position: absolute; left: 0; top: 0;
	color: var(--blood); font-size: 10px;
}
.tier-btn {
	margin-top: auto;
	text-align: center;
	padding: 14px;
	border: 1px solid var(--line);
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--ink-2);
	cursor: pointer;
	transition: all .25s ease;
}
.tier-btn:hover {
	border-color: var(--blood);
	color: var(--ink);
	background: var(--blood-deep);
}
.tier.featured .tier-btn { background: var(--blood); border-color: var(--blood); color: var(--ink); }
.tier.featured .tier-btn:hover { background: transparent; box-shadow: 0 0 24px rgba(168,18,31,.4); }

.komisje-note {
	text-align: center;
	margin-top: 50px;
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 16px;
	color: var(--gold);
	opacity: .7;
}

/* ═══════════════════ SKLEP ═══════════════════ */
#sklep {
	background: var(--bg-1);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.shop-banner {
	max-width: 1100px;
	margin: 0 auto 50px;
	text-align: center;
	padding: 40px 20px;
	border: 1px dashed var(--blood-deep);
	position: relative;
}
.shop-banner .label {
	position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
	background: var(--bg-1);
	padding: 0 16px;
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .5em;
	color: var(--blood);
}
.shop-banner p {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 20px;
	color: var(--gold);
	max-width: 720px;
	margin: 0 auto;
	line-height: 1.5;
}
.shop-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1280px;
	margin: 0 auto;
}
.product {
	position: relative;
	aspect-ratio: 3/4;
	background: #000;
	overflow: hidden;
	border: 1px solid var(--line);
}
.product img {
	width: 100%; height: 100%; object-fit: cover;
	filter: grayscale(.6) brightness(.55) blur(1.5px);
	transition: all .5s ease;
}
.product:hover img { filter: grayscale(.3) brightness(.7) blur(0); }
.product .overlay {
	position: absolute; inset: 0;
	display: flex; flex-direction: column; justify-content: end;
	padding: 22px;
	z-index: 2;
	background: linear-gradient(180deg, transparent 40%, rgba(6,5,5,.92) 100%);
	pointer-events: none;
}
.product .pname {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.product .pstatus {
	font-family: 'Cinzel', serif;
	font-size: 9px;
	letter-spacing: .4em;
	color: var(--blood);
	text-transform: uppercase;
}
.product .stamp {
	position: absolute;
	top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-12deg);
	z-index: 3;
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .4em;
	color: var(--blood);
	border: 2px solid var(--blood);
	padding: 10px 18px;
	background: rgba(6,5,5,.6);
	text-transform: uppercase;
	opacity: .85;
}
.product:not(:has(img)) .overlay,
.product:not(:has(img)) .stamp { display: none; }

.shop-foot {
	text-align: center;
	margin-top: 50px;
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .3em;
	color: var(--ink-3);
	text-transform: uppercase;
}
.shop-foot strong { color: var(--blood); font-weight: 500; }

/* ═══════════════════ SKLEP — TEASER ═══════════════════ */
.senapi-sklep-section { overflow: hidden; }
.senapi-sklep-section .section-head .section-title { max-width: 880px; }

.senapi-sklep-atuty {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1080px;
	margin: 0 auto 60px;
}
.senapi-sklep-atut {
	position: relative;
	padding: 36px 28px;
	border: 1px solid var(--line);
	background: linear-gradient(180deg, var(--bg-1), var(--bg));
	text-align: center;
	transition: border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.senapi-sklep-atut:hover {
	border-color: var(--blood-deep);
	transform: translateY(-3px);
	box-shadow: 0 30px 60px -20px rgba(168,18,31,.18);
}
.senapi-sklep-atut__icon {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 56px; height: 56px;
	border: 1px solid var(--blood-deep);
	color: var(--blood);
	font-family: 'Cinzel', serif;
	font-size: 24px;
	margin: 0 auto 18px;
}
.senapi-sklep-atut__title {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink);
	margin-bottom: 10px;
}
.senapi-sklep-atut__desc {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	color: var(--gold);
	font-size: 16px;
	line-height: 1.5;
}

.senapi-sklep-products-head {
	display: flex; align-items: end; justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto 26px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line);
}
.senapi-sklep-products-title {
	font-family: 'Cinzel', serif;
	font-size: 18px;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--ink);
}
.senapi-sklep-products-link {
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--blood);
	transition: color .25s ease;
}
.senapi-sklep-products-link:hover { color: var(--ink); }

.senapi-sklep-soon {
	max-width: 720px;
	margin: 0 auto 30px;
	padding: 60px 30px;
	text-align: center;
	border: 1px dashed var(--blood-deep);
	background: radial-gradient(ellipse at center, rgba(168,18,31,.06), transparent 70%);
	position: relative;
}
.senapi-sklep-soon::before,
.senapi-sklep-soon::after {
	content: ""; position: absolute;
	width: 28px; height: 28px;
	border: 1px solid var(--gold);
	opacity: .35;
}
.senapi-sklep-soon::before { top: -14px; left: -14px; border-right: none; border-bottom: none; }
.senapi-sklep-soon::after  { bottom: -14px; right: -14px; border-left: none; border-top: none; }

.senapi-sklep-soon__sigil {
	color: var(--blood);
	margin-bottom: 22px;
	animation: senapi-sigil-pulse 6s ease-in-out infinite;
}
@keyframes senapi-sigil-pulse {
	0%, 100% { transform: rotate(0deg); opacity: .9; }
	50% { transform: rotate(180deg); opacity: 1; }
}
.senapi-sklep-soon__line {
	font-family: 'Cinzel', serif;
	font-size: 14px;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--ink);
	margin-bottom: 12px;
}
.senapi-sklep-soon__line--small {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 18px;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--gold);
	max-width: 540px;
	margin: 0 auto 32px;
	line-height: 1.5;
}

.senapi-sklep-cta-row {
	display: flex; gap: 16px; flex-wrap: wrap; justify-content: center;
	margin-top: 24px;
}
.senapi-cta--ghost {
	background: transparent;
	border-color: var(--line);
	color: var(--ink-2);
}
.senapi-cta--ghost:hover {
	background: var(--bg-1) !important;
	border-color: var(--gold) !important;
	color: var(--ink) !important;
	box-shadow: 0 0 24px rgba(184,151,101,.18) !important;
}

.senapi-sklep-foot {
	text-align: center;
	margin: 40px auto 0;
	max-width: 720px;
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 15px;
	color: var(--ink-3);
}

@media (max-width: 1000px) {
	.senapi-sklep-atuty { grid-template-columns: 1fr; gap: 16px; max-width: 520px; }
	.senapi-sklep-products-head { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ═══════════════════ SHOWROOM (już nieużywane — zostawiam style na wszelki wypadek) ═══════════════════ */
/* ═══════════════════ SHOWROOM ═══════════════════ */
#showroom {
	background: var(--bg);
	position: relative;
	overflow: hidden;
}
#showroom::before {
	content: "";
	position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 1px; height: 80px;
	background: linear-gradient(to bottom, transparent, var(--blood));
}
.showroom-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 70px;
	max-width: 1280px;
	margin: 0 auto;
	align-items: center;
}
.showroom-info { display: flex; flex-direction: column; gap: 0; }
.info-row {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 24px;
	padding: 22px 0;
	border-top: 1px solid var(--line);
	align-items: baseline;
}
.info-row:last-of-type { border-bottom: 1px solid var(--line); }
.info-row .label {
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--blood);
}
.info-row .value {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	color: var(--ink);
	line-height: 1.6;
}
.info-row .value em {
	font-family: 'Cormorant Garamond', serif;
	color: var(--gold);
	font-size: 17px;
}
.info-row .value strong { color: var(--ink); font-weight: 500; }
.showroom-info .cta { margin-top: 40px; align-self: flex-start; }

.showroom-img {
	position: relative;
	aspect-ratio: 4/5;
	overflow: hidden;
	background: #000;
}
.showroom-img img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.05) brightness(.85); }
.showroom-img::before {
	content: ""; position: absolute; inset: 0;
	border: 1px solid var(--gold);
	opacity: .25;
	transform: translate(-18px, 18px);
	z-index: 0;
}
.showroom-img::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(6,5,5,.5));
	pointer-events: none;
	z-index: 2;
}
.showroom-img:not(:has(img))::after { display: none; }

.map-strip {
	margin-top: 60px;
	padding: 22px;
	border: 1px solid var(--line);
	background: var(--bg-1);
	display: flex; align-items: center; justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.map-strip .left {
	display: flex; align-items: center; gap: 16px;
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.map-strip .pin {
	width: 32px; height: 32px;
	border: 1px solid var(--blood-deep);
	color: var(--blood);
	display: inline-flex; align-items: center; justify-content: center;
}
.map-strip .right {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 16px;
	color: var(--gold);
}

/* ═══════════════════ KONTAKT ═══════════════════ */
#kontakt {
	background: var(--bg);
	padding-bottom: 100px;
}
.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	max-width: 1200px;
	margin: 0 auto;
}
.contact-info h3 {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 28px;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.contact-info .lead {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 20px;
	color: var(--gold);
	line-height: 1.5;
	margin-bottom: 40px;
}
.contact-list { list-style: none; display: flex; flex-direction: column; gap: 18px; }
.contact-list li {
	display: flex; align-items: center; gap: 18px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
}
.contact-list .ico {
	width: 32px; height: 32px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--blood-deep);
	color: var(--blood);
	flex-shrink: 0;
}
.contact-list .label {
	font-family: 'Cinzel', serif;
	font-size: 10px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 4px;
}
.contact-list .value { font-family: 'Inter', sans-serif; font-size: 15px; color: var(--ink); }

.contact-form {
	display: flex; flex-direction: column; gap: 18px;
	padding: 40px;
	background: var(--bg-1);
	border: 1px solid var(--line);
}
.contact-form h3 {
	font-family: 'Cinzel', serif;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: .15em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.contact-form .formline {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	color: var(--gold);
	font-size: 15px;
	margin-bottom: 8px;
}
.contact-form .wpcf7 form,
.contact-form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.contact-form .field p,
.contact-form .wpcf7 p {
	margin: 0;
}
.contact-form .field br,
.contact-form .wpcf7 br {
	display: none;
}
.field label {
	display: block;
	font-family: 'Cinzel', serif;
	font-size: 9px;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 8px;
}
.field input, .field textarea, .field select {
	width: 100%;
	background: var(--bg);
	border: 1px solid var(--line);
	color: var(--ink);
	padding: 14px 16px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	transition: border-color .25s ease;
}
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--blood); }
.field textarea { min-height: 110px; resize: vertical; font-family: 'Inter', sans-serif; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form .hidden-fields-container {
	display: none !important;
}
.contact-form .wpcf7-spinner { margin: 10px 0 0; }
.contact-form .wpcf7-not-valid-tip {
	display: none !important;
}
.contact-form .wpcf7-response-output {
	margin: 10px 0 0;
	padding: 10px 12px;
	border: 1px solid var(--blood-deep);
	font-size: 13px;
	color: var(--ink-2);
	background: rgba(168, 18, 31, .08);
}

.contact-form form.sent .wpcf7-response-output,
.contact-form .wpcf7-response-output.mail-sent-ok {
	border-color: #1f7a3a;
	background: rgba(31, 122, 58, .18);
	color: #d8f1df;
}
.contact-form .wpcf7-response-output:empty {
    display: none;
}

.contact-form .wpcf7-response-output ul {
    display: none;
}

.contact-form .wpcf7 .screen-reader-response,
.contact-form .wpcf7 .screen-reader-response ul,
.contact-form .wpcf7 .screen-reader-response li {
	display: none !important;
}
.submit {
	background: var(--blood);
	color: var(--ink);
	border: none;
	padding: 16px;
	font-family: 'Cinzel', serif;
	font-size: 11px;
	letter-spacing: .4em;
	text-transform: uppercase;
	transition: all .25s ease;
	margin-top: 6px;
}
.submit:hover {
	background: var(--blood-deep);
	box-shadow: 0 0 32px rgba(168,18,31,.4);
	letter-spacing: .5em;
}

/* ═══════════════════ FOOTER ═══════════════════ */
.site-footer {
	border-top: 1px solid var(--line);
	padding: 82px var(--pad-x) 32px;
	background: var(--bg);
}
.footer-main {
	display: grid;
	grid-template-columns: minmax(360px, 1.08fr) minmax(540px, .92fr);
	gap: clamp(70px, 9vw, 150px);
	align-items: start;
	max-width: 1480px;
	margin: 0 auto;
}
.footer-brand { max-width: 640px; }
.foot-brandmark {
	display: inline-flex;
	align-items: center;
	color: var(--ink);
}
.foot-brandmark img { width: auto; height: 76px; }
.foot-line {
	max-width: 14ch;
	margin-top: 30px;
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(38px, 3.15vw, 54px);
	font-weight: 500;
	line-height: 1.02;
	color: var(--ink);
}
.foot-cols {
	display: grid;
	grid-template-columns: 1.2fr 1.2fr .8fr;
	gap: clamp(34px, 4vw, 72px);
	padding-top: 9px;
	text-align: left;
}
.foot-col h4 {
	margin-bottom: 22px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.foot-col ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.foot-col a,
.foot-col .static {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.45;
	color: var(--ink-2);
	transition: color .2s ease;
}
.foot-col a:hover,
.foot-col a:focus-visible { color: var(--ink); }
.foot-col--social a::after {
	content: '\2197';
	display: inline-block;
	margin-left: 7px;
	font-size: 12px;
	color: var(--ink-4);
	transition: transform .2s ease, color .2s ease;
}
.foot-col--social a:hover::after,
.foot-col--social a:focus-visible::after {
	color: var(--blood);
	transform: translate(2px, -2px);
}
.footer-bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 28px;
	max-width: 1480px;
	margin: 76px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--line);
}
.foot-meta,
.footer-legal {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 22px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	color: var(--ink-3);
}
.foot-meta span + span::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 1px;
	margin-right: 22px;
	vertical-align: middle;
	background: var(--line-strong);
}
.footer-legal a { color: var(--ink-3); transition: color .2s ease; }
.footer-legal a:hover,
.footer-legal a:focus-visible { color: var(--ink); }
.footer-top {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 650;
	color: var(--ink-2);
	transition: color .2s ease;
}
.footer-top svg {
	width: 17px;
	height: 17px;
	transition: transform .2s ease;
}
.footer-top:hover,
.footer-top:focus-visible { color: var(--ink); }
.footer-top:hover svg,
.footer-top:focus-visible svg { transform: translateY(-3px); }

/* ═══════════════════ RESPONSIVE ═══════════════════ */
@media (max-width: 1100px) {
	.pracownia-grid { grid-template-columns: 1fr; gap: 50px; }
	.showroom-grid { grid-template-columns: 1fr; gap: 50px; }
	.komisje-grid { grid-template-columns: 1fr; max-width: 520px; }
	.shop-grid { grid-template-columns: repeat(2, 1fr); }
	.contact-grid { grid-template-columns: 1fr; gap: 50px; }
}
@media (max-width: 900px) {
	:root { --topbar-h: 70px; --pad-x: 18px; }
	.topbar { grid-template-columns: 1fr auto; gap: 12px; padding: 12px 18px; }
	nav.primary { display: none; }
	nav.primary.open {
		display: flex;
		position: absolute; top: 100%; left: 0; right: 0;
		flex-direction: column;
		gap: 0;
		background: rgba(8,6,5,.98);
		border-bottom: 1px solid var(--line);
		padding: 14px 18px 18px;
	}
	nav.primary.open a {
		width: 100%;
		padding: 12px 0;
		border-bottom: 1px solid var(--line);
		text-align: center;
	}
	nav.primary.open a:last-child { border-bottom: none; }
	.socials { gap: 2px; }
	.socials a { width: 34px; height: 34px; }
	.menu-toggle { display: inline-flex; }
	.brand img { height: 44px; }

	.hero {
		min-height: auto;
		justify-content: flex-start;
		overflow: hidden;
		padding: calc(var(--topbar-h) + 2px) var(--pad-x) 44px;
	}
	.hero::after {
		top: 32%; right: 50%; left: auto;
		width: 96vw; height: 96vw;
		transform: translate(50%, -50%);
	}
	.hero--left::after { left: auto; right: 50%; }

	.hero-inner,
	.hero--left .hero-inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
		gap: 10px;
	}
	.hero-media,
	.hero--left .hero-media { order: -1; }

	.hero-copy,
	.hero--left .hero-copy {
		justify-self: center;
		align-items: center;
		text-align: center;
		max-width: 42ch;
		gap: 16px;
	}
	.hero-brand,
	.hero--left .hero-brand { align-items: center; gap: 14px; }
	.hero-logo { height: clamp(56px, 15vw, 88px); }
	.hero-marks,
	.hero--left .hero-marks { flex-direction: row; font-size: 8px; gap: 8px; }
	.hero-marks::before { display: none; }
	.hero-scroll,
	.hero--left .hero-scroll { flex-direction: row; margin-top: 2px; }
	.hero-title { font-size: clamp(34px, 10.5vw, 60px); letter-spacing: .06em; }
	.hero-title .sub { letter-spacing: .4em; }
	.hero-tagline,
	.hero--left .hero-tagline {
		font-size: 15px; max-width: 44ch;
		padding: 14px 0 0;
		border-left: none; border-right: none;
		border-top: 1px solid rgba(184,151,101,.28);
	}

	.hero-media { width: min(104vw, 820px); }
	.hero .feature { transform: none; }
	.hero:not(.hero--cutout) .feature:hover { transform: none; }
	.hero .feature img { max-height: 78vh; }


	.section { padding: 90px var(--pad-x); }
	.section-head { margin-bottom: 50px; }
	.gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.shop-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.info-row { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
	.info-row .value em { font-size: 16px; }
	.map-strip { flex-direction: column; align-items: flex-start; gap: 14px; }
	.contact-form { padding: 24px; }
	.field-row { grid-template-columns: 1fr; }
	.tile .name { font-size: 13px; letter-spacing: .1em; }
	.tile .scale { font-size: 8px; letter-spacing: .2em; }
	.tile .meta { padding: 14px 14px; }
	.hero-title { letter-spacing: .12em; }
}
@media (max-width: 420px) {
	.gallery-grid { grid-template-columns: 1fr; }
	.shop-grid { grid-template-columns: 1fr; }
}

/* ===========================================================================
   Visual refresh 2026
   Editorial dark-fantasy direction with clearer hierarchy and commerce UX.
   ========================================================================== */

:root {
	--bg: #080808;
	--bg-1: #10100f;
	--bg-2: #191817;
	--surface: #141312;
	--paper: #d4d2cc;
	--paper-ink: #171615;
	--line: #292724;
	--line-strong: #46413b;
	--ink: #f2efe8;
	--ink-2: #c1bcb1;
	--ink-3: #89837a;
	--ink-4: #5a554e;
	--blood: #bd2634;
	--blood-deep: #76121d;
	--bone: #e1d8c4;
	--gold: #c2aa7c;
	--sage: #9ca99c;
	--topbar-h: 92px;
	--pad-x: max(24px, calc((100vw - 1480px) / 2));
}

html { scroll-padding-top: var(--topbar-h); }
body {
	font-weight: 400;
	line-height: 1.65;
	background: var(--bg);
}
body * { letter-spacing: 0 !important; }
body::before { opacity: .2; mix-blend-mode: soft-light; }

.topbar {
	min-height: var(--topbar-h);
	padding: 0 24px;
	display: block;
	background: rgba(8, 8, 8, .34);
	border-color: rgba(225, 216, 196, .08);
	backdrop-filter: blur(8px);
	transition: background-color .42s ease, border-color .42s ease, backdrop-filter .42s ease, box-shadow .42s ease;
}
.topbar.is-scrolled {
	background: rgba(8, 8, 8, .34);
	border-color: rgba(225, 216, 196, .08);
	backdrop-filter: blur(8px);
	box-shadow: none;
}
.topbar-inner {
	width: 100%;
	max-width: 1600px;
	min-height: inherit;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr);
	align-items: center;
	gap: 28px;
}
.topbar-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: transparent;
	overflow: hidden;
}
.topbar-progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--blood);
	transform: scaleX(0);
	transform-origin: left center;
	will-change: transform;
}
.brand { gap: 13px; }
.brand img { height: 49px; }
.brand-wordmark { display: flex; flex-direction: column; line-height: 1.05; }
.brand-wordmark strong {
	font-family: 'Cinzel', serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--ink);
}
.brand-wordmark__accent { color: var(--blood); }
.brand-wordmark small {
	margin-top: 5px;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	text-transform: uppercase;
	color: var(--ink-3);
}
nav.primary { gap: 7px; }
nav.primary li { list-style: none; }
nav.primary a {
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 550;
	text-transform: none;
	color: var(--ink-2);
	padding: 11px 14px;
	border-radius: 3px;
}
nav.primary a::after { bottom: 5px; height: 2px; }
nav.primary a:hover,
nav.primary a.is-active { color: var(--ink); }
nav.primary a.is-active::after { width: calc(100% - 26px); }
.socials { gap: 12px; }
.social-links { display: flex; align-items: center; gap: 2px; }
.socials .social-links a { width: 36px; height: 36px; }
.nav-cta {
	width: auto !important;
	height: 42px !important;
	padding: 0 15px !important;
	gap: 9px;
	border: 1px solid var(--blood) !important;
	background: var(--blood) !important;
	color: #fff !important;
	font-size: 12px;
	font-weight: 600;
}
.nav-cta:hover { background: #d13040 !important; transform: none !important; }
.nav-cta svg { width: 16px; height: 16px; }
.menu-close-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-open-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-close-icon { display: block; }

.hero {
	height: 100svh;
	min-height: 0;
	justify-content: center;
	padding: calc(var(--topbar-h) + clamp(20px, 4vh, 44px)) 24px 64px;
	background: var(--bg);
}
.hero::before {
	background: none;
}
.hero::after { display: none; }
.hero-inner {
	position: static;
	display: block;
	max-width: 1600px;
	height: 100%;
	min-height: 0;
}
.hero-copy {
	position: relative;
	z-index: 5;
	width: min(700px, 49vw);
	max-width: none;
	height: 100%;
	min-height: 0;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: clamp(12px, 2.1vh, 20px);
}
.hero--left .hero-copy {
	width: min(700px, 49vw);
	margin-left: auto;
	justify-self: auto;
	text-align: center;
	align-items: center;
}
.hero-marks {
	justify-content: center;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--sage);
}
.hero-marks::before { width: 52px; background: var(--blood); }
.hero-brand { align-items: center; gap: 0; }
.hero-title {
	font-family: 'Cinzel', serif;
	font-size: 68px;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
	text-shadow: 0 4px 34px #000;
}
.hero-title-main,
.hero-title-accent { display: inline; white-space: nowrap; }
.hero-title-main { color: var(--ink); }
.hero-title-accent { color: var(--blood); }
.hero-tagline,
.hero--left .hero-tagline {
	width: min(680px, 100%);
	max-width: none;
	padding: 0;
	border: 0;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-style: normal;
	line-height: 1.55;
	color: var(--ink);
	text-align: center;
}
.hero-tagline span { display: block; }
.hero-tagline-lead { font-weight: 500; }
.hero-tagline-detail {
	margin-top: 7px;
	font-size: 15px;
	color: var(--ink-2);
}
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; gap: 10px; margin-top: 6px; }
.cta {
	min-height: 52px;
	padding: 0 23px;
	border-radius: 3px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 650;
	text-transform: none;
	justify-content: center;
}
.cta:hover { letter-spacing: 0; }
.cta svg,
.tier-btn svg,
.product-link svg,
.senapi-sklep-products-link svg { width: 18px; height: 18px; flex: 0 0 auto; }
.cta--primary { background: var(--blood); border-color: var(--blood); color: #fff; }
.cta--primary:hover { background: #d13040; box-shadow: 0 12px 28px rgba(189, 38, 52, .24); }
.cta--quiet { border-color: var(--line-strong); color: var(--ink); }
.cta--quiet:hover { border-color: var(--ink-3); background: var(--surface); box-shadow: none; }
.hero-proof {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 100%;
	max-width: 700px;
	margin-top: 10px;
	padding-top: 22px;
	border-top: 1px solid var(--line);
	list-style: none;
}
.hero-proof li {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	padding-right: 20px;
	text-align: center;
}
.hero-proof li + li { padding-left: 20px; border-left: 1px solid var(--line); }
.hero-proof i {
	width: 6px;
	height: 6px;
	margin-top: 2px;
	border-radius: 50%;
	background: var(--blood);
}
.hero-proof span { display: block; font-size: 12px; color: var(--ink-2); line-height: 1.5; }
.hero-media {
	position: absolute;
	top: 0;
	right: calc(max(-120px, calc((100vw - 1760px) / 2)) - var(--hero-col-gap) + 48px);
	bottom: auto;
	width: min(calc(var(--hero-image-size) + 15vw), 1180px);
	height: calc(100% + 22px);
	align-items: flex-end;
	justify-content: center;
}
.hero--left .hero-media {
	left: calc(max(-120px, calc((100vw - 1760px) / 2)) - var(--hero-col-gap) + 48px);
	right: auto;
}
.hero .feature,
.hero--cutout .feature {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	transform: translateY(calc(var(--hero-shift-y) + 16px));
	filter: drop-shadow(0 34px 38px rgba(0, 0, 0, .72));
}
.hero .feature picture { height: 100%; }
.hero .feature img,
.hero--cutout .feature img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: contain;
	object-position: center bottom;
}
.hero-media-meta {
	position: absolute;
	right: max(140px, 9%);
	bottom: 34px;
	z-index: 4;
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--ink-3);
}
.hero-scroll {
	position: absolute;
	z-index: 6;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--ink-2);
}
.hero-scroll-label { transition: color .25s ease; }
.hero-scroll-icon {
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	background: rgba(8, 8, 8, .72);
	color: var(--blood);
	transition: border-color .25s ease, background-color .25s ease;
}
.hero-scroll svg {
	width: 17px;
	height: 17px;
	animation: hero-scroll-cue 1.8s ease-in-out infinite;
}
.hero-scroll:hover { color: var(--ink); }
.hero-scroll:hover .hero-scroll-icon { border-color: var(--blood); background: var(--surface); }
@keyframes hero-scroll-cue {
	0%, 100% { transform: translateY(-2px); }
	50% { transform: translateY(3px); }
}
@media (prefers-reduced-motion: reduce) {
	.hero-scroll svg { animation: none; }
}

.section { padding: 128px 24px; }
.section-head {
	width: 100%;
	max-width: 1380px;
	margin: 0 auto 68px;
	gap: 12px;
}
.section-head--split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	align-items: end;
	text-align: left;
}
.section-head__title,
.section-head__aside { display: flex; flex-direction: column; align-items: flex-start; }
.section-head__aside { gap: 16px; padding-bottom: 7px; }
.eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.eyebrow::before,
.eyebrow::after { display: none; }
.eyebrow::before {
	display: block;
	width: 34px;
	background: var(--blood);
}
.eyebrow--start { justify-content: flex-start; margin-bottom: 18px; }
.section-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 68px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
}
.section-sub {
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-style: normal;
	line-height: 1.7;
	color: var(--ink-2);
}
.section-count {
	font-family: 'Cormorant Garamond', serif;
	font-size: 42px;
	line-height: 1;
	color: var(--ink-3);
}

#galeria {
	background: var(--bg-1);
	border-top: 1px solid var(--line);
}
#galeria .gallery-head {
	max-width: 1380px;
	margin-bottom: 42px;
	padding-bottom: 34px;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
	align-items: end;
	gap: 72px;
	text-align: left;
	border-bottom: 1px solid var(--line);
}
#galeria .section-head__title { gap: 13px; }
#galeria .gallery-eyebrow {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	width: fit-content;
	color: var(--ink-3);
}
#galeria .gallery-eyebrow::before,
#galeria .gallery-eyebrow::after { display: none; }
#galeria .gallery-eyebrow > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--blood);
}
#galeria .section-title {
	font-size: clamp(48px, 5vw, 72px);
	line-height: .98;
}
.gallery-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 32px;
}
#galeria .section-sub {
	max-width: 47ch;
	font-size: 15px;
	color: var(--ink-2);
}
.gallery-count {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	min-width: 92px;
}
.gallery-count strong {
	font-family: 'Cormorant Garamond', serif;
	font-size: 46px;
	font-weight: 500;
	line-height: .8;
	color: var(--ink);
}
.gallery-count span {
	margin-top: 11px;
	font-size: 10px;
	font-weight: 650;
	text-transform: uppercase;
	color: var(--ink-3);
}
.gallery-grid {
	max-width: 1380px;
	gap: 18px;
}
.gallery-grid--featured {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px 16px;
}
.gallery-grid--featured.gallery-grid--sparse {
	grid-template-columns: repeat(var(--gallery-columns), minmax(0, 333px));
	justify-content: center;
}
.tile-media {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.tile-media picture { display: block; width: 100%; height: 100%; }
.tile { border-radius: 3px; border: 1px solid var(--line); }
.gallery-grid--featured .tile {
	display: flex;
	flex-direction: column;
	min-width: 0;
	aspect-ratio: auto;
	border: 0;
	background: transparent;
}
.gallery-grid--featured .tile-media {
	aspect-ratio: 4 / 5;
	border: 1px solid var(--line);
	border-radius: 3px;
	background: var(--surface);
}
.gallery-grid--featured .tile-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02);
	transition: box-shadow .3s ease;
}
.tile img { filter: brightness(.94) saturate(.96); }
.tile:hover img { transform: scale(1.025); filter: brightness(1.02) saturate(1.02); }
.tile::after { background: linear-gradient(180deg, transparent 45%, rgba(8, 8, 8, .9)); }
.tile:hover::after { box-shadow: inset 0 0 0 1px rgba(225, 216, 196, .22); }
.gallery-grid--featured .tile::after { display: none; }
.gallery-grid--featured .tile:hover .tile-media::after { box-shadow: inset 0 0 0 1px rgba(225, 216, 196, .24); }
.gallery-grid--featured .tile .meta {
	position: static;
	min-height: 72px;
	padding: 15px 2px 0;
	align-items: flex-start;
	background: transparent;
}
.tile .name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 28px;
	font-weight: 600;
	text-transform: none;
}
.tile .scale {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	color: var(--ink-2);
	border-color: var(--blood);
}
.gallery-grid--featured .tile .name { font-size: 23px; line-height: 1.1; }
.gallery-grid--featured .tile .scale {
	padding-top: 3px;
	border: 0;
	font-size: 10px;
	color: var(--ink-3);
}
.tile .tag {
	top: 18px;
	left: 18px;
	padding: 6px 10px;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	background: var(--blood);
	border-radius: 2px;
}
.gallery-grid--featured .tile .tag {
	top: 14px;
	left: 14px;
	background: rgba(8, 8, 8, .78);
	color: var(--ink-2);
	backdrop-filter: blur(8px);
}
.tile .tag--sold { top: auto; bottom: 14px; background: rgba(118, 18, 29, .9); color: #fff; }
.tile-index {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 650;
	color: rgba(255, 255, 255, .7);
	text-shadow: 0 1px 8px #000;
}
.gallery-foot {
	max-width: 1380px;
	margin: 54px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 34px;
	border-top: 1px solid var(--line);
}
.gallery-more {
	min-width: 230px;
	justify-content: space-between;
	border-color: var(--line-strong);
	background: transparent;
	color: var(--ink);
}
.gallery-more:hover { border-color: var(--blood); background: var(--blood); }

#pracownia {
	background: var(--bg);
	color: var(--ink);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	overflow: hidden;
}
.pracownia-grid {
	max-width: 1280px;
	grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr);
	gap: clamp(64px, 7vw, 112px);
}
.pracownia-text { min-width: 0; }
.pracownia-heading {
	padding-bottom: 28px;
	border-bottom: 1px solid var(--line);
}
#pracownia .eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 24px;
	color: var(--ink-3);
}
#pracownia .eyebrow::before {
	width: 7px;
	height: 7px;
	border: 0;
	border-radius: 50%;
	background: var(--blood);
}
.pracownia-text h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(52px, 5.2vw, 76px);
	font-weight: 500;
	line-height: .96;
	text-transform: none;
	color: var(--ink);
	margin-bottom: 24px;
}
.pracownia-text .lead {
	max-width: 600px;
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 25px;
	font-style: normal;
	line-height: 1.38;
	color: var(--ink-2);
}
.pracownia-copy { padding-top: 28px; }
.pracownia-text .pracownia-copy p {
	max-width: 620px;
	margin-bottom: 16px;
	color: var(--ink-2);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.8;
}
.pracownia-text .pracownia-copy p:last-child { margin-bottom: 0; }
.pracownia-text .creds {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 24px;
	margin-top: 34px;
	padding: 24px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
#pracownia .cred-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 42px;
	font-weight: 500;
	color: var(--ink);
}
#pracownia .cred-label {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0;
	color: var(--ink-3);
	text-transform: uppercase;
}
.pracownia-visual {
	min-width: 0;
	align-self: stretch;
}
.pracownia-img {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 620px;
	background: transparent;
	overflow: hidden;
}
.pracownia-img::before,
.pracownia-img::after { display: none; }
.pracownia-img img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: none;
}
.pracownia-img.cutout {
	width: calc(100% + 8%);
	margin-left: -4%;
	padding: 0;
	background: transparent;
	border: 0;
	overflow: visible;
}
.pracownia-img.cutout img {
	filter: drop-shadow(0 30px 24px rgba(0, 0, 0, .4));
}

#komisje { background: var(--bg-1); }
#komisje::before { display: none; }
.commissions-head {
	max-width: 1280px;
	margin: 0 auto 54px;
	padding-bottom: 38px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
	align-items: end;
	gap: 80px;
	text-align: left;
	border-bottom: 1px solid var(--line);
}
.commissions-head__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}
#komisje .commissions-eyebrow {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	width: fit-content;
	color: var(--ink-3);
}
#komisje .commissions-eyebrow::before,
#komisje .commissions-eyebrow::after { display: none; }
#komisje .commissions-eyebrow > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--blood);
}
#komisje .section-title {
	font-size: clamp(48px, 5vw, 72px);
	line-height: .98;
}
.commissions-intro { min-width: 0; }
#komisje .section-sub {
	max-width: 50ch;
	font-size: 15px;
}
.commissions-status {
	margin-top: 22px;
	padding-top: 18px;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: baseline;
	gap: 5px 16px;
	border-top: 1px solid var(--line);
	font-size: 13px;
	color: var(--ink-3);
}
.commissions-status__label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.commissions-status strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}
.commissions-status > span:last-child { grid-column: 1 / -1; }
.availability-pill i,
.response-chip i,
.product-status i {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #63a875;
	box-shadow: 0 0 0 4px rgba(99, 168, 117, .12);
}
.commissions-tabs { display: none; }
.komisje-grid {
	max-width: 1280px;
	gap: 1px;
	background: var(--line);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tier {
	min-height: 580px;
	padding: 36px 32px 32px;
	border: 0;
	border-radius: 0;
	background: var(--bg-1);
	gap: 16px;
}
.tier:hover { transform: none; background: var(--surface); box-shadow: none; }
.tier.featured {
	background: var(--surface);
	box-shadow: inset 0 2px 0 var(--blood);
}
.tier.featured::before { display: none; }
.tier-badge {
	position: absolute;
	top: 20px;
	right: 22px;
	padding: 6px 9px;
	background: var(--blood);
	border-radius: 2px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ink);
}
.tier-num {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--blood);
}
.tier h3 { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 600; text-transform: none; }
.tier .desc { min-height: 68px; font-family: 'Inter', sans-serif; font-size: 15px; font-style: normal; color: var(--ink-2); }
.tier .price { font-family: 'Cormorant Garamond', serif; font-size: 38px; border-color: var(--line); }
.tier .price .from,
.tier .price .zl { font-family: 'Inter', sans-serif; font-size: 12px; }
.tier ul { font-size: 14px; }
.tier ul li::before { content: ""; width: 6px; height: 6px; top: 8px; border-radius: 50%; background: var(--blood); }
.tier-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 50px;
	padding: 0 15px;
	border-radius: 3px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 650;
	text-transform: none;
}
.tier.featured .tier-btn { background: var(--blood); }
.komisje-note { font-family: 'Inter', sans-serif; font-size: 13px; font-style: normal; color: var(--ink-3); opacity: 1; }

#sklep { background: var(--bg); }
.shop-head {
	max-width: 1280px;
	margin: 0 auto 52px;
	padding-bottom: 38px;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	align-items: end;
	gap: 80px;
	text-align: left;
	border-bottom: 1px solid var(--line);
}
.shop-head__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}
#sklep .shop-eyebrow {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	width: fit-content;
	color: var(--ink-3);
}
#sklep .shop-eyebrow::before,
#sklep .shop-eyebrow::after { display: none; }
#sklep .shop-eyebrow > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--blood);
}
#sklep .section-title {
	max-width: none;
	font-size: clamp(46px, 4.8vw, 68px);
	line-height: .98;
}
.shop-intro { min-width: 0; }
#sklep .section-sub {
	max-width: 52ch;
	font-size: 15px;
}
.senapi-sklep-atuty {
	max-width: 1280px;
	margin: 0 auto 68px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	background: transparent;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.senapi-sklep-atut {
	min-height: 0;
	padding: 26px 32px;
	text-align: left;
	background: transparent;
	border: 0;
}
.senapi-sklep-atut + .senapi-sklep-atut { border-left: 1px solid var(--line); }
.senapi-sklep-atut:hover { transform: none; border-color: var(--line); box-shadow: none; background: transparent; }
.senapi-sklep-atut__title {
	margin-bottom: 8px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 23px;
	font-weight: 600;
	text-transform: none;
}
.senapi-sklep-atut__desc {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-style: normal;
	line-height: 1.65;
	color: var(--ink-3);
}
.senapi-sklep-products-head { max-width: 1380px; align-items: center; margin-bottom: 22px; padding-bottom: 18px; }
.senapi-sklep-products-head > div { display: flex; flex-direction: column; gap: 9px; }
.senapi-sklep-products-kicker {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.senapi-sklep-products-title { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 600; text-transform: none; }
.senapi-sklep-products-link { display: inline-flex; align-items: center; gap: 8px; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 650; text-transform: none; }
.shop-grid { max-width: 1380px; gap: 22px; }
.shop-grid--sparse {
	grid-template-columns: repeat(var(--shop-columns), minmax(0, 325px));
	justify-content: center;
}
.product-card {
	min-width: 0;
	overflow: visible;
	background: transparent;
	border: 0;
	border-radius: 0;
	transition: transform .25s ease;
}
.product-card:hover { transform: translateY(-3px); }
.product-card .product {
	display: block;
	aspect-ratio: 4 / 5;
	border: 1px solid var(--line);
}
.product-card .product img {
	filter: none;
	transition: transform .55s cubic-bezier(.2, .7, .3, 1);
}
.product-card:hover .product img { filter: none; transform: scale(1.025); }
.product-status {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	padding: 7px 9px;
	border-radius: 2px;
	background: var(--bg);
	border-left: 2px solid var(--blood);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ink);
}
.product-content { padding: 18px 0 0; }
.product-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.product-heading h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.1;
}
.product-price { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: var(--bone); }
.product-content > p { min-height: 46px; margin: 14px 0 19px; font-size: 13px; line-height: 1.55; color: var(--ink-3); }
.product-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid var(--line);
	font-size: 12px;
	font-weight: 700;
	color: var(--ink-2);
}
.product-link:hover { color: var(--ink); }
.senapi-sklep-soon {
	max-width: 1280px;
	margin: 0 auto 30px;
	padding: 42px 0;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
	align-items: center;
	gap: 72px;
	text-align: left;
	border: 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: transparent;
	border-radius: 0;
}
.senapi-sklep-soon::before,
.senapi-sklep-soon::after { display: none; }
.senapi-sklep-soon__copy { min-width: 0; }
.senapi-sklep-soon__kicker {
	display: block;
	margin-bottom: 12px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.senapi-sklep-soon__line {
	margin-bottom: 12px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
.senapi-sklep-soon__line--small {
	max-width: 54ch;
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-style: normal;
	letter-spacing: 0;
	color: var(--ink-3);
}
.senapi-sklep-cta-row {
	justify-content: flex-end;
	margin-top: 0;
	gap: 10px;
}
.senapi-sklep-cta-row .cta { flex: 1 1 190px; max-width: 250px; }
.senapi-cta--ghost:hover {
	background: var(--surface) !important;
	border-color: var(--ink-3) !important;
	color: var(--ink) !important;
	box-shadow: none !important;
}
.senapi-sklep-foot {
	max-width: 1280px;
	margin-top: 28px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-style: normal;
	color: var(--ink-3);
}

#kontakt { background: var(--bg-1); }
.contact-head {
	max-width: 1280px;
	margin: 0 auto 54px;
	padding-bottom: 38px;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	align-items: end;
	gap: 80px;
	text-align: left;
	border-bottom: 1px solid var(--line);
}
.contact-head__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}
#kontakt .contact-eyebrow {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	width: fit-content;
	color: var(--ink-3);
}
#kontakt .contact-eyebrow::before,
#kontakt .contact-eyebrow::after { display: none; }
#kontakt .contact-eyebrow > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--blood);
}
#kontakt .section-title {
	font-size: clamp(48px, 5vw, 72px);
	line-height: .98;
}
.contact-intro { min-width: 0; }
#kontakt .section-sub {
	max-width: 48ch;
	font-size: 15px;
}
.contact-grid {
	max-width: 1280px;
	grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
	align-items: start;
	gap: 90px;
}
.contact-response {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 32px;
	padding: 15px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.contact-response span {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.contact-response strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
}
.contact-info {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.contact-info h3 {
	max-width: none;
	margin-bottom: 16px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.05;
	text-transform: none;
}
.contact-info .lead {
	max-width: 46ch;
	margin-bottom: 34px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-style: normal;
	line-height: 1.7;
	color: var(--ink-2);
}
.contact-list {
	gap: 0;
	border-top: 1px solid var(--line);
}
.contact-list li {
	gap: 14px;
	padding: 15px 0;
}
.contact-list li > div:last-child {
	min-width: 0;
	flex: 1 1 auto;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
}
.contact-list .ico {
	width: 20px;
	height: 20px;
	border: 0;
	color: var(--blood);
}
.contact-list .ico svg { width: 18px; height: 18px; }
.contact-list .label {
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}
.contact-list .value {
	min-width: 0;
	font-size: 14px;
	text-align: right;
	overflow-wrap: anywhere;
}
.contact-list .value a:hover { color: var(--blood); }
.contact-form-toggle { display: none; }
.contact-form[hidden] { display: none !important; }
.contact-form { padding: 42px; border-radius: 3px; background: var(--surface); }
.contact-form h3 { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 600; text-transform: none; }
.contact-form .formline { font-family: 'Inter', sans-serif; font-style: normal; color: var(--ink-3); }
.field label { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 650; text-transform: none; }
.field input,
.field textarea,
.field select { min-height: 48px; border-radius: 3px; background: #0c0c0c; }
.submit { min-height: 52px; border-radius: 3px; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; text-transform: none; }
.submit:hover { letter-spacing: 0; }

.senapi-archive > .section { padding-top: calc(var(--topbar-h) + 80px); }

@media (max-width: 1240px) {
	.topbar-inner { grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr); gap: 16px; }
	.brand-wordmark small { display: none; }
	nav.primary a { padding-inline: 10px; font-size: 15px; }
	.social-links { display: none; }
	.hero-title { font-size: 60px; }
	.hero-media { width: min(calc(var(--hero-image-size) + 13vw), 1020px); }
	.pracownia-grid { gap: 64px; }
}

@media (max-width: 1000px) {
	:root { --topbar-h: 74px; }
	.topbar { padding: 0 18px; }
	.topbar-inner { grid-template-columns: 1fr auto; }
	.brand img { height: 43px; }
	.brand-wordmark strong { font-size: 16px; }
	.socials { grid-column: 2; }
	.nav-cta { display: none !important; }
	.menu-toggle {
		position: relative;
		display: inline-flex;
		width: 44px;
		height: 44px;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: var(--ink);
		cursor: pointer;
		transition: color .2s ease, background-color .2s ease;
	}
	.menu-toggle::before {
		content: "";
		position: absolute;
		inset: 5px;
		border: 1px solid var(--line-strong);
		border-radius: 3px;
		transition: border-color .2s ease, background-color .2s ease;
	}
	.menu-toggle svg { position: relative; z-index: 1; width: 23px; height: 23px; }
	.menu-toggle:hover::before { border-color: var(--ink-3); background: rgba(255, 255, 255, .03); }
	.menu-toggle[aria-expanded="true"]::before { border-color: var(--blood); background: rgba(189, 38, 52, .12); }
	nav.primary.open {
		display: flex;
		top: 100%;
		width: 100%;
		align-items: stretch;
		padding: 10px 20px 22px;
		background: rgba(8, 8, 8, .96);
		border-top: 1px solid var(--line);
		box-shadow: 0 22px 44px rgba(0, 0, 0, .35);
		backdrop-filter: blur(18px);
	}
	nav.primary.open li { width: 100%; }
	nav.primary.open a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		min-height: 58px;
		padding: 0 4px;
		border-bottom: 1px solid var(--line);
		font-family: 'Cinzel', serif;
		font-size: 18px;
		font-weight: 600;
		text-align: left;
	}
	nav.primary.open a:last-child { border-bottom: 0; }
	nav.primary.open a::after { left: 4px; bottom: -1px; transform: none; }
	nav.primary.open a:hover::after,
	nav.primary.open a.is-active::after { width: 42px; }
	body.menu-open { overflow: hidden; }

	.hero { height: auto; min-height: auto; padding: calc(var(--topbar-h) + 18px) 18px 66px; }
	.hero-inner { height: auto; min-height: auto; }
	.hero-media,
	.hero--left .hero-media {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		width: calc(100% + 36px);
		height: 48svh;
		min-height: 350px;
		margin: 0 -18px -16px;
		order: initial;
	}
	.hero .feature,
	.hero--cutout .feature { transform: none; }
	.hero-media-meta { right: 18px; bottom: 20px; }
	.hero-copy,
	.hero--left .hero-copy {
		width: 100%;
		min-height: auto;
		margin: 0;
		align-items: center;
		text-align: center;
		gap: 15px;
	}
	.hero-title { font-size: 54px; }
	.hero-brand,
	.hero--left .hero-brand { align-items: center; }
	.hero-marks,
	.hero--left .hero-marks { font-size: 11px; }
	.hero-tagline,
	.hero--left .hero-tagline { max-width: 54ch; padding: 0; border: 0; font-size: 15px; }
	.hero-proof { max-width: 100%; }
	.hero-scroll { display: none; }

	.section { padding: 92px 18px; }
	.section-head { margin-bottom: 48px; }
	.section-head--split { grid-template-columns: 1fr; gap: 26px; }
	.section-head__aside { padding: 0; }
	.section-title { font-size: 54px; }
	#galeria .gallery-head {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 26px;
	}
	.gallery-intro { width: 100%; }
	.gallery-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gallery-grid--featured.gallery-grid--sparse {
		grid-template-columns: repeat(var(--gallery-columns), minmax(0, 333px));
	}
	.gallery-grid--featured .tile,
	.gallery-grid--featured .tile:first-child,
	.gallery-grid--featured .tile:nth-child(2) { grid-column: span 1; aspect-ratio: auto; }
	.pracownia-grid { grid-template-columns: 1fr; gap: 54px; }
	.pracownia-text h2 { font-size: 54px; }
	.pracownia-visual { width: 100%; max-width: 760px; margin: 0 auto; }
	.pracownia-img,
	.pracownia-img.cutout { height: auto; min-height: 0; aspect-ratio: 1 / 1; }
	.commissions-head {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 28px;
		margin-bottom: 34px;
		padding-bottom: 30px;
	}
	.commissions-tabs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 680px;
		margin: 0 auto;
		background: var(--line);
		border: 1px solid var(--line);
		gap: 1px;
	}
	.commissions-tab {
		min-width: 0;
		min-height: 64px;
		padding: 10px 12px;
		border: 0;
		border-bottom: 2px solid transparent;
		background: var(--bg-1);
		color: var(--ink-3);
		font-size: 13px;
		font-weight: 600;
		text-align: center;
	}
	.commissions-tab:hover { color: var(--ink); background: var(--surface); }
	.commissions-tab.is-active {
		border-bottom-color: var(--blood);
		background: var(--surface);
		color: var(--ink);
	}
	.komisje-grid {
		display: block;
		max-width: 680px;
		background: transparent;
		border: 0;
	}
	.tier { display: none; min-height: 0; }
	.tier.is-mobile-active { display: flex; }
	.shop-head {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 28px;
		margin-bottom: 34px;
		padding-bottom: 30px;
	}
	.senapi-sklep-atuty {
		grid-template-columns: 1fr;
		max-width: 680px;
	}
	.senapi-sklep-atut + .senapi-sklep-atut {
		border-top: 1px solid var(--line);
		border-left: 0;
	}
	.senapi-sklep-soon {
		max-width: 680px;
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.senapi-sklep-cta-row { justify-content: flex-start; }
	.shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.shop-grid.shop-grid--sparse { grid-template-columns: repeat(var(--shop-tablet-columns), minmax(0, 1fr)); }
	.contact-head {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 28px;
		margin-bottom: 34px;
		padding-bottom: 30px;
	}
	.contact-grid { grid-template-columns: 1fr; max-width: 680px; gap: 56px; }
}

@media (min-width: 1001px) and (max-height: 760px) {
	.hero { padding-top: calc(var(--topbar-h) + 14px); padding-bottom: 52px; }
	.hero-title { font-size: 58px; }
	.hero-tagline,
	.hero--left .hero-tagline { font-size: 15px; line-height: 1.4; }
	.hero-tagline-detail { margin-top: 4px; font-size: 14px; }
	.hero-actions { margin-top: 2px; }
	.hero-proof { margin-top: 4px; padding-top: 16px; }
	.hero-proof li { gap: 6px; }
	.hero-scroll { bottom: 10px; }
}

@media (max-width: 680px) {
	.brand { gap: 10px; }
	.brand img { height: 42px; }
	.brand-wordmark { display: flex; }
	.brand-wordmark strong { font-size: 18px; line-height: 1; }
	.brand-wordmark small { display: none; }
	.hero-media,
	.hero--left .hero-media {
		width: calc(100% + 72px);
		height: 52svh;
		min-height: 380px;
		margin: 0 -36px -16px;
	}
	.hero--cutout .hero-media {
		margin-top: 30px;
		margin-bottom: -52px;
	}
	.hero--cutout .feature img {
		transform: scale(1.38);
		transform-origin: center bottom;
	}
	.hero-media-meta { display: none; }
	.hero-title { font-size: 49px; }
	.hero-actions { width: 100%; }
	.hero-actions .cta { flex: 1 1 100%; }
	.hero-proof { display: none; }
	.section-title { font-size: 44px; }
	.section-sub { font-size: 15px; }
	#galeria .gallery-head {
		margin-bottom: 30px;
		padding-bottom: 26px;
		gap: 22px;
	}
	#galeria .section-title { font-size: 44px; }
	.gallery-intro { grid-template-columns: 1fr; gap: 18px; }
	.gallery-count { flex-direction: row; align-items: baseline; gap: 9px; }
	.gallery-count strong { font-size: 36px; }
	.gallery-count span { margin-top: 0; }
	.gallery-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 10px; }
	.gallery-grid--featured.gallery-grid--sparse { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gallery-grid--featured .tile,
	.gallery-grid--featured .tile:first-child,
	.gallery-grid--featured .tile:nth-child(2) { aspect-ratio: auto; }
	.gallery-grid--featured .tile .meta { min-height: 68px; flex-direction: column; gap: 5px; }
	.gallery-grid--featured .tile .name { font-size: 19px; }
	.gallery-grid--featured .tile .scale { font-size: 9px; }
	.gallery-grid--featured .tile .tag { top: 10px; left: 10px; padding: 5px 7px; font-size: 8px; }
	.tile-index { top: 10px; right: 10px; }
	.gallery-foot { align-items: flex-start; flex-direction: column; }
	.gallery-foot .cta { width: 100%; }
	.pracownia-grid { gap: 30px; }
	.pracownia-text h2 { font-size: 46px; }
	.pracownia-text .lead { font-size: 20px; }
	.pracownia-text .creds { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
	#pracownia .cred-num { font-size: 36px; }
	#pracownia .cred-label { font-size: 8px; line-height: 1.45; }
	.pracownia-visual { display: none; }
	.pracownia-img,
	.pracownia-img.cutout { aspect-ratio: 1 / 1; }
	.pracownia-visual figcaption { flex-direction: column; gap: 4px; }
	#komisje .section-title { font-size: 44px; }
	.commissions-status { grid-template-columns: 1fr; gap: 5px; }
	.commissions-status > span:last-child { grid-column: auto; }
	.commissions-tabs { width: 100%; }
	.commissions-tab { min-height: 58px; padding: 8px 6px; font-size: 12px; }
	.tier,
	.tier.featured {
		padding: 30px 0 0;
		background: transparent;
		box-shadow: none;
	}
	.tier-badge { top: 28px; right: 0; }
	.tier .desc { min-height: 0; }
	#sklep .section-title { max-width: 100%; font-size: 44px; }
	.senapi-sklep-atuty { margin-bottom: 48px; }
	.senapi-sklep-atut { padding: 20px 0; }
	.senapi-sklep-soon { padding: 30px 0; gap: 24px; }
	.senapi-sklep-soon__line { font-size: 27px; }
	.senapi-sklep-soon__line--small { font-size: 14px; font-weight: 300; line-height: 1.7; }
	.senapi-sklep-cta-row { flex-direction: column; }
	.senapi-sklep-cta-row .cta { flex: 0 0 auto; width: 100%; max-width: none; }
	.shop-grid { grid-template-columns: 1fr; }
	.shop-grid.shop-grid--sparse { grid-template-columns: 1fr; }
	.senapi-sklep-products-head { align-items: flex-start; }
	#kontakt .contact-head {
		display: block;
		margin-bottom: 18px;
		padding-bottom: 0;
		border-bottom: 0;
	}
	#kontakt .contact-head__title { gap: 0; }
	#kontakt .contact-head .section-title,
	#kontakt .contact-intro,
	#kontakt .contact-response { display: none; }
	.contact-grid { gap: 0; }
	.contact-info h3 { max-width: 14ch; font-size: 36px; }
	.contact-info .lead { margin-bottom: 28px; }
	.contact-list li > div:last-child {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}
	.contact-list .value { text-align: left; }
	#kontakt.is-collapsible .contact-form-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 54px;
		margin-top: 28px;
		padding: 0 16px;
		border: 1px solid var(--blood);
		border-radius: 3px;
		background: var(--blood);
		color: var(--ink);
		font-size: 13px;
		font-weight: 700;
	}
	.contact-form-toggle svg {
		width: 19px;
		height: 19px;
		transform-box: fill-box;
		transform-origin: center;
		transition: transform .2s ease;
	}
	.contact-form-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
	.contact-grid > .contact-form { margin-top: 28px; }
	#kontakt.is-collapsible .contact-form { margin-top: 12px; }
	.contact-form { padding: 26px 20px; }
	.foot-cols { text-align: left; }
}

@media (max-width: 1180px) {
	.footer-main { grid-template-columns: 1fr; gap: 58px; }
	.footer-brand { max-width: 720px; }
	.foot-line { max-width: 16ch; }
	.foot-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; }
}

@media (max-width: 680px) {
	.site-footer { padding: 58px 24px 24px; }
	.footer-main { gap: 48px; }
	.foot-brandmark img { height: 68px; }
	.foot-line { max-width: 12ch; margin-top: 24px; font-size: 38px; }
	.foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 26px; padding-top: 0; }
	.foot-col--studio { grid-column: 1 / -1; grid-row: 1; }
	.foot-col h4 { margin-bottom: 14px; }
	.foot-col ul { gap: 10px; }
	.foot-col a,
	.foot-col .static { font-size: 13px; }
	.footer-bottom {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 18px 22px;
		margin-top: 54px;
		padding-top: 20px;
	}
	.foot-meta { grid-column: 1 / -1; gap: 7px 14px; }
	.foot-meta span + span::before { width: 12px; margin-right: 14px; }
	.footer-legal { gap: 8px 16px; }
}

/* Gallery archive */
.senapi-archive--galeria {
	background: var(--bg);
	overflow: clip;
}
.gallery-archive-hero {
	position: relative;
	min-height: min(650px, calc(100svh - 24px));
	border-bottom: 1px solid var(--line);
	background: var(--bg);
	overflow: hidden;
}
.gallery-hero-image {
	position: absolute;
	inset: 60px 0 0 auto;
	width: auto;
	max-width: 64%;
	height: calc(100% - 60px);
	aspect-ratio: 3 / 2;
}
.gallery-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.gallery-hero-image::before,
.gallery-hero-image::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}
.gallery-hero-image::before {
	background: linear-gradient(90deg, var(--bg) 0%, rgba(8, 8, 8, .96) 12%, rgba(8, 8, 8, .62) 38%, rgba(8, 8, 8, .08) 72%);
}
.gallery-hero-image::after {
	background: linear-gradient(0deg, rgba(8, 8, 8, .72) 0%, transparent 32%);
}
.gallery-hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(420px, .8fr) minmax(520px, 1.2fr);
	align-items: center;
	gap: clamp(70px, 9vw, 150px);
	width: 100%;
	min-height: inherit;
	padding: calc(var(--topbar-h) + 38px) var(--pad-x) 44px;
}
.gallery-hero-copy {
	align-self: center;
	max-width: 630px;
}
.gallery-hero-eyebrow,
.gallery-catalog-eyebrow {
	margin-bottom: 20px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.gallery-hero-copy h1 {
	max-width: none;
	font-family: 'Cinzel', serif;
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	color: var(--ink);
}
.gallery-hero-copy h1 span,
.gallery-hero-copy h1 em { display: inline; }
.gallery-hero-copy h1 em {
	margin-left: 0;
	font-weight: 700;
	font-style: normal;
	color: var(--blood);
}
.gallery-hero-intro {
	max-width: 50ch;
	margin-top: 26px;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	line-height: 1.75;
	color: var(--ink-2);
}
.gallery-hero-intro > * + * { margin-top: 12px; }
.gallery-hero-proof {
	display: flex;
	align-items: baseline;
	gap: 0;
	margin-top: 25px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: var(--ink-3);
}
.gallery-hero-proof strong {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 750;
	line-height: 1;
	color: var(--ink);
}
.gallery-hero-proof > span {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
}
.gallery-hero-proof > span + span {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid var(--line-strong);
}
.gallery-hero-scroll {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin-top: 38px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
}
.gallery-hero-scroll svg {
	width: 18px;
	height: 18px;
	color: var(--blood);
	transition: transform .2s ease;
}
.gallery-hero-scroll:hover svg,
.gallery-hero-scroll:focus-visible svg { transform: translateY(4px); }
.gallery-featured-caption {
	position: absolute;
	right: var(--pad-x);
	bottom: 48px;
	z-index: 3;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: 'label icon' 'title icon' 'meta icon';
	align-items: center;
	column-gap: 30px;
	width: min(370px, 33vw);
	padding-top: 17px;
	border-top: 1px solid rgba(242, 239, 232, .42);
	color: var(--ink);
}
.gallery-featured-caption > span {
	grid-area: label;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--ink-2);
}
.gallery-featured-caption strong {
	grid-area: title;
	margin-top: 4px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
}
.gallery-featured-caption small {
	grid-area: meta;
	display: flex;
	gap: 14px;
	margin-top: 7px;
	font-size: 10px;
	color: var(--ink-2);
}
.gallery-featured-caption > svg {
	grid-area: icon;
	width: 24px;
	height: 24px;
	transition: transform .2s ease;
}
.gallery-featured-caption:hover > svg,
.gallery-featured-caption:focus-visible > svg { transform: translateX(5px); }

.gallery-catalog {
	padding: 118px var(--pad-x) 130px;
	background: var(--bg-1);
}
.gallery-catalog-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .7fr);
	align-items: end;
	gap: clamp(60px, 9vw, 150px);
	max-width: 1480px;
	margin: 0 auto;
}
.gallery-catalog-head h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(52px, 5vw, 78px);
	font-weight: 500;
	line-height: .95;
	color: var(--ink);
}
.gallery-catalog-head > p {
	max-width: 52ch;
	font-size: 15px;
	line-height: 1.75;
	color: var(--ink-2);
}
.gallery-toolbar {
	position: relative;
	z-index: 20;
	max-width: 1480px;
	margin: 58px auto 46px;
	padding: 12px;
	border: 1px solid rgba(225, 216, 196, .12);
	background: var(--bg-1);
	transition: opacity .2s ease;
}
.gallery-filters {
	display: grid;
	grid-template-columns: minmax(250px, .78fr) minmax(0, 2.22fr);
	gap: 12px;
	align-items: stretch;
}
.gallery-filter-search {
	position: relative;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	min-height: 52px;
	padding: 0 8px 0 15px;
	border: 1px solid var(--line);
	background: var(--bg);
}
.gallery-filter-search > svg {
	width: 18px;
	height: 18px;
	color: var(--ink-3);
}
.gallery-filter-search input {
	min-width: 0;
	height: 50px;
	border: 0;
	outline: 0;
	background: transparent;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--ink);
}
.gallery-filter-search input::placeholder { color: var(--ink-4); }
.gallery-filter-search button,
.gallery-filter-actions button {
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--blood);
	border-radius: 2px;
	background: var(--blood);
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	color: var(--ink);
}
.gallery-filter-panel {
	display: flex;
	align-items: stretch;
	gap: 12px;
	min-width: 0;
}
.gallery-filter-panel[hidden] { display: none !important; }
.gallery-status-filter {
	display: flex;
	align-items: center;
	min-width: max-content;
	padding: 4px;
	border: 1px solid var(--line);
	background: var(--bg);
}
.gallery-status-filter legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gallery-status-option { cursor: pointer; }
.gallery-status-option input { position: absolute; opacity: 0; pointer-events: none; }
.gallery-status-option span {
	display: grid;
	place-items: center;
	min-height: 42px;
	padding: 0 12px;
	border-radius: 2px;
	font-size: 11px;
	font-weight: 650;
	color: var(--ink-3);
	transition: color .2s ease, background-color .2s ease;
}
.gallery-status-option input:checked + span {
	background: var(--surface);
	color: var(--ink);
}
.gallery-status-option input:focus-visible + span { outline: 1px solid var(--blood); outline-offset: -1px; }
.gallery-filter-selects {
	display: flex;
	flex: 1 1 auto;
	gap: 8px;
	min-width: 0;
}
.gallery-filter-select {
	position: relative;
	display: flex;
	flex: 1 1 140px;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 52px;
	padding: 5px 30px 5px 12px;
	border: 1px solid var(--line);
	background: var(--bg);
}
.gallery-filter-select > span {
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.gallery-filter-select select {
	width: 100%;
	min-width: 0;
	margin-top: 1px;
	border: 0;
	outline: 0;
	background: transparent;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: var(--ink-2);
	cursor: pointer;
}
.gallery-filter-select select option { background: var(--bg); color: var(--ink); }
.gallery-filter-menu {
	padding: 0;
	overflow: visible;
}
.gallery-filter-menu__label {
	position: absolute;
	top: 7px;
	left: 12px;
	z-index: 2;
	pointer-events: none;
}
.gallery-filter-menu details { position: relative; width: 100%; height: 100%; }
.gallery-filter-menu summary {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-height: 52px;
	padding: 20px 11px 7px 12px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 650;
	color: var(--ink-2);
	cursor: pointer;
	list-style: none;
}
.gallery-filter-menu summary::-webkit-details-marker { display: none; }
.gallery-filter-menu summary svg {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	color: var(--ink-3);
	transition: transform .2s ease, color .2s ease;
}
.gallery-filter-menu details[open] summary svg { transform: rotate(180deg); color: var(--ink); }
.gallery-filter-menu:has(details[open]) { z-index: 40; border-color: var(--line-strong); }
.gallery-filter-menu__options {
	position: absolute;
	top: calc(100% + 7px);
	left: -1px;
	z-index: 60;
	width: max(100%, 210px);
	max-height: 280px;
	padding: 6px;
	border: 1px solid var(--line-strong);
	border-radius: 3px;
	background: var(--surface);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .52);
	overflow-y: auto;
}
.gallery-filter-menu__options label {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 40px;
	padding: 0 10px;
	border-radius: 2px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 550;
	color: var(--ink-2);
	cursor: pointer;
	transition: background-color .16s ease, color .16s ease;
}
.gallery-filter-menu__options label:hover { background: var(--bg-2); color: var(--ink); }
.gallery-filter-menu__options input { position: absolute; opacity: 0; pointer-events: none; }
.gallery-filter-menu__options label:has(input:checked) { background: var(--blood-deep); color: var(--ink); }
.gallery-filter-menu__options label:has(input:focus-visible) { outline: 1px solid var(--blood); outline-offset: -1px; }
.gallery-filter-menu__options small { font-size: 9px; font-weight: 650; color: var(--ink-3); }
.gallery-filter-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.gallery-filter-actions a {
	padding: 8px 6px;
	font-size: 11px;
	font-weight: 650;
	color: var(--ink-3);
}
.gallery-filter-actions a:hover,
.gallery-filter-actions a:focus-visible { color: var(--ink); }
.gallery-filter-toggle { display: none; }
.has-gallery-js .gallery-filter-actions button { display: none; }
.is-filtering .gallery-toolbar { opacity: .55; pointer-events: none; }
.is-filtering .gallery-results { opacity: .45; }

.gallery-results {
	max-width: 1480px;
	margin: 0 auto;
	transition: opacity .2s ease;
}
.gallery-results-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--line);
}
.gallery-results-head p {
	font-size: 12px;
	color: var(--ink-3);
}
.gallery-results-head p strong { color: var(--ink); }
.gallery-view-switch {
	display: flex;
	align-items: center;
	padding: 3px;
	border: 1px solid var(--line);
}
.gallery-view-switch button {
	display: grid;
	place-items: center;
	width: 36px;
	height: 32px;
	border: 0;
	background: transparent;
	color: var(--ink-4);
	cursor: pointer;
}
.gallery-view-switch button[aria-pressed="true"] { background: var(--surface); color: var(--ink); }
.gallery-view-switch svg { width: 16px; height: 16px; }

.gallery-archive-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 46px 16px;
	max-width: none;
}
.senapi-archive--galeria[data-gallery-view="dense"] .gallery-archive-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 38px 12px;
}
.gallery-archive-grid--sparse {
	grid-template-columns: repeat(2, minmax(0, 430px));
	justify-content: center;
	column-gap: 20px;
}
.senapi-archive--galeria[data-gallery-view="dense"] .gallery-archive-grid--sparse {
	grid-template-columns: repeat(2, minmax(0, 360px));
	justify-content: center;
}
.gallery-archive-grid--sparse:has(.tile:only-child) { grid-template-columns: minmax(0, 430px); }
.gallery-archive-grid .tile {
	display: flex;
	flex-direction: column;
	min-width: 0;
	aspect-ratio: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}
.gallery-archive-grid .tile::after { display: none; }
.gallery-archive-grid .tile-media {
	aspect-ratio: 4 / 5;
	border: 1px solid var(--line);
	border-radius: 3px;
	background: var(--surface);
}
.gallery-archive-grid .tile-media::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 62%, rgba(8, 8, 8, .62) 100%);
	box-shadow: inset 0 0 0 0 rgba(225, 216, 196, 0);
	transition: box-shadow .3s ease, background-color .3s ease;
}
.gallery-archive-grid .tile img {
	filter: none;
	transform: scale(1.002);
	transition: transform .65s cubic-bezier(.2, .7, .3, 1);
}
.gallery-archive-grid .tile:hover img { filter: none; transform: scale(1.035); }
.gallery-archive-grid .tile:hover .tile-media::after,
.gallery-archive-grid .tile:focus-visible .tile-media::after { box-shadow: inset 0 0 0 1px rgba(225, 216, 196, .3); }
.gallery-archive-grid .tile .tag {
	top: 14px;
	left: 14px;
	padding: 6px 9px;
	border-radius: 2px;
	background: rgba(8, 8, 8, .74);
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	font-weight: 700;
	color: var(--ink);
	backdrop-filter: blur(8px);
}
.gallery-archive-grid .tile .tag--sold { left: auto; right: 14px; background: var(--blood); }
.tile-quick-view {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 12px;
	border: 1px solid rgba(242, 239, 232, .36);
	border-radius: 2px;
	background: rgba(8, 8, 8, .72);
	font-size: 10px;
	font-weight: 700;
	color: var(--ink);
	opacity: 0;
	transform: translateY(8px);
	backdrop-filter: blur(8px);
	transition: opacity .22s ease, transform .22s ease, border-color .22s ease;
}
.tile-quick-view svg { width: 16px; height: 16px; }
.gallery-archive-grid .tile:hover .tile-quick-view,
.gallery-archive-grid .tile:focus-visible .tile-quick-view { opacity: 1; transform: none; }
.gallery-archive-grid .tile-meta--archive {
	position: static;
	display: block;
	min-height: 0;
	padding: 17px 2px 0;
	background: transparent;
}
.gallery-archive-grid .tile-meta--archive .name {
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.05;
	text-transform: none;
	color: var(--ink);
	text-shadow: none;
}
.tile-detail-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 10px;
}
.gallery-archive-grid .tile-meta--archive .scale {
	padding: 0;
	border: 0;
	font-size: 10px;
	font-weight: 600;
	color: var(--ink-3);
}
.tile-photo-count {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	font-weight: 600;
	color: var(--ink-3);
	white-space: nowrap;
}
.tile-photo-count svg { width: 15px; height: 15px; color: var(--blood); }
.senapi-archive--galeria[data-gallery-view="dense"] .tile-meta--archive .name { font-size: 21px; }
.senapi-archive--galeria[data-gallery-view="dense"] .tile-quick-view span { display: none; }
.senapi-archive--galeria[data-gallery-view="dense"] .tile-quick-view { width: 38px; padding: 0; justify-content: center; }

.gallery-empty {
	display:flex;
	flex-direction: column;
	align-items: center;
	padding: 94px 24px;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	text-align: center;
}
.gallery-empty > svg { width: 34px; height: 34px; color: var(--blood); }
.gallery-empty h3 {
	margin-top: 22px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 38px;
	font-weight: 600;
	color: var(--ink);
}
.gallery-empty p { margin-top: 7px; font-size: 14px; color: var(--ink-3); }
.gallery-empty a {
	margin-top: 26px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--blood);
	font-size: 12px;
	font-weight: 700;
	color: var(--ink);
}
.gallery-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 76px;
}
.gallery-pagination__pages { display: flex; align-items: center; gap: 5px; }
.gallery-pagination__pages .page-numbers,
.gallery-pagination__arrow {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	border: 1px solid var(--line);
	font-size: 12px;
	font-weight: 650;
	color: var(--ink-3);
}
.gallery-pagination__pages .current { border-color: var(--blood); background: var(--blood); color: var(--ink); }
.gallery-pagination__pages a:hover,
.gallery-pagination__arrow:hover { border-color: var(--line-strong); color: var(--ink); }
.gallery-pagination__arrow svg { width: 17px; height: 17px; }

.gallery-project-cta {
	display: grid;
	grid-template-columns: minmax(340px, 1.1fr) minmax(340px, .8fr) auto;
	align-items: end;
	gap: clamp(40px, 7vw, 110px);
	padding: 88px var(--pad-x) 94px;
	border-top: 1px solid var(--line);
	background: var(--bg);
}
.gallery-project-cta > div > span {
	display: block;
	margin-bottom: 14px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.gallery-project-cta h2 {
	max-width: none;
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(40px, 4vw, 61px);
	font-weight: 500;
	line-height: .98;
	color: var(--ink);
}
.gallery-project-cta h2 span { display: block; }

@media (min-width: 781px) {
	.gallery-project-cta h2 span { white-space: nowrap; }
}
.gallery-project-cta > p {
	max-width: 47ch;
	font-size: 14px;
	line-height: 1.75;
	color: var(--ink-2);
}
.gallery-project-cta > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 170px;
	min-height: 52px;
	padding: 0 20px;
	border: 1px solid var(--blood);
	border-radius: 2px;
	background: var(--blood);
	font-size: 12px;
	font-weight: 700;
	color: var(--ink);
}
.gallery-project-cta > a svg { width: 18px; height: 18px; transition: transform .2s ease; }
.gallery-project-cta > a:hover svg,
.gallery-project-cta > a:focus-visible svg { transform: translateX(4px); }

@media (max-width: 1180px) {
	.gallery-hero-inner { grid-template-columns: minmax(360px, .78fr) minmax(380px, 1.22fr); gap: 40px; }
	.gallery-hero-image { width: auto; max-width: 68%; }
	.gallery-featured-caption { width: min(340px, 38vw); }
	.gallery-filters { grid-template-columns: 1fr; }
	.gallery-filter-panel { width: 100%; }
	.gallery-status-filter { flex: 0 0 auto; }
	.gallery-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gallery-archive-grid--sparse { grid-template-columns: repeat(2, minmax(0, 400px)); }
	.senapi-archive--galeria[data-gallery-view="dense"] .gallery-archive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.senapi-archive--galeria[data-gallery-view="dense"] .gallery-archive-grid--sparse { grid-template-columns: repeat(2, minmax(0, 350px)); }
	.gallery-project-cta { grid-template-columns: 1fr 1fr; align-items: start; }
	.gallery-project-cta > a { justify-self: start; }
}

@media (max-width: 780px) {
	.gallery-archive-hero { min-height: 600px; }
	.gallery-hero-image { inset: 280px 0 auto; width: 100%; max-width: none; height: auto; aspect-ratio: 3 / 2; }
	.gallery-hero-image::before { background: linear-gradient(180deg, var(--bg) 0%, rgba(8, 8, 8, .35) 30%, rgba(8, 8, 8, .08) 55%); }
	.gallery-hero-image::after { background: linear-gradient(0deg, rgba(8, 8, 8, .82) 0%, transparent 38%); }
	.gallery-hero-inner {
		display: block;
		min-height: 600px;
		padding: calc(var(--topbar-h) + 30px) 24px 24px;
	}
	.gallery-hero-copy { max-width: 520px; }
	.gallery-hero-copy h1 { font-size: 42px; }
	.gallery-hero-intro { max-width: 39ch; margin-top: 20px; font-size: 14px; line-height: 1.65; }
	.gallery-hero-proof { flex-direction: column; align-items: flex-start; gap: 3px; margin-top: 18px; font-size: 9px; }
	.gallery-hero-proof strong { font-size: 11px; }
	.gallery-hero-proof > span + span { margin-left: 0; padding-left: 0; border-left: 0; }
	.gallery-hero-scroll { display: none; }
	.gallery-featured-caption { right: 24px; bottom: 38px; left: 24px; width: auto; }
	.gallery-featured-caption strong { font-size: 23px; }
	.gallery-catalog { padding: 82px 18px 90px; }
	.gallery-catalog-head { grid-template-columns: 1fr; gap: 20px; }
	.gallery-catalog-head h2 { font-size: 48px; }
	.gallery-catalog-head > p { font-size: 14px; }
	.gallery-toolbar { position: static; margin: 38px 0 34px; padding: 0; border: 0; background: transparent; backdrop-filter: none; }
	.gallery-filters { gap: 10px; }
	.gallery-filter-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		padding: 0 14px;
		border: 1px solid var(--line);
		border-radius: 2px;
		background: var(--bg);
		font-size: 12px;
		font-weight: 700;
		color: var(--ink);
	}
	.gallery-filter-toggle > span { display: inline-flex; align-items: center; gap: 9px; }
	.gallery-filter-toggle svg { width: 18px; height: 18px; color: var(--blood); }
	.gallery-filter-toggle strong {
		display: grid;
		place-items: center;
		min-width: 24px;
		height: 24px;
		border-radius: 50%;
		background: var(--blood);
		font-size: 10px;
	}
	.gallery-filter-panel { display: block; padding: 10px; border: 1px solid var(--line); background: var(--bg); }
	.gallery-status-filter { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; margin-bottom: 10px; }
	.gallery-status-option span { min-height: 44px; }
	.gallery-filter-selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gallery-filter-select--sort { grid-column: 1 / -1; }
	.gallery-filter-menu details { height: auto; }
	.gallery-filter-menu__options { position: static; width: auto; max-height: 230px; margin: 0 6px 6px; border-color: var(--line); box-shadow: none; }
	.gallery-filter-actions { justify-content: space-between; margin-top: 12px; }
	.has-gallery-js .gallery-filter-actions button { display: inline-flex; align-items: center; }
	.gallery-results-head { margin-bottom: 18px; }
	.gallery-view-switch { display: none; }
	.gallery-archive-grid,
	.senapi-archive--galeria[data-gallery-view="dense"] .gallery-archive-grid,
	.gallery-archive-grid--sparse {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 10px;
	}
	.gallery-archive-grid--sparse:has(.tile:only-child) { grid-template-columns: minmax(0, 1fr); }
	.gallery-archive-grid .tile-media { aspect-ratio: 4 / 5; }
	.gallery-archive-grid .tile .tag { top: 9px; left: 9px; max-width: calc(100% - 18px); padding: 5px 7px; font-size: 7px; }
	.gallery-archive-grid .tile-meta--archive { padding-top: 11px; }
	.gallery-archive-grid .tile-meta--archive .name,
	.senapi-archive--galeria[data-gallery-view="dense"] .tile-meta--archive .name { font-size: 20px; }
	.tile-detail-row { align-items: flex-start; flex-direction: column; gap: 5px; margin-top: 7px; }
	.gallery-archive-grid .tile-meta--archive .scale,
	.tile-photo-count { font-size: 9px; }
	.tile-quick-view { display: none; }
	.gallery-project-cta { grid-template-columns: 1fr; gap: 24px; padding: 70px 24px 74px; }
	.gallery-project-cta h2 { font-size: 42px; }
	.gallery-project-cta > a { width: 100%; margin-top: 6px; }
}

@media (max-width: 420px) {
	.gallery-archive-hero,
	.gallery-hero-inner { min-height: 620px; }
	.gallery-hero-image { inset-block-start: 300px; }
	.gallery-featured-caption { bottom: 72px; }
	.gallery-hero-copy h1 { font-size: 34px; }
	.gallery-hero-proof { flex-wrap: wrap; max-width: 300px; }
	.gallery-hero-proof > span + span { margin-left: 0; padding-left: 0; border-left: 0; }
	.gallery-featured-caption small { gap: 8px; }
	.gallery-filter-search { grid-template-columns: 20px minmax(0, 1fr); }
	.gallery-filter-search button { grid-column: 1 / -1; width: 100%; margin-bottom: 7px; }
	.gallery-filter-selects { grid-template-columns: 1fr; }
	.gallery-filter-select--sort { grid-column: auto; }
	.gallery-archive-grid .tile-meta--archive .name,
	.senapi-archive--galeria[data-gallery-view="dense"] .tile-meta--archive .name { font-size: 18px; }
	.gallery-project-cta h2 { font-size: 31px; }
	.gallery-project-cta h2 span { white-space: nowrap; }
}

/* ===========================================================================
   404
   ========================================================================== */

.error-page {
	position: relative;
	background: var(--bg);
	overflow: hidden;
}
.error-hero {
	position: relative;
	min-height: 100svh;
	padding: calc(var(--topbar-h) + 44px) 24px 54px;
	display: flex;
	align-items: center;
	isolation: isolate;
	overflow: hidden;
}
.error-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -3;
	background:
		linear-gradient(90deg, var(--bg) 0%, var(--bg) 34%, rgba(8, 8, 8, .82) 54%, rgba(8, 8, 8, .2) 100%),
		linear-gradient(180deg, rgba(8, 8, 8, .05) 62%, var(--bg) 100%);
}
.error-hero::after {
	content: '';
	position: absolute;
	top: var(--topbar-h);
	bottom: 0;
	left: 50%;
	z-index: -2;
	width: 1px;
	background: linear-gradient(180deg, transparent, var(--line) 22%, var(--line) 78%, transparent);
	opacity: .72;
}
.error-hero__number {
	position: absolute;
	top: 50%;
	left: max(12px, calc((100vw - 1600px) / 2));
	z-index: -1;
	font-family: 'Cinzel', serif;
	font-size: clamp(230px, 33vw, 580px);
	font-weight: 900;
	line-height: .74;
	color: transparent;
	-webkit-text-stroke: 1px rgba(242, 239, 232, .075);
	transform: translateY(-42%);
	white-space: nowrap;
	pointer-events: none;
}
.error-hero__inner {
	position: relative;
	width: 100%;
	max-width: 1600px;
	min-height: min(690px, calc(100svh - var(--topbar-h) - 98px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(410px, .82fr) minmax(520px, 1.18fr);
	align-items: center;
}
.error-hero__copy {
	position: relative;
	z-index: 4;
	max-width: 680px;
	padding-right: clamp(44px, 6vw, 100px);
}
.error-hero__code {
	margin-bottom: 28px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blood);
}
.error-hero h1 {
	max-width: 12ch;
	font-family: 'Cinzel', serif;
	font-size: clamp(52px, 5vw, 80px);
	font-weight: 700;
	line-height: .96;
	color: var(--ink);
}
.error-hero h1 span {
	display: block;
	font-weight: 700;
	color: var(--blood);
}
.error-hero__lead {
	max-width: 49ch;
	margin-top: 30px;
	font-size: 15px;
	line-height: 1.72;
	color: var(--ink-2);
}
.error-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 36px;
}
.error-hero__actions .cta { min-width: 168px; }
.error-hero__visual {
	position: absolute;
	top: 50%;
	right: clamp(-140px, -5vw, -60px);
	z-index: 2;
	width: min(66vw, 1080px);
	height: min(82svh, 900px);
	transform: translateY(-46%);
	pointer-events: none;
}
.error-hero__glow {
	position: absolute;
	right: 4%;
	bottom: 3%;
	width: 74%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(189, 38, 52, .17), rgba(118, 18, 29, .04) 44%, transparent 68%);
	filter: blur(14px);
}
.error-hero__image {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 28px 42px rgba(0, 0, 0, .7));
}
.error-hero__footer {
	position: absolute;
	right: 24px;
	bottom: 23px;
	left: 24px;
	z-index: 5;
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 13px;
	font-size: 9px;
	font-weight: 650;
	text-transform: uppercase;
	color: var(--ink-4);
}
.error-hero__footer i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--blood);
}

@media (max-width: 1000px) {
	.error-hero { min-height: auto; padding-inline: 18px; }
	.error-hero::after { display: none; }
	.error-hero__number {
		top: calc(var(--topbar-h) + 44px);
		left: 50%;
		font-size: min(44vw, 360px);
		transform: translateX(-50%);
	}
	.error-hero__inner {
		min-height: 820px;
		grid-template-columns: 1fr;
		align-items: start;
	}
	.error-hero__copy {
		max-width: 650px;
		margin: 0 auto;
		padding: 56px 0 0;
		text-align: center;
	}
	.error-hero__code { margin-bottom: 20px; }
	.error-hero h1 { max-width: 12ch; margin: 0 auto; font-size: clamp(48px, 8vw, 68px); }
	.error-hero__lead { margin-right: auto; margin-left: auto; }
	.error-hero__actions { justify-content: center; }
	.error-hero__visual {
		top: auto;
		right: 50%;
		bottom: -38px;
		width: min(760px, 96vw);
		height: 500px;
		transform: translateX(50%);
	}
	.error-hero__footer { display: none; }
}

@media (max-width: 600px) {
	.error-hero {
		min-height: 100svh;
		padding: calc(var(--topbar-h) + 24px) 18px 0;
		align-items: flex-start;
	}
	.error-hero::before {
		background: linear-gradient(180deg, var(--bg) 0%, rgba(8, 8, 8, .93) 57%, rgba(8, 8, 8, .38) 82%, var(--bg) 100%);
	}
	.error-hero__number { top: calc(var(--topbar-h) + 34px); font-size: 48vw; }
	.error-hero__inner { min-height: calc(100svh - var(--topbar-h) - 24px); }
	.error-hero__copy { padding-top: 24px; }
	.error-hero__code { margin-bottom: 14px; font-size: 10px; }
	.error-hero h1 { font-size: clamp(40px, 12vw, 54px); line-height: .98; }
	.error-hero__lead { max-width: 37ch; margin-top: 20px; font-size: 14px; line-height: 1.6; }
	.error-hero__actions { width: 100%; margin-top: 24px; }
	.error-hero__actions .cta { flex: 1 1 100%; min-width: 0; }
	.error-hero__visual {
		bottom: -26px;
		width: 118vw;
		height: min(43svh, 430px);
	}
}

@media (max-width: 600px) and (max-height: 740px) {
	.error-hero { min-height: 800px; }
	.error-hero__inner { min-height: 700px; }
	.error-hero__visual { height: 330px; }
}

@media (prefers-reduced-motion: no-preference) {
	.error-hero__copy { animation: error-copy-in .65s cubic-bezier(.2, .7, .3, 1) both; }
	.error-hero__visual { animation: error-visual-in .85s .08s cubic-bezier(.2, .7, .3, 1) both; }
	@keyframes error-copy-in {
		from { opacity: .35; transform: translateY(14px); }
		to { opacity: 1; transform: none; }
	}
	@keyframes error-visual-in {
		from { opacity: .35; transform: translateY(-44%) scale(.98); }
		to { opacity: 1; transform: translateY(-46%) scale(1); }
	}
}

@media (max-width: 1000px) and (prefers-reduced-motion: no-preference) {
	.error-hero__visual { animation-name: error-visual-in-mobile; }
	@keyframes error-visual-in-mobile {
		from { opacity: .35; transform: translateX(50%) translateY(12px) scale(.98); }
		to { opacity: 1; transform: translateX(50%) scale(1); }
	}
}
