﻿:root {
	--color-primary: #e6392f;
	--color-accent: #ff7b31;
	--color-surface-tint: #fefefe;
	--color-primary-rgb: 230, 57, 47;
	--color-accent-rgb: 255, 123, 49;
	--color-white: #ffffff;
	--color-black: #101820;
	--color-ink-soft: #182433;
	--color-text: #1b2430;
	--color-muted: #647083;
	--color-line: rgba(16, 24, 32, 0.08);
	--color-line-strong: rgba(16, 24, 32, 0.12);
	--color-surface-card: rgba(254, 254, 254, 0.92);
	--color-surface-elevated: rgba(254, 254, 254, 0.96);
	--color-surface-dark: #0d141d;
	--color-text-on-dark: rgba(255, 255, 255, 0.92);
	--color-text-on-dark-muted: rgba(255, 255, 255, 0.72);
	--shadow-soft: 0 24px 70px rgba(16, 24, 32, 0.08);
	--shadow-strong: 0 26px 80px rgba(21, 33, 54, 0.14);
	--radius-xl: 34px;
	--radius-lg: 26px;
	--radius-md: 20px;
	--radius-sm: 14px;
	--container: 1240px;
	--brand-logo-width: 220px;
	--brand-logo-width-mobile: 152px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: "Inter", sans-serif;
	color: var(--color-text);
	background: #fefefe;
	line-height: 1.72;
}

body.menu-open,
body.gallery-open {
	overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

input,
textarea,
select {
	font: inherit;
}

.site-shell {
	position: relative;
	overflow: clip;
}

.container {
	width: min(calc(100% - 32px), var(--container));
	margin: 0 auto;
}

.narrow {
	width: min(calc(100% - 32px), 900px);
}

.section {
	padding: 96px 0;
}

.section-accent {
	background:
		linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.015), rgba(var(--color-accent-rgb), 0.03)),
		var(--color-surface-tint);
}

.section-heading {
	max-width: 760px;
	margin-bottom: 34px;
}

.section-heading h1,
.section-heading h2,
.hero-content h1,
.editorial-flow h1,
.editorial-flow h2,
.editorial-flow h3 {
	margin: 0 0 18px;
	font-family: "DM Sans", sans-serif;
	line-height: 1.05;
	letter-spacing: -0.05em;
	color: var(--color-black);
}

.section-heading h1,
.section-heading h2,
.hero-content h1 {
	font-size: clamp(2.15rem, 4vw, 4rem);
}

.section-heading p,
.hero-content p,
.page-entry p,
.editorial-flow p,
.editorial-flow li,
.content-card p,
.stack-card span,
.mini-card span,
.sidebar-card p,
.footer-cta p {
	margin: 0 0 18px;
	color: var(--color-muted);
	font-size: 1.02rem;
}

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	margin-bottom: 18px;
	border: 1px solid rgba(var(--color-primary-rgb), 0.12);
	border-radius: 999px;
	background: rgba(var(--color-primary-rgb), 0.08);
	color: var(--color-primary);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(254, 254, 254, 0.88);
	backdrop-filter: blur(22px);
	border-bottom: 1px solid rgba(16, 24, 32, 0.06);
	transition: box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 12px 40px rgba(16, 24, 32, 0.08);
}

.topbar,
.navbar,
.topbar-group,
.hero-actions,
.cta-box,
.sidebar-actions {
	display: flex;
	align-items: center;
}

.topbar {
	justify-content: space-between;
	gap: 18px;
	padding: 12px 0;
	font-size: 0.87rem;
	color: var(--color-muted);
	border-bottom: 1px solid rgba(16, 24, 32, 0.05);
}

.topbar-group {
	gap: 18px;
	flex-wrap: wrap;
}

.topbar-item {
	color: var(--color-muted);
}

.topbar-link {
	font-weight: 700;
	color: var(--color-ink-soft);
}

.topbar-link:hover {
	color: var(--color-primary);
}

.navbar {
	justify-content: space-between;
	gap: 22px;
	padding: 18px 0;
}

.brand-block {
	min-width: 0;
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	max-width: 100%;
}

.brand-logo,
.brand-mark {
	width: 58px;
	height: 58px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 18px;
	flex-shrink: 0;
}

.brand-mark {
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
	color: var(--color-white);
	font-family: "DM Sans", sans-serif;
	font-size: 1rem;
	font-weight: 800;
	box-shadow: var(--shadow-soft);
}

.brand-logo {
	width: min(100%, var(--brand-logo-width));
	max-width: var(--brand-logo-width);
	height: 68px;
	min-width: 58px;
	min-height: 58px;
	padding: 6px 0;
	overflow: hidden;
	border-radius: 0;
	flex: 0 0 auto;
}

.brand-logo-image,
.custom-logo {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	transform: none;
	filter: drop-shadow(0 10px 24px rgba(16, 24, 32, 0.08));
}

.brand-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.brand-copy strong {
	font-family: "DM Sans", sans-serif;
	font-size: 1rem;
	letter-spacing: -0.03em;
}

.brand-copy small {
	color: var(--color-muted);
	max-width: 28ch;
}

.main-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.nav-support {
	display: none;
}

.nav-list,
.footer-menu,
.contact-list,
.signal-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nav-list {
	display: flex;
	align-items: center;
	gap: 8px;
}

.nav-item {
	position: relative;
}

.nav-link {
	display: inline-flex;
	align-items: center;
	padding: 12px 16px;
	border-radius: 999px;
	font-weight: 700;
	color: var(--color-ink-soft);
	transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.nav-link:hover,
.current-menu-item > .nav-link,
.current-menu-ancestor > .nav-link {
	background: rgba(var(--color-primary-rgb), 0.08);
	color: var(--color-primary);
}

.nav-item .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 240px;
	padding: 10px;
	margin: 0;
	list-style: none;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(16, 24, 32, 0.06);
	border-radius: 22px;
	box-shadow: var(--shadow-soft);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.18s ease;
}

.nav-item:hover > .sub-menu,
.nav-item:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sub-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: 14px;
	font-weight: 600;
}

.sub-menu a:hover {
	background: var(--color-surface-tint);
	color: var(--color-primary);
}

.button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-weight: 800;
	line-height: 1.2;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.button:hover,
.wp-block-button__link:hover {
	transform: translateY(-2px);
}

.button-primary,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	color: var(--color-white);
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
	box-shadow: 0 18px 40px rgba(var(--color-primary-rgb), 0.22);
}

.button-secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--color-black);
	background: rgba(255, 255, 255, 0.85);
	border-color: rgba(16, 24, 32, 0.12);
}

.button-secondary:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: rgba(var(--color-primary-rgb), 0.28);
	color: var(--color-primary);
}

.button-dark {
	color: var(--color-white);
	background: linear-gradient(180deg, #101820 0%, #0a1118 100%);
	box-shadow: 0 18px 34px rgba(16, 24, 32, 0.2);
}

.button-dark:hover {
	background: linear-gradient(180deg, #18222d 0%, #101820 100%);
	box-shadow: 0 22px 40px rgba(16, 24, 32, 0.24);
}

.menu-toggle {
	display: none;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 12px 30px rgba(16, 24, 32, 0.08);
	cursor: pointer;
	flex-shrink: 0;
}

.menu-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	margin: 5px auto;
	background: var(--color-black);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.hero {
	position: relative;
	padding-top: 68px;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 48px -8% auto auto;
	width: min(72vw, 1040px);
	height: min(72vw, 1040px);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--color-accent-rgb), 0.14) 0%, rgba(var(--color-accent-rgb), 0) 64%);
	pointer-events: none;
	filter: blur(14px);
}

.hero-grid,
.split-grid,
.footer-grid,
.split-showcase,
.single-shell {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}

.hero-grid {
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
	align-items: center;
	gap: clamp(42px, 6vw, 96px);
	padding: 8px 0 22px;
}

.footer-grid {
	grid-template-columns: 1.35fr 0.9fr 1fr;
	align-items: start;
}

.hero-content {
	position: relative;
	z-index: 2;
	max-width: 780px;
	padding: 34px 0 20px;
}

.hero-eyebrow {
	background: rgba(var(--color-primary-rgb), 0.08);
	border-color: rgba(var(--color-primary-rgb), 0.14);
}

.hero-title-shell {
	position: relative;
	max-width: 760px;
	padding-top: 0;
	padding-right: 0;
	margin-bottom: 28px;
}

.hero-content h1 {
	max-width: none;
	margin: 0;
	color: #111820;
	font-size: clamp(2.95rem, 5.3vw, 5rem);
	line-height: 0.92;
	letter-spacing: -0.075em;
}


.hero-lead {
	max-width: 34ch;
	margin: 0;
	font-size: 1.14rem;
	line-height: 1.7;
	color: #5c6776;
}

.hero-actions,
.cta-box,
.sidebar-actions {
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.hero-actions .button {
	min-height: 58px;
	padding-inline: 26px;
}

.hero-actions .button-secondary {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(16, 24, 32, 0.08);
	box-shadow: 0 16px 38px rgba(16, 24, 32, 0.08);
}

.metric-grid,
.highlight-box,
.contact-panel {
	display: grid;
	gap: 16px;
}

.metric-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 28px;
}

.hero-proof {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 28px;
}

.hero-proof__avatars {
	display: flex;
	align-items: center;
	padding-right: 8px;
}

.hero-proof__avatar {
	width: 48px;
	height: 48px;
	margin-right: -10px;
	overflow: hidden;
	border: 3px solid rgba(255, 255, 255, 0.92);
	border-radius: 50%;
	background: var(--color-white);
	box-shadow: 0 10px 28px rgba(16, 24, 32, 0.12);
}

.hero-proof__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-proof__avatar-fallback {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--color-black);
	background: linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.16), rgba(var(--color-accent-rgb), 0.18));
}

.hero-proof__content {
	display: grid;
	gap: 6px;
}

.hero-proof__stars {
	color: #ffc62a;
	font-size: 0.96rem;
	letter-spacing: 0.24em;
}

.hero-proof__text {
	margin: 0;
	color: #5b6675;
	font-size: 1rem;
}

.hero-proof__text strong {
	color: var(--color-black);
	font-weight: 800;
}

.metric-card,
.mini-card,
.content-card,
.stack-card,
.page-entry,
.sidebar-card,
.footer-cta,
.story-shell,
.metric-blocks .wp-block-column {
	background: var(--color-surface-card);
	border: 1px solid rgba(16, 24, 32, 0.06);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
}

.metric-card {
	padding: 22px;
}

.metric-card strong {
	display: block;
	margin-bottom: 8px;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.4rem, 2vw, 2rem);
	color: var(--color-black);
}

.metric-card span {
	color: var(--color-muted);
	font-size: 0.94rem;
}

.hero-visual {
	position: relative;
	min-height: 660px;
	perspective: 1400px;
	transform-style: preserve-3d;
}

.hero-visual__scene {
	position: relative;
	min-height: 660px;
	transition: transform 0.24s ease;
}

.hero-visual__primary {
	position: absolute;
	inset: 0 0 48px 10%;
	overflow: hidden;
	border-radius: 46px;
	background:
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.18), rgba(var(--color-accent-rgb), 0.14)),
		linear-gradient(180deg, #fff5ef 0%, #fff 100%);
	box-shadow: 0 42px 110px rgba(16, 24, 32, 0.14);
}

.hero-visual__primary-link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.hero-visual__primary img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.92) brightness(1.03);
}

.hero-visual__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 251, 247, 0.9) 0%, rgba(255, 251, 247, 0.58) 26%, rgba(255, 251, 247, 0.12) 58%, rgba(255, 251, 247, 0) 84%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(16, 24, 32, 0.08));
}

.hero-visual__caption {
	position: absolute;
	left: 26px;
	bottom: 26px;
	z-index: 2;
	display: grid;
	gap: 10px;
	max-width: 280px;
	padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.76);
	backdrop-filter: blur(12px);
}

.hero-visual__caption .card-tag {
	margin-bottom: 0;
	width: max-content;
}

.hero-visual__caption strong {
	font-family: "DM Sans", sans-serif;
	font-size: 1.18rem;
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--color-black);
}

