/* Anpeptides — Gold Premium UI */
:root {
	--pp-bg-deep: #12100d;
	--pp-bg-base: #1a1712;
	--pp-bg-surface: #221e18;
	--pp-bg-card: #1f1b15;
	--pp-bg-glass: rgba(255, 255, 255, 0.04);
	--pp-accent: #c9a227;
	--pp-accent-hover: #dbb840;
	--pp-accent-soft: #f0dfa0;
	--pp-teal: #a8894a;
	--pp-cyan: var(--pp-accent);
	--pp-cyan-soft: var(--pp-accent-soft);
	--pp-blue: #8b7340;
	--pp-violet: #6b5a30;
	--pp-amber: var(--pp-accent);
	--pp-glow-cyan: rgba(201, 162, 39, 0.15);
	--pp-glow-blue: rgba(201, 162, 39, 0.08);
	--pp-text: #f8f4eb;
	--pp-text-muted: #b8ad98;
	--pp-text-dim: #7a7265;
	--pp-border: rgba(201, 162, 39, 0.15);
	--pp-border-hover: rgba(201, 162, 39, 0.45);
	--pp-gradient: linear-gradient(135deg, #dbb840 0%, #c9a227 50%, #a8894a 100%);
	--pp-gradient-text: none;
	--pp-shadow-glow: 0 12px 40px rgba(0, 0, 0, 0.35);
	--pp-radius-sm: 6px;
	--pp-radius-md: 10px;
	--pp-radius-lg: 14px;
	--pp-radius-xl: 18px;
	--pp-font-display: 'Inter', sans-serif;
	--pp-font-body: 'Inter', sans-serif;
	--pp-font-mono: 'Inter', sans-serif;
	--pp-max-width: 1200px;
	--pp-header-h: 72px;
	--ap-ticker-h: 36px;
	--ap-bg-light: #faf8f4;
	--ap-bg-cream: #f3efe6;
	--ap-text-dark: #1a1712;
	--ap-text-body: #5c5548;
	--gp-color-dark: var(--pp-bg-deep);
	--gp-color-gold: var(--pp-accent);
	--gp-color-gold-light: var(--pp-accent-soft);
	--gp-color-cream: var(--pp-text);
	--gp-color-text-secondary: var(--pp-text-muted);
	--gp-color-card: var(--pp-bg-card);
	--gp-color-border: var(--pp-border);
	--gp-color-border-card: var(--pp-border);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	padding: 0;
	font-family: var(--pp-font-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--pp-text);
	background: var(--pp-bg-deep);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

a { color: var(--pp-accent-soft); text-decoration: none; transition: color 0.25s; }
a:hover { color: var(--pp-accent); }

img { max-width: 100%; height: auto; display: block; }

.gp-container {
	max-width: var(--pp-max-width);
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
	z-index: 1;
}

.gp-section {
	padding: 100px 0;
	position: relative;
}

.gp-section--alt {
	background: var(--pp-bg-base);
}

.pp-eyebrow {
	display: inline-block;
	font-family: var(--pp-font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pp-accent);
	margin-bottom: 16px;
}

.pp-eyebrow::before,
.pp-eyebrow::after {
	display: none;
}

.pp-section-head {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 56px;
}

.pp-section-head--left {
	text-align: left;
	margin-left: 0;
}

.gp-heading-xl {
	font-family: var(--pp-font-display);
	font-size: clamp(2.4rem, 5.5vw, 4rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.03em;
	margin: 0 0 24px;
	color: var(--pp-text);
}

.gp-heading-xl .pp-gradient-text {
	color: var(--pp-accent);
	-webkit-text-fill-color: var(--pp-accent);
	background: none;
}

.gp-heading-lg {
	font-family: var(--pp-font-display);
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--pp-text);
	margin: 0 0 12px;
	line-height: 1.15;
}

.gp-heading-md {
	font-family: var(--pp-font-display);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--pp-text);
	margin: 0 0 12px;
}

.gp-text {
	color: var(--pp-text-muted);
	margin: 0 0 16px;
	font-size: 1.05rem;
	line-height: 1.75;
}

.gp-text-center { text-align: center; }

.gp-text-lg {
	font-size: 1.15rem;
	max-width: 560px;
}

/* Buttons */
.gp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 28px;
	font-family: var(--pp-font-display);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border: none;
	border-radius: var(--pp-radius-sm);
	cursor: pointer;
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	text-decoration: none;
	position: relative;
	overflow: hidden;
}

.gp-btn--gold,
.gp-btn--primary {
	background: var(--pp-accent);
	color: #1a1712;
	box-shadow: none;
}

.gp-btn--gold:hover,
.gp-btn--primary:hover {
	background: var(--pp-accent-hover);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(201, 162, 39, 0.35);
	color: #1a1712;
}

.gp-btn--outline {
	background: transparent;
	color: var(--pp-text);
	border: 1px solid var(--pp-border-hover);
	backdrop-filter: none;
}

.gp-btn--outline:hover {
	background: rgba(255, 255, 255, 0.04);
	border-color: var(--pp-accent);
	color: var(--pp-accent-soft);
}

.gp-btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

/* Header */
.gp-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: var(--pp-header-h);
	display: flex;
	align-items: center;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border-bottom: 1px solid transparent;
}

.gp-header.is-scrolled {
	background: rgba(18, 16, 13, 0.95);
	backdrop-filter: blur(12px);
	border-bottom-color: var(--pp-border);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}

.gp-header__inner,
.ap-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "logo space actions";
	align-items: center;
	gap: clamp(20px, 3vw, 48px);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 clamp(24px, 4vw, 80px);
}

.pp-logo,
.ap-logo {
	grid-area: logo;
	flex-shrink: 0;
}

.gp-header__actions,
.ap-header__actions {
	grid-area: actions;
	justify-self: end;
}

.gp-menu-toggle {
	display: none;
	position: absolute;
	top: 12px;
	right: 16px;
	z-index: 5;
}

.gp-nav,
.ap-header__nav {
	z-index: 1001;
}

.pp-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--pp-text);
}

.pp-logo__icon {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
}

.pp-logo__text {
	font-family: var(--pp-font-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.pp-logo__text span {
	color: var(--pp-accent);
	-webkit-text-fill-color: var(--pp-accent);
	background: none;
}

.gp-nav-list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: clamp(18px, 2.8vw, 42px);
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
}

.gp-nav-list > li {
	position: relative;
}

.gp-nav-list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 0;
	color: rgba(248, 244, 235, 0.72);
	font-size: 15px;
	font-weight: 500;
	border-radius: 0;
	border-bottom: 2px solid transparent;
	transition: color 0.25s, border-color 0.25s;
	white-space: nowrap;
}

.gp-nav-chevron {
	font-size: 10px;
	opacity: 0.7;
	margin-top: 1px;
}

.gp-nav-list > li > a:hover,
.gp-nav-list > li.current-menu-item > a,
.gp-nav-list > li.is-open > a {
	color: var(--pp-text);
	background: none;
	border-bottom-color: var(--pp-text);
}

.gp-nav-sub {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 220px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: rgba(18, 16, 13, 0.98);
	border: 1px solid var(--pp-border);
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
	z-index: 120;
}

.gp-nav-list > li:hover > .gp-nav-sub,
.gp-nav-list > li.is-open > .gp-nav-sub {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.gp-nav-sub li a {
	display: block;
	padding: 10px 18px;
	color: var(--pp-text-muted);
	font-size: 14px;
	transition: color 0.2s, background 0.2s;
}

.gp-nav-sub li a:hover {
	color: var(--pp-accent);
	background: rgba(201, 162, 39, 0.08);
}

.gp-header__actions .gp-btn {
	padding: 10px 22px;
	font-size: 12px;
}

/* Header search */
.pp-header-search {
	display: flex;
	align-items: center;
	gap: 8px;
	width: clamp(200px, 16vw, 280px);
	min-width: 200px;
}

.pp-header-search__field {
	position: relative;
	flex: 1;
}

.pp-header-search__icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--pp-text-dim);
	font-size: 13px;
	pointer-events: none;
}

.pp-header-search__input {
	width: 100%;
	padding: 10px 14px 10px 36px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	color: var(--pp-text);
	font-family: var(--pp-font-body);
	font-size: 13px;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.pp-header-search__input::placeholder {
	color: var(--pp-text-dim);
}

.pp-header-search__input:focus {
	outline: none;
	border-color: var(--pp-accent);
	box-shadow: 0 0 0 3px rgba(71, 133, 200, 0.12);
}

.pp-header-search__submit {
	padding: 10px 16px;
	background: var(--pp-accent);
	border: none;
	border-radius: 8px;
	color: #fff;
	font-family: var(--pp-font-body);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.25s;
	white-space: nowrap;
}

.pp-header-search__submit:hover {
	background: var(--pp-accent-hover);
}

.pp-header-search__dropdown {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: var(--pp-bg-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-md);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
	z-index: 1001;
	max-height: 320px;
	overflow-y: auto;
}

.pp-header-search__dropdown:not([hidden]) {
	display: block;
}

.pp-search-suggest__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	color: var(--pp-text);
	text-decoration: none;
	border-bottom: 1px solid var(--pp-border);
	transition: background 0.2s;
}

.pp-search-suggest__item:last-child {
	border-bottom: none;
}

.pp-search-suggest__item:hover,
.pp-search-suggest__item.is-active {
	background: rgba(71, 133, 200, 0.08);
}

.pp-search-suggest__name {
	font-weight: 600;
	font-size: 13px;
}

.pp-search-suggest__meta {
	font-size: 11px;
	color: var(--pp-text-dim);
}

.pp-search-suggest__empty {
	padding: 14px;
	font-size: 13px;
	color: var(--pp-text-muted);
	text-align: center;
}

/* Search results page */
.pp-search-page-form {
	display: flex;
	gap: 12px;
	max-width: 640px;
	margin: 0 auto 48px;
}

.pp-search-page-form__input {
	flex: 1;
	padding: 14px 18px;
	background: var(--pp-bg-card);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-md);
	color: var(--pp-text);
	font-size: 15px;
}

.pp-search-page-form__input:focus {
	outline: none;
	border-color: var(--pp-accent);
}

.pp-search-empty {
	text-align: center;
	padding: 48px 24px;
	color: var(--pp-text-muted);
}

.pp-search-empty i {
	font-size: 2rem;
	color: var(--pp-accent);
	margin-bottom: 16px;
	display: block;
}

.pp-search-empty p {
	margin: 0 0 24px;
}

.pp-products--search {
	padding-top: 60px;
}

.gp-menu-toggle {
	display: none;
	background: rgba(71, 133, 200, 0.08);
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	color: var(--pp-cyan);
	font-size: 20px;
	cursor: pointer;
	padding: 10px 12px;
}

#content { padding-top: calc(var(--pp-header-h) + var(--ap-ticker-h)); }

/* Hero */
.gp-hero {
	min-height: calc(100vh - var(--pp-header-h));
	display: flex;
	align-items: center;
	padding: 60px 0 80px;
	position: relative;
	overflow: hidden;
	background: var(--pp-bg-deep);
}

.gp-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.gp-hero__bg-image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center right;
	opacity: 0.28;
	mask-image: linear-gradient(90deg, #0f1114 35%, transparent 88%);
}

.gp-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: 0.18;
	animation: pp-float 8s ease-in-out infinite;
}

.gp-hero__orb--1 {
	width: 500px;
	height: 500px;
	background: rgba(71, 133, 200, 0.12);
	top: -10%;
	right: 10%;
}

