/* =====================================================================
   ABOUT PAGE (من نحن): masthead, leadership quote, council brief,
   goals, competencies, decree call-to-action.
   Page-specific layout. Loaded on pages/about-us.html and pages/presidents-message.html.
   Built entirely on the shared tokens + motifs (dome frame, gold rule,
   lattice watermark, kicker/h-sec). No new hues, no raw values.
   ===================================================================== */

/* ---------- 1. MASTHEAD ----------
   The page masthead is now the shared `.page-hero` component (assets/css/
   base.css), reused across every inner page. No page-specific rules here. */

/* ---------- 2. LEADERSHIP QUOTE ----------
   Reference design: ONE white rounded card with a soft shadow holding
   everything. Portrait on the inline-start (right in RTL) with its built-in
   bottom fade; the copy column holds a centered gold kicker, a justified
   quote framed by two small gold curly marks, and a centered attribution. */

   


.abt-quote { background: var(--bg-page); }
.abt-quote .wrap { padding-block: var(--space-4); }

/* the card itself: pill-soft corners, visible edge shadow */
.abt-quote-card {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(0, 1.6fr);
  grid-template-areas: "media copy";
  column-gap: clamp(var(--space-10), 4vw, var(--space-16));
  align-items: stretch;
  padding-block: clamp(var(--space-10), 2.4vw, var(--space-14)) 0;
  padding-inline: clamp(var(--space-10), 3vw, var(--space-16));
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-pill-soft);
  box-shadow: var(--shadow-quote-card);
  overflow: visible;
}

/* copy column: text starts from the top, aligned with the portrait head */
.abt-quote-body {
  grid-area: copy;
  margin: 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  justify-content: start;
  padding-block-end: clamp(var(--space-8), 2vw, var(--space-12));
}

/* gold eyebrow: start-aligned (right in RTL), sitting right above the mark */
.abt-quote-kicker {
  display: block;
  text-align: start;
  margin-block-end: var(--space-2);
  font-family: var(--font-heading-ar);
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: var(--weight-bold);
  color: var(--aegold-500);
}

.abt-quote-copy {
  position: relative;
  display: flex;
  flex-direction: column;
}

/* gold curly marks (Georgia draws clean curls) */
.abt-quote-mark {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  color: var(--aegold-400);
  user-select: none;
}
/* open (99): larger, tight to the quote text below */
.abt-quote-mark-open {
  font-size: clamp(64px, 7.5vw, 100px);
  text-align: start;
  margin-block-start: var(--space-3);
  margin-block-end: 0;
  line-height: .72;
}
/* close (66): larger, on the end edge under the quote */
.abt-quote-mark-close {
  font-size: clamp(60px, 7vw, 96px);
  text-align: end;
  line-height: .35;
  margin-block-start: var(--space-1);
  margin-block-end: 0;
}

/* the verbatim quote: pulled up under the open mark */
.abt-quote blockquote {
  margin: 0;
  margin-block-start: calc(var(--space-6) * -1);
  font-family: var(--font-heading-ar);
  font-weight: 500;
  font-size: clamp(18px, 2vw, 27px);
  line-height: 1.8;
  color: var(--fg-primary);
  text-align: start;
}

/* attribution: pulled up under the close mark */
.abt-quote figcaption {
  margin-block-start: calc(var(--space-6) * -1);
  text-align: start;
}
.abt-quote-name {
  display: block;
  font-family: var(--font-heading-ar);
  font-weight: 700;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: var(--leading-snug);
  color: var(--fg-primary);
}
.abt-quote-role {
  display: block;
  margin-block-start: var(--space-1);
  font-size: clamp(12.5px, 1vw, 14.5px);
  line-height: 1.65;
  color: var(--fg-secondary);
}

/* Chairman's message card (presidents-message page): prose body with quote marks */
.abt-quote-card--message .abt-quote-message {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  margin-block-start: calc(var(--space-6) * -1);
}
.abt-quote-card--message .abt-quote-message p {
  margin: 0;
  font-family: var(--font-heading-ar);
  font-weight: 500;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: var(--leading-loose);
  color: var(--fg-primary);
  text-align: start;
}