.hero-visual__fallback {
	position: absolute;
	inset: 0;
	display: grid;
	align-content: end;
	gap: 12px;
	padding: 38px;
	background:
		linear-gradient(160deg, rgba(var(--color-primary-rgb), 0.84), rgba(var(--color-accent-rgb), 0.72)),
		linear-gradient(180deg, rgba(16, 24, 32, 0.28), rgba(16, 24, 32, 0.52));
	color: var(--color-white);
}

.hero-visual__fallback strong {
	font-family: "DM Sans", sans-serif;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -0.05em;
}

.hero-floating-chip {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid rgba(16, 24, 32, 0.06);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 22px 62px rgba(16, 24, 32, 0.1);
	backdrop-filter: blur(12px);
}

.hero-floating-chip--top {
	top: 34px;
	left: 0;
}

.hero-floating-chip--right {
	top: 142px;
	right: -10px;
}

.hero-floating-chip__icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 16px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.hero-floating-chip__icon--violet {
	background:
		radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.74) 0, rgba(255, 255, 255, 0.74) 26%, rgba(255, 255, 255, 0) 29%),
		linear-gradient(145deg, #d9b6ff, #b278ff);
}

.hero-floating-chip__icon--green {
	background:
		radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.74) 0, rgba(255, 255, 255, 0.74) 26%, rgba(255, 255, 255, 0) 29%),
		linear-gradient(145deg, #c9ff9a, #7fe05b);
}

.hero-floating-chip__copy {
	display: grid;
	gap: 4px;
}

.hero-floating-chip__copy strong {
	font-size: 1rem;
	line-height: 1.2;
	color: var(--color-black);
}

.hero-floating-chip__copy small {
	color: var(--color-muted);
	font-size: 0.84rem;
	line-height: 1.35;
}

.hero-spotlight-card {
	position: absolute;
	right: 0;
	bottom: 0;
	display: grid;
	gap: 14px;
	width: min(332px, 44%);
	padding: 14px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 30px 85px rgba(16, 24, 32, 0.14);
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.hero-spotlight-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 36px 96px rgba(16, 24, 32, 0.18);
}

.hero-spotlight-card__media {
	overflow: hidden;
	border-radius: 22px;
	aspect-ratio: 1.24;
	background:
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.18), rgba(var(--color-accent-rgb), 0.14)),
		linear-gradient(180deg, #fff1e8 0%, #fff 100%);
}

.hero-spotlight-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-spotlight-card__media.is-portrait img {
	object-fit: contain;
	padding: 8px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 244, 238, 0.84));
}

.hero-spotlight-card__fallback {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	font-family: "DM Sans", sans-serif;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--color-white);
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
}

.hero-spotlight-card__body {
	display: grid;
	gap: 10px;
}

.hero-spotlight-card__body .card-tag {
	margin-bottom: 0;
	width: max-content;
}

.hero-spotlight-card__body h3 {
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: 1.5rem;
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--color-black);
}

.hero-spotlight-card__body p {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.95rem;
	line-height: 1.62;
}

.hero-spotlight-card__arrow {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 10px 26px rgba(16, 24, 32, 0.12);
	color: var(--color-black);
}

.signal-strip {
	position: relative;
	padding: 18px 0 34px;
}

.signal-strip::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 42%, rgba(var(--color-accent-rgb), 0.16), rgba(var(--color-accent-rgb), 0) 42%),
		repeating-linear-gradient(90deg, rgba(255, 196, 160, 0.08) 0, rgba(255, 196, 160, 0.08) 2px, rgba(255, 255, 255, 0) 14px, rgba(255, 255, 255, 0) 28px);
	filter: blur(2px);
	pointer-events: none;
}

.workflow-section {
	padding-top: 34px;
	padding-bottom: 34px;
}

.workflow-section__head {
	max-width: 1080px;
	margin: 0 auto 40px;
	display: grid;
	justify-items: center;
	gap: 14px;
	text-align: center;
}

.workflow-section__eyebrow {
	padding-inline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: 1rem;
	color: var(--color-black);
}

.workflow-section__head h2 {
	max-width: 17ch;
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(2rem, 3.8vw, 3.3rem);
	line-height: 1.02;
	letter-spacing: -0.06em;
	color: var(--color-black);
}

.workflow-section__divider {
	width: 116px;
	height: 1px;
	background: rgba(16, 24, 32, 0.18);
}

.workflow-section__head p {
	max-width: 64ch;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--color-muted);
}

.workflow-section__head p strong {
	color: var(--color-primary);
	font-weight: 700;
}

.workflow-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.workflow-card {
	display: grid;
	justify-items: center;
	align-content: start;
	gap: 18px;
	padding: 18px 18px 6px;
	text-align: center;
}

.workflow-card__icon {
	width: 124px;
	height: 124px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(180deg, #111820 0%, #05090e 100%);
	box-shadow: 0 22px 44px rgba(16, 24, 32, 0.16);
}

.workflow-card__icon span {
	font-family: "DM Sans", sans-serif;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -0.06em;
	color: #fff;
}

.workflow-card h3 {
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: 1.52rem;
	line-height: 1.06;
	letter-spacing: -0.05em;
	color: var(--color-black);
}

.workflow-card p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.78;
	color: var(--color-muted);
}

.signal-strip__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px 22px;
	padding: 26px 28px;
	border: 1px solid rgba(255, 255, 255, 0.68);
	border-radius: 42px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 251, 247, 0.98)),
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.04), rgba(var(--color-accent-rgb), 0.08));
	box-shadow:
		0 28px 64px rgba(16, 24, 32, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);
	overflow: auto;
}

.signal-strip__inner > span {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 18px;
	border-radius: 999px;
	background: rgba(16, 24, 32, 0.04);
	font-weight: 800;
	color: var(--color-black);
	white-space: nowrap;
}

.logo-marquee-section {
	padding-top: 18px;
	padding-bottom: 28px;
	overflow: clip;
}

.logo-marquee {
	position: relative;
	width: min(100%, 1720px);
	margin: 0 auto;
	padding-inline: 18px;
	overflow: hidden;
}

.logo-marquee::before,
.logo-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: min(12vw, 140px);
	pointer-events: none;
}

.logo-marquee::before {
	left: 0;
	background: linear-gradient(90deg, #fefefe 0%, rgba(254, 254, 254, 0) 100%);
}

.logo-marquee::after {
	right: 0;
	background: linear-gradient(270deg, #fefefe 0%, rgba(254, 254, 254, 0) 100%);
}

.logo-marquee__track {
	display: flex;
	gap: 10px;
	width: max-content;
	animation: logo-marquee 34s linear infinite;
	will-change: transform;
}

.logo-marquee:hover .logo-marquee__track,
.logo-marquee:focus-within .logo-marquee__track {
	animation-play-state: paused;
}

.logo-marquee__item {
	flex: 0 0 clamp(180px, 15vw, 236px);
	display: grid;
	place-items: center;
	min-height: 112px;
	padding: 20px 22px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.logo-marquee__media {
	display: grid;
	place-items: center;
	width: min(100%, 184px);
	height: 74px;
	margin-inline: auto;
}

.logo-marquee__image {
	display: block;
	width: 100%;
	max-width: 184px;
	height: 100%;
	max-height: 74px;
	object-fit: contain;
	object-position: center;
	filter: grayscale(1) contrast(0.94);
	opacity: 0.84;
	transition: filter 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}

.logo-marquee__item:hover .logo-marquee__image,
.logo-marquee__item:focus-within .logo-marquee__image {
	filter: grayscale(0);
	opacity: 1;
	transform: translateY(-1px);
}

.logo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.logo-grid__frame {
	display: grid;
	place-items: center;
	min-height: 156px;
	padding: 26px 28px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.logo-grid__media {
	display: grid;
	place-items: center;
	width: min(100%, 220px);
	height: 84px;
	margin-inline: auto;
}

.logo-grid__image {
	display: block;
	width: 100%;
	max-width: 220px;
	height: 100%;
	max-height: 84px;
	object-fit: contain;
	object-position: center;
}

@keyframes logo-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc(-50% - 5px));
	}
}

.signal-list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.signal-list li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255, 122, 79, 0.08);
	background: linear-gradient(180deg, rgba(255, 240, 235, 0.96), rgba(255, 233, 225, 0.92));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
	color: #ef4935;
	font-size: 0.96rem;
	font-weight: 700;
	white-space: nowrap;
}

.signal-list__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
	box-shadow: 0 0 0 5px rgba(var(--color-primary-rgb), 0.1);
}

.archive-grid,
.card-grid,
.shortcode-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.archive-grid--solutions-motion {
	position: relative;
	overflow: clip;
}

.archive-grid--solutions-motion > * {
	will-change: transform, opacity;
}

.catalog-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.catalog-sidebar {
	position: sticky;
	top: 108px;
}

.catalog-sidebar__card {
	display: grid;
	gap: 18px;
}

.catalog-sidebar__nav {
	display: grid;
	gap: 10px;
}

.catalog-sidebar__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.78);
	color: var(--color-text);
	text-decoration: none;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.catalog-sidebar__link span {
	font-weight: 700;
	line-height: 1.3;
}

.catalog-sidebar__link small {
	color: var(--color-muted);
	font-size: 0.8rem;
	font-weight: 700;
}

.catalog-sidebar__link:hover,
.catalog-sidebar__link:focus-visible {
	border-color: rgba(var(--color-primary-rgb), 0.26);
	box-shadow: 0 14px 28px rgba(16, 24, 32, 0.08);
	transform: translateY(-1px);
}

.catalog-sidebar__link.is-active {
	border-color: rgba(var(--color-primary-rgb), 0.34);
	background: linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.09), rgba(255, 255, 255, 0.96));
	color: var(--color-black);
}

.catalog-summary {
	margin-bottom: 22px;
	padding: 24px 26px;
	border: 1px solid rgba(16, 24, 32, 0.06);
	border-radius: var(--radius-lg);
	background: var(--color-surface-card);
	box-shadow: var(--shadow-soft);
}

.catalog-summary h2 {
	margin: 0 0 10px;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.65rem, 3vw, 2.3rem);
	line-height: 1.02;
	letter-spacing: -0.05em;
	color: var(--color-black);
}

.catalog-summary p {
	margin: 0;
	color: var(--color-muted);
}

.catalog-mobile-filters {
	display: none;
	margin-bottom: 18px;
}

.catalog-mobile-filters__row {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: none;
}

.catalog-mobile-filters__row::-webkit-scrollbar {
	display: none;
}

.catalog-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--color-text);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(16, 24, 32, 0.04);
}

.catalog-chip.is-active {
	border-color: rgba(var(--color-primary-rgb), 0.24);
	background: linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.1), rgba(255, 255, 255, 0.98));
	color: var(--color-black);
}

.catalog-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 18px;
	align-items: start;
	margin-bottom: 22px;
}

.catalog-toolbar .catalog-summary {
	margin-bottom: 0;
}

.catalog-sort {
	display: grid;
	gap: 10px;
	padding: 18px;
	border: 1px solid rgba(16, 24, 32, 0.06);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 16px 34px rgba(16, 24, 32, 0.05);
}

.catalog-sort label {
	font-family: "DM Sans", sans-serif;
	font-size: 0.94rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-black);
}

.catalog-sort__control {
	position: relative;
}

.catalog-sort select {
	width: 100%;
	min-height: 46px;
	padding: 0 14px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 16px;
	background: #fff;
	font-family: "Inter", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--color-text);
	outline: none;
}

.archive-grid--products .content-card {
	min-width: 0;
}

.product-showcase-section {
	display: grid;
	gap: 28px;
}

.product-showcase-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.product-showcase-section__copy {
	max-width: 760px;
}

.product-showcase-section__copy h2 {
	margin: 0 0 16px;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.9rem, 3.2vw, 3rem);
	line-height: 1.02;
	letter-spacing: -0.05em;
	color: var(--color-black);
}

.product-showcase-section__copy p {
	margin: 0;
	max-width: 60ch;
	color: var(--color-muted);
	font-size: 1.02rem;
}

