/* =========================================================
   ALHUSAM ZIYADAH — Global Design Tokens & Base Styles
   ========================================================= */

:root{
  /* Colors */
  --color-primary-900:#0d2b20;
  --color-primary-800:#12392a;
  --color-primary-700:#154531;
  --color-primary-600:#1a5238;
  --color-accent:#c99a3d;
  --color-accent-dark:#a97f2e;
  --color-accent-light:#e0b563;
  /* AA-compliant gold for text/icons set against light backgrounds (>=4.5:1) */
  --color-accent-text:#8f631f;
  --color-bg:#ffffff;
  --color-bg-alt:#f6f3ea;
  --color-bg-alt-2:#faf8f2;
  --color-text:#20281f;
  --color-text-light:#5c6a5e;
  --color-text-inverse:#ffffff;
  --color-text-inverse-muted:#cfe0d3;
  --color-border:#e6e1d3;
  --color-border-dark:rgba(255,255,255,.15);
  --color-success:#1f7a4d;
  --color-success-bg:#eaf7ef;
  --color-error:#b3261e;
  --color-error-bg:#fdecea;

  /* Typography */
  --font-heading:'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --fs-h1: clamp(2rem, 1.6rem + 1.6vw, 2.75rem);
  --fs-h2: clamp(1.5rem, 1.3rem + 1vw, 2rem);
  --fs-h3: clamp(1.15rem, 1.05rem + .4vw, 1.35rem);
  --fs-body: 1rem;
  --fs-small: .875rem;
  --fs-xs: .75rem;

  /* Spacing */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  /* Layout */
  --container-max: 1200px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 3px rgba(13,43,32,.08);
  --shadow-md: 0 8px 24px rgba(13,43,32,.10);
  --shadow-lg: 0 16px 40px rgba(13,43,32,.14);

  /* Motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --dur-fast: 150ms;
  --dur-base: 260ms;
  --dur-slow: 480ms;

  --header-height: 96px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text);
  background:var(--color-bg);
  font-size:var(--fs-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
input, select, textarea{ font-family:inherit; font-size:inherit; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-heading); margin:0 0 var(--space-3); font-weight:700; color:var(--color-primary-900); line-height:1.2; }
p{ margin:0 0 var(--space-4); }

h1{ font-size:var(--fs-h1); }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); }

.container{
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--space-6);
}
@media (max-width:640px){
  .container{ padding-inline:var(--space-4); }
}

section{ padding:var(--space-8) 0; }
@media (max-width:768px){
  section{ padding:var(--space-7) 0; }
}

/* Eyebrow label */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  color:var(--color-accent-text);
  font-size:var(--fs-xs);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:var(--space-3);
}
.eyebrow::before{
  content:'';
  width:24px;
  height:2px;
  background:var(--color-accent);
  display:inline-block;
}
.eyebrow.center{ justify-content:center; width:100%; }

.section-heading{ text-align:left; margin-bottom:var(--space-6); }
.section-heading.center{ text-align:center; }
.section-heading p{ color:var(--color-text-light); max-width:640px; }
.section-heading.center p{ margin-inline:auto; }

/* Section theme variants */
.section--dark{
  background:linear-gradient(135deg, var(--color-primary-900), var(--color-primary-700));
  color:var(--color-text-inverse);
}
.section--dark h1, .section--dark h2, .section--dark h3{ color:var(--color-text-inverse); }
.section--dark p{ color:var(--color-text-inverse-muted); }
.section--dark .eyebrow{ color:var(--color-accent); }
.section--alt{ background:var(--color-bg-alt); }

/* Page hero (inner pages) */
.page-hero{ padding:var(--space-8) 0 var(--space-7); }
.page-hero p{ max-width:640px; font-size:1.05rem; }

/* Utility */
.text-center{ text-align:center; }
.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; inset-inline-start:-999px; top:0; z-index:2000;
  background:var(--color-primary-900); color:#fff; padding:10px 16px; border-radius:var(--radius-sm);
}
.skip-link:focus{ inset-inline-start:var(--space-4); top:var(--space-4); }

/* RTL support */
html[dir="rtl"] .eyebrow::before{ order:1; }
html[dir="rtl"] .container{ direction:rtl; }
html[dir="rtl"] .eyebrow{ direction:rtl; }

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--color-accent);
  outline-offset:2px;
}
