/* Saadiyat Keys tokens (Naqsh). Generated by src/build_tokens.py, 3 Oct 2026. Do not edit by hand. */
/* Self-hosted OFL faces (prototype). Licences: web/assets/fonts/OFL-*.txt. Production path: DESIGN.md §3. */
@font-face { font-family: 'Spectral'; font-weight: 300; font-style: normal; font-display: swap; src: url('fonts/Spectral-300.woff2') format('woff2'); }
@font-face { font-family: 'Spectral'; font-weight: 400; font-style: normal; font-display: swap; src: url('fonts/Spectral-400.woff2') format('woff2'); }
@font-face { font-family: 'Spectral'; font-weight: 500; font-style: normal; font-display: swap; src: url('fonts/Spectral-500.woff2') format('woff2'); }
@font-face { font-family: 'Spectral'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/Spectral-600.woff2') format('woff2'); }
@font-face { font-family: 'Scheherazade New'; font-weight: 400; font-style: normal; font-display: swap; src: url('fonts/ScheherazadeNew-400-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF, U+200C-200F, U+25CC, U+FDF2, U+FD3E-FD3F; }
@font-face { font-family: 'Scheherazade New'; font-weight: 500 700; font-style: normal; font-display: swap; src: url('fonts/ScheherazadeNew-600-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF, U+200C-200F, U+25CC, U+FDF2, U+FD3E-FD3F; }
@font-face { font-family: 'Qahiri'; font-weight: 400; font-style: normal; font-display: block; src: url('fonts/Qahiri-400-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF; }

:root {
  --sk-night: #1D1E0B;
  --sk-scrub: #3F3B1D;
  --sk-grass: #A7966D;
  --sk-sand: #D2D0B1;
  --sk-plaster: #F5F5F0;
  --sk-plaster-2: #EAEAE2;
  --sk-night-2: #272712;
  --sk-lime: #E1DFC9;
  --sk-ink-2: #403E2C;
  --sk-ink-3: #555440;
  --sk-field: #7D7B67;
  --sk-rule: #CCCBBD;
  --sk-error: #8F3220;
  --sk-error-on-night: #F8BBA0;
  --sk-font-latin: 'Spectral', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --sk-font-arabic: 'Scheherazade New', 'Spectral', 'Geeza Pro', 'Noto Naskh Arabic', serif;
  --sk-font-mark-arabic: 'Qahiri', serif;
  --sk-fs-display-xl: clamp(44px, 2.0000rem + 3.3333vw, 80px); --sk-lh-display-xl: 1.02; --sk-fw-display-xl: 300; --sk-tr-display-xl: -0.012em;
  --sk-fs-display: clamp(40px, 1.8333rem + 2.9630vw, 72px); --sk-lh-display: 1.05; --sk-fw-display: 300; --sk-tr-display: -0.01em;
  --sk-fs-h2: clamp(34px, 1.7500rem + 1.6667vw, 52px); --sk-lh-h2: 1.1; --sk-fw-h2: 400; --sk-tr-h2: -0.005em;
  --sk-fs-h3: clamp(22px, 1.2917rem + 0.3704vw, 26px); --sk-lh-h3: 1.25; --sk-fw-h3: 500; --sk-tr-h3: 0;
  --sk-fs-lede: 18px; --sk-lh-lede: 1.6; --sk-fw-lede: 400; --sk-tr-lede: 0;
  --sk-fs-body: 18px; --sk-lh-body: 1.6; --sk-fw-body: 400; --sk-tr-body: 0;
  --sk-fs-body-s: 18px; --sk-lh-body-s: 1.55; --sk-fw-body-s: 400; --sk-tr-body-s: 0;
  --sk-fs-ui: 16px; --sk-lh-ui: 1.3; --sk-fw-ui: 500; --sk-tr-ui: 0.005em;
  --sk-fs-meta: 15px; --sk-lh-meta: 1.4; --sk-fw-meta: 500; --sk-tr-meta: 0.01em;
  --sk-fs-fine: 14px; --sk-lh-fine: 1.5; --sk-fw-fine: 400; --sk-tr-fine: 0.005em;
  --sk-fs-figure-xl: clamp(40px, 2.0000rem + 2.2222vw, 64px); --sk-lh-figure-xl: 1.0; --sk-fw-figure-xl: 300; --sk-tr-figure-xl: -0.01em;
  --sk-space-0: 0px;
  --sk-space-1: 4px;
  --sk-space-2: 8px;
  --sk-space-3: 12px;
  --sk-space-4: 16px;
  --sk-space-5: 24px;
  --sk-space-6: 32px;
  --sk-space-7: 40px;
  --sk-space-8: 48px;
  --sk-space-9: 64px;
  --sk-space-10: 80px;
  --sk-space-11: 96px;
  --sk-space-12: 128px;
  --sk-space-13: 160px;
  --sk-section: clamp(56px, 2rem + 6.25vw, 96px);
  --sk-section-tight: clamp(40px, 1.5rem + 3.75vw, 64px);
  --sk-gutter: clamp(16px, 0.6rem + 1.5vw, 32px);
  --sk-margin: clamp(16px, -0.3rem + 4.4vw, 64px);
  --sk-measure: 68ch;
  --sk-measure-ar: 62ch;
  --sk-container: 1320px;
  --sk-container-wide: 1600px;
  --sk-container-text: 720px;
  --sk-radius: 0px;
  --sk-border-hairline: 1px;
  --sk-border-rule: 1px;
  --sk-border-field: 1px;
  --sk-border-focus: 2px;
  --sk-border-focus-offset: 3px;
  --sk-border-selected: 2px;
  --sk-scrim: rgb(29 30 11 / 0.72);
  --sk-cut: inset 0 1px 0 rgb(29 30 11 / 0.55), inset 0 -1px 0 rgb(255 255 250 / 0.5);
  --sk-dur-instant: 0ms;
  --sk-dur-press: 120ms;
  --sk-dur-hover: 180ms;
  --sk-dur-enter: 240ms;
  --sk-dur-exit: 190ms;
  --sk-dur-sheet: 320ms;
  --sk-dur-drawer: 500ms;
  --sk-dur-crossfade: 900ms;
  --sk-dur-sweep: 900ms;
  --sk-dur-slide-interval: 3000ms;
  --sk-dur-calc: 700ms;
  --sk-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --sk-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --sk-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --sk-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --sk-dock-h: 64px;
  --sk-header-h: 64px;
}

/* Surfaces. Default = plaster. Add .sk-night to a section for the night band.
   The website keeps an authored plaster/night sequence (U-09), so it does not flip with the OS theme.
   App screens opt into the OS theme with [data-sk-theme="auto"]. */
:root, .sk-plaster {
  --sk-c-bg: var(--sk-plaster);
  --sk-c-surface: var(--sk-plaster-2);
  --sk-c-text: var(--sk-night);
  --sk-c-text-2: var(--sk-ink-2);
  --sk-c-text-3: var(--sk-ink-3);
  --sk-c-heading: var(--sk-night);
  --sk-c-rule: var(--sk-rule);
  --sk-c-field-border: var(--sk-field);
  --sk-c-action-bg: var(--sk-night);
  --sk-c-action-text: var(--sk-plaster);
  --sk-c-focus: var(--sk-night);
  --sk-c-error: var(--sk-error);
  --sk-c-selected-bg: var(--sk-night);
  --sk-c-selected-text: var(--sk-plaster);
  --sk-c-mark: var(--sk-night);
  color-scheme: light;
}
.sk-night, [data-sk-theme="night"] {
  --sk-c-bg: var(--sk-night);
  --sk-c-surface: var(--sk-night-2);
  --sk-c-text: var(--sk-lime);
  --sk-c-text-2: var(--sk-sand);
  --sk-c-text-3: var(--sk-sand);
  --sk-c-heading: var(--sk-sand);
  --sk-c-rule: var(--sk-scrub);
  --sk-c-field-border: var(--sk-grass);
  --sk-c-action-bg: var(--sk-sand);
  --sk-c-action-text: var(--sk-night);
  --sk-c-focus: var(--sk-sand);
  --sk-c-error: var(--sk-error-on-night);
  --sk-c-selected-bg: var(--sk-sand);
  --sk-c-selected-text: var(--sk-night);
  --sk-c-mark: var(--sk-sand);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  [data-sk-theme="auto"] {
    --sk-c-bg: var(--sk-night);
    --sk-c-surface: var(--sk-night-2);
    --sk-c-text: var(--sk-lime);
    --sk-c-text-2: var(--sk-sand);
    --sk-c-text-3: var(--sk-sand);
    --sk-c-heading: var(--sk-sand);
    --sk-c-rule: var(--sk-scrub);
    --sk-c-field-border: var(--sk-grass);
    --sk-c-action-bg: var(--sk-sand);
    --sk-c-action-text: var(--sk-night);
    --sk-c-focus: var(--sk-sand);
    --sk-c-error: var(--sk-error-on-night);
    --sk-c-selected-bg: var(--sk-sand);
    --sk-c-selected-text: var(--sk-night);
    --sk-c-mark: var(--sk-sand);
    color-scheme: dark;
  }
  [data-sk-theme="auto"] .sk-night { --sk-c-bg: var(--sk-night-2); --sk-c-surface: var(--sk-night); }
}

:root { --sk-font-text: var(--sk-font-latin); }
:lang(ar), [dir="rtl"] {
  --sk-font-text: var(--sk-font-arabic);
  --sk-fs-display-xl: clamp(34px, 1.3333rem + 3.5185vw, 72px); --sk-lh-display-xl: 1.35; --sk-fw-display-xl: 600; --sk-tr-display-xl: 0;
  --sk-fs-display: clamp(38px, 1.8333rem + 2.4074vw, 64px); --sk-lh-display: 1.35; --sk-fw-display: 600; --sk-tr-display: 0;
  --sk-fs-h2: clamp(38px, 1.9583rem + 1.8519vw, 58px); --sk-lh-h2: 1.35; --sk-fw-h2: 600; --sk-tr-h2: 0;
  --sk-fs-h3: clamp(26px, 1.5417rem + 0.3704vw, 30px); --sk-lh-h3: 1.45; --sk-fw-h3: 600; --sk-tr-h3: 0;
  --sk-fs-lede: 22px; --sk-lh-lede: 1.75; --sk-fw-lede: 400; --sk-tr-lede: 0;
  --sk-fs-body: 22px; --sk-lh-body: 1.75; --sk-fw-body: 400; --sk-tr-body: 0;
  --sk-fs-body-s: 22px; --sk-lh-body-s: 1.75; --sk-fw-body-s: 400; --sk-tr-body-s: 0;
  --sk-fs-ui: 20px; --sk-lh-ui: 1.4; --sk-fw-ui: 600; --sk-tr-ui: 0;
  --sk-fs-meta: 18px; --sk-lh-meta: 1.55; --sk-fw-meta: 400; --sk-tr-meta: 0;
  --sk-fs-fine: 17px; --sk-lh-fine: 1.6; --sk-fw-fine: 400; --sk-tr-fine: 0;
  --sk-measure: var(--sk-measure-ar);
}

/* Reduced motion: keep opacity/colour, drop transforms and timed sequences. */
@media (prefers-reduced-motion: reduce) {
  :root { --sk-dur-enter: 0ms; --sk-dur-exit: 0ms; --sk-dur-sheet: 0ms; --sk-dur-drawer: 0ms; --sk-dur-crossfade: 0ms; --sk-dur-sweep: 0ms; --sk-dur-calc: 0ms; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Logical-property helpers (LTR + RTL from one stylesheet). */
.sk-pi { padding-inline: var(--sk-margin); }
.sk-mi-auto { margin-inline: auto; }
.sk-ta-start { text-align: start; }
.sk-num { font-family: var(--sk-font-latin); font-variant-numeric: lining-nums tabular-nums; }
