/* ==========================================================================
   Kavan — main styles
   Shapes: rounded rectangles for every box and picture, circles for brand logos,
   capsules for buttons and chips. The logo's arch remains only in the footer arcade.
   Mobile-first. Logical properties only, so the same rules serve RTL and LTR.
   No shadows at rest, no hairlines, no gradients: surfaces are told apart by flat tone.
   Contents: 1 Base · 2 Layout · 3 Type · 4 Controls · 5 Header · 6 Pictures
             7 Home · 8 Catalog · 9 Product · 10 Forms · 11 Pages · 12 Footer
             13 Motion · 14 Utilities
   ========================================================================== */

/* 1. Base ------------------------------------------------------------------ */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-block-start: calc(var(--header-h) + 1rem);
}
html.is-smooth { scroll-behavior: auto; }

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
body.nav-open { overflow: hidden; }

[hidden] { display: none !important; }

img, svg, video { display: block; max-inline-size: 100%; block-size: auto; }

a {
	color: var(--color-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	transition: color var(--t-hover) ease;
}
a:hover { color: var(--color-primary-hover); }

:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; border-radius: 6px; }
.on-dark :focus-visible { outline-color: var(--color-focus-on-dark); }

::selection { background: var(--color-accent); color: var(--color-on-accent); }

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

.screen-reader-text {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	inset-inline-start: var(--space-4);
	inset-block-start: -100px;
	z-index: 1000;
	padding: var(--space-3) var(--space-5);
	background: var(--color-secondary);
	color: var(--color-on-dark);
	border-radius: var(--radius-pill);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}
.skip-link:focus { inset-block-start: var(--space-4); color: var(--color-on-dark); }

/* 2. Layout ---------------------------------------------------------------- */
.container {
	inline-size: 100%;
	max-inline-size: calc(var(--container) + var(--gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.container--narrow { max-inline-size: calc(var(--container-narrow) + var(--gutter) * 2); }

.grid-12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(0.75rem, 1.6vw, 1.5rem); }

.section { padding-block: var(--space-section); position: relative; }
.section--tight { padding-block: calc(var(--space-section) * 0.55); }
.section--alt { background: var(--color-bg-alt); }
.section--dark { background: var(--color-secondary); color: var(--color-on-dark); }
.section--green { background: var(--color-primary); color: var(--color-on-dark); }

.site-main { display: block; min-block-size: 50vh; }

/* 3. Type ------------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: var(--fw-bold);
	line-height: var(--lh-heading);
	color: var(--color-secondary);
	margin-block: 0 var(--space-4);
	text-wrap: balance;
}
h1 { font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: var(--tracking-display); font-weight: var(--fw-display); }
h2 { font-size: var(--fs-heading); }
h3 { font-size: var(--fs-statement); }
h4, h5, h6 { font-size: var(--fs-body); }
p { margin-block: 0 var(--space-4); }
p:last-child { margin-block-end: 0; }

:root:not(:lang(fa)):not(:lang(ar)) h2 { letter-spacing: -0.02em; }

.on-dark h1, .on-dark h2, .on-dark h3, .on-dark h4,
.section--dark h2, .section--dark h3,
.section--green h2, .section--green h3 { color: var(--color-on-dark); }

.section-title { font-size: var(--fs-heading); margin-block-end: var(--space-5); }
.section-lead { font-size: var(--fs-body); max-inline-size: 34rem; color: var(--color-text); }
.on-dark .section-lead { color: var(--blue-100); }

.link-more {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}
.link-more .icon { transition: transform var(--t-ui) var(--ease-out); }
.link-more:hover .icon { transform: translateX(4px); }
[dir="rtl"] .link-more:hover .icon { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .icon--dir { transform: scaleX(-1); }

.placeholder-text {
	color: var(--color-text-muted);
	background: var(--color-gold-tint);
	border-radius: 6px;
	padding-inline: 0.35em;
}

/* 4. Controls -------------------------------------------------------------- */
.btn {
	--btn-bg: var(--color-primary);
	--btn-fg: var(--color-on-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-block-size: 3rem;
	padding: 0.7rem 1.6rem;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--btn-bg);
	color: var(--btn-fg);
	font-weight: var(--fw-bold);
	font-size: var(--fs-body);
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);
	-webkit-tap-highlight-color: transparent;
}
.btn:hover { color: var(--btn-fg); }
.btn:active { transform: scale(0.97); }
.btn[disabled] { opacity: 0.6; cursor: progress; }
.btn .icon { flex-shrink: 0; transition: transform var(--t-ui) var(--ease-out); }
.btn:hover .icon--dir { transform: translateX(3px); }
[dir="rtl"] .btn:hover .icon--dir { transform: scaleX(-1) translateX(3px); }
.btn--accent { --btn-bg: var(--color-accent); --btn-fg: var(--color-on-accent); }
.btn--accent:hover { --btn-bg: var(--color-accent-hover); }
.btn--primary:hover { --btn-bg: var(--color-primary-hover); }
.btn--navy { --btn-bg: var(--color-secondary); --btn-fg: var(--color-on-dark); }
.btn--navy:hover { --btn-bg: var(--color-navy-600); }
.btn--outline { --btn-bg: var(--color-primary-tint); --btn-fg: var(--color-primary-deep); }
.btn--outline:hover { --btn-bg: var(--color-primary); --btn-fg: var(--color-on-dark); }
.btn--light { --btn-bg: rgba(255, 255, 255, 0.12); --btn-fg: var(--color-on-dark); }
.btn--light:hover { --btn-bg: var(--color-on-dark); --btn-fg: var(--color-secondary); }
.btn--sm { min-block-size: 2.5rem; padding: 0.4rem 1.1rem; font-size: var(--fs-small); }
.btn--block { inline-size: 100%; }

.badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0.15rem 0.75rem;
	border-radius: var(--radius-pill);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	line-height: 1.7;
	white-space: nowrap;
}
.badge--own { background: var(--color-primary); color: var(--color-on-dark); }
.badge--represented { background: var(--color-blue-tint); color: var(--color-secondary); }
.badge--planned { background: rgba(255, 255, 255, 0.16); color: var(--color-on-dark); }
.badge--neutral { background: var(--color-primary-tint); color: var(--color-primary-deep); }
.badge--muted { background: var(--color-bg-alt); color: var(--color-text-muted); }
.product-card__body > .badge { justify-self: start; margin-block-end: var(--space-2); }

/* The motif at text size: a small capsule used as the list bullet. */
.capsule-dot { display: inline-block; inline-size: 0.5em; block-size: 0.85em; border-radius: var(--radius-pill); background: currentColor; vertical-align: -0.05em; }

