﻿/*
Theme Name: ProGlow Digital
Theme URI: https://proglow.ba
Author: ProGlow Digital
Author URI: https://proglow.ba
Description: Premium WordPress tema za digitalnu agenciju specijaliziranu za stomatoloske klinike.
Version: 3.1.3
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: proglow
*/

:root {
	--pg-topbar-h: 36px;
	--pg-header-offset: var(--pg-topbar-h);
	--pg-header-h: 64px;
	--bg: #0b0d12;
	--bg-elevated: #11131a;
	--bg-surface: #171924;
	--bg-surface-hover: #1c1e2b;
	--border: rgba(255,255,255,0.06);
	--border-hover: rgba(255,255,255,0.10);
	--border-strong: rgba(255,255,255,0.14);
	--text: #b8b2a8;
	--text-heading: #f0ece4;
	--text-muted: #6e6860;
	--hero-title: #d8dce4;
	--hero-subtitle: rgba(216, 220, 228, 0.88);
	--hero-breadcrumb: rgba(184, 178, 168, 0.72);
	--hero-scrim-top: rgba(11, 13, 18, 0.92);
	--hero-scrim-bottom: rgba(11, 13, 18, 0.72);
	--accent: #c9a96e;
	--accent-light: #dcc090;
	--accent-dark: #a0834a;
	--accent-glow: rgba(201,169,110,0.12);
	--secondary: #7a9e8e;
	--danger: #c94a4a;
	--success: #5a9e6e;
	--shadow-sm: 0 1px 4px rgba(11,13,18,0.35);
	--shadow: 0 4px 12px rgba(11,13,18,0.45);
	--shadow-md: 0 6px 18px rgba(11,13,18,0.50);
	--shadow-lg: 0 8px 24px rgba(11,13,18,0.55);
	--shadow-xl: 0 12px 32px rgba(11,13,18,0.65);
	--container: 1200px;
	--radius: 14px;
	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 20px;
	--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	--font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--font-display: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;
	color-scheme: dark;
}

[data-theme="light"] {
	--bg: #f8f9fb;
	--bg-elevated: #ffffff;
	--bg-surface: #ffffff;
	--bg-surface-hover: #f0f1f4;
	--border: rgba(0,0,0,0.08);
	--border-hover: rgba(0,0,0,0.14);
	--border-strong: rgba(0,0,0,0.20);
	--text: #5a6270;
	--text-heading: #2a3342;
	--text-muted: #7a8494;
	--hero-title: #ece8e0;
	--hero-subtitle: rgba(236, 232, 224, 0.9);
	--hero-breadcrumb: rgba(220, 216, 208, 0.72);
	--hero-scrim-top: rgba(28, 34, 46, 0.88);
	--hero-scrim-bottom: rgba(28, 34, 46, 0.74);
	--accent: #b8945a;
	--accent-light: #d4b078;
	--accent-dark: #8a6e3a;
	--accent-glow: rgba(184,148,90,0.10);
	--secondary: #5a8a7a;
	--danger: #c94a4a;
	--success: #4a8a5e;
	--shadow-sm: 0 1px 4px rgba(0,0,0,0.06);
	--shadow: 0 4px 12px rgba(0,0,0,0.08);
	--shadow-md: 0 6px 18px rgba(0,0,0,0.10);
	--shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
	--shadow-xl: 0 12px 32px rgba(0,0,0,0.14);
	color-scheme: light;
}

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

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

.sr-only:focus {
	position: fixed;
	width: auto;
	height: auto;
	padding: 12px 20px;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	border-width: 0;
	z-index: 9999;
	background: var(--accent);
	color: #000;
	font-weight: 700;
	text-decoration: none;
	top: 8px;
	left: 8px;
	border-radius: var(--radius-md);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--pg-header-offset) + var(--pg-header-h) + 12px);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

/* Language switching — respect data-active-lang from header (not hardcoded EN) */
html[data-active-lang="en"] [data-lang]:not([data-lang="en"]),
html[data-active-lang="bs"] [data-lang]:not([data-lang="bs"]),
html[data-active-lang="de"] [data-lang]:not([data-lang="de"]) { display: none; }
html:not([data-active-lang]) [data-lang]:not([data-lang="en"]) { display: none; }

/* Premium scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--accent), var(--accent-dark)); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-light); }

::selection { background: rgba(201,169,110,0.25); color: var(--text-heading); }
::-moz-selection { background: rgba(201,169,110,0.25); color: var(--text-heading); }

/* Backdrop-filter graceful fallback */
@supports not (backdrop-filter: blur(12px)) {
	.pg-header.is-scrolled { background: var(--bg-elevated); }
	.pg-mobile-cta { background: var(--bg-surface); }
}
@supports (backdrop-filter: blur(12px)) {
	.pg-header.is-scrolled { backdrop-filter: blur(12px) saturate(1.2); -webkit-backdrop-filter: blur(12px) saturate(1.2); }
}

body {
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.65;
	color: var(--text);
	background:
		radial-gradient(circle at 8% -10%, rgba(201,169,110,0.06), transparent 35%),
		radial-gradient(circle at 95% 10%, rgba(122,158,142,0.05), transparent 30%),
		var(--bg);
	min-height: 100vh;
	min-height: 100dvh;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; image-rendering: -webkit-optimize-contrast; }
svg { display: block; shape-rendering: geometricPrecision; }
a { color: inherit; text-decoration: none; }

/* Eliminate 300ms tap delay on mobile browsers */
a, button, .pg-btn, .pg-header__cta, .pg-header__nav-cta, .pg-header__dropdown-toggle, .pg-header__hamburger, .pg-fab-cta, .pg-back-to-top, .pg-mobile-cta, .pg-theme-rail__chip, .pg-color-swatch__chip, .pg-footer__social, .pg-footer__social-link {
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

/* Custom Cursor */
/* Custom cursor is layered on top; default cursor remains visible for accessibility */
@media (pointer: fine) {
	body,
	a, button, .pg-btn, input, textarea, select, .pg-slider__handle,
	.pg-gallery-item, .pg-service-card, .pg-pricing-card, .pg-tech-card,
	.pg-proizvod-card, .pg-testimonial, .pg-post-card, .pg-trust__logo,
	.pg-offer__card, .pg-lightbox__close, .pg-back-to-top, .pg-theme-rail__chip {
		cursor: auto;
	}
}

body {
	text-wrap: pretty;
}
.pg-cursor {
	position: fixed;
	pointer-events: none;
	z-index: 10001;
	mix-blend-mode: difference;
	display: none;
}
@media (pointer: fine) {
	.pg-cursor {
		display: block;
	}
}
.pg-cursor__dot {
	position: absolute;
	width: 8px;
	height: 8px;
	background: var(--accent);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: width 0.15s ease, height 0.15s ease, background 0.15s ease;
	z-index: 3;
}
.pg-cursor__ring {
	position: absolute;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(201,169,110,0.4);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: width 0.3s ease, height 0.3s ease, border-color 0.3s ease, transform 0.1s ease-out;
	z-index: 2;
}
.pg-cursor__glow {
	position: absolute;
	width: 60px;
	height: 60px;
	background: radial-gradient(circle, rgba(201,169,110,0.15) 0%, transparent 70%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: width 0.3s ease, height 0.3s ease, background 0.3s ease;
	z-index: 1;
	pointer-events: none;
}
.pg-cursor.is-hovering .pg-cursor__dot {
	width: 4px;
	height: 4px;
}
.pg-cursor.is-hovering .pg-cursor__ring {
	width: 56px;
	height: 56px;
	border-color: rgba(201,169,110,0.6);
}
.pg-cursor.is-hovering .pg-cursor__glow {
	width: 80px;
	height: 80px;
	background: radial-gradient(circle, rgba(201,169,110,0.25) 0%, transparent 70%);
}
.pg-cursor.is-clicking .pg-cursor__ring {
	transform: translate(-50%, -50%) scale(0.85);
}

*:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	border-radius: var(--radius-sm);
}

.pg-container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.pg-section {
	padding: clamp(48px, 7vw, 96px) 0;
	position: relative;
	content-visibility: auto;
	contain-intrinsic-size: 0 500px;
}
.pg-section::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201,169,110,0.45), transparent);
	opacity: 0;
	transition: opacity 0.55s ease;
	pointer-events: none;
	z-index: 2;
}
.pg-section:hover::before { opacity: 1; }
.pg-section::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 48px;
	background: linear-gradient(to bottom, transparent, rgba(201,169,110,0.03));
	opacity: 0.5;
	pointer-events: none;
	z-index: 2;
}

.pg-section--dark { background: var(--bg); }
.pg-section--cover { padding: 0; }
.pg-text-center { text-align: center; }
.pg-content-narrow { max-width: 780px; margin: 0 auto; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--text-heading);
	line-height: 1.2;
	letter-spacing: -0.02em;
	overflow-wrap: break-word;

	text-wrap: balance;
}
h1 { font-size: clamp(2.2rem, 4.5vw, 3.6rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
h4 { font-size: 1.15rem; }

p { margin-bottom: 1.2em; max-width: 70ch; }

.pg-section__header {
	text-align: center;
	margin-bottom: 56px;
}
.pg-section__header p {
	margin-left: auto;
	margin-right: auto;
}

.pg-section__badge {
	display: inline-block;
	padding: 6px 16px;
	background: rgba(201,169,110,0.08);
	border: 1px solid rgba(201,169,110,0.2);
	border-radius: 100px;
	color: var(--accent);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 16px;
	position: relative;
	overflow: hidden;
}
.pg-section__badge::before {
	content: '';
	position: absolute;
	inset: -1px;
	background: linear-gradient(90deg, var(--accent), var(--secondary), var(--accent-light), var(--accent));
	background-size: 300% 100%;
	border-radius: 100px;
	z-index: -1;
	animation: pg-gradient-rotate 5s linear infinite;
	opacity: 0.25;
}
.pg-section__badge::after {
	content: '';
	position: absolute;
	inset: 1px;
	background: var(--bg);
	border-radius: 100px;
	z-index: -1;
}

.pg-section__title {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 700;
	color: var(--text-heading);
	line-height: 1.15;
	margin-bottom: 16px;
}

.pg-section__title--gradient {
	background: linear-gradient(135deg, var(--text-heading) 0%, var(--accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.pg-section__subtitle {
	font-size: 1.05rem;
	color: var(--text-muted);
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	line-height: 1.7;
}

/* Preloader — Cinematic Page Transitions */
.pg-page-transition {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
				visibility 0.8s cubic-bezier(0.22, 1, 0.36, 1),
				filter 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.pg-page-transition.is-loaded {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	filter: blur(8px);
}
.pg-page-transition__inner {
	text-align: center;
	position: relative;
	z-index: 2;
	transform: translateY(0) scale(1);
	filter: blur(0);
	transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
				filter 0.6s cubic-bezier(0.22, 1, 0.36, 1),
				opacity 0.6s ease;
}
.pg-page-transition.is-loaded .pg-page-transition__inner {
	transform: translateY(-10px) scale(0.95);
	filter: blur(4px);
	opacity: 0;
}

/* Ambient orbs behind preloader */
.pg-page-transition__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	pointer-events: none;
	z-index: 0;
}
.pg-page-transition__orb--1 {
	width: 200px;
	height: 200px;
	background: rgba(201,169,110,0.12);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: pgPreloaderOrb 4s ease-in-out infinite;
}
.pg-page-transition__orb--2 {
	width: 140px;
	height: 140px;
	background: rgba(122,158,142,0.08);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: pgPreloaderOrb 4s ease-in-out infinite reverse;
	animation-delay: -2s;
}
@keyframes pgPreloaderOrb {
	0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
	50% { transform: translate(-50%, -50%) scale(1.3); opacity: 1; }
}

/* Rotating ring around logo */
.pg-page-transition__ring {
	position: absolute;
	inset: -24px;
	border: 1px solid rgba(201,169,110,0.1);
	border-radius: 50%;
	animation: pgPreloaderRingSpin 8s linear infinite;
	pointer-events: none;
}
.pg-page-transition__ring::before {
	content: '';
	position: absolute;
	inset: 8px;
	border: 1px solid rgba(201,169,110,0.06);
	border-radius: 50%;
}
@keyframes pgPreloaderRingSpin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.pg-page-transition__logo {
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 4vw, 2.4rem);
	font-weight: 700;
	color: var(--text-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 10px;
	opacity: 0;
	transform: translateY(12px) scale(0.96);
	filter: blur(4px);
	animation: pgPreloaderLogoIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.15s forwards;
}
@keyframes pgPreloaderLogoIn {
	to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
.pg-page-transition__logo span {
	color: var(--accent);
	background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 40%, var(--secondary) 70%, var(--accent) 100%);
	background-size: 300% auto;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: pgPreloaderShimmer 2.5s linear infinite;
}
@keyframes pgPreloaderShimmer {
	0% { background-position: 200% center; }
	100% { background-position: -200% center; }
}
.pg-page-transition__status {
	font-size: 0.7rem;
	font-weight: 500;
	color: var(--text-muted);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-bottom: 28px;
	opacity: 0;
	animation: pgPreloaderFadeUp 0.5s ease 0.4s forwards;
}
@keyframes pgPreloaderFadeUp {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}
.pg-page-transition.is-loaded .pg-page-transition__status {
	opacity: 0;
	animation: none;
	transition: opacity 0.3s ease;
}
.pg-page-transition__bar {
	width: 180px;
	height: 3px;
	background: var(--border);
	border-radius: 3px;
	overflow: hidden;
	margin: 0 auto;
	opacity: 0;
	animation: pgPreloaderFadeUp 0.5s ease 0.5s forwards;
}
.pg-page-transition__bar span {
	display: block;
	width: 0%;
	height: 100%;
	background: linear-gradient(90deg, var(--accent), var(--accent-light), var(--secondary));
	background-size: 200% 100%;
	border-radius: 3px;
	animation: pgPreloaderBar 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards,
				pgPreloaderBarGlow 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards;
	box-shadow: 0 0 0 transparent;
}
@keyframes pgPreloaderBar {
	0%   { width: 0%; }
	20%  { width: 25%; }
	50%  { width: 55%; }
	80%  { width: 88%; }
	100% { width: 100%; }
}
@keyframes pgPreloaderBarGlow {
	0%   { box-shadow: 0 0 0 transparent; }
	30%  { box-shadow: 0 0 8px rgba(201,169,110,0.15); }
	100% { box-shadow: 0 0 16px rgba(201,169,110,0.25); }
}

/* Page Transition Overlay — 3-panel slide wipe */
.pg-transition-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	visibility: hidden;
}
.pg-transition-panel {
	flex: 1;
	background: var(--bg);
	transform: translateX(100%);
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.pg-transition-panel:nth-child(2) { transition-delay: 0.06s; }
.pg-transition-panel:nth-child(3) { transition-delay: 0.12s; }

.pg-transition-overlay.is-active {
	visibility: visible;
	pointer-events: auto;
}
.pg-transition-overlay.is-active .pg-transition-panel {
	transform: translateX(0);
}

/* Wipe-out: panels slide further left then fade */
.pg-transition-overlay.is-leaving .pg-transition-panel {
	transform: translateX(-100%);
	transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1),
	            opacity 0.35s ease 0.15s;
	opacity: 0;
}
.pg-transition-overlay.is-leaving .pg-transition-panel:nth-child(2) { transition-delay: 0.08s; }
.pg-transition-overlay.is-leaving .pg-transition-panel:nth-child(3) { transition-delay: 0.16s; }

.pg-transition-overlay.is-active.is-covered .pg-transition-panel {
	transform: translateX(0);
	transition: none;
}
.pg-transition-overlay.is-revealing .pg-transition-panel {
	transform: translateX(100%);
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
	opacity: 1;
}
.pg-transition-overlay.is-revealing .pg-transition-panel:nth-child(2) { transition-delay: 0.06s; }
.pg-transition-overlay.is-revealing .pg-transition-panel:nth-child(3) { transition-delay: 0.12s; }

/* Body lock during page transitions */
body.is-transitioning {
	overflow: hidden;
}
body.is-transitioning #pg-main-wrapper {
	transform: scale(0.99);
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
body.is-revealed #pg-main-wrapper {
	animation: pgContentReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes pgContentReveal {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Top Info Bar — Premium Contact Ribbon */
.pg-top-bar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1001;
	background: rgba(11, 13, 18, 0.92);
	background: color-mix(in srgb, var(--bg) 92%, transparent);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--border);
	font-size: 0.72rem;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.pg-top-bar.is-hidden {
	transform: translateY(-100%);
}
.pg-top-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
}
.pg-top-bar__left,
.pg-top-bar__right {
	display: flex;
	align-items: center;
	gap: 14px;
}
.pg-top-bar__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--text-muted);
	transition: color 0.2s ease;
}
.pg-top-bar__link:hover { color: var(--accent-light); }
.pg-top-bar__link svg {
	color: var(--accent);
	flex-shrink: 0;
}
.pg-top-bar__sep {
	width: 1px;
	height: 14px;
	background: var(--border);
}
.pg-top-bar__hours {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--text-muted);
}
.pg-top-bar__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--success);
	box-shadow: 0 0 6px var(--success);
}
.pg-top-bar__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--success);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.pg-top-bar__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--success);
	position: relative;
}
.pg-top-bar__pulse::after {
	content: '';
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	background: var(--success);
	animation: pg-pulse-ring 2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
	opacity: 0.5;
}
@keyframes pg-pulse-ring {
	0% { transform: scale(1); opacity: 0.5; }
	100% { transform: scale(2.2); opacity: 0; }
}
@media (max-width: 768px) {
	.pg-top-bar { display: none; }
}

/* Scroll progress glow */
.pg-scroll-progress__glow {
	position: fixed;
	top: 0;
	left: 0;
	width: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	z-index: 1002;
	transition: width 0.1s linear;
	filter: blur(4px);
	opacity: 0.6;
	pointer-events: none;
}

.pg-header {
	position: fixed;
	top: var(--pg-header-offset);
	left: 0;
	width: 100%;
	z-index: 1000;
	padding: calc(8px + env(safe-area-inset-top)) 0 8px;
	background: rgba(11, 13, 18, 0.88);
	background: color-mix(in srgb, var(--bg) 88%, transparent);
	backdrop-filter: blur(20px) saturate(1.15);
	-webkit-backdrop-filter: blur(20px) saturate(1.15);
	border-bottom: 1px solid var(--border);
	transition: top 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s, box-shadow 0.35s, border-color 0.35s, padding 0.35s;
}
.pg-top-bar.is-hidden ~ .pg-header {
	top: 0;
}
.pg-header.is-scrolled {
	background: rgba(11, 13, 18, 0.96);
	background: color-mix(in srgb, var(--bg) 96%, transparent);
	border-bottom-color: var(--border-hover);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
	padding-top: calc(6px + env(safe-area-inset-top));
	padding-bottom: 6px;
}
.pg-header__border-glow {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--accent), var(--accent-light), transparent);
	transition: width 0.3s ease;
	pointer-events: none;
}
.pg-header.is-scrolled .pg-header__border-glow {
	width: 100%;
}
.pg-header__inner {
	display: grid;
	grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
	align-items: center;
	gap: 16px;
}
.pg-header__logo { justify-self: start; }
.pg-header__nav {
	justify-self: center;
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.5vw, 24px);
	max-width: min(820px, calc(100vw - 380px));
	flex-wrap: nowrap;
}
.pg-header__tools {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	padding: 4px 6px;
	border-radius: 100px;
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--bg-surface) 50%, transparent);
}
.pg-header__nav-foot { display: none; }
.pg-header__dropdown-toggle.is-active { color: var(--accent); }
.pg-header__nav-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
	pointer-events: none;
}
.pg-header__nav-backdrop.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.pg-header__logo {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 1.22rem;
	font-weight: 800;
	color: var(--text-heading);
	letter-spacing: -0.03em;
}
.pg-header__logo-text {
	display: inline-flex;
	align-items: baseline;
	gap: 1px;
}
.pg-header__logo-text span {
	font-family: var(--font-display);
	font-weight: 600;
	font-style: italic;
	font-size: 1.08em;
	color: var(--accent);
	letter-spacing: -0.01em;
}
.pg-header__logo-glow {
	position: absolute;
	inset: -8px -16px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201,169,110,0.12) 0%, transparent 70%);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.4s ease;
}
.pg-header__logo:hover .pg-header__logo-glow { opacity: 1; }
.pg-header__logo-badge {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 6px rgba(201,169,110,0.35);
	opacity: 0.85;
}
html[data-theme="light"] .pg-header__logo-badge {
	display: none;
}
.pg-header__nav a {
	color: var(--text-muted);
	font-size: 0.8rem;
	font-weight: 600;
	transition: color 0.25s ease, background 0.25s ease;
	position: relative;
	white-space: nowrap;
	letter-spacing: 0.01em;
}
@media (min-width: 1101px) {
	.pg-header__nav {
		padding: 5px 10px;
		background: color-mix(in srgb, var(--bg-surface) 55%, transparent);
		border: 1px solid var(--border);
		border-radius: 100px;
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
	.pg-header__nav > a,
	.pg-header__nav > .pg-header__dropdown {
		padding: 6px 10px;
		border-radius: 100px;
	}
	.pg-header__nav > a:hover {
		background: color-mix(in srgb, var(--accent) 10%, transparent);
	}
	.pg-header__nav a::after { display: none; }
	.pg-header__dropdown-toggle {
		padding: 6px 10px;
		border-radius: 100px;
	}
	.pg-header__dropdown-toggle:hover {
		background: color-mix(in srgb, var(--accent) 10%, transparent);
	}
}
@media (min-width: 1101px) and (max-width: 1280px) {
	.pg-header__nav a,
	.pg-header__dropdown-toggle { font-size: 0.78rem; }
	.pg-header__nav { gap: 10px; }
}
.pg-header__nav a:hover { color: var(--text-heading); }
.pg-header__nav a::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--accent);
	border-radius: 2px;
	transition: width 0.3s ease;
}
.pg-header__nav a:hover::after { width: 100%; }
.pg-header__nav a.is-active,
.pg-header__nav a[aria-current="page"] {
	color: var(--accent);
}
.pg-header__nav a.is-active::after,
.pg-header__nav a[aria-current="page"]::after {
	width: 100%;
	background: var(--accent);
	box-shadow: 0 0 8px rgba(201,169,110,0.4);
}

