:root {
	--green: #70795e;
	--green-deep: #333334;
	--green-dark: #333334;
	--green-soft: #9ba18e;
	--sage-light: #dbded7;
	--chalk: #fcfbf8;
	--paper: #fcfbf8;
	--ink: #333334;
	--muted: #707071;
	--line: rgba(51, 51, 52, 0.18);
	--content-max: 1200px;
	--serif: Didot, "Didot LT STD", "Bodoni 72", "Times New Roman", serif;
	--sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--brand-accent: #9ba18e;
	--brand-accent-light: #dbded7;
	--brand-xanadu-70: #9ba18e;
	--brand-xanadu-40: #c6c9bf;
	--brand-xanadu-25: #dbded7;
}

html {
	scroll-behavior: smooth;
	background: var(--green-dark);
	overflow-x: hidden;
}

body,
input,
textarea,
select,
button {
	font-family: var(--sans);
}

body {
	min-width: 320px;
	background: var(--chalk);
	color: var(--ink);
	font-size: 16px;
	line-height: 1.55;
	letter-spacing: 0;
	overflow-x: hidden;
}

@keyframes zensorialEnter {
	from {
		opacity: 1;
		transform: translate3d(0, 12px, 0);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__animated.zensorial-enter {
	animation-name: zensorialEnter;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

#page-wrapper {
	overflow: hidden;
}

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

a:hover {
	text-decoration: none;
}

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

button:focus-visible,
a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 5px;
}

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

p,
ul,
ol,
dl,
table,
blockquote,
form {
	margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
	color: inherit;
}

.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	padding: 10px 14px;
	background: #fff;
	color: var(--green-dark);
	transform: translateY(-160%);
}

.skip-link:focus {
	transform: translateY(0);
}

.container-wide {
	width: min(var(--content-max), calc(100% - 96px));
	margin-inline: auto;
}

.section-number {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--brand-accent);
	opacity: 1;
}

#header.hero-shell {
	position: relative;
	display: block;
	min-height: 100svh;
	height: auto;
	padding: 0;
	background: var(--green);
	overflow: hidden;
}

.hero-shell::before,
.hero-shell::after {
	display: none;
}

.hero-nav-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10000;
	min-height: 96px;
	background: rgba(51, 51, 52, 0.96);
	border-bottom: 1px solid rgba(155, 161, 142, 0.3);
	backdrop-filter: blur(10px) saturate(0.9);
	-webkit-backdrop-filter: blur(10px) saturate(0.9);
}

.hero-nav-inner {
	display: grid;
	grid-template-columns: 255px minmax(0, 1fr) 255px;
	width: min(var(--content-max), calc(100% - 64px));
	min-height: 96px;
	margin-inline: auto;
}

#logo {
	position: relative;
	top: auto;
	left: auto;
	width: auto;
	height: 96px;
	margin: 0 !important;
	transform: none;
	background: transparent;
}

#logo h1 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.brand-lockup {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	overflow: hidden;
}

.brand-lockup img {
	width: 205px;
	height: auto;
	object-fit: contain;
}

#nav {
	position: relative;
	top: auto;
	left: auto;
	text-align: center;
	align-self: center;
	padding: 0 24px;
}

#nav > ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(20px, 2.6vw, 44px);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

#nav > ul > li {
	display: block;
	padding: 0;
}

#nav > ul > li > a,
#nav > ul > li > span {
	position: relative;
	display: block;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	transition: color 180ms ease;
}

#nav > ul > li > a::after {
	content: "";
	position: absolute;
	left: 14%;
	right: 14%;
	bottom: 5px;
	height: 1px;
	border-radius: 999px;
	background: #fff;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

#nav > ul > li.current > a,
#nav > ul > li:hover > a,
#nav > ul > li > a:focus-visible {
	background: transparent;
	color: #fff;
}

#nav > ul > li.current > a::after,
#nav > ul > li:hover > a::after,
#nav > ul > li > a:focus-visible::after {
	transform: scaleX(1);
}

.nav-social {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 48px;
}

.nav-instagram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 20px;
	line-height: 1;
	transition: color 180ms ease;
}

.nav-instagram:hover,
.nav-instagram:focus-visible {
	color: #fff;
}

.nav-instagram:focus-visible,
#nav > ul > li > a:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.88);
	outline-offset: 4px;
}

#top,
#branding,
#soluciones,
#tecnologia,
#contacto {
	scroll-margin-top: 108px;
}

.hero-stage {
	position: relative;
	display: grid;
	grid-template-columns: 40% 32% 28%;
	min-height: 100svh;
	padding-top: 96px;
	background: var(--green);
}

.hero-field {
	position: absolute;
	inset: 96px 60% 0 0;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 45%),
		var(--green);
}

.hero-field::after {
	content: "";
	position: absolute;
	right: 42px;
	top: 13%;
	width: 104px;
	height: 63%;
	border-radius: 90% 12% 80% 18% / 24% 80% 20% 76%;
	border: 1px solid rgba(255, 255, 255, 0.16);
	transform: rotate(13deg);
}

.hero-photo,
.hero-film {
	position: relative;
	z-index: 2;
	margin: 0;
	min-width: 0;
	height: calc(100svh - 96px);
	overflow: hidden;
}

.hero-photo {
	grid-column: 2;
	background: var(--brand-xanadu-25);
}