.product-showcase-section__link {
	flex-shrink: 0;
}

.product-showcase-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.product-showcase-card {
	overflow: hidden;
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 100%;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 20px 60px rgba(16, 24, 32, 0.08);
	transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.product-showcase-card:hover {
	transform: translateY(-5px);
	border-color: rgba(var(--color-primary-rgb), 0.14);
	box-shadow: 0 28px 72px rgba(16, 24, 32, 0.12);
}

.product-showcase-card__media {
	display: block;
	aspect-ratio: 1.08;
	overflow: hidden;
	background:
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.16), rgba(var(--color-accent-rgb), 0.12)),
		linear-gradient(180deg, #fff0e6 0%, #fff 100%);
}

.product-showcase-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.01);
	transition: transform 0.45s ease;
}

.product-showcase-card__media.is-portrait img {
	object-fit: contain;
	object-position: center;
	padding: 14px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 243, 236, 0.88));
}

.product-showcase-card:hover .product-showcase-card__media img {
	transform: scale(1.04);
}

.product-showcase-card__body {
	display: grid;
	align-content: start;
	gap: 18px;
	padding: 20px 20px 22px;
}

.product-showcase-card__header h3 {
	margin: 0 0 8px;
	font-family: "DM Sans", sans-serif;
	font-size: 1.72rem;
	line-height: 1.04;
	letter-spacing: -0.04em;
	color: var(--color-black);
}

.product-showcase-card__brand {
	margin: 0;
	color: #707a88;
	font-size: 0.98rem;
	font-weight: 600;
}

.product-showcase-card__excerpt {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.98rem;
	line-height: 1.7;
}

.product-showcase-card__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.product-meta-pill {
	display: grid;
	gap: 5px;
	padding: 12px 14px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 18px;
	background: #f9fafb;
}

.product-meta-pill strong {
	font-size: 0.82rem;
	line-height: 1.2;
	color: var(--color-black);
}

.product-meta-pill small {
	color: var(--color-muted);
	font-size: 0.82rem;
	line-height: 1.3;
}

.product-showcase-card__action {
	width: 100%;
	margin-top: auto;
}

.gallery-marquee-section {
	position: relative;
	overflow: clip;
}

.gallery-marquee-section::before {
	content: "";
	position: absolute;
	inset: auto 12% -8% auto;
	width: min(38vw, 420px);
	height: min(38vw, 420px);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(var(--color-primary-rgb), 0.08) 0%, rgba(var(--color-primary-rgb), 0) 70%);
	filter: blur(14px);
	pointer-events: none;
}

.gallery-marquee-stage {
	position: relative;
	width: min(100%, 1920px);
	margin: 0 auto;
	padding-inline: 18px;
}

.gallery-marquee {
	--gallery-gap: 18px;
	position: relative;
	display: grid;
	gap: 18px;
}

.gallery-marquee::before,
.gallery-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 3;
	width: min(12vw, 150px);
	pointer-events: none;
}

.gallery-marquee::before {
	left: 0;
	background: linear-gradient(90deg, #fffdfb 0%, rgba(255, 253, 251, 0) 100%);
}

.gallery-marquee::after {
	right: 0;
	background: linear-gradient(270deg, #fffdfb 0%, rgba(255, 253, 251, 0) 100%);
}

.gallery-marquee__row {
	overflow: hidden;
}

.gallery-marquee__track {
	display: flex;
	gap: var(--gallery-gap);
	width: max-content;
	padding-inline: 4px;
	will-change: transform;
	animation: gallery-marquee 48s linear infinite;
}

.gallery-marquee__row--reverse .gallery-marquee__track {
	animation-duration: 54s;
	animation-direction: reverse;
}

.gallery-marquee__row:hover .gallery-marquee__track,
.gallery-marquee__row:focus-within .gallery-marquee__track {
	animation-play-state: paused;
}

.marquee-gallery__item {
	flex: 0 0 clamp(270px, 22vw, 360px);
}

.marquee-gallery__item--wide {
	flex-basis: clamp(340px, 28vw, 440px);
}

.marquee-gallery__item--compact {
	flex-basis: clamp(230px, 19vw, 300px);
}

.marquee-gallery__tile {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	overflow: hidden;
	border-radius: 30px;
	background: transparent;
	box-shadow: 0 22px 58px rgba(16, 24, 32, 0.14);
	cursor: pointer;
	text-align: left;
	aspect-ratio: 1.58;
}

.marquee-gallery__tile::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: inherit;
	pointer-events: none;
}

.marquee-gallery__item[aria-hidden="true"] .marquee-gallery__tile {
	cursor: default;
}

.marquee-gallery__media,
.marquee-gallery__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.marquee-gallery__media {
	background:
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.18), rgba(var(--color-accent-rgb), 0.16)),
		linear-gradient(180deg, #fff1e8 0%, #fff 100%);
}

.marquee-gallery__media img {
	object-fit: cover;
	transition: transform 0.45s ease, filter 0.3s ease;
}

.marquee-gallery__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(11, 15, 21, 0.06) 42%, rgba(11, 15, 21, 0.62) 100%);
}

.marquee-gallery__meta {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	z-index: 1;
	display: grid;
	gap: 10px;
}

.marquee-gallery__meta .card-tag {
	width: max-content;
	margin-bottom: 0;
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(10px);
}

.marquee-gallery__meta strong {
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.18rem, 2.4vw, 1.62rem);
	line-height: 1.02;
	letter-spacing: -0.05em;
	color: var(--color-white);
	text-shadow: 0 14px 30px rgba(11, 15, 21, 0.28);
}

.marquee-gallery__item .marquee-gallery__meta {
	display: none;
}

.marquee-gallery__fallback {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	font-family: "DM Sans", sans-serif;
	font-size: 1.24rem;
	font-weight: 800;
	color: var(--color-white);
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
}

.marquee-gallery__trigger:hover img,
.marquee-gallery__trigger:focus-visible img {
	transform: scale(1.06);
	filter: saturate(1.04);
}

.marquee-gallery__trigger:focus-visible {
	outline: 3px solid rgba(var(--color-primary-rgb), 0.32);
	outline-offset: 4px;
}

.marquee-lightbox[hidden] {
	display: none;
}

.marquee-lightbox {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: grid;
	place-items: center;
	padding: 28px;
	opacity: 0;
	transition: opacity 0.18s ease;
}

.marquee-lightbox.is-active {
	opacity: 1;
}

.marquee-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 10, 15, 0.72);
	backdrop-filter: blur(18px);
}

.marquee-lightbox__dialog {
	position: relative;
	z-index: 1;
	width: min(1140px, 100%);
	padding: clamp(18px, 2.4vw, 28px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 36px;
	background:
		linear-gradient(180deg, rgba(19, 24, 33, 0.96), rgba(11, 15, 22, 0.98)),
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.08), rgba(var(--color-accent-rgb), 0.08));
	box-shadow: 0 38px 110px rgba(0, 0, 0, 0.3);
	transform: translateY(18px) scale(0.985);
	transition: transform 0.24s ease;
}

.marquee-lightbox__dialog--media {
	width: min(1320px, 100%);
	padding: clamp(16px, 2vw, 22px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.marquee-lightbox.is-active .marquee-lightbox__dialog {
	transform: translateY(0) scale(1);
}

.marquee-lightbox__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: var(--color-white);
	cursor: pointer;
}

.marquee-lightbox__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
	gap: clamp(22px, 3vw, 32px);
	align-items: center;
}

.marquee-lightbox__media {
	overflow: hidden;
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.04);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
	aspect-ratio: 1.3;
}

.marquee-lightbox__media--solo {
	width: min(100%, 1180px);
	max-height: calc(100vh - 88px);
	aspect-ratio: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.02);
}

.marquee-lightbox__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.marquee-lightbox__media--solo .marquee-lightbox__image {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(100vh - 132px);
	object-fit: contain;
}

.marquee-lightbox__content {
	display: grid;
	gap: 16px;
	color: var(--color-text-on-dark);
}

.marquee-lightbox__eyebrow {
	margin-bottom: 0;
	border-color: rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.08);
	color: var(--color-white);
}

.marquee-lightbox__content h3 {
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(2.2rem, 4vw, 3.4rem);
	line-height: 0.94;
	letter-spacing: -0.07em;
	color: var(--color-white);
}

.marquee-lightbox__content p {
	margin: 0;
	color: var(--color-text-on-dark-muted);
	font-size: 1rem;
	line-height: 1.72;
}

.marquee-lightbox__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: var(--color-white);
	box-shadow: 0 18px 40px rgba(7, 10, 15, 0.3);
	transform: translateY(-50%);
	cursor: pointer;
	transition: background 0.18s ease, transform 0.18s ease;
}

.marquee-lightbox__nav:hover,
.marquee-lightbox__nav:focus-visible,
.marquee-lightbox__close:hover,
.marquee-lightbox__close:focus-visible {
	background: rgba(255, 255, 255, 0.2);
}

.marquee-lightbox__nav:focus-visible,
.marquee-lightbox__close:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.7);
	outline-offset: 3px;
}

.marquee-lightbox__nav--prev {
	left: clamp(16px, 2vw, 24px);
}

.marquee-lightbox__nav--next {
	right: clamp(16px, 2vw, 24px);
}

.marquee-lightbox__nav span {
	font-size: 1.9rem;
	line-height: 1;
}

.gallery-page {
	background:
		radial-gradient(circle at 50% 0%, rgba(var(--color-primary-rgb), 0.08), rgba(var(--color-primary-rgb), 0) 34%),
		linear-gradient(180deg, #fffdfa 0%, #fff 48%, #fffaf6 100%);
}

.gallery-page__hero {
	max-width: 860px;
	margin: 0 auto 52px;
	display: grid;
	justify-items: center;
	gap: 18px;
	text-align: center;
}

.gallery-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #7a3dff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.gallery-page__hero h1 {
	margin: 0;
	max-width: 15ch;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(2.3rem, 4vw, 3.8rem);
	line-height: 0.96;
	letter-spacing: -0.075em;
	color: var(--color-black);
}

.gallery-page__hero p {
	max-width: 42ch;
	margin: 0;
	font-size: 1.06rem;
	line-height: 1.72;
	color: #566170;
}

.gallery-page__button {
	min-width: 204px;
	min-height: 58px;
}

.gallery-page__editorial {
	max-width: 760px;
	margin: 0 auto 48px;
	padding: 0 12px;
	text-align: center;
}

.gallery-page-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 14px 10px;
	align-items: start;
}

.gallery-page-card {
	min-width: 0;
}

.gallery-page-card--slim {
	grid-column: span 1;
}

.gallery-page-card--wide,
.gallery-page-card--medium,
.gallery-page-card--landscape,
.gallery-page-card--portrait,
.gallery-page-card--tall {
	grid-column: span 3;
}

.gallery-page-card--portrait,
.gallery-page-card--tall {
	margin-top: 8px;
}

.gallery-page-card__trigger {
	display: grid;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: left;
}

.gallery-page-card__frame {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 0;
	background:
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.18), rgba(var(--color-accent-rgb), 0.14)),
		linear-gradient(180deg, #fff1e8 0%, #fff 100%);
	box-shadow: 0 18px 42px rgba(16, 24, 32, 0.08);
}

.gallery-page-card--slim .gallery-page-card__frame {
	aspect-ratio: 0.32;
}

.gallery-page-card--wide .gallery-page-card__frame,
.gallery-page-card--medium .gallery-page-card__frame {
	aspect-ratio: 1.03;
}

.gallery-page-card--landscape .gallery-page-card__frame {
	aspect-ratio: 1.36;
}

.gallery-page-card--portrait .gallery-page-card__frame {
	aspect-ratio: 0.9;
}

.gallery-page-card--tall .gallery-page-card__frame {
	aspect-ratio: 0.72;
}

.gallery-page-card__frame img,
.gallery-page-card__fallback {
	display: block;
	width: 100%;
	height: 100%;
}

.gallery-page-card__frame img {
	object-fit: cover;
	transition: transform 0.45s ease, filter 0.3s ease;
}

