/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE — Sevens  (monochrome, no yellows)
   ═══════════════════════════════════════════════════════════════ */

.about-page,
.about-page body,
html:has(body.about-page),
body.about-page,
body.about-page * {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html:has(body.about-page)::-webkit-scrollbar,
body.about-page::-webkit-scrollbar,
body.about-page *::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.about-main {
  --ab-bg:     #0b0b0b;
  --ab-bg2:    #111111;
  --ab-border: rgba(255,255,255,0.07);
  --ab-white:  #ffffff;
  --ab-mist:   #b3b3b3;
  --ab-fog:    #6a6a6a;
  --ab-mid:    #2b2b2b;
  --ab-text:   rgba(255,255,255,0.65);

  background: var(--ab-bg);
  color: var(--ab-white);
  font-family: inherit;
  overflow-x: hidden;
}

/* ── Eyebrow ─────────────────────────────────────────────────── */
.about-main .ab-eyebrow {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ab-mist);
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.about-main .ab-eyebrow::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: currentColor;
  flex-shrink: 0;
}

.about-main .ab-eyebrow--center {
  justify-content: center;
}

[dir="rtl"] .about-main .ab-eyebrow {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

[dir="rtl"] .about-main .ab-eyebrow--center {
  justify-content: center;
  flex-direction: row-reverse;
}

/* ── CTA button ──────────────────────────────────────────────── */
.about-main .cta.solid {
  display: inline-block;
  padding: 14px 38px;
  background: var(--ab-white);
  color: #000;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}

.about-main .cta.solid:hover { background: var(--ab-mist); }

/* ═══════════════════════════════════════════════════════════════
   1. HERO
   ═══════════════════════════════════════════════════════════════ */
.ab-hero {
  position: relative;
  height: 100svh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  padding-top: 90px;
}

[dir="rtl"] .ab-hero {
  justify-content: flex-end;
}

.ab-hero-bg {
  position: absolute;
  inset: 0;
}

.ab-hero-img {
  width: 115%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  display: block;
  filter: grayscale(100%);
  will-change: transform;
  animation: abCamelSlide 28s ease-in-out infinite alternate;
}

[dir="rtl"] .ab-hero-img {
  object-position: right center;
  animation: abCamelSlideRtl 28s ease-in-out infinite alternate;
}

@keyframes abCamelSlide {
  from { transform: translateX(0); }
  to   { transform: translateX(-10%); }
}

@keyframes abCamelSlideRtl {
  from { transform: scaleX(-1) translateX(0); }
  to   { transform: scaleX(-1) translateX(-10%); }
}

@media (prefers-reduced-motion: reduce) {
  .ab-hero-img { animation: none; }
}

.ab-hero-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11,11,11,0.28) 0%,
    rgba(11,11,11,0.48) 42%,
    rgba(11,11,11,0.9)  84%,
    #0b0b0b 100%
  );
}

.ab-hero-body {
  position: relative;
  z-index: 2;
  padding: 180px 6vw 90px;
  max-width: 1060px;
  width: 100%;
}

[dir="rtl"] .ab-hero-body {
  padding: 180px 6vw 90px;
  margin-left: auto;
  margin-right: 0;
  max-width: 52%;
  text-align: right;
}

.ab-hero-label {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ab-mist);
  margin-top: 26px;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.ab-hero-label::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: currentColor;
  flex-shrink: 0;
}

[dir="rtl"] .ab-hero-label {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.ab-hero-h1 {
  font-size: clamp(48px, 8vw, 112px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--ab-white);
  margin: 0 0 26px;
  text-align: start;
}

[dir="rtl"] .ab-hero-h1 {
  letter-spacing: 0;
  font-size: clamp(40px, 7vw, 96px);
  text-align: right;
}

.ab-hero-h1 em {
  font-style: normal;
  color: var(--ab-mist);
}

.ab-hero-sub {
  font-size: clamp(15px, 1.5vw, 18px);
  color: var(--ab-text);
  max-width: 520px;
  line-height: 1.8;
  margin: 0;
  text-align: start;
}

.ab-hero-scroll-hint {
  position: absolute;
  bottom: 36px;
  right: 6vw;
  z-index: 2;
}

[dir="rtl"] .ab-hero-scroll-hint {
  right: auto;
  left: 6vw;
}

.ab-hero-scroll-hint span {
  display: block;
  width: 1px;
  height: 52px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,0.35));
  animation: abScrollLine 2.2s ease-in-out infinite;
}