.gp-hero__orb--2 {
	width: 350px;
	height: 350px;
	background: rgba(53, 107, 168, 0.08);
	bottom: 10%;
	right: 30%;
	animation-delay: -3s;
}

.gp-hero__orb--3 {
	width: 280px;
	height: 280px;
	background: rgba(91, 127, 168, 0.06);
	top: 40%;
	left: -5%;
	animation-delay: -5s;
}

@keyframes pp-float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(20px, -20px) scale(1.05); }
}

#pp-molecule-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0.35;
}

.gp-hero__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 48px;
	align-items: center;
	position: relative;
	z-index: 2;
}

.gp-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
}

.pp-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--pp-border);
	border-radius: 100px;
	font-family: var(--pp-font-body);
	font-size: 11px;
	font-weight: 500;
	color: var(--pp-text-muted);
	letter-spacing: 0.04em;
}

.pp-badge i { font-size: 10px; color: var(--pp-accent); }

.gp-hero__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
}

.pp-helix-wrap {
	position: relative;
	width: 100%;
	max-width: 420px;
	aspect-ratio: 1;
}

.pp-helix-svg {
	width: 100%;
	height: 100%;
	animation: pp-spin-slow 30s linear infinite;
}

@keyframes pp-spin-slow {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.pp-helix-glow {
	position: absolute;
	inset: 10%;
	background: radial-gradient(circle, rgba(71, 133, 200, 0.08) 0%, transparent 70%);
	border-radius: 50%;
	filter: blur(40px);
}

.pp-float-card {
	position: absolute;
	background: var(--pp-bg-card);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-md);
	padding: 14px 18px;
	font-family: var(--pp-font-body);
	font-size: 12px;
	color: var(--pp-text-muted);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
	animation: pp-float-card 4s ease-in-out infinite;
}

.pp-float-card--1 { top: 15%; right: -10%; animation-delay: 0s; }
.pp-float-card--2 { bottom: 20%; left: -8%; animation-delay: -2s; }
.pp-float-card--3 { top: 50%; right: -5%; animation-delay: -1s; }

.pp-float-card strong {
	display: block;
	font-size: 18px;
	color: var(--pp-accent);
	font-family: var(--pp-font-display);
}

@keyframes pp-float-card {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

/* Trust strip */
.pp-trust-strip {
	padding: 0 0 32px;
	margin-top: -20px;
	position: relative;
	z-index: 3;
}

.gp-features__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.gp-feature-box {
	position: relative;
	text-align: center;
	padding: 32px 20px;
	background: var(--pp-bg-card);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
}

.gp-feature-box::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--pp-gradient);
	opacity: 0;
	transition: opacity 0.4s;
}

.gp-feature-box:hover {
	transform: translateY(-6px);
	border-color: var(--pp-border-hover);
	box-shadow: var(--pp-shadow-glow);
}

.gp-feature-box:hover::before { opacity: 1; }

.pp-feature-icon {
	width: 52px;
	height: 52px;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(71, 133, 200, 0.08);
	border: 1px solid var(--pp-border);
	border-radius: 14px;
	font-size: 22px;
	color: var(--pp-cyan);
}

.gp-feature-box__title {
	font-family: var(--pp-font-display);
	font-size: 1rem;
	font-weight: 600;
	color: var(--pp-text);
	margin: 0;
}

.gp-feature-box__sub {
	font-size: 12px;
	color: var(--pp-text-dim);
	margin-top: 6px;
	font-family: var(--pp-font-mono);
}

/* Cards */
.gp-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.gp-card {
	position: relative;
	padding: 36px 28px;
	background: var(--pp-bg-card);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	transition: all 0.4s;
	height: 100%;
	overflow: hidden;
}

.gp-card::after {
	content: '';
	position: absolute;
	top: 0;
	left: 28px;
	right: 28px;
	height: 1px;
	background: var(--pp-gradient);
	opacity: 0;
	transition: opacity 0.4s;
}

.gp-card:hover {
	transform: translateY(-8px);
	border-color: var(--pp-border-hover);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), var(--pp-shadow-glow);
}

.gp-card:hover::after { opacity: 1; }

.pp-card-num {
	font-family: var(--pp-font-mono);
	font-size: 11px;
	color: var(--pp-cyan);
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.gp-card__title {
	font-family: var(--pp-font-display);
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--pp-text);
	margin: 0 0 14px;
}

.gp-card__text {
	color: var(--pp-text-muted);
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
}

.gp-separator { display: none; }

/* Stats */
.gp-stats {
	position: relative;
	padding: 80px 0;
	overflow: hidden;
}

.gp-stats::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(71, 133, 200, 0.06) 0%, rgba(53, 107, 168, 0.04) 50%, rgba(90, 150, 214, 0.04) 100%);
	border-top: 1px solid var(--pp-border);
	border-bottom: 1px solid var(--pp-border);
}

.gp-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	position: relative;
}

.gp-stat {
	text-align: center;
	padding: 32px 16px;
	background: var(--pp-bg-glass);
	backdrop-filter: blur(12px);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-lg);
}

.gp-stat__number {
	font-family: var(--pp-font-display);
	font-size: clamp(2.8rem, 5vw, 3.8rem);
	font-weight: 800;
	line-height: 1;
	margin-bottom: 8px;
	color: var(--pp-accent);
}

.gp-stat__label {
	color: var(--pp-text-muted);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 500;
}

/* Product Showcase */
.pp-products {
	position: relative;
	overflow: hidden;
	padding-top: 40px;
	padding-bottom: 100px;
}

.pp-products::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 800px;
	height: 800px;
	background: radial-gradient(circle, rgba(71, 133, 200, 0.04) 0%, transparent 65%);
	pointer-events: none;
}

.pp-product-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 40px;
}

.pp-filter-btn {
	padding: 10px 22px;
	background: var(--pp-bg-glass);
	border: 1px solid var(--pp-border);
	border-radius: 100px;
	color: var(--pp-text-muted);
	font-family: var(--pp-font-body);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s;
}

a.pp-filter-btn {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.ap-shop-page__filters {
	margin-bottom: 48px;
}

.ap-shop-page__empty {
	margin: 0;
	text-align: center;
	color: var(--pp-text-muted);
}

.pp-filter-btn:hover {
	border-color: var(--pp-border-hover);
	color: var(--pp-cyan-soft);
}

.pp-filter-btn.is-active {
	background: rgba(71, 133, 200, 0.1);
	border-color: var(--pp-accent);
	color: var(--pp-accent);
	box-shadow: none;
}

.pp-product-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.pp-product-card {
	background: var(--pp-bg-card);
	backdrop-filter: blur(16px);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	overflow: hidden;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
}

.pp-product-card.is-hidden {
	display: none;
}

.pp-product-card:hover {
	transform: translateY(-8px);
	border-color: var(--pp-border-hover);
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.3);
}

.pp-product-card__visual {
	position: relative;
	height: 280px;
	display: block;
	text-decoration: none;
	color: inherit;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	overflow: hidden;
	border-bottom: 1px solid var(--pp-border);
}

.pp-product-card__visual--cyan,
.pp-product-card__visual--blue,
.pp-product-card__visual--violet,
.pp-product-card__visual--teal,
.pp-product-card__visual--amber,
.pp-product-card__visual--rose {
	background: #ffffff;
}

.pp-product-card__visual::after {
	display: none;
}

.pp-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px 20px 24px;
	background: #ffffff;
	transition: transform 0.4s;
}

.pp-vial {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.4));
}

.pp-vial__cap {
	width: 28px;
	height: 12px;
	background: linear-gradient(180deg, #c0c8d4 0%, #8892a0 100%);
	border-radius: 4px 4px 0 0;
}

.pp-vial__body {
	width: 56px;
	height: 90px;
	background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.05) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 0 0 8px 8px;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.pp-vial__liquid {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 65%;
	background: linear-gradient(180deg, rgba(71, 133, 200, 0.45) 0%, rgba(71, 133, 200, 0.2) 100%);
	border-radius: 0 0 6px 6px;
}

.pp-product-card__visual--blue .pp-vial__liquid,
.pp-product-card__visual--violet .pp-vial__liquid,
.pp-product-card__visual--teal .pp-vial__liquid,
.pp-product-card__visual--amber .pp-vial__liquid,
.pp-product-card__visual--rose .pp-vial__liquid {
	background: linear-gradient(180deg, rgba(71, 133, 200, 0.4) 0%, rgba(107, 143, 168, 0.2) 100%);
}

.pp-vial__label {
	position: relative;
	z-index: 1;
	font-family: var(--pp-font-mono);
	font-size: 10px;
	font-weight: 600;
	color: var(--pp-text);
	padding-bottom: 8px;
	text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.pp-product-card__purity {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 4px 10px;
	background: rgba(71, 133, 200, 0.15);
	border: 1px solid rgba(71, 133, 200, 0.3);
	border-radius: 100px;
	font-family: var(--pp-font-mono);
	font-size: 10px;
	font-weight: 600;
	color: var(--pp-cyan);
	z-index: 2;
}

.pp-product-card__body {
	padding: 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.pp-product-card__cat {
	display: inline-block;
	font-family: var(--pp-font-mono);
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--pp-cyan);
	margin-bottom: 8px;
}

.pp-product-card__name {
	font-family: var(--pp-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--pp-text);
	margin: 0 0 10px;
	letter-spacing: -0.01em;
}

.pp-product-card__desc {
	font-size: 13px;
	color: var(--pp-text-muted);
	line-height: 1.6;
	margin: 0 0 16px;
	flex: 1;
}

.pp-product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
	font-size: 11px;
	color: var(--pp-text-dim);
	font-family: var(--pp-font-mono);
}

.pp-product-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.pp-product-card__meta i {
	color: var(--pp-cyan);
	font-size: 10px;
}

.pp-product-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 16px;
	border-top: 1px solid var(--pp-border);
}

.pp-product-card__link {
	font-size: 13px;
	font-weight: 600;
	color: var(--pp-cyan-soft);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap 0.25s, color 0.25s;
}

.pp-product-card__link:hover {
	color: var(--pp-cyan);
	gap: 10px;
}

.pp-product-card__quote {
	padding: 8px 16px;
	background: transparent;
	border: 1px solid var(--pp-border-hover);
	border-radius: 8px;
	color: var(--pp-cyan-soft);
	font-family: var(--pp-font-display);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.25s;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.pp-product-card__quote:hover {
	background: rgba(71, 133, 200, 0.1);
	border-color: var(--pp-cyan);
	color: var(--pp-cyan);
}

.pp-products-cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 48px;
}

/* Process timeline */
.gp-process {
	position: relative;
}

.gp-steps-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	position: relative;
}

.gp-steps-grid::before {
	content: '';
	position: absolute;
	top: 28px;
	left: 12%;
	right: 12%;
	height: 2px;
	background: linear-gradient(90deg, var(--pp-cyan), var(--pp-blue), var(--pp-violet));
	opacity: 0.25;
}

.gp-step {
	padding: 0 20px 20px;
	text-align: center;
	position: relative;
}

.gp-step__dot {
	width: 56px;
	height: 56px;
	margin: 0 auto 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--pp-bg-surface);
	border: 2px solid var(--pp-border-hover);
	border-radius: 50%;
	font-family: var(--pp-font-mono);
	font-size: 13px;
	font-weight: 600;
	color: var(--pp-cyan);
	position: relative;
	z-index: 1;
	transition: all 0.4s;
	box-shadow: 0 0 0 8px rgba(71, 133, 200, 0.05);
}

.gp-step:hover .gp-step__dot {
	background: rgba(71, 133, 200, 0.1);
	border-color: var(--pp-accent);
	box-shadow: 0 0 0 8px rgba(71, 133, 200, 0.06);
}