[dir="rtl"] .abt-quote-card--message .abt-quote-message p,
.abt-quote-name, .abt-quote-role {
  font-family: "SakkalMajalla";
  font-size: 26px;
}


.abt-quote-card--message figcaption { margin-block-start: calc(var(--space-6) * -1); }

/* portrait: clip to the card corners on the inline-start side */
.abt-quote-media {
  grid-area: media;
  align-self: start;
  min-inline-size: 0;
  overflow: hidden;
  border-start-start-radius: var(--radius-pill-soft);
  border-end-start-radius: var(--radius-pill-soft);
}
.abt-quote-photo {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

/* ---------- 3. COUNCIL BRIEF (light split, copy + photo) ----------
   Full-viewport 50/50 split: copy on page canvas; media bleeds edge to edge. */
.abt-about { overflow: hidden; padding-block-end: 0; padding-block-start: clamp(calc(var(--space-16) + var(--space-6)), 6vw, calc(var(--space-16) + var(--space-14))); background: var(--bg-page); }
.abt-about::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: var(--pattern) center / cover; opacity: .05; }
.abt-about .wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
.abt-about-copy {
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: var(--section-y);
  padding-inline: clamp(32px, 5vw, 80px);
}
.abt-about-copy .h-sec { margin-block-end: var(--space-12); }
.abt-about-copy p { font-size: 16.5px; line-height: 1.95; color: var(--aeblack-700); margin: 0 0 var(--space-11); }
.abt-about-copy p:last-child { margin-block-end: 0; }
/* media column: full-bleed half, height locked to the copy column */
.abt-about-media {
  position: relative;
  align-self: stretch;
  overflow: hidden;
  min-block-size: clamp(380px, 36vw, 520px);
}
.abt-about-photo {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ---------- 4. GOALS (light canvas, asymmetric bento) ----------
   Five goals in a bento: one feature tile, a wide tile, two compact tiles,
   and a full-width closing strip. Tile sizes suit the differing content
   lengths. Icon + title + body only, start-aligned heading, no numerals. */
.abt-goals .sec-head { margin-bottom: var(--space-16); }
.abt-goals-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, .8vw, 14px);
  grid-template-areas:
    "g1 g1 g2 g2"
    "g5 g5 g3 g4"; }
.abt-goal:nth-child(1) { grid-area: g1; }
.abt-goal:nth-child(2) { grid-area: g2; }
.abt-goal:nth-child(3) { grid-area: g3; }
.abt-goal:nth-child(4) { grid-area: g4; }
.abt-goal:nth-child(5) { grid-area: g5; }
.abt-goal { display: flex; flex-direction: column; gap: var(--space-9);
  padding: clamp(22px, 2.1vw, 32px); background: var(--bg-surface);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-xl);
  transition: border-color var(--duration-base) var(--ease-standard),
              background var(--duration-base) var(--ease-standard); }
.abt-goal:hover { border-color: var(--aegold-300); background: var(--aegold-50); }
.abt-goal-ic { position: relative; isolation: isolate; width: 56px; height: 56px; flex-shrink: 0; border-radius: var(--radius-lg);
  background: var(--aegold-50); border: 1px solid var(--aegold-200); color: var(--aegold-700);
  display: inline-flex; align-items: center; justify-content: center;
  transition: border-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard); }
/* Gold fill cross-fades on a pseudo-element (a solid-to-gradient swap cannot be transitioned). */
.abt-goal-ic::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit;
  background: var(--grad-gold); opacity: 0;
  transition: opacity var(--duration-base) var(--ease-standard); }
.abt-goal:hover .abt-goal-ic { border-color: transparent; color: var(--fg-on-gold); }
.abt-goal:hover .abt-goal-ic::before { opacity: 1; }
.abt-goal-body { display: flex; flex-direction: column; gap: var(--space-6); }
.abt-goal h3 { font-family: var(--font-heading-ar); font-weight: 700; font-size: clamp(22px, 1.85vw, 26px);
  color: var(--ink); margin: 0; }