@keyframes abScrollLine {
  0%, 100% { opacity: 0.25; transform: scaleY(1); }
  50%       { opacity: 0.9;  transform: scaleY(0.55); }
}

/* ═══════════════════════════════════════════════════════════════
   2. INTRO / STATS
   ═══════════════════════════════════════════════════════════════ */
.ab-intro {
  padding: 110px 6vw;
  border-bottom: 1px solid var(--ab-border);
}

.ab-intro-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.ab-intro-text {
  text-align: start;
}

.ab-intro-text h2 {
  font-size: clamp(26px, 3.5vw, 46px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--ab-white);
  margin: 0 0 24px;
  text-align: start;
}

[dir="rtl"] .ab-intro-text h2 {
  letter-spacing: 0;
}

.ab-intro-text p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--ab-text);
  margin: 0 0 16px;
  text-align: start;
}

.ab-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--ab-border);
  border: 1px solid var(--ab-border);
}

.ab-stat {
  background: var(--ab-bg);
  padding: 38px 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background 0.3s;
  text-align: start;
}

.ab-stat:hover { background: rgba(255,255,255,0.03); }

/* ── Slot machine ────────────────────────────────────────────── */
.ab-slot {
  display: flex;
  align-items: flex-end;
  gap: 0;
  margin-bottom: 10px;
  font-size: clamp(42px, 4.5vw, 62px);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: #fff;
  font-family: inherit;
  line-height: 1;
}

.ab-slot-wrap {
  position: relative;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  height: 1em;
  line-height: 1;
  isolation: isolate;
}

.ab-slot-wrap::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px 0;
  height: 0.14em;
  background: var(--ab-bg);
  pointer-events: none;
  z-index: 2;
}

.ab-slot-inner {
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.ab-slot-cell {
  height: 1em;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  backface-visibility: hidden;
}

.ab-slot-suffix {
  font-size: 0.55em;
  font-weight: 700;
  color: rgba(255,255,255,0.4);
  align-self: flex-end;
  padding-bottom: 0.1em;
  margin-left: 4px;
}

.ab-stat > span {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ab-fog);
  display: block;
}

/* ═══════════════════════════════════════════════════════════════
   3. CASE STUDIES  — reuses home page classes
   ═══════════════════════════════════════════════════════════════ */
.ab-case-section {
  padding: 110px 6vw 80px;
  border-bottom: 1px solid var(--ab-border);
}

.ab-logos-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 32px 48px;
  padding: 72px 0 0;
  border-top: 1px solid var(--ab-border);
  margin-top: 72px;
}

.ab-logo-item {
  opacity: 0.3;
  transition: opacity 0.3s;
}

.ab-logo-item:hover { opacity: 0.7; }

.ab-logo-item img {
  height: 30px;
  width: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(100%) brightness(2);
}

/* ═══════════════════════════════════════════════════════════════
   4. LEADERSHIP  — extra spacing wrapper only, cards from main.css
   ═══════════════════════════════════════════════════════════════ */
.ab-leadership-section {
  padding-top: 30px;
  padding-bottom: 80px;
}

/* RTL leader-grid fix (main.css already has one but ensure) */
[dir="rtl"] .leader-grid {
  direction: rtl;
}

[dir="rtl"] .leader-info {
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════════
   5. VALUES
   ═══════════════════════════════════════════════════════════════ */
.ab-values {
  padding: 110px 6vw;
  border-top: 1px solid var(--ab-border);
  border-bottom: 1px solid var(--ab-border);
}

.ab-values-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.ab-values .section-header {
  text-align: start;
  margin-bottom: 52px;
}

[dir="rtl"] .ab-values .section-header {
  text-align: start;
}

.ab-values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--ab-border);
  border: 1px solid var(--ab-border);
}

.ab-value {
  background: var(--ab-bg);
  padding: 52px 38px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: background 0.3s;
  text-align: start;
}

.ab-value:hover { background: rgba(255,255,255,0.025); }

.ab-value-line {
  width: 32px;
  height: 2px;
  background: var(--ab-white);
  transition: width 0.4s cubic-bezier(0.4,0,0.2,1);
}

