/* ══ Polices auto-hébergées (Noto Kufi Arabic, IBM Plex Sans Arabic, Inter) ══
   Sous-ensembles arabic + latin uniquement (générés via scripts/downloadFonts.js).
   Auto-hébergement + preload dans index.html au lieu de Google Fonts : supprime
   la requête tierce et raccourcit la fenêtre du flash de police (FOUT). */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-300-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-300-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-400-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-400-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-500-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-500-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-600-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-600-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-700-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/ibm-plex-sans-arabic-700-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/inter-400-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/inter-500-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/inter-600-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/inter-700-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-500-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-500-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-600-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-600-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-700-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-700-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-800-normal-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Noto Kufi Arabic';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/noto-kufi-arabic-800-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.ap-landing,
.ap-landing * { box-sizing: border-box; }

.ap-landing { color-scheme: dark; }

/* Encart autour de la landing : reproduit l'inset net des wrappers
   Systeme.io mesuré sur l'original (38px haut / 10px côtés en desktop,
   10px partout ≤800px). Padding (pas margin) pour éviter toute fusion
   de marges avec html/body. */
body { margin: 0; padding: 38px 10px; }
@media (max-width: 800px) { body { padding: 10px; } }

/* Le framework Systeme.io resetait les titres à font-weight:400 (mesuré
   sur l'original : final h2 = 400, card h3 = 400) ; sans ce reset le
   défaut navigateur (700) élargit les glyphes et casse les retours à la
   ligne. :where() = spécificité nulle : les graisses explicites du CSS
   custom (hero 800, section h2 800…) gardent la priorité. */
:where(.ap-landing h1, .ap-landing h2, .ap-landing h3,
       .ap-landing h4, .ap-landing h5, .ap-landing h6) { font-weight: 400; }

/* Même origine : le framework resetait button { font: inherit } — sans
   quoi les <button> retombent sur la police système (Arial). */
:where(.ap-landing button) { font-family: inherit; }

.ap-landing {
  --ap-ink: #15130F;
  --ap-charcoal: #262420;
  --ap-gold: #A09058;
  --ap-gold-soft: #C7B98A;
  --ap-ivory: #F7F3EA;
  --ap-warm-white: #FCFAF4;
  --ap-stone: #8C8674;
  --ap-line: #E3DCCB;
  --ap-dark-card: #1E1B15;
  --ap-muted-gold: rgba(160, 144, 88, 0.18);
  --ap-shadow: 0 28px 90px rgba(21,19,15,.18);
  --ap-radius: 26px;
  direction: rtl;
  /* Le wrapper Systeme.io centrait le texte par défaut ; .ap-landing en
     héritait sur la page d'origine — reproduit ici explicitement. */
  text-align: center;
  overflow-x: clip;
  background: var(--ap-warm-white);
  color: var(--ap-ink);
  font-family: "IBM Plex Sans Arabic", system-ui, sans-serif;
  scroll-behavior: smooth;
}

.ap-landing a { color: inherit; text-decoration: none; }
.ap-landing p, .ap-landing h1, .ap-landing h2, .ap-landing h3 { margin: 0; }
.ap-container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }

.ap-header {
  position: sticky;
  top: 0;
  z-index: 999;
  padding: 14px 0;
  background: rgba(21,19,15,.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(199,185,138,.16);
  transition: .35s ease;
}
.ap-header.is-scrolled { padding: 9px 0; background: rgba(21,19,15,.96); box-shadow: 0 16px 45px rgba(0,0,0,.22); }
.ap-nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ap-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--ap-warm-white); min-width: max-content; }
.ap-logo-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; border: 1px solid rgba(199,185,138,.42); color: var(--ap-gold-soft); font-family: Inter, sans-serif; font-size: 12px; letter-spacing: .12em; background: linear-gradient(135deg, rgba(160,144,88,.24), rgba(255,255,255,.04)); }
.ap-logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.ap-logo-text strong { font-family: "Noto Kufi Arabic", sans-serif; font-size: 17px; }
.ap-logo-text em { font-family: Inter, sans-serif; font-style: normal; font-size: 11px; color: rgba(252,250,244,.62); letter-spacing: .07em; }
.ap-accred { font-family: Inter, sans-serif; font-size: 10px; color: var(--ap-gold-soft); border: 1px solid rgba(199,185,138,.28); padding: 7px 9px; border-radius: 999px; }
.ap-nav { display: flex; align-items: center; gap: 22px; color: rgba(252,250,244,.72); font-size: 14px; }
.ap-nav a { transition: .25s ease; }
.ap-nav a:hover { color: var(--ap-gold-soft); }
.ap-nav-actions { display: flex; align-items: center; gap: 10px; }
.ap-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 25px; border-radius: 999px; font-weight: 700; font-size: 15px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; isolation: isolate; }
.ap-btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 0 35%, rgba(255,255,255,.32) 50%, transparent 65%); transform: translateX(120%); transition: .6s ease; z-index: -1; }
.ap-btn:hover::after { transform: translateX(-120%); }
.ap-btn.ap-btn-primary { background: var(--ap-gold); color: var(--ap-ink); box-shadow: 0 16px 34px rgba(160,144,88,.22); }
.ap-btn.ap-btn-secondary { border: 1px solid rgba(199,185,138,.62); color: var(--ap-gold-soft); background: rgba(255,255,255,.03); }
.ap-btn.ap-btn-ghost { border: 1px solid rgba(199,185,138,.44); color: var(--ap-gold-soft); background: transparent; }
.ap-btn-small { min-height: 42px; padding: 0 18px; font-size: 13px; }
.ap-mobile-cta { display: none; }
.ap-menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid rgba(199,185,138,.32); border-radius: 14px; background: transparent; color: var(--ap-warm-white); padding: 10px; }
.ap-menu-toggle span { display: block; height: 2px; background: var(--ap-gold-soft); margin: 5px 0; transition: .25s ease; }

.ap-section, .ap-final { position: relative; padding: 110px 0; overflow: hidden; }
.ap-section-dark { background: radial-gradient(circle at 20% 15%, rgba(160,144,88,.16), transparent 34%), linear-gradient(135deg, var(--ap-ink), #0f0d09); color: var(--ap-warm-white); }
.ap-section-no { position: absolute; inset-inline-start: 4vw; top: 58px; font-family: Inter, sans-serif; font-size: clamp(70px, 11vw, 170px); font-weight: 700; line-height: .8; color: rgba(160,144,88,.08); pointer-events: none; }
.ap-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--ap-gold); font-family: Inter, "IBM Plex Sans Arabic", sans-serif; font-size: 13px; font-weight: 800; letter-spacing: .06em; margin-bottom: 18px; }
.ap-kicker::before { content: ""; width: 38px; height: 1px; background: var(--ap-gold); }
.ap-title { font-family: "Noto Kufi Arabic", "IBM Plex Sans Arabic", sans-serif; font-size: clamp(31px, 4.7vw, 64px); line-height: 1.18; letter-spacing: -.04em; font-weight: 800; }
.ap-lead { max-width: 780px; margin: 18px auto 0; color: var(--ap-stone); font-size: 18px; line-height: 2; }
.ap-section-dark .ap-lead, .ap-section-dark .ap-text-stack p { color: rgba(252,250,244,.72); }
.ap-section-head { text-align: center; margin-bottom: 48px; }