.abt-goal p { font-size: 16px; line-height: 1.75; color: var(--aeblack-600); margin: 0; }
/* feature tile: the anchor goal reads larger on a gold-tinted ground */
.abt-goal:nth-child(1) { justify-content: space-between; gap: var(--space-14);
  background: var(--bg-surface); border-color: var(--aegold-200); }
.abt-goal:nth-child(1) .abt-goal-ic { width: 68px; height: 68px; }
/* governance now sits below the quality tile in the bento rhythm */
.abt-goal:nth-child(5) { border-color: var(--aegold-200); }

/* ---------- 5. COMPETENCIES (light, ordinal accordion) ----------
   The three grouped lists become an accordion (inspired by the reference
   "strategic goals" pattern): each ordinal row expands to reveal its bullets.
   Native <details>/<summary>, no JS, keyboard accessible by default. */
.abt-comp-band { background: var(--bg-page); }
.abt-acc { display: flex; flex-direction: column; border-block: 1px solid var(--border-subtle); }
.abt-acc-item { border-block-start: 1px solid var(--border-subtle); }
.abt-acc-item:first-child { border-block-start: 0; }
.abt-acc-head { list-style: none; cursor: pointer; display: flex; align-items: center; gap: var(--space-10);
  padding-block: clamp(20px, 2vw, 30px); }
.abt-acc-head::-webkit-details-marker { display: none; }
.abt-acc-head:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; border-radius: var(--radius-xs); }
.abt-acc-ord { position: relative; isolation: isolate; flex-shrink: 0; font-family: var(--font-heading-ar); font-weight: 700; font-size: 14px;
  color: var(--aegold-700); padding: 6px 14px; background: var(--aegold-50);
  border: 1px solid var(--aegold-200); border-radius: var(--radius-full); letter-spacing: .02em;
  transition: border-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard); }
/* Gold fill cross-fades on a pseudo-element when the item opens (a solid-to-gradient swap cannot be transitioned). */
.abt-acc-ord::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit;
  background: var(--grad-gold); opacity: 0;
  transition: opacity var(--duration-base) var(--ease-standard); }
.abt-acc-item[open] .abt-acc-ord { border-color: transparent; color: var(--fg-on-gold); }
.abt-acc-item[open] .abt-acc-ord::before { opacity: 1; }
.abt-acc-title { flex: 1; font-family: var(--font-heading-ar); font-weight: 700;
  font-size: clamp(19px, 2vw, 27px); line-height: 1.3; color: var(--ink);
  transition: color var(--duration-base) var(--ease-standard); }
.abt-acc-item[open] .abt-acc-title { color: var(--aegold-800); }
/* expand / collapse affordance: a gold chip holding a chevron caret that flips
   open and fills with gold. Centered with flex (no inset-vs-transform conflict),
   so the glyph renders crisply in both RTL and LTR. */
.abt-acc-sign { position: relative; isolation: isolate; flex-shrink: 0; width: 40px; height: 40px; border-radius: var(--radius-full);
  background: var(--aegold-50); border: 1px solid var(--aegold-200); color: var(--aegold-700);
  display: inline-flex; align-items: center; justify-content: center;
  transition: border-color var(--duration-base) var(--ease-standard),
              color var(--duration-base) var(--ease-standard); }
.abt-acc-sign::before { content: ""; width: 10px; height: 10px;
  border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor;
  border-bottom-right-radius: 2px; transform: translateY(-2px) rotate(45deg);
  transition: transform var(--duration-base) var(--ease-emphasis); }
/* Gold fill cross-fades on ::after when the item opens; ::before is the chevron. */
.abt-acc-sign::after { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit;
  background: var(--grad-gold); opacity: 0;
  transition: opacity var(--duration-base) var(--ease-standard); }