/* 5. Header ---------------------------------------------------------------- */
.site-header {
	position: sticky;
	inset-block-start: 0;
	z-index: 100;
	background: var(--color-bg);
	transition: transform var(--t-ui) var(--ease-out);
}
/* Frosted glass where the browser can blur what scrolls beneath; solid otherwise. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.site-header {
		background: color-mix(in srgb, var(--color-bg) 74%, transparent);
		-webkit-backdrop-filter: blur(18px) saturate(1.5);
		backdrop-filter: blur(18px) saturate(1.5);
	}
}
@media (prefers-reduced-transparency: reduce) {
	.site-header { background: var(--color-bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
.admin-bar .site-header { inset-block-start: var(--wp-admin--admin-bar--height, 0px); }
.site-header.is-hidden { transform: translateY(-100%); }

.header__inner { display: flex; align-items: center; gap: var(--space-5); block-size: var(--header-h); }
.header__brand { display: flex; align-items: center; margin-inline-end: auto; text-decoration: none; color: inherit; min-inline-size: 0; }
.logo { display: inline-flex; align-items: center; gap: var(--space-3); }
.logo__mark { inline-size: auto; block-size: 2.9rem; }
.logo__text { display: flex; flex-direction: column; line-height: 1.25; min-inline-size: 0; }
.logo__name { font-weight: var(--fw-bold); color: var(--color-secondary); font-size: var(--fs-body); white-space: nowrap; }
.logo__tag { font-size: var(--fs-small); color: var(--color-text-muted); white-space: nowrap; }
.logo--light .logo__name { color: var(--color-on-dark); }
.logo--light .logo__tag { color: var(--blue-200); }
@media (max-width: 420px) { .header__brand .logo__tag { display: none; } }
@media (min-width: 1024px) { .logo__mark { block-size: 3.25rem; } }

.nav--desktop { display: none; }
.nav__list { list-style: none; margin: 0; padding: 0; }

@media (min-width: 1180px) {
	.nav--desktop { display: block; }
	.nav--desktop .nav__list { display: flex; align-items: center; gap: 0.25rem; }
	.nav--desktop .nav__item { position: relative; display: flex; align-items: center; }
	.nav--desktop .nav__link {
		display: block;
		padding: 0.45rem 0.8rem;
		border-radius: var(--radius-pill);
		color: var(--color-secondary);
		font-weight: var(--fw-semibold);
		font-size: var(--fs-small);
		text-decoration: none;
		white-space: nowrap;
		transition: background-color var(--t-hover) ease, color var(--t-hover) ease;
	}
	.nav--desktop .nav__item.has-sub > .nav__link { padding-inline-end: 0.3rem; }
	.nav--desktop .nav__link:hover { background: var(--color-bg-alt); }
	.nav--desktop .nav__item:not(.nav__item--sub).is-current > .nav__link { background: var(--color-primary-tint); color: var(--color-primary-deep); }
	.nav--desktop .nav__toggle {
		display: inline-grid;
		place-items: center;
		inline-size: 1.75rem;
		block-size: 1.75rem;
		padding: 0;
		border: 0;
		border-radius: var(--radius-pill);
		background: none;
		color: var(--color-text-muted);
		cursor: pointer;
	}
	.nav--desktop .nav__toggle .icon { transition: transform var(--t-ui) var(--ease-out); }
	.nav--desktop .nav__toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
	.nav--desktop .nav__sub {
		position: absolute;
		inset-block-start: calc(100% + 0.6rem);
		inset-inline-start: -0.5rem;
		min-inline-size: 16rem;
		margin: 0;
		padding: var(--space-2);
		list-style: none;
		background: var(--color-bg);
		border-radius: var(--radius-panel);
		box-shadow: var(--shadow-float); /* taste-skill-ignore: the dropdown floats over the page */
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px);
		transition: opacity var(--t-ui) var(--ease-out), transform var(--t-ui) var(--ease-out), visibility 0s linear var(--t-ui);
	}
	.nav--desktop .nav__sub::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: -0.7rem; block-size: 0.7rem; }
	.nav--desktop .nav__item:hover > .nav__sub,
	.nav--desktop .nav__item:focus-within > .nav__sub,
	.nav--desktop .nav__item.is-open > .nav__sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.nav--desktop .nav__sub .nav__link { padding: 0.55rem 1rem; white-space: normal; font-weight: var(--fw-medium); font-size: var(--fs-body); }
	.nav--desktop .nav__sub .is-current > .nav__link { background: var(--color-primary-tint); color: var(--color-primary-deep); }
}

.header__actions { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; }
.header__quote .btn__label-long { display: none; }
@media (min-width: 480px) {
	.header__quote .btn__label-long { display: inline; }
	.header__quote .btn__label-short { display: none; }
}

.lang-switch { display: flex; align-items: center; gap: var(--space-2); }
.lang-switch ul { display: flex; list-style: none; margin: 0; padding: 0.2rem; gap: 0.1rem; border-radius: var(--radius-pill); background: var(--color-bg-alt); }
.lang-switch a {
	display: grid;
	place-items: center;
	min-inline-size: 2.4rem;
	block-size: 2.1rem;
	padding-inline: 0.45rem;
	border-radius: var(--radius-pill);
	font-size: var(--fs-small);
	font-weight: var(--fw-bold);
	color: var(--color-text-muted);
	text-decoration: none;
	transition: background-color var(--t-hover) ease, color var(--t-hover) ease;
}
.lang-switch a:hover { color: var(--color-primary); background: var(--color-bg); }
.lang-switch a[aria-current="true"] { background: var(--color-secondary); color: var(--color-on-dark); }
.lang-switch__icon { color: var(--color-bronze); }
.lang-switch--header { display: none; }
@media (min-width: 1180px) {
	.lang-switch--header { display: flex; }
	.lang-switch--header .lang-switch__icon { display: none; }
}
.lang-switch--footer ul { background: rgba(255, 255, 255, 0.08); }
.lang-switch--footer a { color: var(--blue-200); }
.lang-switch--footer a:hover { background: rgba(255, 255, 255, 0.14); color: var(--color-on-dark); }
.lang-switch--footer a[aria-current="true"] { background: var(--color-accent); color: var(--color-on-accent); }
.lang-switch--footer .lang-switch__icon { color: var(--color-accent); }

.menu-toggle {
	display: inline-grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--color-bg-alt);
	color: var(--color-secondary);
	cursor: pointer;
	transition: background-color var(--t-hover) ease, transform var(--t-press) var(--ease-out);
}
.menu-toggle:active { transform: scale(0.94); }
@media (min-width: 1180px) { .menu-toggle { display: none; } }

.mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	flex-direction: column;
	background: var(--color-secondary);
	color: var(--color-on-dark);
	clip-path: inset(0 0 100% 0 round 0 0 50% 50%);
	visibility: hidden;
	transition: clip-path 520ms var(--ease-in-out), visibility 0s linear 520ms;
}
.mobile-nav.is-open { clip-path: inset(0 0 0 0 round 0); visibility: visible; transition-delay: 0s; }
@media (min-width: 1180px) { .mobile-nav { display: none; } }
/* English, Arabic and Russian menu labels are longer: keep the menu button until the nav fits. */
@media (min-width: 1180px) { .header__brand { flex-shrink: 0; } }
@media (min-width: 1180px) and (max-width: 1439px) {
	:lang(en) .nav--desktop { display: none; }
	:lang(en) .menu-toggle { display: inline-grid; }
	:lang(en) .mobile-nav { display: flex; }
}
@media (min-width: 1180px) and (max-width: 1279px) {
	:lang(ar) .nav--desktop { display: none; }
	:lang(ar) .menu-toggle { display: inline-grid; }
	:lang(ar) .mobile-nav { display: flex; }
}
@media (min-width: 1180px) and (max-width: 1599px) {
	:lang(ru) .nav--desktop { display: none; }
	:lang(ru) .menu-toggle { display: inline-grid; }
	:lang(ru) .mobile-nav { display: flex; }
}
.mobile-nav__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); block-size: var(--header-h); padding-inline: var(--gutter); }
.mobile-nav .logo__name { color: var(--color-on-dark); }
.mobile-nav .logo__tag { color: var(--blue-200); }
.mobile-nav .menu-toggle { background: rgba(255, 255, 255, 0.1); color: var(--color-on-dark); }
.mobile-nav__body { flex: 1; overflow-y: auto; padding: var(--space-5) var(--gutter) var(--space-6); overscroll-behavior: contain; }
.mobile-nav .nav__item { display: flex; flex-wrap: wrap; align-items: center; }
.mobile-nav .nav__link { flex: 1; display: block; padding: 0.55rem 0; color: var(--color-on-dark); font-size: var(--fs-statement); font-weight: var(--fw-bold); text-decoration: none; line-height: 1.4; }
.mobile-nav .nav__item.is-current > .nav__link { color: var(--color-accent); }
.mobile-nav .nav__toggle { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border: 0; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.1); color: var(--color-on-dark); cursor: pointer; }
.mobile-nav .nav__toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
.mobile-nav .nav__sub { display: none; inline-size: 100%; list-style: none; margin: 0 0 var(--space-3); padding: 0; padding-inline-start: var(--space-5); }
.mobile-nav .nav__sub.is-open { display: block; }
.mobile-nav .nav__sub .nav__link { padding: 0.4rem 0; font-size: var(--fs-body); font-weight: var(--fw-medium); color: var(--blue-100); }
.mobile-nav__foot { display: grid; gap: var(--space-4); padding: var(--space-4) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom)); }
.mobile-nav__foot .lang-switch { justify-content: center; }
.mobile-nav__foot .lang-switch ul { background: rgba(255, 255, 255, 0.08); }
.mobile-nav__foot .lang-switch a { color: var(--blue-200); }
.mobile-nav__foot .lang-switch a[aria-current="true"] { background: var(--color-accent); color: var(--color-on-accent); }
@media (prefers-reduced-motion: no-preference) {
	.mobile-nav .nav__list > .nav__item { opacity: 0; transform: translateY(14px); transition: opacity 400ms var(--ease-out), transform 500ms var(--ease-expo); }
	.mobile-nav.is-open .nav__list > .nav__item { opacity: 1; transform: none; }
	.mobile-nav.is-open .nav__list > .nav__item:nth-child(2) { transition-delay: 60ms; }
	.mobile-nav.is-open .nav__list > .nav__item:nth-child(3) { transition-delay: 120ms; }
	.mobile-nav.is-open .nav__list > .nav__item:nth-child(4) { transition-delay: 180ms; }
	.mobile-nav.is-open .nav__list > .nav__item:nth-child(5) { transition-delay: 240ms; }
	.mobile-nav.is-open .nav__list > .nav__item:nth-child(n+6) { transition-delay: 300ms; }
}