.hero-photo img,
.hero-film video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-photo img {
	object-position: 47% 47%;
	scale: 1.03;
}

.hero-film {
	grid-column: 3;
	background: var(--brand-xanadu-70);
}

.hero-film video {
	object-position: center;
}

.hero-film::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent 62%, rgba(51, 51, 52, 0.58));
}

.film-control {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 3;
	min-width: 76px;
	padding: 9px 11px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 2px;
	background: rgba(51, 51, 52, 0.78);
	color: #fff;
	font-size: 11px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 180ms ease;
}

.film-control:hover {
	background: var(--green-dark);
}

.hero-copy {
	position: absolute;
	left: clamp(42px, 6.5vw, 112px);
	top: 51%;
	z-index: 6;
	width: min(760px, 50vw);
	color: #fff;
	transform: translateY(-30%);
}

.hero-intro {
	max-width: 304px;
	margin: 0 0 28px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--brand-accent);
}

.hero-copy h2 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(50px, 5.25vw, 96px);
	font-weight: 400;
	line-height: 0.88;
	letter-spacing: -0.055em;
	text-shadow: 0 2px 24px rgba(51, 51, 52, 0.22);
}

.hero-action-row {
	display: flex;
	align-items: center;
	gap: 36px;
	margin-top: 42px;
}

.button.z-button,
input[type="button"].z-button,
input[type="submit"].z-button {
	height: auto;
	padding: 15px 22px;
	border: 0;
	border-radius: 2px;
	box-shadow: none;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	transition: background-color 180ms ease, color 180ms ease;
}

.button.z-button::before,
.button.z-button::after {
	display: none;
}

.z-button-light {
	background: var(--brand-accent);
	color: var(--green-dark) !important;
}

.z-button-light:hover {
	background: var(--brand-accent-light);
}

.hero-text-link {
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	transition: color 180ms ease;
}

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

.hero-text-link span,
.manifesto-copy a span {
	display: inline-block;
	margin-left: 6px;
	transition: transform 180ms ease;
}

.hero-text-link:hover span,
.manifesto-copy a:hover span {
	transform: translate(2px, -2px);
}

.hero-index {
	position: absolute;
	left: clamp(42px, 6.5vw, 112px);
	bottom: 26px;
	z-index: 5;
	color: var(--brand-accent);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.manifesto-section {
	position: relative;
	padding: clamp(36px, 4vw, 56px) 0;
	background: var(--green-deep);
	color: var(--chalk);
}

.manifesto-grid {
	display: grid;
	grid-template-columns: 72px minmax(0, 1.35fr) minmax(260px, 0.65fr);
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
}

.manifesto-grid .section-number {
	align-self: center;
	padding-top: 0;
}

.manifesto-grid h2 {
	max-width: 760px;
	font-family: var(--serif);
	font-size: clamp(32px, 3vw, 46px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.04em;
}

.manifesto-copy {
	padding-bottom: 0;
}

.manifesto-copy p {
	max-width: 390px;
	color: rgba(243, 245, 239, 0.72);
	font-size: 15px;
	line-height: 1.4;
}

.manifesto-copy a {
	display: inline-block;
	margin-top: 12px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.identity-section {
	background: linear-gradient(to right, var(--green-soft) 0 calc(50% + 24px), var(--paper) calc(50% + 24px) 100%);
}

.identity-inner {
	display: grid;
	grid-template-columns: 52% 48%;
	width: min(var(--content-max), calc(100% - 96px));
	min-height: 620px;
	margin-inline: auto;
}

.identity-gallery {
	position: relative;
	min-height: 620px;
	background: var(--green-soft);
	overflow: hidden;
}

.identity-main {
	position: absolute;
	inset: 0 16% 0 0;
	margin: 0;
	overflow: hidden;
}

.identity-main img {
	width: 100%;
	height: 110%;
	object-fit: cover;
	object-position: center;
}

.identity-gallery::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 60%, rgba(112, 121, 94, 0.96));
	pointer-events: none;
}

.identity-word {
	position: absolute;
	right: -0.12em;
	bottom: 40px;
	z-index: 2;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	color: rgba(255, 255, 255, 0.56);
	font-family: var(--serif);
	font-size: clamp(44px, 5vw, 78px);
	line-height: 0.8;
	letter-spacing: 0.02em;
}

.identity-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 56px clamp(38px, 4vw, 60px);
}

.identity-copy h2 {
	max-width: 650px;
	margin: 18px 0 16px;
	font-family: var(--serif);
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.identity-copy > p:not(.section-number) {
	max-width: 590px;
	color: var(--muted);
	font-size: 16px;
	line-height: 1.5;
}

.identity-terms {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 36px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}

.identity-terms dt {
	font-family: var(--serif);
	font-size: 20px;
}

.identity-terms dd {
	margin-top: 5px;
	color: var(--muted);
	font-size: 12px;
}

.catalog-section {
	padding: clamp(36px, 4vw, 56px) 0;
	background: var(--chalk);
}

.catalog-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.55fr);
	gap: clamp(24px, 3.5vw, 48px);
	align-items: end;
	margin-bottom: clamp(26px, 3vw, 40px);
}