.gp-step__num { display: none; }

.gp-step__title {
	font-family: var(--pp-font-display);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--pp-text);
	margin: 0 0 10px;
}

.gp-step__text {
	color: var(--pp-text-muted);
	font-size: 14px;
	margin: 0;
	line-height: 1.65;
}

/* Two column */
.gp-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.gp-info-card {
	padding: 40px 32px;
	background: var(--pp-bg-card);
	backdrop-filter: blur(16px);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	height: 100%;
	transition: border-color 0.3s;
}

.gp-info-card:hover { border-color: var(--pp-border-hover); }

.gp-info-card ul {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

.gp-info-card li {
	padding: 14px 0;
	color: var(--pp-text-muted);
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	font-size: 15px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.gp-info-card li::before {
	content: '◆';
	color: var(--pp-cyan);
	font-size: 8px;
	margin-top: 6px;
	flex-shrink: 0;
}

.gp-info-card li strong { color: var(--pp-text); }

.gp-app-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 28px 0;
}

.gp-app-item {
	padding: 22px 16px;
	background: rgba(71, 133, 200, 0.04);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-md);
	text-align: center;
	transition: all 0.3s;
	cursor: default;
}

.gp-app-item:hover {
	background: rgba(71, 133, 200, 0.08);
	border-color: var(--pp-border-hover);
	transform: scale(1.02);
}

.pp-app-icon {
	font-size: 24px;
	color: var(--pp-cyan);
	margin-bottom: 10px;
}

.gp-app-item__title {
	color: var(--pp-text);
	font-weight: 600;
	margin: 0 0 4px;
	font-size: 13px;
}

.gp-app-item__sub {
	color: var(--pp-text-dim);
	font-size: 11px;
	margin: 0;
	font-family: var(--pp-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* FAQ */
.gp-faq__list {
	max-width: 820px;
	margin: 0 auto;
}

.gp-faq__item {
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-md);
	margin-bottom: 10px;
	background: var(--pp-bg-glass);
	backdrop-filter: blur(8px);
	overflow: hidden;
	transition: border-color 0.3s;
}

.gp-faq__item.is-open {
	border-color: var(--pp-border-hover);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

.gp-faq__question {
	width: 100%;
	padding: 22px 28px;
	background: none;
	border: none;
	color: var(--pp-text);
	font-family: var(--pp-font-body);
	font-size: 15px;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	transition: color 0.25s;
}

.gp-faq__question:hover { color: var(--pp-cyan-soft); }

.gp-faq__question::after {
	content: '+';
	font-family: var(--pp-font-mono);
	font-size: 20px;
	color: var(--pp-cyan);
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	transition: all 0.3s;
}

.gp-faq__item.is-open .gp-faq__question::after {
	content: '−';
	background: rgba(71, 133, 200, 0.1);
	border-color: var(--pp-cyan);
}

.gp-faq__answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.gp-faq__item.is-open .gp-faq__answer { max-height: 600px; }

.gp-faq__answer-inner {
	padding: 0 28px 24px;
	color: var(--pp-text-muted);
	font-size: 15px;
	line-height: 1.75;
}

.gp-faq__answer-inner ul { padding-left: 20px; }
.gp-faq__answer-inner li { margin-bottom: 8px; }

/* Contact */
.gp-contact {
	position: relative;
}

.gp-contact::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 600px;
	height: 300px;
	background: radial-gradient(ellipse, rgba(71, 133, 200, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.pp-contact-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

.gp-form {
	background: var(--pp-bg-card);
	backdrop-filter: blur(16px);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	padding: 36px;
}

.gp-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}

.gp-form__group { margin-bottom: 16px; }

.gp-form__label {
	display: block;
	color: var(--pp-text-muted);
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
}

.gp-form__input,
.gp-form__textarea {
	width: 100%;
	padding: 14px 16px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-sm);
	color: var(--pp-text);
	font-family: var(--pp-font-body);
	font-size: 15px;
	transition: all 0.25s;
}

.gp-form__input:focus,
.gp-form__textarea:focus {
	outline: none;
	border-color: var(--pp-cyan);
	box-shadow: 0 0 0 3px rgba(71, 133, 200, 0.1);
}

.gp-form__textarea { min-height: 120px; resize: vertical; }

.gp-form__submit { margin-top: 8px; }
.gp-form__submit .gp-btn { width: 100%; }

.gp-form__message {
	text-align: center;
	margin-top: 16px;
	padding: 12px;
	border-radius: var(--pp-radius-sm);
	display: none;
	font-size: 14px;
}

.gp-form__message.is-success {
	display: block;
	background: rgba(71, 133, 200, 0.1);
	color: var(--pp-cyan);
	border: 1px solid var(--pp-border);
}

.gp-form__message.is-error {
	display: block;
	background: rgba(239, 68, 68, 0.1);
	color: #f87171;
	border: 1px solid rgba(239, 68, 68, 0.2);
}

/* Footer */
.gp-footer {
	background: var(--pp-bg-base);
	border-top: 1px solid var(--pp-border);
	padding: 72px 0 0;
	position: relative;
}

.gp-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--pp-gradient);
	opacity: 0.4;
}

.gp-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: 48px;
	padding-bottom: 48px;
}

.gp-footer__about {
	color: var(--pp-text-muted);
	font-size: 14px;
	line-height: 1.75;
	margin-top: 16px;
}

.gp-footer__heading {
	font-family: var(--pp-font-display);
	color: var(--pp-text);
	font-size: 13px;
	font-weight: 600;
	margin: 0 0 20px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.gp-footer__links { list-style: none; padding: 0; margin: 0; }
.gp-footer__links li { margin-bottom: 10px; }
.gp-footer__links a { color: var(--pp-text-muted); font-size: 14px; transition: color 0.25s; }
.gp-footer__links a:hover { color: var(--pp-accent-soft); }

.gp-footer__services { list-style: none; padding: 0; margin: 0; }
.gp-footer__services li {
	color: var(--pp-text-muted);
	font-size: 14px;
	margin-bottom: 10px;
	padding-left: 16px;
	position: relative;
}

.gp-footer__services li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pp-cyan);
	opacity: 0.5;
}

.gp-footer__bottom {
	border-top: 1px solid var(--pp-border);
	padding: 24px 0;
	text-align: center;
	color: var(--pp-text-dim);
	font-size: 13px;
	font-family: var(--pp-font-mono);
}

/* Sticky bar */
#sb-sticky-container {
	position: fixed !important;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	width: auto;
	z-index: 99999 !important;
	background: transparent;
	pointer-events: none;
	padding: 0;
}

#sb-sticky-container .sb-inner {
	display: flex;
	gap: 12px;
	pointer-events: auto;
	padding: 6px;
	background: rgba(15, 17, 20, 0.92);
	backdrop-filter: blur(12px);
	border: 1px solid var(--pp-border);
	border-radius: 100px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

#sb-sticky-container .sb-btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 28px;
	background: var(--pp-accent);
	color: #ffffff;
	font-family: var(--pp-font-display);
	font-weight: 600;
	font-size: 13px;
	border-radius: 100px;
	text-decoration: none;
	transition: all 0.3s;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

#sb-sticky-container .sb-btn__label {
	line-height: 1;
}

#sb-sticky-container .sb-btn:hover {
	transform: scale(1.03);
	box-shadow: 0 4px 16px rgba(71, 133, 200, 0.3);
	color: #ffffff;
}

#sb-sticky-container .sb-btn i { margin-right: 8px; }

.gp-contact-toast {
	position: fixed;
	left: 50%;
	bottom: 96px;
	transform: translateX(-50%) translateY(12px);
	z-index: 100001;
	max-width: min(92vw, 420px);
	padding: 14px 20px;
	background: rgba(18, 16, 13, 0.96);
	border: 1px solid rgba(201, 162, 39, 0.35);
	border-radius: 999px;
	color: #f5f0e6;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.gp-contact-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* Modal */
.gp-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(15, 17, 20, 0.88);
	backdrop-filter: blur(4px);
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.gp-modal.is-open { display: flex; }

.gp-modal__content {
	background: var(--pp-bg-surface);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	padding: 40px;
	max-width: 520px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	position: relative;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
}

.gp-modal__close {
	position: absolute;
	top: 16px;
	right: 20px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	width: 36px;
	height: 36px;
	color: var(--pp-text-muted);
	font-size: 22px;
	cursor: pointer;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.25s;
}

.gp-modal__close:hover {
	color: var(--pp-cyan);
	border-color: var(--pp-cyan);
}

.gp-modal__title {
	font-family: var(--pp-font-display);
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--pp-text);
	margin: 0 0 28px;
}

/* To top */
.gp-to-top {
	position: fixed;
	bottom: 100px;
	right: 24px;
	width: 44px;
	height: 44px;
	background: var(--pp-bg-surface);
	border: 1px solid var(--pp-border);
	color: var(--pp-cyan);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s;
	z-index: 999;
	text-decoration: none;
}

.gp-to-top.is-visible {
	opacity: 1;
	visibility: visible;
}

.gp-to-top:hover {
	background: rgba(71, 133, 200, 0.1);
	border-color: var(--pp-cyan);
	color: var(--pp-cyan);
}

/* Scroll reveal */
.pp-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.pp-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Product grids must stay visible — commerce content should not wait for scroll */
.ap-product-grid,
.ap-product-grid.pp-reveal,
.ap-shop-page .ap-product-grid,
.ap-bundle-page,
.ap-bundle-page .pp-reveal,
.ap-bundles__layout,
.ap-bundles__layout.pp-reveal,
.ap-bundles__inner {
	opacity: 1;
	transform: none;
}

.pp-reveal-delay-1 { transition-delay: 0.1s; }
.pp-reveal-delay-2 { transition-delay: 0.2s; }
.pp-reveal-delay-3 { transition-delay: 0.3s; }

.pp-product-card:hover .pp-product-card__img {
	transform: scale(1.03);
}

.pp-product-card__name a {
	color: var(--pp-text);
	text-decoration: none;
	transition: color 0.25s;
}

.pp-product-card__name a:hover {
	color: var(--pp-accent);
}

/* Product detail page */
.pp-product-single {
	padding: 40px 0 100px;
}

.pp-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--pp-text-dim);
	margin-bottom: 32px;
}

.pp-breadcrumb a {
	color: var(--pp-text-muted);
}

.pp-breadcrumb a:hover {
	color: var(--pp-accent);
}

.pp-product-single__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	margin-bottom: 56px;
}

.pp-product-single__media {
	position: relative;
}

.pp-product-single__image-wrap {
	background: #ffffff;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	overflow: hidden;
	aspect-ratio: 3 / 4;
	max-height: 520px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pp-product-single__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 24px;
	background: #ffffff;
}

.pp-product-single__purity {
	top: 16px;
	right: 16px;
}

/* Featured pen products — landscape photography, minimal letterboxing */
.pp-product-single--featured-pen .pp-product-single__image-wrap {
	aspect-ratio: 3 / 2;
	max-height: none;
	background: #ebe7de;
	border-color: rgba(201, 162, 39, 0.18);
}

.pp-product-single--featured-pen .pp-product-single__image {
	padding: 0;
	background: transparent;
	object-fit: contain;
	object-position: center;
}

.pp-product-single--featured-pen .pp-product-single__purity {
	top: 12px;
	right: 12px;
}

.pp-product-single__title {
	font-family: var(--pp-font-display);
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--pp-text);
}

.pp-product-single__subtitle {
	font-size: 1.1rem;
	color: var(--pp-accent-soft);
	margin: 0 0 20px;
}