.pg-header__nav-cta {
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	color: var(--bg) !important;
	padding: 8px 18px !important;
	border-radius: 100px;
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
}
.pg-header__nav-cta::after { display: none !important; }

.pg-header__dropdown { position: relative; }
.pg-header__dropdown-toggle {
	background: none;
	border: none;
	color: var(--text-muted);
	font-size: 0.88rem;
	font-weight: 500;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	font-family: inherit;
	transition: color 0.25s ease;
}
.pg-header__dropdown-toggle:hover { color: var(--text-heading); }
.pg-header__dropdown-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 8px;
	min-width: 180px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
	box-shadow: var(--shadow-lg);
	z-index: 100;
}
.pg-header__dropdown.is-open .pg-header__dropdown-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}
.pg-header__dropdown-menu a {
	display: grid;
	grid-template-columns: 28px 1fr;
	grid-template-rows: auto auto;
	gap: 0 10px;
	padding: 12px 14px;
	border-radius: var(--radius-sm);
	color: var(--text);
	font-size: 0.85rem;
	font-weight: 500;
	transition: background 0.2s ease;
	align-items: center;
}
.pg-header__dropdown-icon {
	grid-row: 1 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-sm);
	background: rgba(255,255,255,0.04);
	color: var(--accent);
}
.pg-header__dropdown-label {
	color: var(--text-heading);
	font-weight: 600;
	font-size: 0.85rem;
}
.pg-header__dropdown-desc {
	color: var(--text-muted);
	font-size: 0.75rem;
	font-weight: 400;
}
.pg-header__dropdown-menu a:hover {
	background: rgba(255,255,255,0.04);
	color: var(--text-heading);
}
.pg-header__dropdown-menu a:hover .pg-header__dropdown-icon {
	background: rgba(201,169,110,0.1);
	color: var(--accent-light);
}
.pg-header__dropdown-menu a::after { display: none !important; }

.pg-header__search-btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: none;
	border: none;
	color: var(--text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition);
}
.pg-header__search-btn:hover {
	background: color-mix(in srgb, var(--accent) 12%, transparent);
	color: var(--text-heading);
}
.pg-header__cta {
	padding: 9px 18px;
	background: var(--accent);
	color: #1a1510;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 100px;
	transition: var(--transition);
	border: 1px solid color-mix(in srgb, var(--accent-light) 40%, transparent);
}
.pg-header__cta:hover {
	transform: translateY(-1px);
	background: var(--accent-light);
	box-shadow: 0 6px 18px rgba(201,169,110,0.22);
}

/* Hamburger — 44px touch target, premium animation */
.pg-header__hamburger {
	display: none;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 1001;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-sm);
	transition: background 0.2s ease;
}
.pg-header__hamburger:hover {
	background: rgba(255,255,255,0.04);
}
.pg-header__hamburger-line {
	width: 26px;
	height: 3px;
	background: var(--text-heading);
	border-radius: 3px;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
				opacity 0.25s ease,
				background 0.2s ease;
}
.pg-header__hamburger.is-active .pg-header__hamburger-line:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
	background: var(--accent);
}
.pg-header__hamburger.is-active .pg-header__hamburger-line:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}
.pg-header__hamburger.is-active .pg-header__hamburger-line:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
	background: var(--accent);
}

/* Search Overlay */
.pg-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 120px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}
.pg-search-overlay.is-open {
	opacity: 1;
	visibility: visible;
}
.pg-search-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11,13,18,0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.pg-search-overlay__inner {
	position: relative;
	width: 100%;
	max-width: 640px;
	padding: 0 24px;
	transform: translateY(-20px);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.pg-search-overlay.is-open .pg-search-overlay__inner {
	transform: translateY(0);
}
.pg-search-overlay__close {
	position: absolute;
	top: -48px;
	right: 24px;
	width: 40px;
	height: 40px;
	border-radius: var(--radius-sm);
	background: rgba(255,255,255,0.06);
	border: 1px solid var(--border);
	color: var(--text-heading);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition);
}
.pg-search-overlay__close:hover {
	background: rgba(255,255,255,0.10);
	border-color: var(--accent);
	color: var(--accent);
}
.pg-search-overlay__form {
	display: flex;
	gap: 12px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 12px 16px;
	box-shadow: var(--shadow-lg);
}
.pg-search-overlay__input {
	flex: 1;
	background: transparent;
	border: none;
	color: var(--text-heading);
	font-size: 1.1rem;
	font-family: inherit;
	outline: none;
}
.pg-search-overlay__input::placeholder {
	color: var(--text-muted);
}
.pg-search-overlay__submit {
	width: 44px;
	height: 44px;
	border-radius: var(--radius-sm);
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	border: none;
	color: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition);
	flex-shrink: 0;
}
.pg-search-overlay__submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(201,169,110,0.25);
}

/* Mobile nav */
@media (max-width: 1100px) {
	:root {
		--pg-header-offset: 0px;
	}
	.pg-top-bar {
		display: none;
	}
	.pg-header { top: 0; }
	.pg-hero--video { padding-top: 72px; }
	.pg-header__inner { display: flex; justify-content: space-between; }
	.pg-header__nav { max-width: none; justify-self: auto; }
	.pg-header__hamburger { display: flex; }
	.pg-header__nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		max-width: 380px;
		height: 100%;
		background: rgba(11, 13, 18, 0.98);
		backdrop-filter: blur(24px);
		-webkit-backdrop-filter: blur(24px);
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0;
		z-index: 999;
		padding: 100px 32px 40px;
		transform: translateX(-100%);
		transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.5s ease;
		visibility: hidden;
		border-right: 1px solid var(--border);
	}
	.pg-header__nav.is-open {
		transform: translateX(0);
		visibility: visible;
	}
	.pg-header__nav > a,
	.pg-header__nav > .pg-header__dropdown,
	.pg-header__nav > .pg-header__nav-cta {
		opacity: 0;
		transform: translateX(-20px);
		transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		width: 100%;
	}
	.pg-header__nav.is-open > a,
	.pg-header__nav.is-open > .pg-header__dropdown,
	.pg-header__nav.is-open > .pg-header__nav-cta {
		opacity: 1;
		transform: translateX(0);
	}
	.pg-header__nav.is-open > :nth-child(1) { transition-delay: 0.1s; }
	.pg-header__nav.is-open > :nth-child(2) { transition-delay: 0.15s; }
	.pg-header__nav.is-open > :nth-child(3) { transition-delay: 0.2s; }
	.pg-header__nav.is-open > :nth-child(4) { transition-delay: 0.25s; }
	.pg-header__nav.is-open > :nth-child(5) { transition-delay: 0.3s; }
	.pg-header__nav.is-open > :nth-child(6) { transition-delay: 0.35s; }
	.pg-header__nav.is-open > :nth-child(7) { transition-delay: 0.4s; }
	.pg-header__nav a {
		font-size: 1.15rem;
		color: var(--text-heading);
		font-weight: 600;
		padding: 10px 0;
	}
	.pg-header__nav a::after { display: none; }
	.pg-header__nav-cta {
		padding: 14px 32px !important;
		font-size: 1rem !important;
		margin-top: 16px;
		width: auto !important;
	}
	.pg-header__dropdown-menu {
		position: static;
		transform: none;
		background: transparent;
		border: none;
		box-shadow: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		padding: 0 0 0 12px;
		text-align: left;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s cubic-bezier(0.22, 1, 0.36, 1),
					opacity 0.3s ease,
					padding 0.3s ease,
					visibility 0.3s ease;
	}
	.pg-header__dropdown.is-open .pg-header__dropdown-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		max-height: 200px;
		padding: 8px 0 4px 12px;
	}
	.pg-header__dropdown-menu a {
		font-size: 0.95rem;
		color: var(--text-muted);
		padding: 6px 0;
		font-weight: 500;
		transform: translateX(-8px);
		opacity: 0;
		transition: transform 0.3s ease, opacity 0.3s ease, color 0.2s ease;
	}
	.pg-header__dropdown.is-open .pg-header__dropdown-menu a {
		transform: translateX(0);
		opacity: 1;
	}
	.pg-header__dropdown.is-open .pg-header__dropdown-menu a:nth-child(1) { transition-delay: 0.05s; }
	.pg-header__dropdown.is-open .pg-header__dropdown-menu a:nth-child(2) { transition-delay: 0.1s; }
	.pg-header__dropdown.is-open .pg-header__dropdown-menu a:nth-child(3) { transition-delay: 0.15s; }
	.pg-header__dropdown-toggle {
		font-size: 1.15rem;
		color: var(--text-heading);
		font-weight: 600;
		width: 100%;
		justify-content: space-between;
		padding: 10px 0;
		min-height: 44px;
	}
	.pg-header__dropdown-toggle svg {
		transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
	}
	.pg-header__dropdown.is-open .pg-header__dropdown-toggle svg {
		transform: rotate(180deg);
	}
	.pg-header__inner { padding: 0 16px; }
	.pg-header__tools { gap: 8px; }
	.pg-header__cta { display: none; }
	.pg-header__nav-foot {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid var(--border);
	}
	.pg-header__nav-foot .pg-btn { width: 100%; justify-content: center; }
}

.pg-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 30px;
	border-radius: 100px;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	border: none;
	cursor: pointer;
	transition: var(--transition);
	font-family: inherit;
}
.pg-btn--gold {
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	color: var(--bg);
	box-shadow: 0 4px 14px rgba(201,169,110,0.25);
	animation: pg-pulse-glow 3s ease-in-out infinite;
}
.pg-btn--gold:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(201,169,110,0.35);
}
.pg-btn--glass {
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--border);
	color: var(--text-heading);
}
.pg-btn--glass:hover {
	background: rgba(255,255,255,0.08);
	border-color: var(--border-hover);
	transform: translateY(-2px);
}
.pg-btn--outline {
	background: transparent;
	border: 1px solid var(--accent);
	color: var(--accent);
}
.pg-btn--outline:hover {
	background: var(--accent);
	color: var(--bg);
}

/* Focus-visible for keyboard navigation */
.pg-btn:focus-visible, .pg-header__cta:focus-visible, .pg-header__nav-cta:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	box-shadow: 0 0 0 4px rgba(201,169,110,0.15);
}
a:focus-visible, .pg-footer__links a:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* Button ripple micro-interaction */
.pg-btn, .pg-header__cta, .pg-header__nav-cta {
	position: relative;
	overflow: hidden;
}
.pg-btn::before, .pg-header__cta::before, .pg-header__nav-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%), rgba(255,255,255,0.25) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
.pg-btn:active::before, .pg-header__cta:active::before, .pg-header__nav-cta:active::before {
	opacity: 1;
	transition: opacity 0.1s ease;
}

/* Premium hero title — cinematic on media, refined on page body */
.pg-hero__title {
	position: relative;
	font-size: clamp(2.4rem, 5.8vw, 4.6rem);
	font-weight: 700;
	line-height: 1.06;
	color: var(--hero-title);
	-webkit-text-stroke: 1px rgba(201,169,110,0.12);
	text-shadow:
		0 1px 2px rgba(0,0,0,0.55),
		0 2px 8px rgba(0,0,0,0.45),
		0 4px 24px rgba(0,0,0,0.35),
		0 8px 48px rgba(0,0,0,0.25),
		0 0 60px rgba(201,169,110,0.12),
		0 0 120px rgba(201,169,110,0.06);
	letter-spacing: -0.02em;
}
.pg-hero__title-accent {
	color: var(--accent-light);
	-webkit-text-stroke: 1px rgba(201,169,110,0.22);
	text-shadow:
		0 1px 2px rgba(0,0,0,0.55),
		0 2px 8px rgba(0,0,0,0.45),
		0 4px 24px rgba(0,0,0,0.35),
		0 0 40px rgba(201,169,110,0.35),
		0 0 80px rgba(201,169,110,0.18),
		0 0 160px rgba(201,169,110,0.08);
}
/* 3D background text — centered on full hero viewport */
.pg-hero__bg-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) perspective(1200px) rotateX(16deg) rotateY(-8deg) rotateZ(-1deg);
	transform-origin: center center;
	font-size: clamp(5rem, 18vw, 14rem);
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1;
	color: rgba(201, 169, 110, 0.07);
	-webkit-text-stroke: 2px rgba(201, 169, 110, 0.28);
	text-shadow:
		0 0 40px rgba(201, 169, 110, 0.18),
		0 0 120px rgba(201, 169, 110, 0.1);
	text-transform: uppercase;
	white-space: nowrap;
	z-index: 2;
	pointer-events: none;
	user-select: none;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	opacity: 1;
	text-align: center;
	width: max-content;
	max-width: 100vw;
}
html[data-theme="light"] .pg-hero__bg-text {
	color: rgba(160, 130, 70, 0.08);
	-webkit-text-stroke: 2px rgba(160, 130, 70, 0.32);
	text-shadow:
		0 0 30px rgba(160, 130, 70, 0.14),
		0 0 90px rgba(160, 130, 70, 0.08);
}
.pg-hero__title.pg-text-scramble .pg-char {
	color: inherit;
	text-shadow: inherit;
}
/* Scramble reveal per-char animation kept */
.pg-text-scramble .pg-char {
	display: inline-block;
	opacity: 0;
	transform: translateY(14px) scale(0.96);
	transition: opacity 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pg-text-scramble.is-revealed .pg-char {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.pg-hero {
	position: relative;
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	overflow: hidden;
	background: var(--bg);
	padding-top: 80px;
	content-visibility: visible;
}
.pg-hero__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	z-index: 0;
	opacity: 0.4;
	transform: scale(1.02);
	transition: transform 8s ease-out;
}
.pg-hero:hover .pg-hero__media {
	transform: scale(1.06);
}
.pg-hero--inner .pg-hero__media,
.pg-hero--usluge .pg-hero__media {
	opacity: 0.35;
}

/* Hero Carousel — Premium blur crossfade */
.pg-hero__carousel {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	touch-action: pan-y;
}
.pg-hero__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.08);
	filter: blur(8px);
	opacity: 0;
	will-change: opacity, transform, filter;
}
/* Transition applies ONLY after JS initializes (prevents slow first-load fade) */
.pg-hero__carousel.is-animated .pg-hero__slide {
	transition: opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            filter 1.2s ease-out;
}
.pg-hero__slide.is-active {
	opacity: 0.55;
	transform: scale(1.02);
	filter: blur(0);
}
.pg-hero:hover .pg-hero__slide.is-active {
	transform: scale(1.06);
}

/* Hero carousel dots */
.pg-hero__dots {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 4;
}
.pg-hero__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255,255,255,0.25);
	border: 1px solid rgba(255,255,255,0.15);
	cursor: pointer;
	transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.pg-hero__dot.is-active {
	background: var(--accent);
	transform: scale(1.3);
	box-shadow: 0 0 12px rgba(201,169,110,0.5), 0 0 4px rgba(201,169,110,0.3);
}

/* Hero Video Background */
.pg-hero--video {
	padding-top: 120px;
}
.pg-hero__video-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}
.pg-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pg-hero__video--fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.pg-cinematic-cta__video--fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.pg-hero__video-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11,13,18,0.85) 0%, rgba(11,13,18,0.60) 40%, rgba(11,13,18,0.90) 100%);
	z-index: 1;
	pointer-events: none;
}

/* Cinematic CTA Section */
.pg-cinematic-cta {
	position: relative;
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	padding: 120px 24px;
}
.pg-cinematic-cta__video-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}
.pg-cinematic-cta__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pg-cinematic-cta__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11,13,18,0.80) 0%, rgba(11,13,18,0.50) 50%, rgba(11,13,18,0.85) 100%);
	z-index: 1;
	pointer-events: none;
}
.pg-cinematic-cta__vignette {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, transparent 40%, rgba(11,13,18,0.6) 100%);
	z-index: 2;
	pointer-events: none;
}
.pg-cinematic-cta__particles {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 3;
	overflow: hidden;
}
.pg-cinematic-cta__particle {
	position: absolute;
	bottom: -10px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 6px rgba(201,169,110,0.4);
	animation: pg-cinematic-float linear infinite;
	opacity: 0;
}
@keyframes pg-cinematic-float {
	0% { opacity: 0; transform: translateY(0) scale(0.5); }
	10% { opacity: 0.8; }
	90% { opacity: 0.6; }
	100% { opacity: 0; transform: translateY(-100vh) scale(1); }
}
.pg-cinematic-cta__content {
	position: relative;
	z-index: 4;
	max-width: 780px;
}
.pg-cinematic-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	flex-wrap: wrap;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--border);
	border-radius: 100px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 24px;
	position: relative;
	overflow: hidden;
}
.pg-cinematic-cta__badge::before {
	content: '';
	position: absolute;
	inset: -2px;
	background: conic-gradient(from 0deg, var(--accent), var(--accent-light), var(--accent));
	border-radius: inherit;
	animation: pg-gradient-rotate 4s linear infinite;
	opacity: 0.3;
}
.pg-cinematic-cta__badge::after {
	content: '';
	position: absolute;
	inset: 1px;
	background: var(--bg-surface);
	border-radius: inherit;
	z-index: -1;
}
.pg-cinematic-cta__title {
	font-family: var(--font-display);
	font-size: clamp(2.4rem, 5.8vw, 4.6rem);
	font-weight: 700;
	color: var(--text-heading);
	line-height: 1.1;
	margin-bottom: 20px;
	letter-spacing: -0.02em;
	text-shadow:
		0 0 40px rgba(201,169,110,0.10),
		0 0 80px rgba(201,169,110,0.06),
		0 0 120px rgba(201,169,110,0.03);
}
.pg-cinematic-cta__accent {
	color: var(--accent-light);
	-webkit-text-stroke: 1px rgba(201,169,110,0.22);
	text-shadow:
		0 0 30px rgba(201,169,110,0.15),
		0 0 60px rgba(201,169,110,0.10),
		0 0 120px rgba(201,169,110,0.06);
}
.pg-cinematic-cta__subtitle {
	font-size: clamp(1rem, 1.2vw, 1.15rem);
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.7;
	max-width: 560px;
	margin: 0 auto 32px;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5), 0 2px 20px rgba(0, 0, 0, 0.35);
}
.pg-cinematic-cta__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}
.pg-cinematic-cta__trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 28px;
	color: var(--text-muted);
	font-size: 0.8rem;
	flex-wrap: wrap;
}
.pg-cinematic-cta__trust svg {
	color: var(--accent);
}
.pg-cinematic-cta__cta {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin: 24px 0;
	flex-wrap: wrap;
}
.pg-cinematic-cta__trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
}
.pg-cinematic-cta__trust-num {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--text-heading);
}
.pg-cinematic-cta__trust-label {
	font-size: 0.75rem;
	color: var(--text-muted);
}
@media (max-width: 768px) {
	.pg-cinematic-cta { min-height: 80vh; padding: 100px 20px; }
	.pg-cinematic-cta__actions,
	.pg-cinematic-cta__cta { flex-direction: column; align-items: center; }
	.pg-cinematic-cta__actions .pg-btn,
	.pg-cinematic-cta__cta .pg-btn { width: 100%; max-width: 280px; }
}

