/* ── Reset ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-main);
  background: var(--c-cream);
  color: var(--c-ink);
  direction: rtl;
  overflow-x: hidden;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
button { font-family: var(--font-main); cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }
input, textarea, select { font-family: var(--font-main); }

/* ── Material Symbols ── */
.icon {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
  user-select: none;
}
.icon--fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.icon--sm  { font-size: 16px; }
.icon--md  { font-size: 22px; }
.icon--lg  { font-size: 28px; }
.icon--xl  { font-size: 36px; }

/* ── Typography Scale ── */
.t-display {
  font-size: clamp(32px, 6vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.t-h1 { font-size: clamp(26px, 4vw, 44px); font-weight: 800; line-height: 1.2; }
.t-h2 { font-size: clamp(20px, 3vw, 32px); font-weight: 800; line-height: 1.3; }
.t-h3 { font-size: clamp(16px, 2vw, 22px); font-weight: 700; line-height: 1.4; }
.t-body { font-size: 15px; font-weight: 400; line-height: 1.7; }
.t-small { font-size: 13px; font-weight: 400; line-height: 1.6; }
.t-label { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }

/* ── Layout Helpers ── */
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}
@media (max-width: 640px) {
  .container { padding: 0 var(--space-md); }
}

.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }

/* ── Gold Hairline ── */
.hairline {
  width: 48px;
  height: 1.5px;
  background: var(--c-gold);
  border-radius: var(--r-full);
}
.hairline--full { width: 100%; background: var(--c-border); }

/* ── Section Label ── */
.section-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: var(--space-sm);
}

/* ── Page fade in ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp 0.5s var(--ease) both; }
.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--c-border-mid); border-radius: 4px; }
