:root {
	--av-color-ink: var(--wp--preset--color--av-ink, #082f49);
	--av-color-ocean: var(--wp--preset--color--av-ocean, #007f8b);
	--av-color-ocean-deep: var(--wp--preset--color--av-ocean-deep, #006875);
	--av-color-mist: var(--wp--preset--color--av-mist, #eaf7f8);
	--av-color-sky: var(--wp--preset--color--av-sky, #d7eef3);
	--av-color-surface: var(--wp--preset--color--av-surface, #fff);
	--av-color-text-muted: var(--wp--preset--color--av-text-muted, #475569);
	--av-color-border: var(--wp--preset--color--av-border, #c9dee3);
	--av-color-control-border: var(--wp--preset--color--av-control-border, #7a98a2);
	--av-color-warm: var(--wp--preset--color--av-warm, #b45309);
	--av-color-warm-soft: var(--wp--preset--color--av-warm-soft, #fdebd3);
	--av-color-warm-text: var(--wp--preset--color--av-warm-text, #422006);
	--av-space-1: var(--wp--preset--spacing--1, 4px);
	--av-space-2: var(--wp--preset--spacing--2, 8px);
	--av-space-3: var(--wp--preset--spacing--3, 12px);
	--av-space-4: var(--wp--preset--spacing--4, 16px);
	--av-space-5: var(--wp--preset--spacing--5, 24px);
	--av-space-6: var(--wp--preset--spacing--6, 32px);
	--av-space-7: var(--wp--preset--spacing--7, 48px);
	--av-space-8: var(--wp--preset--spacing--8, 64px);
	--av-space-9: var(--wp--preset--spacing--9, 96px);
	--av-radius-sm: 8px;
	--av-radius-control: 12px;
	--av-radius-card: 16px;
	--av-shadow-card: 0 12px 32px rgb(8 47 73 / 8%);
	--av-shadow-overlay: 0 24px 64px rgb(8 47 73 / 20%);
	--av-transition-fast: 120ms ease;
	--av-transition: 180ms cubic-bezier(.2, .8, .2, 1);
	--av-font-display: "Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;
	--av-font-interface: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
}

body {
	margin: 0;
	overflow-x: clip;
	background: var(--av-color-surface);
	color: var(--av-color-ink);
	font-family: var(--av-font-interface);
	font-size: 1rem;
	line-height: 1.55;
	text-rendering: optimizeLegibility;
}

body.av-drawer-open,
body.av-reel-modal-open {
	overflow: hidden;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

a {
	color: var(--av-color-ocean-deep);
	text-underline-offset: .18em;
}

a:hover {
	text-decoration-thickness: .12em;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--av-color-warm);
	outline-offset: 2px;
}

h1,
h2,
h3,
h4,
p {
	margin-block-start: 0;
}

h1,
h2,
h3,
h4 {
	font-family: var(--av-font-display);
	color: var(--av-color-ink);
	overflow-wrap: anywhere;
}

h1 {
	font-size: clamp(2rem, 7vw, 3rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.13;
}

h2 {
	font-size: clamp(1.625rem, 5vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.2;
}

h3 {
	font-size: clamp(1.2rem, 3vw, 1.45rem);
	font-weight: 650;
	line-height: 1.3;
}

img,
svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

.av-icon {
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
}

.av-container {
	width: min(100%, 80rem);
	margin-inline: auto;
	padding-inline: var(--av-space-4);
}

.site-main {
	min-height: 55vh;
}

.site-main:not(.av-project-home, .av-project-detail-main, .av-product-detail-main) {
	padding-block: var(--av-space-7);
}

.av-project-preview .site-main {
	padding-block: 0;
}

.av-section {
	padding-block: var(--av-space-8);
}

.av-eyebrow {
	margin-bottom: var(--av-space-3);
	color: var(--av-color-ocean-deep);
	font-family: var(--av-font-interface);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1.3;
	text-transform: uppercase;
}

.av-section-heading {
	display: grid;
	gap: var(--av-space-4);
	margin-bottom: var(--av-space-6);
}

.av-section-heading h2,
.av-section-heading p {
	margin-bottom: 0;
}

.av-section-heading > p {
	max-width: 38rem;
	color: var(--av-color-text-muted);
}

/* Header */

.site-header {
	position: sticky;
	z-index: 100;
	top: 0;
	border-bottom: 1px solid rgb(201 222 227 / 90%);
	background: rgb(255 255 255 / 96%);
	box-shadow: 0 2px 14px rgb(8 47 73 / 4%);
	backdrop-filter: blur(10px);
}

.site-header__inner {
	display: flex;
	align-items: center;
	min-height: 4rem;
	gap: var(--av-space-4);
}

.site-brand {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	color: var(--av-color-ink);
	text-decoration: none;
}

.site-brand__logo {
	display: block;
	width: clamp(6.25rem, 11vw, 7.75rem);
	height: auto;
	filter: brightness(0) saturate(100%) invert(16%) sepia(27%) saturate(2609%) hue-rotate(159deg) brightness(88%) contrast(101%);
	transition: filter var(--av-transition), opacity var(--av-transition);
}

.site-brand:hover .site-brand__logo {
	opacity: .88;
}

.site-navigation--desktop {
	display: none;
	align-items: center;
	margin-left: auto;
	gap: var(--av-space-6);
}

.site-navigation--desktop a {
	color: var(--av-color-ink);
	font-family: var(--av-font-interface);
	font-size: .94rem;
	font-weight: 600;
	text-decoration: none;
}

.site-navigation--desktop a:hover {
	color: var(--av-color-ocean-deep);
}

.site-header__actions {
	display: flex;
	align-items: center;
	margin-left: auto;
	gap: var(--av-space-2);
}

.site-header__search,
.site-header__menu-button,
.av-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-control);
	background: var(--av-color-surface);
	color: var(--av-color-ink);
}

.site-header__search {
	gap: var(--av-space-2);
	padding-inline: var(--av-space-3);
	font-family: var(--av-font-interface);
	font-size: .9rem;
	font-weight: 650;
	text-decoration: none;
}

.site-header__search span {
	display: none;
}

.site-header__menu-button,
.av-icon-button {
	padding: 0;
	cursor: pointer;
}

.site-header__search:hover,
.site-header__menu-button:hover,
.av-icon-button:hover {
	border-color: var(--av-color-ocean);
	background: var(--av-color-mist);
}

.av-mobile-drawer {
	position: fixed;
	z-index: 120;
	inset: 0;
	overflow: hidden;
	visibility: hidden;
	pointer-events: none;
}

.av-mobile-drawer[data-open="true"] {
	visibility: visible;
	pointer-events: auto;
}

.av-mobile-drawer__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgb(8 47 73 / 48%);
	opacity: 0;
	cursor: default;
	transition: opacity var(--av-transition);
}

.av-mobile-drawer[data-open="true"] .av-mobile-drawer__backdrop {
	opacity: 1;
}

.av-mobile-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(90vw, 24rem);
	height: 100dvh;
	padding: var(--av-space-4);
	overflow-y: auto;
	background: var(--av-color-surface);
	box-shadow: var(--av-shadow-overlay);
	transform: translateX(102%);
	transition: transform var(--av-transition);
}

.av-mobile-drawer[data-open="true"] .av-mobile-drawer__panel {
	transform: translateX(0);
}

.av-mobile-drawer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--av-space-4);
	margin-bottom: var(--av-space-5);
}

.av-mobile-drawer__top p {
	margin: 0;
	font-family: var(--av-font-interface);
	font-size: 1.25rem;
	font-weight: 700;
}

.av-mobile-drawer__search {
	display: flex;
	align-items: center;
	min-height: 3.5rem;
	gap: var(--av-space-3);
	margin-bottom: var(--av-space-5);
	padding: var(--av-space-3) var(--av-space-4);
	border-radius: var(--av-radius-control);
	background: var(--av-color-mist);
	color: var(--av-color-ink);
	font-weight: 650;
	text-decoration: none;
}

.av-mobile-drawer__nav {
	display: grid;
	border-top: 1px solid var(--av-color-border);
}

.av-mobile-drawer__nav a {
	display: flex;
	align-items: center;
	min-height: 3.5rem;
	border-bottom: 1px solid var(--av-color-border);
	color: var(--av-color-ink);
	font-family: var(--av-font-interface);
	font-weight: 600;
	text-decoration: none;
}

.av-mobile-drawer__note {
	margin: var(--av-space-6) 0 0;
	padding: var(--av-space-4);
	border-radius: var(--av-radius-control);
	background: var(--av-color-mist);
	color: var(--av-color-text-muted);
	font-size: .875rem;
}

/* Preview notice */

.av-preview-notice {
	border-bottom: 1px solid #e7c998;
	background: var(--av-color-warm-soft);
	color: var(--av-color-warm-text);
}

.av-preview-notice__inner {
	display: flex;
	align-items: flex-start;
	gap: var(--av-space-3);
	padding-block: var(--av-space-3);
}

.av-preview-notice__inner p {
	margin: 0;
	font-size: .875rem;
	line-height: 1.45;
}

.av-preview-notice__inner .av-icon {
	margin-top: .05rem;
}

/* Hero */

.av-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 42.5rem;
	border-bottom: 1px solid var(--av-color-border);
	background: var(--av-color-mist);
	font-family: var(--av-font-interface);
}

.av-hero__frame {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-content: center;
	min-height: 42.5rem;
	padding-block: 3.625rem 4.375rem;
}

.av-hero__content {
	grid-column: 1 / span 7;
	align-self: center;
	min-width: 0;
	padding-bottom: 8.25rem;
}

.av-hero .av-eyebrow {
	margin-bottom: var(--av-space-4);
	color: var(--av-color-ocean-deep);
	font-family: var(--av-font-interface);
	font-size: .77rem;
	font-weight: 600;
	letter-spacing: .12em;
}

.av-hero h1 {
	max-width: 11.5ch;
	margin-bottom: 1.375rem;
	font-family: var(--av-font-display);
	font-size: clamp(2.75rem, 4.3vw, 3.75rem);
	font-weight: 650;
	letter-spacing: -.055em;
	line-height: .98;
	text-wrap: balance;
}

.av-hero__lead {
	max-width: 36.25rem;
	margin-bottom: 0;
	color: var(--av-color-text-muted);
	font-size: clamp(1.04rem, 1.5vw, 1.16rem);
	line-height: 1.62;
}

.av-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--av-space-3);
}

.av-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	gap: var(--av-space-2);
	padding: .7rem 1rem;
	border: 1px solid transparent;
	border-radius: var(--av-radius-control);
	font-family: var(--av-font-interface);
	font-size: .95rem;
	font-weight: 650;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: color var(--av-transition-fast), background var(--av-transition-fast), border-color var(--av-transition-fast), transform var(--av-transition-fast);
}

.av-button--primary {
	background: var(--av-color-ocean-deep);
	color: var(--av-color-surface);
}

.av-button--primary:hover {
	background: var(--av-color-ink);
	color: var(--av-color-surface);
}

.av-button--secondary {
	border-color: var(--av-color-control-border);
	background: var(--av-color-surface);
	color: var(--av-color-ink);
}

.av-button--secondary:hover {
	border-color: var(--av-color-ocean-deep);
	background: var(--av-color-mist);
}

.av-button--text {
	padding-inline: var(--av-space-2);
	color: var(--av-color-ocean-deep);
}

.av-button--light {
	background: var(--av-color-surface);
	color: var(--av-color-ink);
}

.av-button--light:hover {
	background: var(--av-color-mist);
}

.av-hero-media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 55%;
	margin: 0;
	overflow: hidden;
	clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
	background: var(--av-color-ink);
	pointer-events: none;
}

.av-hero-media svg {
	width: 100%;
	height: 100%;
	animation: av-hero-medium-reveal 620ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-hero__action {
	position: absolute;
	right: 7%;
	bottom: 2.75rem;
	left: 0;
	z-index: 4;
	display: grid;
	grid-template-columns: minmax(0, 43rem) auto;
	align-items: center;
	gap: var(--av-space-5);
}

.av-hero-search__control {
	display: grid;
	grid-template-columns: 1.5rem minmax(0, 1fr) auto;
	align-items: center;
	min-height: 3.75rem;
	gap: .625rem;
	padding: .3125rem .3125rem .3125rem 1.0625rem;
	border: 1px solid var(--av-color-control-border);
	border-radius: 10px;
	background: var(--av-color-surface);
	box-shadow: 0 14px 36px rgb(8 47 73 / 13%);
	transition: border-color var(--av-transition-fast), box-shadow var(--av-transition-fast);
}

.av-hero-search__control:focus-within {
	border-color: var(--av-color-ocean-deep);
	box-shadow: 0 0 0 3px var(--av-color-warm), 0 14px 36px rgb(8 47 73 / 13%);
}

.av-hero-search__icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--av-color-ocean-deep);
}

.av-hero-search input {
	min-width: 0;
	min-height: 2.875rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--av-color-ink);
	font-family: var(--av-font-interface);
	font-size: 1rem;
	outline: 0;
}

.av-hero-search input::placeholder {
	color: #627783;
}

.av-hero-search button {
	min-height: 3rem;
	padding-inline: 1.25rem;
	border: 0;
	border-radius: 7px;
	background: var(--av-color-ocean);
	color: var(--av-color-surface);
	font-family: var(--av-font-interface);
	font-size: .92rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--av-transition-fast), transform var(--av-transition-fast);
}

.av-hero-search button:hover {
	background: var(--av-color-ocean-deep);
	transform: translateY(-1px);
}

.av-hero__category-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 3rem;
	gap: var(--av-space-2);
	color: var(--av-color-surface);
	font-family: var(--av-font-interface);
	font-size: .9rem;
	font-weight: 600;
	letter-spacing: .045em;
	text-decoration-thickness: 1px;
	text-underline-offset: .3em;
}

.av-hero__category-link .av-icon {
	width: 1.1rem;
	height: 1.1rem;
	transition: transform var(--av-transition-fast);
}

.av-hero__category-link:hover .av-icon {
	transform: translateX(3px);
}

@keyframes av-hero-medium-reveal {
	from {
		opacity: .72;
		transform: scale(1.012);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Search */

.av-search-section {
	position: relative;
	z-index: 2;
	background: var(--av-color-surface);
}

.av-search-section__grid {
	display: grid;
	gap: var(--av-space-6);
}

.av-search-section__grid > div > p:last-child {
	max-width: 36rem;
	margin-bottom: 0;
	color: var(--av-color-text-muted);
}

.av-search {
	position: relative;
	min-width: 0;
}

.av-search > label {
	display: block;
	margin-bottom: var(--av-space-2);
	font-family: var(--av-font-interface);
	font-size: .9rem;
	font-weight: 650;
}

.av-search__control {
	position: relative;
	display: grid;
	gap: var(--av-space-3);
}

.av-search__control input {
	width: 100%;
	min-width: 0;
	min-height: 3.5rem;
	padding: .8rem 1rem .8rem 3rem;
	border: 1px solid var(--av-color-control-border);
	border-radius: var(--av-radius-control);
	background: var(--av-color-surface);
	color: var(--av-color-ink);
}

.av-search__control input::placeholder {
	color: #647b87;
}

.av-search__control input:hover {
	border-color: var(--av-color-ocean-deep);
}

.av-search__icon {
	position: absolute;
	z-index: 1;
	top: 1.1rem;
	left: 1rem;
	color: var(--av-color-ocean-deep);
}

.av-search__status {
	margin: var(--av-space-2) 0 0;
	color: var(--av-color-text-muted);
	font-size: .8rem;
}

.av-search-suggestions {
	position: absolute;
	z-index: 30;
	top: calc(100% - 1.6rem);
	left: 0;
	width: 100%;
	max-height: 23rem;
	padding: var(--av-space-2);
	overflow-y: auto;
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-control);
	background: var(--av-color-surface);
	box-shadow: var(--av-shadow-overlay);
}

.av-search-suggestion {
	display: grid;
	gap: .15rem;
	padding: var(--av-space-3);
	border-radius: var(--av-radius-sm);
	color: var(--av-color-ink);
	text-decoration: none;
}

.av-search-suggestion:hover,
.av-search-suggestion[aria-selected="true"] {
	background: var(--av-color-mist);
}

.av-search-suggestion strong {
	overflow-wrap: anywhere;
}

.av-search-suggestion > span:last-child {
	color: var(--av-color-text-muted);
	font-size: .82rem;
}

.av-search-suggestion__type {
	color: var(--av-color-ocean-deep);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.av-search-suggestions__empty {
	margin: 0;
	padding: var(--av-space-4);
	color: var(--av-color-text-muted);
}

/* Categories */

#kategorie {
	background: var(--av-color-mist);
}

.av-category-grid {
	display: grid;
	gap: var(--av-space-3);
}

.av-category-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	min-height: 8rem;
	gap: var(--av-space-4);
	padding: var(--av-space-4);
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-card);
	background: var(--av-color-surface);
	color: var(--av-color-ink);
	text-decoration: none;
	transition: border-color var(--av-transition), box-shadow var(--av-transition), transform var(--av-transition);
}

.av-category-card:hover,
.av-category-card.is-active {
	border-color: var(--av-color-ocean);
	box-shadow: var(--av-shadow-card);
	transform: translateY(-2px);
}

.av-category-card.is-active {
	box-shadow: 0 0 0 2px var(--av-color-ocean-deep);
}

.av-category-card__icon {
	display: grid;
	width: 3.25rem;
	height: 3.25rem;
	place-items: center;
	border-radius: 50%;
	background: var(--av-color-mist);
	color: var(--av-color-ocean-deep);
}

.av-category-card__icon .av-icon {
	width: 1.65rem;
	height: 1.65rem;
}

.av-category-motion-icon {
	width: 3rem;
	height: 3rem;
	overflow: visible;
	color: var(--av-category-accent, var(--av-color-ocean-deep));
}

.av-category-motion-icon__fill {
	fill: rgb(var(--av-category-accent-rgb, 0 127 139) / 14%);
}

.av-category-motion-icon__ambient {
	opacity: .42;
}

.av-category-motion-icon :where(
	.av-category-motion-icon__fish,
	.av-category-motion-icon__tail,
	.av-category-motion-icon__shrimp,
	.av-category-motion-icon__antennae,
	.av-category-motion-icon__leaf,
	.av-category-motion-icon__pellet,
	.av-category-motion-icon__drop,
	.av-category-motion-icon__ripple,
	.av-category-motion-icon__current,
	.av-category-motion-icon__filter
) {
	transform-box: fill-box;
}

.av-category-motion-icon__tail,
.av-category-motion-icon__antennae,
.av-category-motion-icon__leaf {
	transform-origin: center;
}

.av-category-card--ryby {
	--av-category-accent: #93e2dd;
	--av-category-accent-rgb: 147 226 221;
}

.av-category-card--bezkregowce {
	--av-category-accent: #e0b37b;
	--av-category-accent-rgb: 224 179 123;
}

.av-category-card--rosliny {
	--av-category-accent: #b9dcae;
	--av-category-accent-rgb: 185 220 174;
}

.av-category-card--pokarmy {
	--av-category-accent: #e5c982;
	--av-category-accent-rgb: 229 201 130;
}

.av-category-card--preparaty-pielegnacja {
	--av-category-accent: #79d7d2;
	--av-category-accent-rgb: 121 215 210;
}