@media (max-width: 768px) {
	.pg-hero__dots { bottom: calc(24px + env(safe-area-inset-bottom)); }
	.pg-hero__slide { transition-duration: 1s; }
}

.pg-hero--agency,
.pg-hero--carousel {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 120px 24px 100px;
	overflow: hidden;
}
.pg-hero--agency .pg-hero__content {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
}
.pg-hero__content {
	position: relative;
	z-index: 3;
}
.pg-hero__tags--marquee {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 4;
}
.pg-hero__cta {
	justify-content: center;
}
.pg-hero__panels {
	margin-left: auto;
	margin-right: auto;
}
.pg-hero--agency .pg-hero__subtitle {
	animation: pg-hero-fade-up 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s both;
}
.pg-hero--agency .pg-hero__cta {
	animation: pg-hero-fade-up 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.7s both;
}
@keyframes pg-hero-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}
.pg-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11,13,18,0.9) 0%, rgba(11,13,18,0.65) 40%, rgba(11,13,18,0.9) 100%);
	background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 90%, transparent) 0%, color-mix(in srgb, var(--bg) 65%, transparent) 40%, color-mix(in srgb, var(--bg) 90%, transparent) 100%);
	z-index: 1;
	pointer-events: none;
}
.pg-hero--agency .pg-hero__overlay,
.pg-hero--video .pg-hero__overlay {
	background: linear-gradient(180deg, rgba(11,13,18,0.9) 0%, rgba(11,13,18,0.65) 40%, rgba(11,13,18,0.9) 100%);
}
.pg-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	flex-wrap: wrap;
	background: rgba(201,169,110,0.08);
	border: 1px solid rgba(201,169,110,0.2);
	border-radius: 100px;
	color: var(--accent);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	position: relative;
	overflow: hidden;
}
.pg-hero__badge::before {
	content: '';
	position: absolute;
	inset: -2px;
	background: linear-gradient(90deg, var(--accent), var(--secondary), var(--accent-light), var(--accent));
	background-size: 300% 100%;
	border-radius: 100px;
	z-index: -1;
	animation: pg-gradient-rotate 4s linear infinite;
	opacity: 0.3;
}
.pg-hero__badge::after {
	content: '';
	position: absolute;
	inset: 1px;
	background: var(--bg);
	border-radius: 100px;
	z-index: -1;
}
@keyframes pg-gradient-rotate {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* Hero floating particles */
.pg-hero__particles {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
	overflow: hidden;
}
.pg-hero__particle {
	position: absolute;
	width: 3px;
	height: 3px;
	background: var(--accent);
	border-radius: 50%;
	opacity: 0;
	animation: pg-particle-float 8s ease-in-out infinite;
}
@keyframes pg-particle-float {
	0% { opacity: 0; transform: translateY(0) scale(0); }
	10% { opacity: 0.6; }
	90% { opacity: 0.6; }
	100% { opacity: 0; transform: translateY(-100vh) scale(1); }
}
.pg-hero__subtitle {
	font-size: clamp(1rem, 1.2vw, 1.15rem);
	color: var(--text-muted);
	line-height: 1.7;
	max-width: 560px;
	margin: 0 auto 28px;
	text-align: center;
}
.pg-hero--video .pg-hero__subtitle,
.pg-hero--agency .pg-hero__subtitle,
.pg-cinematic-cta .pg-cinematic-cta__subtitle,
.pg-cinematic-cta .pg-cinematic-cta__trust {
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5), 0 2px 20px rgba(0, 0, 0, 0.35);
}
.pg-hero__cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 48px;
}
.pg-hero__panels {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 720px;
	margin: 0 auto;
}
.pg-holo-panel {
	background: rgba(255,255,255,0.02);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: var(--radius-md);
	padding: 14px 18px;
	text-align: left;
	transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.pg-holo-panel:hover {
	border-color: rgba(201,169,110,0.25);
	transform: translateY(-3px);
	box-shadow: 0 8px 30px rgba(0,0,0,0.2), 0 0 20px rgba(201,169,110,0.06);
}
.pg-holo-panel__label {
	font-size: 0.7rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 6px;
}
.pg-holo-panel__value {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--accent);
	margin-bottom: 10px;
}
.pg-holo-panel__bar {
	height: 4px;
	background: rgba(255,255,255,0.04);
	border-radius: 2px;
	overflow: hidden;
}
.pg-holo-panel__bar-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	border-radius: 2px;
}
.pg-holo-panel__bar-fill--95 { width: 95%; }
.pg-holo-panel__bar-fill--98 { width: 98%; }
.pg-holo-panel__bar-fill--100 { width: 100%; }
.pg-counter {
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}

.pg-btn--large,
.pg-btn--lg {
	padding: 16px 32px;
	font-size: 1rem;
	min-height: 52px;
}
.pg-btn--lg {
	padding: 18px 40px;
	font-size: 1.05rem;
	min-height: 56px;
	border-radius: 100px;
}

.pg-back-to-top__icon {
	width: 20px;
	height: 20px;
}

.pg-hero__tags {
	position: relative;
	z-index: 3;
}

.pg-hero__tags--marquee {
	position: relative;
	z-index: 3;
	overflow: hidden;
	padding: 24px 0;
	mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.pg-hero__tags-track {
	display: flex;
	gap: 12px;
	width: max-content;
	animation: pgTagMarquee 28s linear infinite;
	will-change: transform;
}
.pg-hero__tags--marquee:hover .pg-hero__tags-track {
	animation-play-state: paused;
}
@keyframes pgTagMarquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
.pg-hero__tag {
	display: inline-block;
	padding: 8px 18px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 100px;
	color: var(--text-muted);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease;
}
.pg-hero__tags-track:hover .pg-hero__tag:hover {
	border-color: var(--accent);
	color: var(--accent-light);
	background: rgba(201,169,110,0.06);
}

/* Scroll indicator */
.pg-hero__scroll {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	z-index: 3;
	opacity: 0.6;
}
.pg-hero__scroll-text {
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.pg-hero__scroll-line {
	width: 1px;
	height: 40px;
	background: linear-gradient(to bottom, var(--accent), transparent);
	position: relative;
	overflow: hidden;
}
.pg-hero__scroll-line::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 50%;
	background: var(--accent);
	animation: pg-scroll-bounce 2s ease-in-out infinite;
}
@keyframes pg-scroll-bounce {
	0%, 100% { transform: translateY(-100%); }
	50% { transform: translateY(100%); }
}
.pg-hero__mask {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11,13,18,0.4) 0%, rgba(11,13,18,0.85) 100%);
	z-index: 1;
	pointer-events: none;
}
@media (max-width: 768px) {
	.pg-hero__scroll { display: none; }
	.pg-hero__tags--marquee { padding: 16px 0; }
	.pg-hero__tags-track { animation-duration: 20s; }
}

.pg-trust {
	background: var(--bg-elevated);
	border-bottom: 1px solid var(--border);
	padding: 64px 0;
}
.pg-trust__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	margin-bottom: 48px;
}
.pg-trust__stat { text-align: center; }
.pg-trust__stat-value {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 700;
	color: var(--accent);
	line-height: 1;
	margin-bottom: 8px;
}
.pg-trust__stat-value span { font-size: 0.55em; color: var(--text-muted); }
.pg-trust__stat-label {
	font-size: 0.82rem;
	color: var(--text-muted);
	line-height: 1.5;
	max-width: 220px;
	margin: 0 auto;
}
.pg-trust__logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}
.pg-trust__logo {
	padding: 10px 20px;
	background: linear-gradient(145deg, rgba(23,25,36,0.6) 0%, rgba(17,19,26,0.8) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-sm);
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-muted);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, color 0.3s ease;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
@media (hover: hover) {
.pg-trust__logo:hover {
	border-color: rgba(201,169,110,0.15);
	color: var(--text-heading);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
}
.pg-trust__logo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 50%), rgba(255,255,255,0.06) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
.pg-trust__logo.is-shining::after {
	opacity: 1;
}

.pg-offer { position: relative; }
.pg-offer__stats {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 48px auto 56px;
	max-width: 900px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 32px 16px;
	box-shadow: var(--shadow);
}
.pg-offer__stat {
	flex: 1;
	text-align: center;
	padding: 0 12px;
}
.pg-offer__stat-num {
	font-size: clamp(1.6rem, 3.5vw, 2.2rem);
	font-weight: 700;
	color: var(--accent);
	line-height: 1;
	display: block;
	margin-bottom: 8px;
}
.pg-offer__stat-suffix {
	font-size: 0.6em;
	color: var(--secondary);
	font-weight: 600;
}
.pg-offer__stat-label {
	font-size: 0.72rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
}
.pg-offer__stat-divider {
	width: 1px;
	height: 40px;
	background: var(--border);
	flex-shrink: 0;
}
.pg-offer__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	perspective: 1000px;
}
.pg-offer__card {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.05);
	box-shadow: var(--shadow-sm);
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
	transform-style: preserve-3d;
	perspective: 1000px;
	will-change: transform;
	backface-visibility: hidden;
}
.pg-offer__card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 60%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
	z-index: 2;
}
@media (hover: hover) {
.pg-offer__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.1);
}
}
.pg-offer__card-visual {
	position: relative;
	height: 120px;
	overflow: hidden;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.pg-offer__card-glow { display: none; }
.pg-offer__card-icon { color: var(--accent); }
.pg-offer__card-body { padding: 24px; }
.pg-offer__card-body h3 {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 10px;
}
.pg-offer__card-body p {
	font-size: 0.9rem;
	color: var(--text);
	line-height: 1.6;
	margin-bottom: 16px;
}
.pg-offer__card-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.pg-offer__card-list li {
	font-size: 0.82rem;
	color: var(--text-muted);
	padding: 5px 0 5px 18px;
	position: relative;
	line-height: 1.5;
}
.pg-offer__card-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 11px;
	width: 5px;
	height: 5px;
	background: var(--accent);
	border-radius: 50%;
}

/* Booking Engine */
.pg-booking {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 32px;
	box-shadow: var(--shadow);
}
.pg-booking__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}
.pg-booking__nav {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--border);
	background: var(--bg-elevated);
	color: var(--text-heading);
	font-size: 1.2rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition);
}
.pg-booking__nav:hover {
	background: var(--accent);
	color: var(--bg);
	border-color: var(--accent);
}
.pg-booking__month {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
}
.pg-booking__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
}
.pg-booking__col { text-align: center; }
.pg-booking__day {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
}
.pg-booking__day span {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-top: 4px;
}
.pg-booking__slot {
	width: 100%;
	padding: 10px 0;
	margin-bottom: 8px;
	border-radius: var(--radius-sm);
	border: 1px solid var(--border);
	background: var(--bg-elevated);
	color: var(--text);
	font-size: 0.82rem;
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition);
}
.pg-booking__slot:hover {
	background: rgba(201,169,110,0.1);
	border-color: var(--accent);
	color: var(--accent);
}
.pg-booking__slot.is-selected {
	background: var(--accent);
	color: var(--bg);
	border-color: var(--accent);
}
.pg-booking__legend {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--border);
}
.pg-booking__legend-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	color: var(--text-muted);
}
.pg-booking__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.pg-booking__dot--free { background: var(--success); }
.pg-booking__dot--taken { background: var(--danger); }
.pg-booking__dot--selected { background: var(--accent); }

/* Automation Flow */
.pg-flow {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
}
.pg-flow__line {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(180deg, var(--accent) 0%, var(--secondary) 100%);
	transform: translateX(-50%);
	border-radius: 2px;
}
.pg-flow__steps {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
.pg-flow__step {
	position: relative;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 32px;
	width: calc(50% - 32px);
	transition: var(--transition);
}
.pg-flow__step:nth-child(odd) { margin-right: auto; }
.pg-flow__step:nth-child(even) { margin-left: auto; }
.pg-flow__step:hover {
	border-color: var(--border-hover);
	transform: translateY(-2px);
	box-shadow: var(--shadow);
}
.pg-flow__num {
	position: absolute;
	left: 50%;
	top: -16px;
	transform: translateX(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--bg);
	font-size: 0.75rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pg-flow__title {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-flow__text {
	font-size: 0.9rem;
	color: var(--text);
	line-height: 1.6;
	margin: 0;
}

/* AI Triage */
.pg-ai {
	max-width: 720px;
	margin: 0 auto;
}
.pg-ai__options {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 32px;
}
.pg-ai__option {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 22px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--text-heading);
	font-size: 0.95rem;
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition);
	text-align: left;
	width: 100%;
}
.pg-ai__option:hover {
	border-color: var(--accent);
	background: rgba(201,169,110,0.04);
	transform: translateX(4px);
}
.pg-ai__option-icon {
	color: var(--accent);
	flex-shrink: 0;
}
.pg-ai__option svg:last-child {
	margin-left: auto;
	color: var(--text-muted);
	flex-shrink: 0;
}
.pg-ai__result {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 28px;
}
.pg-ai__result-label {
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--accent);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 10px;
}
.pg-ai__result-text {
	font-size: 0.9rem;
	color: var(--text-muted);
	line-height: 1.7;
	margin: 0;
}

/* Gallery */
.pg-gallery { background: var(--bg-elevated); }
.pg-gallery__particles { display: none; }

/* Slider Grid */
.pg-slider-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	max-width: 900px;
	margin: 0 auto;
}
@media (max-width: 768px) {
	.pg-slider-grid { grid-template-columns: 1fr; }
}

/* Before/After Slider — Premium Gold Edition, 60fps */
.pg-slider {
	position: relative;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	border-radius: var(--radius-lg);
	overflow: hidden;
	cursor: ew-resize;
	aspect-ratio: 16 / 10;
	background: var(--bg-surface);
	user-select: none;
	-webkit-user-select: none;
	touch-action: none;
	contain: layout paint style;
	backface-visibility: hidden;
	transform: translateZ(0);
	/* Gold gradient border via pseudo-element */
	box-shadow: 0 24px 80px rgba(0,0,0,0.4), 0 0 0 1px rgba(201,169,110,0.12);
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}
.pg-slider::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1.5px;
	background: linear-gradient(135deg, var(--accent) 0%, var(--secondary) 50%, var(--accent-light) 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 12;
	opacity: 0.6;
	transition: opacity 0.4s ease;
}
.pg-slider:hover::before {
	opacity: 1;
}
.pg-slider:hover {
	box-shadow: 0 32px 100px rgba(0,0,0,0.45), 0 0 40px rgba(201,169,110,0.08), 0 0 0 1px rgba(201,169,110,0.2);
	transform: translateY(-4px) scale(1.01);
}
.pg-slider__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
}
.pg-slider__img--before {
	z-index: 1;
}
.pg-slider__img--after {
	z-index: 2;
	clip-path: inset(0 calc(100% - var(--pos, 50%)) 0 0);
	will-change: clip-path;
	transform: translateZ(0);
}
.pg-slider__handle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--pos, 50%);
	width: 4px;
	background: linear-gradient(180deg, var(--accent) 0%, var(--accent-light) 30%, var(--secondary) 70%, var(--accent) 100%);
	transform: translateX(-50%);
	z-index: 10;
	box-shadow:
		0 0 16px rgba(201,169,110,0.5),
		0 0 40px rgba(201,169,110,0.2),
		0 0 80px rgba(201,169,110,0.08),
		inset 0 0 4px rgba(255,255,255,0.2);
	pointer-events: none;
	will-change: left, transform;
	backface-visibility: hidden;
}
.pg-slider__handle::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--accent) 0%, var(--secondary) 100%);
	box-shadow: 0 0 0 4px rgba(201,169,110,0.25), 0 8px 32px rgba(0,0,0,0.4);
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.pg-slider:hover .pg-slider__handle::after {
	box-shadow: 0 0 0 8px rgba(201,169,110,0.15), 0 12px 40px rgba(0,0,0,0.5);
	transform: translate(-50%, -50%) scale(1.08);
}
.pg-slider__handle-dot {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--bg);
	z-index: 11;
	box-shadow: 0 0 0 2px rgba(255,255,255,0.3);
	pointer-events: none;
}
.pg-slider__handle-arrows {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	gap: 3px;
	color: var(--bg);
	z-index: 11;
	pointer-events: none;
}
.pg-slider__label {
	position: absolute;
	bottom: 20px;
	padding: 8px 18px;
	background: rgba(11, 13, 18, 0.88);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(201,169,110,0.15);
	border-radius: 100px;
	font-size: 0.68rem;
	font-weight: 800;
	color: var(--accent-light);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	z-index: 5;
	transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	pointer-events: none;
	box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.pg-slider:hover .pg-slider__label {
	background: rgba(11, 13, 18, 0.97);
	border-color: rgba(201,169,110,0.35);
	transform: translateY(-3px);
	box-shadow: 0 8px 30px rgba(0,0,0,0.4), 0 0 20px rgba(201,169,110,0.08);
}
.pg-slider__label--before { left: 20px; }
.pg-slider__label--after { right: 20px; }
.pg-slider--custom { max-width: 100%; border-radius: var(--radius-lg); overflow: hidden; }
.pg-slider--product { max-width: 100%; border-radius: var(--radius-lg); overflow: hidden; }

/* Slider ambient glow behind */
.pg-slider-grid { position: relative; }
.pg-slider-grid::before {
	content: '';
	position: absolute;
	inset: -60px -40px;
	background: radial-gradient(ellipse at 50% 50%, rgba(201,169,110,0.04) 0%, transparent 60%);
	pointer-events: none;
	z-index: 0;
}

/* Mobile slider refinements */
@media (max-width: 768px) {
	.pg-slider__handle { width: 3px; }
	.pg-slider__label { padding: 6px 12px; font-size: 0.6rem; bottom: 12px; }
	.pg-slider__label--before { left: 12px; }
	.pg-slider__label--after { right: 12px; }
}

/* Timeline */
.pg-journey {
	position: relative;
	overflow: hidden;
}
.pg-section__media-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.12;
}
.pg-section__media-overlay {
	position: absolute;
	inset: 0;
	background: var(--bg);
	opacity: 0.85;
	z-index: 1;
}
.pg-journey .pg-container { position: relative; z-index: 2; }
.pg-timeline-v2 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.pg-timeline-v2__item {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: var(--transition);
}
.pg-timeline-v2__item:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: var(--border-hover);
}
.pg-timeline-v2__visual {
	position: relative;
	height: 100px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.pg-timeline-v2__glow { display: none; }
.pg-timeline-v2__icon { color: var(--accent); }
.pg-timeline-v2__body { padding: 24px; }
.pg-timeline-v2__tag {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 100px;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}
.pg-timeline-v2__tag--strategy { background: rgba(201,169,110,0.1); color: var(--accent); }
.pg-timeline-v2__tag--design { background: rgba(122,158,142,0.1); color: var(--secondary); }
.pg-timeline-v2__tag--dev { background: rgba(90,158,110,0.1); color: var(--success); }
.pg-timeline-v2__tag--growth { background: rgba(201,74,74,0.1); color: var(--danger); }
.pg-timeline-v2__num {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--accent);
	margin-bottom: 8px;
}
.pg-timeline-v2__heading {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 10px;
}
.pg-timeline-v2__text {
	font-size: 0.88rem;
	color: var(--text);
	line-height: 1.6;
	margin: 0;
}

