/* ===========================================================
   ABOUT — page-specific layout
=========================================================== */

.about-banner{position:relative;height:56vh;min-height:380px;overflow:hidden;}
.about-banner img{width:100%;height:100%;object-fit:cover;}
.about-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,58,49,.78) 0%,rgba(45,58,49,.25) 55%,rgba(45,58,49,.1) 100%);}
.about-banner-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;padding:var(--sp-8) var(--gutter);max-width:var(--container-max);margin-inline:auto;z-index:1;color:#fff;}
.about-banner-copy .breadcrumb{color:rgba(255,255,255,.75);}
.about-banner-copy .breadcrumb a{color:#fff;}
.about-banner-copy h1{color:#fff;font-size:var(--fs-4xl);max-width:16ch;}

.about-intro-grid{display:grid;grid-template-columns:.85fr 1fr;gap:var(--sp-9);align-items:center;}
.collage{position:relative;height:460px;}
.collage-a{position:absolute;top:0;left:0;width:68%;height:78%;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow-lift);}
.collage-b{position:absolute;bottom:0;right:0;width:52%;height:52%;object-fit:cover;border-radius:var(--r-blob-2);box-shadow:var(--shadow-lift);border:6px solid var(--c-alabaster);}
.collage-badge{
  position:absolute;top:8%;right:2%;background:var(--c-alabaster);padding:.75rem 1.1rem;border-radius:var(--r-pill);
  box-shadow:var(--shadow-soft);font-size:var(--fs-xs);font-weight:var(--fw-semibold);z-index:2;
}
.about-intro-copy h2{font-size:var(--fs-2xl);margin-top:var(--sp-3);max-width:18ch;}
.about-intro-copy p{margin-top:var(--sp-4);color:var(--text-muted);line-height:var(--lh-loose);}
.about-intro-copy p + p{margin-top:var(--sp-3);}

/* timeline */
.timeline{position:relative;max-width:760px;margin:var(--sp-8) auto 0;padding-left:var(--sp-6);border-left:2px solid var(--c-clay);}
.timeline-item{position:relative;padding-bottom:var(--sp-8);padding-left:var(--sp-6);}
.timeline-item:last-child{padding-bottom:0;}
.timeline-year{
  position:absolute;left:calc(-1 * var(--sp-6) - 44px);top:-2px;width:88px;text-align:right;
  font-family:var(--font-display);font-weight:700;color:var(--accent-strong);font-size:var(--fs-lg);
}
.timeline-item::before{content:"";position:absolute;left:calc(-1 * var(--sp-6) - 7px);top:6px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--c-alabaster);box-shadow:0 0 0 2px var(--c-clay);}
.timeline-body h3{font-size:var(--fs-lg);}
.timeline-body p{margin-top:.5rem;color:var(--text-muted);}

/* values */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.value-card{background:var(--bg-surface);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-soft);}
.value-icon{width:56px;height:56px;border-radius:var(--r-blob);background:var(--c-clay);display:flex;align-items:center;justify-content:center;color:var(--c-forest);margin-bottom:var(--sp-4);}
.value-icon svg{width:26px;height:26px;stroke-width:1.5;}
.value-card h3{font-size:var(--fs-md);}
.value-card p{margin-top:.6rem;color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-loose);}

/* process */
.process-grid{display:grid;grid-template-columns:1fr 200px;gap:var(--sp-8);align-items:start;}
.process-steps{margin-top:var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-6);}
.process-step{display:flex;gap:var(--sp-5);align-items:flex-start;}
.process-num{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--c-clay);-webkit-text-stroke:1.5px var(--accent-strong);color:transparent;font-weight:700;flex:none;width:60px;}
.process-step h3{font-size:var(--fs-md);}
.process-step p{margin-top:.4rem;color:var(--text-muted);font-size:var(--fs-sm);}

/* team */
.team-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6);margin-top:var(--sp-8);}
.team-card{text-align:center;transform:translateY(calc(var(--offset) * 16px));}
.team-photo{width:150px;height:180px;overflow:hidden;margin:0 auto var(--sp-4);}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-card h3{font-size:var(--fs-md);}
.team-card span{font-size:var(--fs-xs);color:var(--text-muted);}

/* cta */
.about-cta{background:var(--c-clay);padding-block:var(--sp-9);text-align:center;}
.about-cta-inner h2{font-size:var(--fs-2xl);max-width:20ch;margin-inline:auto;}
.about-cta-inner p{margin-top:var(--sp-3);color:var(--text-muted);}
.about-cta-inner .btn{margin-top:var(--sp-6);}

@media (max-width:1080px){
  .about-intro-grid{grid-template-columns:1fr;}
  .collage{height:360px;}
  .process-grid{grid-template-columns:1fr;}
  
}
@media (max-width:820px){
  .values-grid{grid-template-columns:1fr;}
  .team-row{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .about-banner-copy h1{font-size:var(--fs-2xl);}
  .timeline{padding-left:var(--sp-5);}
  .timeline-year{position:static;display:block;margin-bottom:.3rem;text-align:left;}
  .timeline-item{padding-left:var(--sp-4);}
  .team-row{grid-template-columns:1fr 1fr;gap:var(--sp-4);}
}