.pp-product-single__desc {
	color: var(--pp-text-muted);
	line-height: 1.75;
	margin: 0 0 24px;
}

.pp-product-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 28px;
	font-size: 13px;
	color: var(--pp-text-muted);
}

.pp-product-single__meta i {
	color: var(--pp-accent);
	margin-right: 6px;
}

.pp-product-single__details {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 24px;
	margin-bottom: 64px;
}

.pp-product-single__panel {
	background: var(--pp-bg-card);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl);
	padding: 32px;
}

.pp-product-single__panel h2 {
	font-family: var(--pp-font-display);
	font-size: 1.25rem;
	margin: 0 0 24px;
	color: var(--pp-text);
}

.pp-spec-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.pp-spec-table th,
.pp-spec-table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--pp-border);
	text-align: left;
	vertical-align: top;
}

.pp-spec-table th {
	width: 38%;
	color: var(--pp-text-dim);
	font-weight: 500;
	padding-right: 16px;
}

.pp-spec-table td {
	color: var(--pp-text);
}

.pp-app-list {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
}

.pp-app-list li {
	padding: 10px 0 10px 20px;
	position: relative;
	color: var(--pp-text-muted);
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	font-size: 14px;
}

.pp-app-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 16px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pp-accent);
}

.pp-research-notice {
	display: flex;
	gap: 12px;
	padding: 16px;
	background: rgba(71, 133, 200, 0.08);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-md);
	font-size: 13px;
	color: var(--pp-text-muted);
	line-height: 1.6;
}

.pp-research-notice i {
	color: var(--pp-accent);
	margin-top: 2px;
	flex-shrink: 0;
}

.pp-product-single__related h2 {
	font-family: var(--pp-font-display);
	font-size: 1.5rem;
	margin: 0 0 28px;
	color: var(--pp-text);
}

.pp-product-grid--compact {
	grid-template-columns: repeat(3, 1fr);
}

.pp-products--archive {
	padding-top: 60px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Responsive */
@media (max-width: 1024px) {
	.gp-hero__grid { grid-template-columns: 1fr; }
	.gp-hero__visual { display: none; }
	.gp-features__grid,
	.gp-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.pp-product-grid { grid-template-columns: repeat(2, 1fr); }
	.gp-steps-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
	.gp-steps-grid::before { display: none; }
	.gp-cards-grid,
	.gp-two-col,
	.pp-contact-wrap { grid-template-columns: 1fr; }
	.gp-footer__grid { grid-template-columns: 1fr 1fr; }
	.pp-product-single__grid,
	.pp-product-single__details { grid-template-columns: 1fr; }
	.pp-product-grid--compact { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 769px) {
	.gp-nav,
	.ap-header__nav {
		display: block;
		position: fixed;
		top: calc(var(--ap-ticker-h) + (var(--pp-header-h) / 2));
		left: 50%;
		transform: translate(-50%, -50%);
		width: max-content;
		max-width: min(720px, 52vw);
		pointer-events: none;
	}

	.gp-nav-item-row {
		display: contents;
	}

	.gp-nav-subtoggle {
		display: none;
	}

	.gp-nav-list,
	.gp-nav-sub {
		pointer-events: auto;
	}
}

@media (max-width: 768px) {
	.gp-menu-toggle { display: block; }

	.gp-nav,
	.ap-header__nav {
		display: none;
		position: fixed;
		left: 0;
		right: 0;
		top: var(--pp-nav-offset, calc(var(--pp-header-h) + var(--ap-ticker-h)));
		bottom: 0;
		transform: none;
		width: auto;
		max-width: none;
		pointer-events: auto;
		z-index: 10050;
		background: #12100d;
		border-top: 1px solid var(--pp-border);
		box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
		padding: 16px 20px calc(96px + env(safe-area-inset-bottom, 0px));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.gp-nav.is-open {
		display: block;
	}

	.gp-nav-backdrop {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: var(--pp-nav-offset, calc(var(--pp-header-h) + var(--ap-ticker-h)));
		z-index: 10040;
		background: rgba(10, 8, 6, 0.85);
		border: 0;
		padding: 0;
		margin: 0;
	}

	.gp-nav-backdrop:not([hidden]) {
		display: block;
	}

	body.is-nav-open #content {
		pointer-events: none;
		user-select: none;
	}

	.gp-nav-list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.gp-nav-list > li > a {
		padding: 14px 0;
		width: 100%;
		border-bottom: 1px solid rgba(201, 162, 39, 0.12);
	}

	.gp-nav-item-row {
		display: flex;
		align-items: center;
		gap: 10px;
		border-bottom: 1px solid rgba(201, 162, 39, 0.12);
	}

	.gp-nav-item-link {
		flex: 1;
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 12px 0;
		color: rgba(248, 244, 235, 0.92);
		font-size: 16px;
		font-weight: 500;
		text-decoration: none;
		border-bottom: 0;
	}

	.gp-nav-item-link .gp-nav-chevron {
		display: none;
	}

	.gp-nav-subtoggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 44px;
		height: 44px;
		margin: 4px 0;
		border: 1px solid rgba(201, 162, 39, 0.28);
		border-radius: 10px;
		background: rgba(201, 162, 39, 0.1);
		color: var(--pp-accent);
		cursor: pointer;
		transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	}

	.gp-nav-subtoggle i {
		font-size: 14px;
		transition: transform 0.25s ease;
	}

	.gp-nav-subtoggle:active {
		transform: scale(0.96);
	}

	.menu-item-has-children.is-open > .gp-nav-item-row .gp-nav-subtoggle {
		background: rgba(201, 162, 39, 0.18);
		border-color: rgba(201, 162, 39, 0.45);
	}

	.menu-item-has-children.is-open > .gp-nav-item-row .gp-nav-subtoggle i {
		transform: rotate(180deg);
	}

	.menu-item-has-children.is-open > .gp-nav-item-row .gp-nav-item-link {
		color: var(--pp-text);
		font-weight: 600;
	}

	.gp-nav-sub {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
		margin: 0 0 8px;
		padding: 0 0 8px 12px;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	.gp-nav-list > li.is-open > .gp-nav-sub {
		display: block;
	}

	.gp-menu-toggle {
		display: block;
		position: static;
		grid-area: toggle;
	}

	.gp-header__inner,
	.ap-header__inner {
		position: relative;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"logo toggle"
			"actions actions";
		padding: 12px 16px 14px;
		gap: 10px;
	}

	.gp-header__actions,
	.ap-header__actions {
		justify-self: stretch;
		display: flex;
		width: 100%;
		padding-top: 4px;
		gap: 10px;
		align-items: center;
	}

	.pp-header-search {
		flex: 1;
		min-width: 0;
		width: 100%;
	}

	.ap-header__icons {
		margin-left: auto;
		flex-shrink: 0;
	}

	.pp-search-page-form {
		flex-direction: column;
	}

	.gp-section { padding: 72px 0; }
	.gp-features__grid,
	.gp-stats__grid,
	.gp-steps-grid,
	.pp-product-grid { grid-template-columns: 1fr; }
	.pp-product-grid--compact { grid-template-columns: 1fr; }
	.gp-form__row { grid-template-columns: 1fr; }
	.gp-footer__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Anpeptides — Gold Theme Components
   ============================================================ */

.ap-ticker {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1001;
	height: var(--ap-ticker-h);
	background: var(--pp-accent);
	color: #1a1712;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.ap-ticker__track {
	display: flex;
	width: max-content;
	flex-shrink: 0;
	animation: ap-ticker-scroll var(--ticker-duration, 28s) linear infinite;
	will-change: transform;
}

.ap-ticker__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 48px;
	padding-right: 48px;
}

.ap-ticker__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	flex-shrink: 0;
}

.ap-ticker__item i {
	font-size: 5px;
	opacity: 0.6;
}

@keyframes ap-ticker-scroll {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(calc(-1 * var(--ticker-shift, 50%)), 0, 0); }
}

.ap-header,
.gp-header.ap-header {
	top: var(--ap-ticker-h);
	background: rgba(18, 16, 13, 0.98);
	border-bottom: 1px solid var(--pp-border);
}

.ap-header.is-scrolled,
.gp-header.ap-header.is-scrolled {
	background: rgba(18, 16, 13, 0.98);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.ap-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.ap-logo__mark {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--pp-gradient);
	border-radius: var(--pp-radius-sm);
	color: #1a1712;
	font-size: 18px;
}

.pp-logo__text,
.ap-logo .pp-logo__text {
	font-family: var(--pp-font-display);
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--pp-text);
	letter-spacing: -0.02em;
}

.pp-logo__text span {
	color: var(--pp-accent);
}

.ap-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	justify-self: end;
}

.ap-header__icons {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.ap-header__icon-btn {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--pp-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--pp-text);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.25s, border-color 0.25s, background 0.25s;
}

.ap-header__icon-btn:hover {
	color: var(--pp-accent);
	border-color: var(--pp-border-hover);
	background: rgba(201, 162, 39, 0.08);
}

.ap-header__shop-btn {
	padding: 10px 20px !important;
	font-size: 13px !important;
	white-space: nowrap;
}

/* Hero — built cinematic (full-cover bg + HTML copy) */
.ap-hero--built {
	position: relative;
	width: 100%;
	min-height: 0;
	padding: clamp(48px, 6vw, 88px) 0 0;
	background: #000;
	overflow: hidden;
	isolation: isolate;
}

.ap-hero--built::after {
	display: none;
}

.ap-hero__scene {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

.ap-hero__bg-cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transform: scale(1.02);
}

.ap-hero__bg-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(105deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.55) 42%, rgba(0, 0, 0, 0.35) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.1) 45%, rgba(26, 18, 6, 0.92) 100%),
		radial-gradient(ellipse 70% 50% at 50% 35%, rgba(201, 162, 39, 0.12) 0%, transparent 60%);
}

.ap-hero__dna {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -58%);
	width: min(1200px, 110vw);
	height: auto;
	opacity: 0.22;
	filter: drop-shadow(0 0 30px rgba(201, 162, 39, 0.15));
	pointer-events: none;
	animation: apHeroDnaDrift 28s ease-in-out infinite;
}

.ap-hero__layout {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	min-height: 0;
}

.ap-hero__panel {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: clamp(16px, 2.5vw, 24px);
	padding: clamp(12px, 1.5vw, 20px) 0 0;
}

.ap-hero__main {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(24px, 5vw, 56px);
	align-items: center;
}

.ap-hero__copy {
	max-width: 620px;
}

.ap-hero__eyebrow {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pp-accent);
}

.ap-hero__lead {
	margin: clamp(16px, 2.5vw, 24px) 0 0;
	max-width: 480px;
	font-size: clamp(0.9rem, 1.4vw, 1.05rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.78);
}

.ap-hero__copy .ap-hero__cta {
	margin-top: clamp(24px, 3.5vw, 36px);
}

.ap-hero__shop {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(20px, 3vw, 28px);
}

.ap-hero__visual {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 3vw, 32px);
	width: 100%;
}

.ap-hero__concept {
	position: relative;
	width: min(100%, 420px);
	aspect-ratio: 3 / 4;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translate3d(var(--hero-tilt-x, 0px), var(--hero-tilt-y, 0px), 0);
	transition: transform 0.45s ease-out;
}

.ap-hero__concept-fx {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	overflow: hidden;
	border-radius: 12px;
}

.ap-hero__concept-glow {
	position: absolute;
	inset: 8% 0 12%;
	background:
		radial-gradient(ellipse 70% 55% at 50% 45%, rgba(201, 162, 39, 0.28) 0%, transparent 68%),
		radial-gradient(circle at 50% 60%, rgba(219, 184, 64, 0.12) 0%, transparent 55%);
	filter: blur(18px);
	pointer-events: none;
	animation: apHeroGlowPulse 4.8s ease-in-out infinite;
}