/* Services */
.pg-services-dark { position: relative; overflow: hidden; }
.pg-services-dark .pg-mesh-bg,
.pg-services-dark .pg-ambient-glow { display: none; }
.pg-services-grid--dark {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.pg-service-card--dark {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	contain: layout paint;
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	padding: 32px;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
	overflow: hidden;
	will-change: transform;
	backface-visibility: hidden;
}
.pg-service-card--dark::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 60%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}
@media (hover: hover) {
	.pg-service-card--dark:hover {
		transform: translateY(-6px);
		box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
		border-color: rgba(201,169,110,0.1);
	}
}
.pg-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--radius);
	background: rgba(201,169,110,0.08);
	color: var(--accent);
	margin-bottom: 20px;
}
.pg-service-card__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 10px;
}
.pg-service-card__text {
	font-size: 0.88rem;
	color: var(--text);
	line-height: 1.6;
	margin: 0;
}

/* Testimonials */
.pg-testimonials {
	position: relative;
	overflow: hidden;
	background: var(--bg-elevated);
}
.pg-testimonials .pg-mesh-bg { display: none; }
.pg-testimonials__particles { display: none; }
.pg-testimonials__wrapper { max-width: 1100px; margin: 0 auto; }
.pg-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 48px;
	perspective: 1000px;
}
.pg-testimonials__card {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	padding: 28px;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
	overflow: hidden;
}
.pg-testimonials__card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.15) 0%, rgba(255,255,255,0.02) 50%, rgba(122,158,142,0.1) 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}
.pg-testimonials__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.1);
}
.pg-testimonials__stars {
	color: var(--accent);
	font-size: 1.1rem;
	letter-spacing: 2px;
	margin-bottom: 14px;
}
.pg-testimonials__text {
	font-size: 0.9rem;
	color: var(--text);
	line-height: 1.7;
	margin-bottom: 20px;
	font-style: italic;
}
.pg-testimonials__author {
	display: flex;
	align-items: center;
	gap: 12px;
}
.pg-testimonials__author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	color: var(--bg);
	font-size: 0.85rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.pg-testimonials__author strong { display: block; font-size: 0.9rem; color: var(--text-heading); }
.pg-testimonials__author span { font-size: 0.78rem; color: var(--text-muted); }
.pg-testimonials__cta {
	text-align: center;
	margin-top: 40px;
}

/* Testimonials — Wow Factor Cards (matches template .pg-testimonial) */
.pg-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 48px;
}
.pg-testimonial {
	position: relative;
	background: linear-gradient(145deg, rgba(23,25,36,0.95) 0%, rgba(17,19,26,0.98) 100%);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: var(--radius-lg);
	padding: 32px;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	overflow: hidden;
	will-change: transform;
	backface-visibility: hidden;
}
.pg-testimonial::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.08) 0%, rgba(122,158,142,0.04) 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}
@media (hover: hover) {
.pg-testimonial:hover {
	transform: translateY(-8px);
	box-shadow: 0 24px 64px rgba(0,0,0,0.35), 0 0 40px rgba(201,169,110,0.06);
	border-color: rgba(201,169,110,0.15);
}
}
.pg-testimonial__quote {
	position: absolute;
	top: 16px;
	left: 20px;
	font-family: Georgia, serif;
	font-size: 4rem;
	line-height: 1;
	color: rgba(201,169,110,0.12);
	pointer-events: none;
	user-select: none;
}
.pg-testimonial__stars {
	color: var(--accent);
	font-size: 1rem;
	letter-spacing: 3px;
	margin-bottom: 16px;
}
.pg-testimonial__text {
	font-size: 0.92rem;
	color: var(--text);
	line-height: 1.75;
	margin-bottom: 24px;
	position: relative;
	z-index: 1;
}
.pg-testimonial__author {
	display: flex;
	align-items: center;
	gap: 14px;
	border-top: 1px solid rgba(255,255,255,0.04);
	padding-top: 20px;
}
.pg-testimonial__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--accent) 0%, var(--secondary) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 700;
	color: var(--bg);
	flex-shrink: 0;
	box-shadow: 0 0 0 3px rgba(201,169,110,0.1);
}
.pg-testimonial__name {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 2px;
}
.pg-testimonial__meta {
	font-size: 0.78rem;
	color: var(--text-muted);
}
@media (max-width: 900px) {
	.pg-testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.pg-testimonials-grid { grid-template-columns: 1fr; }
}

/* Pricing / Matrix */
.pg-matrix { position: relative; overflow: hidden; }
.pg-matrix .pg-mesh-bg { display: none; }
.pg-matrix .pg-container { position: relative; z-index: 2; }
.pg-pricing-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 64px;
	perspective: 1000px;
}
.pg-pricing-card {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
	will-change: transform;
	backface-visibility: hidden;
}
.pg-pricing-card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 60%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}
@media (hover: hover) {
	.pg-pricing-card:hover {
		transform: translateY(-6px);
		box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.06);
		border-color: rgba(201,169,110,0.12);
	}
}
.pg-pricing-card--featured {
	border-color: rgba(201,169,110,0.3);
	box-shadow: 0 0 20px rgba(201,169,110,0.15);
}
.pg-pricing-card--featured:hover {
	box-shadow: 0 0 28px rgba(201,169,110,0.22);
}
.pg-pricing-card__visual {
	position: relative;
	height: 100px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.pg-pricing-card__glow {
	position: absolute;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201,169,110,0.12) 0%, transparent 70%);
	filter: blur(20px);
	animation: pg-glow-pulse 3s ease-in-out infinite;
}
.pg-pricing-card--featured .pg-pricing-card__glow {
	background: radial-gradient(circle, rgba(201,169,110,0.18) 0%, transparent 70%);
	animation: pg-glow-pulse 2s ease-in-out infinite;
}
.pg-pricing-card__icon { color: var(--accent); }

/* Timeline glow */
.pg-timeline-v2__glow {
	position: absolute;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201,169,110,0.08) 0%, transparent 70%);
	filter: blur(16px);
	animation: pg-glow-pulse 4s ease-in-out infinite;
}

@keyframes pg-glow-pulse {
	0%, 100% { transform: scale(1); opacity: 0.6; }
	50% { transform: scale(1.2); opacity: 1; }
}
.pg-pricing-card__featured-label {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 4px 10px;
	background: var(--accent);
	color: var(--bg);
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border-radius: 100px;
}
.pg-pricing-card__body { padding: 24px; }
.pg-pricing-card__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-pricing-card__badge {
	display: inline-block;
	padding: 4px 10px;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 100px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--text-muted);
	margin-bottom: 16px;
}
.pg-pricing-card__badge--gold { background: rgba(201,169,110,0.1); color: var(--accent); border-color: rgba(201,169,110,0.2); }
.pg-pricing-card__badge--purple { background: rgba(168,85,247,0.1); color: #a855f7; border-color: rgba(168,85,247,0.2); }
.pg-pricing-card__features { list-style: none; padding: 0; margin: 0; }
.pg-pricing-card__feature {
	font-size: 0.85rem;
	color: var(--text);
	padding: 8px 0;
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	gap: 10px;
}
.pg-pricing-card__feature:last-child { border-bottom: none; }
.pg-pricing-card__feature--yes::before { content: '\2713'; color: var(--success); font-weight: 700; flex-shrink: 0; }
.pg-pricing-card__feature--no::before { content: '\2014'; color: var(--danger); font-weight: 700; flex-shrink: 0; }

/* Matrix Table */
.pg-matrix-table-wrap {
	overflow-x: auto;
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
}
.pg-matrix-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.pg-matrix-table th,
.pg-matrix-table td {
	padding: 14px 18px;
	border-bottom: 1px solid var(--border);
	text-align: left;
}
.pg-matrix-table th {
	background: var(--bg-surface);
	font-weight: 600;
	color: var(--text-heading);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.pg-matrix-table td { color: var(--text); }
.pg-matrix-table tr:last-child td { border-bottom: none; }
.pg-matrix-table tr:hover td { background: rgba(255,255,255,0.02); }
.pg-matrix-table__check { color: var(--success); font-weight: 700; }
.pg-matrix-table__cross { color: var(--danger); font-weight: 700; }
.pg-matrix-table__badge {
	padding: 4px 10px;
	background: rgba(201,169,110,0.1);
	color: var(--accent);
	border-radius: 100px;
	font-size: 0.7rem;
	font-weight: 700;
}

/* Agency CTA */
.pg-agency__card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 48px 40px;
	text-align: center;
	max-width: 720px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
.pg-agency__icon {
	width: 56px;
	height: 56px;
	border-radius: var(--radius);
	background: rgba(201,169,110,0.08);
	color: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}
.pg-agency__icon-slow {
	animation: pgIconPulse 3s ease-in-out infinite;
}
.pg-agency__title {
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 12px;
}
.pg-agency__text {
	font-size: 1rem;
	color: var(--text-muted);
	line-height: 1.75;
	max-width: none;
	margin: 0 0 28px;
	padding: 0 20px;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.pg-agency__cta {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Wave Dividers — Organic Fluid Motion */
.pg-wave-divider,
.pg-dental-wave {
	width: 100%;
	height: 60px;
	overflow: hidden;
	line-height: 0;
	position: relative;
}
.pg-dental-wave { height: 100px; }
.pg-dental-wave--mt-48 { margin-top: 48px; }
.pg-dental-wave--offer-to-gallery { margin-bottom: -1px; }
.pg-dental-wave--services-to-testimonials { margin-bottom: -1px; }
.pg-wave-divider svg,
.pg-dental-wave svg {
	width: 100%;
	height: 100%;
	display: block;
}
.pg-wave-divider svg path:nth-child(1) {
	animation: pgWaveFloat 7s ease-in-out infinite;
}
.pg-wave-divider svg path:nth-child(2) {
	animation: pgWaveFloat 9s ease-in-out infinite reverse;
	animation-delay: -2s;
}
.pg-dental-wave svg path:nth-child(1) {
	animation: pgWaveFloat 10s ease-in-out infinite;
}
.pg-dental-wave svg path:nth-child(2) {
	animation: pgWaveFloat 12s ease-in-out infinite reverse;
	animation-delay: -3s;
}
.pg-dental-wave svg path:nth-child(3) {
	animation: pgWaveFloat 8s ease-in-out infinite;
	animation-delay: -1.5s;
}
@keyframes pgWaveFloat {
	0%, 100% { transform: translateY(0) scaleX(1); }
	33% { transform: translateY(-2px) scaleX(1.01); }
	66% { transform: translateY(1px) scaleX(0.99); }
}

/* Soft gradient section divider (alternative to wave) */
.pg-section-divider {
	position: relative;
	height: 120px;
	overflow: hidden;
	pointer-events: none;
}
.pg-section-divider::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, var(--bg-elevated) 0%, var(--bg) 50%, var(--bg-elevated) 100%);
	mask-image: radial-gradient(ellipse 80% 50% at 50% 50%, black 40%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 80% 50% at 50% 50%, black 40%, transparent 70%);
}
.pg-section-divider--subtle {
	height: 80px;
}
.pg-section-divider--subtle::before {
	mask-image: radial-gradient(ellipse 90% 40% at 50% 50%, black 30%, transparent 60%);
	-webkit-mask-image: radial-gradient(ellipse 90% 40% at 50% 50%, black 30%, transparent 60%);
}

/* Sticky Side Timeline Nav */
.pg-home-timeline {
	position: fixed;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 100;
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 20px 12px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}
.pg-home-timeline.is-visible {
	opacity: 1;
	visibility: visible;
}
.pg-home-timeline__track {
	position: absolute;
	left: 12px;
	top: 20px;
	bottom: 20px;
	width: 2px;
	background: var(--border);
	border-radius: 2px;
}
.pg-home-timeline__fill {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background: var(--accent);
	border-radius: 2px;
	transition: height 0.2s ease;
}
.pg-home-timeline__cat {
	position: relative;
	padding-left: 18px;
}
.pg-home-timeline__cat-label {
	display: block;
	font-size: 0.6rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 6px;
}
.pg-home-timeline__link {
	background: none;
	border: none;
	color: var(--text-muted);
	font-size: 0.75rem;
	font-weight: 500;
	cursor: pointer;
	padding: 4px 0;
	font-family: inherit;
	transition: color 0.2s ease;
	display: block;
	text-align: left;
}
.pg-home-timeline__link:hover,
.pg-home-timeline__link.is-active {
	color: var(--accent);
}

/* Toast Notifications */
.pg-toast-container {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 2000;
	display: flex;
	flex-direction: column;
	gap: 12px;
	pointer-events: none;
}
.pg-toast {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 16px 20px;
	box-shadow: var(--shadow-lg);
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 280px;
	max-width: 360px;
	pointer-events: auto;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.pg-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.pg-toast__icon {
	font-size: 1.2rem;
	flex-shrink: 0;
	line-height: 1;
}
.pg-toast__title {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 2px;
}
.pg-toast__message {
	font-size: 0.82rem;
	color: var(--text-muted);
	line-height: 1.5;
}
.pg-toast__close {
	background: none;
	border: none;
	color: var(--text-muted);
	font-size: 1.1rem;
	cursor: pointer;
	padding: 0;
	margin-left: auto;
	line-height: 1;
	transition: color 0.2s ease;
}
.pg-toast__close:hover { color: var(--text-heading); }

@media (max-width: 768px) {
	.pg-toast-container {
		bottom: calc(80px + env(safe-area-inset-bottom));
		left: 16px;
		right: 16px;
		align-items: stretch;
	}
	.pg-toast {
		width: 100%;
		max-width: none;
	}
}

/* Reveal Animations */
.pg-reveal,
.pg-reveal-stagger > *,
.pg-reveal-left,
.pg-reveal-right,
.pg-reveal-scale,
.pg-reveal-flip {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.pg-reveal-left { transform: translateX(-24px); }
.pg-reveal-right { transform: translateX(24px); }
.pg-reveal-scale { transform: scale(0.96); }
.pg-reveal-flip { transform: perspective(800px) rotateX(8deg) translateY(24px); }
.pg-reveal.is-visible,
.pg-reveal-stagger.is-visible > *,
.pg-reveal-left.is-visible,
.pg-reveal-right.is-visible,
.pg-reveal-scale.is-visible,
.pg-reveal-flip.is-visible {
	opacity: 1;
	transform: none;
}
.pg-reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0ms; }
.pg-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 80ms; }
.pg-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 160ms; }
.pg-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 240ms; }
.pg-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 320ms; }
.pg-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 400ms; }

/* Safety: if JS fails, force reveal after 3s so content is never hidden */
.pg-reveal:not(.is-visible),
.pg-reveal-left:not(.is-visible),
.pg-reveal-right:not(.is-visible),
.pg-reveal-scale:not(.is-visible),
.pg-reveal-flip:not(.is-visible) {
	animation: pg-force-reveal 0.01s 3s forwards;
}
@keyframes pg-force-reveal {
	to { opacity: 1; transform: none; }
}

/* Back to top */
.pg-back-to-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	color: var(--text-heading);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 500;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.2s ease;
	box-shadow: var(--shadow);
}
.pg-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
}
.pg-back-to-top:hover {
	transform: translateY(-3px);
	border-color: var(--accent);
	color: var(--accent);
}
.pg-back-to-top__ring,
.pg-back-to-top__progress {
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	transform: rotate(-90deg);
	transform-origin: 50% 50%;
}
.pg-back-to-top__ring {
	stroke: var(--border);
}
.pg-back-to-top__progress {
	stroke: var(--accent);
	stroke-dasharray: 160;
	stroke-dashoffset: 160;
	transition: stroke-dashoffset 0.1s linear;
}

/* Theme Rail */
.pg-theme-rail {
	position: fixed;
	bottom: 168px;
	right: 24px;
	z-index: 850;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 10px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: 100px;
	box-shadow: var(--shadow);
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.pg-theme-rail__dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	cursor: pointer;
	border: 2px solid transparent;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.pg-theme-rail__dot:hover { transform: scale(1.2); }
.pg-theme-rail__dot--dark { background: #0b0d12; border-color: var(--border); }
.pg-theme-rail__dot--light { background: #f6f7f9; border-color: var(--border); }
.pg-theme-rail__label {
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
	writing-mode: vertical-rl;
	text-orientation: mixed;
	margin-bottom: 4px;
}

/* Mobile CTA */
.pg-mobile-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 14px 24px calc(14px + env(safe-area-inset-bottom));
	background: linear-gradient(135deg, var(--bg-surface) 0%, var(--bg-elevated) 100%);
	border-top: 1px solid rgba(201,169,110,0.15);
	z-index: 600;
	display: none;
	gap: 12px;
	justify-content: center;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transform: translateY(10px);
}
.pg-mobile-cta.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.pg-mobile-cta__icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	color: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 12px rgba(201,169,110,0.3);
	animation: pgMobileCtaPulse 2s ease-in-out infinite;
}
@keyframes pgMobileCtaPulse {
	0%, 100% { box-shadow: 0 0 12px rgba(201,169,110,0.3); }
	50% { box-shadow: 0 0 20px rgba(201,169,110,0.5); }
}
.pg-mobile-cta__text {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-heading);
}

/* Footer */
.pg-footer {
	background: var(--bg-elevated);
	border-top: 1px solid var(--border);
	padding: 64px 0 32px;
}
.pg-footer__grid {
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: 48px;
	margin-bottom: 48px;
}
.pg-footer__brand {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 12px;
}
.pg-footer__brand span { color: var(--accent); }
.pg-footer__text {
	font-size: 0.85rem;
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: 16px;
}
.pg-footer__heading {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--text-heading);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 16px;
}
.pg-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}
.pg-footer__links li { margin-bottom: 10px; }
.pg-footer__links a {
	font-size: 0.85rem;
	color: var(--text-muted);
	transition: color 0.2s ease;
}
.pg-footer__links a {
	position: relative;
	display: inline-block;
}
.pg-footer__links a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	transition: width 0.3s ease;
}
.pg-footer__links a:hover { color: var(--accent); }
.pg-footer__links a:hover::after { width: 100%; }
.pg-footer__address {
	font-size: 0.85rem;
	color: var(--text-muted);
	line-height: 1.6;
	margin-top: 12px;
}
.pg-footer__brand-col {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.pg-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 24px;
	border-top: 1px solid var(--border);
}
.pg-footer__madeby {
	font-size: 0.78rem;
	color: var(--text-muted);
	font-weight: 500;
	letter-spacing: 0.04em;
}
.pg-footer__copy {
	font-size: 0.78rem;
	color: var(--text-muted);
}
.pg-footer__socials {
	display: flex;
	gap: 12px;
}
.pg-footer__social {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	color: var(--text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition);
}
.pg-footer__social:hover {
	border-color: var(--accent);
	color: var(--accent);
	transform: translateY(-2px);
}
.pg-footer__social-link {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	color: var(--text-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: var(--transition);
}
.pg-footer__social-link:hover {
	border-color: var(--accent);
	color: var(--accent);
	transform: translateY(-2px);
}

body.pg-nav-open {
	overflow: hidden;
	overscroll-behavior: none;
}

/* Mobile nav overscroll lock */
.pg-header__nav.is-open {
	overscroll-behavior: contain;
}

/* Theme switch flash overlay */
.pg-theme-flash {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: var(--bg);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.15s ease;
}

/* Language switcher */
.pg-lang { position: relative; }
.pg-lang__toggle {
	background: none;
	border: none;
	color: var(--text-muted);
	font-size: 0.78rem;
	font-weight: 700;
	cursor: pointer;
	padding: 4px 8px;
	font-family: inherit;
	transition: color 0.2s ease;
}
.pg-lang__toggle:hover { color: var(--text-heading); }
.pg-lang__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 6px;
	min-width: 100px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	box-shadow: var(--shadow);
	z-index: 100;
}
.pg-lang.is-open .pg-lang__menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.pg-lang__menu button {
	display: block;
	width: 100%;
	padding: 8px 12px;
	background: none;
	border: none;
	color: var(--text);
	font-size: 0.8rem;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	border-radius: var(--radius-sm);
	text-align: left;
	transition: background 0.2s ease;
}
.pg-lang__menu button:hover { background: rgba(255,255,255,0.04); color: var(--text-heading); }
.pg-lang__menu button.is-active { color: var(--accent); font-weight: 700; }
.pg-lang__current {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--accent);
}

