/* =========================================================
   About Us — editorial layout (abt-*)
   Brand: ink #363587 · marigold #f5c307
   ========================================================= */

body.about-page{
  background:#faf9f6;
}

.about-page .abt-intro,
.about-page .abt-legacy,
.about-page .abt-journey,
.about-page .abt-purpose,
.about-page .abt-people,
.about-page .abt-values,
.about-page .abt-cta{
  position:relative;
  overflow:hidden;
  scroll-margin-top:96px;
}

.abt-kicker{
  display:inline-block;
  margin:0 0 12px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.abt-kicker.on-dark{ color:rgba(255,255,255,.9); }

.abt-center{
  max-width:46rem;
  margin:0 auto 44px;
  text-align:center;
}
.abt-center h2,
.abt-copy h1,
.abt-copy h2{
  margin:0 0 14px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.015em;
}
.abt-copy h1{
  font-size:clamp(2rem, 4vw, 3.1rem);
}
.abt-copy h2,
.abt-center h2{
  font-size:clamp(1.8rem, 3.2vw, 2.55rem);
}
.abt-copy p,
.abt-center p,
.abt-vm p,
.abt-person p,
.abt-timeline p{
  margin:0 0 12px;
  color:rgb(33, 37, 41);
  line-height:1.7;
}
.abt-copy p:last-child,
.abt-center p:last-child,
.abt-vm p:last-child,
.abt-person-body p:last-child,
.abt-timeline p:last-child{ margin-bottom:0; }

.abt-split{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(28px, 4.5vw, 64px);
  align-items:center;
}
.abt-split-media-first{
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
}
.abt-copy,
.abt-media{ min-width:0; }

.abt-frame{
  position:relative;
  z-index:1;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eceaf5;
}
.abt-frame img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
  display:block;
}

/* Intro */
.abt-intro{
  padding:48px 0 40px;
  background:#fff;
}
.abt-intro .abt-media{ position:relative; }
.abt-intro .abt-media::before{
  content:"";
  position:absolute;
  inset:18px -14px -14px 18px;
  border:1.5px solid rgba(54,53,135,.14);
  z-index:0;
}
.abt-intro .abt-frame{
  box-shadow:14px 14px 0 var(--marigold);
}

/* About / legacy */
.abt-legacy{
  padding:36px 0;
  background:#faf9f6;
}
.abt-legacy .abt-frame img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
}

/* Journey / timeline */
.abt-journey{
  padding:48px 0 52px;
  background:#fff;
}
.abt-timeline{
  list-style:none;
  margin:0 0 40px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0 20px;
  position:relative;
}
.abt-timeline li{
  position:relative;
  z-index:1;
  padding:0;
  text-align:center;
}
.abt-campus{
  margin:0 0 4px;
  overflow:hidden;
  background:#eceaf5;
  aspect-ratio:16 / 10;
}
.abt-campus img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  display:block;
}
.abt-timeline-point{
  position:relative;
  display:block;
  height:14px;
  margin:16px 0 18px;
}
.abt-timeline-point::before{
  content:"";
  position:absolute;
  top:6px;
  left:0;
  right:0;
  height:2px;
  background:rgba(54,53,135,.14);
}
.abt-timeline li:first-child .abt-timeline-point::before{ left:50%; }
.abt-timeline li:last-child .abt-timeline-point::before{ right:50%; }
.abt-timeline-point > span{
  position:absolute;
  left:50%;
  top:0;
  z-index:1;
  width:14px;
  height:14px;
  margin-left:-7px;
  border-radius:50%;
  background:var(--marigold);
  box-shadow:0 0 0 6px #fff;
}
.abt-timeline .abt-num{
  display:block;
  margin:0 0 6px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.55rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.1;
}
.abt-timeline strong{
  display:block;
  margin:0 0 8px;
  color:rgb(52, 50, 114);
  font-size:1.05rem;
  font-weight:700;
}
.abt-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  max-width:56rem;
  margin:0 auto;
  padding-top:8px;
  text-align:center;
}
.abt-stats > div{
  padding:18px 12px;
  border-top:3px solid var(--marigold);
  background:#faf9f6;
}
.abt-stats .abt-num{
  display:block;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:clamp(1.6rem, 2.6vw, 2.1rem);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.1;
}
.abt-meta{
  display:block;
  margin:6px 0 0;
  color:rgb(52, 50, 114);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.abt-stats small{
  display:block;
  margin-top:6px;
  color:#6a6a75;
  font-size:.75rem;
  font-weight:600;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
}

/* Vision / purpose */
.abt-purpose{
  padding:42px 0;
  background:#faf9f6;
}
.abt-purpose .abt-media{
  position:relative;
}
.abt-side-label{
  position:absolute;
  right:12px;
  bottom:18px;
  z-index:2;
  margin:0;
  color:var(--marigold);
  font-family:Helvetica, Arial, sans-serif;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  text-shadow:0 8px 18px rgba(0,0,0,.25);
}
.abt-vm{
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-top:8px;
}
.abt-vm h3{
  margin:0 0 8px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.12rem;
  font-weight:700;
}
.abt-vm article{
  padding-top:16px;
  border-top:1.5px solid rgba(54,53,135,.14);
}

/* People */
.abt-people{
  padding:48px 0 52px;
  background:#fff;
}
.abt-people-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(24px, 4vw, 48px);
  align-items:start;
}
.abt-person{
  display:grid;
  grid-template-columns:minmax(168px, 200px) minmax(0, 1fr);
  gap:22px 24px;
  align-items:stretch;
}
.abt-person-photo{
  margin:0;
  position:relative;
  overflow:hidden;
  background:#eceaf5;
  border-radius:18px;
  min-height:100%;
}
.abt-person-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.abt-person:first-child .abt-person-photo img{ object-position:center 8%; }
.abt-person:last-child .abt-person-photo img{ object-position:center 12%; }
.abt-person-body{
  padding-top:0;
}
.abt-person-body h3{
  margin:0 0 4px;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.22rem;
  font-weight:700;
  line-height:1.25;
}
.abt-person-body .abt-meta{
  margin:0 0 14px;
  letter-spacing:.06em;
}
.abt-person blockquote{
  margin:0 0 14px;
  padding:0 0 0 14px;
  border-left:3px solid var(--marigold);
}
.abt-person blockquote p{
  margin:0;
  color:rgb(52, 50, 114);
  font-weight:700;
  font-style:italic;
}