/* 6. Pictures ------------------------------------------------------------- */
.media { position: relative; overflow: clip; background: var(--color-bg-alt); }
.media__img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.media--illus { display: grid; place-items: center; }
.media--illus .illus { inline-size: 74%; block-size: auto; }
.field--cream { background: var(--color-bg-alt); }
.field--green-tint { background: var(--color-primary-tint); }
.field--gold-tint { background: var(--color-gold-tint); }
.field--blue { background: var(--color-blue-tint); }
.field--green { background: var(--color-primary); }
.field--navy { background: var(--color-secondary); }
.frame { border-radius: var(--radius-media); aspect-ratio: 4 / 5; isolation: isolate; }
.frame .media__img, .frame .illus { transition: transform var(--t-open) var(--ease-soft); }

/* 7. Home ------------------------------------------------------------------- */

/* 7.1 Hero and the statement.
   Without script (or with reduced motion) the hero and the statement are two plain sections.
   With script the section becomes a held stage: the picture's frame opens into the navy statement. */
.doorway { position: relative; }
.doorway__stage { position: relative; }
.hero { position: relative; background: var(--color-bg-alt); overflow: clip; display: flex; align-items: center; }
.hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); padding-block: var(--space-6) var(--space-7); inline-size: 100%; align-items: center; }
.hero__content { max-inline-size: 38rem; }
.hero__title { margin-block-end: var(--space-5); color: var(--color-secondary); }
.hero__text { font-size: var(--fs-body); line-height: 1.8; max-inline-size: 32rem; margin-block-end: var(--space-6); }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.hero__actions .btn { min-block-size: 3.25rem; padding-inline: 1.75rem; }
.hero__markets { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: var(--space-6) 0 0; padding: 0; list-style: none; font-size: var(--fs-small); font-weight: var(--fw-semibold); color: var(--color-secondary); }
.hero__markets li { display: inline-flex; align-items: center; gap: var(--space-2); }
.hero__markets .icon { color: var(--color-primary); }

.hero__media {
	position: relative;
	inline-size: 100%;
	aspect-ratio: 4 / 5;
	max-block-size: 70svh;
	border-radius: var(--radius-media);
	background: var(--color-primary);
	overflow: clip;
	isolation: isolate;
}
.hero__media .media__img, .hero__media video { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.hero__mark { position: absolute; inset: 0; margin: auto; inline-size: 46%; block-size: auto; }
.hero__since {
	position: absolute;
	inset-block-end: var(--space-4);
	inset-inline-start: var(--space-4);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: var(--space-3);
	margin: 0;
	padding: 0.6rem 1.1rem 0.6rem 0.7rem;
	border-radius: var(--radius-card);
	background: var(--color-bg);
	color: var(--color-text-muted);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	line-height: 1.3;
}
[dir="rtl"] .hero__since { padding: 0.6rem 0.7rem 0.6rem 1.1rem; }
.hero__since-mark { inline-size: auto; block-size: 2.4rem; }
.hero__since strong { display: block; font-size: var(--fs-statement); color: var(--color-secondary); }

@media (min-width: 900px) {
	.hero { min-block-size: calc(100svh - var(--header-h)); }
	.hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); padding-block: var(--space-7); }
	.hero__media { aspect-ratio: auto; block-size: min(74svh, 46rem); max-block-size: none; }
}

/* Logo row under the hero. */
.brand-strip { padding-block: var(--space-6); border-block-end: 0; }
.brand-strip__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); align-items: center; }
.brand-strip__label { margin: 0; font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-text-muted); white-space: nowrap; }
.brand-strip__list { display: flex; gap: var(--space-2); margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.brand-strip__list::-webkit-scrollbar { display: none; }
.brand-strip__item { display: grid; place-items: center; inline-size: 7.5rem; block-size: 4.25rem; padding: 0.6rem 1rem; border-radius: var(--radius-card); background: var(--color-bg-alt); transition: background-color var(--t-hover) ease, transform var(--t-ui) var(--ease-out); }
.brand-strip__item:hover { background: var(--color-primary-tint); transform: translateY(-2px); }
.brand-strip__item .brand-logo { block-size: 100%; inline-size: 100%; min-block-size: 0; overflow: hidden; }
.brand-strip__item img, .brand-card__logo img { max-block-size: 100%; max-inline-size: 100%; inline-size: auto; block-size: auto; }
.brand-strip__item .brand-logo--text { block-size: auto; padding: 0; background: none; font-size: var(--fs-small); }
@media (min-width: 900px) {
	.brand-strip__inner { grid-template-columns: auto minmax(0, 1fr); gap: var(--space-6); }
	.brand-strip__list { overflow: visible; }
	.brand-strip__list li { flex: 1 1 0; min-inline-size: 0; }
	.brand-strip__item { inline-size: 100%; padding: 0.6rem 0.8rem; }
}

/* The statement: copy beside a picture. */
.statement { position: relative; background: var(--color-secondary); color: var(--color-on-dark); padding-block: var(--space-section); }
.statement__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); align-items: center; }
.statement__text { margin: 0; max-inline-size: 40rem; font-size: var(--fs-statement); font-weight: var(--fw-bold); line-height: 1.65; color: var(--color-on-dark); }
:root:not(:lang(fa)):not(:lang(ar)) .statement__text { line-height: 1.4; letter-spacing: -0.01em; }
.statement__word { transition: opacity 200ms linear; }
.statement__aside { display: grid; gap: var(--space-4); margin-block-start: var(--space-6); max-inline-size: 38rem; }
.statement__aside p { color: var(--blue-100); margin: 0; }
.statement__title { font-size: var(--fs-statement); color: var(--color-accent); margin: 0; }
.statement__media { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius-media); overflow: clip; background: var(--color-navy-600); }
.statement__media .media__img { position: absolute; inset: 0; }
@media (min-width: 900px) {
	.statement__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(2rem, 5vw, 5rem); }
	.statement__media { aspect-ratio: 4 / 5; max-block-size: 70svh; }
}

/* Scene on: the stage is held and the statement sits on top of the hero, clipped to the picture. */
.doorway.is-scene { block-size: 220svh; }
.doorway.is-scene .doorway__stage { position: sticky; inset-block-start: var(--header-h); block-size: calc(100svh - var(--header-h)); overflow: clip; }
.admin-bar .doorway.is-scene .doorway__stage { inset-block-start: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px)); block-size: calc(100svh - var(--header-h) - var(--wp-admin--admin-bar--height, 0px)); }
.doorway.is-scene .hero { block-size: 100%; min-block-size: 0; }
.doorway.is-scene .statement { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; padding-block: var(--space-6); will-change: clip-path; overflow: clip; }
.doorway.is-scene .statement__word { opacity: 0; }
@media (max-width: 899px) {
	.doorway.is-scene .statement__media { display: none; }
}