.gallery-page-card__trigger:hover .gallery-page-card__frame img,
.gallery-page-card__trigger:focus-visible .gallery-page-card__frame img {
	transform: scale(1.05);
	filter: saturate(1.03);
}

.gallery-page-card__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(12, 16, 22, 0.06) 48%, rgba(12, 16, 22, 0.2) 100%);
}

.gallery-page-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.84);
	color: var(--color-black);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	backdrop-filter: blur(12px);
}

.gallery-page-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0 0;
	color: #30425e;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.gallery-page-card__details {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Gallery page normalization: keep every card in a consistent visual rhythm. */
.gallery-page .gallery-page-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.gallery-page .gallery-page-card,
.gallery-page .gallery-page-card--slim,
.gallery-page .gallery-page-card--wide,
.gallery-page .gallery-page-card--medium,
.gallery-page .gallery-page-card--landscape,
.gallery-page .gallery-page-card--portrait,
.gallery-page .gallery-page-card--tall {
	grid-column: span 1;
	margin-top: 0;
}

.gallery-page .gallery-page-card__trigger {
	gap: 10px;
}

.gallery-page .gallery-page-card__frame,
.gallery-page .gallery-page-card--slim .gallery-page-card__frame,
.gallery-page .gallery-page-card--wide .gallery-page-card__frame,
.gallery-page .gallery-page-card--medium .gallery-page-card__frame,
.gallery-page .gallery-page-card--landscape .gallery-page-card__frame,
.gallery-page .gallery-page-card--portrait .gallery-page-card__frame,
.gallery-page .gallery-page-card--tall .gallery-page-card__frame {
	aspect-ratio: 1 / 1;
	padding: 18px;
	border-radius: 28px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 242, 0.96)),
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.06), rgba(var(--color-accent-rgb), 0.08));
	box-shadow: 0 20px 48px rgba(16, 24, 32, 0.08);
}

.gallery-page .gallery-page-card__frame img,
.gallery-page .gallery-page-card__fallback {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.gallery-page .gallery-page-card__frame img {
	padding: 4px;
	transform: none;
}

.gallery-page .gallery-page-card__trigger:hover .gallery-page-card__frame img,
.gallery-page .gallery-page-card__trigger:focus-visible .gallery-page-card__frame img {
	transform: scale(1.02);
	filter: saturate(1.01);
}

.gallery-page .gallery-page-card__veil {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(12, 16, 22, 0.04) 100%);
}

.gallery-page .gallery-page-card__badge {
	top: 14px;
	left: 14px;
	padding: 7px 12px;
	font-size: 0.68rem;
}

.gallery-page .gallery-page-card__meta {
	padding-top: 2px;
	font-size: 0.78rem;
}

.gallery-page-card__fallback {
	display: grid;
	place-items: center;
	font-family: "DM Sans", sans-serif;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--color-white);
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
}

.gallery-page-card__trigger:focus-visible {
	outline: 3px solid rgba(var(--color-primary-rgb), 0.3);
	outline-offset: 6px;
}

@keyframes gallery-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc(-50% - (var(--gallery-gap) / 2)));
	}
}

@media (prefers-reduced-motion: reduce) {
	.gallery-marquee__track {
		animation: none;
	}

	.gallery-marquee__row {
		overflow-x: auto;
	}

	.marquee-gallery__item[aria-hidden="true"] {
		display: none;
	}
}

.product-showcase-card--empty {
	grid-column: 1 / -1;
}

.content-card {
	overflow: hidden;
	display: grid;
	transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.content-card--media {
	grid-template-rows: auto 1fr;
}

.content-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 28px 88px rgba(21, 33, 54, 0.15);
	border-color: rgba(var(--color-primary-rgb), 0.14);
}

.media-frame {
	display: block;
	aspect-ratio: 1.16;
	overflow: hidden;
	background:
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.18), rgba(var(--color-accent-rgb), 0.14)),
		linear-gradient(180deg, #fff1e8 0%, #fff 100%);
}

.media-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.01);
	transition: transform 0.45s ease;
}

.media-frame.is-portrait img {
	object-fit: contain;
	object-position: center;
	padding: 10px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 245, 239, 0.82));
}

.media-frame.is-square img {
	object-fit: cover;
	object-position: center;
}

.content-card:hover .media-frame img {
	transform: scale(1.05);
}

.media-placeholder {
	width: 100%;
	height: 100%;
	display: grid;
	place-content: center;
	padding: 28px;
	text-align: center;
	gap: 8px;
	color: var(--color-black);
}

.card-body,
.content-card:not(.content-card--media) {
	padding: 26px;
}

.content-card h2,
.content-card h3,
.stack-card strong,
.mini-card strong,
.sidebar-card h3,
.footer-cta h2,
.editorial-flow blockquote p {
	margin: 0 0 12px;
	font-family: "DM Sans", sans-serif;
	font-size: 1.28rem;
	line-height: 1.14;
	letter-spacing: -0.03em;
	color: var(--color-black);
}

.card-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 12px;
	margin-bottom: 14px;
	border-radius: 999px;
	background: rgba(var(--color-primary-rgb), 0.08);
	color: var(--color-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.text-link {
	display: inline-flex;
	margin-top: auto;
	font-weight: 800;
	color: var(--color-primary);
}

.text-link:hover {
	color: var(--color-accent);
}

.stack-list {
	display: grid;
	gap: 16px;
}

.stack-card,
.mini-card {
	padding: 24px;
}

.stack-card {
	gap: 8px;
}

.stack-card:hover,
.mini-card:hover,
.metric-blocks .wp-block-column:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-strong);
}

.page-entry,
.story-shell {
	padding: 34px;
}

.story-shell {
	margin-bottom: 28px;
}

.story-shell.is-style-accent-panel,
.is-style-accent-panel {
	background:
		linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.08), rgba(var(--color-accent-rgb), 0.16)),
		var(--color-white);
}

.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.social-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.84);
	color: var(--color-ink-soft);
	font-size: 0.84rem;
	font-weight: 700;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.social-link:hover {
	transform: translateY(-2px);
	border-color: rgba(var(--color-primary-rgb), 0.18);
	color: var(--color-primary);
	background: rgba(var(--color-primary-rgb), 0.06);
}

.social-link__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: rgba(var(--color-primary-rgb), 0.09);
	color: var(--color-primary);
	font-size: 0.68rem;
	font-weight: 800;
}

.social-links--header .social-link {
	padding: 6px 10px;
	font-size: 0.8rem;
}

.social-links--header .social-link__label {
	display: none;
}

.social-links--header .social-link__badge {
	width: 22px;
	height: 22px;
}

.social-links--footer {
	margin-top: 18px;
}

.nav-support__links {
	display: grid;
	gap: 10px;
}

.nav-support__link {
	display: inline-flex;
	font-weight: 700;
	color: var(--color-ink-soft);
}

.single-shell {
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: start;
}

.single-main {
	min-width: 0;
}

.single-media {
	margin: 0 0 26px;
	overflow: hidden;
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
}

.single-media img {
	width: 100%;
	max-height: 560px;
	object-fit: cover;
	object-position: center;
}

.single-sidebar {
	position: sticky;
	top: 132px;
}

.sidebar-card {
	padding: 28px;
}

.sidebar-card .button {
	width: 100%;
}

.editorial-flow > *:first-child {
	margin-top: 0;
}

.editorial-flow > *:last-child {
	margin-bottom: 0;
}

.editorial-flow ul,
.editorial-flow ol {
	padding-left: 22px;
	color: var(--color-muted);
}

.editorial-flow .wp-block-group,
.editorial-flow .wp-block-cover,
.editorial-flow .wp-block-columns,
.editorial-flow .wp-block-image,
.editorial-flow .wp-block-gallery,
.editorial-flow .wp-block-media-text {
	margin-bottom: 24px;
}

.editorial-flow .wp-block-cover,
.editorial-flow .wp-block-gallery,
.editorial-flow .wp-block-image img,
.editorial-flow .wp-block-media-text {
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.editorial-flow .wp-block-quote {
	padding: 28px;
	margin: 24px 0;
	border-left: 0;
	border-radius: var(--radius-lg);
	background: var(--color-surface-tint);
}

.editorial-flow .wp-block-button {
	margin-right: 12px;
	margin-bottom: 12px;
}

.metric-blocks {
	gap: 18px;
}

.metric-blocks .wp-block-column {
	padding: 24px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-list {
	display: grid;
	gap: 10px;
}

.contact-list.large {
	gap: 14px;
}

.contact-list li::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 10px;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
}

.page-section--contact {
	padding-top: clamp(96px, 10vw, 148px);
	padding-bottom: clamp(88px, 10vw, 140px);
}

.page-section--about {
	padding-top: clamp(92px, 10vw, 144px);
	padding-bottom: clamp(86px, 10vw, 136px);
}

.about-editorial {
	display: grid;
	gap: clamp(46px, 7vw, 88px);
}

.about-editorial__top {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.9fr);
	gap: clamp(34px, 5vw, 78px);
	align-items: start;
}

.about-editorial__eyebrow {
	margin-bottom: 22px;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	color: var(--color-primary);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: -0.04em;
}

.about-editorial__intro h1 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.45rem, 4.8vw, 4.2rem);
	line-height: 0.95;
	letter-spacing: -0.08em;
}

.about-editorial__summary {
	display: grid;
	align-content: start;
	gap: 28px;
	max-width: 700px;
	padding-top: clamp(28px, 5vw, 42px);
}

.about-editorial__summary p {
	margin: 0;
	font-size: clamp(1.08rem, 1.6vw, 1.24rem);
	line-height: 1.7;
	color: var(--color-text);
}

.about-editorial__summary .button {
	width: max-content;
}

.about-editorial__gallery {
	display: grid;
	grid-template-columns: 1.08fr 1.1fr 0.92fr 0.88fr;
	gap: 20px;
	align-items: end;
}

.about-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.about-metric {
	display: grid;
	gap: 10px;
	padding: 26px 24px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 20px 52px rgba(16, 24, 32, 0.05);
}

.about-metric strong {
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	line-height: 0.95;
	letter-spacing: -0.07em;
	color: var(--color-black);
}

.about-metric p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--color-text);
}

.about-editorial__card {
	margin: 0;
	display: grid;
	gap: 16px;
}

.about-editorial__card--short {
	margin-top: 150px;
}

.about-editorial__card--wide {
	margin-top: 180px;
}

.about-editorial__card--short-right {
	margin-top: 232px;
}

.about-editorial__media {
	position: relative;
	border-radius: 30px;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0)),
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.14), rgba(var(--color-accent-rgb), 0.1));
	box-shadow: 0 24px 64px rgba(16, 24, 32, 0.08);
}

.about-editorial__card--short .about-editorial__media,
.about-editorial__card--short-right .about-editorial__media {
	aspect-ratio: 0.9;
}

.about-editorial__card--tall .about-editorial__media {
	aspect-ratio: 0.78;
}

.about-editorial__card--wide .about-editorial__media {
	aspect-ratio: 1.08;
}

.about-editorial__media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
	transform: scale(1.01);
}

.about-editorial__media--fallback {
	display: grid;
	place-items: center;
	min-height: 320px;
}

.about-editorial__media--fallback span {
	font-family: "DM Sans", sans-serif;
	font-size: clamp(2rem, 6vw, 3.8rem);
	font-weight: 800;
	letter-spacing: -0.08em;
	color: rgba(16, 24, 32, 0.42);
}

.about-editorial__card figcaption {
	font-family: "Inter", sans-serif;
	font-size: 0.98rem;
	line-height: 1.4;
	color: var(--color-text);
}

.about-story-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr);
	gap: clamp(24px, 4vw, 34px);
	align-items: start;
}

.about-story-card {
	display: grid;
	gap: 22px;
	padding: clamp(28px, 4vw, 38px);
	border-radius: 34px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.94)),
		linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.08), rgba(var(--color-accent-rgb), 0.08));
	border: 1px solid rgba(16, 24, 32, 0.08);
	box-shadow: 0 24px 60px rgba(16, 24, 32, 0.06);
}