/* Values */
.abt-values{
  padding:42px 0;
  background:#faf9f6;
}

/* CTA */
.abt-cta{
  padding:0;
  color:#fff;
  min-height:min(420px, 68vh);
  display:flex;
  align-items:stretch;
}
.abt-cta-media{
  position:absolute;
  inset:0;
  background:#2a2968;
}
.abt-cta-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.abt-cta-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(42,41,104,.86) 0%, rgba(54,53,135,.62) 46%, rgba(54,53,135,.38) 100%),
    linear-gradient(180deg, rgba(42,41,104,.12) 0%, rgba(42,41,104,.42) 100%);
}
.abt-cta-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(220px, .7fr);
  gap:clamp(24px, 4vw, 48px);
  align-items:center;
  padding:clamp(48px, 7vw, 88px) 0;
}
.abt-cta-copy h2{
  margin:0 0 14px;
  color:#fff;
  font-family:Helvetica, Arial, sans-serif;
  font-size:clamp(1.8rem, 3.4vw, 2.7rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.02em;
}
.abt-cta-copy > p:not(.abt-kicker){
  margin:0 0 26px;
  color:rgba(255,255,255,.9);
  max-width:46ch;
}
.abt-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.abt-cta-actions .btn-ghost:hover{
  background:rgba(255,255,255,.12);
  border-color:#fff;
  color:#fff;
}
.abt-cta-card{
  margin:0;
  justify-self:end;
  max-width:16rem;
  padding:28px 26px 24px;
  background:var(--marigold);
  color:rgb(52, 50, 114);
  box-shadow:0 24px 44px -24px rgba(0,0,0,.45);
}
.abt-cta-card .abt-cta-label{
  margin:0;
  color:rgb(52, 50, 114);
  font-family:Helvetica, Arial, sans-serif;
  font-size:1.35rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
}

@media (prefers-reduced-motion: reduce){
  .abt-cta-media img{ transform:none; }
}

@media (max-width:980px){
  .abt-split,
  .abt-split-media-first,
  .abt-people-grid,
  .abt-cta-inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .abt-person{
    grid-template-columns:minmax(148px, 176px) minmax(0, 1fr);
    align-items:stretch;
  }
  .abt-intro .abt-media{
    order:2;
    max-width:520px;
  }
  .abt-intro .abt-media::before{ display:none; }
  .abt-intro .abt-frame{ box-shadow:10px 10px 0 var(--marigold); }
  .abt-intro .abt-copy{ order:1; }
  .abt-frame img,
  .abt-legacy .abt-frame img,
  .abt-purpose .abt-frame img,
  .abt-values .abt-frame img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center center;
  }
  .abt-side-label{
    writing-mode:horizontal-tb;
    transform:none;
    right:16px;
    left:auto;
    bottom:16px;
    padding:8px 12px;
    background:rgba(42,41,104,.72);
  }
  .abt-cta{
    min-height:0;
  }
  .abt-cta-inner{
    padding:48px 0 52px;
  }
  .abt-cta-card{
    justify-self:start;
    max-width:22rem;
  }
  .abt-copy h2,
  .abt-center h2,
  .abt-cta-copy h2{ max-width:none; }
}

@media (max-width:720px){
  .abt-timeline{
    grid-template-columns:1fr;
    gap:8px;
  }
  .abt-timeline-point{
    display:none;
  }
  .abt-campus{
    margin-bottom:14px;
  }
  .abt-timeline li{
    text-align:left;
    padding:0 0 22px 28px;
    border-left:2px solid rgba(54,53,135,.14);
  }
  .abt-timeline li::before{
    content:"";
    position:absolute;
    left:-8px;
    top:18px;
    width:14px;
    height:14px;
    margin:0;
    border-radius:50%;
    background:var(--marigold);
    box-shadow:0 0 0 6px #fff;
  }
  .abt-stats{ max-width:none; grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .abt-person{
    grid-template-columns:minmax(132px, 160px) minmax(0, 1fr);
    align-items:stretch;
  }
  .abt-person-photo{
    max-width:none;
  }
}

@media (max-width:640px){
  .abt-intro,
  .abt-legacy,
  .abt-purpose,
  .abt-values{ padding:30px 0; }
  .abt-journey,
  .abt-people{ padding:34px 0 38px; }
  .abt-cta-inner{ padding:36px 0 40px; }
  .abt-cta-actions .btn{ width:100%; justify-content:center; }
}