/* 7.2 Stats: one compact band. */
.stats { padding-block: var(--space-6); }
.stats__band { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: clamp(1.25rem, 3vw, 2.25rem); border-radius: var(--radius-panel); background: var(--color-bg-alt); align-items: center; }
.stats__title { margin: 0; font-size: var(--fs-statement); }
.stats__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.stats__item { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--space-3); align-items: center; padding: var(--space-4); border-radius: var(--radius-card); background: var(--color-bg); }
.stats__icon { grid-row: 1 / 3; display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: 12px; background: var(--color-primary-tint); color: var(--color-primary); }
.stats__value { display: block; font-size: var(--fs-heading); line-height: 1.1; font-weight: var(--fw-display); color: var(--color-secondary); font-variant-numeric: tabular-nums; }
.stats__label { display: block; font-size: var(--fs-small); font-weight: var(--fw-semibold); color: var(--color-text-muted); line-height: 1.4; }
@media (min-width: 1024px) {
	.stats__band { grid-template-columns: 12rem minmax(0, 1fr); gap: var(--space-6); }
	.stats__list { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; }
}

/* 7.3 Categories: an index of names beside one large picture. */
.showcase { background: var(--color-bg-alt); overflow: clip; }
.showcase__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.showcase__list { list-style: none; margin: 0; padding: 0; }
.showcase__heading { font-size: var(--fs-heading); line-height: 1.35; color: var(--color-secondary); margin: 0 0 var(--space-4); font-weight: var(--fw-bold); }
.showcase__name {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	margin-block-end: 6px;
	padding: 0.7rem 1.1rem;
	border-radius: var(--radius-card);
	font-size: var(--fs-statement);
	line-height: 1.35;
	font-weight: var(--fw-bold);
	color: var(--color-text-muted);
	text-decoration: none;
	transition: color var(--t-ui) ease, background-color var(--t-ui) ease;
}
.showcase__name:hover { color: var(--color-secondary); background: rgba(255, 255, 255, 0.6); }
.showcase__name[aria-current="true"] { color: var(--color-secondary); background: var(--color-bg); }
.showcase__name[aria-current="true"]::after { content: ""; inline-size: 0.55rem; block-size: 0.55rem; border-radius: 50%; background: var(--color-accent); flex-shrink: 0; }
.showcase__stage { position: relative; display: grid; gap: var(--space-4); }
.showcase__door { position: relative; inline-size: 100%; aspect-ratio: 4 / 3; border-radius: var(--radius-media); overflow: clip; transition: background-color 400ms ease; }
.showcase__panel { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transition: opacity 300ms ease, visibility 0s linear 300ms; }
.showcase__panel.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
.showcase__panel .illus { inline-size: 56%; }
.showcase__panel .media__img { position: absolute; inset: 0; }
.showcase__fact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-5); padding: var(--space-4) var(--space-5); border-radius: var(--radius-card); background: var(--color-bg); font-size: var(--fs-small); }
.showcase__fact-text { margin: 0; }
@media (max-width: 899px) {
	.showcase__stage { order: -1; }
	.showcase__list { display: flex; gap: var(--space-2); overflow-x: auto; scrollbar-width: none; padding-block-end: var(--space-2); }
	.showcase__list::-webkit-scrollbar { display: none; }
	.showcase__list li { flex: none; }
	.showcase__heading { display: none; }
	.showcase__name { font-size: var(--fs-body); white-space: nowrap; margin: 0; padding: 0.55rem 1rem; }
	.showcase__name[aria-current="true"]::after { display: none; }
}
@media (min-width: 900px) {
	.showcase__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); }
	.showcase__door { aspect-ratio: 16 / 11; }
}

/* 7.4 Brands: two rows of cards with circular logos. */
.brands__title { font-size: var(--fs-heading); line-height: 1.25; margin-block-end: var(--space-6); max-inline-size: 26ch; }
.brands__group + .brands__group { margin-block-start: var(--space-6); }
.brands__group-title { font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-text-muted); margin-block-end: var(--space-3); }
.brand-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.brand-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--space-4);
	block-size: 100%;
	padding: var(--space-4);
	border-radius: var(--radius-card);
	background: var(--color-bg-alt);
	color: var(--color-text);
	text-decoration: none;
	transition: background-color var(--t-hover) ease, transform var(--t-ui) var(--ease-out);
}
.brand-card:hover { background: var(--color-primary-tint); transform: translateY(-2px); color: var(--color-text); }
.brand-card__logo { display: grid; place-items: center; inline-size: 4.25rem; block-size: 4.25rem; padding: 0.7rem; border-radius: 50%; background: var(--color-bg); overflow: hidden; }
.brand-card__logo .brand-logo { inline-size: 100%; block-size: 100%; }
.brand-card__logo .brand-logo--text { padding: 0; background: none; font-size: var(--fs-xs, 0.75rem); white-space: normal; text-align: center; }
.brand-card__body { display: grid; gap: 2px; min-inline-size: 0; }
.brand-card__name { font-size: var(--fs-body); font-weight: var(--fw-bold); color: var(--color-secondary); }
.brand-card__meta { font-size: var(--fs-small); color: var(--color-primary); font-weight: var(--fw-semibold); }
.brand-card__owner { font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.5; }
.brand-card__go { color: var(--color-primary); opacity: 0.5; transition: opacity var(--t-hover) ease; }
.brand-card:hover .brand-card__go { opacity: 1; }

/* 7.5 Trade services: three numbered step cards with photographs. */
.flow { background: var(--color-bg-alt); }
.flow__head { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-block-end: var(--space-7); }
.flow__head h2 { margin: 0; max-inline-size: 22ch; }
.flow__head p { max-inline-size: 36rem; margin: 0; color: var(--color-text-muted); }
@media (min-width: 900px) { .flow__head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: var(--space-8); } }
.flow__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); counter-reset: flow; }
.flow__step { position: relative; display: flex; flex-direction: column; border-radius: var(--radius-panel); background: var(--color-bg); overflow: clip; }
.flow__media { aspect-ratio: 16 / 10; border-radius: 0; }
.flow__body { display: flex; flex-direction: column; flex: 1; gap: var(--space-3); padding: var(--space-5) var(--space-5) var(--space-6); }
.flow__top { display: flex; align-items: center; justify-content: space-between; }
.flow__num { font-size: var(--fs-heading); font-weight: var(--fw-display); line-height: 1; color: var(--color-accent); font-variant-numeric: tabular-nums; }
.flow__icon { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: 12px; background: var(--color-primary-tint); color: var(--color-primary); }
.flow__step h3 { font-size: var(--fs-statement); margin: 0; }
.flow__step p { color: var(--color-text-muted); margin: 0; font-size: var(--fs-small); line-height: 1.85; }
.flow__links { display: grid; gap: var(--space-1); margin-block-start: auto; padding-block-start: var(--space-3); }
@media (min-width: 900px) {
	.flow__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
	/* The connector between steps. */
	.flow__step:not(:last-child)::after {
		content: "";
		position: absolute;
		inset-block-start: calc(var(--space-6) + 30%);
		inset-inline-end: calc(var(--space-6) * -1);
		inline-size: var(--space-6);
		block-size: 2px;
		background: repeating-linear-gradient(90deg, var(--color-accent) 0 6px, transparent 6px 12px);
	}
	.flow__step { overflow: visible; }
	.flow__media { border-start-start-radius: var(--radius-panel); border-start-end-radius: var(--radius-panel); }
}