.about-story-card h2 {
	margin: 0;
	max-width: 15ch;
	font-size: clamp(2rem, 3.1vw, 3rem);
	line-height: 0.98;
	letter-spacing: -0.07em;
}

.about-story-card p {
	margin: 0;
	font-size: 1.03rem;
	line-height: 1.75;
	color: var(--color-text);
}

.about-story-list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.about-story-list li {
	position: relative;
	padding-left: 18px;
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--color-text);
}

.about-story-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--color-primary);
	transform: translateY(-50%);
}

.about-principles {
	display: grid;
	gap: 16px;
}

.about-principle {
	padding: 24px 24px 22px;
	border-radius: 24px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 18px 44px rgba(16, 24, 32, 0.05);
}

.about-principle h3 {
	margin: 0 0 10px;
	font-size: 1.15rem;
	line-height: 1.2;
	letter-spacing: -0.04em;
}

.about-principle p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--color-text);
}

.about-faq-section,
.about-blog-section {
	display: grid;
	gap: 28px;
}

.page-section--product-detail {
	padding-top: clamp(78px, 8vw, 112px);
}

.product-detail {
	display: grid;
	gap: 28px;
}

.product-detail__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 0.94rem;
	color: #6f7480;
}

.product-detail__breadcrumb a {
	color: #6f7480;
}

.product-detail__breadcrumb strong {
	color: var(--color-primary);
	font-weight: 700;
}

.product-detail__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.78fr);
	gap: clamp(26px, 4vw, 48px);
	align-items: start;
}

.product-detail__visual {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.product-detail__thumbs {
	display: grid;
	gap: 10px;
}

.product-detail__thumb {
	padding: 0;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 16px;
	background: #f8f2e7;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.product-detail__thumb:hover,
.product-detail__thumb.is-active {
	transform: translateY(-1px);
	border-color: rgba(var(--color-primary-rgb), 0.22);
	box-shadow: 0 14px 28px rgba(16, 24, 32, 0.08);
}

.product-detail__thumb img {
	width: 100%;
	aspect-ratio: 1;
	display: block;
	object-fit: cover;
	object-position: center;
}

.product-detail__thumb.is-portrait img {
	object-fit: contain;
	padding: 6px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 242, 236, 0.88));
}

.product-detail__stage {
	position: relative;
	border-radius: 30px;
	overflow: hidden;
	background:
		radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.2), transparent 30%),
		linear-gradient(135deg, #ead7b1 0%, #d6b57d 100%);
	box-shadow: 0 28px 76px rgba(16, 24, 32, 0.1);
}

.product-detail__main-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.product-detail__main-image {
	width: 100%;
	aspect-ratio: 0.9;
	display: block;
	object-fit: cover;
}

.product-detail__fallback {
	display: grid;
	place-items: center;
	min-height: 580px;
}

.product-detail__fallback span {
	font-family: "DM Sans", sans-serif;
	font-size: clamp(2rem, 7vw, 4.2rem);
	font-weight: 800;
	letter-spacing: -0.08em;
	color: rgba(16, 24, 32, 0.38);
}

.product-detail__content {
	display: grid;
	gap: 24px;
}

.product-detail__summary {
	display: grid;
	gap: 16px;
}

.product-detail__summary h1 {
	margin: 0;
	font-size: clamp(1.8rem, 2.8vw, 2.5rem);
	line-height: 0.98;
	letter-spacing: -0.07em;
}

.product-detail__rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 0.96rem;
	color: #6f7480;
}

.product-detail__rating-star {
	color: #ff7b31;
	font-size: 1rem;
}

.product-detail__price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(16, 24, 32, 0.08);
}

.product-detail__price-row strong {
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	line-height: 1;
	letter-spacing: -0.06em;
}

.product-detail__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(255, 122, 0, 0.08);
	font-size: 0.92rem;
	color: #835b17;
}

.product-detail__status::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: linear-gradient(145deg, #ff7b31, #ff9b57);
}

.product-detail__excerpt {
	margin: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(16, 24, 32, 0.08);
	font-size: 1.03rem;
	line-height: 1.7;
	color: var(--color-text);
}

.product-detail__meta {
	display: grid;
	gap: 20px;
}

.product-detail__meta-block {
	display: grid;
	gap: 14px;
}

.product-detail__meta-block h2 {
	margin: 0;
	font-size: 1rem;
	font-family: "Inter", sans-serif;
	font-weight: 700;
}

.product-detail__chips,
.product-detail__steps {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.product-detail__quantity {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 160px;
	gap: 12px;
	align-items: start;
}

.product-detail__quantity-ranges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.product-detail__chip,
.product-detail__step,
.product-detail__range {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid rgba(16, 24, 32, 0.1);
	border-radius: 999px;
	background: #fff;
	font-size: 0.95rem;
	color: var(--color-text);
}

.product-detail__chip,
.product-detail__range {
	cursor: pointer;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.product-detail__chip.is-active,
.product-detail__step.is-active,
.product-detail__range.is-active {
	border-color: #101820;
	background: #101820;
	color: #fff;
}

.product-detail__step:not(.is-active) {
	min-width: 42px;
	padding-inline: 14px;
}

.product-detail__chip:hover,
.product-detail__range:hover {
	transform: translateY(-1px);
	border-color: rgba(var(--color-primary-rgb), 0.22);
	box-shadow: 0 12px 24px rgba(16, 24, 32, 0.06);
}

.product-flow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 0 4px;
}

.product-flow__step {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border: 1px solid rgba(16, 24, 32, 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
}

.product-flow__step.is-active {
	border-color: rgba(var(--color-primary-rgb), 0.18);
	background: linear-gradient(180deg, rgba(var(--color-primary-rgb), 0.1), rgba(var(--color-accent-rgb), 0.08));
	box-shadow: 0 16px 30px rgba(var(--color-primary-rgb), 0.08);
}

.product-flow__badge {
	width: 30px;
	height: 30px;
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: #101820;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	flex-shrink: 0;
}

.product-flow__step.is-active .product-flow__badge {
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
}

.product-flow__label {
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--color-text);
}

.product-flow__arrow {
	position: relative;
	width: 24px;
	height: 10px;
	flex-shrink: 0;
}

.product-flow__arrow::before,
.product-flow__arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.product-flow__arrow::before {
	left: 0;
	right: 4px;
	height: 1px;
	background: rgba(16, 24, 32, 0.18);
}

.product-flow__arrow::after {
	right: 0;
	width: 7px;
	height: 7px;
	border-top: 1px solid rgba(16, 24, 32, 0.28);
	border-right: 1px solid rgba(16, 24, 32, 0.28);
	transform: translateY(-50%) rotate(45deg);
}

.product-detail__quantity-input input {
	width: 100%;
	min-height: 46px;
	padding: 0 16px;
	border: 1px solid rgba(16, 24, 32, 0.1);
	border-radius: 999px;
	background: #fff;
	font-family: "Inter", sans-serif;
	font-size: 0.95rem;
	color: var(--color-text);
}

.product-detail__quantity-input input:focus {
	outline: none;
	border-color: rgba(var(--color-primary-rgb), 0.35);
	box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.08);
}

.product-detail__actions {
	display: grid;
	gap: 12px;
}

.product-detail__action {
	width: 100%;
	justify-content: center;
}

.product-detail__action--primary {
	min-height: 56px;
}

.product-detail__action--whatsapp {
	min-height: 56px;
	border-radius: 999px;
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
	box-shadow: 0 18px 34px rgba(var(--color-primary-rgb), 0.2);
	color: #fff;
}

.product-detail__action--whatsapp:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 38px rgba(var(--color-primary-rgb), 0.24);
}

.site-cta-panel__button:hover,
.site-cta-panel__button:focus-visible {
	color: #fff;
}

.product-detail__notes {
	display: grid;
	gap: 10px;
	padding-top: 6px;
	text-align: center;
}

.product-detail__notes p {
	margin: 0;
	font-size: 0.92rem;
	color: #707a88;
}

.product-quote-modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: grid;
	place-items: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.18s ease;
}

.product-quote-modal.is-active {
	opacity: 1;
	pointer-events: auto;
}

.product-quote-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 12, 18, 0.56);
	backdrop-filter: blur(10px);
}

.product-quote-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 560px);
	display: grid;
	gap: 22px;
	padding: clamp(22px, 4vw, 34px);
	border-radius: 30px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 246, 241, 0.98));
	box-shadow: 0 32px 80px rgba(16, 24, 32, 0.18);
	transform: translateY(12px) scale(0.98);
	transition: transform 0.18s ease;
}

.product-quote-modal.is-active .product-quote-modal__dialog {
	transform: translateY(0) scale(1);
}

.product-quote-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(16, 24, 32, 0.06);
	color: var(--color-black);
	cursor: pointer;
}

.product-quote-modal__head {
	display: grid;
	gap: 14px;
	padding-right: 28px;
}

.product-quote-modal__head h2 {
	margin: 0;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	line-height: 0.98;
	letter-spacing: -0.06em;
}

.product-quote-modal__summary {
	margin: 0;
	color: var(--color-muted);
	line-height: 1.7;
}

.product-quote-form {
	display: grid;
	gap: 18px;
}

.product-quote-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.product-quote-form__field {
	display: grid;
	gap: 10px;
}

.product-quote-form__field span {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--color-black);
}

.product-quote-form__field input,
.product-quote-form__field select,
.product-quote-form__field textarea {
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid rgba(16, 24, 32, 0.12);
	border-radius: 18px;
	background: #fff;
	font-family: "Inter", sans-serif;
	font-size: 1rem;
}

.product-quote-form__field textarea {
	min-height: 124px;
	padding-block: 14px;
	resize: vertical;
}

.product-quote-form__field input[type="file"] {
	padding: 12px 14px;
	min-height: auto;
	line-height: 1.45;
}

.product-quote-form__field input:focus,
.product-quote-form__field select:focus,
.product-quote-form__field textarea:focus {
	outline: none;
	border-color: rgba(var(--color-primary-rgb), 0.35);
	box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.08);
}

.product-quote-form__submit {
	width: 100%;
	justify-content: center;
}

.product-quote-form__status {
	margin: 0;
	min-height: 24px;
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--color-muted);
}

.product-quote-form__status.is-error {
	color: #b42318;
}

.product-quote-form__status.is-success {
	color: #0f766e;
}

.testimonial-section {
	padding-top: 28px;
}

.testimonial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.testimonial-card {
	display: grid;
	gap: 18px;
	padding: 26px;
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 28px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 248, 0.95)),
		#fff;
	box-shadow: var(--shadow-soft);
}

.testimonial-card__head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
}

.testimonial-card__avatar {
	display: inline-grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(var(--color-primary-rgb), 0.14), rgba(var(--color-accent-rgb), 0.2));
	color: var(--color-primary);
	font-family: "DM Sans", sans-serif;
	font-size: 1rem;
	font-weight: 800;
}

.testimonial-card__copy {
	display: grid;
	gap: 4px;
}

.testimonial-card__copy strong {
	font-size: 1rem;
	line-height: 1.3;
	color: var(--color-black);
}

.testimonial-card__copy small {
	color: var(--color-muted);
	font-size: 0.88rem;
}

.testimonial-card__rating {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 54px;
	min-height: 36px;
	padding: 0 12px;
	border-radius: 999px;
	background: rgba(var(--color-primary-rgb), 0.08);
	color: var(--color-primary);
	font-size: 0.92rem;
	font-weight: 800;
}

.testimonial-card p {
	margin: 0;
	color: var(--color-text);
	font-size: 0.98rem;
	line-height: 1.78;
}

.mobile-cta-bar {
	display: none;
}

.contact-editorial {
	display: grid;
	gap: clamp(44px, 7vw, 84px);
}

.contact-editorial__top,
.contact-editorial__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
	gap: clamp(34px, 5vw, 72px);
	align-items: start;
}

.contact-editorial__intro {
	max-width: 760px;
}

.contact-editorial__eyebrow,
.contact-editorial__label {
	margin-bottom: 18px;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	color: var(--color-text);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: -0.04em;
}

