/* Geist + Peyda — CDN fallbacks (local woff2 optional in fonts/) */
@font-face {
	font-family: 'Geist';
	src: url('https://cdn.jsdelivr.net/npm/@fontsource-variable/geist@5.1.0/files/geist-latin-wght-normal.woff2') format('woff2 supports variations'),
		url('https://cdn.jsdelivr.net/npm/@fontsource-variable/geist@5.1.0/files/geist-latin-wght-normal.woff2') format('woff2-variations');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Peyda';
	src: url('https://cdn.jsdelivr.net/npm/vazirmatn@33.0.3/fonts/webfonts/Vazirmatn-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Peyda';
	src: url('https://cdn.jsdelivr.net/npm/vazirmatn@33.0.3/fonts/webfonts/Vazirmatn-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Peyda';
	src: url('https://cdn.jsdelivr.net/npm/vazirmatn@33.0.3/fonts/webfonts/Vazirmatn-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

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

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

html::-webkit-scrollbar {
	display: none;
}

body {
	margin: 0;
	min-height: 100vh;
	font-family: var(--font-en);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-white);
	background: var(--color-bg-primary);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

body::-webkit-scrollbar {
	display: none;
}

body.is-rtl,
[dir="rtl"] {
	font-family: var(--font-fa);
}

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

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

button {
	cursor: pointer;
}

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

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
}

/* GSAP safety — content stays visible until animated */
[data-animate="fade-up"] {
	opacity: 1;
	transform: none;
}

.gallery [data-gallery-slide],
.gallery [data-gallery-el],
.gallery [data-gallery-title] {
	opacity: 1;
	transform: none;
}

.hero .hero__char-inner {
	opacity: 1;
	transform: none;
}