.abt-acc-head:hover .abt-acc-sign { border-color: var(--aegold-300); }
.abt-acc-item[open] .abt-acc-sign { border-color: transparent; color: var(--fg-on-gold); }
.abt-acc-item[open] .abt-acc-sign::after { opacity: 1; }
.abt-acc-item[open] .abt-acc-sign::before { transform: translateY(2px) rotate(-135deg); }
.abt-acc-body { padding-block: 0 clamp(22px, 2.4vw, 34px); padding-inline-start: calc(var(--space-12) + 14px); }
/* Smooth open / close: animate the UA ::details-content box so the panel eases
   instead of snapping. interpolate-size (inherited from the band) lets height
   animate to/from auto; allow-discrete keeps the content painted through the
   close. Chrome 129+ animates this natively; elsewhere it degrades to the
   instant native toggle (content stays fully accessible either way). */
.abt-comp-band { interpolate-size: allow-keywords; }
.abt-acc-item::details-content { height: 0; overflow: clip;
  transition: height var(--duration-slow) var(--ease-emphasis),
              content-visibility var(--duration-slow) allow-discrete; }
.abt-acc-item[open]::details-content { height: auto; }
.abt-comp-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-10) clamp(28px, 3vw, 56px); }
.abt-comp-list li { position: relative; padding-inline-start: var(--space-12);
  font-size: 15.5px; line-height: 1.7; color: var(--aeblack-700); }
/* gold dome-dot bullet marker (logical inset, flips with direction) */
.abt-comp-list li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: .5em;
  width: 11px; height: 11px; border-radius: 49% 49% 3px 3px / 30% 30% 3px 3px;
  background: var(--grad-gold); }
@media (prefers-reduced-motion: reduce) { .abt-acc-item::details-content { transition: none; } }

/* ---------- 6. DECREE CALL-TO-ACTION (contained ink panel) ----------
   A framed bronze-ink panel (not a full band) so the page closes on a
   monumental note without reading as a second heavy dark section. */
.abt-decree { background: var(--bg-page); }
.abt-decree-panel { position: relative; overflow: hidden; border-radius: var(--radius-2xl);
  background: #6F5A39; border: 1px solid var(--aegold-900);
  padding: clamp(40px, 5vw, 72px) clamp(28px, 4vw, 64px); text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: var(--space-14); }
.abt-decree-panel::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: var(--pattern) center / cover; opacity: .07; }
.abt-decree-panel > * { position: relative; z-index: 1; }
.abt-decree-ic { width: 64px; height: 64px; border-radius: var(--radius-full);
  background: rgba(162,138,101,.14); border: 1px solid var(--aegold-700); color: var(--aegold-300);
  display: inline-flex; align-items: center; justify-content: center; }
.abt-decree-text { font-family: var(--font-heading-ar); font-weight: 600;
  font-size: clamp(19px, 2vw, 27px); line-height: 1.5; color: #fff; margin: 0; max-width: 30ch; }

/* =====================================================================
   RESPONSIVE: about sections
   ===================================================================== */
@media (max-width: 1080px) {
  .abt-quote-card {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "media";
    row-gap: var(--space-8);
  }
  .abt-quote-media {
    justify-self: center;
    max-inline-size: min(280px, 65vw);
  }
  .abt-quote-body { padding-block-end: 0; }
  .abt-about .wrap { grid-template-columns: 1fr; gap: 0; }
  .abt-about-copy { padding-inline: clamp(20px, 5vw, 32px); }
  .abt-about-media {
    order: -1;
    min-block-size: clamp(260px, 52vw, 420px);
  }
  /* bento folds to two columns while keeping quality above governance */
  .abt-goals-grid { grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "g1 g2" "g5 g3" "g4 g4"; }
  .abt-comp-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .abt-goals-grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto;
    grid-template-areas: "g1" "g2" "g3" "g4" "g5"; }
  .abt-comp-list { grid-template-columns: 1fr; }
  .abt-acc-body { padding-inline-start: 0; }
  .abt-quote-card { overflow: hidden; }
  .abt-quote-mark-open,
  .abt-quote-mark-close { font-size: clamp(48px, 14vw, 72px); }
}