/* FAB CTA */
.pg-fab-cta {
	position: fixed;
	bottom: 90px;
	right: 24px;
	z-index: 850;
	width: auto;
	min-width: 56px;
	max-width: 280px;
	height: 56px;
	padding: 0 24px;
	border-radius: 100px;
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	color: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
	box-shadow: var(--shadow-lg), 0 0 20px rgba(201,169,110,0.2);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pg-fab-cta:hover {
	transform: scale(1.05) translateY(-2px);
	box-shadow: var(--shadow-xl), 0 0 30px rgba(201,169,110,0.3);
}

/* Utility margins */
.pg-mt-32 { margin-top: 32px; }
.pg-mt-60 { margin-top: 60px; }

/* Color Swatch */
.pg-color-swatch {
	display: flex;
	gap: 6px;
	align-items: center;
}
.pg-color-swatch__chip {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid transparent;
	background: none;
	cursor: pointer;
	padding: 0;
	transition: var(--transition);
}
.pg-color-swatch__chip.is-active { border-color: var(--text-heading); }
.pg-color-swatch__chip-preview {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}
.pg-color-swatch__chip-preview--dark { background: #0b0d12; }
.pg-color-swatch__chip-preview--light { background: #f8f9fb; }
@media (max-width: 768px) {
	.pg-color-swatch { display: none; }
}

/* Responsive */
@media (max-width: 1024px) {
	.pg-home-timeline { display: none; }
	.pg-offer__grid { grid-template-columns: repeat(2, 1fr); }
	.pg-timeline-v2 { grid-template-columns: repeat(2, 1fr); }
	.pg-services-grid--dark { grid-template-columns: repeat(2, 1fr); }
	.pg-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
	.pg-pricing-cards { grid-template-columns: repeat(2, 1fr); }
	.pg-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
	.pg-hero__title { font-size: clamp(1.5rem, 4.5vw, 2.2rem); }
	.pg-hero__subtitle { font-size: clamp(0.92rem, 1.5vw, 1.05rem); }
	.pg-hero--inner,
	.pg-hero--usluge { min-height: 360px; padding: 130px 20px 70px; }
	.pg-booking__grid { grid-template-columns: repeat(3, 1fr); }
	.pg-trust__stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	.pg-offer__stats { gap: 24px; }
	.pg-matrix-table { font-size: 0.82rem; }
	.pg-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
}

@media (max-width: 768px) {
	.pg-hero--agency,
	.pg-hero--carousel { padding: 100px 20px 60px; }
	.pg-hero--inner,
	.pg-hero--usluge { min-height: 320px; padding: 120px 20px 60px; }
	.pg-hero__title { font-size: clamp(1.4rem, 5.5vw, 2rem); }
	.pg-hero__subtitle { font-size: clamp(0.9rem, 2.2vw, 1.05rem); }
	.pg-hero__panels { grid-template-columns: repeat(2, 1fr); }
	.pg-trust__stats { grid-template-columns: 1fr; gap: 20px; }
	.pg-offer__stats { flex-direction: column; gap: 20px; }
	.pg-offer__stat-divider { display: none; }
	.pg-offer__grid { grid-template-columns: 1fr; }
	.pg-booking__grid { grid-template-columns: repeat(2, 1fr); }
	.pg-flow__step { width: 100%; margin: 0; }
	.pg-flow__line { left: 16px; }
	.pg-timeline-v2 { grid-template-columns: 1fr; }
	.pg-services-grid--dark { grid-template-columns: 1fr; }
	.pg-testimonials__grid { grid-template-columns: 1fr; }
	.pg-pricing-cards { grid-template-columns: 1fr; }
	.pg-matrix-table { font-size: 0.78rem; }
	.pg-matrix-table th,
	.pg-matrix-table td { padding: 10px 12px; }
	.pg-footer { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
	.pg-footer__grid { grid-template-columns: 1fr; gap: 32px; text-align: center; }
	.pg-footer__brand-col { align-items: center; }
	.pg-footer__socials { justify-content: center; }
	.pg-footer__bottom { flex-direction: column; gap: 16px; text-align: center; }
	.pg-header__nav a,
	.pg-header__dropdown-toggle,
	.pg-btn { min-height: 48px; }
	.pg-mobile-cta { display: flex; }
	.pg-theme-rail {
		display: flex;
		flex-direction: row;
		bottom: calc(76px + env(safe-area-inset-bottom, 0px));
		right: 16px;
		padding: 8px 12px;
		border-radius: 999px;
		z-index: 840;
	}
	.pg-fab-cta { display: none; }
	.pg-form input,
	.pg-form textarea,
	.pg-form-glass__field input,
	.pg-form-glass__field textarea,
	.pg-form-glass__field select,
	.pg-search-form__input { font-size: 16px; }
	.pg-back-to-top { bottom: calc(80px + env(safe-area-inset-bottom)); right: 16px; }
	.pg-cta-banner { padding: 48px 20px; }
	.pg-error-404 { padding: 80px 20px; }
	.pg-fallback { padding: 48px 20px; }
	.pg-fallback--padded { padding: 80px 20px; }
	.pg-search-empty { padding: 32px 20px; }
}

@media (max-width: 480px) {
	.pg-container { padding: 0 16px; }
	.pg-header__logo { font-size: 1.1rem; }
	.pg-hero--agency,
	.pg-hero--carousel { padding: 90px 16px 48px; }
	.pg-hero--inner,
	.pg-hero--usluge { min-height: 280px; padding: 100px 16px 48px; }
	.pg-hero__panels { grid-template-columns: 1fr; }
	.pg-hero__title { font-size: clamp(1.3rem, 6.5vw, 1.8rem); }
	.pg-hero__subtitle { font-size: 0.88rem; }
	.pg-booking__grid { grid-template-columns: repeat(2, 1fr); }
	.pg-agency__card { padding: 40px 28px; }
	.pg-agency__text { padding: 0 12px; }
	.pg-section__title { font-size: clamp(1.25rem, 5vw, 1.7rem); }
	.pg-trust__stat-value { font-size: clamp(1.6rem, 5vw, 2.2rem); }
	.pg-btn { padding: 12px 24px; font-size: 0.82rem; }
}



/* Inner Hero (all subpages) */
.pg-hero--inner,
.pg-hero--usluge {
	min-height: 420px;
	padding: 140px 24px 80px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	background: var(--bg);
}
.pg-hero--inner .pg-hero__overlay,
.pg-hero--usluge .pg-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, var(--hero-scrim-top) 0%, var(--hero-scrim-bottom) 100%);
	z-index: 1;
}
.pg-hero--inner .pg-hero__content,
.pg-hero--usluge .pg-hero__content {
	position: relative;
	z-index: 3;
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
}
.pg-hero--inner .pg-hero__title,
.pg-hero--usluge .pg-hero__title {
	color: var(--hero-title);
}
.pg-hero--inner .pg-hero__subtitle,
.pg-hero--usluge .pg-hero__subtitle {
	color: var(--hero-subtitle);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.pg-hero--inner .pg-hero__breadcrumb,
.pg-hero--usluge .pg-hero__breadcrumb {
	color: var(--hero-breadcrumb);
}
.pg-hero--inner .pg-hero__breadcrumb a,
.pg-hero--usluge .pg-hero__breadcrumb a {
	color: var(--hero-breadcrumb);
}
.pg-hero--inner .pg-hero__breadcrumb a:hover,
.pg-hero--usluge .pg-hero__breadcrumb a:hover {
	color: var(--accent-light);
}

/* Breadcrumb */
.pg-hero__breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 24px;
	font-size: 0.78rem;
	color: var(--hero-breadcrumb);
	flex-wrap: wrap;
}
.pg-hero__breadcrumb a {
	color: var(--hero-breadcrumb);
	transition: color 0.2s ease;
}
.pg-hero__breadcrumb a:hover { color: var(--accent-light); }
.pg-hero__breadcrumb span { color: var(--hero-breadcrumb); opacity: 0.55; }

/* CTA Banner */
.pg-cta-banner {
	position: relative;
	padding: 80px 24px;
	text-align: center;
	overflow: hidden;
	background: var(--bg-elevated);
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
.pg-cta-banner__bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(201,169,110,0.04) 0%, transparent 50%, rgba(122,158,142,0.04) 100%);
	z-index: 0;
}
.pg-cta-banner__inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.pg-cta-banner__title {
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 12px;
}
.pg-cta-banner__text {
	font-size: 1rem;
	color: var(--text-muted);
	line-height: 1.7;
	max-width: 560px;
	margin: 0 auto 28px;
}
.pg-cta-banner__actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Generic Content */
.pg-section--content { padding: 64px 0; }
.pg-content { max-width: 780px; margin: 0 auto; }
.pg-content p {
	font-size: 1rem;
	color: var(--text);
	line-height: 1.7;
	margin-bottom: 1.2em;
}
.pg-content h2,
.pg-content h3 {
	font-family: var(--font-display);
	color: var(--text-heading);
	margin: 1.5em 0 0.6em;
}
.pg-content h2 { font-size: 1.6rem; }
.pg-content h3 { font-size: 1.25rem; }

/* Services Grid & Card (shared across pages) */
.pg-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	perspective: 1000px;
}
.pg-service-card {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	padding: 32px;
	position: relative;
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
}
.pg-service-card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 60%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}
.pg-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.1);
}
.pg-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--radius);
	background: rgba(201,169,110,0.08);
	color: var(--accent);
	margin-bottom: 20px;
	font-size: 0.85rem;
	font-weight: 700;
}
.pg-service-card__icon--stat {
	font-size: 1.1rem;
	font-weight: 800;
	background: linear-gradient(135deg, rgba(201,169,110,0.1) 0%, rgba(122,158,142,0.1) 100%);
	color: var(--accent);
}
.pg-service-card__icon--number {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--accent);
	background: rgba(201,169,110,0.08);
}
.pg-service-card__icon--stat-gold {
	background: linear-gradient(135deg, rgba(201,169,110,0.15) 0%, rgba(201,169,110,0.05) 100%);
	color: var(--accent);
}
.pg-service-card__icon--stat-teal {
	background: linear-gradient(135deg, rgba(122,158,142,0.15) 0%, rgba(122,158,142,0.05) 100%);
	color: var(--secondary);
}
.pg-service-card__role {
	font-size: 0.82rem;
	color: var(--accent);
	font-weight: 600;
	margin-bottom: 8px;
}

/* Collections (services page) */
.pg-collections {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.pg-collection-card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: var(--transition);
	cursor: pointer;
}
.pg-collection-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: var(--border-hover);
}
.pg-collection-card__front { padding: 32px; }
.pg-collection-card__icon { color: var(--accent); margin-bottom: 16px; }
.pg-collection-card__title {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-collection-card__desc {
	font-size: 0.88rem;
	color: var(--text);
	line-height: 1.6;
	margin-bottom: 12px;
}
.pg-collection-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--text-muted);
}
.pg-collection-card__inner {
	position: relative;
	transform-style: preserve-3d;
	transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.pg-collection-card__back {
	position: absolute;
	inset: 0;
	background: var(--bg-surface);
	border-radius: var(--radius-lg);
	padding: 32px;
	backface-visibility: hidden;
	transform: rotateY(180deg);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pg-collection-card__back-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-collection-card__back-text {
	font-size: 0.85rem;
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: 12px;
}
.pg-collection-card__back-icon {
	color: var(--accent);
	margin-bottom: 12px;
}
.pg-collection-card__time {
	font-size: 0.75rem;
	color: var(--accent);
	font-weight: 600;
	letter-spacing: 0.05em;
}

/* Pricing */
.pg-pricing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.pg-pricing__card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: var(--transition);
	position: relative;
}
.pg-pricing__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: var(--border-hover);
}
.pg-pricing__card--featured {
	border-color: rgba(201,169,110,0.3);
	box-shadow: 0 0 20px rgba(201,169,110,0.15);
}
.pg-pricing__badge {
	position: absolute;
	top: 16px;
	right: 16px;
	padding: 4px 12px;
	background: var(--accent);
	color: var(--bg);
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border-radius: 100px;
}
.pg-pricing__header { padding: 32px 28px 20px; }
.pg-pricing__name {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 6px;
}
.pg-pricing__desc {
	font-size: 0.85rem;
	color: var(--text-muted);
	margin-bottom: 16px;
}
.pg-pricing__price { margin-bottom: 4px; }
.pg-pricing__amount {
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--accent);
	line-height: 1;
}
.pg-pricing__amount span { font-size: 0.5em; font-weight: 600; vertical-align: super; }
.pg-pricing__eur {
	font-size: 0.82rem;
	color: var(--text-muted);
	margin-left: 8px;
}
.pg-pricing__features {
	list-style: none;
	padding: 0 28px;
	margin: 0 0 28px;
}
.pg-pricing__features li {
	font-size: 0.85rem;
	color: var(--text);
	padding: 10px 0;
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	gap: 10px;
}
.pg-pricing__features li:last-child { border-bottom: none; }
.pg-pricing__check {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(90,158,110,0.15);
	color: var(--success);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 700;
	flex-shrink: 0;
}
.pg-pricing__cta { padding: 0 28px 28px; }

/* Pricing Tables (detailed) */
.pg-pricing-tables { display: flex; flex-direction: column; gap: 40px; }
.pg-price-group { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.pg-price-group__title {
	padding: 20px 24px;
	font-size: 1rem;
	font-weight: 600;
	color: var(--text-heading);
	background: var(--bg-elevated);
	border-bottom: 1px solid var(--border);
}
.pg-price-group__table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.pg-price-group__table td {
	padding: 14px 24px;
	border-bottom: 1px solid var(--border);
	color: var(--text);
}
.pg-price-group__table tr:last-child td { border-bottom: none; }
.pg-price-group__price {
	font-weight: 700;
	color: var(--accent);
	white-space: nowrap;
}

/* Gallery Grid */
.pg-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	perspective: 1000px;
	gap: 32px;
}
.pg-gallery-item {
	background: linear-gradient(145deg, rgba(23,25,36,0.6) 0%, rgba(17,19,26,0.8) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	padding: 20px;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	overflow: hidden;
}
.pg-gallery-item:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.1);
}
.pg-gallery-item__slider {
	border-radius: var(--radius);
	overflow: hidden;
}
.pg-gallery-item__slider img,
.pg-collection-card__front img {
	transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.pg-gallery-item__slider.is-zoomed img,
.pg-collection-card__front.is-zoomed img {
	transform: scale(1.08);
}
.pg-gallery-item__body { padding: 20px 4px 8px; }
.pg-gallery-item__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-gallery-item__desc {
	font-size: 0.88rem;
	color: var(--text-muted);
	line-height: 1.6;
}

/* Tech Grid */
.pg-tech-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	perspective: 1000px;
}
.pg-tech-card {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	padding: 32px;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
	overflow: hidden;
}
.pg-tech-card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 60%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}
.pg-tech-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.1);
}
.pg-tech-card__icon { color: var(--accent); margin-bottom: 16px; }
.pg-tech-card__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 10px;
}
.pg-tech-card__text {
	font-size: 0.88rem;
	color: var(--text);
	line-height: 1.6;
}

/* Products */
.pg-proizvodi-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	perspective: 1000px;
}
.pg-proizvod-card {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
}
.pg-proizvod-card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-lg);
	padding: 1px;
	background: linear-gradient(145deg, rgba(201,169,110,0.06) 0%, transparent 60%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
	z-index: 2;
}
.pg-proizvod-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.1);
}
.pg-proizvod-card__media { position: relative; height: 200px; overflow: hidden; background: var(--bg-elevated); }
.pg-proizvod-card__img { width: 100%; height: 100%; object-fit: cover; }
.pg-proizvod-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	font-size: 0.85rem;
}
.pg-proizvod-card__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.pg-proizvod-card:hover .pg-proizvod-card__overlay { opacity: 1; }
.pg-proizvod-card__cta {
	padding: 10px 20px;
	background: var(--accent);
	color: var(--bg);
	border-radius: 100px;
	font-size: 0.78rem;
	font-weight: 700;
}
.pg-proizvod-card__gallery-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(11,13,18,0.6);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	z-index: 3;
	transition: background 0.2s ease;
}
.pg-proizvod-card__gallery-btn:hover {
	background: var(--accent);
}
.pg-proizvod-card__body { padding: 20px; }
.pg-proizvod-card__title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 6px;
}
.pg-proizvod-card__price {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--accent);
	margin-bottom: 8px;
}
.pg-proizvod-card__excerpt {
	font-size: 0.82rem;
	color: var(--text-muted);
	line-height: 1.5;
}

/* Contact */
.pg-kontakt { padding: 64px 0; }
.pg-kontakt__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: start;
}
.pg-kontakt__info { padding-top: 8px; }
.pg-kontakt__info-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	margin-bottom: 16px;
	transition: var(--transition);
}
.pg-kontakt__info-item:hover { border-color: var(--border-hover); }
.pg-kontakt__info-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--radius);
	background: rgba(201,169,110,0.08);
	color: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.pg-kontakt__info-title {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 4px;
}
.pg-kontakt__info-text {
	font-size: 0.85rem;
	color: var(--text-muted);
}

/* Contact hero media */
.pg-kontakt {
	position: relative;
	padding: 120px 0 64px;
	overflow: hidden;
}
.pg-kontakt__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	z-index: 0;
}
.pg-kontakt__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(11,13,18,0.92) 0%, rgba(11,13,18,0.85) 50%, rgba(11,13,18,0.75) 100%);
	z-index: 1;
}
.pg-kontakt__grid {
	position: relative;
	z-index: 2;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 48px;
	align-items: start;
}
.pg-kontakt__form-zone {
	position: relative;
}
.pg-kontakt__glass {
	background: linear-gradient(180deg, var(--bg-surface) 0%, var(--bg-elevated) 100%);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 40px;
	box-shadow: var(--shadow-lg);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.pg-kontakt__title {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 700;
	color: var(--text-heading);
	line-height: 1.15;
	margin-bottom: 16px;
	letter-spacing: -0.02em;
}
.pg-kontakt__intro {
	font-size: 1rem;
	color: var(--text-muted);
	line-height: 1.7;
	margin-bottom: 32px;
}
.pg-kontakt__trust {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--text-muted);
	margin-top: 20px;
	opacity: 0.7;
}
.pg-kontakt__info-zone {
	position: relative;
}
.pg-kontakt__info-list {
	margin-bottom: 32px;
}
.pg-kontakt__info-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	margin-bottom: 16px;
	transition: var(--transition);
}
.pg-kontakt__info-item:hover { border-color: var(--border-hover); }
.pg-kontakt__info-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--radius);
	background: rgba(201,169,110,0.08);
	color: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.pg-kontakt__info-icon--pulse {
	animation: pgIconPulse 2s ease-in-out infinite;
}
@keyframes pgIconPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(201,169,110,0.2); }
	50% { box-shadow: 0 0 0 8px rgba(201,169,110,0); }
}
.pg-kontakt__info-title {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 4px;
}
.pg-kontakt__info-text {
	font-size: 0.85rem;
	color: var(--text-muted);
}
.pg-kontakt__chat {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 24px;
	margin-bottom: 24px;
}
.pg-kontakt__chat-title {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.pg-kontakt__chat-buttons {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.pg-kontakt__flip {
	perspective: 1200px;
}
.pg-kontakt__flip-inner {
	position: relative;
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	border-radius: var(--radius-lg);
	padding: 32px;
	color: var(--bg);
	box-shadow: var(--shadow-lg), 0 0 30px rgba(201,169,110,0.15);
	transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.pg-kontakt__flip-inner:hover {
	transform: rotateY(-4deg) rotateX(2deg) translateZ(10px);
}
.pg-kontakt__flip-front {
	text-align: center;
}
.pg-kontakt__flip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(255,255,255,0.15);
	margin-bottom: 16px;
}
.pg-kontakt__flip-title {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 12px;
	opacity: 0.9;
}
.pg-kontakt__flip-text {
	font-size: 0.85rem;
	line-height: 1.6;
	opacity: 0.85;
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
}
.pg-kontakt__btn {
	width: 100%;
	margin-top: 8px;
}

/* Contact responsive */
@media (max-width: 1024px) {
	.pg-kontakt__grid { grid-template-columns: 1fr; gap: 40px; }
	.pg-kontakt__glass { padding: 28px; }
	.pg-kontakt__flip-inner:hover { transform: none; }
}
@media (max-width: 768px) {
	.pg-kontakt { padding: 100px 0 48px; }
	.pg-kontakt__glass { padding: 20px; }
	.pg-kontakt__title { font-size: 1.5rem; }
}
.pg-map-wrapper {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--border);
	box-shadow: var(--shadow);
	margin-top: 32px;
}
.pg-map-wrapper iframe {
	width: 100%;
	height: 400px;
	border: 0;
	display: block;
}

.pg-form input,
.pg-form textarea {
	width: 100%;
	padding: 14px 18px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--text-heading);
	font-family: inherit;
	font-size: 0.9rem;
	transition: var(--transition);
	margin-bottom: 14px;
}
.pg-form input:focus,
.pg-form textarea:focus { outline: none; border-color: var(--accent); }
.pg-form textarea { resize: vertical; min-height: 120px; }
.pg-form__submit {
	width: 100%;
	margin-top: 8px;
}
.pg-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pg-form-glass__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pg-form-glass__title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-form-glass__text {
	font-size: 0.85rem;
	color: var(--text-muted);
	margin-bottom: 20px;
}