/* 7.6 Markets: a globe beside the list of destinations. */
.markets { background: var(--color-secondary); color: var(--color-on-dark); overflow: clip; }
.markets__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.markets__head h2 { margin-block-end: var(--space-3); color: var(--color-on-dark); }
.markets__head p { color: var(--blue-100); margin: 0; }
.markets__globe { inline-size: min(100%, 34rem); justify-self: center; }
.globe { inline-size: 100%; block-size: auto; overflow: visible; }
.globe__sphere { fill: var(--color-navy-600); }
.globe__grat { fill: none; stroke: rgba(255, 255, 255, 0.08); stroke-width: 0.8; }
.globe__land { fill: #2B4A6E; stroke: var(--color-secondary); stroke-width: 0.6; transition: fill 300ms ease; }
.globe__land--market { fill: #3E6A57; }
.globe__land--market[data-region="iran"] { fill: var(--color-primary); }
.globe__route { fill: none; stroke: var(--color-accent); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 5 7; opacity: 0.85; transition: opacity 300ms ease, stroke-width 300ms ease; }
.globe__route--past { stroke: var(--blue-200); stroke-width: 1.2; opacity: 0.45; }
.globe__pin { fill: var(--color-accent); stroke: var(--color-secondary); stroke-width: 2; transition: r 300ms var(--ease-out); }
.globe__pin--past { fill: var(--blue-200); stroke-width: 1; }
.globe__home { fill: var(--color-on-dark); stroke: var(--color-primary); stroke-width: 3; }
.globe__pulse { fill: none; stroke: var(--color-on-dark); stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.globe__rim { fill: none; stroke: rgba(255, 255, 255, 0.14); stroke-width: 1.5; }
.globe .is-on.globe__land--market { fill: var(--color-accent); }
.globe .is-on.globe__route { opacity: 1; stroke-width: 3.2; }
@media (prefers-reduced-motion: no-preference) {
	.globe__route:not(.globe__route--past) { animation: route-flow 1.6s linear infinite; }
	.globe__pulse { animation: pulse 2.4s var(--ease-out) infinite; }
	@keyframes route-flow { to { stroke-dashoffset: -24; } }
	@keyframes pulse { 0% { opacity: 0.8; transform: scale(0.8); } 100% { opacity: 0; transform: scale(3.2); } }
}
.markets__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.market__tile {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.06);
	color: var(--color-on-dark);
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--t-hover) ease, transform var(--t-ui) var(--ease-out);
	-webkit-tap-highlight-color: transparent;
}
.market__tile:hover, .market__tile.is-hover { background: rgba(255, 255, 255, 0.12); color: var(--color-on-dark); }
.market__tile:active { transform: scale(0.99); }
.market__tile[aria-pressed="true"] { background: var(--color-accent); color: var(--color-on-accent); }
.market__icon { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: 50%; background: rgba(255, 255, 255, 0.1); color: var(--color-accent); }
.market__tile[aria-pressed="true"] .market__icon { background: rgba(29, 56, 38, 0.12); color: var(--color-on-accent); }
.market__body { display: grid; gap: 2px; }
.market__name { font-size: var(--fs-body); font-weight: var(--fw-bold); line-height: 1.4; }
.market__text { font-size: var(--fs-small); color: var(--blue-100); line-height: 1.6; }
.market__tile[aria-pressed="true"] .market__text { color: var(--color-on-accent); }
.market__go { opacity: 0.6; }
.market--planned .market__tile { opacity: 0.7; }
.markets__pick { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-5); margin-block-start: var(--space-4); padding: var(--space-4) var(--space-5); border-radius: var(--radius-card); background: rgba(255, 255, 255, 0.08); }
.markets__pick p { margin: 0; font-weight: var(--fw-semibold); color: var(--color-on-dark); }
@media (max-width: 599px) { .markets__pick .btn { inline-size: 100%; } }
@media (min-width: 900px) {
	.markets__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-8); row-gap: var(--space-5); }
	.markets__head { grid-column: 2; grid-row: 1; align-self: end; }
	.markets__globe { grid-column: 1; grid-row: 1 / 3; inline-size: 100%; }
	.markets__body { grid-column: 2; grid-row: 2; align-self: start; }
}

/* 7.7 Why us: an inset panel with the picture in a rounded frame. */
.panel { position: relative; border-radius: var(--radius-panel); background: var(--color-primary); color: var(--color-on-dark); overflow: clip; }
.panel__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); padding: clamp(1.5rem, 4vw, 3.5rem); }
.panel__title { color: var(--color-on-dark); max-inline-size: 14ch; margin-block-end: var(--space-5); }
.panel__door { position: relative; inline-size: 100%; aspect-ratio: 4 / 3; border-radius: var(--radius-media); overflow: clip; background: var(--color-primary-deep); }
.panel__door .illus { position: absolute; inset: 0; margin: auto; inline-size: 60%; }
.panel__door .media__img { position: absolute; inset: 0; }
.panel__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.panel__items li { padding: var(--space-5); border-radius: var(--radius-card); background: rgba(255, 255, 255, 0.07); }
.panel__items h3 { font-size: var(--fs-body); color: var(--color-on-dark); margin-block-end: var(--space-2); }
.panel__items p { color: var(--blue-100); margin: 0; font-size: var(--fs-small); line-height: 1.8; }
.panel__action { margin-block-start: var(--space-5); }
@media (min-width: 900px) {
	.panel__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--space-7); align-items: stretch; }
	.panel__lead { display: flex; flex-direction: column; }
	.panel__door { flex: 1; aspect-ratio: auto; min-block-size: 20rem; }
	.panel__items { grid-template-columns: 1fr 1fr; }
}

/* 7.8 News: three compact cards. */
.news__title { margin: 0; }
.post-grid--3 { gap: var(--space-5); }

/* 7.9 The close: one gold panel. */
.close__main { padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--radius-panel); background: var(--color-accent); color: var(--color-on-accent); }
.close__main h2 { color: var(--color-primary-deep); max-inline-size: 16ch; }
.close__main > p, .close__inner p { color: var(--color-primary-deep); max-inline-size: 34rem; }
.close__logo { display: block; inline-size: auto; block-size: 4.5rem; margin-block-end: var(--space-5); padding: 0.5rem; border-radius: var(--radius-card); background: var(--color-bg); box-sizing: content-box; }
.close__contacts { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); margin: var(--space-5) 0 0; padding: 0; list-style: none; font-weight: var(--fw-semibold); }
.close__contacts a { color: var(--color-primary-deep); text-decoration: none; display: inline-flex; align-items: center; gap: var(--space-2); }
.close__contacts a:hover { text-decoration: underline; }
.close .quote-form { margin-block-start: var(--space-6); }
.close .quote-form label { color: var(--color-primary-deep); }
.close .quote-form input, .close .quote-form textarea { border-color: transparent; background: var(--color-bg); }
.close .quote-form__privacy, .close .quote-form__opt { color: var(--color-primary-deep); }
.close .quote-form__privacy a { color: var(--color-primary-deep); }
@media (min-width: 1024px) {
	.close__main { padding: 3.5rem 4rem; }
	.close__inner { display: grid; grid-template-columns: 4fr 6fr; gap: var(--space-8); align-items: start; }
	.close .quote-form { margin-block-start: 0; }
}

/* Service cards (trade services page). */
.service-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 900px) { .service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } }
.service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: var(--radius-panel);
	background: var(--color-primary);
	color: var(--color-on-dark);
	transition: transform var(--t-ui) var(--ease-out);
}
.service-card:nth-child(2) { background: var(--color-primary-deep); }
.service-card__media { aspect-ratio: 16 / 10; margin: calc(clamp(1.5rem, 3vw, 2.25rem) * -1 + 8px); margin-block-end: var(--space-2); border-radius: calc(var(--radius-panel) - 8px); }
.service-card:hover { transform: translateY(-4px); }
.service-card__icon { display: grid; place-items: center; inline-size: 3rem; block-size: 3rem; border-radius: 12px; background: rgba(255, 255, 255, 0.12); color: var(--color-accent); }
.service-card__title { margin: var(--space-2) 0 0; font-size: var(--fs-statement); color: inherit; }
.service-card__title a { color: inherit; text-decoration: none; }
.service-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.service-card__text { margin: 0; color: var(--blue-100); }
.service-card .link-more { margin-block-start: auto; padding-block-start: var(--space-3); color: var(--color-accent); }
.service-card--quiet { background: var(--color-bg-alt) !important; color: var(--color-text); }
.service-card--quiet .service-card__icon { background: var(--color-bg); color: var(--blue-600); }
.service-card--quiet .service-card__text { color: var(--color-text-muted); }
.service-card--quiet .link-more { color: var(--color-primary); }