.catalog-intro h2 {
	max-width: 680px;
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(34px, 3.3vw, 50px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

:is(#catalog-title, #fragrance-title, #technology-title) {
	width: fit-content;
}

:is(#catalog-title, #fragrance-title, #technology-title)::after {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	margin: 14px auto 0;
	background: var(--brand-accent);
	clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
}

.catalog-intro p {
	max-width: 470px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.45;
}

.catalog-group + .catalog-group {
	margin-top: clamp(38px, 4.5vw, 58px);
}

.catalog-divider {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: clamp(30px, 4vw, 50px) 0;
	color: var(--line);
	font-size: 12px;
}

.catalog-divider::before,
.catalog-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: currentColor;
}

.catalog-divider span {
	flex-shrink: 0;
	color: var(--brand-accent);
	font-size: 18px;
	line-height: 1;
}

.catalog-group-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 14px;
}

.catalog-group-heading h3 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(27px, 2.5vw, 36px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.03em;
}

.catalog-group-heading p {
	color: var(--green);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

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

.diffuser-item {
	display: grid;
	grid-template-rows: 190px auto minmax(54px, auto) minmax(64px, auto) auto;
	align-content: start;
	min-width: 0;
	padding: 0;
}

.diffuser-image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: 190px;
	margin: 0;
	padding: 18px;
	border-radius: 20px;
	background: var(--brand-xanadu-25);
	overflow: hidden;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.8),
		0 9px 14px -12px rgba(51, 51, 52, 0.52);
}

.diffuser-image img {
	width: auto;
	max-width: 84%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 7px 5px rgba(51, 51, 52, 0.12));
	transform-origin: center;
	transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
	.diffuser-item:hover .diffuser-image img {
		transform: scale(1.045);
	}
}

.diffuser-model {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	margin-top: 14px;
}

.diffuser-model h4 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(25px, 2.1vw, 31px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.03em;
}

.diffuser-model strong {
	color: var(--green);
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.diffuser-use,
.diffuser-features {
	margin: 0;
	font-size: 13px;
	line-height: 1.42;
}

.diffuser-use {
	padding-top: 10px;
	color: var(--ink);
}

.diffuser-features {
	padding-top: 7px;
	color: var(--muted);
}

.diffuser-price {
	align-self: end;
	margin: 14px 0 0;
	font-family: var(--serif);
	font-size: 20px;
	line-height: 1.2;
}

.diffuser-price small {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
}

.catalog-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: clamp(32px, 4vw, 48px);
	padding: 18px 22px;
	background: var(--green-deep);
	color: #fff;
}

.catalog-footer p {
	max-width: 640px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	line-height: 1.45;
}

.catalog-footer a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	transition: color 180ms ease;
}

.catalog-footer a:hover {
	color: var(--brand-accent-light);
}

.applications-section {
	position: relative;
	margin: 0;
	padding: clamp(48px, 5vw, 80px) 0;
	background: var(--green);
	color: #fff;
	overflow: hidden;
}

.applications-inner {
	width: min(var(--content-max), calc(100% - 96px));
	margin-inline: auto;
}

.applications-copy {
	width: min(730px, 100%);
}

.applications-copy h2 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(58px, 6vw, 102px);
	font-weight: 400;
	line-height: 0.96;
	letter-spacing: -0.04em;
}

.applications-copy > p:last-child {
	max-width: 520px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 15px;
	line-height: 1.5;
}

.applications-track {
	display: flex;
	width: max-content;
	margin-top: clamp(30px, 4vw, 50px);
	animation: industry-drift 28s ease-in-out infinite alternate;
}

.applications-track span {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: rgba(255, 255, 255, 0.91);
	font-family: var(--serif);
	font-size: clamp(32px, 3.7vw, 56px);
	line-height: 1;
	white-space: nowrap;
}

.applications-track span::after {
	content: "✦";
	display: inline-block;
	margin: 0 0.48em;
	color: rgba(219, 222, 215, 0.58);
	font-family: Georgia, serif;
	font-size: 0.28em;
}

@keyframes industry-drift {
	from { transform: translateX(4vw); }
	to { transform: translateX(-38%); }
}

.events-section {
	margin: 0;
	padding: clamp(28px, 3vw, 40px) 0 clamp(44px, 5vw, 68px);
	background: var(--chalk);
	color: var(--ink);
}

.events-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(48px, 7vw, 96px);
	align-items: start;
}

.events-intro {
	position: sticky;
	top: 132px;
	max-width: 430px;
}

.events-intro h2 {
	max-width: 420px;
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.events-intro p {
	max-width: 390px;
	margin-top: 18px;
	color: var(--muted);
	font-size: 15px;
	line-height: 1.5;
}

.events-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 24px;
	color: var(--green);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	transition: color 180ms ease;
}

.events-link:hover,
.events-link:focus-visible {
	color: var(--green-deep);
}

.events-link span {
	transition: transform 180ms ease;
}

.events-link:hover span,
.events-link:focus-visible span {
	transform: translate(2px, -2px);
}

.events-list {
	display: grid;
	gap: clamp(28px, 3vw, 42px);
	min-width: 0;
}

.event-entry {
	display: grid;
	grid-template-columns: clamp(112px, 11vw, 150px) minmax(0, 1fr);
	gap: clamp(22px, 3vw, 38px);
	align-items: center;
	min-width: 0;
	margin: 0;
}

.event-image {
	width: 100%;
	aspect-ratio: 0.82;
	margin: 0;
	background: var(--brand-xanadu-25);
	overflow: hidden;
}