.av-category-card--akwaria-wyposazenie {
	--av-category-accent: #a9cfe1;
	--av-category-accent-rgb: 169 207 225;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__fish,
.av-category-card--ryby:is(:hover, :focus-visible) .av-category-motion-icon__fish {
	animation: av-category-fish-glide 560ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__tail,
.av-category-card--ryby:is(:hover, :focus-visible) .av-category-motion-icon__tail {
	animation: av-category-fish-tail 480ms ease-in-out both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__bubble,
.av-category-card--ryby:is(:hover, :focus-visible) .av-category-motion-icon__bubble {
	animation: av-category-bubble-rise 620ms ease-out both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__bubble--two,
.av-category-card--ryby:is(:hover, :focus-visible) .av-category-motion-icon__bubble--two {
	animation-delay: 70ms;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__shrimp,
.av-category-card--bezkregowce:is(:hover, :focus-visible) .av-category-motion-icon__shrimp {
	animation: av-category-shrimp-step 600ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__antennae,
.av-category-card--bezkregowce:is(:hover, :focus-visible) .av-category-motion-icon__antennae {
	animation: av-category-antennae 520ms ease-in-out both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__leaf--left,
.av-category-card--rosliny:is(:hover, :focus-visible) .av-category-motion-icon__leaf--left {
	animation: av-category-leaf-left 620ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__leaf--right,
.av-category-card--rosliny:is(:hover, :focus-visible) .av-category-motion-icon__leaf--right {
	animation: av-category-leaf-right 620ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__pellet,
.av-category-card--pokarmy:is(:hover, :focus-visible) .av-category-motion-icon__pellet {
	animation: av-category-pellet-fall 520ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__pellet--two,
.av-category-card--pokarmy:is(:hover, :focus-visible) .av-category-motion-icon__pellet--two {
	animation-delay: 70ms;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__pellet--three,
.av-category-card--pokarmy:is(:hover, :focus-visible) .av-category-motion-icon__pellet--three {
	animation-delay: 130ms;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__drop,
.av-category-card--preparaty-pielegnacja:is(:hover, :focus-visible) .av-category-motion-icon__drop {
	animation: av-category-drop-settle 580ms cubic-bezier(.2, .8, .2, 1) both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__ripple,
.av-category-card--preparaty-pielegnacja:is(:hover, :focus-visible) .av-category-motion-icon__ripple {
	animation: av-category-ripple 620ms ease-out both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__current,
.av-category-card--akwaria-wyposazenie:is(:hover, :focus-visible) .av-category-motion-icon__current {
	animation: av-category-current-rise 560ms ease-out both;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__current--two,
.av-category-card--akwaria-wyposazenie:is(:hover, :focus-visible) .av-category-motion-icon__current--two {
	animation-delay: 90ms;
}

.av-category-card.is-icon-motion-visible .av-category-motion-icon__filter,
.av-category-card--akwaria-wyposazenie:is(:hover, :focus-visible) .av-category-motion-icon__filter {
	animation: av-category-filter-pulse 560ms ease-out both;
}

@keyframes av-category-fish-glide {
	0% { transform: translateX(-3px); }
	55% { transform: translateX(2px); }
	100% { transform: translateX(0); }
}

@keyframes av-category-fish-tail {
	0%, 100% { transform: rotate(0); }
	35% { transform: rotate(-7deg); }
	70% { transform: rotate(5deg); }
}

@keyframes av-category-bubble-rise {
	0% { opacity: 0; transform: translateY(5px) scale(.72); }
	45% { opacity: .9; }
	100% { opacity: .35; transform: translateY(-4px) scale(1); }
}

@keyframes av-category-shrimp-step {
	0% { transform: translateX(-2px) rotate(-1deg); }
	55% { transform: translateX(1px) rotate(.7deg); }
	100% { transform: translateX(0) rotate(0); }
}

@keyframes av-category-antennae {
	0%, 100% { transform: rotate(0); }
	40% { transform: rotate(4deg); }
	75% { transform: rotate(-2deg); }
}

@keyframes av-category-leaf-left {
	0%, 100% { transform: rotate(0); }
	45% { transform: rotate(-5deg); }
	75% { transform: rotate(2deg); }
}

@keyframes av-category-leaf-right {
	0%, 100% { transform: rotate(0); }
	45% { transform: rotate(5deg); }
	75% { transform: rotate(-2deg); }
}

@keyframes av-category-pellet-fall {
	0% { opacity: 0; transform: translateY(-7px); }
	55% { opacity: 1; }
	100% { opacity: 1; transform: translateY(0); }
}

@keyframes av-category-drop-settle {
	0% { opacity: .6; transform: translateY(-3px) scale(.96); }
	60% { opacity: 1; transform: translateY(1px) scale(1.015); }
	100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes av-category-ripple {
	0% { opacity: 0; transform: scaleX(.72); }
	55% { opacity: .58; }
	100% { opacity: .42; transform: scaleX(1); }
}

@keyframes av-category-current-rise {
	0% { opacity: 0; transform: translateY(5px); }
	50% { opacity: 1; }
	100% { opacity: .75; transform: translateY(-2px); }
}

@keyframes av-category-filter-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .55; }
}

.av-category-card__content {
	display: grid;
	min-width: 0;
	gap: var(--av-space-1);
}

.av-category-card__content strong {
	font-family: var(--av-font-interface);
	font-size: 1.05rem;
	overflow-wrap: anywhere;
}

.av-category-card__content span {
	color: var(--av-color-text-muted);
	font-size: .85rem;
	line-height: 1.4;
}

.av-category-card__arrow {
	color: var(--av-color-ocean-deep);
	transition: transform var(--av-transition-fast);
}

.av-category-card:hover .av-category-card__arrow {
	transform: translateX(3px);
}

/* Catalog cards */

.av-catalog-section {
	background: #f8fbfc;
}

.av-section-heading--catalog {
	align-items: end;
}

.av-result-meta {
	display: flex;
	align-items: center;
	gap: var(--av-space-4);
	color: var(--av-color-text-muted);
	font-size: .9rem;
}

.av-result-meta a {
	font-weight: 600;
}

.av-item-grid {
	display: grid;
	gap: var(--av-space-5);
}

.av-item-card {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-card);
	background: var(--av-color-surface);
	box-shadow: 0 4px 18px rgb(8 47 73 / 4%);
	transition: border-color var(--av-transition), box-shadow var(--av-transition), transform var(--av-transition);
}

.av-item-card:hover {
	border-color: #8bbbc0;
	box-shadow: var(--av-shadow-card);
	transform: translateY(-3px);
}

.av-item-media {
	position: relative;
	background: linear-gradient(145deg, var(--av-color-mist), var(--av-color-sky));
}

.av-item-media.is-empty {
	background: #f3f7f8;
}

.av-item-media__main {
	display: grid;
	width: 100%;
	aspect-ratio: 1 / 1;
	place-content: center;
	place-items: center;
	gap: var(--av-space-2);
	padding: var(--av-space-5);
	color: var(--av-color-text-muted);
	text-align: center;
}

.av-item-media__symbol {
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	place-items: center;
	border: 1px solid rgb(0 104 117 / 25%);
	border-radius: 50%;
	background: rgb(255 255 255 / 70%);
	color: var(--av-color-ocean-deep);
}

.av-item-media__symbol .av-icon {
	width: 1.75rem;
	height: 1.75rem;
}

.av-item-media__main > span:nth-child(2) {
	font-size: .86rem;
	font-weight: 650;
}

.av-item-media__main small {
	max-width: 15rem;
	font-size: .72rem;
}

.av-item-card__body {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	padding: var(--av-space-4);
}

.av-item-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--av-space-2);
	margin-bottom: var(--av-space-3);
	color: var(--av-color-text-muted);
	font-size: .75rem;
}

.av-type-label {
	display: inline-flex;
	align-items: center;
	min-height: 1.65rem;
	padding: .2rem .5rem;
	border: 1px solid var(--av-color-border);
	border-radius: 999px;
	background: var(--av-color-mist);
	color: var(--av-color-ocean-deep);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.av-item-card h3 {
	margin-bottom: var(--av-space-2);
}

.av-item-card h3 a {
	color: var(--av-color-ink);
	text-decoration: none;
}

.av-item-card h3 a:hover {
	color: var(--av-color-ocean-deep);
	text-decoration: underline;
}

.av-item-card__identity {
	margin-bottom: var(--av-space-3);
	color: var(--av-color-text-muted);
	font-size: .88rem;
	overflow-wrap: anywhere;
}

.av-item-card__identity.is-scientific {
	font-style: italic;
}

.av-item-card__summary {
	display: -webkit-box;
	margin-bottom: var(--av-space-5);
	overflow: hidden;
	color: var(--av-color-text-muted);
	font-size: .9rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.av-item-card__summary--empty {
	font-style: italic;
}

.av-item-card__footer {
	display: grid;
	align-items: center;
	gap: var(--av-space-3);
	margin-top: auto;
	padding-top: var(--av-space-4);
	border-top: 1px solid var(--av-color-border);
}

.av-status-badge {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	min-height: 1.8rem;
	padding: .25rem .6rem;
	border: 1px solid;
	border-radius: 999px;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1.2;
}

.av-status-badge--available {
	border-color: #6caeb4;
	background: var(--av-color-mist);
	color: var(--av-color-ocean-deep);
}

.av-status-badge--unavailable {
	border-color: #9fbcc4;
	background: var(--av-color-sky);
	color: var(--av-color-text-muted);
}

.av-status-badge--warning {
	border-color: #d99b4f;
	background: var(--av-color-warm-soft);
	color: var(--av-color-warm-text);
}

.av-status-badge--unknown {
	border-color: var(--av-color-control-border);
	background: var(--av-color-surface);
	color: var(--av-color-text-muted);
}

.av-card-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-height: 2.75rem;
	gap: var(--av-space-2);
	color: var(--av-color-ocean-deep);
	font-family: var(--av-font-interface);
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none;
}

.av-card-link .av-icon {
	transition: transform var(--av-transition-fast);
}

.av-card-link:hover .av-icon {
	transform: translateX(3px);
}

.av-empty-state {
	display: grid;
	max-width: 42rem;
	place-items: start;
	gap: var(--av-space-3);
	padding: var(--av-space-6);
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-card);
	background: var(--av-color-surface);
}

.av-empty-state__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 50%;
	background: var(--av-color-mist);
	color: var(--av-color-ocean-deep);
}

.av-empty-state h3,
.av-empty-state p {
	margin-bottom: 0;
}

.av-empty-state p {
	color: var(--av-color-text-muted);
}

/* Contact */

.av-contact-band {
	background: var(--av-color-ink);
	color: var(--av-color-surface);
}

.av-contact-band h2,
.av-contact-band .av-eyebrow {
	color: var(--av-color-surface);
}

.av-contact-band__inner {
	display: grid;
	align-items: center;
	gap: var(--av-space-6);
}

.av-contact-band__inner p:last-child {
	max-width: 42rem;
	margin-bottom: 0;
	color: #d9e8ed;
}

/* Detail */

.av-project-detail-main > .av-container {
	padding-block: var(--av-space-5) var(--av-space-8);
}

.av-breadcrumbs {
	display: none;
	align-items: center;
	min-width: 0;
	gap: var(--av-space-2);
	margin-bottom: var(--av-space-4);
	color: var(--av-color-text-muted);
	font-size: .82rem;
}

.av-breadcrumbs a,
.av-breadcrumbs span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.av-back-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	gap: var(--av-space-2);
	margin-bottom: var(--av-space-5);
	font-size: .9rem;
	font-weight: 650;
	text-decoration: none;
}

.av-detail-layout {
	display: grid;
	gap: var(--av-space-6);
}

.av-detail-media,
.av-detail-content {
	min-width: 0;
}

.av-item-media--detail {
	background: transparent;
}

.av-item-media--detail .av-item-media__main {
	aspect-ratio: 4 / 3;
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-card);
	background: linear-gradient(145deg, var(--av-color-mist), var(--av-color-sky));
}

.av-item-media--detail.is-empty .av-item-media__main {
	background: #f3f7f8;
}

.av-item-media__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--av-space-2);
	margin-top: var(--av-space-3);
}

.av-item-media__thumbs span {
	display: grid;
	aspect-ratio: 1 / 1;
	place-items: center;
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-sm);
	background: var(--av-color-mist);
	color: var(--av-color-ocean-deep);
}

.av-detail-content__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--av-space-3);
	margin-bottom: var(--av-space-4);
	font-size: .82rem;
}

.av-detail-content h1 {
	margin-bottom: var(--av-space-3);
}

.av-scientific-name,
.av-product-identity {
	margin-bottom: var(--av-space-5);
	color: var(--av-color-text-muted);
	font-size: 1.05rem;
}

.av-status-panel {
	display: grid;
	gap: var(--av-space-3);
	margin-bottom: var(--av-space-6);
	padding: var(--av-space-4);
	border: 1px solid;
	border-radius: var(--av-radius-control);
}

.av-status-panel--available {
	border-color: #91c5c8;
	background: var(--av-color-mist);
}

.av-status-panel--unavailable {
	border-color: #a7c5cc;
	background: var(--av-color-sky);
}

.av-status-panel--warning {
	border-color: #d99b4f;
	background: var(--av-color-warm-soft);
}

.av-status-panel--unknown {
	border-color: var(--av-color-control-border);
	background: var(--av-color-surface);
}

.av-status-panel p {
	margin: var(--av-space-2) 0 0;
	color: var(--av-color-text-muted);
	font-size: .88rem;
}

.av-status-panel--warning p {
	color: var(--av-color-warm-text);
}

.av-status-time {
	display: inline-flex;
	align-items: center;
	gap: var(--av-space-2);
}

.av-status-time .av-icon {
	width: 1rem;
	height: 1rem;
}

.av-detail-summary {
	margin-bottom: var(--av-space-6);
}

.av-detail-summary h2,
.av-variants h2 {
	margin-bottom: var(--av-space-3);
	font-size: 1.25rem;
}

.av-detail-summary > p {
	color: var(--av-color-text-muted);
}

.av-inline-empty {
	display: flex;
	align-items: flex-start;
	gap: var(--av-space-3);
	padding: var(--av-space-4);
	border: 1px dashed var(--av-color-control-border);
	border-radius: var(--av-radius-control);
	color: var(--av-color-text-muted);
}

.av-inline-empty p {
	margin: 0;
}

.av-variants {
	margin-bottom: var(--av-space-6);
}

.av-variant-list {
	display: grid;
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-control);
	background: var(--av-color-surface);
}

.av-variant-row {
	display: grid;
	align-items: center;
	gap: var(--av-space-3);
	padding: var(--av-space-4);
}

.av-variant-row + .av-variant-row {
	border-top: 1px solid var(--av-color-border);
}

.av-variant-row > div {
	display: grid;
	gap: var(--av-space-1);
}

.av-variant-row > div span {
	color: var(--av-color-text-muted);
	font-size: .82rem;
}

.av-variant-row .av-variant-row__time {
	display: inline-flex;
	align-items: center;
	gap: var(--av-space-1);
}

.av-variant-row__time .av-icon {
	width: .9rem;
	height: .9rem;
}

.av-detail-cta {
	display: grid;
	align-items: center;
	gap: var(--av-space-4);
	padding: var(--av-space-5);
	border-radius: var(--av-radius-card);
	background: var(--av-color-ink);
	color: var(--av-color-surface);
}

.av-detail-cta strong {
	font-family: var(--av-font-interface);
	font-size: 1.05rem;
}

.av-detail-cta p {
	margin: var(--av-space-1) 0 0;
	color: #d9e8ed;
	font-size: .88rem;
}

/* Generic content and states */

.entry + .entry {
	margin-top: var(--av-space-7);
	padding-top: var(--av-space-7);
	border-top: 1px solid var(--av-color-border);
}

.entry-content,
.archive-description {
	max-width: 68ch;
}

.entry-meta {
	color: var(--av-color-text-muted);
	font-size: .875rem;
}

.system-state {
	max-width: 68ch;
	padding: var(--av-space-6);
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-control);
	background: var(--av-color-mist);
}

/* Footer */

.site-footer {
	border-top: 1px solid var(--av-color-border);
	background: var(--av-color-surface);
}

.site-footer__inner {
	display: grid;
	gap: var(--av-space-5);
	padding-block: var(--av-space-7) var(--av-space-5);
}

.site-footer__brand p {
	margin-bottom: var(--av-space-1);
	color: var(--av-color-text-muted);
	font-size: .9rem;
}

.site-footer__brand .site-footer__name {
	color: var(--av-color-ink);
	font-family: var(--av-font-display);
	font-size: 1.15rem;
	font-weight: 750;
}

.site-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--av-space-4) var(--av-space-5);
}

.site-footer__nav a {
	color: var(--av-color-ink);
	font-size: .9rem;
	font-weight: 600;
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--av-space-3);
	padding-block: var(--av-space-4);
	border-top: 1px solid var(--av-color-border);
}

.site-footer__bottom p {
	margin: 0;
	color: var(--av-color-text-muted);
	font-size: .78rem;
}

/* Accessibility helpers */

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

.screen-reader-text:focus {
	z-index: 100000;
	top: var(--av-space-4);
	left: var(--av-space-4);
	width: auto;
	height: auto;
	padding: var(--av-space-3) var(--av-space-4);
	clip: auto;
	border-radius: var(--av-radius-control);
	background: var(--av-color-surface);
	color: var(--av-color-ink);
	font-weight: 650;
	white-space: normal;
}

/* Cinematic hero / scroll story V1 */

.av-cinematic {
	--av-cinematic-header-offset: 4rem;
	--av-hero-opacity: 1;
	--av-hero-shift: 0rem;
	--av-search-opacity: 1;
	--av-search-shift: 0rem;
	position: relative;
	isolation: isolate;
	overflow: clip;
	background: #031c29;
	color: #fff;
	font-family: var(--av-font-interface);
}

.av-cinematic__stage {
	position: relative;
}

.av-cinematic__media {
	position: sticky;
	z-index: 0;
	top: 0;
	height: 100svh;
	margin-bottom: -100svh;
	overflow: hidden;
	background: #031c29;
	pointer-events: none;
}