/* 8. Catalog ---------------------------------------------------------------- */
.page-hero { padding-block: var(--space-5) var(--space-6); background: var(--color-bg-alt); }
.page-hero__title { font-size: var(--fs-heading); margin-block: var(--space-4) var(--space-2); max-inline-size: 26ch; }
.page-hero__text { max-inline-size: 42rem; margin: 0; }
.page-hero--plain { background: var(--color-bg); padding-block-end: var(--space-5); }

.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; font-size: var(--fs-small); color: var(--color-text-muted); }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-inline-start: var(--space-2); color: var(--color-bronze); }
.breadcrumbs a { color: var(--color-text-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--color-primary); text-decoration: underline; }

.chips { display: flex; gap: var(--space-2); margin: 0; padding: var(--space-1) 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .chips { flex-wrap: wrap; overflow: visible; } }
.chip {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	min-block-size: 2.5rem;
	padding: 0.35rem 1.05rem;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--color-bg-alt);
	color: var(--color-secondary);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out);
}
.chip:hover { background: var(--color-primary-tint); color: var(--color-primary-deep); }
.chip:active { transform: scale(0.96); }
.chip[aria-current="true"], .chip[aria-pressed="true"] { background: var(--color-secondary); color: var(--color-on-dark); }
.chip__dot { inline-size: 0.45rem; block-size: 0.75rem; border-radius: var(--radius-pill); background: var(--color-primary); }
.chip__dot--represented { background: var(--blue-400); }
.chip[aria-current="true"] .chip__dot { background: var(--color-accent); }

.filter-bar { position: sticky; inset-block-start: var(--header-h); z-index: 20; padding-block: var(--space-3); background: var(--color-bg); }
.admin-bar .filter-bar { inset-block-start: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px)); }
.filter-bar__inner { display: flex; align-items: center; gap: var(--space-3); }
.filter-bar__label { display: none; flex-shrink: 0; align-items: center; gap: var(--space-2); font-size: var(--fs-small); color: var(--color-text-muted); font-weight: var(--fw-semibold); }
@media (min-width: 768px) { .filter-bar__label { display: inline-flex; } }
.filter-status { font-size: var(--fs-small); color: var(--color-text-muted); margin-block: var(--space-5) 0; }

.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
.product-card { block-size: 100%; }
.product-card[hidden] { display: none; }
.product-card__link { display: flex; flex-direction: column; block-size: 100%; padding: 8px; border-radius: var(--radius-panel); background: var(--color-bg-alt); color: inherit; text-decoration: none; transition: background-color var(--t-hover) ease; }
.product-card__link:hover { background: var(--color-primary-tint); }
.product-card__media { margin-block-end: var(--space-3); border-radius: calc(var(--radius-panel) - 8px); }
.product-card__link:hover .media__img, .product-card__link:hover .illus { transform: scale(1.05); }
.product-card__body { display: flex; flex-direction: column; flex: 1; gap: var(--space-1); padding: 0 var(--space-2) var(--space-2); }
.product-card__brand { margin: 0; font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-primary); }
.product-card__title { margin: 0; font-size: var(--fs-body); font-weight: var(--fw-bold); color: var(--color-secondary); line-height: 1.5; transition: color var(--t-hover) ease; }
.product-card__link:hover .product-card__title { color: var(--color-primary); }
.product-card__text { margin: 0; font-size: var(--fs-small); color: var(--color-text-muted); line-height: 1.7; }
.product-card__more { display: inline-flex; align-items: center; gap: var(--space-1); margin-block-start: auto; padding-block-start: var(--space-2); font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-primary); }

.catalog-group + .catalog-group { margin-block-start: var(--space-7); }
.catalog-group[hidden] { display: none; }
.catalog-group__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-block-end: var(--space-4); }
.catalog-group__title { margin: 0; font-size: var(--fs-statement); }

.brand-section { padding-block: var(--space-7); scroll-margin-block-start: calc(var(--header-h) + 4.5rem); }
.brand-section + .brand-section { padding-block-start: 0; }
.brand-head { display: grid; gap: var(--space-5); margin-block-end: var(--space-6); }
@media (min-width: 800px) { .brand-head { grid-template-columns: auto 1fr; align-items: center; gap: var(--space-7); } }
.brand-head__logo { display: grid; place-items: center; inline-size: 7.5rem; aspect-ratio: 1; padding: 1.1rem; border-radius: 50%; background: var(--color-bg-alt); overflow: hidden; }
.brand-head__logo .brand-logo { block-size: 100%; inline-size: 100%; }
.brand-head__logo .brand-logo--text { block-size: auto; padding: 0; background: none; font-size: var(--fs-body); white-space: normal; text-align: center; }
.brand-head__name { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-2); font-size: var(--fs-heading); }
.brand-head__text { max-inline-size: 44rem; margin: 0; }
.brand-head__owner { display: inline-flex; align-items: center; gap: var(--space-2); margin-block-start: var(--space-3); font-size: var(--fs-small); color: var(--color-text-muted); }
.brand-head__owner .icon { color: var(--color-bronze); }
.brand-head__owner strong { color: var(--color-secondary); font-weight: var(--fw-bold); }

.brand-logo { display: inline-flex; align-items: center; justify-content: center; }
.brand-logo img { inline-size: auto; block-size: 100%; max-inline-size: 100%; object-fit: contain; }
/* White or silver logos sit on navy wherever they are framed. */
.brand-strip__item:has(.brand-logo--dark), .brand-card__logo:has(.brand-logo--dark), .brand-head__logo:has(.brand-logo--dark) { background: var(--color-secondary); }
.brand-logo--text { padding: 0.2rem 0.8rem; border-radius: var(--radius-pill); background: var(--color-bg-alt); color: var(--color-secondary); font-weight: var(--fw-bold); line-height: 1.4; white-space: nowrap; }

.empty-state { padding: var(--space-7) var(--space-5); border-radius: var(--radius-panel); background: var(--color-bg-alt); text-align: center; }

/* 9. Product ---------------------------------------------------------------- */
.product-detail { display: grid; gap: var(--space-7); padding-block: var(--space-6) var(--space-section); }
@media (min-width: 900px) { .product-detail { grid-template-columns: 0.9fr 1.1fr; gap: var(--space-8); align-items: start; } }
.product-detail__media { max-inline-size: 34rem; inline-size: 100%; justify-self: center; }
@media (min-width: 900px) { .product-detail__media { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-5)); } }
.product-detail__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin-block-end: var(--space-4); }
.product-detail__brand { font-weight: var(--fw-bold); text-decoration: none; }
.product-detail__title { font-size: var(--fs-heading); }
.product-detail__lead { font-size: var(--fs-statement); line-height: 1.5; color: var(--color-text); }
.product-detail__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block: var(--space-6); }
.product-detail__note { display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-radius: var(--radius-panel); background: var(--color-bg-alt); font-size: var(--fs-small); }
.product-detail__note .icon { flex-shrink: 0; color: var(--color-primary); }

.spec-table { inline-size: 100%; border-collapse: collapse; margin-block: var(--space-5); }
.spec-table th, .spec-table td { padding: 0.8rem 0; border-block-end: 1px solid var(--color-border); text-align: start; vertical-align: top; }
.spec-table th { inline-size: 40%; font-weight: var(--fw-bold); color: var(--color-secondary); padding-inline-end: var(--space-4); }