.ap-hero { min-height: 92vh; display: grid; align-items: center; padding: 92px 0 80px; position: relative; overflow: hidden; }
.ap-hero-bg-text { position: absolute; left: 2vw; bottom: 5vh; direction: ltr; font-family: Inter, sans-serif; font-size: clamp(42px, 9vw, 134px); line-height: .86; font-weight: 800; letter-spacing: -.08em; color: rgba(252,250,244,.035); max-width: 880px; }
.ap-hero-grid { position: absolute; inset: 0; transform: perspective(900px) rotateX(58deg) translateY(-18%); transform-origin: top; opacity: .7; overflow: hidden; }
.ap-hero-grid::before { content: ""; position: absolute; inset: -58px; background-image: linear-gradient(rgba(199,185,138,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(199,185,138,.06) 1px, transparent 1px); background-size: 58px 58px; animation: apGrid 16s linear infinite; will-change: transform; }
.ap-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: .95fr 1.05fr; gap: 48px; align-items: center; }
.ap-badge { width: fit-content; display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid rgba(199,185,138,.32); border-radius: 999px; color: rgba(252,250,244,.8); font-size: 13px; background: rgba(255,255,255,.04); margin-bottom: 22px; }
.ap-badge span { width: 8px; height: 8px; border-radius: 99px; background: var(--ap-gold-soft); box-shadow: 0 0 20px var(--ap-gold-soft); }
.ap-hero-title { font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(46px, 7vw, 92px); line-height: 1.05; letter-spacing: -.06em; font-weight: 800; }
.ap-hero-title span { color: var(--ap-gold-soft); display: block; }
.ap-rotator { margin-top: 18px; min-height: 45px; font-family: "Noto Kufi Arabic", sans-serif; color: var(--ap-gold-soft); font-size: clamp(24px, 3vw, 39px); font-weight: 700; }
.ap-rotator span { display: inline-block; animation: apWordIn .45s ease; }
.ap-hero-sub { color: rgba(252,250,244,.74); font-size: 18px; line-height: 2.05; max-width: 690px; margin-top: 22px; }
.ap-hero-emphasis { border-inline-start: 2px solid var(--ap-gold); padding-inline-start: 18px; margin-top: 22px; color: var(--ap-warm-white); line-height: 1.9; font-size: 17px; }
.ap-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
/* text-align:start (≠ center hérité) : cale la légende sous les boutons,
   qui sont en flex-start — corrige le rendu bancal de l'original.
   Le centrage mobile (≤991px) reste inchangé plus bas. */
.ap-reassurance { margin-top: 14px; color: rgba(252,250,244,.58); font-size: 13px; text-align: start; }

.ap-hero-visual { height: min(600px, 72vw); min-height: 420px; position: relative; transform-style: preserve-3d; perspective: 1100px; }
.ap-orbit { position: absolute; border: 1px solid rgba(199,185,138,.18); border-radius: 50%; transform-style: preserve-3d; }
.ap-orbit-one { inset: 8% 7%; animation: apSpin 18s linear infinite; }
.ap-orbit-two { inset: 19% 18%; transform: rotateX(62deg); animation: apSpinReverse 24s linear infinite; }
.ap-value-core { position: absolute; width: 86px; height: 86px; border-radius: 24px; top: 42%; left: 42%; background: linear-gradient(145deg, rgba(160,144,88,.38), rgba(255,255,255,.05)); border: 1px solid rgba(199,185,138,.34); transform: rotateX(58deg) rotateZ(45deg); box-shadow: 0 0 90px rgba(160,144,88,.28); animation: apFloat 5s ease-in-out infinite; }
.ap-value-core span { position: absolute; inset: 17px; border-radius: 16px; background: rgba(252,250,244,.08); }
.ap-report-card { position: absolute; right: 13%; top: 18%; width: 300px; min-height: 365px; padding: 24px; border-radius: 24px; background: linear-gradient(160deg, rgba(252,250,244,.98), rgba(247,243,234,.86)); color: var(--ap-ink); box-shadow: 0 34px 100px rgba(0,0,0,.34); transform: rotateY(-18deg) rotateX(8deg) rotateZ(3deg); transform-style: preserve-3d; animation: apFloat 7s ease-in-out infinite; }
.ap-report-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--ap-stone); font-size: 12px; }
.ap-report-top i { font-family: Inter, sans-serif; font-style: normal; color: var(--ap-gold); }
.ap-report-lines { margin-top: 42px; display: grid; gap: 14px; }
.ap-report-lines b { display: block; height: 10px; border-radius: 999px; background: var(--ap-line); }
.ap-report-lines b:nth-child(1) { width: 92%; }
.ap-report-lines b:nth-child(2) { width: 70%; }
.ap-report-lines b:nth-child(3) { width: 82%; }
.ap-report-lines b:nth-child(4) { width: 58%; background: var(--ap-gold-soft); }
.ap-report-stamp { position: absolute; left: 24px; bottom: 90px; width: 84px; height: 84px; display: grid; place-items: center; border-radius: 50%; border: 2px solid rgba(160,144,88,.52); color: var(--ap-gold); font-weight: 800; transform: rotate(-14deg); }
.ap-report-value { position: absolute; right: 24px; bottom: 26px; color: var(--ap-ink); background: rgba(160,144,88,.16); border: 1px solid rgba(160,144,88,.26); border-radius: 999px; padding: 10px 14px; font-weight: 700; }
.ap-wire-land { position: absolute; left: 9%; bottom: 13%; width: 380px; height: 190px; transform: perspective(800px) rotateX(62deg) rotateZ(-10deg); background-image: linear-gradient(rgba(199,185,138,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(199,185,138,.22) 1px, transparent 1px); background-size: 42px 42px; border: 1px solid rgba(199,185,138,.28); box-shadow: 0 0 60px rgba(160,144,88,.1); }
.ap-tower { position: absolute; bottom: 25%; width: 50px; background: linear-gradient(180deg, rgba(199,185,138,.28), rgba(252,250,244,.04)); border: 1px solid rgba(199,185,138,.22); box-shadow: inset 0 0 20px rgba(255,255,255,.06); }
.ap-tower-a { left: 19%; height: 188px; border-radius: 14px 14px 4px 4px; }
.ap-tower-b { left: 29%; height: 122px; border-radius: 14px 14px 4px 4px; }
.ap-stamp { position: absolute; direction: ltr; font-family: Inter, sans-serif; font-size: 12px; letter-spacing: .16em; color: var(--ap-gold-soft); border: 1px solid rgba(199,185,138,.35); border-radius: 999px; padding: 10px 14px; background: rgba(30,27,21,.6); backdrop-filter: blur(10px); }
.ap-stamp-bank { right: 3%; top: 25%; }
.ap-stamp-court { left: 16%; top: 22%; }
.ap-dashboard-card { position: absolute; left: 4%; top: 46%; width: 210px; padding: 18px; border-radius: 22px; background: rgba(30,27,21,.72); border: 1px solid rgba(199,185,138,.22); backdrop-filter: blur(14px); box-shadow: 0 20px 70px rgba(0,0,0,.24); }
.ap-dashboard-card span { display: block; color: rgba(252,250,244,.72); margin-bottom: 10px; }
.ap-dashboard-card svg { width: 100%; height: 74px; }
.ap-dashboard-card path, .ap-trend path { fill: none; stroke: var(--ap-gold-soft); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 420; stroke-dashoffset: 420; animation: apLine 3.5s ease infinite alternate; }
.ap-floating-label { position: absolute; padding: 9px 12px; border-radius: 999px; background: rgba(252,250,244,.08); border: 1px solid rgba(199,185,138,.22); color: rgba(252,250,244,.74); font-size: 13px; backdrop-filter: blur(12px); }
.ap-fl-1 { right: 0; bottom: 26%; }
.ap-fl-2 { left: 26%; bottom: 6%; }
.ap-fl-3 { right: 31%; top: 9%; }
.ap-coordinates span { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--ap-gold-soft); box-shadow: 0 0 22px var(--ap-gold-soft); }
.ap-coordinates span:nth-child(1) { left: 22%; top: 15%; }
.ap-coordinates span:nth-child(2) { right: 8%; bottom: 22%; }
.ap-coordinates span:nth-child(3) { left: 40%; bottom: 30%; }
.ap-coordinates span:nth-child(4) { right: 45%; top: 4%; }