.event-entry-social .event-image {
	border-radius: 52% 48% 46% 54% / 38% 42% 58% 62%;
}

.event-entry-corporate .event-image {
	border-radius: 46% 54% 52% 48% / 44% 38% 62% 56%;
}

.event-entry-cultural .event-image {
	border-radius: 54% 46% 48% 52% / 40% 46% 54% 60%;
}

.event-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.event-entry-social .event-image img {
	object-position: center 48%;
}

.event-entry-corporate .event-image img {
	object-position: center;
}

.event-entry-cultural .event-image img {
	object-position: center;
}

@media (hover: hover) and (pointer: fine) {
	.event-entry:hover .event-image img {
		transform: scale(1.045);
	}
}

.event-copy {
	min-width: 0;
}

.event-copy h3 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(26px, 2.4vw, 36px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.03em;
}

.event-copy p {
	max-width: 640px;
	margin-top: 10px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.5;
}

.fragrance-section {
	padding: clamp(48px, 5vw, 80px) 0;
	background: var(--brand-xanadu-25);
}

.fragrance-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
	align-items: end;
	margin-bottom: clamp(28px, 3vw, 42px);
}

.fragrance-intro h2 {
	max-width: 800px;
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(58px, 6vw, 102px);
	font-weight: 400;
	line-height: 0.96;
	letter-spacing: -0.045em;
}

.fragrance-intro > p {
	color: var(--muted);
	font-size: 15px;
	line-height: 1.5;
}

.fragrance-composer {
	display: grid;
	grid-template-columns: 44% 56%;
	min-width: 0;
	min-height: 380px;
	background: var(--green-deep);
	color: #fff;
	clip-path: polygon(0 0, calc(100% - 46px) 0, 100% 46px, 100% 100%, 0 100%);
}

.fragrance-list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 34px clamp(28px, 4vw, 56px);
	border-right: 1px solid rgba(255, 255, 255, 0.14);
	min-width: 0;
}

.fragrance-list button {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: none;
	padding: 7px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.42);
	font-family: var(--serif);
	font-size: clamp(26px, 2.8vw, 42px);
	font-weight: 400;
	height: auto;
	line-height: 1.05;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	margin: 0;
	cursor: pointer;
	transition: color 200ms ease, font-style 200ms ease;
}

.fragrance-list button:hover,
.fragrance-list button[aria-selected="true"] {
	color: var(--brand-accent-light);
}

.fragrance-list button[aria-selected="true"] {
	font-style: italic;
}

.fragrance-detail {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(34px, 4.5vw, 62px);
	background:
		linear-gradient(130deg, rgba(255, 255, 255, 0.04), transparent 46%),
		var(--fragrance-tone, var(--green));
	transition: background-color 340ms ease;
	min-width: 0;
}

.fragrance-name {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.62;
}

.fragrance-notes {
	max-width: 630px;
	margin-top: 14px;
	font-family: var(--serif);
	font-size: clamp(28px, 3vw, 48px);
	line-height: 1.02;
	letter-spacing: -0.025em;
}

.fragrance-mood {
	max-width: 450px;
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 15px;
	line-height: 1.45;
}

.technology-section {
	background: linear-gradient(to right, var(--chalk) 0 55%, var(--green-deep) 55% 100%);
}

.technology-inner {
	display: grid;
	grid-template-columns: minmax(0, 55%) minmax(0, 45%);
	min-height: 640px;
	margin-inline: auto;
}

.technology-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 60px clamp(64px, 5vw, 88px) 60px clamp(38px, 4vw, 60px);
}

.technology-copy h2 {
	max-width: 720px;
	margin: 18px 0 16px;
	font-family: var(--serif);
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.technology-copy > p:not(.section-number):not(.technology-note) {
	max-width: 650px;
	color: var(--muted);
	font-size: 15px;
	line-height: 1.5;
}

.technology-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 36px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}

.technology-facts > div {
	min-width: 0;
}

.technology-facts strong {
	display: block;
	font-family: var(--serif);
	font-size: clamp(26px, 2.5vw, 36px);
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

.technology-facts span {
	display: block;
	margin-top: 7px;
	color: var(--muted);
	font-size: 11px;
	line-height: 1.35;
}

.technology-note {
	max-width: 600px;
	margin-top: 24px;
	color: var(--muted);
	font-size: 12px;
}

.technology-art {
	position: relative;
	min-height: 640px;
	background: var(--green-deep);
	overflow: hidden;
}

.technology-art::before {
	content: "";
	position: absolute;
	left: 9%;
	top: 8%;
	width: 82%;
	height: 84%;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 48% 50% 10% 12% / 45% 42% 12% 10%;
	transform: rotate(-5deg);
}

.technology-art figure {
	position: absolute;
	margin: 0;
	overflow: hidden;
}

.technology-art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pro-device {
	left: 9%;
	top: 9%;
	width: 62%;
	height: 64%;
	z-index: 1;
}

.pro-device img {
	object-position: center;
}

.portable-device {
	right: 5%;
	bottom: 5%;
	width: 38%;
	height: 51%;
	z-index: 2;
	border: 12px solid var(--chalk);
}

.portable-device img {
	object-position: center;
}

.about-section {
	background: var(--green-dark);
	color: #fff;
}

.about-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
	width: min(var(--content-max), calc(100% - 96px));
	min-height: 600px;
	margin-inline: auto;
}

