/* About page only. Scoped to .about-page so nothing else can shift. */
.about-page .ab-hero{padding:clamp(3.5rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem)}
.about-page .ab-hero h1{max-width:22ch}

.about-page .ab-main{padding-block:clamp(3rem,7vw,5.5rem)}
.about-page .ab-grid{display:grid;gap:clamp(1.8rem,4vw,3.4rem);align-items:start}
@media (min-width:860px){
  .about-page .ab-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(2rem,4.5vw,4rem)}
  /* prose on the right, photo on the left, photo sticky for long copy */
  .about-page .ab-fig{position:sticky;top:2rem}
}
.about-page .ab-fig{margin:0;min-width:0}
.about-page .ab-fig img{display:block;width:100%;height:auto;border-radius:14px}

.about-page .ab-prose{min-width:0}
.about-page .ab-prose p{margin:0 0 1.25em;max-width:34em}
.about-page .ab-prose p:last-child{margin-bottom:0}

.about-page .ab-close{padding-block:clamp(3rem,7vw,5.5rem)}
.about-page .ab-close-in{max-width:46rem}
.about-page .ab-close h2{font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.15;margin:0 0 1rem}
.about-page .ab-close p{margin:0 0 1.15em;max-width:38em}
.about-page .ab-close a{color:inherit}
.about-page .ab-cta-line{margin-top:1.9rem}
.about-page .ab-btns{display:flex;flex-wrap:wrap;gap:.85rem;margin:0}
.about-page .ab-btns .btn{max-width:100%}

/* 320px guard: no horizontal overflow from the photo or long words */
@media (max-width:520px){
  .about-page .ab-hero h1{font-size:clamp(2.1rem,9vw,3rem)}
  .about-page .ab-prose p,.about-page .ab-close p{max-width:none;overflow-wrap:break-word}
}
@media (max-width:360px){
  .about-page .ab-btns .btn{width:100%;text-align:center}
}