.ap-ticker-wrap { background: var(--ap-ink); border-block: 1px solid rgba(199,185,138,.14); overflow: hidden; color: rgba(252,250,244,.74); }
.ap-ticker-track { display: flex; width: max-content; animation: apTicker 30s linear infinite; }
.ap-ticker-row { display: flex; align-items: center; gap: 18px; padding: 16px 0; white-space: nowrap; }
.ap-ticker-row span { font-size: 15px; padding: 0 8px; }
.ap-ticker-row b { width: 6px; height: 6px; border-radius: 50%; background: var(--ap-gold); opacity: .72; }

.ap-two-col { display: grid; grid-template-columns: .95fr 1.05fr; gap: 48px; align-items: start; }
.ap-copy-block { position: relative; padding-inline-start: 24px; }
.ap-copy-block::before { content: ""; position: absolute; inset-inline-start: 0; top: 8px; width: 2px; height: 88px; background: linear-gradient(var(--ap-gold), transparent); }
.ap-text-stack { display: grid; gap: 18px; color: var(--ap-charcoal); font-size: 18px; line-height: 2.05; }
.ap-card-grid { display: grid; gap: 18px; }
.ap-card-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ap-card-grid-4 { grid-template-columns: repeat(4, 1fr); }
.ap-card { margin-top: 42px; padding: 30px; min-height: 220px; border-radius: var(--ap-radius); background: var(--ap-ivory); border: 1px solid var(--ap-line); box-shadow: 0 12px 45px rgba(21,19,15,.06); transition: .28s ease; }
.ap-card span { font-family: Inter, sans-serif; color: var(--ap-gold); font-weight: 800; }
.ap-card h3 { font-size: 24px; margin-top: 38px; margin-bottom: 14px; }
.ap-card p { color: var(--ap-stone); line-height: 1.9; }
.ap-tilt:hover { transform: translateY(-8px) rotateX(2deg) rotateY(-2deg); box-shadow: var(--ap-shadow); }

.ap-decisions { background: linear-gradient(180deg, var(--ap-warm-white), var(--ap-ivory)); }
.ap-decision-layout { display: grid; grid-template-columns: 390px 1fr; gap: 22px; align-items: stretch; }
.ap-decision-tabs { display: grid; gap: 10px; }
.ap-decision-tab { font-family: inherit; text-align: right; border: 1px solid var(--ap-line); background: rgba(252,250,244,.78); color: var(--ap-charcoal); padding: 17px 18px; border-radius: 18px; cursor: pointer; font-weight: 700; transition: .25s ease; }
.ap-decision-tab:hover, .ap-decision-tab.is-active { border-color: rgba(160,144,88,.52); background: var(--ap-ink); color: var(--ap-gold-soft); transform: translateX(-5px); }
.ap-decision-panel { position: relative; min-height: 100%; padding: clamp(28px, 5vw, 54px); border-radius: 34px; background: radial-gradient(circle at 18% 20%, rgba(160,144,88,.16), transparent 38%), var(--ap-ink); color: var(--ap-warm-white); overflow: hidden; box-shadow: var(--ap-shadow); }
.ap-decision-panel::after { content: ""; position: absolute; inset: auto -18% -28% auto; width: 360px; height: 360px; border: 1px solid rgba(199,185,138,.18); border-radius: 50%; }
.ap-panel-label { color: var(--ap-gold-soft); font-family: Inter, sans-serif; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.ap-decision-panel h3 { margin-top: 22px; max-width: 720px; font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(28px, 4vw, 48px); line-height: 1.25; }
.ap-decision-panel p { margin-top: 18px; color: rgba(252,250,244,.72); line-height: 2; font-size: 18px; max-width: 760px; }
.ap-panel-offer { margin: 28px 0; padding: 18px; border: 1px solid rgba(199,185,138,.18); background: rgba(252,250,244,.05); border-radius: 20px; display: grid; gap: 6px; max-width: 560px; }
.ap-panel-offer small { direction: ltr; font-family: Inter, sans-serif; color: rgba(252,250,244,.48); text-transform: uppercase; letter-spacing: .11em; }
.ap-panel-offer strong { color: var(--ap-gold-soft); }

.ap-segment-card { min-height: 360px; border-radius: 26px; padding: 24px; background: rgba(252,250,244,.86); border: 1px solid var(--ap-line); box-shadow: 0 14px 40px rgba(21,19,15,.06); transition: .28s ease; }
.ap-segment-card p { color: var(--ap-gold); font-weight: 800; }
.ap-segment-card h3 { font-size: 21px; margin-top: 9px; line-height: 1.55; min-height: 66px; }
.ap-segment-card dl { margin: 20px 0; display: grid; gap: 9px; }
.ap-segment-card dt { color: var(--ap-stone); font-size: 12px; font-weight: 800; }
.ap-segment-card dd { margin: 0; color: var(--ap-charcoal); line-height: 1.75; font-size: 14px; }
.ap-segment-card strong { display: block; border-top: 1px solid var(--ap-line); padding-top: 15px; color: var(--ap-ink); line-height: 1.6; }

.ap-services { background: var(--ap-ivory); }
.ap-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ap-service-card { position: relative; padding: 26px; border-radius: 24px; background: var(--ap-warm-white); border: 1px solid var(--ap-line); min-height: 230px; overflow: hidden; transition: .25s ease; }
.ap-service-card:hover { transform: translateY(-6px); box-shadow: 0 18px 54px rgba(21,19,15,.09); }
.ap-service-card span { width: 42px; height: 42px; border-radius: 15px; display: block; background: linear-gradient(135deg, rgba(160,144,88,.22), rgba(160,144,88,.05)); border: 1px solid rgba(160,144,88,.22); margin-bottom: 28px; }
.ap-service-card h3 { font-size: 22px; margin-bottom: 12px; }
.ap-service-card p { color: var(--ap-stone); line-height: 1.85; }
.ap-center-cta { margin-top: 42px; text-align: center; display: grid; gap: 18px; justify-items: center; }
.ap-center-cta p { color: var(--ap-stone); }

.ap-proof-rail { margin-top: 46px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.ap-dark-proof { min-height: 280px; padding: 26px 20px; border-radius: 24px; background: rgba(252,250,244,.05); border: 1px solid rgba(199,185,138,.18); backdrop-filter: blur(12px); position: relative; overflow: hidden; }
.ap-dark-proof::before { content: ""; position: absolute; top: 0; right: 22px; width: 1px; height: 54px; background: var(--ap-gold); }
.ap-dark-proof h3 { margin-top: 56px; font-size: 23px; color: var(--ap-gold-soft); }
.ap-dark-proof p { margin-top: 14px; color: rgba(252,250,244,.68); line-height: 1.8; font-size: 14px; }
.ap-big-quote { margin: 52px 0 0; padding: clamp(28px, 5vw, 56px); border-radius: 30px; border: 1px solid rgba(199,185,138,.22); color: var(--ap-warm-white); font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(28px, 4vw, 54px); line-height: 1.4; background: linear-gradient(135deg, rgba(160,144,88,.14), rgba(252,250,244,.04)); }

.ap-timeline { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 15px; margin-top: 54px; }
.ap-timeline-line { position: absolute; top: 31px; inset-inline: 7%; height: 2px; background: var(--ap-line); overflow: hidden; }
.ap-timeline-line span { display: block; height: 100%; width: 100%; background: var(--ap-gold); transform-origin: right; transform: scaleX(0); animation: apProgress 4.5s ease infinite alternate; }
.ap-step { position: relative; z-index: 1; background: var(--ap-warm-white); border: 1px solid var(--ap-line); border-radius: 24px; padding: 24px 18px; min-height: 260px; }
.ap-step b { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; background: var(--ap-ink); color: var(--ap-gold-soft); font-family: Inter, sans-serif; margin-bottom: 36px; }
.ap-step h3 { font-size: 20px; margin-bottom: 10px; }
.ap-step p { color: var(--ap-stone); line-height: 1.75; font-size: 14px; }

.ap-b2b-card { min-height: 210px; padding: 28px; border-radius: 26px; background: rgba(252,250,244,.05); border: 1px solid rgba(199,185,138,.18); transition: .25s ease; }
.ap-b2b-card:hover { transform: translateY(-6px); background: rgba(252,250,244,.08); }
.ap-b2b-card h3 { color: var(--ap-gold-soft); font-size: 23px; margin-bottom: 12px; }
.ap-b2b-card p { color: rgba(252,250,244,.68); line-height: 1.85; }
.ap-english-line { direction: ltr; font-family: Inter, sans-serif; color: rgba(252,250,244,.54) !important; }

.ap-data { background: linear-gradient(180deg, var(--ap-warm-white), var(--ap-ivory)); }
.ap-data-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 44px; align-items: center; }
.ap-data .ap-copy-block p:not(.ap-kicker) { margin-top: 20px; color: var(--ap-charcoal); line-height: 2; font-size: 17px; }
.ap-mini-chip-wrap { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.ap-mini-chip-wrap span { padding: 10px 13px; border-radius: 999px; background: var(--ap-warm-white); border: 1px solid var(--ap-line); color: var(--ap-stone); font-size: 13px; }
.ap-dashboard { min-height: 520px; border-radius: 34px; background: radial-gradient(circle at 20% 12%, rgba(160,144,88,.22), transparent 32%), var(--ap-ink); border: 1px solid rgba(160,144,88,.22); box-shadow: var(--ap-shadow); padding: 26px; color: var(--ap-warm-white); position: relative; overflow: hidden; }
.ap-dashboard::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(199,185,138,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(199,185,138,.06) 1px, transparent 1px); background-size: 44px 44px; opacity: .7; }
.ap-dashboard > * { position: relative; z-index: 1; }
.ap-dash-top { display: flex; justify-content: space-between; align-items: center; direction: ltr; font-family: Inter, sans-serif; color: rgba(252,250,244,.62); }
.ap-dash-top b { color: var(--ap-gold-soft); border: 1px solid rgba(199,185,138,.32); border-radius: 12px; padding: 8px 10px; }
.ap-trend { height: 220px; margin-top: 44px; border-radius: 22px; background: rgba(252,250,244,.04); border: 1px solid rgba(199,185,138,.13); padding: 22px; }
.ap-trend svg { width: 100%; height: 100%; }
.ap-dash-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 18px; }
.ap-dash-grid div { padding: 16px; border-radius: 18px; background: rgba(252,250,244,.05); border: 1px solid rgba(199,185,138,.14); }
.ap-dash-grid small { direction: ltr; display: block; font-family: Inter, sans-serif; color: rgba(252,250,244,.52); }
.ap-dash-grid strong { display: block; margin: 8px 0 12px; color: var(--ap-warm-white); }
.ap-dash-grid i { display: block; height: 7px; width: 100%; border-radius: 999px; background: rgba(252,250,244,.12); overflow: hidden; }
.ap-dash-grid i::after { content: ""; display: block; height: 100%; width: var(--w); background: var(--ap-gold-soft); border-radius: inherit; animation: apBar 2.8s ease infinite alternate; }
.ap-location-pin { position: absolute; left: 38px; top: 130px; padding: 10px 13px; border-radius: 999px; background: rgba(160,144,88,.16); border: 1px solid rgba(199,185,138,.25); color: var(--ap-gold-soft); font-size: 13px; }