.av-cinematic__poster,
.av-cinematic__poster img,
.av-cinematic__video,
.av-cinematic__contrast {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.av-cinematic__poster {
	display: block;
}

.av-cinematic__poster img,
.av-cinematic__video {
	object-fit: cover;
	object-position: 68% center;
}

.av-cinematic__video {
	z-index: 1;
	backface-visibility: hidden;
	filter: brightness(1.0001);
	opacity: 0;
	transform: translateZ(0);
}

.av-cinematic[data-video-state="ready"] .av-cinematic__video {
	opacity: 1;
}

.av-cinematic__contrast {
	z-index: 2;
	background:
		linear-gradient(90deg, rgb(1 14 23 / 92%) 0%, rgb(2 22 34 / 82%) 42%, rgb(2 22 34 / 24%) 72%, rgb(2 22 34 / 15%) 100%),
		linear-gradient(0deg, rgb(1 13 21 / 66%) 0%, transparent 34%, rgb(1 13 21 / 18%) 100%);
}

.av-cinematic__chapter {
	position: relative;
	z-index: 4;
	display: grid;
	min-height: 100svh;
	align-items: center;
}

.av-cinematic__chapter--search {
	min-height: 78svh;
}

.av-cinematic__chapter-inner {
	width: 100%;
	padding-block: 7rem 4rem;
}

.av-cinematic__chapter h1,
.av-cinematic__chapter h2 {
	color: #fff;
	font-family: var(--av-font-display);
}

.av-cinematic__chapter .av-eyebrow {
	color: #aeeef1;
	font-family: var(--av-font-interface);
	font-weight: 600;
}

.av-cinematic__hero-copy {
	max-width: 44rem;
}

.av-cinematic__hero-copy h1 {
	max-width: 12ch;
	margin-bottom: 1.25rem;
	font-size: clamp(2.65rem, 5.25vw, 4.9rem);
	font-weight: 600;
	letter-spacing: -.055em;
	line-height: .96;
	text-wrap: balance;
}

.av-cinematic__lead {
	max-width: 38rem;
	margin-bottom: 0;
	color: rgb(235 250 251 / 88%);
	font-size: clamp(1rem, 1.35vw, 1.15rem);
	line-height: 1.62;
}

.av-cinematic__actions {
	margin-top: var(--av-space-5);
}

.av-button--cinematic-primary {
	background: #fff;
	color: var(--av-color-ink);
}

.av-button--cinematic-primary:hover {
	background: #dff6f7;
	color: var(--av-color-ink);
	transform: translateY(-1px);
}

.av-button--cinematic-secondary {
	border-color: rgb(218 247 248 / 52%);
	background: rgb(2 22 34 / 28%);
	color: #fff;
}

.av-button--cinematic-secondary:hover {
	border-color: #fff;
	background: rgb(2 22 34 / 62%);
	color: #fff;
}

.av-cinematic-notice {
	display: flex;
	max-width: 35rem;
	align-items: flex-start;
	gap: var(--av-space-2);
	margin-bottom: var(--av-space-6);
	color: rgb(235 250 251 / 76%);
	font-size: .78rem;
	line-height: 1.45;
}

.av-cinematic-notice p {
	margin: 0;
}

.av-cinematic-notice .av-icon {
	width: 1rem;
	height: 1rem;
	margin-top: .1rem;
}

.av-cinematic__search-layout {
	display: grid;
	gap: var(--av-space-6);
	align-items: end;
}

.av-cinematic__search-intro {
	max-width: 35rem;
}

.av-cinematic__search-intro h2 {
	margin-bottom: var(--av-space-3);
	font-size: clamp(2.25rem, 4vw, 3.75rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: 1;
}

.av-cinematic__search-intro > p:last-child {
	margin-bottom: 0;
	color: rgb(235 250 251 / 84%);
}

.av-search--cinematic {
	max-width: 48rem;
}

.av-search--cinematic > label {
	color: #fff;
	font-family: var(--av-font-interface);
}

.av-search--cinematic .av-search__control {
	padding: .375rem;
	border: 1px solid rgb(255 255 255 / 34%);
	border-radius: var(--av-radius-control);
	background: #fff;
	box-shadow: 0 18px 48px rgb(0 10 18 / 28%);
}

.av-search--cinematic .av-search__control:focus-within {
	border-color: #fff;
	box-shadow: 0 0 0 3px var(--av-color-warm), 0 18px 48px rgb(0 10 18 / 28%);
}

.av-search--cinematic .av-search__control input {
	border: 0;
	outline: 0;
}

.av-search--cinematic .av-search__control .av-button {
	border-radius: 8px;
}

.av-search--cinematic .av-search__status {
	color: rgb(235 250 251 / 76%);
}

.av-search--cinematic .av-search-suggestions {
	top: calc(100% - 1.35rem);
}

.av-cinematic__search-unavailable {
	max-width: 42rem;
	padding: var(--av-space-5);
	border-left: 3px solid #aeeef1;
	background: rgb(2 22 34 / 72%);
}

.av-cinematic__search-unavailable p {
	margin: 0;
}

.av-cinematic__search-anchor {
	position: absolute;
	z-index: -1;
	top: 58svh;
	left: 0;
	width: 1px;
	height: 1px;
	scroll-margin-top: 5rem;
}

.av-cinematic-enhanced .av-cinematic {
	height: 175svh;
}

.av-cinematic-enhanced .av-cinematic__stage {
	position: sticky;
	top: var(--av-cinematic-header-offset);
	height: calc(100svh - var(--av-cinematic-header-offset));
	overflow: hidden;
}

.av-cinematic-enhanced .av-cinematic__media {
	position: absolute;
	inset: 0;
	height: auto;
	margin: 0;
}

.av-cinematic-enhanced .av-cinematic__chapter {
	position: absolute;
	inset: 0;
	min-height: 100%;
}

.av-cinematic-enhanced .av-cinematic__chapter--hero {
	opacity: var(--av-hero-opacity);
	transform: translateY(var(--av-hero-shift));
}

.av-cinematic-enhanced .av-cinematic__chapter--search {
	opacity: var(--av-search-opacity);
	transform: translateY(var(--av-search-shift));
}

.av-cinematic-enhanced .av-cinematic__chapter[data-av-inactive] {
	pointer-events: none;
}

.av-cinematic-enhanced .site-header--cinematic {
	position: sticky;
	width: auto;
	border-bottom-color: rgb(255 255 255 / 16%);
	background: #031c29;
	box-shadow: none;
	backdrop-filter: none;
	transition: color var(--av-transition), background var(--av-transition), border-color var(--av-transition), box-shadow var(--av-transition);
}

.av-cinematic-enhanced .site-header--cinematic .site-brand,
.av-cinematic-enhanced .site-header--cinematic .site-navigation--desktop a,
.av-cinematic-enhanced .site-header--cinematic .site-header__search,
.av-cinematic-enhanced .site-header--cinematic .site-header__menu-button {
	color: #fff;
}

.site-header--cinematic .site-brand__logo,
body.av-project-homepage .site-header .site-brand__logo {
	filter: none;
}

.av-cinematic-enhanced .site-header--cinematic .site-brand {
	font-family: var(--av-font-display);
}

.av-cinematic-enhanced .site-header--cinematic .site-header__search,
.av-cinematic-enhanced .site-header--cinematic .site-header__menu-button {
	border-color: rgb(255 255 255 / 32%);
	background: rgb(1 17 27 / 32%);
}

.av-cinematic-enhanced .site-header--cinematic .site-header__search:hover,
.av-cinematic-enhanced .site-header--cinematic .site-header__menu-button:hover {
	border-color: rgb(255 255 255 / 64%);
	background: rgb(1 17 27 / 64%);
}

.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic {
	border-bottom-color: rgb(201 222 227 / 90%);
	background: rgb(255 255 255 / 98%);
	box-shadow: 0 2px 14px rgb(8 47 73 / 4%);
}

.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-brand,
.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-navigation--desktop a,
.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-header__search,
.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-header__menu-button {
	color: var(--av-color-ink);
}

.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-brand__logo {
	filter: brightness(0) saturate(100%) invert(16%) sepia(27%) saturate(2609%) hue-rotate(159deg) brightness(88%) contrast(101%);
}

.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-header__search,
.av-cinematic-enhanced .site-header--cinematic.is-after-cinematic .site-header__menu-button {
	border-color: var(--av-color-border);
	background: var(--av-color-surface);
}

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

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

@media (max-width: 767px) {
	.av-cinematic__chapter-inner {
		padding-block: 6.5rem 2.5rem;
	}

	.av-cinematic__hero-copy {
		max-width: 34rem;
	}

	.av-cinematic__hero-copy h1 {
		max-width: 11ch;
		font-size: clamp(2.45rem, 12.8vw, 3.45rem);
		line-height: .98;
	}

	.av-cinematic__lead {
		max-width: 31rem;
		font-size: .98rem;
		line-height: 1.55;
	}

	.av-cinematic-notice {
		margin-bottom: var(--av-space-5);
	}

	.av-cinematic__poster img,
	.av-cinematic__video {
		object-position: 70% center;
	}

	.av-cinematic__contrast {
		background:
			linear-gradient(90deg, rgb(1 14 23 / 90%) 0%, rgb(2 22 34 / 70%) 68%, rgb(2 22 34 / 30%) 100%),
			linear-gradient(0deg, rgb(1 13 21 / 70%) 0%, transparent 55%, rgb(1 13 21 / 32%) 100%);
	}

	.av-cinematic__search-layout {
		align-content: center;
		gap: var(--av-space-5);
	}

	.av-cinematic__search-intro h2 {
		font-size: clamp(2.2rem, 11vw, 3rem);
	}

	.av-cinematic__actions .av-button {
		width: 100%;
	}
}

@media (min-width: 768px) {
	.av-cinematic-enhanced .av-cinematic {
		height: 185svh;
	}

	.av-cinematic__search-anchor {
		top: 64svh;
	}

	.av-cinematic__search-layout {
		grid-template-columns: minmax(15rem, .7fr) minmax(25rem, 1.3fr);
	}
}

@media (min-width: 1024px) {
	.av-cinematic-enhanced .av-cinematic {
		--av-cinematic-header-offset: 4.5rem;
		height: 195svh;
	}

	.av-cinematic__chapter-inner {
		padding-block: 8rem 5rem;
	}

	.av-cinematic__poster img,
	.av-cinematic__video {
		object-position: center center;
	}

	.av-cinematic__search-anchor {
		top: 70svh;
	}
}

@media (prefers-reduced-motion: reduce) {
	.av-cinematic__video {
		display: none;
	}
}

@media (max-width: 767px) {
	.av-hero {
		min-height: 46rem;
	}

	.av-hero__frame {
		display: block;
		align-content: normal;
		min-height: 46rem;
		padding-block: 2.125rem 0;
	}

	.av-hero__content {
		position: relative;
		z-index: 3;
		padding-bottom: 1.375rem;
		background: var(--av-color-mist);
		box-shadow: 20px 0 0 var(--av-color-mist), -20px 0 0 var(--av-color-mist);
	}

	.av-hero h1 {
		max-width: 10.5ch;
		font-size: clamp(2.45rem, 11.5vw, 3.05rem);
	}

	.av-hero__lead {
		max-width: 31ch;
		font-size: 1rem;
		line-height: 1.55;
	}

	.av-hero-media {
		top: 25.25rem;
		width: 100%;
		clip-path: polygon(0 17%, 100% 0, 100% 100%, 0 100%);
	}

	.av-hero__action {
		right: var(--av-space-4);
		bottom: 1.25rem;
		left: var(--av-space-4);
		display: block;
	}

	.av-hero-search__control {
		grid-template-columns: 1.375rem minmax(0, 1fr);
		padding: .3125rem .625rem .3125rem .875rem;
	}

	.av-hero-search button {
		grid-column: 1 / -1;
		width: calc(100% + 1.25rem);
		margin: 0 -.625rem -.3125rem;
		border-radius: 0 0 7px 7px;
	}

	.av-hero__category-link {
		margin-top: .25rem;
		color: var(--av-color-surface);
	}
}

@media (min-width: 390px) {
	.av-container {
		padding-inline: 20px;
	}

	.site-header__search span {
		display: inline;
	}
}

@media (min-width: 520px) {
	.av-search__control {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.av-search__control .av-button {
		min-width: 7rem;
	}

	.av-search-suggestions {
		top: calc(100% - 1.6rem);
		width: calc(100% - 8rem);
	}

	.av-item-card__footer,
	.av-variant-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 640px) {
	.av-category-grid,
	.av-item-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.av-section-heading,
	.av-contact-band__inner,
	.site-footer__inner {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, .7fr);
		justify-content: space-between;
	}

	.av-section-heading > p,
	.av-contact-band__inner > .av-button,
	.site-footer__nav {
		justify-self: end;
	}

	.av-breadcrumbs {
		display: flex;
	}

	.av-detail-cta {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 768px) {
	.av-container {
		padding-inline: var(--av-space-5);
	}

	.av-section {
		padding-block: var(--av-space-9);
	}

	.av-search-section__grid {
		grid-template-columns: .72fr 1.28fr;
		align-items: end;
	}

	.av-hero__action {
		left: var(--av-space-5);
	}

}

@media (min-width: 768px) and (max-width: 1023px) {
	.av-hero {
		min-height: 40rem;
	}

	.av-hero__frame {
		min-height: 40rem;
		padding-block: 3rem 4rem;
	}

	.av-hero__content {
		grid-column: 1 / span 8;
		padding-bottom: 8rem;
	}

	.av-hero h1 {
		max-width: 10.5ch;
		font-size: clamp(2.75rem, 6vw, 3.35rem);
	}

	.av-hero__lead {
		max-width: 23rem;
	}

	.av-hero-media {
		width: 49%;
		clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%);
	}

	.av-hero__action {
		right: 5%;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--av-space-4);
	}

	.av-hero__category-link {
		font-size: .82rem;
	}
}

@media (min-width: 940px) {
	.av-detail-layout {
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
		align-items: start;
		gap: var(--av-space-8);
	}

	.av-detail-media {
		position: sticky;
		top: 6.5rem;
	}
}

@media (min-width: 1024px) {
	.site-header__inner {
		min-height: 4.5rem;
	}

	.site-brand {
		padding-block: 6px;
	}

	.site-brand__logo {
		width: 10.46rem;
	}

	.site-navigation--desktop {
		display: flex;
	}

	.site-header__menu-button {
		display: none;
	}

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

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

	.av-category-card {
		min-height: 9rem;
	}
}

@media (min-width: 1180px) {
	.av-item-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.av-container {
		padding-inline: var(--av-space-6);
	}
}

@media (hover: none) {
	.av-category-card:hover,
	.av-item-card:hover {
		transform: none;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Homepage / Dark Ocean system v1 */

body.av-project-homepage,
body.av-project-media-proposal {
	--av-page-gutter: clamp(1rem, 4vw, 3rem);
	--av-content-max: 80rem;
	--av-container-max: var(--av-content-max);
	--av-ocean-abyss: #031822;
	--av-ocean-deepest: #041e29;
	--av-ocean-depth: #072731;
	--av-ocean-surface: #0b303a;
	--av-ocean-surface-raised: #103b45;
	--av-ocean-text: #f2fbfa;
	--av-ocean-text-muted: #b7ced1;
	--av-ocean-border: rgb(168 217 218 / 21%);
	--av-ocean-border-strong: rgb(130 211 208 / 52%);
	--av-ocean-accent: #73d1cf;
	--av-ocean-accent-strong: #93e2dd;
	--av-plant: #85aa78;
	--av-plant-soft: #c6dfbd;
	--av-color-warm: #f2b762;
	background: var(--av-ocean-abyss);
	color: var(--av-ocean-text);
	color-scheme: dark;
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-container,
body.av-project-media-proposal .av-container {
	width: min(calc(100% - var(--av-page-gutter) - var(--av-page-gutter)), var(--av-content-max));
	padding-inline: 0;
}

body.av-project-homepage .av-project-home {
	background: var(--av-ocean-abyss);
	color: var(--av-ocean-text);
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-project-home h1,
body.av-project-homepage .av-project-home h2 {
	color: var(--av-ocean-text);
	font-family: var(--av-font-display);
}

body.av-project-homepage .av-project-home h3,
body.av-project-homepage .av-project-home h4,
body.av-project-homepage .av-project-home p,
body.av-project-homepage .av-project-home a,
body.av-project-homepage .av-project-home button,
body.av-project-homepage .av-project-home input {
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-project-home :where(#kategorie, #katalog) {
	scroll-margin-top: 5.25rem;
}

body.av-project-homepage .av-section {
	padding-block: clamp(4.5rem, 7vw, 7rem);
}

body.av-project-homepage .av-section-heading {
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

body.av-project-homepage .av-section-heading > p,
body.av-project-homepage .av-result-meta,
body.av-project-homepage .av-item-card__identity,
body.av-project-homepage .av-item-card__summary {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .av-eyebrow {
	color: var(--av-ocean-accent);
	font-family: var(--av-font-interface);
	font-weight: 600;
	letter-spacing: .13em;
}

/* A single dark navigation state before and after the film. */
body.av-project-homepage .site-header,
.av-cinematic-enhanced body.av-project-homepage .site-header--cinematic,
.av-cinematic-enhanced body.av-project-homepage .site-header--cinematic.is-after-cinematic {
	border-bottom-color: rgb(186 224 225 / 15%);
	background: rgb(3 24 34 / 94%);
	box-shadow: none;
	backdrop-filter: blur(12px);
}

body.av-project-homepage .site-header :where(.site-brand, .site-navigation--desktop a, .site-header__search, .site-header__menu-button),
.av-cinematic-enhanced body.av-project-homepage .site-header--cinematic.is-after-cinematic :where(.site-brand, .site-navigation--desktop a, .site-header__search, .site-header__menu-button) {
	color: var(--av-ocean-text);
}

body.av-project-homepage .site-navigation--desktop a,
body.av-project-homepage .site-header__search {
	font-family: var(--av-font-interface);
}

body.av-project-homepage .site-brand {
	font-family: var(--av-font-display);
}

body.av-project-homepage .site-header .site-brand__logo,
.av-cinematic-enhanced body.av-project-homepage .site-header--cinematic.is-after-cinematic .site-brand__logo {
	filter: none;
}

body.av-project-homepage .site-header :where(.site-header__search, .site-header__menu-button),
.av-cinematic-enhanced body.av-project-homepage .site-header--cinematic.is-after-cinematic :where(.site-header__search, .site-header__menu-button) {
	border-color: rgb(176 222 222 / 26%);
	background: rgb(8 41 52 / 72%);
}

body.av-project-homepage .site-header :where(.site-header__search, .site-header__menu-button):hover {
	border-color: var(--av-ocean-border-strong);
	background: var(--av-ocean-surface);
}

body.av-project-homepage .av-mobile-drawer__panel {
	background: var(--av-ocean-deepest);
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-mobile-drawer__top p,
body.av-project-homepage .av-mobile-drawer__nav a,
body.av-project-homepage .av-mobile-drawer__search,
body.av-project-homepage .av-mobile-drawer .av-icon-button {
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-mobile-drawer__nav,
body.av-project-homepage .av-mobile-drawer__nav a,
body.av-project-homepage .av-mobile-drawer .av-icon-button {
	border-color: var(--av-ocean-border);
}

body.av-project-homepage .av-mobile-drawer__search,
body.av-project-homepage .av-mobile-drawer__note,
body.av-project-homepage .av-mobile-drawer .av-icon-button {
	background: var(--av-ocean-surface);
}

body.av-project-homepage .av-mobile-drawer__note {
	color: var(--av-ocean-text-muted);
}

/* Cinematic chapter typography and composition. */
body.av-project-homepage .av-cinematic {
	background: var(--av-ocean-abyss);
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-cinematic__chapter-inner {
	display: grid;
	align-content: center;
	min-height: 100%;
	padding-block: clamp(5.5rem, 9vh, 8rem) clamp(2.75rem, 6vh, 5rem);
}

body.av-project-homepage .av-cinematic__hero-copy {
	max-width: 48rem;
}

body.av-project-homepage .av-cinematic__hero-copy h1 {
	max-width: none;
	margin-bottom: 1.5rem;
	font-family: var(--av-font-display);
	font-size: clamp(2.75rem, 4.45vw, 4.65rem);
	font-weight: 600;
	letter-spacing: -.055em;
	line-height: .98;
	text-wrap: balance;
}

body.av-project-homepage .av-cinematic__hero-copy h1 span {
	display: block;
}

body.av-project-homepage .av-cinematic__lead {
	max-width: 34rem;
	color: rgb(235 250 249 / 88%);
	font-size: clamp(1rem, 1.3vw, 1.15rem);
}

body.av-project-homepage .av-cinematic__actions {
	margin-top: 1.75rem;
}

body.av-project-homepage .av-button--cinematic-primary {
	background: #f4faf9;
	color: var(--av-ocean-abyss);
}

body.av-project-homepage .av-button--cinematic-primary:hover {
	background: var(--av-ocean-accent-strong);
	color: var(--av-ocean-abyss);
}

body.av-project-homepage .av-button--cinematic-secondary {
	border-color: rgb(221 246 245 / 46%);
	background: rgb(2 22 32 / 48%);
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-button--cinematic-secondary:hover {
	border-color: var(--av-ocean-accent-strong);
	background: rgb(8 43 54 / 86%);
}

body.av-project-homepage .av-cinematic__search-layout {
	grid-template-columns: minmax(0, 1fr);
	align-content: center;
	justify-items: center;
	width: min(100%, 58rem);
	margin-inline: auto;
	gap: clamp(1.5rem, 3vw, 2.25rem);
	text-align: center;
}

body.av-project-homepage .av-cinematic__search-intro {
	max-width: 42rem;
}

body.av-project-homepage .av-cinematic__search-intro h2 {
	margin-bottom: .875rem;
	font-family: var(--av-font-display);
	font-size: clamp(2.5rem, 4vw, 4rem);
	letter-spacing: -.045em;
	line-height: 1;
}

body.av-project-homepage .av-cinematic__search-intro > p:last-child {
	color: rgb(235 250 249 / 86%);
	font-size: clamp(1rem, 1.25vw, 1.125rem);
}

body.av-project-homepage .av-search--cinematic {
	width: min(100%, 54rem);
	max-width: none;
	text-align: left;
}

body.av-project-homepage .av-search--cinematic .av-search__control {
	min-height: 4.25rem;
	padding: .375rem;
	border-color: rgb(225 246 245 / 38%);
	background: #f4faf9;
	box-shadow: 0 18px 50px rgb(0 10 17 / 28%);
}

body.av-project-homepage .av-search--cinematic .av-search__control:focus-within {
	border-color: #f4faf9;
	box-shadow: 0 0 0 3px var(--av-color-warm), 0 18px 50px rgb(0 10 17 / 28%);
}

body.av-project-homepage .av-search--cinematic .av-search__control input {
	min-height: 3.4rem;
	background: transparent;
	color: #082f49;
	font-family: var(--av-font-interface);
	font-size: 1.05rem;
}

body.av-project-homepage .av-search--cinematic .av-search__control input::placeholder {
	color: #526c76;
}

body.av-project-homepage .av-search--cinematic .av-search__icon {
	color: #0b6972;
}

body.av-project-homepage .av-search--cinematic .av-search__control .av-button {
	min-height: 3.4rem;
	padding-inline: 1.4rem;
	border-radius: 8px;
	background: #0b727b;
	color: #fff;
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-search--cinematic .av-search__control .av-button:hover {
	background: #075963;
}

body.av-project-homepage .av-search--cinematic .av-search-suggestions {
	top: calc(100% + .5rem);
	width: 100%;
	border-color: var(--av-ocean-border-strong);
	background: var(--av-ocean-surface);
	box-shadow: 0 24px 54px rgb(0 9 15 / 38%);
}

body.av-project-homepage .av-search-suggestion {
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-search-suggestion:hover,
body.av-project-homepage .av-search-suggestion[aria-selected="true"] {
	background: var(--av-ocean-surface-raised);
}

body.av-project-homepage .av-search-suggestion > span:last-child,
body.av-project-homepage .av-search-suggestions__empty {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .av-search-suggestion__type {
	color: var(--av-ocean-accent-strong);
}

/* Dark catalog ecosystem. */
body.av-project-homepage #kategorie {
	position: relative;
	z-index: 1;
	background: linear-gradient(180deg, var(--av-ocean-deepest) 0%, var(--av-ocean-depth) 100%);
}

body.av-project-homepage .av-category-card {
	min-height: 8.5rem;
	border-color: var(--av-ocean-border);
	border-radius: 10px;
	background: var(--av-ocean-surface);
	color: var(--av-ocean-text);
	box-shadow: none;
}

body.av-project-homepage .av-category-card:hover,
body.av-project-homepage .av-category-card.is-active {
	border-color: var(--av-ocean-border-strong);
	background: var(--av-ocean-surface-raised);
	box-shadow: 0 10px 30px rgb(0 11 18 / 18%);
}

body.av-project-homepage .av-category-card.is-active {
	box-shadow: inset 3px 0 0 var(--av-ocean-accent);
}

body.av-project-homepage .av-category-card__icon {
	width: 4rem;
	height: 4rem;
	border: 1px solid rgb(var(--av-category-accent-rgb, 147 226 221) / 22%);
	border-radius: 10px;
	background: rgb(var(--av-category-accent-rgb, 147 226 221) / 9%);
	color: var(--av-category-accent, var(--av-ocean-accent-strong));
	transition: border-color var(--av-transition-fast), background-color var(--av-transition-fast);
}

body.av-project-homepage .av-category-card:is(:hover, :focus-visible, .is-active) .av-category-card__icon {
	border-color: rgb(var(--av-category-accent-rgb, 147 226 221) / 55%);
	background: rgb(var(--av-category-accent-rgb, 147 226 221) / 14%);
}

body.av-project-homepage .av-category-card__content strong {
	color: var(--av-ocean-text);
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-category-card__content span {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .av-category-card__arrow {
	color: var(--av-plant-soft);
}

@media (prefers-reduced-motion: reduce) {
	.av-category-motion-icon *,
	.av-category-card:is(:hover, :focus-visible) .av-category-motion-icon * {
		animation: none !important;
		transform: none !important;
	}
}

body.av-project-homepage .av-catalog-section {
	background: var(--av-ocean-abyss);
}

body.av-project-homepage .av-result-meta a,
body.av-project-homepage .av-card-link,
body.av-project-homepage .av-button--text {
	color: var(--av-ocean-accent-strong);
}

body.av-project-homepage .av-item-card {
	border-color: var(--av-ocean-border);
	border-radius: 10px;
	background: var(--av-ocean-deepest);
	box-shadow: none;
}

body.av-project-homepage .av-item-card:hover {
	border-color: var(--av-ocean-border-strong);
	box-shadow: 0 12px 32px rgb(0 9 14 / 24%);
}

body.av-project-homepage .av-item-media {
	background: linear-gradient(145deg, #0b303a, #12434b);
}

body.av-project-homepage .av-item-media.is-empty {
	background: #092832;
}

body.av-project-homepage .av-item-media__main {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .av-item-media__symbol {
	border-color: rgb(147 226 221 / 30%);
	background: rgb(3 24 34 / 48%);
	color: var(--av-ocean-accent-strong);
}

body.av-project-homepage .av-item-card__meta {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .av-type-label {
	border-color: var(--av-ocean-border);
	background: rgb(115 209 207 / 10%);
	color: var(--av-ocean-accent-strong);
}

body.av-project-homepage .av-item-card h3 {
	font-family: var(--av-font-interface);
}

body.av-project-homepage .av-item-card h3 a,
body.av-project-homepage .av-item-card h3 a:hover {
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-item-card h3 a:hover {
	text-decoration-color: var(--av-ocean-accent);
}

body.av-project-homepage .av-item-card__footer {
	border-top-color: var(--av-ocean-border);
}

body.av-project-homepage .av-status-badge--available {
	border-color: #6f9f75;
	background: rgb(91 142 100 / 18%);
	color: #cce8cf;
}

body.av-project-homepage .av-status-badge--unavailable {
	border-color: #79949a;
	background: rgb(120 148 154 / 14%);
	color: #d8e5e7;
}

body.av-project-homepage .av-status-badge--warning {
	border-color: #c58c48;
	background: rgb(181 112 35 / 17%);
	color: #f4cea0;
}

body.av-project-homepage .av-status-badge--unknown {
	border-color: #7b9ba1;
	background: rgb(123 155 161 / 12%);
	color: #d6e5e7;
}

body.av-project-homepage .av-empty-state,
body.av-project-homepage .system-state {
	border-color: var(--av-ocean-border);
	background: var(--av-ocean-deepest);
}

body.av-project-homepage .av-empty-state p,
body.av-project-homepage .system-state p {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .av-empty-state__icon {
	background: rgb(115 209 207 / 11%);
	color: var(--av-ocean-accent-strong);
}

body.av-project-homepage .av-button--secondary {
	border-color: var(--av-ocean-border-strong);
	background: transparent;
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-button--secondary:hover {
	border-color: var(--av-ocean-accent-strong);
	background: var(--av-ocean-surface);
}

body.av-project-homepage .av-contact-band {
	background: #0a2b30;
	color: var(--av-ocean-text);
}

body.av-project-homepage .av-contact-band h2 {
	font-family: var(--av-font-display);
}

body.av-project-homepage .av-contact-band .av-eyebrow {
	color: var(--av-plant-soft);
}

body.av-project-homepage .av-contact-band__inner p:last-child {
	color: #c7d9d7;
}

body.av-project-homepage .av-button--light {
	background: #f3f8f6;
	color: var(--av-ocean-abyss);
}

body.av-project-homepage .av-button--light:hover {
	background: var(--av-plant-soft);
}

body.av-project-homepage .site-footer {
	border-top-color: var(--av-ocean-border);
	background: #02131b;
}

body.av-project-homepage .site-footer__brand .site-footer__name {
	color: var(--av-ocean-text);
	font-family: var(--av-font-display);
}

body.av-project-homepage .site-footer__brand p,
body.av-project-homepage .site-footer__bottom p {
	color: var(--av-ocean-text-muted);
}

body.av-project-homepage .site-footer__nav a {
	color: var(--av-ocean-text);
}

body.av-project-homepage .site-footer__bottom {
	border-top-color: var(--av-ocean-border);
}

/* Kontrolowany pilot WooCommerce na kopii /projekt-media/. */
body.av-project-media-proposal .av-woo-pilot {
	position: relative;
	border-top: 1px solid var(--av-ocean-border);
	background: var(--av-ocean-deepest);
}

body.av-project-media-proposal .av-catalog-cinematic .av-woo-pilot {
	z-index: 3;
	display: grid;
	min-height: 125svh;
	align-items: center;
	background: transparent;
}

body.av-project-media-proposal .av-catalog-cinematic .av-woo-pilot > .av-container {
	padding-block: clamp(5rem, 8vw, 8rem);
}

body.av-project-media-proposal .av-woo-pilot__heading {
	align-items: end;
}

body.av-project-media-proposal .av-woo-pilot__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(1rem, 1.55vw, 1.5rem);
}

body.av-project-media-proposal .av-woo-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--av-ocean-border);
	border-radius: 9px;
	background: var(--av-ocean-depth);
	transition: border-color 160ms ease, transform 160ms ease;
}

@media (hover: hover) {
	body.av-project-media-proposal .av-woo-card:hover {
		border-color: var(--av-ocean-border-strong);
		transform: translateY(-3px);
	}
}

body.av-project-media-proposal .av-woo-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #e9efec;
}

body.av-project-media-proposal .av-woo-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 180ms ease;
}

@media (hover: hover) {
	body.av-project-media-proposal .av-woo-card:hover .av-woo-card__media img {
		transform: scale(1.018);
	}
}

body.av-project-media-proposal .av-woo-card__media-note {
	position: absolute;
	right: .7rem;
	bottom: .7rem;
	padding: .35rem .55rem;
	border: 1px solid rgb(225 246 245 / 34%);
	border-radius: 5px;
	background: rgb(3 24 34 / 86%);
	color: #f2fbfa;
	font-size: .71rem;
	font-weight: 600;
	line-height: 1.2;
}

body.av-project-media-proposal .av-woo-card__placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	gap: .5rem;
	color: var(--av-ocean-text-muted);
}

body.av-project-media-proposal .av-woo-card__placeholder .av-icon {
	width: 2rem;
	height: 2rem;
}

body.av-project-media-proposal .av-woo-card__body {
	display: flex;
	min-height: 17.5rem;
	flex: 1;
	flex-direction: column;
	padding: 1.15rem;
}

body.av-project-media-proposal .av-woo-card__category {
	margin: 0 0 .65rem;
	color: var(--av-ocean-accent);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.av-project-media-proposal .av-woo-card h3 {
	margin: 0;
	font-family: var(--av-font-interface);
	font-size: 1.13rem;
	font-weight: 600;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

body.av-project-media-proposal .av-woo-card h3 a {
	color: var(--av-ocean-text);
	text-decoration: none;
}

body.av-project-media-proposal .av-woo-card h3 a:hover {
	text-decoration: underline;
	text-decoration-color: var(--av-ocean-accent);
	text-underline-offset: .18em;
}

body.av-project-media-proposal .av-woo-card__summary {
	display: -webkit-box;
	overflow: hidden;
	margin: .8rem 0 1rem;
	color: var(--av-ocean-text-muted);
	font-size: .92rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.av-project-media-proposal .av-woo-card__footer {
	display: grid;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--av-ocean-border);
	gap: .75rem;
}

body.av-project-media-proposal .av-woo-card__price {
	margin: 0;
	color: var(--av-ocean-text);
	font-size: 1rem;
	font-weight: 600;
}

body.av-project-media-proposal .av-woo-card__price span {
	color: var(--av-ocean-text-muted);
	font-size: .86rem;
	font-weight: 500;
}

body.av-project-media-proposal .av-woo-card .av-card-link {
	justify-self: start;
	min-height: 44px;
	align-items: center;
}

body.av-project-media-proposal .av-woo-catalog-panel {
	position: relative;
	z-index: 3;
	display: grid;
	min-height: auto;
	align-items: start;
	border-top: 1px solid var(--av-ocean-border);
	background: radial-gradient(circle at 50% 12%, rgb(30 104 110 / 16%), transparent 54%);
}

body.av-project-media-proposal .av-woo-catalog-panel__inner {
	display: grid;
	width: min(calc(100% - var(--av-page-gutter) - var(--av-page-gutter)), var(--av-container-max));
	padding-block: clamp(2rem, 3.5vw, 3.65rem);
	gap: clamp(2rem, 4vw, 3.25rem);
}

body.av-project-media-proposal .av-woo-catalog-panel__search {
	display: grid;
	justify-items: center;
	width: min(100%, 58rem);
	margin-inline: auto;
	gap: clamp(1.35rem, 2.5vw, 2rem);
	text-align: center;
}

body.av-project-media-proposal .av-woo-catalog-panel__search .av-cinematic__search-intro {
	max-width: 42rem;
}

body.av-project-media-proposal .av-woo-filter {
	display: grid;
	gap: .75rem;
}

body.av-project-media-proposal .av-woo-filter__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .55rem;
}

body.av-project-media-proposal .av-woo-filter__row--children {
	padding-top: .2rem;
}

body.av-project-media-proposal .av-woo-filter__chip {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: .65rem .9rem;
	border: 1px solid rgb(200 235 232 / 24%);
	border-radius: 7px;
	background: rgb(4 30 41 / 66%);
	color: var(--av-ocean-text);
	font-size: .91rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.av-project-media-proposal .av-woo-filter__chip--sub {
	min-height: 40px;
	padding: .55rem .75rem;
	font-size: .84rem;
}

body.av-project-media-proposal .av-woo-filter__chip:hover,
body.av-project-media-proposal .av-woo-filter__chip:focus-visible {
	border-color: rgb(152 232 225 / 66%);
	background: rgb(10 59 68 / 78%);
	color: #f7ffff;
}

body.av-project-media-proposal .av-woo-filter__chip.is-active {
	border-color: rgb(152 232 225 / 84%);
	background: rgb(15 128 139 / 92%);
	color: #ffffff;
}

body.av-project-media-proposal .av-woo-results {
	display: grid;
	gap: clamp(1.25rem, 2.2vw, 1.8rem);
	scroll-margin-top: calc(var(--av-preview-header-height) + 1rem);
}

body.av-project-media-proposal .av-woo-catalog-panel.is-loading .av-woo-filter,
body.av-project-media-proposal .av-woo-catalog-panel.is-loading .av-woo-results {
	opacity: .78;
	transition: opacity 160ms ease;
}

body.av-project-media-proposal .av-woo-catalog-panel.is-loading .av-woo-filter__chip {
	pointer-events: none;
}

body.av-project-media-proposal .av-woo-result-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .55rem;
	color: var(--av-ocean-text-muted);
	font-size: .91rem;
	font-weight: 600;
}

body.av-project-media-proposal .av-woo-result-meta span,
body.av-project-media-proposal .av-woo-result-meta a {
	display: inline-flex;
	min-height: 34px;
	align-items: center;
	padding: .35rem .65rem;
	border: 1px solid rgb(200 235 232 / 20%);
	border-radius: 6px;
	background: rgb(4 30 41 / 62%);
}

body.av-project-media-proposal .av-woo-result-meta a {
	color: var(--av-ocean-accent);
	text-decoration: none;
}

body.av-project-media-proposal .av-woo-result-meta a:hover {
	color: #ffffff;
}

body.av-project-media-proposal .av-woo-empty-state {
	border-color: var(--av-ocean-border);
	background: rgb(4 30 41 / 86%);
	color: var(--av-ocean-text);
}

@media (max-width: 1023px) {
	body.av-project-media-proposal .av-woo-pilot__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	body.av-project-media-proposal .av-woo-pilot__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.av-project-media-proposal .av-woo-catalog-panel {
		min-height: auto;
		align-items: start;
	}

	body.av-project-media-proposal .av-woo-catalog-panel__inner {
		padding-block: clamp(3rem, 8vw, 5rem);
		gap: 1.5rem;
	}

	body.av-project-media-proposal .av-woo-result-meta {
		justify-content: flex-start;
	}
}

@media (max-width: 519px) {
	body.av-project-media-proposal .av-woo-pilot__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.av-project-media-proposal .av-woo-catalog-panel__search {
		text-align: center;
	}

	body.av-project-media-proposal .av-woo-filter__row {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		margin-inline: calc(-1 * var(--av-page-gutter));
		padding-inline: var(--av-page-gutter);
		padding-bottom: .25rem;
		scrollbar-width: thin;
	}

	body.av-project-media-proposal .av-woo-filter__chip {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	body.av-project-media-proposal .av-woo-card__body {
		min-height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.av-project-media-proposal .av-woo-card,
	body.av-project-media-proposal .av-woo-card__media img {
		transition: none;
	}
}

/*
 * /projekt-media/: spokojne loop hero oraz scroll-scrub przeniesiony do katalogu.
 * Reguly sa celowo ograniczone do kopii, aby /projekt/ zachowal dotychczasowa
 * filmowa opowiesc hero bez zmian.
 */
body.av-project-media-proposal {
	--av-preview-header-height: 4.5rem;
}

body.av-project-media-proposal .av-loop-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: calc(100svh - var(--av-preview-header-height));
	overflow: clip;
	background: var(--av-ocean-abyss);
	color: var(--av-ocean-text);
}

body.av-project-media-proposal .av-loop-hero__media,
body.av-project-media-proposal .av-loop-hero__poster,
body.av-project-media-proposal .av-loop-hero__poster img,
body.av-project-media-proposal .av-loop-hero__video,
body.av-project-media-proposal .av-loop-hero__contrast {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

body.av-project-media-proposal .av-loop-hero__media {
	z-index: -2;
	overflow: hidden;
	background: var(--av-ocean-abyss);
	pointer-events: none;
}

body.av-project-media-proposal .av-loop-hero__poster {
	display: block;
}

body.av-project-media-proposal .av-loop-hero__poster img,
body.av-project-media-proposal .av-loop-hero__video {
	object-fit: cover;
	object-position: center center;
}

body.av-project-media-proposal .av-loop-hero__video {
	z-index: 1;
	backface-visibility: hidden;
	opacity: 0;
	transform: translateZ(0);
	transition: opacity 160ms ease-out;
}

body.av-project-media-proposal .av-loop-hero[data-video-state="ready"] .av-loop-hero__video {
	opacity: 1;
}

body.av-project-media-proposal .av-loop-hero__contrast {
	z-index: 2;
	background:
		radial-gradient(circle at 50% 48%, rgb(2 19 29 / 30%) 0%, rgb(2 18 28 / 48%) 46%, rgb(1 13 21 / 68%) 100%),
		linear-gradient(180deg, rgb(1 13 21 / 34%) 0%, rgb(2 18 28 / 12%) 46%, rgb(1 13 21 / 66%) 100%);
}

body.av-project-media-proposal .av-loop-hero__inner {
	display: grid;
	place-items: center;
	min-height: inherit;
	padding-block: clamp(4rem, 9vh, 7rem);
}

body.av-project-media-proposal .av-loop-hero__copy {
	width: min(100%, 55rem);
	margin-inline: auto;
	text-align: center;
	text-shadow: 0 2px 22px rgb(0 8 14 / 44%);
}

body.av-project-media-proposal .av-loop-hero__copy h1 {
	max-width: 16ch;
	margin: 0 auto 1.5rem;
	font-family: var(--av-font-display);
	font-size: clamp(3rem, 5.5vw, 5.75rem);
	font-weight: 600;
	letter-spacing: -.06em;
	line-height: .95;
	text-wrap: balance;
}

body.av-project-media-proposal .av-loop-hero__copy h1 span {
	display: block;
}

body.av-project-media-proposal .av-loop-hero__lead {
	max-width: 39rem;
	margin: 0 auto;
	color: rgb(242 251 250 / 90%);
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	line-height: 1.65;
}

body.av-project-media-proposal .av-loop-hero__actions {
	justify-content: center;
	margin-top: 1.8rem;
}

body.av-project-media-proposal .av-standalone-search {
	position: relative;
	z-index: 3;
	display: grid;
	min-height: min(76svh, 48rem);
	align-items: center;
	border-top: 1px solid var(--av-ocean-border);
	background: radial-gradient(circle at 50% 12%, rgb(30 104 110 / 22%), transparent 52%);
}

body.av-project-media-proposal .av-standalone-search__layout {
	display: grid;
	justify-items: center;
	gap: clamp(1.5rem, 3vw, 2.25rem);
	width: min(calc(100% - var(--av-page-gutter) - var(--av-page-gutter)), 58rem);
	text-align: center;
}

body.av-project-media-proposal .av-standalone-search .av-cinematic__search-intro {
	max-width: 42rem;
}

body.av-project-media-proposal .av-catalog-cinematic {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background: var(--av-ocean-abyss);
}

body.av-project-media-proposal .av-catalog-cinematic__media {
	position: sticky;
	z-index: 0;
	top: var(--av-preview-header-height);
	height: calc(100svh - var(--av-preview-header-height));
	margin-bottom: calc(-100svh + var(--av-preview-header-height));
	overflow: hidden;
	background: var(--av-ocean-abyss);
	pointer-events: none;
}

body.av-project-media-proposal .av-catalog-cinematic__poster,
body.av-project-media-proposal .av-catalog-cinematic__poster img,
body.av-project-media-proposal .av-catalog-cinematic__end-poster,
body.av-project-media-proposal .av-catalog-cinematic__end-poster img,
body.av-project-media-proposal .av-catalog-cinematic__video,
body.av-project-media-proposal .av-catalog-cinematic__contrast {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

body.av-project-media-proposal .av-catalog-cinematic__poster {
	display: block;
}

body.av-project-media-proposal .av-catalog-cinematic__poster img,
body.av-project-media-proposal .av-catalog-cinematic__end-poster img,
body.av-project-media-proposal .av-catalog-cinematic__video {
	object-fit: cover;
	object-position: center center;
}

body.av-project-media-proposal .av-catalog-cinematic__end-poster {
	z-index: 2;
	display: block;
	opacity: var(--av-catalog-cinematic-end-opacity, 0);
}

body.av-project-media-proposal .av-catalog-cinematic__video {
	z-index: 1;
	backface-visibility: hidden;
	opacity: 0;
	transform: translateZ(0);
	transition: opacity 160ms ease-out;
}

body.av-project-media-proposal .av-catalog-cinematic[data-video-state="ready"] .av-catalog-cinematic__video {
	opacity: 1;
}

body.av-project-media-proposal .av-catalog-cinematic__contrast {
	z-index: 3;
	background:
		linear-gradient(180deg, rgb(2 18 29 / 76%) 0%, rgb(2 19 29 / 56%) 24%, rgb(2 18 29 / 64%) 72%, rgb(2 13 23 / 88%) 100%),
		linear-gradient(90deg, rgb(1 13 21 / 50%), rgb(4 33 43 / 18%) 50%, rgb(1 13 21 / 44%)),
		radial-gradient(circle at 50% 18%, rgb(8 63 73 / 18%), transparent 52%);
}

body.av-project-media-proposal .av-catalog-cinematic .av-standalone-search {
	background: radial-gradient(circle at 50% 16%, rgb(30 104 110 / 18%), transparent 54%);
}

body.av-project-media-proposal .av-catalog-cinematic .av-woo-catalog-panel {
	background: radial-gradient(circle at 50% 16%, rgb(30 104 110 / 14%), transparent 54%);
}

body.av-project-media-proposal .av-catalog-cinematic .av-woo-card {
	background: rgb(4 30 41 / 94%);
	box-shadow: 0 14px 36px rgb(0 8 13 / 18%);
}

body.av-project-media-proposal .av-catalog-cinematic .av-woo-card:hover {
	background: rgb(9 43 54 / 96%);
}

body.av-project-media-proposal .av-catalog-cinematic .av-catalog-section {
	position: relative;
	z-index: 3;
	background: transparent;
}

body.av-project-media-proposal .av-catalog-cinematic .av-catalog-section > .av-container {
	padding-block: clamp(5rem, 8vw, 8rem);
}

body.av-project-media-proposal .av-catalog-cinematic .av-item-card {
	background: rgb(4 30 41 / 94%);
	box-shadow: 0 14px 36px rgb(0 8 13 / 18%);
}

body.av-project-media-proposal .av-catalog-cinematic .av-item-card:hover {
	background: rgb(9 43 54 / 96%);
}

@media (max-width: 1023px) {
	body.av-project-media-proposal {
		--av-preview-header-height: 4rem;
	}

	body.av-project-media-proposal .av-loop-hero__copy h1 {
		font-size: clamp(2.75rem, 8vw, 4.6rem);
	}

	body.av-project-media-proposal .av-catalog-cinematic__poster img,
	body.av-project-media-proposal .av-catalog-cinematic__end-poster img,
	body.av-project-media-proposal .av-catalog-cinematic__video {
		object-position: center center;
	}
}

@media (max-width: 767px) {
	body.av-project-media-proposal .av-loop-hero {
		min-height: calc(100svh - var(--av-preview-header-height));
	}

	body.av-project-media-proposal .av-loop-hero__poster img,
	body.av-project-media-proposal .av-loop-hero__video {
		object-position: 58% center;
	}

	body.av-project-media-proposal .av-loop-hero__contrast {
		background:
			linear-gradient(180deg, rgb(1 13 21 / 54%) 0%, rgb(2 18 28 / 40%) 46%, rgb(1 13 21 / 76%) 100%),
			radial-gradient(circle at 50% 48%, rgb(2 19 29 / 28%), rgb(1 13 21 / 58%) 78%);
	}

	body.av-project-media-proposal .av-loop-hero__inner {
		padding-block: 3.5rem 3rem;
	}

	body.av-project-media-proposal .av-loop-hero__copy h1 {
		max-width: 12ch;
		font-size: clamp(2.55rem, 12.5vw, 3.45rem);
		line-height: .98;
	}

	body.av-project-media-proposal .av-loop-hero__lead {
		max-width: 31rem;
		font-size: 1rem;
		line-height: 1.55;
	}

	body.av-project-media-proposal .av-loop-hero__actions {
		display: grid;
		width: min(100%, 23rem);
		margin-inline: auto;
	}

	body.av-project-media-proposal .av-loop-hero__actions .av-button {
		width: 100%;
	}

	body.av-project-media-proposal .av-standalone-search {
		min-height: 70svh;
	}

	body.av-project-media-proposal .av-standalone-search__layout {
		justify-items: stretch;
	}

	body.av-project-media-proposal .av-catalog-cinematic__poster img,
	body.av-project-media-proposal .av-catalog-cinematic__end-poster img,
	body.av-project-media-proposal .av-catalog-cinematic__video {
		object-position: center center;
	}

	/*
	 * Telefon korzysta wyłącznie z pierwszej klatki. Sticky media zachowuje
	 * spokojne, nieruchome tło podczas przewijania panelu, ale nie pobiera ani
	 * nie dekoduje filmu i nie nakłada globalnej warstwy przyciemniającej.
	 */
	body.av-project-media-proposal .av-catalog-cinematic__video,
	body.av-project-media-proposal .av-catalog-cinematic__end-poster,
	body.av-project-media-proposal .av-catalog-cinematic__contrast {
		display: none;
	}

	body.av-project-media-proposal .av-catalog-cinematic__poster {
		opacity: 1;
		visibility: visible;
	}

	body.av-project-media-proposal .av-woo-catalog-panel__search .av-cinematic__search-intro {
		position: relative;
		z-index: 0;
		isolation: isolate;
		text-shadow: 0 2px 14px rgb(0 13 21 / 72%);
	}

	/*
	 * Lokalna strefa kontrastu pod tekstem. Miękko zanika w posterze, więc nie
	 * tworzy osobnej karty i nie przyciemnia zdjęcia pod filtrami i produktami.
	 */
	body.av-project-media-proposal .av-woo-catalog-panel__search .av-cinematic__search-intro::before {
		position: absolute;
		z-index: -1;
		inset: -1.35rem -1.5rem -1.25rem;
		background: radial-gradient(
			ellipse at center,
			rgb(1 17 27 / 48%) 0%,
			rgb(1 17 27 / 31%) 48%,
			rgb(1 17 27 / 0%) 80%
		);
		content: "";
		pointer-events: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.av-project-media-proposal .av-loop-hero__video,
	body.av-project-media-proposal .av-catalog-cinematic__video,
	body.av-project-media-proposal .av-catalog-cinematic__end-poster {
		display: none;
	}
}

@media (min-width: 1024px) {
	body.av-project-homepage .av-cinematic__hero-copy h1 span {
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	body.av-project-homepage {
		--av-page-gutter: clamp(1rem, 5.1vw, 1.25rem);
	}

	body.av-project-homepage .av-cinematic__chapter-inner {
		padding-block: 5rem 2.25rem;
	}

	body.av-project-homepage .av-cinematic__hero-copy h1 {
		max-width: none;
		font-size: clamp(2.4rem, 11.5vw, 3rem);
		line-height: 1;
		overflow-wrap: normal;
		word-break: normal;
	}

	body.av-project-homepage .av-cinematic__hero-copy h1 span {
		text-wrap: balance;
		overflow-wrap: normal;
		word-break: normal;
	}

	body.av-project-homepage .av-cinematic__lead {
		max-width: 29rem;
	}

	body.av-project-homepage .av-cinematic__search-layout {
		justify-items: stretch;
		text-align: center;
	}

	body.av-project-homepage .av-search--cinematic {
		width: 100%;
	}

	body.av-project-homepage .av-search--cinematic .av-search__control .av-button {
		width: 100%;
	}
}

@media (max-width: 519px) {
	body.av-project-homepage .av-search--cinematic .av-search__control {
		grid-template-columns: minmax(0, 1fr);
		gap: .375rem;
	}

	body.av-project-homepage .av-search--cinematic .av-search__control .av-button {
		min-height: 3.25rem;
	}

	body.av-project-homepage .av-search--cinematic .av-search-suggestions {
		top: calc(100% + .5rem);
	}
}

/* Kopia koncepcyjna /projekt-media/: wiedza, galerie i neutralne B2B. */
.av-homepage-extension {
	background: var(--av-ocean-abyss);
	color: var(--av-ocean-text);
}

.av-homepage-extension .av-section {
	position: relative;
	border-top: 1px solid var(--av-ocean-border);
	padding-block: clamp(5rem, 8vw, 8.5rem);
}

.av-homepage-extension h2,
.av-homepage-extension h3 {
	margin: 0;
	color: var(--av-ocean-text);
}

.av-homepage-extension h2 {
	font-family: var(--av-font-display);
	font-size: clamp(2.35rem, 4.4vw, 4.75rem);
	line-height: .98;
	letter-spacing: -.04em;
}

.av-homepage-extension h3,
.av-homepage-extension p,
.av-homepage-extension a,
.av-homepage-extension dt,
.av-homepage-extension dd {
	font-family: var(--av-font-interface);
}

.av-knowledge-proposal,
.av-gallery-proposal,
.av-business-proposal {
	scroll-margin-top: 5.5rem;
}

.av-extension-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .6fr);
	gap: clamp(2rem, 6vw, 7rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.75rem);
}

.av-extension-heading > p {
	max-width: 35rem;
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: 1.0625rem;
	line-height: 1.7;
}

.av-extension-heading .av-eyebrow {
	margin-bottom: .9rem;
	color: var(--av-ocean-accent-strong);
}

.av-knowledge-proposal {
	background: var(--av-ocean-deepest);
}

.av-knowledge-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: stretch;
}

.av-video-feature {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--av-ocean-border);
	border-radius: 10px;
	background: var(--av-ocean-surface);
}

.av-video-feature__media {
	position: relative;
	min-height: clamp(19rem, 34vw, 32rem);
	overflow: hidden;
	background: #061d27;
}

.av-video-feature__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(2 18 25 / 6%) 35%, rgb(2 18 25 / 74%) 100%);
	content: '';
}

.av-video-feature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 63% center;
}

.av-video-feature__play {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	width: 4rem;
	height: 4rem;
	border: 1px solid rgb(242 251 250 / 62%);
	border-radius: 50%;
	background: rgb(3 24 34 / 58%);
	transform: translate(-50%, -50%);
}

.av-video-feature__play::after {
	position: absolute;
	top: 50%;
	left: 53%;
	width: 0;
	height: 0;
	border-top: .5rem solid transparent;
	border-bottom: .5rem solid transparent;
	border-left: .78rem solid var(--av-ocean-text);
	transform: translate(-50%, -50%);
	content: '';
}

.av-concept-label {
	position: absolute;
	z-index: 3;
	right: 1rem;
	bottom: 1rem;
	border: 1px solid rgb(242 251 250 / 36%);
	padding: .45rem .7rem;
	background: rgb(3 24 34 / 76%);
	color: var(--av-ocean-text);
	font-family: var(--av-font-interface);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .04em;
}

.av-video-feature__body {
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.av-video-feature__body h3 {
	max-width: 28ch;
	font-family: var(--av-font-display);
	font-size: clamp(1.65rem, 2.6vw, 2.65rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.av-video-feature__body > p:last-child {
	max-width: 42rem;
	margin: 1rem 0 0;
	color: var(--av-ocean-text-muted);
	line-height: 1.65;
}

.av-video-meta {
	margin: 0 0 .75rem;
	color: var(--av-ocean-accent-strong);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.av-knowledge-rail {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border-top: 1px solid var(--av-ocean-border-strong);
}

.av-knowledge-note {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 1rem;
	border-bottom: 1px solid var(--av-ocean-border);
	padding-block: 1.75rem;
}

.av-knowledge-note > span {
	color: var(--av-ocean-accent);
	font-family: var(--av-font-interface);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .1em;
}

.av-knowledge-note p {
	margin: 0 0 .6rem;
	color: var(--av-ocean-text-muted);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.av-knowledge-note h3 {
	font-size: clamp(1.15rem, 1.8vw, 1.45rem);
	line-height: 1.3;
}

.av-channel-list {
	margin-top: auto;
	padding-top: 2rem;
}

.av-channel-row {
	display: grid;
	grid-template-columns: minmax(6rem, .7fr) minmax(8rem, 1fr);
	gap: .25rem 1rem;
	align-items: baseline;
	border-bottom: 1px solid var(--av-ocean-border);
	padding-block: 1rem;
}

.av-channel-row strong {
	color: var(--av-ocean-text);
	font-size: 1.1rem;
}

.av-channel-row span,
.av-channel-row small {
	color: var(--av-ocean-text-muted);
}

.av-channel-row small {
	grid-column: 2;
	font-size: .75rem;
}

.av-gallery-proposal {
	background: var(--av-ocean-depth);
}

.av-gallery-composition {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(13.5rem, 1fr));
	gap: 1rem;
}

.av-gallery-tile {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border: 1px solid var(--av-ocean-border);
	border-radius: 10px;
	background: var(--av-ocean-surface);
}

.av-gallery-tile--feature {
	grid-column: 1 / 8;
	grid-row: 1 / 3;
}

.av-gallery-tile--feature::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 38%, rgb(2 18 25 / 82%) 100%);
	content: '';
}

.av-gallery-tile--feature img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% center;
}

.av-gallery-tile--fish {
	grid-column: 8 / 13;
	grid-row: 1;
}

.av-gallery-tile--plants {
	grid-column: 8 / 10;
	grid-row: 2;
}

.av-gallery-tile--video {
	grid-column: 10 / 13;
	grid-row: 2;
}

.av-gallery-tile--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--av-ocean-surface);
}

.av-gallery-tile--placeholder::before {
	position: absolute;
	inset: 1rem;
	border: 1px solid rgb(147 226 221 / 16%);
	content: '';
}

.av-gallery-tile__icon {
	display: grid;
	width: clamp(3rem, 5vw, 4.5rem);
	height: clamp(3rem, 5vw, 4.5rem);
	place-items: center;
	color: var(--av-ocean-accent);
}

.av-gallery-tile__icon .av-icon {
	width: 100%;
	height: 100%;
	stroke-width: 1;
}

.av-gallery-tile figcaption {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 1.35rem;
	color: var(--av-ocean-text);
}

.av-gallery-tile figcaption span,
.av-gallery-tile figcaption strong {
	display: block;
}

.av-gallery-tile figcaption span {
	margin-bottom: .35rem;
	color: var(--av-ocean-text-muted);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.av-gallery-tile figcaption strong {
	font-size: clamp(1rem, 1.6vw, 1.35rem);
}

.av-gallery-routes {
	display: grid;
	grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
	margin-top: clamp(2.5rem, 5vw, 4rem);
}

.av-gallery-routes > div > p {
	margin: 0;
	color: var(--av-ocean-text-muted);
	line-height: 1.65;
}

.av-gallery-routes .av-gallery-routes__label {
	margin-bottom: .55rem;
	color: var(--av-ocean-text);
	font-weight: 600;
}

.av-gallery-routes nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--av-ocean-border-strong);
}

.av-gallery-routes a {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: .75rem;
	align-items: center;
	min-height: 4.75rem;
	border-bottom: 1px solid var(--av-ocean-border);
	padding: .75rem 1rem;
	color: var(--av-ocean-text);
	text-decoration: none;
}

.av-gallery-routes a + a {
	border-left: 1px solid var(--av-ocean-border);
}

.av-gallery-routes a:hover {
	background: var(--av-ocean-surface);
	color: var(--av-ocean-accent-strong);
}

.av-gallery-routes a:focus-visible {
	position: relative;
	z-index: 2;
	outline: 3px solid #f2b762;
	outline-offset: 3px;
}

.av-gallery-routes .av-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.av-business-proposal {
	background: #0a2b30;
}

.av-business-proposal__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .75fr);
	gap: clamp(3rem, 9vw, 9rem);
	align-items: end;
}

.av-business-proposal__copy h2 {
	max-width: 13ch;
}

.av-business-proposal__copy > p:not(.av-eyebrow) {
	max-width: 44rem;
	margin: 1.4rem 0 2rem;
	color: #c7d9d7;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.av-business-proposal .av-eyebrow {
	color: var(--av-plant-soft);
}

.av-business-decisions {
	margin: 0;
	border-top: 1px solid rgb(198 223 189 / 45%);
}

.av-business-decisions > div {
	display: grid;
	grid-template-columns: minmax(9rem, 1fr) auto;
	gap: 1rem;
	border-bottom: 1px solid var(--av-ocean-border);
	padding-block: 1.15rem;
}

.av-business-decisions dt {
	color: var(--av-ocean-text);
	font-weight: 600;
}

.av-business-decisions dd {
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: .875rem;
}

@media (max-width: 1023px) {
	.av-extension-heading,
	.av-knowledge-layout,
	.av-gallery-routes,
	.av-business-proposal__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.av-extension-heading {
		gap: 1.5rem;
	}

	.av-extension-heading > p {
		max-width: 44rem;
	}

	.av-knowledge-rail {
		border-top-color: var(--av-ocean-border-strong);
	}

	.av-channel-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.av-channel-row {
		grid-template-columns: 1fr;
		align-content: start;
		border: 1px solid var(--av-ocean-border);
		padding: 1rem;
	}

	.av-channel-row small {
		grid-column: auto;
	}

	.av-gallery-composition {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: minmax(24rem, 1.3fr) repeat(2, minmax(13rem, 1fr));
	}

	.av-gallery-tile--feature {
		grid-column: 1 / 3;
		grid-row: 1;
	}

	.av-gallery-tile--fish {
		grid-column: 1 / 3;
		grid-row: 2;
	}

	.av-gallery-tile--plants {
		grid-column: 1;
		grid-row: 3;
	}

	.av-gallery-tile--video {
		grid-column: 2;
		grid-row: 3;
	}

	.av-gallery-routes nav {
		max-width: none;
	}
}

@media (max-width: 767px) {
	.av-homepage-extension .av-section {
		padding-block: 4.5rem;
	}

	.av-homepage-extension h2 {
		font-size: clamp(2.2rem, 11vw, 3.2rem);
	}

	.av-video-feature__media {
		min-height: 18rem;
	}

	.av-video-feature__body h3 {
		font-size: 1.65rem;
	}

	.av-channel-list,
	.av-gallery-routes nav {
		grid-template-columns: minmax(0, 1fr);
	}

	.av-gallery-composition {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: 22rem repeat(3, 14rem);
	}

	.av-gallery-tile--feature,
	.av-gallery-tile--fish,
	.av-gallery-tile--plants,
	.av-gallery-tile--video {
		grid-column: 1;
	}

	.av-gallery-tile--feature { grid-row: 1; }
	.av-gallery-tile--fish { grid-row: 2; }
	.av-gallery-tile--plants { grid-row: 3; }
	.av-gallery-tile--video { grid-row: 4; }

	.av-gallery-routes a + a {
		border-left: 0;
	}

	.av-business-proposal__copy h2 {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.av-gallery-routes a {
		transition: none;
	}
}

/* Finał /projekt-media/: dokumentalna praktyka, FAQ i kontakt. */
.av-practice,
.av-faq,
.av-contact-conclusion {
	scroll-margin-top: 5.5rem;
}

.av-practice {
	overflow: clip;
	background:
		radial-gradient(circle at 12% 18%, rgb(115 209 207 / 8%), transparent 31rem),
		#061f28;
}

.av-practice__inner {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
}

.av-practice__copy {
	max-width: 46rem;
	margin-inline: auto;
	text-align: center;
}

.av-practice__copy h2 {
	max-width: 22ch;
	margin-inline: auto;
	font-size: clamp(1.75rem, 2.55vw, 2.35rem);
	font-weight: 600;
	line-height: 1.08;
	text-wrap: balance;
}

.av-practice__lead {
	max-width: 39rem;
	margin: 1rem auto 0;
	color: var(--av-ocean-text-muted);
	font-size: clamp(1rem, 1.35vw, 1.125rem);
	line-height: 1.65;
	text-wrap: pretty;
}

.av-practice__feature {
	position: relative;
	isolation: isolate;
	min-width: 0;
	margin: 0;
}

.av-practice__feature::before {
	position: absolute;
	z-index: -1;
	inset: -.8rem 3%;
	border-radius: calc(var(--av-radius-lg) + .5rem);
	background: linear-gradient(110deg, rgb(64 199 194 / 19%), rgb(17 79 92 / 7%) 48%, rgb(107 172 116 / 14%));
	content: "";
	filter: blur(1.6rem);
	pointer-events: none;
}

.av-practice__player {
	position: relative;
	overflow: hidden;
	border: 1px solid rgb(118 213 207 / 44%);
	border-radius: var(--av-radius-lg);
	background: var(--av-ocean-deepest);
	box-shadow:
		0 1.6rem 4rem rgb(1 13 20 / 38%),
		0 0 2.75rem rgb(53 185 181 / 12%);
}

.av-practice__player::after {
	position: absolute;
	z-index: 3;
	inset: 0;
	border-radius: inherit;
	box-shadow:
		inset 0 1px 0 rgb(220 255 250 / 42%),
		inset 1px 0 0 rgb(73 205 199 / 18%),
		inset -1px 0 0 rgb(107 170 119 / 16%),
		inset 0 -1px 0 rgb(1 16 23 / 72%);
	content: "";
	pointer-events: none;
}

.av-practice__video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	background: var(--av-ocean-deepest);
	object-fit: cover;
}

.av-practice__play {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: .75rem;
	background: linear-gradient(180deg, rgb(2 18 25 / 5%), rgb(2 18 25 / 35%));
	color: var(--av-ocean-text);
	font-size: .84rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 160ms ease, opacity 160ms ease;
}

.av-practice__play:hover {
	background-color: rgb(3 31 42 / 16%);
}

.av-practice__play:focus-visible {
	outline: 3px solid var(--av-ocean-accent-strong);
	outline-offset: -5px;
}

.av-practice__play-icon {
	position: relative;
	display: grid;
	width: 6rem;
	height: 6rem;
	place-items: center;
	border: 1px solid rgb(238 252 252 / 90%);
	border-radius: 50%;
	background: rgb(3 24 34 / 76%);
	box-shadow:
		0 0 0 .45rem rgb(3 24 34 / 24%),
		0 .85rem 2rem rgb(1 12 18 / 38%);
	backdrop-filter: blur(6px);
	transition: transform 160ms ease, background-color 160ms ease;
}

.av-practice__play-icon::before {
	position: absolute;
	inset: -.78rem;
	border: 1px solid rgb(166 235 226 / 38%);
	border-radius: 50%;
	content: "";
}

.av-practice__play-icon .av-icon {
	width: 1.75rem;
	height: 1.75rem;
	margin-left: .15rem;
}

.av-practice__play:hover .av-practice__play-icon {
	background: rgb(9 73 83 / 82%);
	transform: scale(1.04);
}

.av-practice__feature.is-loading .av-practice__play {
	cursor: progress;
}

.av-practice__feature.is-playing .av-practice__play {
	opacity: 0;
	pointer-events: none;
}

.av-practice__caption {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
	align-items: end;
	padding-top: 1rem;
}

.av-practice__caption span,
.av-practice__caption strong {
	display: block;
}

.av-practice__caption span {
	margin-bottom: .25rem;
	color: var(--av-ocean-accent-strong);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.av-practice__caption strong {
	color: var(--av-ocean-text);
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	font-weight: 600;
}

.av-practice__caption > a {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: .55rem;
	color: var(--av-ocean-text);
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
}

.av-practice__caption > a:hover {
	color: var(--av-ocean-accent-strong);
}

.av-practice__caption > a:focus-visible {
	outline: 3px solid var(--av-ocean-accent-strong);
	outline-offset: 4px;
}

.av-practice__caption .av-icon {
	width: 1rem;
	height: 1rem;
}

.av-faq {
	background: var(--av-ocean-abyss);
}

.av-faq__layout {
	display: grid;
	grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start;
}

.av-faq__intro h2 {
	max-width: 12ch;
	font-size: clamp(2.75rem, 4vw, 4rem);
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
	text-wrap: balance;
}

.av-faq__intro > p:last-child {
	max-width: 28rem;
	margin: 1.35rem 0 0;
	color: var(--av-ocean-text-muted);
	font-size: 1rem;
	line-height: 1.65;
	text-wrap: pretty;
}

.av-faq__list {
	border-top: 1px solid var(--av-ocean-border-strong);
}

.av-faq__item {
	border-bottom: 1px solid var(--av-ocean-border);
}

.av-faq__item summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 2.75rem;
	gap: 1.25rem;
	align-items: center;
	min-height: 5rem;
	padding-block: 1rem;
	color: var(--av-ocean-text);
	font-family: var(--av-font-interface);
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
	touch-action: manipulation;
}

.av-faq__item summary::-webkit-details-marker {
	display: none;
}

.av-faq__item summary:hover {
	color: var(--av-ocean-accent-strong);
}

.av-faq__item summary:focus-visible {
	border-radius: 2px;
	outline: 3px solid #f2b762;
	outline-offset: 4px;
}

.av-faq__icon {
	position: relative;
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	border: 1px solid var(--av-ocean-border-strong);
	border-radius: 50%;
	transition: border-color 160ms ease, transform 180ms ease;
}

.av-faq__icon::before,
.av-faq__icon::after {
	position: absolute;
	width: .9rem;
	height: 1px;
	background: currentColor;
	content: '';
}

.av-faq__icon::after {
	transform: rotate(90deg);
}

.av-faq__item[open] .av-faq__icon {
	border-color: var(--av-ocean-accent-strong);
	transform: rotate(45deg);
}

.av-faq__answer {
	padding: 0 4rem 1.5rem 0;
}

.av-faq__answer p {
	max-width: 44rem;
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: .975rem;
	line-height: 1.7;
	text-wrap: pretty;
}

body.av-project-media-proposal .av-contact-conclusion {
	position: relative;
	overflow: clip;
	padding-block: clamp(4.5rem, 7vw, 6.5rem);
	background:
		radial-gradient(circle at 88% 18%, rgb(64 199 194 / 8%), transparent 24rem),
		linear-gradient(110deg, rgb(9 52 58 / 98%), rgb(4 31 40 / 98%)),
		#082f36;
}

body.av-project-media-proposal .av-contact-conclusion::before {
	position: absolute;
	top: 0;
	right: 0;
	width: min(42vw, 38rem);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--av-ocean-accent-strong));
	content: '';
}

.av-contact-conclusion__layout {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(28rem, 1.15fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: start;
}

body.av-project-media-proposal .av-contact-conclusion h2 {
	max-width: 12ch;
	margin-bottom: 1.25rem;
	font-size: clamp(2.65rem, 4vw, 4.35rem);
	line-height: 1;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.av-contact-conclusion__lead {
	max-width: 36rem;
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: 1.025rem;
	line-height: 1.7;
	text-wrap: pretty;
}

.av-contact-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 2rem;
	margin: 2.5rem 0 0;
}

.av-contact-detail {
	min-width: 0;
	padding-block: 1.15rem;
	border-top: 1px solid rgb(145 220 215 / 24%);
}

.av-contact-detail--wide {
	grid-column: 1 / -1;
}

.av-contact-detail dt {
	margin-bottom: .45rem;
	color: var(--av-ocean-accent-strong);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.av-contact-detail dd,
.av-contact-detail address {
	margin: 0;
	color: var(--av-ocean-text);
	font-size: 1rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.55;
}

.av-contact-detail a {
	color: var(--av-ocean-text);
	font-size: clamp(1.35rem, 2.1vw, 1.75rem);
	font-weight: 600;
	text-decoration-color: rgb(108 222 215 / 50%);
	text-underline-offset: .2em;
}

.av-contact-detail a:hover {
	color: var(--av-ocean-accent-strong);
}

.av-contact-detail a:focus-visible {
	border-radius: 2px;
	outline: 3px solid #f2b762;
	outline-offset: 4px;
}

.av-contact-detail__pending {
	color: var(--av-ocean-text-muted);
	font-weight: 400;
}

.av-contact-hours {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem 1.5rem;
}

.av-contact-hours span {
	display: inline-flex;
	gap: .45rem;
}

.av-contact-hours strong {
	font-weight: 600;
}

.av-contact-form-preview {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid rgb(145 220 215 / 26%);
	border-radius: var(--av-radius-lg);
	background: rgb(3 28 37 / 72%);
	box-shadow: 0 1.5rem 4rem rgb(1 13 20 / 20%);
}

.av-contact-form-preview__heading {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: start;
}

.av-contact-form-preview__heading h3 {
	margin: 0;
	color: var(--av-ocean-text);
	font-family: var(--av-font-display);
	font-size: clamp(1.65rem, 2.5vw, 2.15rem);
	font-weight: 600;
}

.av-contact-form-preview__heading > span {
	padding: .4rem .55rem;
	border: 1px solid rgb(145 220 215 / 28%);
	border-radius: 999px;
	color: var(--av-ocean-accent-strong);
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .06em;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.av-contact-form-preview > p {
	max-width: 39rem;
	margin: .8rem 0 1.75rem;
	color: var(--av-ocean-text-muted);
	font-size: .9rem;
	line-height: 1.6;
}

.av-contact-form-preview__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.av-contact-form-preview label {
	display: grid;
	gap: .5rem;
	color: var(--av-ocean-text);
	font-size: .85rem;
	font-weight: 600;
}

.av-contact-form-preview__message {
	grid-column: 1 / -1;
}

.av-contact-form-preview input,
.av-contact-form-preview textarea {
	width: 100%;
	min-height: 3.25rem;
	padding: .8rem .9rem;
	border: 1px solid rgb(145 220 215 / 38%);
	border-radius: var(--av-radius-sm);
	background: rgb(238 251 250 / 96%);
	color: #082f49;
	font: inherit;
	font-weight: 400;
	line-height: 1.4;
	resize: vertical;
}

.av-contact-form-preview textarea {
	min-height: 8rem;
}

.av-contact-form-preview input:disabled,
.av-contact-form-preview textarea:disabled {
	opacity: 1;
}

.av-contact-form-preview input::placeholder,
.av-contact-form-preview textarea::placeholder {
	color: #526a73;
	opacity: 1;
}

.av-contact-form-preview > .av-button {
	margin-top: 1rem;
}

.av-contact-form-preview > .av-button:disabled {
	cursor: not-allowed;
	opacity: .62;
}

.av-contact-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	align-items: center;
	justify-content: flex-end;
}

body.av-project-media-proposal .av-contact-conclusion .av-button--secondary {
	border-color: rgb(242 251 250 / 54%);
	color: var(--av-ocean-text);
}

body.av-project-media-proposal .av-contact-conclusion .av-button--secondary:hover {
	border-color: var(--av-ocean-text);
	background: rgb(242 251 250 / 8%);
}

.av-tail-reveal {
	opacity: 1;
	transform: none;
}

body.av-tail-reveal-ready .av-tail-reveal:not(.is-visible) {
	opacity: 0;
	transform: translateY(1rem);
}

body.av-tail-reveal-ready .av-tail-reveal {
	transition: opacity 440ms cubic-bezier(.22, 1, .36, 1), transform 440ms cubic-bezier(.22, 1, .36, 1);
}

@media (min-width: 1024px) {
	.av-faq__intro {
		position: sticky;
		top: 8rem;
	}
}

@media (max-width: 1023px) {
	.av-faq__intro h2 {
		max-width: 13ch;
	}

	.av-faq__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}

	.av-contact-conclusion__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 3rem;
	}

	.av-contact-band__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.av-practice,
	.av-faq {
		padding-block: 4.5rem;
	}

	.av-practice__inner {
		gap: 2rem;
	}

	.av-faq__intro h2 {
		max-width: none;
		font-size: clamp(2.35rem, 12vw, 3.25rem);
	}

	.av-practice__lead {
		margin-top: .85rem;
	}

	.av-practice__player {
		border-radius: var(--av-radius-md);
	}

	.av-practice__play-icon {
		width: 4.75rem;
		height: 4.75rem;
	}

	.av-practice__caption {
		align-items: start;
		flex-direction: column;
		gap: .35rem;
	}

	.av-practice__caption > a {
		min-height: 2.75rem;
	}

	.av-faq__item summary {
		grid-template-columns: minmax(0, 1fr) 2.75rem;
		gap: .75rem;
		min-height: 4.75rem;
	}

	.av-faq__answer {
		padding-right: 0;
	}

	body.av-project-media-proposal .av-contact-conclusion {
		padding-block: 4.5rem;
	}

	body.av-project-media-proposal .av-contact-conclusion h2 {
		font-size: clamp(2.5rem, 12vw, 3.45rem);
	}

	.av-contact-details,
	.av-contact-form-preview__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.av-contact-detail--wide,
	.av-contact-form-preview__message {
		grid-column: auto;
	}

	.av-contact-form-preview__heading {
		align-items: start;
		flex-direction: column;
	}

	.av-contact-form-preview__heading > span {
		text-align: left;
	}

	.av-contact-form-preview > .av-button {
		width: 100%;
		justify-content: center;
	}

	.av-contact-band__actions,
	.av-contact-band__actions .av-button {
		width: 100%;
	}

	.av-contact-band__actions .av-button {
		justify-content: center;
	}
}

@media (min-width: 768px) {
	.av-practice__copy h2 {
		max-width: 18ch;
		font-size: clamp(2.4rem, 3.25vw, 3.05rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.av-tail-reveal-ready .av-tail-reveal,
	body.av-tail-reveal-ready .av-tail-reveal:not(.is-visible) {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.av-practice__play,
	.av-practice__play-icon {
		transition: none;
	}

	.av-faq__icon {
		transition: none;
	}
}

/* TikTok reels: lekkie pionowe kadry, pełny odtwarzacz dopiero po kliknięciu. */
/* Category shelves: native WooCommerce discovery directly above search. */
body.av-project-media-proposal .av-category-shelves {
	position: relative;
	z-index: 3;
	border-top: 1px solid var(--av-ocean-border);
	background:
		linear-gradient(180deg, rgb(2 18 29 / 74%) 0%, rgb(3 25 36 / 56%) 48%, rgb(2 18 29 / 76%) 100%),
		radial-gradient(circle at 82% 10%, rgb(35 119 118 / 14%), transparent 44%);
}

body.av-project-media-proposal .av-category-shelves > .av-container {
	padding-block: clamp(4rem, 6.5vw, 7rem);
}

body.av-project-media-proposal .av-category-shelves__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .75fr);
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: end;
	margin-bottom: clamp(3.25rem, 6vw, 5.75rem);
}

body.av-project-media-proposal .av-category-shelves__intro h2 {
	max-width: 15ch;
	margin: .45rem 0 0;
	font-family: var(--av-font-display);
	font-size: clamp(2.6rem, 5vw, 5.25rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: .98;
	text-wrap: balance;
}

body.av-project-media-proposal .av-category-shelves__intro > p:last-child {
	max-width: 37rem;
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: clamp(1rem, 1.25vw, 1.12rem);
	line-height: 1.65;
}

body.av-project-media-proposal .av-category-shelves__list {
	display: grid;
	gap: 0;
	border-bottom: 1px solid rgb(200 235 232 / 24%);
}

body.av-project-media-proposal .av-category-shelf {
	min-width: 0;
	padding: 0;
	border-top: 1px solid rgb(200 235 232 / 24%);
	content-visibility: visible;
}

body.av-project-media-proposal .av-category-shelf__header {
	display: block;
	margin: 0;
}

body.av-project-media-proposal .av-category-shelf__header h3 {
	width: 100%;
	margin: 0;
}

body.av-project-media-proposal .av-category-shelf__toggle {
	display: flex;
	width: 100%;
	min-height: clamp(6rem, 8vw, 7.6rem);
	gap: clamp(1rem, 3vw, 2.5rem);
	align-items: center;
	justify-content: space-between;
	padding: clamp(1.2rem, 2vw, 1.75rem) 0;
	border: 0;
	background: transparent;
	color: var(--av-ocean-text);
	cursor: pointer;
	font: inherit;
	text-align: left;
	touch-action: manipulation;
	transition: background-color 180ms ease, color 180ms ease;
}

body.av-project-media-proposal .av-category-shelf__toggle:disabled {
	cursor: default;
}

body.av-project-media-proposal .av-category-shelf__toggle:disabled .av-category-shelf__toggle-cue {
	display: none;
}

@media (hover: hover) {
	body.av-project-media-proposal .av-category-shelf__toggle:hover:not(:disabled) {
		background: linear-gradient(90deg, rgb(20 84 87 / 14%), transparent 70%);
	}
}

body.av-project-media-proposal .av-category-shelf__title {
	display: flex;
	min-width: 0;
	gap: clamp(.75rem, 1.5vw, 1.15rem);
	align-items: baseline;
}

body.av-project-media-proposal .av-category-shelf__index {
	flex: 0 0 auto;
	color: var(--av-ocean-accent);
	font-family: var(--av-font-interface);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .13em;
}

body.av-project-media-proposal .av-category-shelf__name {
	color: var(--av-ocean-text);
	font-family: var(--av-font-display);
	font-size: clamp(2rem, 3.1vw, 3.45rem);
	font-weight: 600;
	letter-spacing: -.035em;
	line-height: 1;
	overflow-wrap: anywhere;
}

body.av-project-media-proposal .av-category-shelf__toggle-cue {
	display: flex;
	flex: 0 0 auto;
	gap: .85rem;
	align-items: center;
	color: var(--av-ocean-text-muted);
	font-family: var(--av-font-interface);
	font-size: .84rem;
	font-weight: 600;
	letter-spacing: .01em;
}

body.av-project-media-proposal .av-category-shelf__toggle-icon {
	position: relative;
	display: grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	place-items: center;
	border: 1px solid rgb(222 244 242 / 42%);
	border-radius: 50%;
	background: rgb(2 20 29 / 36%);
	transition: border-color 180ms ease, background-color 180ms ease;
}

body.av-project-media-proposal .av-category-shelf__toggle-icon::before,
body.av-project-media-proposal .av-category-shelf__toggle-icon::after {
	position: absolute;
	width: 14px;
	height: 1.5px;
	background: currentColor;
	content: "";
	transition: transform 180ms ease, opacity 180ms ease;
}

body.av-project-media-proposal .av-category-shelf__toggle-icon::after {
	transform: rotate(90deg);
}

body.av-project-media-proposal .av-category-shelf.is-open .av-category-shelf__toggle-cue {
	color: var(--av-ocean-accent);
}

body.av-project-media-proposal .av-category-shelf.is-open .av-category-shelf__toggle-icon {
	border-color: rgb(145 216 210 / 66%);
	background: rgb(16 74 80 / 46%);
}

body.av-project-media-proposal .av-category-shelf.is-open .av-category-shelf__toggle-icon::after {
	opacity: 0;
	transform: rotate(90deg) scaleX(0);
}

html.av-category-accordion-ready body.av-project-media-proposal .av-category-shelf__panel {
	display: block;
}

html.av-category-accordion-ready body.av-project-media-proposal .av-category-shelf__panel[aria-hidden="true"] {
	display: none;
}

html.av-category-accordion-ready body.av-project-media-proposal .av-category-shelf__panel-inner {
	min-height: 0;
	animation: av-category-shelf-reveal 240ms cubic-bezier(.22, .75, .25, 1) both;
}

@keyframes av-category-shelf-reveal {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.av-project-media-proposal .av-category-shelf__actions,
body.av-project-media-proposal .av-category-shelf__controls {
	display: flex;
	flex: 0 0 auto;
	gap: .65rem;
	align-items: center;
}

body.av-project-media-proposal .av-category-shelf__actions {
	justify-content: flex-end;
	margin-bottom: clamp(1rem, 1.8vw, 1.4rem);
}

body.av-project-media-proposal .av-category-shelf__all,
body.av-project-media-proposal .av-category-product-card__link {
	display: inline-flex;
	min-height: 44px;
	gap: .55rem;
	align-items: center;
	color: var(--av-ocean-text);
	font-size: .88rem;
	font-weight: 600;
	text-decoration: none;
	text-underline-offset: .2em;
}

body.av-project-media-proposal .av-category-shelf__all:hover,
body.av-project-media-proposal .av-category-product-card__link:hover {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: var(--av-ocean-accent);
}

body.av-project-media-proposal .av-category-shelf__all .av-icon,
body.av-project-media-proposal .av-category-product-card__link .av-icon {
	width: 1rem;
	height: 1rem;
	color: var(--av-ocean-accent);
	transition: transform 160ms ease;
}

body.av-project-media-proposal .av-category-shelf__all:hover .av-icon,
body.av-project-media-proposal .av-category-product-card__link:hover .av-icon {
	transform: translateX(3px);
}

body.av-project-media-proposal .av-category-shelf__control {
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 1px solid rgb(222 244 242 / 42%);
	border-radius: 50%;
	background: rgb(2 20 29 / 44%);
	color: var(--av-ocean-text);
	cursor: pointer;
	touch-action: manipulation;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

body.av-project-media-proposal .av-category-shelf__control[hidden] {
	display: none;
}

body.av-project-media-proposal .av-category-shelf__control:hover:not(:disabled) {
	border-color: rgb(222 244 242 / 88%);
	background: rgb(16 74 80 / 64%);
	color: #fff;
}

body.av-project-media-proposal .av-category-shelf__control:disabled {
	opacity: .34;
	cursor: not-allowed;
}

body.av-project-media-proposal .av-category-shelf__control .av-icon {
	width: 1.1rem;
	height: 1.1rem;
}

body.av-project-media-proposal .av-category-shelf__viewport {
	min-width: 0;
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
	overflow-x: auto;
	overflow-y: hidden;
	padding: .15rem .15rem .75rem;
	scroll-behavior: smooth;
	scroll-padding-inline: .15rem;
	scroll-snap-type: x proximity;
	scrollbar-color: rgb(145 216 210 / 48%) transparent;
	scrollbar-width: thin;
}

body.av-project-media-proposal .av-category-shelf__track {
	display: grid;
	width: 100%;
	min-width: 100%;
	grid-auto-columns: minmax(13.5rem, calc((100% - 4.5rem) / 4));
	grid-auto-flow: column;
	gap: clamp(1rem, 1.55vw, 1.5rem);
}

body.av-project-media-proposal .av-category-product-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgb(200 235 232 / 24%);
	border-radius: 8px;
	background: rgb(3 25 36 / 90%);
	box-shadow: 0 18px 40px rgb(0 9 15 / 16%);
	scroll-snap-align: start;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

@media (hover: hover) {
	body.av-project-media-proposal .av-category-product-card:hover {
		border-color: rgb(160 229 223 / 58%);
		background: rgb(7 39 49 / 94%);
		transform: translateY(-3px);
	}
}

body.av-project-media-proposal .av-category-product-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #dfe8e4;
}

body.av-project-media-proposal .av-category-product-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

@media (hover: hover) {
	body.av-project-media-proposal .av-category-product-card:hover .av-category-product-card__media img {
		transform: scale(1.018);
	}
}

body.av-project-media-proposal .av-category-product-card__media-note {
	position: absolute;
	right: .6rem;
	bottom: .6rem;
	max-width: calc(100% - 1.2rem);
	padding: .3rem .45rem;
	border: 1px solid rgb(225 246 245 / 32%);
	border-radius: 4px;
	background: rgb(2 20 29 / 84%);
	color: #f2fbfa;
	font-size: .65rem;
	font-weight: 600;
	line-height: 1.2;
}

body.av-project-media-proposal .av-category-product-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	gap: .5rem;
	place-items: center;
	align-content: center;
	color: #385f63;
	font-size: .84rem;
}

body.av-project-media-proposal .av-category-product-card__placeholder .av-icon {
	width: 2rem;
	height: 2rem;
}

body.av-project-media-proposal .av-category-product-card__body {
	display: flex;
	min-height: 8.9rem;
	flex: 1;
	flex-direction: column;
	padding: 1.05rem 1rem .9rem;
}

body.av-project-media-proposal .av-category-product-card h4 {
	margin: 0;
	font-family: var(--av-font-interface);
	font-size: clamp(1rem, 1.15vw, 1.13rem);
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

body.av-project-media-proposal .av-category-product-card h4 a {
	color: var(--av-ocean-text);
	text-decoration: none;
}

body.av-project-media-proposal .av-category-product-card h4 a:hover {
	text-decoration: underline;
	text-decoration-color: var(--av-ocean-accent);
	text-underline-offset: .18em;
}

body.av-project-media-proposal .av-category-product-card__link {
	margin-top: auto;
	color: var(--av-ocean-text-muted);
}

body.av-project-media-proposal .av-category-shelf__empty {
	display: flex;
	min-height: 6rem;
	gap: 1rem 2rem;
	align-items: center;
	justify-content: space-between;
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
	padding: 1.25rem 1.4rem;
	border: 1px solid rgb(200 235 232 / 18%);
	border-radius: 7px;
	background: rgb(3 25 36 / 52%);
}

body.av-project-media-proposal .av-category-shelf__empty p {
	margin: 0;
	color: var(--av-ocean-text-muted);
}

body.av-project-media-proposal .av-category-shelf__empty a {
	display: inline-flex;
	min-height: 44px;
	flex: 0 0 auto;
	align-items: center;
	color: var(--av-ocean-accent);
	font-weight: 600;
}

body.av-project-media-proposal .av-woo-catalog-panel__results-anchor {
	display: block;
	scroll-margin-top: calc(var(--av-preview-header-height) + 1rem);
}

body.av-project-media-proposal .av-category-shelf__control:focus-visible,
body.av-project-media-proposal .av-category-shelf__all:focus-visible,
body.av-project-media-proposal .av-category-product-card a:focus-visible,
body.av-project-media-proposal .av-category-shelf__viewport:focus-visible,
body.av-project-media-proposal .av-category-shelf__toggle:focus-visible {
	outline: 3px solid #f2b762;
	outline-offset: 4px;
}

@media (max-width: 1023px) {
	body.av-project-media-proposal .av-category-shelves__intro {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	body.av-project-media-proposal .av-category-shelves__intro > p:last-child {
		max-width: 42rem;
	}

	body.av-project-media-proposal .av-category-shelf__track {
		grid-auto-columns: minmax(13rem, 42vw);
	}
}

@media (max-width: 639px) {
	body.av-project-media-proposal .av-category-shelves {
		background:
			linear-gradient(180deg, rgb(2 18 29 / 54%) 0%, rgb(2 18 29 / 38%) 46%, rgb(2 18 29 / 58%) 100%),
			radial-gradient(circle at 50% 12%, rgb(1 17 27 / 36%), transparent 42%);
	}

	body.av-project-media-proposal .av-category-shelves > .av-container {
		padding-block: 3.5rem 4rem;
	}

	body.av-project-media-proposal .av-category-shelves__intro {
		margin-bottom: 3rem;
	}

	body.av-project-media-proposal .av-category-shelves__intro h2 {
		font-size: clamp(2.45rem, 12vw, 3.3rem);
	}

	body.av-project-media-proposal .av-category-shelf__actions {
		width: 100%;
		justify-content: space-between;
	}

	body.av-project-media-proposal .av-category-shelf__toggle {
		min-height: 5.25rem;
		gap: .75rem;
		padding-block: 1.1rem;
	}

	body.av-project-media-proposal .av-category-shelf__title {
		gap: .65rem;
	}

	body.av-project-media-proposal .av-category-shelf__name {
		font-size: clamp(1.5rem, 7.4vw, 2.05rem);
		line-height: 1.05;
	}

	body.av-project-media-proposal .av-category-shelf__toggle-cue {
		width: 5.75rem;
		gap: .35rem;
		align-items: flex-end;
		flex-direction: column-reverse;
		font-size: .7rem;
		line-height: 1.15;
		text-align: right;
	}

	body.av-project-media-proposal .av-category-shelf__toggle-icon {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}

	body.av-project-media-proposal .av-category-shelf__viewport {
		margin-inline: calc(-1 * var(--av-page-gutter));
		padding-inline: var(--av-page-gutter);
		scroll-padding-inline: var(--av-page-gutter);
	}

	body.av-project-media-proposal .av-category-shelf__track {
		grid-auto-columns: minmax(14.5rem, 76vw);
	}

	body.av-project-media-proposal .av-category-shelf__empty {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.av-project-media-proposal .av-category-shelf__viewport {
		scroll-behavior: auto;
	}

	body.av-project-media-proposal .av-category-product-card,
	body.av-project-media-proposal .av-category-product-card__media img,
	body.av-project-media-proposal .av-category-shelf__all .av-icon,
	body.av-project-media-proposal .av-category-product-card__link .av-icon,
	body.av-project-media-proposal .av-category-shelf__toggle,
	body.av-project-media-proposal .av-category-shelf__toggle-icon,
	body.av-project-media-proposal .av-category-shelf__toggle-icon::before,
	body.av-project-media-proposal .av-category-shelf__toggle-icon::after,
	html.av-category-accordion-ready body.av-project-media-proposal .av-category-shelf__panel-inner {
		transition: none;
		animation: none;
	}
}

.av-reels-layout {
	display: grid;
	gap: clamp(2.25rem, 4vw, 3.5rem);
}

.av-reels-intro {
	width: min(100%, 50rem);
	margin-inline: auto;
	text-align: center;
}

.av-reels-intro h2 {
	max-width: none;
}

.av-reels-intro__lead {
	max-width: 42rem;
	margin: 1.25rem auto 0;
	color: var(--av-ocean-text-muted);
	font-size: clamp(1rem, 1.4vw, 1.125rem);
	line-height: 1.7;
}

.av-reels-stage {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 56rem) 3.25rem;
	gap: clamp(.85rem, 2vw, 1.5rem);
	align-items: center;
	justify-content: center;
}

.av-reels-control {
	display: grid;
	width: 3rem;
	height: 3rem;
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid rgb(244 251 250 / 78%);
	border-radius: 50%;
	background: rgb(2 21 29 / 26%);
	color: #f4fbfa;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.av-reels-control .av-icon {
	width: 1.15rem;
	height: 1.15rem;
}

.av-reels-control:hover:not(:disabled) {
	border-color: #fff;
	background: rgb(244 251 250 / 12%);
	color: #fff;
}

.av-reels-control:active:not(:disabled) {
	transform: scale(.96);
}

.av-reels-control:focus-visible,
.av-reel-card__play:focus-visible,
.av-reels-profile-link:focus-visible,
.av-reel-card__external:focus-visible,
.av-reel-modal__close:focus-visible,
.av-reel-modal__external:focus-visible,
.av-reels-track:focus-visible {
	outline: 3px solid #f2b762;
	outline-offset: 4px;
}

.av-reels-control:disabled {
	opacity: .38;
	cursor: not-allowed;
}

.av-reels-status {
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.35;
}

.av-reels-footer {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
	align-items: center;
	min-height: 2.75rem;
}

.av-reels-footer::before {
	width: 2rem;
	height: 1px;
	background: var(--av-ocean-border-strong);
	content: '';
}

.av-reels-profile-link {
	display: inline-flex;
	gap: .65rem;
	align-items: center;
	min-height: 2.75rem;
	margin: 0;
	color: var(--av-ocean-text);
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
}

.av-reels-profile-link:hover {
	color: var(--av-ocean-accent-strong);
}

.av-reels-profile-link .av-icon,
.av-reel-card__external .av-icon {
	width: 1rem;
	height: 1rem;
}

.av-reels-viewport {
	width: 100%;
	min-width: 0;
}

.av-reels-track {
	--av-reels-gap: clamp(1rem, 2vw, 1.5rem);
	display: flex;
	gap: var(--av-reels-gap);
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
}

.av-reels-track::-webkit-scrollbar {
	display: none;
}

.av-reel-card {
	min-width: 0;
	flex: 0 0 calc((100% - var(--av-reels-gap) - var(--av-reels-gap)) / 3);
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.av-reel-card__heading {
	display: grid;
	grid-template-columns: 1.7rem minmax(0, 1fr);
	gap: .65rem;
	align-items: baseline;
	min-height: 3.7rem;
	margin-bottom: .9rem;
}

.av-reel-card__heading > span {
	color: var(--av-ocean-accent-strong);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
}

.av-reel-card__heading h3 {
	max-width: 16ch;
	margin: 0;
	font-family: var(--av-font-display);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1.04;
	letter-spacing: -.025em;
}

@media (min-width: 1024px) {
	.av-reel-card__heading h3 {
		font-size: clamp(1.15rem, 1.35vw, 1.35rem);
		font-weight: 600;
		line-height: 1.12;
	}

	.av-reels-layout[data-no-overflow] .av-reels-control {
		visibility: hidden;
	}
}

.av-reel-card__frame {
	position: relative;
	isolation: isolate;
	width: 100%;
	overflow: hidden;
	border: 1px solid rgb(147 226 221 / 26%);
	border-radius: 16px;
	aspect-ratio: 9 / 16;
	background: #031923;
	box-shadow: 0 28px 70px rgb(0 7 12 / 32%);
	transition: border-color 180ms ease, transform 180ms ease;
}

.av-reel-card__frame::before {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	left: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--av-ocean-accent-strong) 28%, var(--av-ocean-accent) 72%, transparent);
	content: '';
}

.av-reel-card[data-active] .av-reel-card__frame {
	border-color: rgb(147 226 221 / 50%);
}

.av-reel-card__poster,
.av-reel-card__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.av-reel-card__poster {
	z-index: 0;
	object-fit: cover;
}

.av-reel-card__shade {
	z-index: 1;
	background:
		linear-gradient(180deg, rgb(1 11 17 / 50%) 0%, transparent 30%, transparent 55%, rgb(1 10 16 / 88%) 100%),
		linear-gradient(90deg, rgb(1 12 18 / 20%), transparent 48%, rgb(1 12 18 / 14%));
}

.av-reel-card__meta,
.av-reel-card__play {
	position: absolute;
	z-index: 2;
}

.av-reel-card__meta {
	display: flex;
	top: 1.2rem;
	right: 1.2rem;
	left: 1.2rem;
	justify-content: space-between;
	color: rgb(242 251 250 / 88%);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.av-reel-card__play {
	display: grid;
	inset: 0;
	gap: .65rem;
	place-content: center;
	justify-items: center;
	border: 0;
	padding: .5rem;
	background: transparent;
	color: #f4fbfa;
	cursor: pointer;
}

.av-reel-card__play > span {
	position: relative;
	display: block;
	width: 4.25rem;
	height: 4.25rem;
	border: 1px solid rgb(244 251 250 / 72%);
	border-radius: 50%;
	background: rgb(2 21 29 / 72%);
	box-shadow: 0 12px 34px rgb(0 6 10 / 28%);
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.av-reel-card__play > span::after {
	position: absolute;
	top: 50%;
	left: 53%;
	width: 0;
	height: 0;
	border-top: .52rem solid transparent;
	border-bottom: .52rem solid transparent;
	border-left: .82rem solid currentcolor;
	transform: translate(-50%, -50%);
	content: '';
}

.av-reel-card__play strong {
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.av-reel-card__play:hover > span {
	border-color: var(--av-ocean-accent-strong);
	background: rgb(4 45 54 / 88%);
	transform: scale(1.04);
}

.av-reel-card__external {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 3.25rem;
	border-bottom: 1px solid var(--av-ocean-border);
	padding-inline: .25rem;
	color: var(--av-ocean-text-muted);
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 160ms ease, color 160ms ease;
}

.av-reel-card__external:hover {
	border-color: var(--av-ocean-accent);
	color: var(--av-ocean-accent-strong);
}

.av-reel-modal[hidden] {
	display: none;
}

.av-reel-modal {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1rem;
	opacity: 0;
	transition: opacity 160ms ease;
}

.av-reel-modal.is-open {
	opacity: 1;
}

.av-reel-modal__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	background: rgb(0 10 15 / 90%);
	cursor: pointer;
}

.av-reel-modal__dialog {
	position: relative;
	z-index: 1;
	display: flex;
	width: min(28rem, 43dvh, calc(100vw - 2rem));
	max-height: calc(100dvh - 2rem);
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgb(147 226 221 / 42%);
	border-radius: 16px;
	background: #021821;
	box-shadow: 0 32px 96px rgb(0 4 8 / 62%);
	transform: translateY(.75rem) scale(.985);
	transition: transform 180ms ease;
}

.av-reel-modal.is-open .av-reel-modal__dialog {
	transform: none;
}

.av-reel-modal__header {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
	min-height: 4.25rem;
	padding: .65rem .65rem .65rem 1rem;
	background: #031f29;
}

.av-reel-modal__header > div {
	min-width: 0;
}

.av-reel-modal__header span {
	display: block;
	margin-bottom: .15rem;
	color: var(--av-ocean-accent-strong);
	font-size: .625rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.av-reel-modal__header h3 {
	overflow: hidden;
	margin: 0;
	color: var(--av-ocean-text);
	font-family: var(--av-font-display);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.15;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.av-reel-modal__close {
	display: grid;
	width: 3rem;
	height: 3rem;
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid rgb(244 251 250 / 72%);
	border-radius: 50%;
	background: transparent;
	color: #f4fbfa;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.av-reel-modal__close:hover {
	border-color: #fff;
	background: rgb(244 251 250 / 12%);
}

.av-reel-modal__close:active {
	transform: scale(.96);
}

.av-reel-modal__close .av-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.av-reel-modal__media {
	position: relative;
	width: 100%;
	flex: 0 1 auto;
	border-block: 1px solid rgb(147 226 221 / 18%);
	aspect-ratio: 9 / 16;
	background:
		radial-gradient(circle at 50% 32%, rgb(39 178 174 / 10%), transparent 42%),
		#010d13;
}

.av-reel-modal__player {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #010d13;
}

.av-reel-modal__footer {
	display: grid;
	gap: .6rem;
	padding: .8rem 1rem .9rem;
	background: #031f29;
}

.av-reel-modal__footer p {
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: .72rem;
	line-height: 1.4;
}

.av-reel-modal__external {
	display: inline-flex;
	gap: .55rem;
	align-items: center;
	width: fit-content;
	min-height: 2.75rem;
	color: var(--av-ocean-text);
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
}

.av-reel-modal__external:hover {
	color: var(--av-ocean-accent-strong);
}

.av-reel-modal__external .av-icon {
	width: .95rem;
	height: .95rem;
}

@media (hover: hover) and (pointer: fine) {
	.av-reel-card[data-active]:hover .av-reel-card__frame {
		transform: translateY(-2px);
	}
}

@media (max-width: 1023px) {
	.av-reels-stage {
		grid-template-columns: 3rem minmax(0, 44rem) 3rem;
	}

	.av-reel-card {
		flex-basis: calc((100% - var(--av-reels-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.av-reels-layout {
		gap: 2.25rem;
	}

	.av-reels-intro__lead {
		line-height: 1.6;
	}

	.av-reels-stage {
		grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
		column-gap: .4rem;
		row-gap: 0;
	}

	.av-reels-viewport {
		grid-row: 1;
		grid-column: 2;
		width: min(100%, 18rem);
		justify-self: center;
	}

	.av-reels-control {
		width: 2.75rem;
		height: 2.75rem;
		align-self: center;
	}

	.av-reels-control--previous {
		grid-row: 1;
		grid-column: 1;
		justify-self: center;
	}

	.av-reels-control--next {
		grid-row: 1;
		grid-column: 3;
		justify-self: center;
	}

	.av-reels-footer {
		flex-direction: column;
		gap: .45rem;
		text-align: center;
	}

	.av-reels-footer::before {
		display: none;
	}

	.av-reel-card__heading {
		min-height: 0;
	}

	.av-reel-card {
		flex-basis: 100%;
	}

	.av-reel-card__frame {
		border-radius: 12px;
	}

	.av-reel-card__heading h3 {
		font-size: clamp(1.45rem, 7vw, 1.9rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.av-reels-track {
		scroll-behavior: auto;
	}

	.av-reels-control,
	.av-reel-card__frame,
	.av-reel-card__play > span,
	.av-reel-card__external,
	.av-reel-modal,
	.av-reel-modal__dialog,
	.av-reel-modal__close {
		transition: none;
	}
}

/* WooCommerce product detail — catalog-only, no transactional interface. */

body.av-product-detail-page .av-product-detail-main {
	padding: 0;
	overflow: clip;
	background:
		radial-gradient(circle at 12% 18%, rgb(65 151 151 / 10%), transparent 31rem),
		linear-gradient(180deg, var(--av-ocean-abyss) 0%, var(--av-ocean-deepest) 100%);
	color: var(--av-ocean-text);
}

body.av-product-detail-page .av-product-preview-notice {
	border-color: rgb(242 183 98 / 30%);
	background: rgb(79 51 19 / 38%);
	color: #f8dfbd;
}

body.av-product-detail-page .av-product-detail-main__inner {
	padding-block: clamp(1.1rem, 3vw, 2.2rem) clamp(4rem, 8vw, 7rem);
}

body.av-product-detail-page .av-product-breadcrumbs {
	color: var(--av-ocean-text-muted);
}

body.av-product-detail-page .av-product-breadcrumbs a {
	color: var(--av-ocean-text-muted);
	text-decoration-color: transparent;
}

body.av-product-detail-page .av-product-breadcrumbs a:hover {
	color: var(--av-ocean-text);
	text-decoration-color: var(--av-ocean-accent);
}

body.av-product-detail-page .av-product-back-link {
	margin-bottom: clamp(1.35rem, 3vw, 2.25rem);
	color: var(--av-ocean-accent-strong);
}

body.av-product-detail-page .av-product-detail-layout {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
}

body.av-product-detail-page .av-product-detail-content,
body.av-product-detail-page .av-product-detail-media {
	min-width: 0;
}

body.av-product-detail-page .av-product-detail-content__category {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem .8rem;
	margin-bottom: 1rem;
	color: var(--av-ocean-text-muted);
	font-size: .76rem;
	font-weight: 650;
	letter-spacing: .09em;
	line-height: 1.35;
	text-transform: uppercase;
}

body.av-product-detail-page .av-product-detail-content__category span {
	color: var(--av-ocean-accent);
}

body.av-product-detail-page .av-product-detail-content__category a {
	color: var(--av-ocean-text-muted);
	text-decoration-color: var(--av-ocean-border-strong);
}

body.av-product-detail-page .av-product-detail-content h1 {
	max-width: 18ch;
	margin-bottom: .8rem;
	color: var(--av-ocean-text);
	font-family: var(--av-font-display);
	font-size: clamp(2.25rem, 8.5vw, 3.65rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: 1.02;
	text-wrap: balance;
}

body.av-product-detail-page .av-product-detail-content__identity {
	margin-bottom: 1.6rem;
	color: var(--av-ocean-text-muted);
	font-size: clamp(1rem, 2vw, 1.12rem);
}

body.av-product-detail-page .av-product-availability {
	display: grid;
	gap: 1rem;
	margin-block: 1.5rem;
	padding-block: 1.1rem;
	border-block: 1px solid var(--av-ocean-border);
}

body.av-product-detail-page .av-product-availability__eyebrow,
body.av-product-detail-page .av-product-contact__eyebrow {
	margin-bottom: .3rem;
	color: var(--av-ocean-text-muted);
	font-size: .72rem;
	font-weight: 650;
	letter-spacing: .1em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.av-product-detail-page .av-product-availability h2 {
	margin-bottom: .35rem;
	color: var(--av-ocean-text);
	font-family: var(--av-font-interface);
	font-size: 1.12rem;
	font-weight: 650;
	letter-spacing: 0;
}

body.av-product-detail-page .av-product-availability > div > p:last-child {
	max-width: 42rem;
	margin-bottom: 0;
	color: var(--av-ocean-text-muted);
	font-size: .93rem;
	line-height: 1.55;
}

body.av-product-detail-page .av-product-availability__time {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: 0;
	color: var(--av-ocean-text-muted);
	font-size: .78rem;
}

body.av-product-detail-page .av-product-availability--available h2 {
	color: #cce8cf;
}

body.av-product-detail-page .av-product-availability--warning h2 {
	color: #f4cea0;
}

body.av-product-detail-page .av-product-summary {
	max-width: 43rem;
	margin-block: 1.5rem 1.8rem;
	color: #d6e7e7;
	font-size: clamp(1rem, 2vw, 1.1rem);
	line-height: 1.65;
}

body.av-product-detail-page .av-product-summary > :last-child {
	margin-bottom: 0;
}

body.av-product-detail-page .av-product-contact {
	display: grid;
	gap: 1.15rem;
	margin-top: 1.8rem;
	padding: clamp(1.15rem, 3vw, 1.6rem);
	border: 1px solid var(--av-ocean-border-strong);
	border-radius: 12px;
	background: rgb(11 48 58 / 72%);
}

body.av-product-detail-page .av-product-contact h2 {
	margin-bottom: .35rem;
	color: var(--av-ocean-text);
	font-size: clamp(1.35rem, 4vw, 1.75rem);
}

body.av-product-detail-page .av-product-contact__copy > p:last-child,
body.av-product-detail-page .av-product-contact address {
	margin-bottom: 0;
	color: var(--av-ocean-text-muted);
	font-size: .9rem;
	line-height: 1.55;
}

body.av-product-detail-page .av-product-contact__actions {
	display: grid;
	gap: .65rem;
}

body.av-product-detail-page .av-product-contact .av-button {
	min-height: 3.25rem;
}

body.av-product-detail-page .av-product-contact .av-button--primary {
	background: #eef8f6;
	color: var(--av-ocean-abyss);
}

body.av-product-detail-page .av-product-contact .av-button--primary:hover {
	background: var(--av-ocean-accent-strong);
	color: var(--av-ocean-abyss);
}

body.av-product-detail-page .av-product-contact address {
	padding-top: 1rem;
	border-top: 1px solid var(--av-ocean-border);
	font-style: normal;
}

body.av-product-detail-page .av-product-gallery {
	min-width: 0;
}

body.av-product-detail-page .av-product-gallery__figure {
	margin: 0;
}

body.av-product-detail-page .av-product-gallery__main {
	position: relative;
	display: grid;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	place-items: center;
	border: 1px solid var(--av-ocean-border);
	border-radius: 14px;
	background:
		linear-gradient(145deg, rgb(238 248 246 / 98%), rgb(203 224 219 / 96%));
}

body.av-product-detail-page .av-product-gallery__main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform var(--av-transition);
}

body.av-product-detail-page .av-product-gallery__main:hover img {
	transform: scale(1.012);
}

body.av-product-detail-page .av-product-gallery__media-note {
	position: absolute;
	right: .7rem;
	bottom: .7rem;
	padding: .42rem .6rem;
	border: 1px solid rgb(231 248 245 / 34%);
	border-radius: 7px;
	background: rgb(3 24 34 / 78%);
	color: var(--av-ocean-text);
	font-size: .68rem;
	font-weight: 650;
	letter-spacing: .05em;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
}

body.av-product-detail-page .av-product-gallery__caption {
	margin-top: .65rem;
	color: var(--av-ocean-text-muted);
	font-size: .82rem;
}

body.av-product-detail-page .av-product-gallery__thumbs {
	display: flex;
	overflow-x: auto;
	gap: .65rem;
	margin-top: .8rem;
	padding: .15rem .1rem .4rem;
	scrollbar-width: thin;
}

body.av-product-detail-page .av-product-gallery__thumb {
	display: grid;
	width: 4.25rem;
	aspect-ratio: 1;
	flex: 0 0 4.25rem;
	overflow: hidden;
	place-items: center;
	border: 1px solid var(--av-ocean-border);
	border-radius: 9px;
	background: #e8f2ef;
}

body.av-product-detail-page .av-product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.av-product-detail-page .av-product-gallery__thumb.is-current {
	border-color: var(--av-ocean-accent-strong);
	box-shadow: 0 0 0 2px rgb(147 226 221 / 20%);
}

body.av-product-detail-page .av-product-gallery__disclaimer {
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	margin: .85rem 0 0;
	color: var(--av-ocean-text-muted);
	font-size: .79rem;
	line-height: 1.5;
}

body.av-product-detail-page .av-product-gallery__disclaimer .av-icon {
	width: 1rem;
	height: 1rem;
	margin-top: .08rem;
	color: var(--av-ocean-accent);
}

body.av-product-detail-page .av-product-gallery__empty {
	display: grid;
	min-height: 18rem;
	aspect-ratio: 4 / 3;
	place-items: center;
	align-content: center;
	gap: .55rem;
	padding: 2rem;
	border: 1px solid var(--av-ocean-border);
	border-radius: 14px;
	background: var(--av-ocean-depth);
	color: var(--av-ocean-text-muted);
	text-align: center;
}

body.av-product-detail-page .av-product-gallery__empty .av-icon {
	width: 2.4rem;
	height: 2.4rem;
	color: var(--av-ocean-accent);
}

body.av-product-detail-page .av-product-gallery__empty strong {
	color: var(--av-ocean-text);
}

body.av-product-detail-page .av-product-variants,
body.av-product-detail-page .av-product-description {
	display: grid;
	gap: clamp(1.3rem, 3vw, 2.5rem);
	margin-top: clamp(3.5rem, 7vw, 6rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--av-ocean-border);
}

body.av-product-detail-page .av-product-section-heading h2 {
	margin: 0;
	color: var(--av-ocean-text);
	font-size: clamp(1.65rem, 4vw, 2.35rem);
}

body.av-product-detail-page .av-product-variant-list {
	display: grid;
	gap: .65rem;
}

body.av-product-detail-page .av-product-variant {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 3.5rem;
	gap: 1rem;
	padding-block: .75rem;
	border-bottom: 1px solid var(--av-ocean-border);
}

body.av-product-detail-page .av-product-description__content {
	max-width: 70ch;
	color: #d3e4e4;
	line-height: 1.75;
}

body.av-product-detail-page .av-product-description__content > :last-child {
	margin-bottom: 0;
}

body.av-product-detail-page :where(.price, .cart, .single_add_to_cart_button, .product_meta .sku_wrapper) {
	display: none !important;
}

body.av-product-detail-page :where(a, button, input, [tabindex]):focus-visible {
	outline-color: var(--av-ocean-accent-strong);
}

@media (min-width: 640px) {
	body.av-product-detail-page .av-product-contact__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	body.av-product-detail-page .av-product-breadcrumbs {
		display: flex;
	}

	body.av-product-detail-page .av-product-availability {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}

	body.av-product-detail-page .av-product-variants,
	body.av-product-detail-page .av-product-description {
		grid-template-columns: minmax(10rem, 17rem) minmax(0, 1fr);
	}
}

@media (min-width: 940px) {
	body.av-product-detail-page .av-product-detail-layout {
		grid-template-columns: minmax(0, 1.06fr) minmax(22rem, .94fr);
		grid-template-areas: "media content";
		align-items: start;
	}

	body.av-product-detail-page .av-product-detail-content {
		grid-area: content;
	}

	body.av-product-detail-page .av-product-detail-media {
		position: sticky;
		top: 6.6rem;
		grid-area: media;
	}
}

@media (max-width: 479px) {
	body.av-product-detail-page .av-product-contact__actions .av-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.av-product-detail-page .av-product-gallery__main img {
		transition: none;
	}
}

/* Osobny indeks katalogu WooCommerce: statyczny, lekki i mobile-first. */
body.av-catalog-index-page .av-catalog-index {
	padding-block: 0 !important;
	background: var(--av-ocean-abyss);
	color: var(--av-ocean-text);
}

body.av-catalog-index-page .site-header {
	border-bottom-color: rgb(186 224 225 / 15%);
	background: rgb(3 24 34 / 96%);
	box-shadow: none;
	backdrop-filter: blur(12px);
}

body.av-catalog-index-page .site-header :where(.site-brand, .site-navigation--desktop a, .site-header__search, .site-header__menu-button) {
	color: var(--av-ocean-text);
}

body.av-catalog-index-page .site-header :where(.site-header__search, .site-header__menu-button) {
	border-color: rgb(176 222 222 / 26%);
	background: rgb(8 41 52 / 72%);
}

body.av-catalog-index-page .site-header :where(.site-header__search, .site-header__menu-button):hover {
	border-color: var(--av-ocean-border-strong);
	background: var(--av-ocean-surface);
}

body.av-catalog-index-page .av-mobile-drawer__panel {
	background: var(--av-ocean-deepest);
	color: var(--av-ocean-text);
}

body.av-catalog-index-page .av-mobile-drawer__top p,
body.av-catalog-index-page .av-mobile-drawer__nav a,
body.av-catalog-index-page .av-mobile-drawer__search,
body.av-catalog-index-page .av-mobile-drawer .av-icon-button {
	color: var(--av-ocean-text);
}

body.av-catalog-index-page .av-catalog-index__intro {
	position: relative;
	overflow: visible;
	padding-block: clamp(3.75rem, 6vw, 5.5rem);
	border-bottom: 1px solid var(--av-ocean-border);
	background:
		radial-gradient(circle at 76% 18%, rgb(41 135 139 / 17%), transparent 38rem),
		linear-gradient(180deg, #041d28 0%, var(--av-ocean-abyss) 100%);
}

body.av-catalog-index-page .av-catalog-index__intro .av-container {
	display: grid;
	justify-items: center;
	text-align: center;
}

body.av-catalog-index-page .av-catalog-index__intro h1 {
	max-width: 17ch;
	margin: 0;
	color: var(--av-ocean-text);
	font-size: clamp(2.35rem, 4.2vw, 3.5rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: 1.04;
}

body.av-catalog-index-page .av-catalog-index__lead {
	max-width: 37rem;
	margin: 1rem auto 0;
	color: var(--av-ocean-text-muted);
	font-size: clamp(.98rem, 1.4vw, 1.08rem);
	line-height: 1.55;
}

body.av-catalog-index-page .av-catalog-index__search {
	position: relative;
	z-index: 5;
	width: min(100%, 46rem);
	margin-top: clamp(1.5rem, 3vw, 2rem);
}

body.av-catalog-index-page .av-catalog-index__search .av-search__control {
	border-color: rgb(175 226 224 / 38%);
	background: #f7fbfb;
	box-shadow: 0 18px 50px rgb(0 9 15 / 24%);
}

body.av-catalog-index-page .av-catalog-index__search .av-search__icon {
	color: #315d68;
}

body.av-catalog-index-page .av-catalog-index__search input {
	color: #082f49;
}

body.av-catalog-index-page .av-catalog-index__search input::placeholder {
	color: #59727a;
	opacity: 1;
}

body.av-catalog-index-page .av-search-suggestions {
	border-color: var(--av-ocean-border-strong);
	background: #f7fbfb;
	color: #082f49;
	box-shadow: 0 24px 60px rgb(0 9 15 / 32%);
}

body.av-catalog-index-page .av-search-suggestion {
	color: #082f49;
}

body.av-catalog-index-page .av-search-suggestion:hover,
body.av-catalog-index-page .av-search-suggestion[aria-selected="true"] {
	background: #eaf7f8;
}

body.av-catalog-index-page .av-catalog-index__content {
	min-height: 45rem;
	padding-block: clamp(2.5rem, 6vw, 5.5rem);
	background:
		linear-gradient(90deg, rgb(25 92 99 / 7%) 1px, transparent 1px) 0 0 / 5rem 5rem,
		var(--av-ocean-abyss);
}

body.av-catalog-index-page .av-catalog-index__content .av-woo-catalog-panel__inner {
	display: block;
	padding: 0;
}

body.av-catalog-index-page .av-catalog-index__layout {
	display: grid;
	gap: clamp(2rem, 5vw, 4.75rem);
}

body.av-catalog-index-page .av-catalog-index__categories details {
	border-block: 1px solid var(--av-ocean-border);
}

body.av-catalog-index-page .av-catalog-index__categories summary {
	display: flex;
	min-height: 3.75rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	color: var(--av-ocean-text);
	font-size: .96rem;
	font-weight: 700;
	letter-spacing: .02em;
	list-style: none;
	cursor: pointer;
}

body.av-catalog-index-page .av-catalog-index__categories summary::-webkit-details-marker {
	display: none;
}

body.av-catalog-index-page .av-catalog-index__categories summary .av-icon {
	width: 1rem;
	height: 1rem;
	transition: transform var(--av-transition);
	transform: rotate(90deg);
}

body.av-catalog-index-page .av-catalog-index__categories details:not([open]) summary .av-icon {
	transform: rotate(0);
}

body.av-catalog-index-page .av-catalog-index__category-list {
	padding: .4rem 0 1.2rem;
}

body.av-catalog-index-page .av-catalog-index__all,
body.av-catalog-index-page .av-catalog-tree a {
	display: flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .55rem .65rem;
	border-left: 2px solid transparent;
	color: var(--av-ocean-text-muted);
	font-size: .92rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	transition: border-color var(--av-transition-fast), color var(--av-transition-fast), background var(--av-transition-fast);
}

body.av-catalog-index-page .av-catalog-index__all:hover,
body.av-catalog-index-page .av-catalog-tree a:hover,
body.av-catalog-index-page .av-catalog-index__all:focus-visible,
body.av-catalog-index-page .av-catalog-tree a:focus-visible {
	background: rgb(20 76 84 / 30%);
	color: var(--av-ocean-text);
}

body.av-catalog-index-page .av-catalog-index__all.is-active,
body.av-catalog-index-page .av-catalog-tree a.is-active {
	border-left-color: var(--av-ocean-accent);
	background: rgb(25 106 113 / 30%);
	color: #fff;
	font-weight: 650;
}

body.av-catalog-index-page .av-catalog-tree {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.av-catalog-index-page .av-catalog-tree--depth-1 {
	margin-top: .25rem;
}

body.av-catalog-index-page .av-catalog-tree--depth-2 a {
	min-height: 2.45rem;
	padding-left: 1.35rem;
	font-size: .86rem;
}

body.av-catalog-index-page .av-catalog-tree--depth-3 a {
	min-height: 2.35rem;
	padding-left: 2.1rem;
	font-size: .82rem;
}

body.av-catalog-index-page .av-catalog-tree a .av-icon {
	width: .9rem;
	height: .9rem;
	opacity: .55;
}

body.av-catalog-index-page .av-catalog-index__results {
	min-width: 0;
	scroll-margin-top: calc(var(--av-preview-header-height) + 1.25rem);
}

body.av-catalog-index-page .av-catalog-index__results-header {
	display: grid;
	align-items: end;
	gap: 1rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--av-ocean-border);
}

body.av-catalog-index-page .av-catalog-index__results-header h2 {
	margin: 0;
	color: var(--av-ocean-text);
	font-size: clamp(1.8rem, 4vw, 2.7rem);
	font-weight: 600;
	letter-spacing: -.035em;
}

body.av-catalog-index-page .av-woo-result-meta {
	justify-content: flex-start;
	color: var(--av-ocean-text-muted);
}

body.av-catalog-index-page .av-woo-result-meta span,
body.av-catalog-index-page .av-woo-result-meta a {
	border-color: var(--av-ocean-border);
	background: rgb(8 41 52 / 72%);
	color: inherit;
}

body.av-catalog-index-page .av-woo-result-meta a {
	color: var(--av-ocean-accent);
}

body.av-catalog-index-page .av-catalog-index__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.35rem);
}

body.av-catalog-index-page .av-catalog-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--av-ocean-border);
	border-radius: 10px;
	background: var(--av-ocean-depth);
	transition: border-color var(--av-transition), transform var(--av-transition);
}

body.av-catalog-index-page .av-catalog-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #e8efec;
}

body.av-catalog-index-page .av-catalog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--av-transition);
}

body.av-catalog-index-page .av-catalog-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	align-content: center;
	gap: .55rem;
	color: #46656b;
}

body.av-catalog-index-page .av-catalog-card__placeholder .av-icon {
	width: 2rem;
	height: 2rem;
}

body.av-catalog-index-page .av-catalog-card__media-note {
	position: absolute;
	right: .65rem;
	bottom: .65rem;
	padding: .3rem .45rem;
	border: 1px solid rgb(225 246 245 / 34%);
	border-radius: 4px;
	background: rgb(3 24 34 / 86%);
	color: #f2fbfa;
	font-size: .68rem;
	font-weight: 600;
	line-height: 1.2;
}

body.av-catalog-index-page .av-catalog-card__body {
	display: flex;
	min-height: 12rem;
	flex: 1;
	flex-direction: column;
	padding: 1rem;
}

body.av-catalog-index-page .av-catalog-card__category {
	margin: 0 0 .55rem;
	color: var(--av-ocean-accent);
	font-size: .71rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.av-catalog-index-page .av-catalog-card h3 {
	margin: 0;
	font-family: var(--av-font-interface);
	font-size: 1.06rem;
	font-weight: 600;
	line-height: 1.32;
}

body.av-catalog-index-page .av-catalog-card h3 a {
	color: var(--av-ocean-text);
	text-decoration: none;
}

body.av-catalog-index-page .av-catalog-card__footer {
	display: grid;
	align-items: end;
	margin-top: auto;
	padding-top: 1rem;
	gap: .75rem;
}

body.av-catalog-index-page .av-catalog-card .av-status-badge {
	justify-self: start;
	border: 1px solid var(--av-ocean-border);
	background: rgb(4 30 41 / 66%);
	color: var(--av-ocean-text-muted);
}

body.av-catalog-index-page .av-catalog-card .av-status-badge--available {
	border-color: rgb(116 203 153 / 40%);
	color: #bde8cd;
}

body.av-catalog-index-page .av-catalog-card .av-status-badge--unavailable {
	border-color: rgb(231 167 140 / 36%);
	color: #f1c6b4;
}

body.av-catalog-index-page .av-catalog-card .av-status-badge--warning {
	border-color: rgb(242 183 98 / 42%);
	color: #f3ce96;
}

body.av-catalog-index-page .av-catalog-card .av-card-link {
	justify-self: start;
	color: var(--av-ocean-accent);
}

body.av-catalog-index-page .av-catalog-index__empty {
	border-color: var(--av-ocean-border);
	background: var(--av-ocean-depth);
	color: var(--av-ocean-text-muted);
}

body.av-catalog-index-page .av-catalog-index__empty h3 {
	color: var(--av-ocean-text);
}

body.av-catalog-index-page .av-catalog-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 2rem;
}

body.av-catalog-index-page .av-catalog-pagination a {
	display: grid;
	width: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
	border: 1px solid var(--av-ocean-border);
	border-radius: 6px;
	color: var(--av-ocean-text);
	font-weight: 600;
	text-decoration: none;
}

body.av-catalog-index-page .av-catalog-pagination a:hover,
body.av-catalog-index-page .av-catalog-pagination a.is-active {
	border-color: var(--av-ocean-accent);
	background: var(--av-ocean-surface);
}

body.av-catalog-index-page .av-woo-catalog-panel.is-loading .av-catalog-index__categories,
body.av-catalog-index-page .av-woo-catalog-panel.is-loading .av-catalog-index__results {
	opacity: .7;
	transition: opacity var(--av-transition);
}

@media (hover: hover) {
	body.av-catalog-index-page .av-catalog-card:hover {
		border-color: var(--av-ocean-border-strong);
		transform: translateY(-2px);
	}

	body.av-catalog-index-page .av-catalog-card:hover .av-catalog-card__media img {
		transform: scale(1.018);
	}
}

@media (min-width: 560px) {
	body.av-catalog-index-page .av-catalog-index__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.av-catalog-index-page .av-catalog-index__results-header {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body.av-catalog-index-page .av-woo-result-meta {
		justify-content: flex-end;
	}
}

@media (min-width: 900px) {
	body.av-catalog-index-page .av-catalog-index__layout {
		grid-template-columns: minmax(13.5rem, 17rem) minmax(0, 1fr);
		align-items: start;
	}

	body.av-catalog-index-page .av-catalog-index__categories {
		position: sticky;
		top: calc(var(--av-preview-header-height) + 1.5rem);
	}

	body.av-catalog-index-page .av-catalog-index__categories details {
		border-top: 0;
	}

	body.av-catalog-index-page .av-catalog-index__categories summary {
		pointer-events: none;
	}

	body.av-catalog-index-page .av-catalog-index__categories summary .av-icon {
		display: none;
	}

	body.av-catalog-index-page .av-catalog-index__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1240px) {
	body.av-catalog-index-page .av-catalog-index__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 559px) {
	body.av-catalog-index-page .av-catalog-index__intro {
		padding-block: 3rem 3.25rem;
	}

	body.av-catalog-index-page .av-catalog-index__intro h1 {
		max-width: 13ch;
	}

	body.av-catalog-index-page .av-catalog-index__search .av-search__control {
		grid-template-columns: auto minmax(0, 1fr);
	}

	body.av-catalog-index-page .av-catalog-index__search .av-search__control .av-button {
		width: 100%;
		grid-column: 1 / -1;
	}

	body.av-catalog-index-page .av-catalog-index__layout {
		gap: 1.75rem;
	}

	body.av-catalog-index-page .av-catalog-card__body {
		min-height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.av-catalog-index-page .av-catalog-card,
	body.av-catalog-index-page .av-catalog-card__media img,
	body.av-catalog-index-page .av-catalog-index__categories summary .av-icon {
		transition: none;
	}
}