/* Timeline (about page) */
.pg-timeline { position: relative; max-width: 800px; margin: 0 auto; }
.pg-timeline__line {
	position: absolute;
	left: 24px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: var(--border);
	border-radius: 2px;
	overflow: hidden;
}
.pg-timeline__line::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: var(--fill-percent, 0%);
	background: linear-gradient(180deg, var(--accent) 0%, var(--secondary) 100%);
	border-radius: 2px;
	transition: height 0.4s ease;
}
.pg-timeline__item {
	position: relative;
	padding-left: 64px;
	padding-bottom: 48px;
}
.pg-timeline__item:last-child { padding-bottom: 0; }
.pg-timeline__dot {
	position: absolute;
	left: 15px;
	top: 4px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--accent);
	border: 4px solid var(--bg);
	box-shadow: 0 0 0 3px rgba(201,169,110,0.3);
}
.pg-timeline__step {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--accent);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 6px;
}
.pg-timeline__heading {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 8px;
}
.pg-timeline__text {
	font-size: 0.9rem;
	color: var(--text);
	line-height: 1.6;
}
.pg-timeline__content {
	position: relative;
}
.pg-timeline__image {
	border-radius: var(--radius-lg);
	overflow: hidden;
	margin-top: 16px;
	border: 1px solid var(--border);
}
.pg-timeline__image img {
	width: 100%;
	height: auto;
	display: block;
}
.pg-timeline__placeholder {
	width: 100%;
	height: 160px;
	background: linear-gradient(135deg, var(--bg-elevated) 0%, var(--bg-surface) 100%);
	border-radius: var(--radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	font-size: 0.85rem;
	margin-top: 16px;
	border: 1px solid var(--border);
}

/* Awards */
.pg-awards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	max-width: 900px;
	margin: 0 auto;
}
.pg-award {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--text);
	transition: var(--transition);
}
.pg-award:hover {
	border-color: var(--border-hover);
	transform: translateY(-2px);
}
.pg-award__icon { color: var(--accent); }

/* Booking */
.pg-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 48px;
}
.pg-step {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 24px;
	text-align: center;
	transition: var(--transition);
}
.pg-step:hover { border-color: var(--border-hover); transform: translateY(-2px); }
.pg-step.is-active {
	border-color: var(--accent);
	background: linear-gradient(145deg, rgba(201,169,110,0.08) 0%, transparent 100%);
	box-shadow: 0 0 20px rgba(201,169,110,0.08);
}
.pg-step.is-active .pg-step__num {
	background: var(--accent);
	color: var(--bg);
	box-shadow: 0 0 12px rgba(201,169,110,0.3);
}
.pg-step__num {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bg-elevated);
	color: var(--text-muted);
	font-size: 0.8rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
	transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.pg-step__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 6px;
}
.pg-step__text { font-size: 0.82rem; color: var(--text-muted); line-height: 1.5; }
.pg-step__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-top: 8px;
	opacity: 0.7;
}
.pg-step__line {
	width: 2px;
	flex: 1;
	background: linear-gradient(180deg, var(--border) 0%, transparent 100%);
	margin: 8px auto;
	min-height: 20px;
}

/* Docs */
.pg-doc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.pg-doc-card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 28px;
	transition: var(--transition);
}
.pg-doc-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: var(--border-hover);
}
.pg-doc-card__icon { color: var(--accent); margin-bottom: 14px; }
.pg-doc-card__avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 14px;
	border: 2px solid var(--border);
	transition: border-color 0.3s ease;
}
.pg-doc-card:hover .pg-doc-card__avatar {
	border-color: var(--accent);
}
.pg-doc-card__name {
	font-size: 1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 4px;
}
.pg-doc-card__spec {
	font-size: 0.8rem;
	color: var(--text-muted);
	margin-bottom: 8px;
}
.pg-doc-card__badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 100px;
	background: rgba(201,169,110,0.1);
	color: var(--accent);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* FAQ — Premium Accordion */
.pg-faq-group { margin-bottom: 48px; }
.pg-faq-group__title {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--accent);
	background: rgba(201,169,110,0.08);
	border: 1px solid rgba(201,169,110,0.15);
	border-radius: 100px;
	padding: 6px 16px;
	margin-bottom: 20px;
}
.pg-faq { max-width: 800px; margin: 0 auto; }
.pg-faq__item {
	background: linear-gradient(145deg, rgba(23,25,36,0.6) 0%, rgba(17,19,26,0.8) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
	backdrop-filter: blur(4px);
}
.pg-faq__item:hover {
	border-color: rgba(201,169,110,0.12);
	box-shadow: 0 8px 32px rgba(0,0,0,0.15);
	transform: translateX(4px);
}
.pg-faq__item.is-open {
	border-color: rgba(201,169,110,0.15);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
	transform: translateX(0);
}
.pg-faq__question {
	width: 100%;
	padding: 22px 28px;
	background: none;
	border: none;
	color: var(--text-heading);
	font-size: 0.96rem;
	font-weight: 600;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	transition: color 0.3s ease;
}
.pg-faq__question:hover { color: var(--accent-light); }
.pg-faq__answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.4s ease;
	padding: 0 28px;
	font-size: 0.9rem;
	color: var(--text);
	line-height: 1.75;
}
.pg-faq__item.is-open .pg-faq__answer {
	max-height: 500px;
	padding: 0 28px 24px;
}
.pg-faq__icon {
	transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	color: var(--text-muted);
	font-size: 1.2rem;
	font-weight: 300;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.03);
	border-radius: 50%;
}
.pg-faq__item.is-open .pg-faq__icon {
	transform: rotate(135deg);
	color: var(--accent);
	background: rgba(201,169,110,0.08);
}

/* Medical Tourism */
.pg-tourism-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pg-tourism-step {
	background: linear-gradient(145deg, rgba(23,25,36,0.8) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	padding: 32px;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	position: relative;
	overflow: hidden;
}
.pg-tourism-step:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-md);
	border-color: rgba(255,255,255,0.10);
}
.pg-tourism-step__num {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 12px;
	opacity: 0.7;
}
.pg-tourism-step__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 10px;
	line-height: 1.3;
}
.pg-tourism-step__text {
	font-size: 0.85rem;
	color: var(--text-muted);
	line-height: 1.6;
}

/* Inner responsive */
@media (max-width: 1024px) {
	.pg-services-grid,
	.pg-collections,
	.pg-pricing,
	.pg-tech-grid,
	.pg-proizvodi-grid,
	.pg-gallery-grid,
	.pg-tourism-steps,
	.pg-doc-grid { grid-template-columns: repeat(2, 1fr); }
	.pg-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.pg-services-grid,
	.pg-collections,
	.pg-pricing,
	.pg-tech-grid,
	.pg-proizvodi-grid,
	.pg-gallery-grid,
	.pg-tourism-steps,
	.pg-doc-grid { grid-template-columns: 1fr; }
	.pg-steps { grid-template-columns: repeat(2, 1fr); }
	.pg-kontakt__grid { grid-template-columns: 1fr; }
	.pg-form__row { grid-template-columns: 1fr; }
	.pg-hero--inner,
	.pg-hero--usluge { min-height: 320px; padding: 120px 20px 60px; }
	.pg-timeline__item { padding-left: 48px; }
	.pg-timeline__line { left: 16px; }
	.pg-timeline__dot { left: 7px; }
}
@media (max-width: 480px) {
	.pg-steps { grid-template-columns: 1fr; }
	.pg-pricing__amount { font-size: 1.8rem; }
}
/* Missing section modifiers */
.pg-section--cream { background: var(--bg-elevated); }
.pg-section--pt-sm { padding-top: 32px; }
.pg-section--py-sm { padding-top: 32px; padding-bottom: 32px; }

/* Booking Layout */
.pg-booking-layout {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 32px;
	align-items: start;
}
.pg-booking-layout__title {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 20px;
}
.pg-booking-layout__left { position: sticky; top: 100px; }
.pg-booking-layout__right { min-width: 0; }
.pg-booking__nav--next { order: 2; }
.pg-booking__nav--prev { order: 0; }
@media (max-width: 768px) {
	.pg-booking-layout { grid-template-columns: 1fr; }
	.pg-booking-layout__left { position: static; }
}

/* Form Glass (booking page) */
.pg-form-glass {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 32px;
	max-width: 520px;
	margin: 0 auto;
}
.pg-form-glass__inner { display: flex; flex-direction: column; gap: 16px; }
.pg-form-glass__field { display: flex; flex-direction: column; gap: 6px; transition: transform 0.3s ease; }
.pg-form-glass__field label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.pg-form-glass__field input,
.pg-form-glass__field textarea,
.pg-form-glass__field select {
	width: 100%;
	padding: 12px 16px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--text-heading);
	font-family: inherit;
	font-size: 0.9rem;
	transition: var(--transition);
}
.pg-form-glass__field input:focus,
.pg-form-glass__field textarea:focus,
.pg-form-glass__field select:focus { outline: none; border-color: var(--accent); }
.pg-form-glass__field.is-focused {
	transform: translateX(4px);
}
.pg-form-glass__field.is-focused input,
.pg-form-glass__field.is-focused textarea,
.pg-form-glass__field.is-focused select {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(201,169,110,0.1), 0 0 20px rgba(201,169,110,0.05);
}

/* Proizvod Layout */
.pg-proizvod-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.pg-proizvod-info { position: sticky; top: 100px; }
.pg-proizvod-price {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--accent);
	margin-bottom: 16px;
}
.pg-proizvod-actions {
	display: flex;
	gap: 12px;
	margin-top: 24px;
	flex-wrap: wrap;
}
.pg-proizvod-media {
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.pg-proizvod-featured {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--border);
	box-shadow: var(--shadow);
}
.pg-proizvod-featured img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.pg-proizvod-featured:hover img {
	transform: scale(1.03);
}
.pg-proizvod-before-after {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 24px;
}
.pg-proizvod-section-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 16px;
}
.pg-proizvod-gallery {
	margin-top: 32px;
}
.pg-proizvod-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.pg-proizvod-gallery__thumb {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--border);
	transition: transform 0.3s ease, border-color 0.3s ease;
}
.pg-proizvod-gallery__thumb:hover {
	transform: translateY(-3px);
	border-color: var(--accent);
}
.pg-proizvod-gallery__thumb img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	display: block;
}
.pg-proizvod-content {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--text);
}
.pg-proizvod-hero__price {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--accent);
	margin-top: 8px;
}
.pg-proizvod-card__link {
	text-decoration: none;
	color: inherit;
	display: block;
}
.pg-proizvodi-grid--compact {
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 768px) {
	.pg-proizvod-layout { grid-template-columns: 1fr; }
	.pg-proizvod-info { position: static; }
	.pg-proizvod-gallery__grid { grid-template-columns: repeat(2, 1fr); }
	.pg-proizvodi-grid--compact { grid-template-columns: 1fr; }
}

/* Blog Grid */
.pg-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 48px;
}
@media (max-width: 1024px) {
	.pg-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.pg-blog-grid { grid-template-columns: 1fr; }
}

/* Post Cards (archive/search) */
.pg-post-card {
	background: linear-gradient(145deg, rgba(23,25,36,0.9) 0%, rgba(17,19,26,0.95) 100%);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.3s ease;
	display: flex;
	flex-direction: column;
}
.pg-post-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0,0,0,0.3), 0 0 30px rgba(201,169,110,0.04);
	border-color: rgba(201,169,110,0.12);
}
.pg-post-card__image {
	height: 200px;
	background: var(--bg-elevated);
	background-size: cover;
	background-position: center;
	display: block;
	position: relative;
	overflow: hidden;
	transition: transform 0.5s ease;
}
.pg-post-card:hover .pg-post-card__image {
	transform: scale(1.05);
}
.pg-post-card__image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--bg-elevated) 0%, var(--bg-surface) 100%);
}
.pg-post-card__image--placeholder span {
	font-family: var(--font-display);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--text-muted);
	letter-spacing: 0.08em;
}
.pg-post-card__body {
	padding: 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.pg-post-card__title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 10px;
	line-height: 1.3;
}
.pg-post-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}
.pg-post-card__title a:hover {
	color: var(--accent);
}
.pg-post-card__meta {
	display: flex;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--text-muted);
	margin-bottom: 12px;
	align-items: center;
}
.pg-post-card__dot { color: var(--accent); opacity: 0.5; }
.pg-post-card__excerpt {
	font-size: 0.88rem;
	color: var(--text);
	line-height: 1.65;
	margin-bottom: 20px;
	flex: 1;
}
.pg-post-card__action { margin-top: auto; }
.pg-post-card__thumb {
	position: relative;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
	overflow: hidden;
	aspect-ratio: 16/10;
	background: var(--bg-elevated);
}
.pg-post-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.pg-post-card:hover .pg-post-card__thumb img {
	transform: scale(1.05);
}
.pg-post-card__cat {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 100px;
	background: rgba(201,169,110,0.1);
	border: 1px solid rgba(201,169,110,0.15);
	color: var(--accent);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.pg-post-card__link {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--accent);
	text-decoration: none;
	transition: opacity 0.2s ease;
}
.pg-post-card__link:hover {
	opacity: 0.8;
}

/* Gold small button */
.pg-btn--gold-sm {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 20px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
	color: var(--bg);
	border: none;
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	text-decoration: none;
}
.pg-btn--gold-sm:hover {
	box-shadow: 0 8px 24px rgba(201,169,110,0.25);
	transform: translateY(-2px);
}
.pg-btn--viber {
	background: linear-gradient(135deg, #7360f2 0%, #5b4dd1 100%);
	color: #fff;
	border: none;
}
.pg-btn--viber:hover {
	box-shadow: 0 8px 24px rgba(115,96,242,0.3);
	transform: translateY(-2px);
}
.pg-btn--whatsapp {
	background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
	color: #fff;
	border: none;
}
.pg-btn--whatsapp:hover {
	box-shadow: 0 8px 24px rgba(37,211,102,0.3);
	transform: translateY(-2px);
}

/* Alerts */
.pg-alert {
	padding: 14px 18px;
	border-radius: var(--radius);
	font-size: 0.9rem;
	font-weight: 500;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.pg-alert--success {
	background: rgba(90,158,110,0.1);
	border: 1px solid rgba(90,158,110,0.2);
	color: var(--success);
}
.pg-alert--error {
	background: rgba(201,74,74,0.1);
	border: 1px solid rgba(201,74,74,0.2);
	color: var(--danger);
}

/* Pagination */
.pg-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
}
.pg-pagination a,
.pg-pagination span {
	padding: 8px 14px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--text);
	font-size: 0.85rem;
	transition: var(--transition);
}
.pg-pagination a:hover {
	border-color: var(--accent);
	color: var(--accent);
}
.pg-pagination .current {
	background: var(--accent);
	color: var(--bg);
	border-color: var(--accent);
	font-weight: 600;
}

/* Post Single */
.pg-post-single { padding: 64px 0; }
.pg-post-single__container { max-width: 800px; margin: 0 auto; }
.pg-post-single__header { margin-bottom: 40px; }
.pg-post-single__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--text-muted);
	margin-bottom: 20px;
	align-items: center;
}
.pg-post-single__breadcrumb a {
	color: var(--text-muted);
	text-decoration: none;
	transition: color 0.3s ease;
}
.pg-post-single__breadcrumb a:hover { color: var(--accent); }
.pg-post-single__breadcrumb-current {
	color: var(--text-heading);
	font-weight: 500;
	max-width: 300px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pg-post-single__badge {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(201,169,110,0.08);
	border: 1px solid rgba(201,169,110,0.2);
	border-radius: 100px;
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--accent);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 16px;
}
.pg-post-single__title {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 16px;
	line-height: 1.2;
}
.pg-post-single__meta {
	display: flex;
	gap: 12px;
	font-size: 0.85rem;
	color: var(--text-muted);
	align-items: center;
	flex-wrap: wrap;
}
.pg-post-single__featured {
	border-radius: var(--radius-lg);
	overflow: hidden;
	margin-bottom: 40px;
	border: 1px solid var(--border);
}
.pg-post-single__featured img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
}
.pg-image-hover:hover img {
	transform: scale(1.03);
}
.pg-post-single__content {
	font-size: 1rem;
	color: var(--text);
	line-height: 1.8;
}
.pg-post-single__content p { margin-bottom: 1.2em; }
.pg-post-single__content h2,
.pg-post-single__content h3 {
	color: var(--text-heading);
	margin-top: 1.5em;
	margin-bottom: 0.6em;
}
.pg-post-single__content img {
	border-radius: var(--radius-md);
	max-width: 100%;
	height: auto;
}
.pg-post-single__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--border);
	gap: 16px;
	flex-wrap: wrap;
}
.pg-post-single__share { display: flex; gap: 10px; }
@media (max-width: 600px) {
	.pg-post-single__footer {
		flex-direction: column;
		align-items: flex-start;
	}
	.pg-post-single__share { width: 100%; }
	.pg-post-single__breadcrumb-current { max-width: 200px; }
}

/* Comments */
.pg-comments { padding: 48px 0; }
.pg-comments__form { margin-bottom: 32px; }
.pg-comments__list { list-style: none; padding: 0; }
.pg-comments__list li {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 20px;
	margin-bottom: 16px;
}
.pg-comment__header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
.pg-comment__author {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--text-heading);
}
.pg-comment__time {
	font-size: 0.72rem;
	color: var(--text-muted);
}
.pg-comment__text {
	font-size: 0.88rem;
	color: var(--text);
	line-height: 1.6;
	margin-bottom: 12px;
}
.pg-comment__reply {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--accent);
	text-decoration: none;
}
.pg-comment__reply:hover {
	opacity: 0.8;
}
.pg-comment__awaiting {
	font-size: 0.8rem;
	color: var(--text-muted);
	font-style: italic;
	padding: 8px;
	background: rgba(201,169,110,0.04);
	border-radius: var(--radius);
}

/* Error 404 */
.pg-error-404 {
	min-height: 60vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 120px 24px;
}
.pg-error-404__num {
	font-size: clamp(4rem, 10vw, 8rem);
	font-weight: 800;
	color: var(--accent);
	line-height: 1;
	margin-bottom: 16px;
}
.pg-error-404__title {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 600;
	color: var(--text-heading);
	margin-bottom: 12px;
}
.pg-error-404__text {
	font-size: 1rem;
	color: var(--text-muted);
	max-width: 480px;
	margin: 0 auto 24px;
}
.pg-error-404__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Fallback */
.pg-fallback {
	min-height: 50vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 80px 24px;
}
.pg-fallback--padded { padding: 120px 24px; }
.pg-fallback__title {
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 12px;
}
.pg-fallback__text {
	font-size: 1rem;
	color: var(--text-muted);
	margin-bottom: 24px;
}
.pg-fallback__action {
	margin-top: 8px;
}

/* Search */
.pg-search-empty {
	text-align: center;
	padding: 48px 24px;
}
.pg-search-empty__title {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 12px;
}
.pg-search-empty__text {
	font-size: 1rem;
	color: var(--text-muted);
	margin-bottom: 24px;
}
.pg-search-form {
	position: relative;
	max-width: 480px;
	margin: 0 auto;
}
.pg-search-form__input {
	width: 100%;
	padding: 14px 52px 14px 18px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: 100px;
	color: var(--text-heading);
	font-family: inherit;
	font-size: 0.9rem;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.pg-search-form__input:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(201,169,110,0.15);
}