.ab-value:hover .ab-value-line { width: 60px; }

.ab-value h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--ab-white);
  letter-spacing: -0.01em;
  margin: 0;
}

[dir="rtl"] .ab-value h3 { letter-spacing: 0; }

.ab-value p {
  font-size: 14px;
  line-height: 1.85;
  color: var(--ab-text);
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════════
   6. CTA
   ═══════════════════════════════════════════════════════════════ */
.ab-cta {
  position: relative;
  padding: 110px 6vw 340px;
  text-align: center;
  background: var(--ab-bg2);
  overflow: hidden;
  border-top: 1px solid var(--ab-border);
}

.ab-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(255,255,255,0.04), transparent 60%);
  pointer-events: none;
}

.ab-cta-inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}

.ab-cta .ab-eyebrow {
  margin-bottom: 18px;
}

.ab-cta h2 {
  font-size: clamp(30px, 4.5vw, 56px);
  font-weight: 700;
  color: var(--ab-white);
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin: 0 0 16px;
}

[dir="rtl"] .ab-cta h2 { letter-spacing: 0; line-height: 1.2; }

.ab-cta .reveal-line {
  font-size: 16px;
  color: var(--ab-text);
  line-height: 1.7;
  margin: 0 auto 36px;
  max-width: 460px;
}

.ab-cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

.ab-cta .cta.solid {
  padding: 14px 38px;
  font-size: 12px;
  letter-spacing: 0.16em;
}

.ab-cta-meta {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-size: 13px;
  color: var(--ab-fog);
  letter-spacing: 0.02em;
  flex-wrap: wrap;
  justify-content: center;
}

.ab-cta-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--ab-fog);
  opacity: 0.6;
  flex-shrink: 0;
}

.ab-cta-meta a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ab-mist);
  text-decoration: none;
  transition: color 0.2s;
}

.ab-cta-meta a svg {
  opacity: 0.75;
  transition: opacity 0.2s;
}

.ab-cta-meta a span {
  position: relative;
}

.ab-cta-meta a span::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.ab-cta-meta a:hover { color: var(--ab-white); }
.ab-cta-meta a:hover svg { opacity: 1; }
.ab-cta-meta a:hover span::after { transform: scaleX(1); }

/* ═══════════════════════════════════════════════════════════════
   RTL — global alignment fixes for about page
   ═══════════════════════════════════════════════════════════════ */

/* Section-header text direction */
[dir="rtl"] .about-main .section-header {
  text-align: right;
}

/* Section kicker in RTL */
[dir="rtl"] .about-main .section-kicker {
  justify-content: flex-end;
  text-align: right;
}

/* Stats text start = right in RTL */
[dir="rtl"] .ab-stat {
  text-align: right;
}

/* Intro text */
[dir="rtl"] .ab-intro-text,
[dir="rtl"] .ab-intro-text h2,
[dir="rtl"] .ab-intro-text p {
  text-align: right;
}

/* Values */
[dir="rtl"] .ab-value {
  text-align: right;
}

[dir="rtl"] .ab-value-line {
  margin-right: 0;
  margin-left: auto;
}

/* CTA */
[dir="rtl"] .ab-cta-meta {
  flex-direction: row-reverse;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .ab-intro-inner { grid-template-columns: 1fr; gap: 52px; }
  .ab-values-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .ab-hero { height: auto; min-height: 100svh; padding-top: 0; align-items: flex-end; }
  .ab-hero-body { padding: 0 5vw 72px; max-width: 100% !important; }
  .ab-hero-img {
    width: 100%;
    object-fit: contain;
    object-position: center bottom;
    animation: none;
  }
  [dir="rtl"] .ab-hero-img {
    object-position: center bottom;
    animation: none;
    transform: scaleX(-1);
  }

  .ab-intro        { padding: 80px 5vw; }
  .ab-case-section { padding: 80px 5vw 60px; }
  .ab-values       { padding: 80px 5vw; }
  .ab-cta          { padding: 80px 5vw 240px; }

  .ab-stats { grid-template-columns: 1fr 1fr; }

  .ab-logos-row { gap: 22px 30px; padding-top: 48px; margin-top: 48px; }
  .ab-logo-item img { height: 22px; }
}

@media (max-width: 480px) {
  .ab-stats { grid-template-columns: 1fr; }
}