.ap-hero__concept-img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	filter:
		drop-shadow(0 8px 24px rgba(0, 0, 0, 0.45))
		drop-shadow(0 0 48px rgba(201, 162, 39, 0.18));
	animation: apHeroConceptFloat 7s ease-in-out infinite;
}

.ap-hero__molecule-canvas {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.6s ease;
}

.ap-hero__concept.is-molecule-active .ap-hero__molecule-canvas {
	opacity: 1;
}

.ap-hero__concept.is-molecule-active .ap-hero__concept-img--fallback {
	opacity: 0;
	visibility: hidden;
	animation: none;
}

.ap-hero__concept--animated .ap-hero__particle {
	position: absolute;
	left: calc(8% + (var(--particle-i) * 6.3%) * 1);
	top: calc(72% - (var(--particle-i) % 5) * 8%);
	width: calc(2px + (var(--particle-i) % 3));
	height: calc(2px + (var(--particle-i) % 3));
	border-radius: 50%;
	background: rgba(219, 184, 64, 0.85);
	box-shadow: 0 0 8px rgba(201, 162, 39, 0.65);
	opacity: 0;
	animation: apHeroParticleDrift 5.5s ease-in-out infinite;
	animation-delay: calc(var(--particle-i) * -0.42s);
}

.ap-hero__concept-shimmer {
	position: absolute;
	inset: 10% 5%;
	background: linear-gradient(
		115deg,
		transparent 35%,
		rgba(255, 236, 179, 0.08) 45%,
		rgba(219, 184, 64, 0.22) 50%,
		rgba(255, 236, 179, 0.08) 55%,
		transparent 65%
	);
	mix-blend-mode: screen;
	transform: translateX(-120%) skewX(-12deg);
	animation: apHeroShimmer 6.5s ease-in-out infinite;
}

.ap-hero__concept-ring {
	position: absolute;
	inset: 6% 8%;
	border: 1px solid rgba(201, 162, 39, 0.18);
	border-radius: 50%;
	box-shadow:
		0 0 24px rgba(201, 162, 39, 0.08),
		inset 0 0 24px rgba(201, 162, 39, 0.06);
	animation: apHeroRingPulse 5s ease-in-out infinite;
}

.ap-hero__cta--pulse {
	animation: apHeroCtaPulse 3.2s ease-in-out infinite;
}

@keyframes apHeroGlowPulse {
	0%, 100% {
		opacity: 0.72;
		transform: scale(0.96);
	}
	50% {
		opacity: 1;
		transform: scale(1.04);
	}
}

@keyframes apHeroConceptFloat {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

@keyframes apHeroParticleDrift {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.6);
	}
	20% {
		opacity: 0.85;
	}
	100% {
		opacity: 0;
		transform: translate3d(calc(-12px + var(--particle-i) * 2px), -120px, 0) scale(1.1);
	}
}

@keyframes apHeroShimmer {
	0%, 18% {
		transform: translateX(-120%) skewX(-12deg);
		opacity: 0;
	}
	28%, 42% {
		opacity: 1;
	}
	55%, 100% {
		transform: translateX(120%) skewX(-12deg);
		opacity: 0;
	}
}

@keyframes apHeroRingPulse {
	0%, 100% {
		opacity: 0.35;
		transform: scale(0.98);
	}
	50% {
		opacity: 0.7;
		transform: scale(1.02);
	}
}

@keyframes apHeroDnaDrift {
	0%, 100% {
		transform: translate(-50%, -58%) rotate(0deg) scale(1);
		opacity: 0.18;
	}
	50% {
		transform: translate(-50%, -60%) rotate(2deg) scale(1.03);
		opacity: 0.26;
	}
}

@keyframes apHeroCtaPulse {
	0%, 100% {
		box-shadow: 0 10px 28px rgba(201, 162, 39, 0.35);
	}
	50% {
		box-shadow:
			0 10px 28px rgba(201, 162, 39, 0.35),
			0 0 22px rgba(219, 184, 64, 0.35);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ap-ticker__track {
		animation: none;
	}

	.ap-hero__dna,
	.ap-hero__concept-glow,
	.ap-hero__concept-img,
	.ap-hero__concept--animated .ap-hero__particle,
	.ap-hero__concept-shimmer,
	.ap-hero__concept-ring,
	.ap-hero__cta--pulse,
	.ap-hero__concept {
		animation: none !important;
		transition: none !important;
	}
}

.ap-hero__disclaimer {
	margin: 0;
	padding: clamp(10px, 1.5vw, 14px) 0 0;
	border-top: 1px solid rgba(201, 162, 39, 0.14);
	text-align: center;
	font-size: clamp(0.68rem, 1vw, 0.78rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.42);
}

.ap-hero__trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 2vw, 28px);
	margin: clamp(16px, 2.5vw, 24px) 0 0;
	padding: clamp(12px, 1.6vw, 16px) clamp(12px, 2vw, 20px);
	list-style: none;
	border-top: 1px solid rgba(201, 162, 39, 0.2);
	background: linear-gradient(180deg, rgba(201, 162, 39, 0.06) 0%, rgba(0, 0, 0, 0.12) 100%);
	border-radius: 999px;
}

.ap-hero__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.ap-hero__trust-icon {
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(201, 162, 39, 0.1);
	border: 1px solid rgba(201, 162, 39, 0.28);
	color: var(--pp-accent-soft);
	font-size: 12px;
}

.ap-hero__trust-label {
	font-size: clamp(0.62rem, 0.95vw, 0.72rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
	white-space: nowrap;
}

.ap-hero__stage {
	display: none;
}

.ap-hero__title {
	margin: 0;
	font-size: clamp(1.85rem, 4.2vw, 3.25rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #fff;
}

.ap-hero__title span {
	display: block;
}

.ap-hero__vials {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: clamp(12px, 2vw, 24px);
	width: 100%;
	max-width: 440px;
}

.ap-hero__vials--real {
	align-items: flex-end;
	padding-bottom: 8px;
}

.ap-hero__vial-photo {
	display: block;
	width: 100%;
	line-height: 0;
}

.ap-hero__vials--real .ap-hero__vial {
	width: clamp(92px, 12vw, 124px);
}

.ap-hero__vials--real .ap-hero__vial img {
	display: block;
	width: 100%;
	height: auto;
	max-height: clamp(165px, 22vw, 240px);
	object-fit: contain;
	opacity: 1;
	background: none;
	filter:
		drop-shadow(0 4px 2px rgba(0, 0, 0, 0.35))
		drop-shadow(0 18px 28px rgba(0, 0, 0, 0.55));
	transition: transform 0.35s ease, filter 0.35s ease;
}

.ap-hero__vials--real .ap-hero__vial--featured {
	width: clamp(108px, 14vw, 148px);
}

.ap-hero__vials--real .ap-hero__vial--featured .ap-hero__vial-photo img {
	max-height: clamp(195px, 26vw, 280px);
	transform: translateY(-14px);
}

.ap-hero__vials--real .ap-hero__vial:hover .ap-hero__vial-photo img {
	filter:
		drop-shadow(0 6px 4px rgba(0, 0, 0, 0.4))
		drop-shadow(0 22px 34px rgba(201, 162, 39, 0.28));
}

.ap-hero__vials--png {
	display: none;
}

.ap-hero__vials--png .ap-hero__vial img {
	width: 100%;
	height: auto;
	max-height: clamp(150px, 20vw, 220px);
	object-fit: contain;
	background: none !important;
	background-color: transparent !important;
	filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.55));
	transition: transform 0.35s ease, filter 0.35s ease;
}

.ap-hero__vial {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	text-decoration: none;
	transition: transform 0.35s ease;
}

.ap-hero__vial-card {
	display: none;
}

.ap-hero__vial-name {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: rgba(255, 255, 255, 0.9);
	text-align: center;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.ap-hero__vial:hover {
	transform: translateY(-6px);
}

.ap-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	height: 48px;
	padding: 0 36px;
	background: linear-gradient(180deg, #dbb840 0%, #c9a227 55%, #a8894a 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 6px;
	box-shadow: 0 10px 28px rgba(201, 162, 39, 0.35);
	transition: transform 0.25s, box-shadow 0.25s;
}

.ap-hero__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 36px rgba(201, 162, 39, 0.45);
	color: #fff;
}

.ap-hero__particles {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 15% 25%, rgba(219, 184, 64, 0.35) 0 1px, transparent 2px),
		radial-gradient(circle at 45% 15%, rgba(240, 223, 160, 0.25) 0 1.5px, transparent 3px),
		radial-gradient(circle at 72% 30%, rgba(201, 162, 39, 0.3) 0 1px, transparent 2px),
		radial-gradient(circle at 88% 55%, rgba(219, 184, 64, 0.2) 0 2px, transparent 4px),
		radial-gradient(circle at 25% 60%, rgba(201, 162, 39, 0.25) 0 1px, transparent 2px),
		radial-gradient(circle at 55% 45%, rgba(240, 223, 160, 0.2) 0 1px, transparent 2px);
	background-size: 100% 100%;
	opacity: 0.6;
}

.ap-hero__gold-floor:not(:has(.ap-hero__gold-texture)) {
	background:
		linear-gradient(180deg, transparent 0%, #1a1408 25%, #5c4518 55%, #c9a227 100%);
}
.ap-hero--cinematic {
	padding: 0;
	background: #000;
	line-height: 0;
}

.ap-hero__banner {
	display: block;
	width: 100%;
	height: auto;
	min-height: 420px;
	max-height: min(85vh, 820px);
	object-fit: cover;
	object-position: center center;
}

.ap-hero__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ap-hero--cinematic {
	position: relative;
}

.ap-hero__overlay-inner {
	position: relative;
	height: 100%;
	min-height: inherit;
}

.ap-hero__cta-link {
	position: absolute;
	right: clamp(16px, 4.5vw, 72px);
	top: 58%;
	transform: translateY(-50%);
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: clamp(120px, 12vw, 160px);
	height: clamp(40px, 4vw, 48px);
	padding: 0 24px;
	background: transparent;
	color: transparent;
	font-size: 0;
	border-radius: 4px;
	cursor: pointer;
}

/* Legacy hero blocks (other pages) */
.ap-hero:not(.ap-hero--cinematic) {
	background: linear-gradient(135deg, #1a1712 0%, #2a2318 50%, #1a1712 100%);
	padding: 48px 0 80px;
	position: relative;
	overflow: hidden;
}

.ap-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	position: relative;
	z-index: 1;
}

.ap-hero:not(.ap-hero--cinematic)::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 50% at 80% 20%, rgba(201, 162, 39, 0.12) 0%, transparent 60%),
		radial-gradient(ellipse 40% 40% at 10% 80%, rgba(201, 162, 39, 0.08) 0%, transparent 50%);
	pointer-events: none;
}

.ap-hero__content {
	max-width: 580px;
	position: relative;
}

.ap-hero__title {
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.03em;
	color: var(--pp-text);
	margin: 0 0 20px;
}

.ap-hero__subtitle {
	font-size: 1.1rem;
	color: var(--pp-text-muted);
	margin: 0 0 32px;
	max-width: 600px;
	line-height: 1.7;
}

.ap-hero__cta {
	font-size: 15px;
	padding: 16px 36px;
}

/* Trust icons — merged into hero (.ap-hero__trust) */
.ap-trust-icons {
	display: none;
}

