/* ═══════════════════════════════════════
   À PROPOS — a-propos.html
   ═══════════════════════════════════════ */

/* ═══ ENTRÉE DE PAGE ═══ */
@keyframes apPageIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes apElemIn {
  from { opacity: 0; translate: 0 14px; }
  to   { opacity: 1; translate: 0 0; }
}

.ap-main {
  padding-top: 68px;
  position: relative;
  z-index: 2;
  animation: apPageIn .5s ease both;
}

.ap-eyebrow { animation: apElemIn .7s cubic-bezier(.22,1,.36,1) .10s both; }
.ap-title   { animation: apElemIn .7s cubic-bezier(.22,1,.36,1) .22s both; }
.ap-sep     { animation: apElemIn .6s cubic-bezier(.22,1,.36,1) .34s both; }
.ap-sub     { animation: apElemIn .7s cubic-bezier(.22,1,.36,1) .44s both; }

@media (prefers-reduced-motion: reduce) {
  .ap-main,
  .ap-eyebrow, .ap-title, .ap-sep, .ap-sub {
    animation: none;
  }
}

/* ═══ PAGE HERO ═══ */
.ap-hero {
  padding: 6rem 2rem 5rem;
  text-align: center;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(14,20,60,.4), transparent 70%);
  border-bottom: 1px solid rgba(201,165,84,.1);
}
.ap-hero-inner { max-width: 700px; margin: 0 auto; }
.ap-eyebrow {
  font-family: var(--font-head); font-size: .6rem;
  letter-spacing: .4em; text-transform: uppercase;
  color: rgba(201,165,84,.55); margin-bottom: 1rem;
}
.ap-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(2rem, 5vw, 3.8rem);
  letter-spacing: .08em; color: var(--gold-light);
  margin-bottom: 1.2rem;
}
.ap-sep {
  width: 80px; height: 1px; margin: 0 auto 1.5rem;
  background: linear-gradient(to right, transparent, rgba(201,165,84,.5), transparent);
}
.ap-sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: clamp(.88rem, 1.4vw, 1rem);
  line-height: 1.9; letter-spacing: .08em;
  color: rgba(201,165,84,.65); font-style: italic;
}

/* ═══ SECTIONS ═══ */
.ap-section { padding: 6rem 2rem; }
.ap-section-alt {
  background:
    linear-gradient(rgba(10,12,22,.9), rgba(10,12,22,.9)),
    repeating-linear-gradient(45deg,
      rgba(201,165,84,.015) 0px, rgba(201,165,84,.015) 1px,
      transparent 1px, transparent 14px);
  border-top: 1px solid rgba(201,165,84,.08);
  border-bottom: 1px solid rgba(201,165,84,.08);
}
.ap-section-inner {
  max-width: 1000px; margin: 0 auto;
}
.ap-section-label {
  font-family: var(--font-head); font-size: .55rem;
  letter-spacing: .4em; text-transform: uppercase;
  color: rgba(201,165,84,.45); margin-bottom: .6rem;
}
.ap-section-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(1.2rem, 2.5vw, 1.9rem);
  letter-spacing: .06em; color: var(--gold-light);
  margin-bottom: 1rem;
}

/* ═══ MANIFESTE ═══ */
.ap-manifeste {
  display: grid; grid-template-columns: 1fr 1.4fr;
  gap: 5rem; align-items: center;
}
.ap-founder-photo { position: sticky; top: 90px; }
.ap-founder-img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: sepia(.18) brightness(.92) contrast(1.06);
  box-shadow:
    0 0 0 1px rgba(201,165,84,.18),
    0 24px 60px rgba(0,0,0,.55),
    0 0 40px rgba(201,165,84,.06);
}
.ap-quote {
  font-family: var(--font-body); font-weight: 300; font-style: italic;
  font-size: clamp(.88rem, 1.4vw, 1.02rem);
  line-height: 2; letter-spacing: .04em;
  color: rgba(201,165,84,.78);
  border-left: 2px solid rgba(201,165,84,.25);
  padding-left: 1.5rem; margin-bottom: 1.8rem;
}
.ap-founder-sig {
  font-family: var(--font-head); font-size: .68rem;
  letter-spacing: .25em; color: var(--gold);
  margin-bottom: 1.5rem;
}
.ap-backed {
  font-family: var(--font-body); font-weight: 300;
  font-size: .8rem; letter-spacing: .06em;
  color: rgba(201,165,84,.5); line-height: 1.8;
  border-top: 1px solid rgba(201,165,84,.1); padding-top: 1.2rem;
}