.ap-proof-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.ap-proof-card { min-height: 180px; border-radius: 24px; padding: 24px; background: var(--ap-ivory); border: 1px solid var(--ap-line); display: grid; align-content: space-between; }
.ap-proof-card strong { font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(20px, 2.6vw, 34px); color: var(--ap-gold); line-height: 1.4; }
.ap-proof-card span { color: var(--ap-charcoal); line-height: 1.7; }
.ap-small-note { margin-top: 18px; color: var(--ap-stone); font-size: 13px; text-align: center; }

.ap-projects { background: var(--ap-ivory); }
.ap-project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ap-project-card { position: relative; min-height: 190px; border-radius: 26px; padding: 24px; background: linear-gradient(135deg, rgba(21,19,15,.78), rgba(38,36,32,.92)); color: var(--ap-warm-white); border: 1px solid rgba(199,185,138,.22); overflow: hidden; }
.ap-project-card::after { content: ""; position: absolute; inset: auto -30px -70px auto; width: 160px; height: 160px; border: 1px solid rgba(199,185,138,.18); border-radius: 50%; }
.ap-project-card span { display: inline-flex; color: var(--ap-gold-soft); font-size: 12px; border: 1px solid rgba(199,185,138,.28); border-radius: 999px; padding: 7px 10px; margin-bottom: 46px; }
.ap-project-card h3 { font-size: 24px; margin-bottom: 8px; }
.ap-project-card p { color: rgba(252,250,244,.62); }
.ap-logo-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 32px; }
.ap-logo-strip span { min-height: 84px; display: grid; place-items: center; border-radius: 20px; background: var(--ap-warm-white); border: 1px dashed rgba(160,144,88,.34); color: var(--ap-stone); font-weight: 700; }