/* Sections — dark hero/footer + light product blocks */
.ap-section {
	padding: 80px 0;
}

.ap-section--products,
.ap-section--alt,
.ap-section--carousel {
	background: var(--ap-bg-light);
	color: var(--ap-text-dark);
}

.ap-section--dark {
	background: var(--pp-bg-deep);
	color: var(--pp-text);
}

.ap-section--apart {
	position: relative;
	overflow: hidden;
	background: #0e0c0a;
	min-height: 520px;
}

.ap-apart__scene {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.ap-apart__bg-cover {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.ap-apart__bg-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(14, 12, 10, 0.55) 0%, rgba(14, 12, 10, 0.35) 50%, rgba(14, 12, 10, 0.62) 100%);
}

.ap-apart__container {
	position: relative;
	z-index: 3;
}

.ap-section__title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	text-align: center;
	margin: 0 0 48px;
	color: inherit;
	letter-spacing: -0.02em;
}

.ap-section--products .ap-section__title,
.ap-section--alt .ap-section__title,
.ap-section--carousel .ap-section__title {
	color: var(--ap-text-dark);
}

.ap-section--dark .ap-section__title {
	color: var(--pp-text);
}

.ap-section__subtitle {
	text-align: center;
	color: var(--pp-text-muted);
	max-width: 640px;
	margin: -32px auto 48px;
	font-size: 1.05rem;
}

.ap-section--products .ap-section__subtitle,
.ap-section--alt .ap-section__subtitle,
.ap-section--carousel .ap-section__subtitle,
.ap-testimonials .ap-section__subtitle {
	color: var(--ap-text-body);
}

.ap-section__cta {
	text-align: center;
	margin-top: 48px;
}

.ap-section--products .gp-btn--outline,
.ap-section--carousel .gp-btn--outline {
	color: var(--ap-text-dark);
	border-color: rgba(201, 162, 39, 0.4);
}

.ap-section--products .gp-btn--outline:hover,
.ap-section--carousel .gp-btn--outline:hover {
	background: rgba(201, 162, 39, 0.08);
	color: var(--pp-accent);
	border-color: var(--pp-accent);
}

/* Product carousel */
.ap-section--carousel {
	border-top: none;
	border-bottom: 1px solid rgba(201, 162, 39, 0.12);
	padding: 44px 0 72px;
}

.ap-carousel-head .ap-section__title {
	margin-bottom: 12px;
}

.ap-carousel-head .ap-section__subtitle {
	margin-bottom: 40px;
}

.ap-carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}

.ap-carousel__viewport {
	flex: 1;
	overflow: hidden;
	padding: 4px 2px 12px;
}

.ap-carousel__track {
	display: flex;
	gap: 22px;
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
	align-items: stretch;
}

.ap-carousel__slide {
	flex: 0 0 calc(33.333% - 15px);
	min-width: calc(33.333% - 15px);
	display: flex;
	align-items: stretch;
}

.ap-carousel__slide .ap-product-card {
	width: 100%;
}

.ap-carousel__nav {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--pp-border-hover);
	background: rgba(201, 162, 39, 0.12);
	color: var(--pp-accent);
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.25s, color 0.25s, transform 0.25s;
}

.ap-carousel__nav:hover:not(:disabled) {
	background: var(--pp-accent);
	color: #1a1712;
	transform: scale(1.05);
}

.ap-carousel__nav:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.ap-carousel-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}

.ap-carousel-dots__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: rgba(201, 162, 39, 0.25);
	cursor: pointer;
	transition: background 0.25s, transform 0.25s;
}

.ap-carousel-dots__dot.is-active {
	background: var(--pp-accent);
	transform: scale(1.2);
}

/* Product grid & cards — white card layout */
.ap-product-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	align-items: stretch;
}

.ap-product-grid--4 {
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.ap-product-card {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 460px;
	padding: 20px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
	transition: box-shadow 0.3s, transform 0.3s;
}

.ap-product-card:hover {
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.ap-product-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-decoration: none;
	color: #1a1712;
}

.ap-product-card__image-wrap {
	position: relative;
	flex: 1 1 auto;
	min-height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	margin-bottom: 16px;
}

.ap-product-card__image {
	width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
	display: block;
	transition: transform 0.35s ease;
}

.ap-product-card:hover .ap-product-card__image {
	transform: scale(1.03);
}

.ap-product-card__badge {
	position: absolute;
	top: 0;
	left: 0;
	background: #1a1712;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 5px 12px;
	border-radius: 50px;
	z-index: 1;
}

.ap-product-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 6px;
	color: #1a1712;
	line-height: 1.35;
	min-height: 2.7em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex-shrink: 0;
}

.ap-product-card__price {
	font-size: 1.1rem;
	font-weight: 600;
	color: #a68536;
	margin: 0 0 16px;
	flex-shrink: 0;
}

.ap-product-card__cart {
	display: block;
	width: 100%;
	margin-top: auto;
	padding: 14px 20px;
	background: #a68536;
	color: #ffffff;
	border: none;
	border-radius: 50px;
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background 0.25s, transform 0.25s;
	flex-shrink: 0;
	text-align: center;
	text-decoration: none;
}

.ap-product-card__cart:hover {
	background: #8f7030;
	transform: translateY(-1px);
}

/* Featured carousel — edge-to-edge image zone, full product visible */
.ap-section--carousel .ap-product-card {
	min-height: 0;
	padding: 0;
	overflow: hidden;
}

.ap-section--carousel .ap-product-card__link {
	flex: 1 1 auto;
	min-height: 0;
}

.ap-section--carousel .ap-product-card__image-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 2;
	flex: 0 0 auto;
	min-height: 0;
	max-height: none;
	margin: 0;
	padding: 0;
	background: #ebe7de;
	overflow: hidden;
	border-radius: 14px 14px 0 0;
}

.ap-section--carousel .ap-product-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	min-height: 0;
	object-fit: contain;
	object-position: center;
}

.ap-section--carousel .ap-product-card__badge {
	top: 10px;
	left: 10px;
}

.ap-section--carousel .ap-product-card__title {
	font-size: 0.98rem;
	min-height: 0;
	margin: 0;
	padding: 12px 14px 0;
	line-height: 1.35;
}

.ap-section--carousel .ap-product-card__price {
	font-size: 1rem;
	margin: 0;
	padding: 6px 14px 12px;
}

.ap-section--carousel .ap-product-card__cart {
	margin: 0 14px 14px;
	width: auto;
	padding: 12px 16px;
	font-size: 13px;
}

/* Features grid */
.ap-features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ap-feature-card {
	background: #fff;
	border: 1px solid rgba(201, 162, 39, 0.12);
	border-radius: var(--pp-radius-md);
	padding: 28px;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.ap-feature-card:hover {
	border-color: rgba(201, 162, 39, 0.35);
	box-shadow: 0 8px 24px rgba(201, 162, 39, 0.1);
}

.ap-feature-card h3 {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--ap-text-dark);
	margin: 0 0 10px;
}

.ap-feature-card p {
	font-size: 0.95rem;
	color: var(--ap-text-body);
	margin: 0;
	line-height: 1.65;
}

/* Why Researchers Trust — split panel */
.ap-trust-showcase {
	padding: 72px 0 88px;
	background: var(--ap-bg-light, #faf8f4);
	color: var(--ap-text-dark);
}

.ap-trust-showcase__intro {
	text-align: center;
	margin-bottom: 40px;
}

.ap-trust-showcase__intro .ap-section__title {
	margin-bottom: 12px;
	line-height: 1.25;
	color: var(--ap-text-dark);
}

.ap-trust-showcase__brand {
	color: var(--pp-accent);
}

.ap-trust-showcase__intro .ap-section__subtitle {
	margin: 0 auto;
	max-width: 680px;
	color: var(--ap-text-body);
}

.ap-trust-showcase__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	border-radius: 24px;
	overflow: hidden;
	border: 1px solid rgba(201, 162, 39, 0.16);
	box-shadow: 0 24px 64px rgba(26, 23, 18, 0.08);
}

.ap-trust-showcase__features {
	background: linear-gradient(165deg, #12100d 0%, #0e0c0a 100%);
	padding: 36px 32px;
}

.ap-trust-showcase__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ap-trust-showcase__tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 22px 16px 20px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(201, 162, 39, 0.12);
	transition: border-color 0.25s, background 0.25s;
}

.ap-trust-showcase__tile:hover {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(201, 162, 39, 0.28);
}

.ap-trust-showcase__tile-icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(201, 162, 39, 0.12);
	border: 1px solid rgba(201, 162, 39, 0.32);
	color: var(--pp-accent-soft);
	font-size: 1.05rem;
	flex-shrink: 0;
	margin: 0 0 14px;
}

.ap-trust-showcase__tile-body {
	min-width: 0;
	width: 100%;
}

.ap-trust-showcase__tile h3 {
	margin: 0 0 6px;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--pp-text);
}

.ap-trust-showcase__tile p {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--pp-text-muted);
}

.ap-trust-showcase__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 36px 28px;
	background: linear-gradient(180deg, #ffffff 0%, #f7f2e8 100%);
	border-left: 1px solid rgba(201, 162, 39, 0.12);
}

.ap-trust-showcase__visual-card {
	width: 100%;
	max-width: 300px;
	text-align: center;
}

.ap-trust-showcase__visual-badge {
	display: inline-block;
	margin-bottom: 18px;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	border: 1px solid rgba(201, 162, 39, 0.28);
	color: var(--pp-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ap-trust-showcase__visual-media {
	padding: 12px;
	border-radius: 18px;
	background: #ffffff;
	border: 1px solid rgba(201, 162, 39, 0.14);
	box-shadow: 0 12px 36px rgba(166, 133, 54, 0.12);
}

.ap-trust-showcase__visual-media img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.ap-trust-showcase__visual-caption {
	margin: 16px 0 0;
	font-size: 0.8125rem;
	color: var(--ap-text-body);
	line-height: 1.5;
}

/* What sets us apart */
.ap-apart__intro {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 48px;
}

.ap-apart__intro h2 {
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--pp-accent);
	margin: 0 0 12px;
}

.ap-apart__intro h3 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: var(--pp-text);
	margin: 0 0 16px;
}

.ap-apart__intro p {
	color: var(--pp-text-muted);
	margin: 0;
	line-height: 1.7;
}

.ap-apart__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 32px;
}

.ap-apart-card {
	background: rgba(20, 18, 14, 0.88);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(201, 162, 39, 0.28);
	border-radius: var(--pp-radius-md);
	padding: 28px;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.ap-apart-card:hover {
	border-color: var(--pp-border-hover);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
}

.ap-apart-card h4 {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--pp-accent-soft);
	margin: 0 0 12px;
}

.ap-apart-card p {
	font-size: 0.95rem;
	color: var(--pp-text-muted);
	margin: 0;
	line-height: 1.65;
}

.ap-disclaimer {
	text-align: center;
	font-size: 0.85rem;
	color: var(--pp-text-dim);
	font-style: italic;
	margin: 0;
}

/* Bundles — left copy, right background panel */
.ap-bundles {
	background: #000;
	border-top: 1px solid var(--pp-border);
	border-bottom: 1px solid var(--pp-border);
	padding: clamp(64px, 7vw, 88px) 0;
}

.ap-bundles__inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 64px);
	display: grid;
	grid-template-columns: minmax(280px, 0.88fr) minmax(0, 1.12fr);
	gap: clamp(32px, 4vw, 56px);
	align-items: center;
}

.ap-bundles__content {
	text-align: left;
}

.ap-bundles__label {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--pp-accent);
	margin-bottom: 12px;
}