.contact-editorial__intro h1 {
	max-width: 16ch;
	margin-bottom: 20px;
	font-size: clamp(2.4rem, 4.8vw, 4.2rem);
	line-height: 0.96;
	letter-spacing: -0.08em;
}

.contact-editorial__intro p {
	max-width: 680px;
	margin: 0;
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.78;
	color: var(--color-text-muted);
}

.contact-editorial__aside {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.contact-editorial__meta {
	display: grid;
	align-content: start;
	gap: 18px;
}

.contact-editorial__meta h2 {
	margin: 0;
	font-size: 1.75rem;
	line-height: 1.02;
	letter-spacing: -0.05em;
}

.contact-editorial__meta-copy {
	display: grid;
	gap: 18px;
}

.contact-editorial__meta-copy p,
.contact-editorial__links a {
	margin: 0;
	font-size: 1.12rem;
	line-height: 1.55;
	color: var(--color-text-muted);
}

.contact-editorial__meta-copy a,
.contact-editorial__links a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.contact-editorial__links {
	display: grid;
	gap: 14px;
	align-content: start;
}

.contact-editorial__form-wrap {
	display: grid;
	gap: 28px;
}

.contact-editorial__form {
	display: grid;
	gap: 28px;
}

.contact-editorial__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 28px;
}

.contact-editorial__field {
	display: block;
}

.contact-editorial__field input,
.contact-editorial__field textarea {
	width: 100%;
	padding: 0 0 14px;
	border: 0;
	border-bottom: 1px solid rgba(16, 24, 32, 0.12);
	border-radius: 0;
	background: transparent;
	font-family: "Inter", sans-serif;
	font-size: 1.08rem;
	line-height: 1.5;
	color: var(--color-text);
	box-shadow: none;
	outline: none;
	transition: border-color 0.2s ease, color 0.2s ease;
	appearance: none;
}

.contact-editorial__field input::placeholder,
.contact-editorial__field textarea::placeholder {
	color: rgba(16, 24, 32, 0.46);
}

.contact-editorial__field input:focus,
.contact-editorial__field textarea:focus {
	border-bottom-color: rgba(var(--color-primary-rgb), 0.9);
}

.contact-editorial__field textarea {
	min-height: 220px;
	resize: vertical;
}

.contact-editorial__field--message {
	grid-column: 1 / -1;
}

.contact-editorial__submit {
	width: 100%;
	justify-content: center;
	padding-block: 20px;
	border-radius: 0;
	font-size: 1.15rem;
}

.contact-editorial__map {
	display: grid;
	align-self: stretch;
}

.contact-editorial__map-frame {
	position: relative;
	min-height: clamp(360px, 38vw, 640px);
	border-radius: 0;
	overflow: hidden;
	background: #f3f3f1;
	box-shadow: 0 18px 42px rgba(16, 24, 32, 0.08);
}

.contact-editorial__map-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: saturate(0.92) contrast(1.02);
}

.site-cta {
	padding-top: 48px;
	padding-bottom: 34px;
}

.site-cta-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.92fr);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	padding: clamp(34px, 5vw, 68px);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 42px;
	background:
		linear-gradient(90deg, rgba(132, 0, 8, 0.18) 0, rgba(132, 0, 8, 0.18) 3.8%, rgba(255, 255, 255, 0) 3.8%, rgba(255, 255, 255, 0) 7.6%),
		linear-gradient(90deg, rgba(165, 0, 12, 0.28) 0, rgba(165, 0, 12, 0.28) 3.8%, rgba(255, 255, 255, 0) 3.8%, rgba(255, 255, 255, 0) 7.6%),
		radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 28%),
		radial-gradient(circle at 38% 72%, rgba(255, 148, 165, 0.26), rgba(255, 148, 165, 0) 24%),
		linear-gradient(135deg, #7f0008 0%, #c70018 18%, #ff3854 50%, #ff6f8c 76%, #ffd2dc 100%);
	background-size: 120px 120px, 60px 60px, auto, auto, auto;
	box-shadow: 0 34px 90px rgba(120, 0, 12, 0.18);
	overflow: hidden;
}

.site-cta-panel::before {
	content: "";
	position: absolute;
	inset: auto auto -18% -6%;
	width: 42%;
	height: 58%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0));
	filter: blur(30px);
	pointer-events: none;
}

.site-cta-panel__visual {
	position: relative;
	z-index: 1;
}

.site-cta-panel__visual--right {
	justify-self: end;
}

.site-cta-panel__content {
	position: relative;
	z-index: 2;
	display: grid;
	justify-items: start;
	gap: 18px;
	max-width: 620px;
	margin: 0;
	text-align: left;
}

.site-cta-panel__meta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 1.02rem;
	font-weight: 700;
	color: rgba(255, 245, 247, 0.94);
}

.site-cta-panel__star {
	color: #fff2a6;
	font-size: 1.4rem;
	line-height: 1;
}

.site-cta-panel__content h2 {
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(2.35rem, 4vw, 3.9rem);
	line-height: 0.92;
	letter-spacing: -0.08em;
	color: #fffdfd;
}

.faq-section {
	display: grid;
	gap: 30px;
}

.faq-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(24px, 4vw, 52px);
	align-items: start;
}

.faq-intro {
	display: grid;
	gap: 16px;
}

.faq-intro h2 {
	margin: 0;
	font-size: clamp(1.95rem, 3vw, 2.9rem);
	line-height: 0.98;
	letter-spacing: -0.06em;
}

.faq-intro p {
	margin: 0;
	color: var(--color-muted);
	line-height: 1.72;
}

.faq-list {
	display: grid;
	gap: 14px;
}

.faq-item {
	border: 1px solid rgba(16, 24, 32, 0.08);
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 242, 0.96));
	box-shadow: 0 18px 40px rgba(16, 24, 32, 0.05);
	overflow: hidden;
}

.faq-item[open] {
	border-color: rgba(var(--color-primary-rgb), 0.16);
	box-shadow: 0 22px 48px rgba(16, 24, 32, 0.08);
}

.faq-item summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 22px 56px 22px 24px;
	font-family: "DM Sans", sans-serif;
	font-size: 1.12rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.faq-item summary::-webkit-details-marker {
	display: none;
}

.faq-item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 22px;
	transform: translateY(-50%);
	font-family: "Inter", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--color-muted);
}

.faq-item[open] summary::after {
	content: "−";
}

.faq-item__body {
	padding: 0 24px 22px;
	height: 0;
	opacity: 0;
	overflow: hidden;
	will-change: height, opacity;
	transition: height 0.34s ease, opacity 0.24s ease;
}

.faq-item__body p {
	margin: 0;
	color: var(--color-muted);
	line-height: 1.72;
}

.faq-item[open] .faq-item__body {
	opacity: 1;
}

.service-capability-wall {
	display: grid;
	gap: 28px;
	margin-top: clamp(42px, 6vw, 74px);
	padding: clamp(28px, 4vw, 38px);
	border-radius: 34px;
	background:
		radial-gradient(circle at 12% 18%, rgba(var(--color-primary-rgb), 0.08), transparent 26%),
		radial-gradient(circle at 88% 20%, rgba(255, 205, 64, 0.14), transparent 22%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 250, 246, 0.96));
	border: 1px solid rgba(16, 24, 32, 0.06);
	box-shadow: 0 24px 60px rgba(16, 24, 32, 0.05);
	overflow: hidden;
}

.service-capability-wall__list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 16px;
	align-items: center;
}

.service-capability-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 14px 22px;
	border-radius: 18px;
	font-family: "DM Sans", sans-serif;
	font-size: clamp(1rem, 1.3vw, 1.18rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-align: center;
	box-shadow: 0 14px 28px rgba(16, 24, 32, 0.08);
	transform: rotate(var(--service-pill-rotate, 0deg));
}

.service-capability-pill--0 {
	--service-pill-rotate: -2.4deg;
	background: #111111;
	color: #fefefe;
}

.service-capability-pill--1 {
	--service-pill-rotate: 1.8deg;
	background: linear-gradient(180deg, #ff4e31, #e22b12);
	color: #fff7f2;
}

.service-capability-pill--2 {
	--service-pill-rotate: -1.4deg;
	background: linear-gradient(180deg, #ffe54f, #ffd426);
	color: #141414;
}

.site-cta-panel__content p {
	margin: 0;
	max-width: 28ch;
	font-size: 1.1rem;
	line-height: 1.6;
	color: rgba(255, 244, 246, 0.86);
}

.site-cta-panel__button {
	min-width: 164px;
	min-height: 56px;
	padding-inline: 28px;
	background: #fff;
	color: #111820;
	box-shadow: 0 18px 34px rgba(95, 0, 10, 0.22);
}

.site-cta-visual-card {
	position: relative;
	width: min(100%, 460px);
	margin-left: auto;
	border-radius: 32px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 28px 70px rgba(95, 0, 10, 0.24);
	backdrop-filter: blur(8px);
}

.site-cta-visual-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0)),
		linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
	pointer-events: none;
}

.site-cta-visual-card__image,
.site-cta-visual-card__fallback {
	display: block;
	width: 100%;
	aspect-ratio: 0.82;
}

.site-cta-visual-card__image {
	height: auto;
	object-fit: cover;
	object-position: center;
}

.site-cta-visual-card.is-portrait .site-cta-visual-card__image {
	object-fit: contain;
	padding: 12px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.18));
}

.site-cta-visual-card__fallback {
	display: grid;
	place-items: center;
	font-family: "DM Sans", sans-serif;
	font-size: 2rem;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.06));
}

.footer-grid {
	padding: 88px 0 46px;
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(160px, 0.72fr) minmax(160px, 0.72fr) minmax(220px, 0.92fr);
	gap: clamp(24px, 4vw, 58px);
	align-items: start;
}

.site-footer {
	margin-top: 30px;
	padding: 0 0 24px;
	background:
		linear-gradient(180deg, #faf8f5 0%, #f4f1ec 100%);
	color: var(--color-black);
	border-top: 1px solid rgba(16, 24, 32, 0.06);
}

.site-footer .brand-copy strong,
.site-footer h3 {
	color: var(--color-black);
}

.site-footer .brand-copy small {
	max-width: 32ch;
	white-space: normal;
}

.site-footer p,
.site-footer li,
.site-footer small,
.site-footer a {
	color: #7c7a77;
}

.site-footer a:hover {
	color: var(--color-black);
}

.site-footer .brand-logo-image,
.site-footer .custom-logo {
	max-height: 58px;
	filter: none;
}

.footer-column {
	min-width: 0;
}

.footer-column--brand {
	max-width: 520px;
}

.footer-brand {
	margin-bottom: 20px;
}

.footer-summary {
	margin: 0 0 26px;
	max-width: 34ch;
	font-size: 1.04rem;
	line-height: 1.55;
	color: #7f7d79;
}

.footer-newsletter-shell {
	display: grid;
	gap: 16px;
}

.footer-newsletter-shell h3,
.footer-column h3 {
	margin: 0;
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.3;
}

.footer-newsletter {
	display: flex;
	align-items: center;
	gap: 12px;
}

.footer-newsletter input[type="email"] {
	flex: 1;
	min-height: 62px;
	padding-inline: 22px;
	border: 1px solid rgba(16, 24, 32, 0.06);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 10px 32px rgba(16, 24, 32, 0.04);
}

.footer-newsletter input[type="email"]::placeholder {
	color: #a3a09b;
}

.footer-newsletter__button {
	min-width: 142px;
	min-height: 62px;
	padding-inline: 24px;
}

.footer-menu,
.footer-contact-list {
	display: grid;
	gap: 14px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-link {
	display: inline-flex;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: #8b8883;
}

.footer-link:hover {
	color: var(--color-black);
}

.footer-muted {
	margin: 0;
	max-width: 24ch;
	line-height: 1.6;
}

.footer-contact-list li {
	display: flex;
	align-items: center;
	gap: 14px;
}

.footer-contact__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: inset 0 0 0 1px rgba(16, 24, 32, 0.05);
	color: #8f8b86;
}

.footer-contact__icon svg {
	width: 18px;
	height: 18px;
}

.footer-contact__text {
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.5;
	color: #85817c;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-top: 26px;
	border-top: 1px solid rgba(16, 24, 32, 0.08);
}

.footer-bottom p {
	margin: 0;
	color: #94908a;
}

.footer-bottom__meta {
	text-align: right;
	font-weight: 600;
	color: var(--color-black);
}

.footer-bottom__meta a {
	color: inherit;
	text-decoration: none;
}

.footer-bottom__meta a:hover {
	color: var(--color-accent);
}

.split-grid--top,
.split-showcase {
	align-items: start;
}

.pagination-wrap {
	margin-top: 30px;
}

.pagination-wrap .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(16, 24, 32, 0.08);
	box-shadow: var(--shadow-soft);
	font-weight: 800;
}