.ap-faq-list { max-width: 920px; margin: 0 auto; display: grid; gap: 12px; }
.ap-faq-item { border: 1px solid var(--ap-line); border-radius: 20px; background: var(--ap-warm-white); overflow: hidden; }
.ap-faq-item button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 0; background: transparent; cursor: pointer; padding: 21px 22px; text-align: right; color: var(--ap-ink); font: 700 17px "IBM Plex Sans Arabic", sans-serif; }
.ap-faq-item button span { position: relative; flex: 0 0 auto; width: 18px; height: 18px; }
.ap-faq-item button span::before, .ap-faq-item button span::after { content: ""; position: absolute; inset: 8px 0 auto 0; height: 2px; background: var(--ap-gold); transition: .25s ease; }
.ap-faq-item button span::after { transform: rotate(90deg); }
.ap-faq-item.is-open button span::after { transform: rotate(0); }
.ap-faq-item div { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.ap-faq-item p { color: var(--ap-stone); line-height: 1.9; padding: 0 22px 22px; }

.ap-final { padding: 120px 0; }
.ap-final-inner { display: grid; grid-template-columns: 1fr .8fr; gap: 42px; align-items: center; }
.ap-final h2 { font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(38px, 6vw, 76px); line-height: 1.16; letter-spacing: -.05em; }
.ap-final p { color: rgba(252,250,244,.72); line-height: 2; font-size: 18px; margin-top: 20px; max-width: 720px; }
.ap-final-visual { min-height: 400px; display: grid; place-items: center; perspective: 900px; }
.ap-final-report { width: min(330px, 82vw); min-height: 420px; border-radius: 28px; padding: 28px; background: linear-gradient(160deg, rgba(252,250,244,.98), rgba(247,243,234,.84)); color: var(--ap-ink); transform: rotateY(20deg) rotateX(8deg); box-shadow: 0 40px 110px rgba(0,0,0,.32); animation: apFloat 6.5s ease-in-out infinite; }
.ap-final-report span { direction: ltr; display: block; font-family: Inter, sans-serif; letter-spacing: .15em; color: var(--ap-gold); font-size: 12px; }
.ap-final-report strong { display: block; font-family: "Noto Kufi Arabic", sans-serif; font-size: 31px; line-height: 1.45; margin: 64px 0 40px; }
.ap-final-report i { display: block; height: 12px; margin-top: 16px; border-radius: 99px; background: var(--ap-line); }
.ap-final-report i:nth-child(4) { width: 74%; }
.ap-final-report i:nth-child(5) { width: 52%; background: var(--ap-gold-soft); }

.ap-footer { background: #0f0d09; color: rgba(252,250,244,.74); padding: 64px 0 24px; }
.ap-footer-grid { display: grid; grid-template-columns: 1.3fr .75fr 1fr 1.1fr; gap: 28px; }
.ap-footer h3 { color: var(--ap-warm-white); font-family: "Noto Kufi Arabic", sans-serif; font-size: 26px; line-height: 1.35; }
.ap-footer h3 span { font-family: Inter, sans-serif; font-size: 13px; color: var(--ap-gold-soft); letter-spacing: .08em; }
.ap-footer h4 { color: var(--ap-gold-soft); margin: 0 0 16px; }
.ap-footer a, .ap-footer p { display: block; color: rgba(252,250,244,.62); margin: 0 0 10px; line-height: 1.7; transition: .25s ease; }
.ap-footer a:hover { color: var(--ap-gold-soft); }
.ap-footer-bottom { width: min(1180px, calc(100% - 32px)); margin: 42px auto 0; padding-top: 22px; border-top: 1px solid rgba(199,185,138,.14); display: flex; justify-content: space-between; gap: 18px; color: rgba(252,250,244,.46); font-size: 13px; }
.ap-footer-bottom span:last-child { direction: ltr; font-family: Inter, sans-serif; }

.ap-reveal { opacity: 0; transform: translateY(28px); filter: blur(8px); transition: opacity .75s ease, transform .75s ease, filter .75s ease; }
.ap-reveal.is-visible { opacity: 1; transform: translateY(0); filter: blur(0); }

@keyframes apGrid { to { transform: translate3d(58px, 58px, 0); } }
@keyframes apTicker { to { transform: translateX(50%); } }
@keyframes apSpin { to { transform: rotate(360deg); } }
@keyframes apSpinReverse { to { transform: rotate(-360deg); } }
@keyframes apFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -16px; } }
@keyframes apLine { to { stroke-dashoffset: 0; } }
@keyframes apBar { from { transform: scaleX(.35); transform-origin: right; } to { transform: scaleX(1); transform-origin: right; } }
@keyframes apProgress { to { transform: scaleX(1); } }
@keyframes apWordIn { from { opacity: 0; transform: translateY(14px); filter: blur(6px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }

@media (max-width: 1120px) {
  .ap-nav { position: fixed; top: 71px; right: 16px; left: 16px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 14px; background: rgba(21,19,15,.98); border: 1px solid rgba(199,185,138,.2); border-radius: 22px; box-shadow: var(--ap-shadow); }
  .ap-nav.is-open { display: flex; }
  .ap-nav a { padding: 14px 12px; border-bottom: 1px solid rgba(199,185,138,.1); }
  .ap-menu-toggle { display: block; }
  .ap-nav-actions .ap-btn-primary { display: none; }
  .ap-mobile-cta { display: inline-flex; }
  .ap-accred { display: none; }
  .ap-card-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .ap-proof-rail, .ap-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .ap-timeline { grid-template-columns: repeat(2, 1fr); }
  .ap-timeline-line { display: none; }
}

@media (max-width: 880px) {
  .ap-section, .ap-final { padding: 78px 0; }
  .ap-hero { padding: 74px 0 62px; min-height: auto; }
  .ap-hero-inner, .ap-two-col, .ap-decision-layout, .ap-data-layout, .ap-final-inner { grid-template-columns: 1fr; }
  .ap-hero-visual { order: 2; min-height: 430px; height: 500px; margin-top: 10px; }
  .ap-card-grid-3, .ap-service-grid, .ap-project-grid, .ap-logo-strip, .ap-footer-grid { grid-template-columns: 1fr; }
  .ap-card { margin-top: 0; }
  .ap-decision-tabs { grid-template-columns: repeat(2, 1fr); }
  .ap-decision-tab { font-size: 13px; padding: 14px 12px; }
  .ap-proof-rail, .ap-proof-grid { grid-template-columns: 1fr; }
  .ap-dark-proof { min-height: 220px; }
  .ap-footer-bottom { flex-direction: column; }
}

@media (max-width: 620px) {
  .ap-container { width: min(100% - 22px, 1180px); }
  .ap-logo-mark { width: 38px; height: 38px; }
  .ap-logo-text strong { font-size: 15px; }
  .ap-hero-title { font-size: 43px; }
  .ap-hero-sub, .ap-hero-emphasis, .ap-text-stack, .ap-final p { font-size: 16px; }
  .ap-btn { width: 100%; }
  .ap-mobile-cta { width: auto; }
  .ap-hero-actions { width: 100%; }
  .ap-hero-visual { height: 390px; min-height: 390px; transform: scale(.88); transform-origin: center top; margin-bottom: -36px; }
  .ap-report-card { right: 2%; width: 260px; min-height: 320px; }
  .ap-wire-land { left: -14%; width: 320px; }
  .ap-dashboard-card { left: -6%; width: 190px; }
  .ap-stamp-court { left: 1%; }
  .ap-decision-tabs, .ap-card-grid-4, .ap-timeline, .ap-dash-grid { grid-template-columns: 1fr; }
  .ap-section-no { opacity: .6; }
  .ap-title { font-size: 31px; }
  .ap-final-report { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ap-landing *, .ap-landing *::before, .ap-landing *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .ap-reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}


/* ===== V2 refinements: more space, more visuals, less density ===== */
.ap-container{width:min(1220px, calc(100% - 40px));}
.ap-section, .ap-final{padding:136px 0;}
.ap-section-head{margin-bottom:68px;}
.ap-hero{padding:112px 0 96px;}
.ap-hero-inner,.ap-data-layout,.ap-final-inner{gap:64px;}
.ap-decision-layout{gap:30px;}
.ap-card-grid-3,.ap-card-grid-4,.ap-service-grid,.ap-proof-grid,.ap-project-grid,.ap-logo-strip{gap:22px;}
.ap-decision-tabs,.ap-faq-list{gap:14px;}
.ap-proof-rail{gap:18px;}
.ap-footer-grid{gap:36px;}
.ap-lead{max-width:700px; line-height:1.9;}
.ap-hero-sub,.ap-decision-panel p,.ap-final p,.ap-data .ap-copy-block p:not(.ap-kicker){font-size:17px; line-height:1.95; max-width:640px;}
.ap-card,.ap-segment-card,.ap-service-card,.ap-b2b-card,.ap-step,.ap-proof-card,.ap-project-card,.ap-faq-item,.ap-decision-panel{position:relative; overflow:hidden;}
.ap-card,.ap-segment-card,.ap-service-card,.ap-b2b-card,.ap-step,.ap-proof-card,.ap-project-card,.ap-faq-item{padding:30px; border-radius:28px;}
.ap-card::before,.ap-segment-card::before,.ap-service-card::before,.ap-b2b-card::before,.ap-step::before,.ap-proof-card::before,.ap-project-card::before,.ap-decision-panel::before,.ap-faq-item::before{content:""; position:absolute; inset-inline-end:20px; top:20px; width:56px; height:56px; border:1px solid rgba(160,144,88,.14); border-radius:18px; opacity:.75; pointer-events:none;}
.ap-section::before,.ap-final::before{content:""; position:absolute; top:24px; left:0; right:0; width:min(1120px, calc(100% - 60px)); height:1px; margin:auto; background:linear-gradient(90deg, transparent, rgba(160,144,88,.22), transparent);}
.ap-kicker{margin-bottom:22px;}
.ap-title{max-width:900px; margin-inline:auto;}
.ap-card h3,.ap-service-card h3,.ap-b2b-card h3,.ap-step h3{line-height:1.5;}
.ap-card p,.ap-service-card p,.ap-step p,.ap-b2b-card p,.ap-segment-card dd,.ap-faq-item p{line-height:1.85;}
.ap-card{min-height:240px; margin-top:52px;}
.ap-decision-tab{padding:19px 20px; min-height:62px;}
.ap-decision-panel{border-radius:36px;}
.ap-panel-offer{padding:20px 22px;}
.ap-segment-card{min-height:330px; background:linear-gradient(180deg, rgba(252,250,244,.95), rgba(247,243,234,.85));}
.ap-segment-card h3{min-height:unset;}
.ap-service-card{min-height:250px; background:linear-gradient(180deg, var(--ap-warm-white), var(--ap-ivory));}
.ap-service-card span{width:54px; height:54px; border-radius:18px; margin-bottom:24px; display:grid; place-items:center; transition:transform .35s ease;}
.ap-service-card span::before{content:""; width:18px; height:18px; border:2px solid var(--ap-gold); border-radius:5px; display:block;}
.ap-service-card:nth-child(2) span::before{width:18px; height:2px; border:0; background:var(--ap-gold); box-shadow:0 6px 0 var(--ap-gold), 0 -6px 0 var(--ap-gold);}
.ap-service-card:nth-child(3) span::before{width:18px; height:18px; border-radius:50%; border-style:dashed;}
.ap-service-card:nth-child(4) span::before{width:20px; height:20px; border-radius:50% 50% 50% 4px; transform:rotate(45deg);}
.ap-service-card:nth-child(5) span::before{width:20px; height:20px; border-radius:3px; border-width:2px 2px 0 0; transform:rotate(45deg);}
.ap-service-card:nth-child(6) span::before{width:20px; height:14px; border-radius:10px;}
.ap-service-card:nth-child(7) span::before{width:18px; height:18px; border-radius:3px; box-shadow:6px 6px 0 rgba(160,144,88,.26);}
.ap-service-card:nth-child(8) span::before{width:4px; height:24px; border:0; background:var(--ap-gold); box-shadow:8px 0 0 var(--ap-gold), -8px 0 0 var(--ap-gold);}
.ap-service-card:nth-child(9) span::before{width:20px; height:2px; border:0; background:var(--ap-gold); box-shadow:-7px 7px 0 var(--ap-gold-soft), 7px -7px 0 var(--ap-gold); transform:rotate(-18deg);}
.ap-proof-rail{margin-top:54px;}
.ap-dark-proof,.ap-b2b-card,.ap-decision-panel,.ap-project-card{backdrop-filter:blur(12px);}
.ap-dark-proof,.ap-b2b-card{min-height:300px;}
.ap-dark-proof h3{margin-top:60px;}
.ap-timeline-line{top:35px; inset-inline:8%;}
.ap-step{min-height:280px;}
.ap-step b{margin-bottom:28px; box-shadow:0 12px 30px rgba(21,19,15,.12);}
.ap-process.is-live .ap-timeline-line span{animation:none; transform:scaleX(1); transition:transform 1.6s cubic-bezier(.2,.7,.2,1);}
.ap-hero-visual::before{content:""; position:absolute; inset:12% 14%; border-radius:50%; background:radial-gradient(circle, rgba(160,144,88,.18), transparent 60%); filter:blur(24px); animation:apGlowPulse 7s ease-in-out infinite;}
.ap-hero-visual::after{content:""; position:absolute; inset:8%; border:1px dashed rgba(199,185,138,.1); border-radius:42px; transform:rotate(6deg);}
.ap-report-card,.ap-dashboard-card{backdrop-filter:blur(10px);}
.ap-floating-label{box-shadow:0 10px 30px rgba(0,0,0,.12);}
.ap-final-report{box-shadow:0 30px 100px rgba(0,0,0,.28);}
.ap-faq-item{box-shadow:0 10px 26px rgba(21,19,15,.04);}
.ap-faq-item button{padding:24px 24px;}
.ap-project-card span,.ap-logo-strip span{letter-spacing:.02em;}
.ap-btn{min-height:54px;}
.ap-btn-primary{box-shadow:0 18px 42px rgba(160,144,88,.24);}
.ap-btn-secondary,.ap-btn-ghost{backdrop-filter:blur(8px);}
@media (hover:hover){
  .ap-card:hover,.ap-segment-card:hover,.ap-service-card:hover,.ap-b2b-card:hover,.ap-step:hover,.ap-proof-card:hover,.ap-project-card:hover,.ap-faq-item:hover{transform:translateY(-10px); box-shadow:0 24px 60px rgba(21,19,15,.11);}
  .ap-service-card:hover span{transform:rotate(8deg) scale(1.08);}
}
@keyframes apGlowPulse{0%,100%{opacity:.6; transform:scale(.96);}50%{opacity:1; transform:scale(1.04);}}
@media (max-width: 991px){
  .ap-section,.ap-final{padding:96px 0;}
  .ap-hero{padding:96px 0 72px;}
  .ap-hero-inner,.ap-data-layout,.ap-final-inner,.ap-decision-layout{gap:32px;}
  .ap-card-grid-3,.ap-card-grid-4,.ap-service-grid,.ap-proof-grid,.ap-project-grid{gap:16px;}
  .ap-card,.ap-segment-card,.ap-service-card,.ap-b2b-card,.ap-step,.ap-proof-card,.ap-project-card,.ap-faq-item{padding:24px;}
}
@media (max-width: 767px){
  .ap-container{width:min(100% - 24px, 720px);}
  .ap-section-head{margin-bottom:40px;}
  .ap-card{margin-top:20px; min-height:auto;}
  .ap-hero-sub,.ap-decision-panel p,.ap-final p,.ap-data .ap-copy-block p:not(.ap-kicker),.ap-lead{font-size:15px; line-height:1.9;}
  .ap-title{font-size:clamp(28px, 8vw, 42px);}
  .ap-dark-proof,.ap-b2b-card,.ap-step,.ap-service-card,.ap-segment-card,.ap-project-card,.ap-proof-card{min-height:auto;}
  .ap-faq-item button{padding:20px; font-size:16px;}
}
@media (prefers-reduced-motion: reduce){
  .ap-hero-visual::before{animation:none;}
  .ap-card:hover,.ap-segment-card:hover,.ap-service-card:hover,.ap-b2b-card:hover,.ap-step:hover,.ap-proof-card:hover,.ap-project-card:hover,.ap-faq-item:hover{transform:none;}
}

/* ===== FINAL V3: original page preserved, calmer typography, cinematic flow ===== */
.ap-landing{
  --ap-ink:#14241d;
  --ap-charcoal:#26352f;
  --ap-gold:#ad9157;
  --ap-gold-soft:#d7c38f;
  --ap-ivory:#f5f1e8;
  --ap-warm-white:#fcfbf7;
  --ap-stone:#69736e;
  --ap-line:#ded8ca;
  --ap-scroll:0%;
}
.ap-header::after{content:"";position:absolute;right:0;bottom:-1px;width:var(--ap-scroll);height:2px;background:linear-gradient(90deg,var(--ap-gold),var(--ap-gold-soft));transition:width .08s linear;}
.ap-real-logo{display:block;width:190px;height:auto;object-fit:contain;}
.ap-logo{gap:18px;}
.ap-accred{font-family:"IBM Plex Sans Arabic",sans-serif;font-size:10px;max-width:190px;line-height:1.55;text-align:center;}
.ap-section,.ap-final{padding:164px 0;}
.ap-section-head{margin-bottom:82px;}
.ap-two-col{gap:86px;}
.ap-title{font-size:clamp(30px,3.7vw,52px);line-height:1.35;letter-spacing:-.035em;}
.ap-lead{font-size:16px;line-height:1.95;}
.ap-text-stack{gap:26px;font-size:17px;line-height:2.1;}
.ap-card-grid,.ap-service-grid,.ap-proof-grid,.ap-project-grid{gap:28px;}
.ap-card-grid-4{grid-template-columns:repeat(2,1fr);}
.ap-segment-card{min-height:300px;padding:34px;}
.ap-segment-card h3{font-size:20px;margin-top:12px;}
.ap-service-grid{grid-template-columns:repeat(3,1fr);}
.ap-service-card{min-height:270px;padding:34px;}
.ap-card{padding:34px;min-height:240px;}
.ap-decision-layout{grid-template-columns:360px 1fr;gap:38px;}
.ap-decision-tabs{gap:13px;}
.ap-decision-panel{padding:58px;}
.ap-proof-rail{grid-template-columns:repeat(3,1fr);gap:24px;}
.ap-dark-proof{min-height:250px;padding:32px;}
.ap-dark-proof:nth-child(4),.ap-dark-proof:nth-child(5){transform:translateX(-50%);}
.ap-timeline{gap:22px;}
.ap-step{padding:30px 22px;min-height:275px;}
.ap-faq-list{gap:16px;}
.ap-faq-item button{padding:26px 28px;}
.ap-faq-item p{padding:0 28px 28px;}

.ap-hero{min-height:calc(100vh - 70px);padding:124px 0 110px;isolation:isolate;}
.ap-hero-photo{position:absolute;inset:-5%;z-index:-4;background:url('/assets/redesign/hero-bg.webp') center/cover no-repeat;transform:scale(1.06);will-change:transform;}
.ap-hero-vignette{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(9,15,12,.42),rgba(12,23,18,.88) 58%,rgba(12,23,18,.98)),linear-gradient(0deg,rgba(10,18,14,.72),transparent 55%);}
.ap-hero-grid{opacity:.26;z-index:-2;}
.ap-hero-bg-text{opacity:.35;}
.ap-hero-inner{grid-template-columns:1.02fr .98fr;gap:76px;}
.ap-hero-title{font-size:clamp(44px,6vw,76px);line-height:1.15;letter-spacing:-.055em;}
.ap-rotator{font-size:clamp(22px,2.6vw,34px);}
.ap-hero-sub{font-size:17px;line-height:2;}
.ap-hero-copy{padding:38px 0;}
.ap-hero-visual{height:min(580px,66vw);opacity:.92;filter:saturate(.78);}
.ap-report-card{background:linear-gradient(160deg,rgba(252,250,244,.96),rgba(247,243,234,.82));box-shadow:0 40px 110px rgba(0,0,0,.45);}
.ap-dashboard-card,.ap-floating-label,.ap-stamp{background:rgba(14,27,21,.7);}

.ap-story-image,.ap-service-panorama,.ap-b2b-visual{position:relative;margin-top:86px;border-radius:34px;overflow:hidden;box-shadow:0 34px 80px rgba(21,19,15,.14);transform:translateY(var(--ap-parallax-y,0));will-change:transform;}
.ap-story-image{height:520px;}
.ap-story-image img,.ap-service-panorama img,.ap-b2b-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.ap-story-image:hover img,.ap-service-panorama:hover img,.ap-b2b-visual:hover img{transform:scale(1.035);}
.ap-story-image::after,.ap-service-panorama::after,.ap-b2b-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,27,21,.84),transparent 62%);pointer-events:none;}
.ap-story-image>div{position:absolute;z-index:2;right:42px;left:42px;bottom:38px;color:#fff;display:grid;gap:9px;}
.ap-story-image small{color:var(--ap-gold-soft);font-size:14px;}
.ap-story-image strong{max-width:760px;font-size:clamp(22px,3vw,38px);line-height:1.45;}
.ap-service-panorama{height:420px;}
.ap-service-panorama span{position:absolute;z-index:2;right:36px;bottom:32px;color:#fff;font-size:clamp(22px,3vw,36px);font-weight:700;}
.ap-b2b-visual{height:460px;border:1px solid rgba(199,185,138,.2);}
.ap-b2b-visual figcaption{position:absolute;z-index:2;right:38px;bottom:34px;color:#fff;display:grid;gap:8px;}
.ap-b2b-visual strong{font-size:clamp(22px,3vw,36px);}
.ap-b2b-visual span{color:rgba(255,255,255,.7);}

.ap-defence{isolation:isolate;}
.ap-section-image-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-attachment:fixed;}
.ap-defence-bg{background-image:linear-gradient(90deg,rgba(10,17,13,.97),rgba(10,17,13,.82)),url('/assets/redesign/hero-bg.webp');}
.ap-defence.ap-section-dark{background:transparent;}

.ap-dashboard{min-height:600px;isolation:isolate;}
.ap-dashboard-bg{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2!important;opacity:.25;filter:saturate(.6);}
.ap-dashboard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,rgba(15,27,22,.55),rgba(15,27,22,.96));}