.ap-bundles__content h2 {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 700;
	color: var(--pp-text);
	margin: 0 0 16px;
	line-height: 1.2;
}

.ap-bundles__content > p {
	color: var(--pp-text-muted);
	margin: 0 0 24px;
	line-height: 1.7;
	font-size: 1.02rem;
	max-width: 520px;
}

.ap-bundles__list {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
	text-align: left;
	max-width: 520px;
}

.ap-bundles__frame {
	width: 100%;
	height: clamp(260px, 28vw, 380px);
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(201, 162, 39, 0.38);
	background: #0a0908;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
}

.ap-bundles__frame-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.ap-bundles__list li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 10px;
	color: var(--pp-text-muted);
	font-size: 0.95rem;
}

.ap-bundles__list li::before {
	content: '\f00c';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	left: 0;
	color: var(--pp-accent);
	font-size: 12px;
	top: 4px;
}

/* Testimonials */
.ap-testimonials {
	background: var(--ap-bg-cream);
}

.ap-testimonials .ap-section__title {
	color: var(--ap-text-dark);
}

.ap-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ap-testimonial {
	background: #fff;
	border: 1px solid rgba(201, 162, 39, 0.15);
	border-radius: var(--pp-radius-md);
	padding: 28px;
	margin: 0;
	position: relative;
}

.ap-testimonial::before {
	content: '\201C';
	position: absolute;
	top: 12px;
	left: 20px;
	font-size: 3rem;
	color: rgba(201, 162, 39, 0.25);
	line-height: 1;
	font-family: Georgia, serif;
}

.ap-testimonial p {
	font-size: 0.95rem;
	color: var(--ap-text-body);
	line-height: 1.7;
	margin: 0 0 16px;
	padding-top: 20px;
	font-style: italic;
}

.ap-testimonial cite {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--pp-accent);
	font-style: normal;
}

/* Newsletter — merged into unified footer */
.ap-footer--unified {
	background: #0e0c0a;
	border-top: 1px solid var(--pp-border);
	padding: 0 0 clamp(48px, 5vw, 72px);
}

.ap-footer__inner {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 clamp(24px, 4vw, 80px);
}

.ap-footer__newsletter {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(320px, 520px);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
	padding: clamp(48px, 6vw, 72px) 0;
	margin: 0;
	background: none;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--pp-border);
}

.ap-footer__newsletter-copy h2 {
	font-size: clamp(1.4rem, 2.5vw, 1.85rem);
	font-weight: 700;
	color: var(--pp-text);
	margin: 0 0 12px;
	line-height: 1.25;
}

.ap-footer__newsletter-copy p {
	color: var(--pp-text-muted);
	margin: 0;
	max-width: 560px;
	line-height: 1.7;
	font-size: 0.95rem;
}

.ap-footer__newsletter-form {
	display: flex;
	gap: 12px;
	align-items: stretch;
	width: 100%;
}

.ap-footer__newsletter-form input[type="email"] {
	flex: 1;
	min-width: 0;
	padding: 14px 18px;
	background: rgba(34, 30, 24, 0.9);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-sm);
	color: var(--pp-text);
	font-size: 15px;
	outline: none;
	transition: border-color 0.25s;
}

.ap-footer__newsletter-form input[type="email"]:focus {
	border-color: var(--pp-accent);
}

.ap-footer__newsletter-form input[type="email"]::placeholder {
	color: var(--pp-text-dim);
}

.ap-footer__newsletter-form .gp-btn {
	flex-shrink: 0;
	white-space: nowrap;
}

.ap-footer__main {
	display: grid;
	grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(140px, 1fr));
	gap: clamp(36px, 5vw, 72px);
	padding: clamp(48px, 6vw, 72px) 0 clamp(40px, 5vw, 56px);
}

.ap-footer__brand .gp-footer__about {
	max-width: 420px;
	margin-top: 18px;
	color: var(--pp-text-muted);
	font-size: 0.95rem;
	line-height: 1.75;
}

.ap-footer__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.ap-footer__contact-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	background: var(--pp-accent);
	color: #1a1712;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	border-radius: 100px;
	transition: background 0.25s, transform 0.25s;
}

.ap-footer__contact-btn:hover {
	background: var(--pp-accent-hover);
	transform: translateY(-1px);
	color: #1a1712;
}

.ap-footer--unified .gp-footer__bottom {
	border-top: 1px solid var(--pp-border);
	padding: 24px 0 0;
	margin: 0;
}

/* Legacy newsletter (unused on front page) */
.ap-newsletter {
	background: var(--pp-bg-deep);
	border-top: 1px solid var(--pp-border);
}

/* Age gate */
.ap-age-gate {
	position: fixed;
	inset: 0;
	z-index: 100002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

.ap-age-gate[hidden] {
	display: none !important;
}

.ap-age-gate__overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 8, 6, 0.92);
	backdrop-filter: blur(8px);
}

.ap-age-gate__dialog {
	position: relative;
	background: var(--pp-bg-surface);
	border: 1px solid var(--pp-border-hover);
	border-radius: var(--pp-radius-lg);
	padding: 40px;
	max-width: 480px;
	margin: 24px;
	text-align: center;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
}

.ap-age-gate__dialog h2 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--pp-accent);
	margin: 0 0 16px;
}

.ap-age-gate__dialog p {
	color: var(--pp-text-muted);
	margin: 0 0 28px;
	line-height: 1.65;
	font-size: 0.95rem;
}

.ap-age-gate__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Product single price */
.ap-product-single__price {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--pp-accent);
	margin: 16px 0 8px;
}

/* Shop page */
.ap-shop-page {
	padding-top: 48px;
}

.ap-shop-page .ap-section__subtitle {
	color: var(--ap-text-body);
	margin: -32px auto 48px;
	text-align: center;
}

/* Sticky contact buttons — gold */
#sb-sticky-container .sb-btn {
	background: var(--pp-accent);
	color: #1a1712;
}

#sb-sticky-container .sb-btn:hover {
	background: var(--pp-accent-hover);
}

/* Responsive — Anpeptides */
@media (max-width: 1200px) {
	.ap-carousel__slide {
		flex: 0 0 calc(33.333% - 15px);
		min-width: calc(33.333% - 15px);
	}
}

@media (max-width: 1200px) {
	.ap-product-grid--4 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1100px) {
	.ap-trust-showcase__panel {
		grid-template-columns: 1fr;
	}

	.ap-trust-showcase__visual {
		border-left: none;
		border-top: 1px solid rgba(201, 162, 39, 0.12);
		padding: 28px 24px 32px;
	}
}

@media (max-width: 992px) {
	.ap-trust-icons__grid { grid-template-columns: repeat(2, 1fr); }
	.ap-product-grid { grid-template-columns: repeat(2, 1fr); }
	.ap-product-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.ap-features-grid { grid-template-columns: repeat(2, 1fr); }
	.ap-apart__cards { grid-template-columns: 1fr; }
	.ap-testimonials__grid { grid-template-columns: 1fr; }

	.ap-bundles__inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.ap-bundles__content {
		text-align: center;
	}

	.ap-bundles__content > p,
	.ap-bundles__list {
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}

	.ap-bundles__list {
		display: inline-block;
		text-align: left;
	}

	.ap-bundles__frame {
		height: clamp(200px, 52vw, 280px);
		border-radius: 14px;
	}

	.ap-trust-showcase__features {
		padding: 24px 20px;
	}

	.ap-trust-showcase__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ap-trust-showcase__visual-card {
		max-width: 260px;
	}

	.ap-carousel__slide {
		flex: 0 0 calc(50% - 11px);
		min-width: calc(50% - 11px);
	}
}

@media (max-width: 640px) {
	.ap-carousel {
		gap: 8px;
	}

	.ap-carousel__slide {
		flex: 0 0 100%;
		min-width: 100%;
	}

	.ap-carousel__nav {
		width: 36px;
		height: 36px;
		font-size: 14px;
	}
}

@media (max-width: 768px) {
	.ap-hero--built {
		min-height: auto;
		padding: 32px 0 0;
	}

	.ap-hero__layout {
		min-height: auto;
	}

	.ap-hero__main {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ap-hero__copy {
		text-align: center;
		margin: 0 auto;
	}

	.ap-hero__lead {
		margin-left: auto;
		margin-right: auto;
	}

	.ap-hero__copy .ap-hero__cta {
		display: inline-flex;
	}

	.ap-hero__visual {
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
	}

	.ap-hero__concept {
		width: min(100%, 320px);
	}

	.ap-hero__trust {
		justify-content: center;
		gap: 10px 14px;
		padding: 12px 14px;
		border-radius: 14px;
	}

	.ap-hero__trust-label {
		font-size: 0.62rem;
		white-space: normal;
		text-align: left;
	}

	.ap-hero__shop {
		width: 100%;
	}

	.ap-hero__vials {
		max-width: 100%;
	}

	.ap-hero__dna {
		opacity: 0.1;
		width: 140vw;
	}

	.ap-hero__banner {
		min-height: 280px;
		max-height: 70vh;
		object-position: 55% center;
	}

	.ap-hero__cta-link {
		right: 50%;
		top: auto;
		bottom: 18%;
		transform: translateX(50%);
		background: linear-gradient(180deg, #dbb840 0%, #c9a227 100%);
		color: #fff;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		min-width: 140px;
	}

	.ap-hero__cta-link span {
		font-size: 13px;
		color: #fff;
	}
	.ap-section { padding: 56px 0; }
	.ap-trust-icons__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
	.ap-product-grid { grid-template-columns: 1fr; }
	.ap-product-grid--4 { grid-template-columns: 1fr; }
	.ap-features-grid { grid-template-columns: 1fr; }
	.ap-newsletter__form,
	.ap-footer__newsletter-form { flex-direction: column; }

	.ap-footer__newsletter {
		grid-template-columns: 1fr;
		padding: 40px 0;
	}

	.ap-footer__main {
		grid-template-columns: 1fr 1fr;
		gap: 32px 24px;
		padding: 40px 0 32px;
	}

	.ap-footer__brand {
		grid-column: 1 / -1;
	}
	.ap-header__shop-btn { display: none; }
}

/* Static pages (About, Contact, Policies) */
.ap-static-page {
	padding-top: 48px;
	padding-bottom: 72px;
}

.ap-static-page__head {
	max-width: 720px;
	margin: 0 auto 40px;
	text-align: center;
}

.ap-static-page__content {
	max-width: 720px;
	margin: 0 auto;
	color: var(--ap-text-muted, #5c5348);
	line-height: 1.75;
}

.ap-static-page__content p {
	margin: 0 0 1.25em;
}

.ap-static-page__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin-top: 32px;
}

.ap-static-page__grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: start;
	max-width: 960px;
	margin: 0 auto;
}

.ap-static-page__contact-info h2 {
	font-size: 1.25rem;
	margin: 0 0 20px;
	color: var(--ap-text, #1a1612);
}

.ap-static-page__channels {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ap-static-page__channels li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	font-size: 1rem;
}

.ap-static-page__channels i {
	color: #a68536;
	width: 20px;
	text-align: center;
}

.ap-static-page__channels a {
	color: var(--ap-text, #1a1612);
	text-decoration: none;
}

.ap-static-page__channels a:hover {
	color: #a68536;
}

@media (max-width: 768px) {
	.ap-static-page__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* Build Your Bundle product page */
.ap-bundle-page {
	background: #0a0908;
	color: var(--pp-text);
}

.ap-bundle-page .gp-container {
	max-width: 1200px;
	width: 100%;
	padding-left: clamp(16px, 3vw, 32px);
	padding-right: clamp(16px, 3vw, 32px);
}

.ap-bundle-page__hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(201, 162, 39, 0.12);
}

.ap-bundle-page__hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.35) 55%, rgba(10, 9, 8, 0.95) 100%);
	pointer-events: none;
	z-index: 1;
}