.page-numbers.current,
.page-numbers:hover {
	color: var(--color-white);
	background: linear-gradient(145deg, var(--color-primary), var(--color-accent));
}

.wpcf7 form,
form:not(.search-form):not(.comment-form) {
	display: grid;
	gap: 16px;
}

.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7 textarea,
form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
form textarea,
form select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid rgba(16, 24, 32, 0.1);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.88);
}

.wpcf7 textarea,
form textarea {
	min-height: 150px;
	resize: vertical;
}

.has-motion .reveal,
.has-motion .reveal-stagger > * {
	opacity: 0;
	transform: translateY(24px);
}

.has-motion .archive-grid--solutions-motion > * {
	opacity: 0;
	transform: translate3d(120px, 0, 0);
}

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

@media (max-width: 1100px) {
	.gallery-page-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.gallery-page-card--slim {
		grid-column: span 1;
	}

	.gallery-page-card--wide,
	.gallery-page-card--medium,
	.gallery-page-card--landscape,
	.gallery-page-card--portrait,
	.gallery-page-card--tall {
		grid-column: span 2;
	}

	.gallery-marquee-stage {
		padding-inline: 16px;
	}

	.marquee-gallery__item {
		flex-basis: clamp(250px, 30vw, 340px);
	}

	.marquee-gallery__item--wide {
		flex-basis: clamp(300px, 36vw, 400px);
	}

	.marquee-gallery__item--compact {
		flex-basis: clamp(220px, 24vw, 280px);
	}

	.marquee-lightbox__layout {
		grid-template-columns: 1fr;
	}

	.marquee-lightbox__content h3 {
		font-size: clamp(2rem, 5vw, 3rem);
	}

	.marquee-lightbox__dialog--media {
		width: min(1100px, 100%);
	}

	.marquee-lightbox__media--solo {
		max-height: calc(100vh - 72px);
	}

	.site-cta-panel {
		grid-template-columns: minmax(0, 1fr) minmax(240px, 0.82fr);
		padding: 36px;
	}

	.site-cta-panel__content h2 {
		font-size: clamp(2.5rem, 5vw, 4.2rem);
	}

	.site-cta-visual-card {
		width: min(100%, 380px);
	}

	.hero-grid,
	.split-grid,
	.footer-grid,
	.split-showcase,
	.single-shell,
	.catalog-layout,
	.archive-grid,
	.card-grid,
	.shortcode-grid,
	.product-showcase-grid {
		grid-template-columns: 1fr 1fr;
	}

	.contact-editorial__top,
	.contact-editorial__bottom,
	.about-editorial__top {
		grid-template-columns: 1fr;
	}

	.contact-editorial__aside {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-editorial__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	.about-metrics,
	.about-story-grid {
		grid-template-columns: 1fr;
	}

	.service-capability-wall__list {
		gap: 12px;
	}

	.about-editorial__card--short,
	.about-editorial__card--wide,
	.about-editorial__card--short-right {
		margin-top: 0;
	}

	.product-detail__grid {
		grid-template-columns: 1fr;
	}

	.product-detail__notes {
		text-align: left;
	}

	.hero-grid {
		grid-template-columns: 1fr;
	}

	.hero-content {
		max-width: none;
		padding-bottom: 0;
	}

	.hero-title-shell {
		max-width: 680px;
		padding-right: 82px;
	}

	.hero-visual,
	.hero-visual__scene {
		min-height: 620px;
	}

	.hero-visual__primary {
		inset: 18px 8px 64px 6%;
	}

	.hero-floating-chip--right {
		right: 10px;
	}

	.hero-spotlight-card {
		width: min(360px, 46%);
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 48px;
	}

	.footer-column--brand {
		grid-column: 1 / -1;
		max-width: 640px;
	}

	.single-shell {
		grid-template-columns: 1fr;
	}

	.single-sidebar {
		position: static;
	}

	.catalog-sidebar {
		position: static;
	}

	.catalog-toolbar {
		grid-template-columns: 1fr;
	}

	.nav-cta {
		display: none;
	}

	.product-showcase-section__head {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 880px) {
	.contact-editorial__aside,
	.contact-editorial__fields {
		grid-template-columns: 1fr;
	}

	.contact-editorial__intro h1 {
		max-width: 100%;
	}

	.about-editorial__intro h1 {
		max-width: 100%;
	}

	.about-editorial__summary {
		padding-top: 0;
	}

	.about-story-card h2 {
		max-width: 100%;
	}

	.product-detail__visual {
		grid-template-columns: 1fr;
	}

	.product-detail__thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		order: 2;
	}

	.product-detail__quantity {
		grid-template-columns: 1fr;
	}

	.product-flow {
		align-items: stretch;
	}

	.product-flow__arrow {
		display: none;
	}

	.product-detail__stage {
		order: 1;
	}

	.gallery-page__hero {
		margin-bottom: 42px;
	}

	.gallery-page__hero h1 {
		max-width: 14ch;
		font-size: clamp(2.6rem, 7vw, 4rem);
	}

	.gallery-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 12px;
	}

	.gallery-page-card--slim,
	.gallery-page-card--wide,
	.gallery-page-card--medium,
	.gallery-page-card--landscape,
	.gallery-page-card--portrait,
	.gallery-page-card--tall {
		grid-column: span 1;
		margin-top: 0;
	}

	.gallery-page-card--slim .gallery-page-card__frame,
	.gallery-page-card--wide .gallery-page-card__frame,
	.gallery-page-card--medium .gallery-page-card__frame,
	.gallery-page-card--landscape .gallery-page-card__frame {
		aspect-ratio: 1.02;
	}

	.gallery-page-card--portrait .gallery-page-card__frame,
	.gallery-page-card--tall .gallery-page-card__frame {
		aspect-ratio: 0.82;
	}

	.gallery-marquee-stage {
		padding-inline: 14px;
	}

	.gallery-marquee {
		--gallery-gap: 14px;
		gap: 14px;
	}

	.gallery-marquee__track {
		animation-duration: 38s;
	}

	.gallery-marquee__row--reverse .gallery-marquee__track {
		animation-duration: 44s;
	}

	.marquee-gallery__item,
	.marquee-gallery__item--wide,
	.marquee-gallery__item--compact {
		flex-basis: clamp(240px, 62vw, 320px);
	}

	.marquee-gallery__meta {
		left: 14px;
		right: 14px;
		bottom: 14px;
	}

	.marquee-lightbox {
		padding: 18px;
	}

	.marquee-lightbox__dialog {
		padding: 18px;
		border-radius: 28px;
	}

	.marquee-lightbox__dialog--media {
		padding-inline: 54px;
	}

	.marquee-lightbox__nav {
		width: 50px;
		height: 50px;
	}

	.marquee-lightbox__nav--prev {
		left: 14px;
	}

	.marquee-lightbox__nav--next {
		right: 14px;
	}

	.site-cta-panel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 26px 18px;
		padding: 32px 22px;
	}

	.site-cta-panel__content {
		order: 1;
	}

	.site-cta-panel__visual--right {
		order: 2;
		justify-self: center;
	}

	.site-cta-visual-card {
		width: min(100%, 300px);
	}

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

	.topbar {
		display: none;
	}

	.navbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 52px;
		align-items: center;
	}

	.brand-block {
		max-width: none;
	}

	.brand {
		width: 100%;
	}

	.brand-copy strong,
	.brand-copy small {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.menu-toggle {
		display: inline-block;
		margin-left: 0;
		justify-self: end;
	}

	.menu-toggle[aria-expanded="true"] span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.menu-toggle[aria-expanded="true"] span:nth-child(2) {
		opacity: 0;
	}

	.menu-toggle[aria-expanded="true"] span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.main-nav {
		display: none;
		width: 100%;
		grid-column: 1 / -1;
		margin-top: 6px;
	}

	body.menu-open .main-nav {
		display: flex;
	}

	.nav-list {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 18px;
		background: var(--color-surface-elevated);
		border: 1px solid rgba(16, 24, 32, 0.08);
		border-radius: 26px;
		box-shadow: var(--shadow-soft);
		max-height: calc(100vh - 120px);
		overflow: auto;
	}

	.nav-item .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		padding: 8px 0 0 12px;
		border: 0;
		box-shadow: none;
		background: transparent;
	}

	.nav-support {
		display: grid;
		gap: 14px;
		padding-top: 8px;
		margin-top: 8px;
		border-top: 1px solid rgba(16, 24, 32, 0.08);
	}

	.metric-grid,
	.archive-grid,
	.card-grid,
	.shortcode-grid,
	.workflow-grid,
	.product-showcase-grid,
	.footer-grid,
	.split-grid,
	.split-showcase,
	.hero-grid,
	.single-shell,
	.catalog-layout {
		grid-template-columns: 1fr;
	}

	.catalog-mobile-filters {
		display: block;
	}

	.catalog-sidebar {
		display: none;
	}

	.archive-grid--products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.archive-grid--products .card-body {
		padding: 16px 14px 18px;
	}

	.archive-grid--products .content-card h3 {
		font-size: 1rem;
		margin-bottom: 10px;
	}

	.archive-grid--products .content-card p {
		font-size: 0.88rem;
		line-height: 1.5;
		margin-bottom: 12px;
	}

	.archive-grid--products .card-tag {
		font-size: 0.72rem;
		padding: 7px 10px;
	}

	.archive-grid--products .text-link {
		font-size: 0.88rem;
	}

	.hero-visual {
		min-height: 560px;
	}

	.metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.workflow-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.signal-strip__inner {
		padding: 20px 18px;
		border-radius: 28px;
	}

	.product-showcase-card__media {
		aspect-ratio: 1.18;
	}

	.hero {
		padding-top: 28px;
	}

	.hero-content {
		padding: 0;
	}

	.hero-title-shell {
		max-width: none;
		margin-bottom: 22px;
	}

	.hero-content h1 {
		max-width: 11ch;
	}

	.hero-lead {
		max-width: none;
	}

	.hero-proof {
		align-items: flex-start;
	}

	.hero-visual__scene {
		min-height: 560px;
	}

	.hero-visual__primary {
		inset: 18px 0 84px 0;
		border-radius: 34px;
	}

	.hero-visual__caption {
		max-width: 244px;
	}

	.hero-floating-chip {
		padding: 14px 16px;
		border-radius: 20px;
	}

	.hero-floating-chip--top {
		top: 0;
		left: 14px;
	}

	.hero-floating-chip--right {
		top: auto;
		right: 14px;
		bottom: 194px;
	}

	.hero-floating-chip__icon {
		width: 38px;
		height: 38px;
		border-radius: 14px;
	}

	.hero-spotlight-card {
		left: 14px;
		right: 14px;
		bottom: 0;
		width: auto;
		grid-template-columns: 132px minmax(0, 1fr);
		align-items: start;
		gap: 12px;
		padding: 12px;
	}

	.hero-spotlight-card__media {
		aspect-ratio: 1;
		border-radius: 18px;
	}

	.hero-spotlight-card__body h3 {
		font-size: 1.28rem;
	}

	.hero-spotlight-card__arrow {
		top: 12px;
		right: 12px;
	}

	.footer-grid {
		gap: 24px;
	}

	.footer-column--brand {
		max-width: none;
	}

	.footer-newsletter {
		flex-direction: column;
		align-items: stretch;
	}

	.footer-newsletter__button {
		width: 100%;
	}

	.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.footer-bottom__meta {
		text-align: left;
	}
}