/* Comments extras */
.pg-comments__title {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--text-heading);
	margin-bottom: 24px;
}
.pg-comments__nav {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
	font-size: 0.85rem;
}
.pg-comments__nav a {
	color: var(--accent);
	font-weight: 600;
}
.pg-comments__closed {
	font-size: 0.9rem;
	color: var(--text-muted);
	padding: 16px;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	text-align: center;
}

/* Decorative Background Elements */
.pg-mesh-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.pg-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.18;
	pointer-events: none;
}
.pg-orb--gold {
	width: 300px;
	height: 300px;
	background: var(--accent);
}
.pg-orb--purple {
	width: 280px;
	height: 280px;
	background: #9e7a8e;
}
.pg-orb--teal {
	width: 260px;
	height: 260px;
	background: var(--secondary);
}
.pg-orb--services-1 { top: 10%; left: 5%; background: var(--accent); }
.pg-orb--services-2 { bottom: 15%; right: 10%; background: var(--secondary); }
.pg-orb--services-3 { top: 50%; left: 50%; background: #9e7a8e; transform: translate(-50%, -50%); }
.pg-orb--testimonials-1 { top: 20%; left: 10%; background: var(--accent); }
.pg-orb--testimonials-2 { bottom: 20%; right: 15%; background: var(--secondary); }
.pg-orb--testimonials-3 { top: 40%; left: 40%; background: #9e7a8e; }
.pg-ambient-glow {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.pg-ambient-glow__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(50px);
	opacity: 0.15;
	pointer-events: none;
}
.pg-ambient-glow__orb--1 {
	width: 400px;
	height: 400px;
	background: var(--accent);
	top: -100px;
	left: -100px;
}
.pg-ambient-glow__orb--2 {
	width: 350px;
	height: 350px;
	background: var(--secondary);
	bottom: -80px;
	right: -80px;
}
.pg-ambient-glow__orb--3 {
	width: 300px;
	height: 300px;
	background: #9e7a8e;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.pg-ambient-glow__orb--services { background: var(--accent); }
.pg-ambient-glow__orb--services-cyan { background: var(--secondary); }
.pg-ambient-glow__orb--services-purple { background: #9e7a8e; }
.pg-bg-pattern {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.03;
}
.pg-bg-pattern--dots {
	background-image: radial-gradient(circle, var(--text-heading) 1px, transparent 1px);
	background-size: 24px 24px;
}
.pg-bg-pattern--grid {
	background-image: linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);
	background-size: 40px 40px;
}
.pg-bg-pattern--diagonal {
	background-image: repeating-linear-gradient(45deg, var(--border) 0, var(--border) 1px, transparent 0, transparent 50%);
	background-size: 20px 20px;
}

/* Footer Particles */
.pg-footer__particle {
	position: absolute;
	width: 4px;
	height: 4px;
	background: var(--accent);
	border-radius: 50%;
	opacity: 0.2;
	pointer-events: none;
}

/* Premium utility helpers */
::selection {
	background: var(--accent);
	color: var(--bg);
}
.pg-texture {
	position: relative;
}
.pg-texture::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
	pointer-events: none;
	z-index: 0;
}
.pg-gradient-text {
	background: linear-gradient(135deg, var(--accent) 0%, var(--secondary) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.pg-divider-accent {
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	border-radius: 3px;
	margin: 16px auto;
}
.pg-pill {
	border-radius: 100px;
}

/* ================================
   PREMIUM ANIMATIONS & EFFECTS
   ================================ */

/* Orb float animation */
@keyframes pg-orb-float {
	0% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(20px, -15px) scale(1.05); }
	66% { transform: translate(-10px, 10px) scale(0.98); }
	100% { transform: translate(5px, -5px) scale(1.02); }
}

/* Card shine effect */
.pg-service-card,
.pg-pricing-card,
.pg-tech-card,
.pg-proizvod-card,
.pg-testimonial,
.pg-post-card,
.pg-gallery-item {
	position: relative;
	overflow: hidden;
}
.pg-service-card::after,
.pg-pricing-card::after,
.pg-tech-card::after,
.pg-proizvod-card::after,
.pg-testimonial::after,
.pg-testimonials__card::after,
.pg-post-card::after,
.pg-gallery-item::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 50%), rgba(255,255,255,0.08) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	z-index: 10;
}
.pg-service-card.is-shining::after,
.pg-pricing-card.is-shining::after,
.pg-tech-card.is-shining::after,
.pg-proizvod-card.is-shining::after,
.pg-testimonial.is-shining::after,
.pg-testimonials__card.is-shining::after,
.pg-post-card.is-shining::after,
.pg-gallery-item.is-shining::after {
	opacity: 1;
}

/* Magnetic button base state */
.pg-btn,
.pg-header__cta {
	transition: transform 0.15s ease-out, box-shadow 0.3s ease;
}

/* Pulse glow effect for CTAs */
@keyframes pg-pulse-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(201,169,110,0.25); }
	50% { box-shadow: 0 0 20px 5px rgba(201,169,110,0.1); }
}
/* 404 Glitch effect */
.pg-error-404__num {
	position: relative;
	font-family: var(--font-display);
	font-size: clamp(6rem, 15vw, 12rem);
	font-weight: 700;
	color: var(--text-heading);
	line-height: 1;
	letter-spacing: -0.05em;
}
.pg-error-404__num::before,
.pg-error-404__num::after {
	content: '404';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-family: var(--font-display);
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	letter-spacing: inherit;
}
.pg-error-404__num::before {
	color: rgba(201,169,110,0.6);
	animation: pg-glitch-1 2s infinite linear alternate-reverse;
	clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
}
.pg-error-404__num::after {
	color: rgba(122,158,142,0.6);
	animation: pg-glitch-2 3s infinite linear alternate-reverse;
	clip-path: polygon(0 55%, 100% 55%, 100% 100%, 0 100%);
}
@keyframes pg-glitch-1 {
	0%, 100% { transform: translate(0); }
	20% { transform: translate(-3px, 2px); }
	40% { transform: translate(3px, -2px); }
	60% { transform: translate(-2px, -1px); }
	80% { transform: translate(2px, 1px); }
}
@keyframes pg-glitch-2 {
	0%, 100% { transform: translate(0); }
	20% { transform: translate(3px, -2px); }
	40% { transform: translate(-3px, 2px); }
	60% { transform: translate(2px, 1px); }
	80% { transform: translate(-2px, -1px); }
}

/* Toast enhancement */
@keyframes pg-toast-in {
	from { opacity: 0; transform: translateY(20px) scale(0.95); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes pg-toast-out {
	from { opacity: 1; transform: translateY(0) scale(1); }
	to { opacity: 0; transform: translateY(-10px) scale(0.95); }
}
.pg-toast {
	animation: pg-toast-in 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pg-toast.is-leaving {
	animation: pg-toast-out 0.3s ease forwards;
}

/* Skeleton loading */
@keyframes pg-skeleton-shimmer {
	0% { background-position: -200% 0; }
	100% { background-position: 200% 0; }
}
.pg-skeleton {
	background: linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-elevated) 50%, var(--bg-surface) 75%);
	background-size: 200% 100%;
	animation: pg-skeleton-shimmer 1.5s infinite;
	border-radius: var(--radius-sm);
}
.pg-skeleton--card {
	width: 100%;
	height: 200px;
	border-radius: var(--radius-lg);
}
.pg-skeleton--text {
	width: 100%;
	height: 16px;
	margin-bottom: 8px;
}
.pg-skeleton--text-short {
	width: 60%;
	height: 16px;
}

/* CTA banner animated gradient border */
.pg-cta-banner {
	position: relative;
	overflow: hidden;
}
.pg-cta-banner::before {
	content: '';
	position: absolute;
	inset: -2px;
	background: linear-gradient(90deg, var(--accent), var(--secondary), var(--accent-light), var(--accent));
	background-size: 300% 100%;
	border-radius: calc(var(--radius-lg) + 2px);
	z-index: -1;
	animation: pg-gradient-rotate 6s linear infinite;
	opacity: 0.2;
}
.pg-cta-banner::after {
	content: '';
	position: absolute;
	inset: 1px;
	background: var(--bg-surface);
	border-radius: var(--radius-lg);
	z-index: -1;
}

/* Fade-in-up entrance animation */
@keyframes pg-fade-in-up {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}
.pg-reveal[data-reveal="up"] {
	animation: pg-fade-in-up 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Premium text glow pulse on hero titles */
@keyframes pg-text-glow {
	0%, 100% { text-shadow: 0 0 30px rgba(201,169,110,0.08), 0 0 60px rgba(201,169,110,0.04); }
	50% { text-shadow: 0 0 40px rgba(201,169,110,0.12), 0 0 80px rgba(201,169,110,0.06); }
}
.pg-hero--agency .pg-hero__title {
	animation: pg-hero-fade-up 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both,
	           pg-text-glow 4s ease-in-out 1.5s infinite;
}

/* 3D Card tilt */
.pg-service-card,
.pg-pricing-card,
.pg-tech-card,
.pg-proizvod-card,
.pg-testimonial,
.pg-testimonials__card,
.pg-gallery-item {
	transform-style: preserve-3d;
	perspective: 1000px;
}
.pg-tilt-inner {
	transform-style: preserve-3d;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Scroll entrance animations */
.pg-section__header,
.pg-service-card,
.pg-pricing-card,
.pg-tech-card,
.pg-proizvod-card,
.pg-testimonial,
.pg-testimonials__card,
.pg-post-card,
.pg-gallery-item,
.pg-offer__card,
.pg-offer__stat,
.pg-timeline-v2__item,
.pg-faq__item,
.pg-booking__slot {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pg-section__header.is-revealed,
.pg-section__header.is-visible,
.pg-service-card.is-revealed,
.pg-service-card.is-visible,
.pg-pricing-card.is-revealed,
.pg-pricing-card.is-visible,
.pg-tech-card.is-revealed,
.pg-tech-card.is-visible,
.pg-proizvod-card.is-revealed,
.pg-proizvod-card.is-visible,
.pg-testimonial.is-revealed,
.pg-testimonial.is-visible,
.pg-testimonials__card.is-revealed,
.pg-testimonials__card.is-visible,
.pg-post-card.is-revealed,
.pg-post-card.is-visible,
.pg-gallery-item.is-revealed,
.pg-gallery-item.is-visible,
.pg-offer__card.is-revealed,
.pg-offer__card.is-visible,
.pg-offer__stat.is-revealed,
.pg-offer__stat.is-visible,
.pg-timeline-v2__item.is-revealed,
.pg-timeline-v2__item.is-visible,
.pg-faq__item.is-revealed,
.pg-faq__item.is-visible,
.pg-booking__slot.is-revealed,
.pg-booking__slot.is-visible,
.pg-collection-card.is-revealed,
.pg-collection-card.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Safety: if observers miss, never leave sections blank */
.pg-section__header:not(.is-revealed):not(.is-visible),
.pg-service-card:not(.is-revealed):not(.is-visible),
.pg-pricing-card:not(.is-revealed):not(.is-visible),
.pg-pricing__card:not(.is-revealed):not(.is-visible),
.pg-tech-card:not(.is-revealed):not(.is-visible),
.pg-collection-card:not(.is-revealed):not(.is-visible),
.pg-gallery-item:not(.is-revealed):not(.is-visible) {
	animation: pg-force-reveal-scroll 0.01s 0.6s forwards;
}
@keyframes pg-force-reveal-scroll {
	to { opacity: 1; transform: none; }
}

.pg-text-scramble:not(.is-revealed) {
	animation: pg-force-reveal-text 0.01s 1.8s forwards;
}
.pg-text-scramble:not(.is-revealed) .pg-char {
	animation: pg-force-reveal-char 0.01s 1.8s forwards;
}
@keyframes pg-force-reveal-text {
	to { opacity: 1; }
}
@keyframes pg-force-reveal-char {
	to { opacity: 1; transform: none; }
}

/* Inner pages — always show rich template content (homepage keeps scroll animations) */
body:not(.home) .pg-section__title,
body:not(.home) .pg-section__subtitle,
body:not(.home) .pg-collection-card__title,
body:not(.home) .pg-collection-card__desc,
body:not(.home) .pg-hero__title,
body:not(.home) .pg-reveal,
body:not(.home) .pg-reveal-left,
body:not(.home) .pg-reveal-right,
body:not(.home) .pg-reveal-scale,
body:not(.home) .pg-reveal-flip,
body:not(.home) .pg-section__header,
body:not(.home) .pg-service-card,
body:not(.home) .pg-pricing-card,
body:not(.home) .pg-pricing__card,
body:not(.home) .pg-tech-card,
body:not(.home) .pg-proizvod-card,
body:not(.home) .pg-testimonial,
body:not(.home) .pg-testimonials__card,
body:not(.home) .pg-post-card,
body:not(.home) .pg-gallery-item,
body:not(.home) .pg-offer__card,
body:not(.home) .pg-offer__stat,
body:not(.home) .pg-timeline-v2__item,
body:not(.home) .pg-faq__item,
body:not(.home) .pg-booking__slot,
body:not(.home) .pg-collection-card,
body:not(.home) [data-reveal],
body:not(.home) .pg-reveal,
body:not(.home) .pg-reveal-stagger,
body:not(.home) .pg-reveal-left,
body:not(.home) .pg-reveal-right,
body:not(.home) .pg-reveal-scale,
body:not(.home) .pg-reveal-flip,
body:not(.home) .pg-content-fallback,
body:not(.home) .pg-content-fallback__lead,
body:not(.home) .pg-cta-banner__title,
body:not(.home) .pg-cta-banner__text {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
}
body:not(.home) .pg-text-scramble,
body:not(.home) .pg-text-scramble .pg-char,
body:not(.home) .pg-hero__subtitle {
	opacity: 1 !important;
	transform: none !important;
}
body:not(.home) .pg-section {
	content-visibility: visible;
}

/* Inner pages — instant visible content (no blank sections) */
body.pg-inner-page .pg-reveal,
body.pg-inner-page .pg-reveal-left,
body.pg-inner-page .pg-reveal-right,
body.pg-inner-page .pg-reveal-scale,
body.pg-inner-page .pg-reveal-flip,
body.pg-inner-page [data-reveal],
body.pg-inner-page .pg-section__header,
body.pg-inner-page .pg-section__title,
body.pg-inner-page .pg-section__subtitle,
body.pg-inner-page .pg-section__badge,
body.pg-inner-page .pg-service-card,
body.pg-inner-page .pg-service-card__title,
body.pg-inner-page .pg-service-card__text,
body.pg-inner-page .pg-pricing-card,
body.pg-inner-page .pg-pricing__card,
body.pg-inner-page .pg-tech-card,
body.pg-inner-page .pg-tech-card__title,
body.pg-inner-page .pg-tech-card__text,
body.pg-inner-page .pg-collection-card,
body.pg-inner-page .pg-collection-card__title,
body.pg-inner-page .pg-collection-card__desc,
body.pg-inner-page .pg-collection-card__back,
body.pg-inner-page .pg-collection-card__back-text,
body.pg-inner-page .pg-gallery-item,
body.pg-inner-page .pg-gallery-item__caption,
body.pg-inner-page .pg-faq__item,
body.pg-inner-page .pg-faq__question,
body.pg-inner-page .pg-faq__answer,
body.pg-inner-page .pg-faq__answer p,
body.pg-inner-page .pg-booking__slot,
body.pg-inner-page .pg-testimonials__card,
body.pg-inner-page .pg-timeline-v2__item,
body.pg-inner-page .pg-agency__text,
body.pg-inner-page .pg-agency__title,
body.pg-inner-page .pg-tourism-step__title,
body.pg-inner-page .pg-tourism-step__text,
body.pg-inner-page .pg-hero__title,
body.pg-inner-page .pg-hero__subtitle,
body.pg-inner-page .pg-text-scramble,
body.pg-inner-page .pg-text-scramble .pg-char,
body.pg-inner-page .pg-cta-banner__title,
body.pg-inner-page .pg-cta-banner__text,
body.pg-inner-page .pg-content-fallback,
body.pg-inner-page .pg-content-fallback__lead {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
	animation: none !important;
	filter: none !important;
}
body.pg-inner-page .pg-content p,
body.pg-inner-page .pg-timeline__heading,
body.pg-inner-page .pg-timeline__text,
body.pg-inner-page .pg-testimonial,
body.pg-inner-page .pg-testimonial__text,
body.pg-inner-page .pg-gallery-item__title,
body.pg-inner-page .pg-gallery-item__desc,
body.pg-inner-page .pg-pricing__desc,
body.pg-inner-page .pg-pricing__features,
body.pg-inner-page .pg-pricing__features li,
body.pg-inner-page .pg-kontakt__title,
body.pg-inner-page .pg-kontakt__intro,
body.pg-inner-page .pg-kontakt__flip-title,
body.pg-inner-page .pg-kontakt__flip-text,
body.pg-inner-page .pg-booking-layout__title,
body.pg-inner-page .pg-booking-layout__intro,
body.pg-inner-page .pg-doc-card,
body.pg-inner-page .pg-form-glass,
body.pg-inner-page .pg-form-glass__title,
body.pg-inner-page .pg-form-glass__text,
body.pg-inner-page .pg-step__label,
body.pg-inner-page .pg-proizvod-card,
body.pg-inner-page .pg-proizvod-card__excerpt,
body.pg-inner-page .pg-award,
body.pg-inner-page .pg-award span {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
	animation: none !important;
}

/* Form input animations */
.pg-form__field {
	position: relative;
	transition: transform 0.3s ease;
}
.pg-form__field.is-focused {
	transform: translateX(4px);
}
.pg-form__field.is-focused input,
.pg-form__field.is-focused textarea {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(201,169,110,0.1), 0 0 20px rgba(201,169,110,0.05);
}

/* Lightbox */
.pg-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.pg-lightbox.is-active {
	opacity: 1;
	visibility: visible;
}
.pg-lightbox__overlay {
	position: absolute;
	inset: 0;
	background: rgba(11, 13, 18, 0.95);
	backdrop-filter: blur(10px);
	cursor: pointer;
}
.pg-lightbox__content {
	position: relative;
	z-index: 2;
	max-width: 90vw;
	max-height: 90vh;
	border-radius: var(--radius-lg);
	overflow: hidden;
	transform: scale(0.95);
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pg-lightbox.is-active .pg-lightbox__content {
	transform: scale(1);
}
.pg-lightbox__img {
	max-width: 100%;
	max-height: 85vh;
	object-fit: contain;
	border-radius: var(--radius-lg);
}
.pg-lightbox__close {
	position: absolute;
	top: -48px;
	right: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	color: var(--text-heading);
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
	z-index: 3;
}
.pg-lightbox__close:hover {
	border-color: var(--accent);
	color: var(--accent);
}

/* Mesh gradient animated background */
.pg-mesh-gradient {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.pg-mesh-gradient__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.12;
	animation: pg-mesh-float 12s ease-in-out infinite;
}
.pg-mesh-gradient__blob--1 {
	width: 500px;
	height: 500px;
	background: var(--accent);
	top: -100px;
	left: -100px;
	animation-delay: 0s;
}
.pg-mesh-gradient__blob--2 {
	width: 400px;
	height: 400px;
	background: var(--secondary);
	bottom: -100px;
	right: -100px;
	animation-delay: -4s;
}
.pg-mesh-gradient__blob--3 {
	width: 350px;
	height: 350px;
	background: #9e7a8e;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation-delay: -8s;
}
@keyframes pg-mesh-float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	25% { transform: translate(30px, -20px) scale(1.1); }
	50% { transform: translate(-20px, 30px) scale(0.95); }
	75% { transform: translate(10px, 10px) scale(1.05); }
}

/* ================================
   PERFORMANCE — 60 FPS Optimizations
   ================================ */
.pg-testimonial,
.pg-service-card,
.pg-pricing__card,
.pg-faq__item {
	will-change: transform;
	transform: translateZ(0);
}
.pg-slider__handle {
	will-change: left;
}
img, video {
	content-visibility: auto;
}

/* Subtle noise texture overlay (premium film grain) */
.pg-noise {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 9998;
	opacity: 0.03;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

/* Hero spotlight — mouse-follow radial glow */
.pg-hero__spotlight {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
	background: radial-gradient(600px circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%), rgba(201,169,110,0.08), transparent 40%);
}

/* Scroll progress color shift + glow */
.pg-scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 3px;
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	z-index: 10000;
	transition: width 0.1s linear, background 0.3s ease;
	box-shadow: 0 0 8px rgba(201,169,110,0.25), 0 0 16px rgba(201,169,110,0.1);
}
.pg-scroll-progress--section-1 { background: linear-gradient(90deg, var(--accent), var(--accent-light)); }
.pg-scroll-progress--section-2 { background: linear-gradient(90deg, var(--secondary), #9e7a8e); }
.pg-scroll-progress--section-3 { background: linear-gradient(90deg, #9e7a8e, var(--accent)); }

/* Section top glow line — draws on scroll reveal */
.pg-section--dark,
.pg-section--cover {
	position: relative;
}
.pg-section--dark::before,
.pg-section--cover::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 60%;
	max-width: 400px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--accent), transparent);
	opacity: 0.5;
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 2;
	pointer-events: none;
}
.pg-section--dark.is-visible::before,
.pg-section--cover.is-visible::before {
	transform: translateX(-50%) scaleX(1);
}

/* Breathing badge animation */
@keyframes pg-breathe {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.02); opacity: 0.9; }
}
.pg-section__badge {
	animation: pg-breathe 4s ease-in-out infinite;
}

/* Touch-friendly active states */
@media (hover: none) {
	.pg-btn:active,
	.pg-header__cta:active,
	.pg-service-card:active,
	.pg-pricing-card:active,
	.pg-tech-card:active,
	.pg-proizvod-card:active,
	.pg-testimonial:active,
	.pg-testimonials__card:active,
	.pg-gallery-item:active,
	.pg-offer__card:active {
		transform: scale(0.98);
		transition: transform 0.1s ease;
	}
}

/* Global smooth link underline animation */
.pg-content a:not(.pg-btn):not(.pg-card__link),
.pg-post-single__content a:not(.pg-btn) {
	position: relative;
	color: var(--accent);
	transition: color 0.3s ease;
	text-decoration: none;
}
.pg-content a:not(.pg-btn):not(.pg-card__link)::after,
.pg-post-single__content a:not(.pg-btn)::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--accent), var(--accent-light));
	transition: width 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pg-content a:not(.pg-btn):not(.pg-card__link):hover::after,