.about-portrait {
	min-width: 0;
	height: 600px;
	margin: 0;
	overflow: hidden;
}

.about-portrait img,
.about-equipment img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-portrait img {
	object-position: center 40%;
}

.about-story {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: clamp(40px, 4.5vw, 64px) clamp(40px, 4.5vw, 64px) 0;
}

.about-story .section-number {
	margin-bottom: 12px;
}

.about-story h2 {
	max-width: 500px;
	font-family: var(--serif);
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.about-story > p:not(.section-number) {
	max-width: 470px;
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	line-height: 1.5;
}

.about-equipment {
	width: min(190px, 100%);
	aspect-ratio: 1;
	margin: clamp(12px, 1.5vw, 18px) 0 0;
	overflow: hidden;
}

.about-equipment img {
	object-position: center;
}

.applications-copy h2,
.fragrance-intro h2,
.about-story h2 {
	margin: 0;
	font-size: clamp(32px, 3vw, 48px);
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.contact-section {
	position: relative;
	margin: 0;
	padding: clamp(56px, 5vw, 72px) 0;
	background: var(--green-deep);
	color: #fff;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(520px, 1.28fr);
	gap: clamp(48px, 6vw, 88px);
	align-items: start;
}

.contact-intro h2 {
	max-width: 540px;
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(32px, 3vw, 46px);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.contact-intro > p {
	max-width: 500px;
	margin-top: 22px;
	color: rgba(255, 255, 255, 0.68);
	font-size: 15px;
	line-height: 1.55;
}

.contact-direct {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
	margin-top: clamp(36px, 5vw, 68px);
}

.contact-direct span {
	margin-bottom: 4px;
	color: rgba(255, 255, 255, 0.46);
	font-size: 12px;
}

.contact-direct a {
	color: #fff;
	font-size: 15px;
	line-height: 1.35;
	transition: color 180ms ease;
}

.contact-direct a:hover {
	color: var(--sage-light);
}

.contact-form-zone {
	min-width: 0;
	padding: clamp(32px, 3.5vw, 44px);
	background: var(--sage-light);
	color: var(--ink);
}

.contact-form-heading {
	display: grid;
	grid-template-columns: minmax(220px, 0.85fr) minmax(250px, 1.15fr);
	gap: 32px;
	align-items: end;
	margin-bottom: 36px;
}

.contact-form-heading h3 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(26px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.035em;
}

.contact-form-heading p {
	max-width: 420px;
	color: rgba(51, 51, 52, 0.66);
	font-size: 13px;
	line-height: 1.5;
}

.contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(24px, 4vw, 52px);
	row-gap: 26px;
}

.form-field {
	min-width: 0;
}

.form-field-wide {
	grid-column: 1 / -1;
}

.form-field label {
	display: block;
	margin-bottom: 7px;
	color: rgba(51, 51, 52, 0.76);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

.consultation-form input,
	.consultation-form input[type="text"],
	.consultation-form input[type="email"],
	.consultation-form input[type="tel"],
.consultation-form select,
.consultation-form textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 2px;
	border: 0;
	border-bottom: 1px solid rgba(51, 51, 52, 0.38);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ink);
	font-size: 15px;
	transition: border-color 160ms ease;
}

.consultation-form input,
.consultation-form select {
	height: 42px;
}

.consultation-form select {
	padding-right: 28px;
}

.consultation-form textarea {
	min-height: 76px;
	padding-top: 7px;
	line-height: 1.5;
	resize: vertical;
}

.consultation-form textarea::placeholder {
	color: rgba(51, 51, 52, 0.44);
}

.consultation-form input:focus,
	.consultation-form input[type="text"]:focus,
	.consultation-form input[type="email"]:focus,
	.consultation-form input[type="tel"]:focus,
.consultation-form select:focus,
.consultation-form textarea:focus {
	background: transparent;
	outline: none;
}

.consultation-form input:focus-visible,
	.consultation-form input[type="text"]:focus-visible,
	.consultation-form input[type="email"]:focus-visible,
	.consultation-form input[type="tel"]:focus-visible,
.consultation-form select:focus-visible,
.consultation-form textarea:focus-visible {
	outline: 2px solid var(--green-deep);
	outline-offset: 4px;
}

.contact-form-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 32px;
}

.information-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--green-deep);
	border-radius: 0;
	background: var(--green-deep);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease;
}

.information-submit .icon {
	font-size: 16px;
}

.information-submit:hover,
.information-submit:focus-visible {
	border-color: var(--brand-accent);
	background: var(--brand-accent);
	color: var(--green-deep);
}

.information-submit:focus-visible {
	outline: 2px solid var(--green-dark);
	outline-offset: 3px;
}

.information-status {
	min-height: 18px;
	margin: 0;
	color: rgba(51, 51, 52, 0.62);
	font-size: 12px;
	line-height: 1.4;
}

#footer {
	position: relative;
	margin: 0;
	padding: 44px 0 24px;
	background: var(--green);
	color: rgba(255, 255, 255, 0.76);
}

#footer::before,
#footer::after {
	display: none;
}

.footer-inner {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr 1fr;
	gap: 48px;
	align-items: start;
}