@media (max-width: 640px) {
	.page-section--contact {
		padding-top: 82px;
		padding-bottom: 78px;
	}

	.page-section--about {
		padding-top: 80px;
		padding-bottom: 76px;
	}

	.contact-editorial {
		gap: 38px;
	}

	.about-editorial {
		gap: 38px;
	}

	.contact-editorial__eyebrow,
	.contact-editorial__label {
		font-size: 1rem;
	}

	.contact-editorial__intro h1 {
		font-size: clamp(2.2rem, 13vw, 3.35rem);
	}

	.about-editorial__intro h1 {
		font-size: clamp(2.2rem, 13vw, 3.4rem);
	}

	.contact-editorial__intro p,
	.contact-editorial__meta-copy p,
	.contact-editorial__links a,
	.contact-editorial__field input,
	.contact-editorial__field textarea {
		font-size: 1rem;
	}

	.contact-editorial__meta h2 {
		font-size: 1.4rem;
	}

	.about-editorial__eyebrow {
		font-size: 1rem;
	}

	.about-editorial__summary p,
	.about-editorial__card figcaption {
		font-size: 1rem;
	}

	.about-metric,
	.about-principle {
		padding: 22px 20px;
	}

	.product-detail__breadcrumb {
		font-size: 0.86rem;
	}

	.product-detail__summary h1 {
		font-size: clamp(1.72rem, 8vw, 2.3rem);
	}

	.product-detail__price-row strong {
		font-size: 1.68rem;
	}

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

	.product-quote-modal {
		padding: 14px;
	}

	.product-quote-modal__dialog {
		border-radius: 24px;
		padding: 20px 18px;
	}

	.product-quote-form__grid {
		grid-template-columns: 1fr;
	}

	.product-detail__main-image {
		aspect-ratio: 0.92;
	}

	.about-editorial__gallery {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.about-metrics {
		gap: 14px;
	}

	.about-editorial__card--tall .about-editorial__media,
	.about-editorial__card--short .about-editorial__media,
	.about-editorial__card--short-right .about-editorial__media,
	.about-editorial__card--wide .about-editorial__media {
		aspect-ratio: 1.02;
	}

	.about-story-card {
		padding: 24px 20px;
		border-radius: 26px;
	}

	.service-capability-wall {
		padding: 24px 20px;
		border-radius: 26px;
	}

	.service-capability-pill {
		width: 100%;
		justify-content: flex-start;
		padding-inline: 18px;
		transform: none;
	}

	.contact-editorial__form,
	.contact-editorial__form-wrap {
		gap: 22px;
	}

	.contact-editorial__field textarea,
	.contact-editorial__map-frame {
		min-height: 300px;
	}

	.gallery-page__hero {
		justify-items: flex-start;
		text-align: left;
		margin-bottom: 34px;
	}

	.gallery-page__hero h1,
	.gallery-page__hero p {
		max-width: none;
	}

	.gallery-page__button {
		width: 100%;
	}

	.gallery-page__editorial {
		padding: 0;
		margin-bottom: 34px;
		text-align: left;
	}

	.gallery-page-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.gallery-page-card--slim,
	.gallery-page-card--wide,
	.gallery-page-card--medium,
	.gallery-page-card--landscape,
	.gallery-page-card--portrait,
	.gallery-page-card--tall {
		grid-column: auto;
	}

	.gallery-page-card__meta {
		font-size: 0.8rem;
	}

	.gallery-marquee-stage {
		padding-inline: 12px;
	}

	.gallery-marquee::before,
	.gallery-marquee::after {
		width: 44px;
	}

	.gallery-marquee__row {
		overflow-x: auto;
		scroll-snap-type: x proximity;
		padding-bottom: 6px;
	}

	.gallery-marquee__track {
		animation: none;
	}

	.marquee-gallery__item[aria-hidden="true"] {
		display: none;
	}

	.marquee-gallery__item,
	.marquee-gallery__item--wide,
	.marquee-gallery__item--compact {
		flex-basis: min(84vw, 320px);
		scroll-snap-align: start;
	}

	.marquee-gallery__tile {
		border-radius: 24px;
	}

	.marquee-lightbox {
		padding: 12px;
	}

	.marquee-lightbox__dialog {
		padding: 14px;
		border-radius: 24px;
	}

	.marquee-lightbox__dialog--media {
		padding-inline: 12px;
	}

	.marquee-lightbox__media {
		border-radius: 20px;
		aspect-ratio: 1.08;
	}

	.marquee-lightbox__media--solo {
		max-height: calc(100vh - 52px);
		border-radius: 18px;
	}

	.marquee-lightbox__close {
		top: 10px;
		right: 10px;
	}

	.marquee-lightbox__nav {
		top: auto;
		bottom: 16px;
		width: 46px;
		height: 46px;
		transform: none;
	}

	.marquee-lightbox__nav--prev {
		left: 16px;
	}

	.marquee-lightbox__nav--next {
		right: 16px;
	}

	.marquee-lightbox__content h3 {
		font-size: clamp(1.9rem, 9vw, 2.6rem);
	}

	.section {
		padding: 72px 0;
	}

	.site-cta {
		padding-top: 24px;
		padding-bottom: 18px;
	}

	.site-cta-panel {
		grid-template-columns: 1fr;
		padding: 24px 18px;
		border-radius: 30px;
	}

	.site-cta-panel__content {
		justify-items: flex-start;
		text-align: left;
	}

	.site-cta-panel__content h2 {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.site-cta-panel__content p {
		max-width: none;
		font-size: 1rem;
	}

	.site-cta-panel__button {
		width: 100%;
	}

	.site-cta-panel__meta {
		font-size: 0.92rem;
	}

	.logo-marquee__item {
		flex-basis: min(56vw, 220px);
		min-height: 96px;
		padding: 18px 20px;
	}

	.logo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-cta-panel__visual--right {
		justify-self: center;
		width: 100%;
	}

	.site-cta-visual-card {
		width: 100%;
	}

	.container {
		width: min(calc(100% - 24px), var(--container));
	}

	.section-heading h1,
	.section-heading h2,
	.hero-content h1 {
		font-size: clamp(1.95rem, 8vw, 2.85rem);
	}

	.catalog-toolbar {
		gap: 12px;
		margin-bottom: 16px;
	}

	.catalog-sort {
		padding: 14px;
		border-radius: 18px;
	}

	.archive-grid--products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.archive-grid--products .media-frame {
		aspect-ratio: 0.86;
	}

	.page-entry,
	.story-shell,
	.sidebar-card {
		padding: 24px;
	}

	.metric-grid {
		grid-template-columns: 1fr;
	}

	.signal-list {
		gap: 8px;
	}

	.faq-grid {
		grid-template-columns: 1fr;
	}

	.faq-intro h2 {
		font-size: clamp(1.8rem, 8vw, 2.45rem);
	}

	.faq-item summary {
		font-size: 1.02rem;
		padding: 20px 52px 20px 20px;
	}

	.faq-item__body {
		padding: 0 20px 20px;
	}

	.signal-list li {
		font-size: 0.84rem;
	}

	.brand-logo-image,
	.custom-logo {
		width: 100%;
		max-width: 100%;
		max-height: 100%;
		height: 100%;
	}

	.brand-logo {
		width: min(100%, var(--brand-logo-width-mobile));
		max-width: var(--brand-logo-width-mobile);
		height: 54px;
		min-width: 48px;
		min-height: 48px;
		padding: 4px 0;
	}

	.brand-copy small {
		max-width: 20ch;
	}

	.hero {
		padding-top: 20px;
	}

	.workflow-section {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.signal-strip {
		padding: 12px 0 24px;
	}

	.signal-strip__inner > span {
		min-height: 46px;
		padding-inline: 16px;
	}

	.signal-list li {
		font-size: 0.9rem;
		padding: 9px 14px;
	}

	.workflow-section__head {
		margin-bottom: 28px;
		justify-items: flex-start;
		text-align: left;
	}

	.workflow-section__head h2,
	.workflow-section__head p {
		max-width: none;
	}

	.workflow-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.workflow-card {
		justify-items: flex-start;
		padding: 0;
		text-align: left;
	}

	.workflow-card__icon {
		width: 92px;
		height: 92px;
	}

	.workflow-card__icon span {
		font-size: 1.3rem;
	}

	.hero-grid {
		padding: 0;
	}

	.hero-content h1 {
		font-size: clamp(2.35rem, 10vw, 3.3rem);
	}

	.hero-lead {
		font-size: 1.02rem;
	}

	.hero-actions .button {
		width: 100%;
	}

	.hero-proof {
		gap: 12px;
	}

	.hero-proof__avatar {
		width: 44px;
		height: 44px;
	}

	.hero-visual,
	.hero-visual__scene {
		min-height: 470px;
	}

	.hero-visual__primary {
		inset: 12px 0 126px 0;
		border-radius: 30px;
	}

	.hero-visual__caption {
		display: none;
	}

	.hero-floating-chip {
		gap: 10px;
		padding: 12px 14px;
		border-radius: 18px;
	}

	.hero-floating-chip__icon {
		width: 34px;
		height: 34px;
		border-radius: 12px;
	}

	.hero-floating-chip__copy strong {
		font-size: 0.88rem;
	}

	.hero-floating-chip__copy small {
		font-size: 0.74rem;
	}

	.hero-floating-chip--top {
		left: 8px;
		max-width: 210px;
	}

	.hero-floating-chip--right {
		right: 8px;
		bottom: 214px;
		max-width: 184px;
	}

	.hero-spotlight-card {
		left: 8px;
		right: 8px;
		grid-template-columns: 1fr;
		border-radius: 24px;
	}

	.hero-spotlight-card__media {
		aspect-ratio: 1.45;
	}

	.footer-grid {
		padding: 72px 0 36px;
	}

	.footer-newsletter input[type="email"] {
		min-height: 58px;
		padding-inline: 20px;
	}

	.footer-contact-list li {
		align-items: flex-start;
	}

	.product-showcase-card__body {
		padding: 18px;
	}

	.product-showcase-card__header h3 {
		font-size: 1.42rem;
	}

	.product-showcase-card__meta {
		grid-template-columns: 1fr;
	}

	.testimonial-grid {
		grid-template-columns: 1fr;
	}

	body {
		padding-bottom: 88px;
	}

	.mobile-cta-bar {
		position: fixed;
		left: 14px;
		right: 14px;
		bottom: max(14px, env(safe-area-inset-bottom));
		z-index: 70;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		padding: 10px;
		border: 1px solid rgba(16, 24, 32, 0.08);
		border-radius: 24px;
		background: rgba(255, 255, 255, 0.94);
		backdrop-filter: blur(16px);
		box-shadow: 0 20px 44px rgba(16, 24, 32, 0.16);
	}

	.mobile-cta-bar__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: 52px;
		padding: 0 16px;
		border-radius: 16px;
		font-size: 0.95rem;
		font-weight: 800;
		letter-spacing: -0.02em;
	}

	.mobile-cta-bar__button--call {
		background: rgba(16, 24, 32, 0.06);
		color: var(--color-black);
	}

	.mobile-cta-bar__button--whatsapp {
		background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
		color: var(--color-white);
	}
}

@media (max-width: 1100px) {
	.gallery-page .gallery-page-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 880px) {
	.gallery-page .gallery-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (max-width: 640px) {
	.gallery-page .gallery-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.gallery-page .gallery-page-card__frame,
	.gallery-page .gallery-page-card--slim .gallery-page-card__frame,
	.gallery-page .gallery-page-card--wide .gallery-page-card__frame,
	.gallery-page .gallery-page-card--medium .gallery-page-card__frame,
	.gallery-page .gallery-page-card--landscape .gallery-page-card__frame,
	.gallery-page .gallery-page-card--portrait .gallery-page-card__frame,
	.gallery-page .gallery-page-card--tall .gallery-page-card__frame {
		padding: 12px;
		border-radius: 22px;
	}

	.gallery-page .gallery-page-card__meta {
		font-size: 0.74rem;
	}
}