/* 10. Forms ----------------------------------------------------------------- */
.quote-form__grid { display: grid; gap: var(--space-4); }
@media (min-width: 640px) { .quote-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .quote-form__field--wide { grid-column: 1 / -1; } }
.quote-form__field { display: flex; flex-direction: column; gap: var(--space-1); min-inline-size: 0; }
.quote-form label { font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-secondary); }
.quote-form__req { color: var(--color-primary); }
.quote-form__opt { font-weight: var(--fw-regular); color: var(--color-text-muted); }
.quote-form input,
.quote-form textarea,
.quote-form select,
.search-form input[type="search"] {
	inline-size: 100%;
	min-block-size: 3.1rem;
	padding: 0.7rem 1.1rem;
	border: 1px solid var(--blue-300);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	font-size: 1rem;
	line-height: 1.5;
	transition: border-color var(--t-hover) ease, box-shadow var(--t-hover) ease;
}
.quote-form textarea { resize: vertical; min-block-size: 6rem; }
.quote-form input:hover, .quote-form textarea:hover { border-color: var(--blue-500); }
.quote-form input:focus, .quote-form textarea:focus, .search-form input:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(48, 89, 49, 0.25); } /* taste-skill-ignore: focus ring, shown only while a field is focused */
.quote-form [aria-invalid="true"] { border-color: var(--color-error); }
.quote-form__hint { font-size: var(--fs-small); color: var(--color-text-muted); }
.quote-form__hp { position: absolute; inset-inline-start: -9999px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.quote-form__footer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); margin-block-start: var(--space-5); }
.quote-form__footer .btn { min-inline-size: 12rem; }
.quote-form__privacy { flex: 1; min-inline-size: 14rem; margin: 0; font-size: var(--fs-small); color: var(--color-text-muted); }
.quote-form__status p { margin: var(--space-4) 0 0; padding: var(--space-3) var(--space-5); border-radius: var(--radius-pill); font-size: var(--fs-small); font-weight: var(--fw-semibold); }
.quote-form__status .is-success { background: var(--color-primary); color: var(--color-on-dark); }
.quote-form__status .is-error { background: #F6EEE6; color: var(--color-error); }
.quote-form .cf-turnstile { margin-block-start: var(--space-4); }
.quote-form--compact .quote-form__grid { gap: var(--space-3); }
.quote-form.is-sent .quote-form__grid { opacity: 0.6; }
.close .quote-form__footer .btn { --btn-bg: var(--color-secondary); --btn-fg: var(--color-on-dark); }
.close .quote-form__footer .btn:hover { --btn-bg: var(--color-navy-600); }

.search-form { display: flex; gap: var(--space-2); max-inline-size: 32rem; }
.search-form input[type="search"] { border-radius: var(--radius-pill); }

/* 11. Pages and posts ----------------------------------------------------------- */
.prose > * + * { margin-block-start: var(--space-4); }
.prose h2 { font-size: var(--fs-statement); margin-block-start: var(--space-7); }
.prose h3 { font-size: var(--fs-body); margin-block-start: var(--space-6); }
.prose ul, .prose ol { padding-inline-start: 1.25em; }
.prose li + li { margin-block-start: var(--space-2); }
.prose ul li::marker { color: var(--color-primary); }
.prose blockquote { margin-inline: 0; padding: var(--space-4) var(--space-5); background: var(--color-bg-alt); border-radius: var(--radius-panel); font-size: var(--fs-statement); }
.prose img { border-radius: var(--radius-panel); }
.prose a { font-weight: var(--fw-semibold); }
.prose table { inline-size: 100%; border-collapse: collapse; }
.prose th, .prose td { padding: 0.6rem; border-block-end: 1px solid var(--color-border); text-align: start; }

.page-layout { display: grid; gap: var(--space-7); padding-block: var(--space-7) var(--space-section); }
@media (min-width: 1024px) { .page-layout--aside { grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--space-8); align-items: start; } }
.page-layout:not(.page-layout--aside):not(.page-layout--wide) > .prose { max-inline-size: var(--container-narrow); }
.page-banner { aspect-ratio: 21 / 9; border-radius: var(--radius-media); }
@media (max-width: 699px) { .page-banner { aspect-ratio: 4 / 3; } }
.prose-sections { display: grid; gap: var(--space-5); }
.prose--lead { font-size: var(--fs-statement); line-height: 1.85; color: var(--color-secondary); max-inline-size: 62rem; padding-block-end: var(--space-3); }
:root:not(:lang(fa)):not(:lang(ar)) .prose--lead { line-height: 1.6; }
.prose-section { display: grid; gap: var(--space-4); padding: clamp(1.25rem, 3vw, 2.5rem); border-radius: var(--radius-panel); background: var(--color-bg-alt); }
.prose-section:nth-child(even) { background: var(--color-primary-tint); }
.prose-section__head h2 { margin: 0; font-size: var(--fs-statement); }
.prose-section__body > :first-child { margin-block-start: 0; }
.prose-section__body img { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.prose-section__body figure { margin: var(--space-5) 0 0; }
@media (min-width: 900px) {
	.prose-section { grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: var(--space-8); }
	.prose-section__head { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-5)); align-self: start; }
}
.aside-card { padding: var(--space-6); border-radius: var(--radius-panel); background: var(--color-bg-alt); }
@media (min-width: 1024px) { .aside-card { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-5)); } }
.aside-card h2 { font-size: var(--fs-statement); }
.aside-card hr { border: 0; block-size: var(--space-5); margin: 0; }
.aside-card .social a { background: var(--color-bg); color: var(--color-secondary); }
.aside-card .social a:hover { background: var(--color-accent); color: var(--color-on-accent); }
.social__off { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.1); color: var(--color-on-dark); opacity: 0.55; }
.aside-card .social__off { background: var(--color-bg); color: var(--color-secondary); }
.payments { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; padding: 0; list-style: none; color: var(--blue-200); }
.payments li { display: grid; place-items: center; inline-size: 2.6rem; block-size: 1.75rem; border-radius: 6px; background: rgba(255, 255, 255, 0.07); }
.payments .icon { inline-size: 1.15rem; block-size: 1.15rem; }