.ap-bundle-page__hero-bg {
	position: relative;
	width: 100%;
	aspect-ratio: 21 / 8;
	min-height: 220px;
	max-height: 360px;
}

.ap-bundle-page__hero-bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 65%;
	display: block;
}

.ap-bundle-page__hero-inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 32px 16px 40px;
	z-index: 2;
}

.ap-bundle-page__eyebrow {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pp-accent);
}

.ap-bundle-page__title {
	margin: 0 0 12px;
	font-size: clamp(1.65rem, 4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: linear-gradient(180deg, #f5e6b8 0%, #dbb840 35%, #c9a227 70%, #8b7340 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.ap-bundle-page__tagline {
	margin: 0;
	max-width: 560px;
	font-size: clamp(0.72rem, 1.2vw, 0.88rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

.ap-bundle-page__steps {
	padding: 40px 0 32px;
	background: #0a0908;
}

.ap-bundle-page__steps-panel {
	border: 1px solid rgba(201, 162, 39, 0.22);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
	padding: clamp(24px, 3vw, 36px);
}

.ap-bundle-page__steps-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.ap-bundle-page__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 8px 10px;
}

.ap-bundle-page__step-num {
	display: block;
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: rgba(201, 162, 39, 0.55);
}

.ap-bundle-page__step-icon {
	width: 52px;
	height: 52px;
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(201, 162, 39, 0.4);
	border-radius: 50%;
	color: var(--pp-accent);
	font-size: 1.15rem;
	background: rgba(201, 162, 39, 0.08);
}

.ap-bundle-page__step-title {
	margin: 0 0 8px;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-accent);
}

.ap-bundle-page__step-desc {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.68);
	max-width: 200px;
}

.ap-bundle-page__showcase {
	padding: 16px 0 48px;
	background: #0a0908;
}

.ap-bundle-page__showcase-head {
	text-align: center;
	margin-bottom: 28px;
}

.ap-bundle-page__showcase-title {
	margin: 0 0 10px;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.02em;
}

.ap-bundle-page__showcase-subtitle {
	margin: 0 auto;
	max-width: 560px;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.62);
}

.ap-bundle-page__showcase-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
}

.ap-bundle-page__product {
	display: flex;
	flex-direction: column;
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(201, 162, 39, 0.16);
	transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.ap-bundle-page__product:hover {
	transform: translateY(-4px);
	border-color: rgba(201, 162, 39, 0.35);
	background: rgba(255, 255, 255, 0.06);
	color: inherit;
}

.ap-bundle-page__product-media {
	aspect-ratio: 3 / 4;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 12px 8px;
	background: linear-gradient(180deg, #ffffff 0%, #f3efe6 100%);
}

.ap-bundle-page__product-img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.18));
}

.ap-bundle-page__product-body {
	padding: 14px 12px 16px;
	text-align: center;
}

.ap-bundle-page__product-name {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pp-accent);
}

.ap-bundle-page__product-size {
	display: block;
	margin-top: 4px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.ap-bundle-page__trust {
	padding: 0 0 40px;
	background: #0a0908;
}

.ap-bundle-page__trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.ap-bundle-page__trust-item {
	text-align: center;
	padding: 22px 14px;
	border-radius: 14px;
	border: 1px solid rgba(201, 162, 39, 0.2);
	background: rgba(255, 255, 255, 0.03);
}

.ap-bundle-page__trust-icon {
	font-size: 1.35rem;
	color: var(--pp-accent);
	margin-bottom: 10px;
}

.ap-bundle-page__trust-title {
	margin: 0 0 6px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
}

.ap-bundle-page__trust-desc {
	margin: 0;
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.58);
}

.ap-bundle-page__cta {
	padding: 0 0 72px;
	background: #0a0908;
}

.ap-bundle-page__cta-inner {
	text-align: center;
	padding: 32px 24px;
	border-radius: 20px;
	border: 1px solid rgba(201, 162, 39, 0.18);
	background: linear-gradient(180deg, rgba(201, 162, 39, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
}

.ap-bundle-page__cta-text {
	max-width: 560px;
	margin: 0 auto 24px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.975rem;
	line-height: 1.65;
}

.ap-bundle-page__cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

@media (max-width: 1100px) {
	.ap-bundle-page__steps-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}

	.ap-bundle-page__showcase-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ap-bundle-page__trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.ap-bundle-page__hero-bg {
		aspect-ratio: 16 / 9;
		min-height: 200px;
		max-height: 280px;
	}

	.ap-bundle-page__steps-grid {
		grid-template-columns: 1fr;
	}

	.ap-bundle-page__showcase-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ap-bundle-page__trust-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.ap-bundle-page__showcase-grid {
		gap: 12px;
	}
}

/* ============================================================
   Mobile complete adaptation
   ============================================================ */
@media (max-width: 768px) {
	:root {
		--ap-ticker-h: 32px;
		--pp-mobile-sticky-h: calc(64px + env(safe-area-inset-bottom, 0px));
	}

	html {
		-webkit-text-size-adjust: 100%;
	}

	body {
		overflow-x: hidden;
	}

	.gp-header,
	.gp-header.ap-header {
		height: auto;
		min-height: 72px;
		align-items: stretch;
	}

	.gp-header__inner,
	.ap-header__inner {
		padding: 12px 16px 14px;
		gap: 10px;
	}

	.gp-header__actions,
	.ap-header__actions {
		gap: 10px;
		align-items: center;
	}

	.pp-header-search__input {
		min-height: 44px;
		font-size: 16px;
	}

	.ap-header__icon-btn,
	.gp-menu-toggle {
		min-width: 44px;
		min-height: 44px;
	}

	body.is-nav-open .gp-header,
	body.is-nav-open .gp-header.ap-header {
		z-index: 10051;
	}

	.gp-nav-list > li > a {
		min-height: 44px;
		font-size: 16px;
	}

	.gp-nav-sub li a {
		min-height: 40px;
		display: flex;
		align-items: center;
	}

	#content {
		padding-top: calc(var(--pp-header-h) + var(--ap-ticker-h));
		padding-bottom: calc(var(--pp-mobile-sticky-h) + env(safe-area-inset-bottom) + 24px);
	}

	.gp-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.gp-section,
	.ap-section {
		padding: 56px 0;
	}

	.ap-ticker__item {
		font-size: 11px;
		gap: 8px;
	}

	.ap-ticker__group {
		gap: 28px;
		padding-right: 28px;
	}

	.ap-section__title {
		font-size: clamp(1.75rem, 7vw, 2.25rem);
	}

	.ap-section__subtitle,
	.gp-text {
		font-size: 0.95rem;
	}

	.gp-btn,
	.ap-footer__contact-btn,
	.ap-product-card__cart {
		min-height: 44px;
	}

	.gp-btn-group {
		flex-direction: column;
	}

	.gp-btn-group .gp-btn {
		width: 100%;
		justify-content: center;
	}

	.pp-product-filters,
	.ap-shop-page__filters {
		gap: 8px;
	}

	.pp-filter-btn {
		min-height: 40px;
		padding: 8px 16px;
		font-size: 12px;
	}

	.ap-trust-showcase__features {
		grid-template-columns: 1fr;
	}

	.ap-trust-showcase__feature {
		padding: 18px 16px;
	}

	.ap-trust-showcase__visual {
		padding: 24px 16px 28px;
	}

	.ap-carousel__viewport {
		margin: 0 -4px;
	}

	.ap-carousel__nav {
		display: none;
	}

	.ap-carousel-dots {
		margin-top: 18px;
	}

	.pp-product-single__title,
	.ap-product-single__price {
		font-size: clamp(1.6rem, 7vw, 2rem);
	}

	.pp-product-single__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.pp-table-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin: 0 -4px;
		padding-bottom: 4px;
	}

	.pp-spec-table {
		min-width: 520px;
	}

	.pp-spec-table th,
	.pp-spec-table td {
		font-size: 13px;
		padding: 10px 12px;
	}

	.gp-modal {
		padding: 12px;
		align-items: flex-end;
	}

	.gp-modal__content {
		padding: 24px 20px;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		max-height: 88vh;
	}

	.gp-form__input,
	.gp-form__textarea,
	.gp-form__select {
		font-size: 16px;
		min-height: 44px;
	}

	.ap-age-gate__dialog {
		padding: 28px 20px;
		margin: 16px;
		width: calc(100% - 32px);
		max-width: none;
	}

	.ap-age-gate__actions .gp-btn {
		width: 100%;
	}

	.ap-footer__main {
		grid-template-columns: 1fr;
	}

	.ap-footer__contact {
		flex-direction: column;
	}

	.ap-footer__contact-btn {
		width: 100%;
		justify-content: center;
	}

	.ap-footer__newsletter-form input[type="email"] {
		min-height: 48px;
		font-size: 16px;
	}

	#sb-sticky-container {
		left: 0;
		right: 0;
		bottom: 0;
		transform: none;
		width: 100%;
		padding: 0;
	}

	#sb-sticky-container .sb-inner {
		width: 100%;
		border-radius: 0;
		border-left: 0;
		border-right: 0;
		border-bottom: 0;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
		gap: 6px;
		justify-content: space-between;
		box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.28);
	}

	#sb-sticky-container .sb-btn {
		flex: 1;
		flex-direction: column;
		gap: 4px;
		min-height: 52px;
		padding: 8px 6px;
		border-radius: 14px;
		font-size: 10px;
		letter-spacing: 0.03em;
	}

	#sb-sticky-container .sb-btn i {
		margin-right: 0;
		font-size: 20px;
	}

	#sb-sticky-container .sb-btn__label {
		display: block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#sb-sticky-container .sb-btn:active {
		transform: scale(0.98);
	}

	.gp-to-top {
		bottom: calc(var(--pp-mobile-sticky-h) + env(safe-area-inset-bottom) + 16px);
		right: 16px;
		width: 42px;
		height: 42px;
	}

	.gp-contact-toast {
		bottom: calc(var(--pp-mobile-sticky-h) + env(safe-area-inset-bottom) + 20px);
		font-size: 13px;
		padding: 12px 16px;
	}

	.ap-static-page__grid {
		gap: 28px;
	}

	.ap-static-page__channels li {
		font-size: 15px;
	}

	body.is-nav-open,
	body.is-age-gate-open,
	body.is-modal-open {
		overflow: hidden;
	}

	body.is-overlay-open #sb-sticky-container,
	body.is-nav-open #sb-sticky-container {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
}

@media (max-width: 480px) {
	.pp-logo__text,
	.ap-logo .pp-logo__text {
		font-size: 1.15rem;
	}

	.ap-hero__title {
		font-size: clamp(1.65rem, 8vw, 2rem);
	}

	.ap-hero__trust {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.ap-trust-icons__grid {
		grid-template-columns: 1fr;
	}

	.ap-bundle-page__steps-grid,
	.ap-bundle-page__showcase-grid,
	.ap-bundle-page__trust-grid {
		grid-template-columns: 1fr;
	}

	.ap-bundle-page__hero-inner {
		padding-top: 24px;
		padding-bottom: 24px;
	}
}

@media (max-width: 360px) {
	.ap-footer__newsletter-copy h2 {
		font-size: 1.35rem;
	}

	#sb-sticky-container .sb-btn {
		font-size: 9px;
		min-height: 48px;
	}

	#sb-sticky-container .sb-btn i {
		font-size: 18px;
	}
}
