/* Design tokens shared by every page. Values were tuned against the approved 1312px reference.
   Colour rule: the site uses exactly three colour values — white, black and brand green.
   Muted states (placeholder text, inactive slide indicators) lower the opacity of black
   instead of introducing a grey. */
:root {
  /* Colour */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-brand: #0c622d;
  --muted-opacity: 0.45;

  /* Type */
  --font-body: "Vazirmatn", sans-serif;
  --font-heading: "Estedad", "Vazirmatn", sans-serif;
  --weight-heading: 800;
  --weight-display: 900;

  --fs-display: 36px;        /* hero h1 */
  --fs-section: 22px;        /* section titles */
  --fs-service-title: 18px;  /* service titles */
  --fs-card-title: 17px;     /* project card titles */
  --fs-lead: 16px;           /* hero paragraph */
  --fs-body: 16px;
  --fs-ui: 15px;             /* buttons, subtitles */
  --fs-nav: 14px;            /* header navigation */
  --fs-small: 14px;          /* footer, card links */
  --fs-xsmall: 13px;         /* legal line, form messages */
  --lh-body: 1.65;
  --lh-tight: 1.2;

  /* Layout */
  --content-max: 1188px;
  --gutter: clamp(16px, 4.73vw, 62px);   /* 62px at 1312 */
  --header-height: 52px;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* Shapes & lines */
  --radius-card: 4px;
  --radius-control: 6px;
  --radius-panel: 8px;
  --radius-pill: 999px;
  --border: 1px solid var(--color-black);
  --rule: 1px solid var(--color-brand);
  --rule-strong: 2px solid var(--color-brand);
  --accent-width: 40px;
  --accent-height: 2px;

  /* Controls */
  --control-height: 47px;
  --focus-ring: 2px solid var(--color-brand);
  --focus-offset: 3px;
}

@media (max-width: 1023px) {
  :root {
    --fs-section: 21px;
  }
}

@media (max-width: 767px) {
  :root {
    --fs-section: 20px;
    --control-height: 46px;
  }
}

@media (max-width: 599px) {
  :root {
    --fs-display: clamp(24px, 7.4vw, 30px);
  }
}