.pg-post-single__content a:not(.pg-btn):hover::after {
	width: 100%;
}
.pg-content a:not(.pg-btn):not(.pg-card__link):hover,
.pg-post-single__content a:not(.pg-btn):hover {
	color: var(--accent-light);
}

/* Image reveal on load — blur + scale fade */
.pg-reveal-img {
	opacity: 0;
	transform: scale(1.05);
	filter: blur(8px);
	transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
				transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
				filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pg-reveal-img.is-loaded {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
}

/* Section parallax depth — background moves slower than content */
.pg-section--parallax {
	position: relative;
	overflow: hidden;
}
.pg-section--parallax::before {
	content: '';
	position: absolute;
	inset: -10%;
	background-size: cover;
	background-position: center;
	transform: translateZ(0);
	will-change: transform;
	z-index: 0;
	opacity: 0.04;
	pointer-events: none;
}

/* Card depth on hover — translateZ for true 3D feel */
@media (hover: hover) {
.pg-service-card:hover,
.pg-pricing-card:hover,
.pg-tech-card:hover,
.pg-proizvod-card:hover,
.pg-testimonial:hover,
.pg-testimonials__card:hover,
.pg-gallery-item:hover,
.pg-offer__card:hover {
	transform: translateY(-4px) translateZ(20px);
}
}

/* Section subtle gradient shift on scroll (uses --scroll var from JS) */
.pg-section--shifting {
	background: linear-gradient(
		180deg,
		var(--bg) 0%,
		color-mix(in srgb, var(--bg) 97%, var(--accent)) 50%,
		var(--bg) 100%
	);
	background-size: 100% 200%;
	background-position: 0% calc(var(--scroll, 0) * 100%);
}

/* Focus-visible premium glow for all interactive elements */
*:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	box-shadow: 0 0 0 4px rgba(201, 169, 110, 0.15);
	border-radius: var(--radius-sm);
}

/* Theme Rail Chips */
.pg-theme-rail__chip {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	border-radius: 50%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	position: relative;
}
.pg-theme-rail__chip:hover {
	transform: scale(1.15);
}
.pg-theme-rail__chip.is-active {
	box-shadow: 0 0 0 2px var(--accent);
	border-radius: 50%;
}
.pg-theme-rail__chip.is-active .pg-theme-rail__dot--dark {
	border-color: var(--accent);
	box-shadow: 0 0 8px rgba(201,169,110,0.4);
}
.pg-theme-rail__chip.is-active .pg-theme-rail__dot--light {
	border-color: var(--accent);
	box-shadow: 0 0 8px rgba(201,169,110,0.4);
}

/* Footer link premium underline sweep */
.pg-footer__links a,
.pg-footer__link {
	position: relative;
	transition: color 0.25s ease;
}
.pg-footer__links a::after,
.pg-footer__link::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 0;
	height: 1px;
	background: var(--accent);
	transition: width 0.3s ease, left 0.3s ease;
}
.pg-footer__links a:hover::after,
.pg-footer__link:hover::after {
	width: 100%;
	left: 0;
}

/* Form input float-label depth effect */
.pg-form__field input:focus,
.pg-form__field textarea:focus,
.pg-form-glass__field input:focus,
.pg-form-glass__field textarea:focus {
	transform: translateX(4px);
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.1), 0 0 20px rgba(201, 169, 110, 0.05);
	background: var(--bg-surface-hover);
}

/* Wave divider smooth SVG animation */
.pg-wave-divider svg path {
	transition: d 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Light theme — ALL card backgrounds fix (dark box + dark text bug) */
html[data-theme="light"] .pg-service-card,
html[data-theme="light"] .pg-pricing-card,
html[data-theme="light"] .pg-tech-card,
html[data-theme="light"] .pg-proizvod-card,
html[data-theme="light"] .pg-testimonial,
html[data-theme="light"] .pg-testimonials__card,
html[data-theme="light"] .pg-gallery-item,
html[data-theme="light"] .pg-post-card,
html[data-theme="light"] .pg-offer__card,
html[data-theme="light"] .pg-timeline-v2__item,
html[data-theme="light"] .pg-faq__item,
html[data-theme="light"] .pg-tourism-step,
html[data-theme="light"] .pg-booking__slot,
html[data-theme="light"] .pg-trust__logo,
html[data-theme="light"] .pg-service-card--dark,
html[data-theme="light"] .pg-agency__card {
	background: linear-gradient(145deg, rgba(255,255,255,0.95) 0%, rgba(245,247,250,0.98) 100%) !important;
	border-color: rgba(0,0,0,0.08) !important;
	box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
html[data-theme="light"] .pg-testimonial {
	background: linear-gradient(145deg, rgba(255,255,255,0.98) 0%, rgba(250,251,253,0.99) 100%) !important;
}
html[data-theme="light"] .pg-pricing-card--featured {
	border-color: var(--accent) !important;
}
html[data-theme="light"] .pg-pricing-card__featured-label {
	background: var(--accent) !important;
	color: #fff !important;
}

/* Carousel — Standard & 3D Coverflow */
.pg-carousel,
.pg-3d-carousel {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
}
.pg-carousel__track {
	display: flex;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}
.pg-carousel__slide {
	flex: 0 0 100%;
	min-width: 100%;
	position: relative;
}
.pg-carousel__slide img,
.pg-3d-carousel__slide img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}
.pg-carousel__btn,
.pg-3d-carousel__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	color: var(--text-heading);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 5;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	box-shadow: var(--shadow);
}
.pg-carousel__btn:hover,
.pg-3d-carousel__btn:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--bg);
	transform: translateY(-50%) scale(1.05);
}
.pg-carousel__btn--prev,
.pg-3d-carousel__btn--prev { left: 16px; }
.pg-carousel__btn--next,
.pg-3d-carousel__btn--next { right: 16px; }
.pg-carousel__dots,
.pg-3d-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 16px 0 0;
}
.pg-carousel__dot,
.pg-3d-carousel__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--border);
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
	padding: 0;
}
.pg-carousel__dot.is-active,
.pg-3d-carousel__dot.is-active {
	background: var(--accent);
	transform: scale(1.3);
}

/* 3D Coverflow specific */
.pg-3d-carousel {
	perspective: 1200px;
	padding: 40px 0;
}
.pg-3d-carousel__inner {
	position: relative;
	transform-style: preserve-3d;
	min-height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pg-3d-carousel__slide {
	position: absolute;
	width: 60%;
	max-width: 500px;
	transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s ease;
	transform-style: preserve-3d;
	backface-visibility: hidden;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
}
.pg-3d-carousel__slide.is-active {
	transform: translateX(0) scale(1) rotateY(0);
	z-index: 3;
	opacity: 1;
}
.pg-3d-carousel__slide.is-prev {
	transform: translateX(-70%) scale(0.85) rotateY(25deg);
	z-index: 2;
	opacity: 0.6;
}
.pg-3d-carousel__slide.is-next {
	transform: translateX(70%) scale(0.85) rotateY(-25deg);
	z-index: 2;
	opacity: 0.6;
}
@media (max-width: 768px) {
	.pg-3d-carousel__slide {
		width: 85%;
		max-width: none;
	}
	.pg-3d-carousel__slide.is-prev {
		transform: translateX(-60%) scale(0.8) rotateY(20deg);
	}
	.pg-3d-carousel__slide.is-next {
		transform: translateX(60%) scale(0.8) rotateY(-20deg);
	}
}

/* Admin / Setup Page */
.pg-admin-wrap {
	max-width: 960px;
	margin: 0 auto;
	padding: 40px 24px;
	color: #a0a0b0;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.pg-admin-header {
	text-align: center;
	margin-bottom: 48px;
}
.pg-admin-badge {
	display: inline-block;
	background: rgba(20, 184, 166, 0.1);
	border: 1px solid rgba(20, 184, 166, 0.3);
	color: #14b8a6;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 16px;
}
.pg-admin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	margin-bottom: 32px;
}
.pg-admin-card {
	background: rgba(15, 15, 24, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.pg-admin-card:hover {
	border-color: rgba(20, 184, 166, 0.15);
	box-shadow: 0 0 20px rgba(20, 184, 166, 0.05);
}
.pg-admin-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	flex-shrink: 0;
}
.pg-admin-card__body { flex: 1; }
.pg-admin-card__title {
	color: #e8e8f0;
	font-weight: 600;
	font-size: 0.9rem;
	margin: 0 0 4px;
}
.pg-admin-card__meta {
	color: #505060;
	font-size: 0.75rem;
	margin: 0;
}
.pg-admin-actions {
	background: rgba(15, 15, 24, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 16px;
	padding: 28px;
	text-align: center;
}
.pg-admin-btn {
	background: linear-gradient(135deg, #14b8a6 0%, #2dd4bf 100%);
	color: #0a0a14;
	border: none;
	padding: 14px 40px;
	border-radius: 12px;
	font-weight: 700;
	font-size: 0.9rem;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.pg-admin-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 32px rgba(20, 184, 166, 0.25);
}
.pg-admin-notice {
	padding: 16px 20px;
	border-radius: 12px;
	margin-bottom: 24px;
	font-size: 0.9rem;
	text-align: center;
}

/* Light mode — fix white rgba elements that disappear on light backgrounds */
html[data-theme="light"] .pg-header__dropdown-menu a:hover {
	background: rgba(0,0,0,0.04);
}
html[data-theme="light"] .pg-header__hamburger:hover {
	background: rgba(0,0,0,0.04);
}
html[data-theme="light"] .pg-btn--glass {
	background: rgba(0,0,0,0.03);
}
html[data-theme="light"] .pg-btn--glass:hover {
	background: rgba(0,0,0,0.06);
}
html[data-theme="light"] .pg-hero__tag {
	background: rgba(0,0,0,0.03);
	border-color: rgba(0,0,0,0.06);
}
html[data-theme="light"] .pg-lang__menu button:hover {
	background: rgba(0,0,0,0.04);
}
html[data-theme="light"] .pg-holo-panel__bar {
	background: rgba(0,0,0,0.04);
}
html[data-theme="light"] .pg-testimonial__footer {
	border-top-color: rgba(0,0,0,0.06);
}
html[data-theme="light"] .pg-header {
	background: rgba(255, 255, 255, 0.92);
	border-bottom-color: rgba(42, 51, 66, 0.08);
	box-shadow: 0 1px 0 rgba(42, 51, 66, 0.04);
}
html[data-theme="light"] .pg-header.is-scrolled {
	background: rgba(255, 255, 255, 0.98);
	border-bottom-color: rgba(42, 51, 66, 0.1);
	box-shadow: 0 8px 28px rgba(42, 51, 66, 0.08);
}
html[data-theme="light"] .pg-top-bar {
	background: #eef1f5;
	border-bottom: 1px solid rgba(42, 51, 66, 0.06);
}
@media (min-width: 1101px) {
	html[data-theme="light"] .pg-header__nav {
		background: rgba(42, 51, 66, 0.04);
		border-color: rgba(42, 51, 66, 0.08);
	}
}
@media (max-width: 1100px) {
	html[data-theme="light"] .pg-header__nav {
		background: rgba(255, 255, 255, 0.98);
		border-right-color: rgba(42, 51, 66, 0.08);
		border-radius: 0;
		padding: 100px 32px 40px;
	}
}
html[data-theme="light"] .pg-header__tools {
	background: rgba(255, 255, 255, 0.85);
	border-color: rgba(42, 51, 66, 0.08);
}
html[data-theme="light"] .pg-header__nav a:hover,
html[data-theme="light"] .pg-header__dropdown-toggle:hover {
	background: rgba(184, 148, 90, 0.1);
}
html[data-theme="light"] .pg-header__dropdown-menu {
	background: rgba(255, 255, 255, 0.98);
	border-color: rgba(42, 51, 66, 0.08);
	box-shadow: 0 12px 40px rgba(42, 51, 66, 0.1);
}
html[data-theme="light"] .pg-header__dropdown-icon {
	background: rgba(184, 148, 90, 0.08);
}
html[data-theme="light"] .pg-header__border-glow {
	opacity: 0.35;
}
html[data-theme="light"] .pg-search-overlay__backdrop {
	background: rgba(248,249,251,0.85);
}
html[data-theme="light"] .pg-mobile-cta {
	background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(248,249,251,0.98) 100%);
	border-top-color: rgba(0,0,0,0.08);
}
html[data-theme="light"] .pg-hero--video .pg-hero__overlay,
html[data-theme="light"] .pg-hero--agency .pg-hero__overlay,
html[data-theme="light"] .pg-hero--inner .pg-hero__overlay,
html[data-theme="light"] .pg-hero--usluge .pg-hero__overlay {
	background: linear-gradient(180deg, var(--hero-scrim-top) 0%, color-mix(in srgb, var(--hero-scrim-bottom) 88%, transparent) 55%, var(--hero-scrim-bottom) 100%);
}
html[data-theme="light"] .pg-hero__video-scrim {
	background: linear-gradient(180deg, color-mix(in srgb, var(--hero-scrim-top) 72%, transparent) 0%, color-mix(in srgb, var(--hero-scrim-bottom) 55%, transparent) 100%);
}
html[data-theme="light"] .pg-hero--video .pg-hero__title,
html[data-theme="light"] .pg-hero--agency .pg-hero__title,
html[data-theme="light"] .pg-hero--inner .pg-hero__title,
html[data-theme="light"] .pg-hero--usluge .pg-hero__title {
	color: var(--hero-title);
	-webkit-text-fill-color: unset;
	background: none;
	-webkit-text-stroke: 1px rgba(201,169,110,0.14);
}
html[data-theme="light"] .pg-hero--video .pg-hero__subtitle,
html[data-theme="light"] .pg-hero--agency .pg-hero__subtitle,
html[data-theme="light"] .pg-hero--inner .pg-hero__subtitle,
html[data-theme="light"] .pg-hero--usluge .pg-hero__subtitle {
	color: var(--hero-subtitle);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}
html[data-theme="light"] .pg-hero__badge {
	color: var(--hero-subtitle);
	border-color: rgba(236, 232, 224, 0.22);
	background: rgba(28, 34, 46, 0.35);
}
html[data-theme="light"] .pg-holo-panel {
	background: rgba(255, 255, 255, 0.72);
	border-color: rgba(0, 0, 0, 0.08);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .pg-holo-panel__label { color: var(--text-muted); }
html[data-theme="light"] .pg-holo-panel__value { color: var(--text-heading); }
html[data-theme="light"] .pg-cinematic-cta__title,
html[data-theme="light"] .pg-cinematic-cta__trust-num {
	color: var(--text-heading);
}
html[data-theme="light"] .pg-cinematic-cta__subtitle,
html[data-theme="light"] .pg-cinematic-cta__trust-label {
	color: var(--text-muted);
}
html[data-theme="light"] .pg-admin-card,
html[data-theme="light"] .pg-admin-actions {
	background: linear-gradient(145deg, rgba(255,255,255,0.95) 0%, rgba(245,247,250,0.98) 100%);
	border-color: rgba(0,0,0,0.08);
}
html[data-theme="light"] .pg-admin-wrap {
	color: var(--text-muted);
}
html[data-theme="light"] .pg-admin-card__title {
	color: var(--text-heading);
}
html[data-theme="light"] .pg-admin-card__meta {
	color: var(--text-muted);
}
html[data-theme="light"] .pg-proizvod-card__gallery-btn {
	background: rgba(255,255,255,0.7);
	color: var(--text-heading);
	border: 1px solid var(--border);
}

/* Focus-visible — accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}
.pg-header__nav a:focus-visible,
.pg-header__dropdown-toggle:focus-visible,
.pg-header__cta:focus-visible {
	outline-offset: 4px;
}
.pg-btn:focus-visible {
	outline-offset: 3px;
}

/* Skeleton loading states */
.pg-skeleton {
	background: linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-surface) 50%, var(--bg-elevated) 75%);
	background-size: 200% 100%;
	animation: pg-skeleton-shimmer 1.5s ease-in-out infinite;
	border-radius: var(--radius-sm);
}
@keyframes pg-skeleton-shimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.pg-section { content-visibility: visible; }
	.pg-cursor { display: none !important; }
	.pg-hero__particles,
	.pg-hero__spotlight,
	.pg-hero__connections,
	.pg-ambient-glow__orb { display: none !important; }
	.pg-hero__tags-track { animation: none !important; }
	.pg-reveal,
	.pg-reveal-stagger > *,
	.pg-reveal-left,
	.pg-reveal-right,
	.pg-reveal-scale,
	.pg-reveal-flip {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Package intro — demo / sales section */
.pg-section--package {
	padding: clamp(64px, 8vw, 100px) 0;
	background: var(--bg-elevated);
	border-top: 1px solid var(--border);
}
.pg-package-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 40px;
}
.pg-package-card {
	padding: 28px;
	border-radius: 16px;
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--bg) 88%, transparent);
}
.pg-package-card h3 {
	font-size: 1.1rem;
	margin-bottom: 16px;
	color: var(--gold, var(--accent));
}
.pg-package-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.pg-package-card li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 10px;
	font-size: 0.92rem;
	color: var(--text-muted, var(--text-secondary));
	line-height: 1.55;
}
.pg-package-card li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gold, var(--accent));
}
.pg-package-card--cta {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.pg-content-fallback {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}
.pg-content-fallback__lead {
	font-size: 1.05rem;
	line-height: 1.7;
	margin-bottom: 20px;
}
.pg-content-fallback__list {
	text-align: left;
	max-width: 560px;
	margin: 0 auto 24px;
}
@media (max-width: 900px) {
	.pg-package-grid { grid-template-columns: 1fr; }
}

/* ===== Print Styles ===== */
@media print {
  .pg-page-transition, .pg-transition-overlay, .pg-scroll-progress, .pg-back-to-top, .pg-floating-cta, .pg-toast-container, .pg-header__hamburger, .pg-color-swatch { display: none !important; }
  .pg-header { position: static !important; background: #fff !important; }
  body { background: #fff !important; color: #000 !important; }
  a { color: #000 !important; text-decoration: underline !important; }
  .pg-section { padding: 24px 0 !important; }
}