.ap-coverage{background:linear-gradient(180deg,var(--ap-warm-white),var(--ap-ivory));}
.ap-coverage-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:76px;align-items:center;}
.ap-coverage-text{margin-top:24px;color:var(--ap-charcoal);font-size:17px;line-height:2;}
.ap-coverage .ap-btn{margin-top:30px;}
.ap-coverage-map{position:relative;border-radius:36px;overflow:hidden;box-shadow:0 34px 90px rgba(21,19,15,.16);transform:translateY(var(--ap-parallax-y,0));will-change:transform;}
.ap-coverage-map img{width:100%;aspect-ratio:1.42/1;object-fit:cover;transition:transform 1s ease;}
.ap-coverage-map:hover img{transform:scale(1.025);}
.ap-map-pulse{position:absolute;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--ap-gold);box-shadow:0 0 0 0 rgba(173,145,87,.55);animation:apMapPulse 2.3s infinite;}
.ap-map-pulse-1{left:49%;top:42%;}.ap-map-pulse-2{left:41%;top:57%;animation-delay:.7s;}.ap-map-pulse-3{left:56%;top:70%;animation-delay:1.4s;}

.ap-proof{background:#fff;}
.ap-proof-grid{grid-template-columns:repeat(5,1fr);}
.ap-proof-card{min-height:210px;padding:30px;background:linear-gradient(155deg,#fff,var(--ap-ivory));}
.ap-proof-card strong{font-size:clamp(22px,2.35vw,32px);}

.ap-project-card{min-height:310px;padding:30px;background-size:cover!important;background-position:center!important;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;}
.ap-project-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,20,16,.94),rgba(11,20,16,.1) 75%);}
.ap-project-card::after{display:none;}
.ap-project-card span{margin-bottom:auto;width:fit-content;background:rgba(12,24,18,.48);backdrop-filter:blur(10px);}
.ap-project-card h3{font-size:25px;}
.ap-project-1{background-image:url('/assets/redesign/partner-01.webp')!important;}
.ap-project-2{background-image:url('/assets/redesign/partner-02.webp')!important;}
.ap-project-3{background-image:url('/assets/redesign/partner-03.webp')!important;}
.ap-project-4{background-image:url('/assets/redesign/partner-07.webp')!important;}
.ap-project-5{background-image:url('/assets/redesign/partner-08.webp')!important;}
.ap-project-6{background-image:url('/assets/redesign/partner-09.webp')!important;}
.ap-real-partners span{padding:18px;background:#fff;border-style:solid;overflow:hidden;}
.ap-real-partners img{width:100%;height:72px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.35s;}
.ap-real-partners span:hover img{filter:none;opacity:1;transform:scale(1.04);}

.ap-final{min-height:760px;display:grid;align-items:center;}
.ap-final-report-image{position:relative;overflow:hidden;padding:0;transform:rotateY(13deg) rotateX(4deg);}
.ap-final-report-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,23,18,.9),transparent 62%);}
.ap-final-report-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ap-final-report-image span,.ap-final-report-image strong{position:relative;z-index:2;color:#fff;margin-inline:28px;}
.ap-final-report-image span{margin-top:28px;color:var(--ap-gold-soft);}
.ap-final-report-image strong{margin-top:250px;font-size:27px;}

@keyframes apMapPulse{70%{box-shadow:0 0 0 14px rgba(173,145,87,0);transform:scale(1.12);}}
@media(max-width:1120px){
  .ap-accred{display:none;}
  .ap-section,.ap-final{padding:124px 0;}
  .ap-proof-grid{grid-template-columns:repeat(2,1fr);}
  .ap-proof-card:last-child{grid-column:1/-1;}
  .ap-dark-proof:nth-child(4),.ap-dark-proof:nth-child(5){transform:none;}
}
@media(max-width:880px){
  .ap-section,.ap-final{padding:96px 0;}
  .ap-section-head{margin-bottom:54px;}
  .ap-hero{padding:94px 0 78px;}
  .ap-hero-inner,.ap-coverage-layout{grid-template-columns:1fr;gap:52px;}
  .ap-hero-photo{background-position:58% center;}
  .ap-hero-vignette{background:linear-gradient(0deg,rgba(9,17,13,.98) 18%,rgba(9,17,13,.68) 72%,rgba(9,17,13,.78));}
  .ap-hero-copy{text-align:center;}
  .ap-badge{margin-inline:auto;}
  .ap-hero-sub,.ap-hero-emphasis{margin-inline:auto;}
  .ap-hero-actions{justify-content:center;}
  .ap-reassurance{text-align:center;}
  .ap-story-image{height:420px;margin-top:58px;}
  .ap-service-panorama,.ap-b2b-visual{height:370px;margin-top:58px;}
  .ap-card-grid-4,.ap-service-grid{grid-template-columns:repeat(2,1fr);}
  .ap-proof-rail{grid-template-columns:1fr 1fr;}
  .ap-section-image-bg{background-attachment:scroll;}
  .ap-coverage-map{order:-1;}
}
@media(max-width:620px){
  .ap-real-logo{width:155px;}
  .ap-section,.ap-final{padding:82px 0;}
  .ap-title{font-size:30px;}
  .ap-hero-title{font-size:42px;}
  .ap-hero-visual{height:380px;min-height:380px;}
  .ap-card-grid-4,.ap-service-grid,.ap-proof-grid,.ap-proof-rail{grid-template-columns:1fr;}
  .ap-proof-card:last-child{grid-column:auto;}
  .ap-card,.ap-segment-card,.ap-service-card,.ap-proof-card{padding:26px;}
  .ap-story-image{height:340px;border-radius:24px;}
  .ap-story-image>div{right:22px;left:22px;bottom:22px;}
  .ap-service-panorama,.ap-b2b-visual{height:300px;border-radius:24px;}
  .ap-service-panorama span,.ap-b2b-visual figcaption{right:22px;bottom:22px;}
  .ap-coverage-layout{gap:38px;}
  .ap-coverage-map{border-radius:24px;}
  .ap-project-card{min-height:270px;}
  .ap-final-report-image strong{margin-top:235px;font-size:24px;}
}
@media(prefers-reduced-motion:reduce){.ap-hero-photo,.ap-story-image,.ap-service-panorama,.ap-b2b-visual,.ap-coverage-map{transform:none!important}.ap-map-pulse{animation:none!important}}

/* ===== TEAM REVISION: coverage map framing (like V2) + partners marquee (جهات وثقت فينا) ===== */
/* Coverage: clean white framed map, full uncropped image */
.ap-coverage-map.ap-map-clean{background:#fff;border:1px solid var(--ap-line);padding:22px;display:grid;place-items:center;}
.ap-coverage-map.ap-map-clean img{aspect-ratio:auto;width:100%;height:auto;object-fit:contain;}
.ap-coverage-map.ap-map-clean:hover img{transform:scale(1.02);}
.ap-city-chips span{font-weight:600;color:var(--ap-charcoal);}

/* Partners: dedicated section with infinite scrolling logo marquee */
.ap-partners{background:var(--ap-ivory);}
.ap-logos-marquee{overflow:hidden;margin-top:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ap-logos-track{display:flex;width:max-content;animation:apTicker 42s linear infinite;}
.ap-logos-row{display:flex;align-items:center;gap:18px;padding-inline-end:18px;}
.ap-logos-row span{width:168px;height:98px;border-radius:20px;background:#fff;border:1px solid var(--ap-line);display:grid;place-items:center;padding:16px;flex:0 0 auto;transition:.28s ease;box-shadow:0 10px 26px rgba(21,19,15,.05);}
.ap-logos-row span:hover{box-shadow:var(--ap-shadow);transform:translateY(-4px);}
.ap-logos-row img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:.3s ease;}
.ap-logos-row span:hover img{filter:none;opacity:1;}
@media(hover:hover){.ap-logos-marquee:hover .ap-logos-track{animation-play-state:paused;}}
@media(max-width:620px){.ap-logos-row span{width:140px;height:86px;padding:13px;}}
@media(prefers-reduced-motion:reduce){.ap-logos-track{animation:none!important;}}

/* ===== TEAM REVISION 2: logo sizing — projects cards + partners marquee ===== */
/* Projects: logos were blown up as cover backgrounds. Now contained, sized, and legible. */
.ap-project-card{
  background-image:none!important;
  background-size:auto!important;
  background-position:center!important;
  background-color:#fff;
  border:1px solid var(--ap-line);
  color:var(--ap-ink);
  min-height:300px;
  padding:26px;
  display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:0 12px 34px rgba(21,19,15,.06);
}
.ap-project-card::before{
  content:"";position:absolute;z-index:1;
  inset:26px 26px auto 26px;height:110px;
  border:0;border-radius:0;opacity:.9;
  background-repeat:no-repeat;background-position:center;background-size:contain;
  filter:grayscale(1);transition:.35s ease;
}
.ap-project-card:hover::before{filter:none;opacity:1;}
.ap-project-card::after{display:none;}
.ap-project-card span{position:relative;z-index:2;margin-bottom:14px;background:var(--ap-ivory);border:1px solid var(--ap-line);color:var(--ap-gold);backdrop-filter:none;}
.ap-project-card h3{position:relative;z-index:2;color:var(--ap-ink);font-size:22px;}
.ap-project-card p{position:relative;z-index:2;color:var(--ap-stone);}
.ap-project-1::before{background-image:url('/assets/redesign/partner-01.webp');}
.ap-project-2::before{background-image:url('/assets/redesign/partner-02.webp');}
.ap-project-3::before{background-image:url('/assets/redesign/partner-03.webp');}
.ap-project-4::before{background-image:url('/assets/redesign/partner-07.webp');}
.ap-project-5::before{background-image:url('/assets/redesign/partner-08.webp');}
.ap-project-6::before{background-image:url('/assets/redesign/partner-09.webp');}

/* Partners marquee: smaller, evenly-fitted logo tiles */
.ap-logos-row span{width:158px;height:94px;padding:17px;}
.ap-logos-row img{max-height:56px;max-width:100%;}
@media(max-width:620px){
  .ap-logos-row span{width:132px;height:82px;padding:13px;}
  .ap-logos-row img{max-height:48px;}
  .ap-project-card{min-height:270px;padding:22px;}
  .ap-project-card::before{inset:22px 22px auto 22px;height:92px;}
}