.footer-brand p {
	margin-top: 0;
	color: rgba(255, 255, 255, 0.56);
	font-family: var(--serif);
	font-size: 18px;
}

.footer-contact p + p,
.footer-meta p + p {
	margin-top: 10px;
}

.footer-contact a {
	color: #fff;
	font-size: 14px;
	transition: color 180ms ease;
}

.footer-contact a:hover {
	color: var(--sage-light);
}

.footer-meta {
	color: rgba(255, 255, 255, 0.5);
	font-size: 12px;
	line-height: 1.55;
}

.footer-signature {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: center;
	padding-top: clamp(12px, 2vw, 24px);
}

.footer-signature img {
	width: clamp(88px, 8.5vw, 124px);
	height: auto;
}

.whatsapp-rail {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 50;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 15px;
	background: var(--green-dark);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	box-shadow: 0 4px 8px rgba(15, 20, 16, 0.16);
	transition: background-color 180ms ease;
}

.whatsapp-rail:hover {
	background: var(--green);
}

.whatsapp-rail .icon::before {
	font-size: 18px;
	line-height: 1;
}

@media screen and (min-width: 1700px) and (min-aspect-ratio: 2/1) {
	.hero-stage {
		grid-template-columns: minmax(0, 1fr) 620px 500px;
	}

	.hero-field {
		right: 1120px;
	}

	.hero-film video {
		object-position: center center;
	}
}

@media screen and (max-width: 1200px) {
	.technology-section {
		background: linear-gradient(to right, var(--chalk) 0 55%, var(--green-deep) 55% 100%);
	}

	.identity-section {
		background: linear-gradient(to right, var(--green-soft) 0 50%, var(--paper) 50% 100%);
	}

	.container-wide,
	.about-inner,
	.applications-inner,
	.identity-inner {
		width: calc(100% - 64px);
	}

	.hero-nav-inner {
		grid-template-columns: 230px minmax(0, 1fr) 230px;
	}

	#nav {
		padding-inline: 16px;
	}

	#nav > ul {
		gap: 20px;
	}

	.nav-social {
		padding-right: 32px;
	}

	.hero-copy {
		left: 46px;
		width: 57vw;
	}

	.manifesto-grid {
		grid-template-columns: 56px minmax(0, 1fr) minmax(240px, 0.65fr);
		gap: 32px;
	}

	.manifesto-copy {
		grid-column: auto;
		max-width: 390px;
	}

	.identity-inner,
	.technology-inner {
		grid-template-columns: 55% 45%;
	}

	.identity-copy,
	.technology-copy {
		padding-inline: 48px;
	}

	.technology-copy {
		padding-right: 64px;
	}

	.fragrance-intro {
		grid-template-columns: 1fr 300px;
		gap: 50px;
	}

	.footer-inner {
		gap: 45px;
	}
}

@media screen and (max-width: 980px) {
	.hero-nav-inner {
		grid-template-columns: 210px minmax(0, 1fr) 210px;
	}

	.brand-lockup img {
		width: 180px;
	}

	#nav > ul {
		gap: 16px;
	}

	#nav > ul > li > a {
		font-size: 11px;
	}

	.hero-stage {
		grid-template-columns: 38% 40% 22%;
	}

	.hero-copy {
		top: 55%;
		width: 66vw;
	}

	.hero-copy h2 {
		font-size: clamp(45px, 6.6vw, 67px);
	}

	.identity-inner,
	.technology-inner {
		grid-template-columns: 1fr;
	}

	.technology-section {
		background: var(--chalk);
	}

	.identity-section {
		background: var(--paper);
	}

	.identity-gallery,
	.identity-inner {
		min-height: 520px;
	}

	.identity-copy,
	.technology-copy {
		padding: 56px 48px;
	}

	.fragrance-intro {
		grid-template-columns: 1fr;
	}

	.fragrance-intro {
		gap: 30px;
	}

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

	.catalog-grid {
		gap: 24px;
	}

	.diffuser-item {
		grid-template-rows: 170px auto minmax(58px, auto) minmax(70px, auto) auto;
	}

	.diffuser-image {
		height: 170px;
	}

	.fragrance-composer {
		grid-template-columns: 40% 60%;
	}

	.technology-art {
		min-height: 600px;
	}

	.about-inner {
		grid-template-columns: 55% 45%;
		min-height: 520px;
	}

	.about-portrait {
		height: 520px;
	}

	.about-story {
		padding: 40px 40px 0;
	}

	.about-equipment {
		width: min(170px, 100%);
	}

	.contact-layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.contact-intro {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
	}

	.contact-intro h2 {
		grid-row: 1 / 3;
	}

	.contact-intro > p {
		margin-top: 0;
	}

	.contact-direct {
		margin-top: 24px;
	}

	.footer-inner {
		grid-template-columns: 1.2fr 1fr;
	}

	.footer-meta {
		grid-column: 1 / -1;
	}
}

