
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'YekanBakh';
    src: url('../fonts/YekanBakh-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

:root {
  /* Luxury Brand Color Palette */
  --c-primary: #8E7DBE;
  --c-primary-light: #A596CF;
  --c-primary-dark: #6F5EA5;
  
  --c-secondary: #F1DEDE;
  --c-secondary-light: #FDF5F5;
  --c-secondary-dark: #E4C8C8;
  
  /* Warm Cream Palette */
  --c-cream-lightest: #FAF5EF; /* Card backgrounds / Pure white replacement */
  --c-cream-light: #F8F1E8;    /* Main body background */
  --c-cream: #F5EDE2;          /* Secondary section background */
  --c-cream-dark: #EFE5D8;     /* Borders and subtle contrast */
  
  --c-white: #FAF5EF; /* Override standard white for global warmth */
  --c-ivory: #F8F1E8;
  
  --c-dark-charcoal: #231F20; /* Warmer dark */
  --c-dark-gray: #3A3536;
  --c-gray: #756D6A; /* Warmer gray */
  --c-light-gray: #AFA8A5; /* Warmer light gray */
  
  --bg-main: var(--c-cream-light);
  --bg-dark: var(--c-dark-charcoal);
  
  --bg-glass: rgba(250, 245, 239, 0.75);
  --bg-glass-dark: rgba(35, 31, 32, 0.85);
  --border-glass: rgba(250, 245, 239, 0.5);
  
  /* Typography */
  --font-primary: 'YekanBakh', sans-serif;
  --font-serif: 'YekanBakh', sans-serif;
  
  /* Spacing System */
  --sp-3xs: clamp(0.25rem, 0.5vw, 0.5rem);
  --sp-2xs: clamp(0.5rem, 1vw, 1rem);
  --sp-xs: clamp(1rem, 2vw, 1.5rem);
  --sp-sm: clamp(1.5rem, 3vw, 2.5rem);
  --sp-md: clamp(2.5rem, 5vw, 4rem);
  --sp-lg: clamp(4rem, 8vw, 6rem);
  --sp-xl: clamp(6rem, 12vw, 10rem);
  --sp-2xl: clamp(10rem, 15vw, 15rem);
  
  /* Shadows */
  --shadow-sm: 0 10px 20px rgba(106, 93, 85, 0.04);
  --shadow-md: 0 15px 35px rgba(106, 93, 85, 0.08);
  --shadow-lg: 0 30px 60px rgba(106, 93, 85, 0.12);
  --shadow-brand: 0 15px 35px rgba(142, 125, 190, 0.25);
  --shadow-glow: 0 0 40px rgba(241, 222, 222, 0.8);
  
  /* Radii */
  --rad-sm: 8px;
  --rad-md: 16px;
  --rad-lg: 24px;
  --rad-xl: 40px;
  --rad-pill: 9999px;
  
  /* Transitions */
  --t-fast: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --t-normal: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --t-slow: 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --t-smooth: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  font-family: var(--font-primary);
  background-color: var(--bg-main);
  color: var(--c-dark-gray);
  line-height: 1.8;
  letter-spacing: -0.01em;
  direction: rtl;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all var(--t-fast);
}

ul, ol {
  list-style: none;
}

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

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

.container {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 var(--sp-xs);
}

.container-narrow {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--sp-xs);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  color: var(--c-dark-charcoal);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.03em;
}

.t-serif { font-family: var(--font-primary); font-weight: 900; letter-spacing: -0.04em; }
.t-gradient {
  background: linear-gradient(135deg, var(--c-primary-dark), var(--c-primary-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

h1.display { font-size: clamp(3rem, 7vw, 6.5rem); line-height: 1.2; letter-spacing: -0.03em; }
h2.heading-lg { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -0.02em; }
h3.heading-md { font-size: clamp(1.8rem, 3.5vw, 2.5rem); }
h4.heading-sm { font-size: clamp(1.2rem, 2vw, 1.5rem); }

.text-lead { font-size: clamp(1.1rem, 1.5vw, 1.25rem); color: var(--c-gray); font-weight: 400; line-height: 1.9; }
.text-caption { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--c-primary); font-weight: 600; }

/* Utilities */
.text-center { text-align: center; }
.mb-xs { margin-bottom: var(--sp-xs); }
.mb-sm { margin-bottom: var(--sp-sm); }
.mb-md { margin-bottom: var(--sp-md); }
.mb-lg { margin-bottom: var(--sp-lg); }

.glass-panel {
  background: var(--bg-glass);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-glass);
  box-shadow: var(--shadow-md);
}

.glass-panel-dark {
  background: var(--bg-glass-dark);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(250, 245, 239, 0.1);
  color: var(--c-cream-lightest);
}