.contact-list { display: grid; gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.contact-list li { display: flex; gap: var(--space-3); align-items: flex-start; }
.contact-list .icon { flex-shrink: 0; margin-block-start: 0.25rem; color: var(--color-primary); }
.contact-list strong { display: block; font-size: var(--fs-small); color: var(--color-text-muted); font-weight: var(--fw-semibold); }
.contact-list a { color: var(--color-secondary); text-decoration: none; }
.contact-list a:hover { color: var(--color-primary); text-decoration: underline; }
[dir="rtl"] .ltr-value { direction: ltr; unicode-bidi: isolate; display: inline-block; }

.form-card { padding: var(--space-5); border-radius: var(--radius-panel); background: var(--color-bg-alt); }
@media (min-width: 640px) { .form-card { padding: var(--space-7); } }
.form-card__intro { color: var(--color-text-muted); }

.steps { display: grid; gap: var(--space-3); margin: 0 0 var(--space-7); padding: 0; list-style: none; counter-reset: step; }
@media (min-width: 700px) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.steps li { position: relative; padding: var(--space-4) var(--space-5); padding-inline-start: 3.75rem; border-radius: var(--radius-panel); background: var(--color-primary-tint); font-size: var(--fs-small); counter-increment: step; }
.steps li::before { content: counter(step); position: absolute; inset-inline-start: var(--space-4); inset-block-start: var(--space-4); display: grid; place-items: center; inline-size: 1.9rem; block-size: 2.5rem; border-radius: var(--radius-pill); background: var(--color-primary); color: var(--color-on-dark); font-weight: var(--fw-bold); }
.lang-fa .steps li::before { content: counter(step, persian); }
.lang-ar .steps li::before { content: counter(step, arabic-indic); }
.steps strong { display: block; color: var(--color-secondary); font-size: var(--fs-body); }

.article { padding-block: var(--space-6) var(--space-section); }
.article__header { margin-block-end: var(--space-6); }
.article__header h1 { font-size: var(--fs-heading); }
.article__meta { font-size: var(--fs-small); color: var(--color-text-muted); }
.article__media { margin-block-end: var(--space-7); border-radius: var(--radius-panel); aspect-ratio: 16 / 9; }

.post-grid { display: grid; gap: var(--space-6) var(--space-5); margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.post-card { position: relative; display: flex; flex-direction: column; block-size: 100%; }
.post-card__media { aspect-ratio: 16 / 10; border-radius: var(--radius-panel); margin-block-end: var(--space-4); }
.post-card:hover .media__img, .post-card:hover .illus { transform: scale(1.04); }
.post-card .media__img, .post-card .illus { transition: transform var(--t-open) var(--ease-soft); }
.post-card__body { display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.post-card__meta { font-size: var(--fs-small); color: var(--color-text-muted); margin: 0; }
.post-card__title { font-size: var(--fs-body); margin: 0; }
.post-card__title a { color: var(--color-secondary); text-decoration: none; }
.post-card__title a::after { content: ""; position: absolute; inset: 0; }
.post-card__title a:hover { color: var(--color-primary); }
.post-card__text { font-size: var(--fs-small); color: var(--color-text-muted); margin: 0; }

.pagination { margin-block-start: var(--space-7); }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); }
.pagination .page-numbers { display: grid; place-items: center; min-inline-size: 2.75rem; block-size: 2.75rem; padding-inline: var(--space-3); border-radius: var(--radius-pill); background: var(--color-bg-alt); color: var(--color-secondary); text-decoration: none; }
.pagination .page-numbers.current { background: var(--color-secondary); color: var(--color-on-dark); }

.notfound { padding-block: var(--space-section); text-align: center; }
.notfound__code { font-size: var(--fs-display); font-weight: var(--fw-display); color: var(--color-accent); line-height: 1; margin-block-end: var(--space-4); }
.notfound .search-form { margin-inline: auto; margin-block: var(--space-6); }
.notfound .hero__actions { justify-content: center; }

.section-head { max-inline-size: 44rem; margin-block-end: var(--space-7); }
.section-head-row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-4); margin-block-end: var(--space-7); }
.section-head-row .section-head { margin-block-end: 0; }

/* 12. Footer: the arcade, built large ------------------------------------------- */
.site-footer { background: var(--color-secondary); color: var(--blue-100); }
.site-footer a { color: var(--blue-100); text-decoration: none; }
.site-footer a:hover { color: var(--color-accent); }
.arcade { display: flex; align-items: flex-end; gap: 4px; block-size: clamp(9rem, 34svh, 20rem); padding-block-start: var(--space-8); }
.arcade__arch { flex: 1; border-radius: 999px 999px 0 0; min-inline-size: 0; }
.arcade__arch:nth-child(1) { block-size: 58%; background: var(--color-navy-600); }
.arcade__arch:nth-child(2) { block-size: 76%; background: var(--color-primary); }
.arcade__arch:nth-child(3) { block-size: 88%; background: var(--color-bronze); }
.arcade__arch--mark { flex: 1.6; block-size: 100%; background: var(--color-bg-alt); display: grid; place-items: end center; overflow: clip; }
.arcade__arch--mark .illus { inline-size: 70%; block-size: auto; margin-block-end: -2%; }
.arcade__arch--mark { position: relative; }
.arcade__logo { position: absolute; inset-block-end: 8%; inset-inline: 0; margin-inline: auto; block-size: 70%; inline-size: auto; max-inline-size: 78%; object-fit: contain; }
.arcade__arch:nth-child(5) { block-size: 82%; background: var(--color-accent); }
.arcade__arch:nth-child(6) { block-size: 66%; background: var(--color-primary-deep); }
.arcade__arch:nth-child(7) { block-size: 50%; background: var(--blue-600); }
@media (max-width: 599px) { .arcade__arch:nth-child(1), .arcade__arch:nth-child(7) { display: none; } }
.footer__name { margin: var(--space-6) 0 0; font-size: var(--fs-heading); font-weight: var(--fw-display); color: var(--color-on-dark); line-height: 1.2; }
.footer__tag { display: block; margin-block-start: var(--space-2); font-size: var(--fs-body); font-weight: var(--fw-semibold); color: var(--color-accent); }
.footer__main { display: grid; gap: var(--space-7); padding-block: var(--space-7); }
@media (min-width: 700px) { .footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .footer__main { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: var(--space-6); } }
.footer__about p { max-inline-size: 22rem; margin-block: 0 var(--space-5); }
.footer__title { margin: 0 0 var(--space-4); color: var(--color-on-dark); font-size: var(--fs-body); }
.footer__links { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.footer__links a { display: inline-block; padding-block: 0.1rem; }
.site-footer .contact-list .icon { color: var(--color-accent); }
.site-footer .contact-list strong { color: var(--blue-300); }
.site-footer .contact-list a, .site-footer .contact-list span { color: var(--blue-100); }
.site-footer .placeholder-text { color: var(--blue-100); background: rgba(255, 255, 255, 0.08); }
.social { display: flex; gap: var(--space-2); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.social a { display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.1); color: var(--color-on-dark); transition: background-color var(--t-hover) ease, color var(--t-hover) ease; }
.social a:hover { background: var(--color-accent); color: var(--color-on-accent); }
.footer__bottom { background: var(--color-navy-900); }
.footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-5); font-size: var(--fs-small); }
.footer__legal { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: 0; padding: 0; list-style: none; }
.footer__copy { margin: 0; }
.footer__ids { margin: 0; flex-basis: 100%; order: 3; color: var(--blue-200); font-size: var(--fs-small); }

/* 13. Motion ----------------------------------------------------------------- */
/* Entrances: the parts of a section arrive in reading order, once. Only under .js and
   no-preference; the reduced and no-script page is the finished page. */
@media (prefers-reduced-motion: no-preference) {
	.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--ease-out), transform 900ms var(--ease-expo); transition-delay: calc(var(--reveal-i, 0) * 80ms); }
	.js [data-reveal="frame"] { transform: none; clip-path: inset(100% 0 0 0 round 24px); transition: clip-path var(--t-open) var(--ease-expo), opacity 300ms ease; transition-delay: calc(var(--reveal-i, 0) * 80ms); }
	.js [data-reveal].is-visible { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 0); }
	.js [data-reveal="frame"].is-visible { clip-path: inset(0 0 0 0 round 24px); }

	/* Load sequence: the hero is readable on the first frame and settles within 1.2s. */
	.js .hero__title, .js .hero__text, .js .hero__actions, .js .hero__markets { animation: rise 900ms var(--ease-expo) both; }
	.js .hero__text { animation-delay: 90ms; }
	.js .hero__actions { animation-delay: 180ms; }
	.js .hero__markets { animation-delay: 270ms; }
	.js .hero__media { animation: door-open 1200ms var(--ease-expo) both; }
	@keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
	@keyframes door-open { from { clip-path: inset(100% 0 0 0 round 24px); } to { clip-path: inset(0 0 0 0 round 24px); } }

	/* Slow drift on framed pictures. */
	.js [data-drift] { will-change: transform; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1180px) {
	.nav--desktop .nav__sub { display: none; }
	.nav--desktop .nav__item:hover > .nav__sub,
	.nav--desktop .nav__item:focus-within > .nav__sub,
	.nav--desktop .nav__item.is-open > .nav__sub { display: block; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* 14. Utilities ----------------------------------------------------------------- */
.u-mt-0 { margin-block-start: 0; }
.u-center { text-align: center; }
.ltr { direction: ltr; unicode-bidi: isolate; }
.h3 { font-size: var(--fs-statement); }
.h4 { font-size: var(--fs-body); }

@media print {
	.site-header, .site-footer, .filter-bar, .close, .mobile-nav { display: none !important; }
	body { color: #000; }
}