@media screen and (min-width: 737px) and (max-width: 980px) {
	body {
		padding-top: 0;
	}

	#titleBar {
		height: 60px;
		background: var(--green-deep);
		box-shadow: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	#titleBar .title {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		left: 50%;
		top: 0;
		width: 160px;
		height: 60px;
		line-height: normal;
		transform: translateX(-50%);
	}

	#titleBar .title a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 160px;
		height: 60px;
		overflow: hidden;
		background: url("../../images/zensorial-logo-header.webp") center / 144px auto no-repeat;
		color: transparent;
		font-size: 0;
		white-space: nowrap;
	}

	#titleBar .toggle {
		width: 60px;
		height: 60px;
	}

	#titleBar .toggle::before {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		color: #fff;
		opacity: 1;
	}

	#navPanel {
		background: var(--green-deep);
		box-shadow: none;
	}

	#navPanel .link {
		border-top: 0;
		padding-top: 14px;
		padding-bottom: 14px;
		color: rgba(255, 255, 255, 0.82);
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0;
		text-transform: none;
	}

	.hero-nav-wrap {
		display: none;
	}

	.hero-stage {
		display: block;
		min-height: 100svh;
		padding-top: 60px;
		background: var(--green);
	}

	.hero-field,
	.hero-film {
		display: none;
	}

	.hero-photo {
		position: absolute;
		inset: 60px 0 0;
		height: auto;
	}

	.hero-photo::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, rgba(29, 38, 30, 0.02) 22%, rgba(29, 38, 30, 0.78) 84%, rgba(29, 38, 30, 0.94));
	}

	.hero-photo img {
		height: 100%;
		object-position: center 46%;
	}

	.hero-copy {
		left: 48px;
		right: 48px;
		top: auto;
		bottom: 88px;
		width: auto;
		transform: none;
	}

	.hero-copy br {
		display: block;
	}

	.hero-copy h2 {
		font-size: clamp(45px, 6.6vw, 57px);
		line-height: 0.9;
	}

	.hero-index {
		display: none;
	}
}