/* ═══ VISION ═══ */
.ap-vision { text-align: center; }
.ap-vision-text {
  font-family: var(--font-body); font-weight: 300;
  font-size: clamp(.92rem, 1.4vw, 1.02rem);
  line-height: 2; letter-spacing: .04em;
  color: rgba(201,165,84,.78);
  max-width: 680px; margin: 0 auto 4rem;
  text-align: left;
}
.ap-vision-pillars {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2rem; text-align: left;
}
.ap-pillar {
  padding: 2rem; border: 1px solid rgba(201,165,84,.15);
  background: rgba(201,165,84,.03);
}
.ap-pillar-num {
  font-family: var(--font-head); font-size: 2rem;
  color: rgba(201,165,84,.2); display: block; margin-bottom: .8rem;
}
.ap-pillar-title {
  font-family: var(--font-head); font-size: .75rem;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: .8rem;
}
.ap-pillar-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: .85rem; line-height: 1.8;
  color: rgba(201,165,84,.65);
}

/* ═══ ENGAGEMENTS ═══ */
.ap-engagements-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem; margin-top: 2rem;
}
.ap-engagement {
  display: flex; gap: 1.5rem; align-items: flex-start;
  padding: 2rem; border: 1px solid rgba(201,165,84,.15);
  background: rgba(201,165,84,.03);
  transition: border-color .3s, transform .3s;
}
.ap-engagement:hover { border-color: rgba(201,165,84,.3); transform: translateY(-3px); }
.ap-eng-icon {
  flex-shrink: 0; width: 44px; height: 44px; color: var(--gold);
}
.ap-eng-icon svg { width: 100%; height: 100%; }
.ap-eng-title {
  font-family: var(--font-head); font-size: .72rem;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: .6rem;
}
.ap-eng-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: .85rem; line-height: 1.8;
  color: rgba(201,165,84,.7);
}

/* ═══ PARTENAIRES ═══ */
.ap-partners { text-align: center; }
.ap-partners-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 2rem; margin-top: 2.5rem; max-width: 700px; margin-left: auto; margin-right: auto;
}
.ap-partner-card {
  padding: 2.5rem 2rem; border: 1px solid rgba(201,165,84,.15);
  background: rgba(201,165,84,.03);
}
.ap-partner-logo-placeholder {
  width: 120px; height: 60px; margin: 0 auto 1.5rem;
  border: 1px dashed rgba(201,165,84,.2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head); font-size: .5rem;
  letter-spacing: .2em; color: rgba(201,165,84,.3);
}
.ap-partner-logo {
  display: block;
  width: 140px; height: auto;
  margin: 0 auto 1.5rem;
  filter: brightness(0) invert(1);
  opacity: .75;
}
.ap-partner-name {
  font-family: var(--font-head); font-size: .78rem;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold-light); margin-bottom: .8rem;
}
.ap-partner-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: .85rem; line-height: 1.8;
  color: rgba(201,165,84,.65);
}

/* ═══ CTA ═══ */
.ap-cta-section {
  padding: 6rem 2rem; text-align: center;
  border-top: 1px solid rgba(201,165,84,.1);
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(14,20,60,.3), transparent 70%);
}
.ap-cta-inner { max-width: 600px; margin: 0 auto; }
.ap-cta-title {
  font-family: var(--font-head); font-weight: 400;
  font-size: clamp(1rem, 2vw, 1.4rem);
  letter-spacing: .15em; color: var(--gold-light);
  margin-bottom: 2rem;
}
.ap-cta-btn {
  display: inline-block;
  font-family: var(--font-head); font-size: .65rem;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--bg); background: var(--gold);
  padding: 1.1rem 2.8rem;
  transition: background .3s;
}
.ap-cta-btn:hover { background: var(--gold-light); color: var(--bg); }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 768px) {
  .ap-manifeste { grid-template-columns: 1fr; gap: 3rem; }
  .ap-founder-photo { position: static; }
  .ap-founder-img { aspect-ratio: 4/3; }
  .ap-vision-pillars { grid-template-columns: 1fr; }
  .ap-engagements-grid { grid-template-columns: 1fr; }
  .ap-partners-grid { grid-template-columns: 1fr; }
  .ap-engagement { flex-direction: column; gap: 1rem; }
  .ap-partner-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .ap-partner-logo {
    margin-left: auto;
    margin-right: auto;
  }
}