@media screen and (max-width: 736px) {
	body {
		padding-top: 0;
		font-size: 15px;
	}

	.container-wide,
	.applications-inner,
	.identity-inner {
		width: calc(100% - 40px);
	}

	#titleBar {
		height: 60px;
		background: var(--green-deep);
		box-shadow: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	#titleBar .title {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		left: 50%;
		top: 0;
		width: 152px;
		height: 60px;
		line-height: normal;
		transform: translateX(-50%);
	}

	#titleBar .title a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 152px;
		height: 60px;
		overflow: hidden;
		background: url("../../images/zensorial-logo-header.webp") center / 136px auto no-repeat;
		color: transparent;
		font-size: 0;
		white-space: nowrap;
	}

	#titleBar .toggle {
		width: 60px;
		height: 60px;
	}

	#titleBar .toggle::before {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		color: #fff;
		opacity: 1;
	}

	#navPanel {
		background: var(--green-deep);
		box-shadow: none;
	}

	#navPanel .link {
		border-top: 0;
		padding-top: 14px;
		padding-bottom: 14px;
		color: rgba(255, 255, 255, 0.82);
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 0;
		text-transform: none;
	}

	.hero-shell {
		min-height: 100svh;
	}

	.hero-nav-wrap {
		display: none;
	}

	.hero-stage {
		display: block;
		min-height: 100svh;
		padding-top: 60px;
		background: var(--green);
	}

	.hero-field,
	.hero-film {
		display: none;
	}

	.hero-photo {
		position: absolute;
		inset: 60px 0 0;
		height: auto;
	}

	.hero-photo::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, rgba(29, 38, 30, 0.04) 24%, rgba(29, 38, 30, 0.83) 82%, rgba(29, 38, 30, 0.94));
	}

	.hero-photo img {
		height: 100%;
		object-position: 48% center;
	}

	.hero-copy {
		left: 20px;
		right: 20px;
		top: auto;
		bottom: 72px;
		width: auto;
		transform: none;
	}

	.hero-intro {
		margin-bottom: 18px;
		font-size: 12px;
	}

	.hero-copy h2 {
		font-size: clamp(34px, 9vw, 41px);
		line-height: 0.92;
	}

	.hero-copy br {
		display: block;
	}

	.hero-action-row {
		align-items: flex-start;
		gap: 18px;
		margin-top: 28px;
	}

	.hero-action-row .button.z-button {
		width: auto;
		max-width: none;
		margin: 0;
		padding: 13px 16px;
		font-size: 12px;
	}

	.hero-text-link {
		padding-top: 13px;
		font-size: 12px;
		white-space: nowrap;
	}

	.hero-index {
		display: none;
	}

	.manifesto-section,
	.catalog-section,
	.applications-section,
	.fragrance-section {
		padding: 44px 0;
	}

	.manifesto-section {
		padding: 36px 0;
	}

	.manifesto-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.manifesto-grid .section-number {
		display: none;
	}

	.manifesto-grid h2 {
		font-size: clamp(30px, 8vw, 38px);
	}

	.manifesto-copy {
		grid-column: auto;
		margin-top: 0;
	}

	.manifesto-copy p {
		font-size: 14px;
		line-height: 1.4;
	}

	.identity-inner {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.identity-gallery {
		min-height: 52svh;
	}

	.identity-main {
		right: 0;
	}

	.identity-gallery::after {
		background: linear-gradient(to top, rgba(112, 121, 94, 0.58), transparent 42%);
	}

	.identity-word {
		right: -0.08em;
		bottom: 18px;
		font-size: 44px;
	}

	.identity-copy,
	.technology-copy {
		padding: 48px 20px;
	}

	.identity-copy h2,
	.technology-copy h2 {
		margin: 16px 0 14px;
		font-size: clamp(30px, 8.5vw, 40px);
	}

	.identity-copy > p:not(.section-number),
	.technology-copy > p:not(.section-number):not(.technology-note) {
		font-size: 14px;
		line-height: 1.45;
	}

	.identity-terms,
	.technology-facts {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 28px;
	}

	.identity-terms div,
	.technology-facts div {
		padding: 12px 0;
		border-bottom: 1px solid var(--line);
	}

	.fragrance-intro {
		margin-bottom: 26px;
	}

	.applications-copy h2,
	.fragrance-intro h2,
	.about-story h2 {
		margin: 0;
		font-size: clamp(30px, 8vw, 38px);
		line-height: 0.98;
	}

	.fragrance-intro > p {
		font-size: 14px;
		line-height: 1.45;
	}

	.catalog-intro {
		gap: 10px;
		margin-bottom: 24px;
	}

	.catalog-section {
		padding: 32px 0;
	}

	.catalog-intro h2 {
		font-size: clamp(32px, 9vw, 40px);
	}

	:is(#catalog-title, #fragrance-title, #technology-title)::after {
		width: 13px;
		height: 13px;
		margin-top: 10px;
	}

	.catalog-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.catalog-group + .catalog-group {
		margin-top: 44px;
	}

		.catalog-divider {
			margin: 32px 0;
			font-size: 10px;
		}

		.catalog-divider span {
			font-size: 16px;
		}

	.catalog-group-heading {
		margin-bottom: 10px;
	}

	.diffuser-item {
		grid-template-rows: 165px auto auto auto auto;
	}

	.diffuser-image {
		height: 165px;
		padding: 14px;
		border-radius: 16px;
	}

	.diffuser-image img {
		max-width: 78%;
	}

	.diffuser-model {
		margin-top: 12px;
	}

	.catalog-footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		padding: 16px;
	}

	.applications-copy {
		width: 100%;
	}

	.applications-copy h2 {
		font-size: clamp(34px, 9vw, 42px);
	}

	.applications-track {
		margin-top: 34px;
		animation-duration: 22s;
	}

	.applications-track span {
		font-size: 34px;
	}

	.events-section {
		padding: 26px 0 40px;
	}

	.events-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.events-intro {
		position: static;
		max-width: none;
	}

	.events-intro h2 {
		font-size: clamp(30px, 8vw, 38px);
	}

	.events-intro p {
		margin-top: 14px;
		font-size: 14px;
		line-height: 1.45;
	}

	.events-link {
		margin-top: 18px;
	}

	.events-list {
		gap: 28px;
	}

	.event-entry {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 18px;
	}

	.event-copy h3 {
		font-size: 24px;
	}

	.event-copy p {
		margin-top: 7px;
		font-size: 13px;
		line-height: 1.45;
	}

	.fragrance-composer {
		grid-template-columns: 1fr;
		width: calc(100% - 40px) !important;
		max-width: calc(100% - 40px);
		min-width: 0;
		min-height: 0;
		clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
	}

	.fragrance-list {
		width: 100%;
		min-width: 0;
		padding: 28px 20px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	}

	.fragrance-list button {
		font-size: 30px;
	}

	.fragrance-detail {
		width: 100%;
		min-width: 0;
		min-height: 280px;
		padding: 30px 20px;
	}

	.fragrance-notes {
		font-size: 32px;
		overflow-wrap: anywhere;
	}

	.technology-art {
		min-height: 500px;
	}

	.pro-device {
		left: 4%;
		top: 6%;
		width: 74%;
		height: 61%;
	}

	.portable-device {
		right: 2%;
		bottom: 3%;
		width: 48%;
		height: 49%;
		border-width: 8px;
	}

	.about-inner {
		grid-template-columns: 1fr;
		width: calc(100% - 40px);
		min-height: 0;
	}

	.about-portrait {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	.about-story {
		padding: 40px 20px 0;
	}

	.about-story .section-number {
		display: none;
	}

	.about-story > p:not(.section-number) {
		margin-top: 10px;
		font-size: 14px;
		line-height: 1.45;
	}

	.about-equipment {
		width: min(220px, 100%);
		margin-top: 14px;
	}

	.contact-section {
		padding: 48px 0;
	}

	.contact-layout,
	.contact-intro {
		display: block;
	}

	.contact-intro h2 {
		font-size: clamp(32px, 9vw, 42px);
	}

	.contact-intro > p {
		margin-top: 18px;
		font-size: 14px;
		line-height: 1.5;
	}

	.contact-direct {
		margin-top: 28px;
	}

	.contact-form-zone {
		margin-top: 36px;
		padding: 30px 20px;
	}

	.contact-form-heading {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 30px;
	}

	.contact-form-heading h3 {
		font-size: 28px;
	}

	.contact-form-grid {
		grid-template-columns: 1fr;
		row-gap: 22px;
	}

	.form-field-wide {
		grid-column: auto;
	}

	.contact-form-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
		margin-top: 28px;
	}

	.information-submit {
		width: 100%;
	}

	#footer {
		padding: 40px 0 52px;
	}

	.footer-inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.footer-meta {
		grid-column: auto;
	}

	.whatsapp-rail {
		right: 12px;
		bottom: 12px;
	}
}

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

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

	.media-parallax {
		transform: none !important;
	}

	.diffuser-item:hover .diffuser-image img {
		transform: none;
	}
}
