/* pages/about.css — /about/, /services/, /follow/, /privacy/, /terms/, 404 layout (Owner: A; DESIGN §4.27).
   Layout only: colours/sizes/radii of shared components stay in main.css. Same three breakpoints. */

/* ---- about ---- */
.about-bio,.about-pilot,.about-video,.follow-page{scroll-margin-top:var(--nav-h)}
.about-bio__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--s-9);align-items:start}
.about-bio__text{max-width:var(--measure);min-width:0}
.about-bio__text h2{max-width:16em}
.about-bio__tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}
.about-bio__tags .tag{white-space:normal}  /* the long team-physician tag must wrap on phones (shared .tag is nowrap for the short "My clinic" state tags) */
.about-bio__side{min-width:0;background:var(--gray-wash);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5)}
.about-bio__side .eyebrow{margin-bottom:var(--s-3)}
.about-timeline{list-style:none;margin:0 0 var(--s-6);padding:0;counter-reset:step}
.about-timeline li{position:relative;padding:var(--s-3) 0 var(--s-3) 44px;border-bottom:1px solid var(--line);display:grid;gap:2px}
.about-timeline li:last-child{border-bottom:0}
.about-timeline li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:var(--s-3);width:30px;height:30px;border-radius:50%;background:var(--mint-mid);color:var(--teal-ink);font-family:var(--display);font-weight:800;font-size:var(--fs-sm);display:grid;place-items:center}
.about-timeline b{font-family:var(--display);color:var(--teal-deep);line-height:1.25}
.about-timeline span{font-size:var(--fs-sm);color:var(--gray-text)}
.about-memberships{margin:0;font-family:var(--display);font-weight:800;font-size:var(--fs-lg);color:var(--teal-deep);letter-spacing:.02em}
.about-quotes h2{max-width:18em}
.about-quotes__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:start}
.about-pilot__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--s-9);align-items:center}
.about-pilot__text p{max-width:32em}
.about-pilot__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-5) 0 0}
.about-pilot__map{min-width:0}
.about-video__frame{max-width:var(--measure)}

/* ---- services ---- */
.svc-pick{padding:var(--s-8) 0 var(--s-6)}
.svc-parts{border-top:1px solid var(--line)}
.svc-part{padding:var(--s-8) 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 16px)}
.svc-part__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-6) var(--s-9);align-items:start}
.svc-part__intro h2{margin-bottom:var(--s-2)}
.svc-part__intro .lede{margin:0}
.svc-more{background:var(--gray-wash);border:1px solid var(--line);border-radius:var(--r-lg);padding:0 var(--s-5)}
.svc-more>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:56px;padding:6px 0;font-family:var(--display);font-weight:700;color:var(--teal-deep);cursor:pointer}
.svc-more>summary::-webkit-details-marker{display:none}
.svc-more__chev{flex:none;width:22px;height:22px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transition:transform .15s}
.svc-more[open]>.svc-more__chev,.svc-more[open]>summary .svc-more__chev{transform:rotate(-90deg)}
.svc-list{margin:0;padding:var(--s-2) 0 var(--s-5) 1.2em;columns:2;column-gap:var(--s-6);font-size:var(--fs-prose);line-height:1.5}
.svc-list li{break-inside:avoid;padding:4px 0}
.svc-note-section{padding:var(--s-8) 0 0}
.svc-note{max-width:var(--measure);margin:0}

/* ---- follow ---- */
.follow-page__links{gap:var(--s-3)}
.follow-page__handles{display:grid;gap:var(--s-2);margin:var(--s-5) 0 0;font-size:var(--fs-sm);color:var(--gray-text);max-width:40em}
.follow-page__handles b{font-family:var(--display);color:var(--teal-deep);margin-right:4px}
.follow-latest h2{max-width:22em;margin-bottom:var(--s-4)}
.follow-latest__frame{max-width:var(--measure)}

/* ---- legal ---- */
.legal-prose{max-width:var(--measure)}
.legal-prose>p:first-child{color:var(--gray-text);font-size:var(--fs-sm)}

/* ---- 404 ---- */
.notfound-book{padding-top:0}
.notfound-book__wrap .book-mini{max-width:480px}

/* ---- md ≤900 ---- */
@media (max-width:900px){
  .about-bio__grid,.about-quotes__grid,.about-pilot__grid{grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
  .about-pilot__map{max-width:640px}
  .svc-part__grid{grid-template-columns:1fr;gap:var(--s-4)}
}

/* ---- sm ≤640 ---- */
@media (max-width:640px){
  .about-bio__side{padding:var(--s-4)}
  .about-pilot__map .route-map{display:none}
  .about-pilot__map .route__legend{margin-top:0}
  .svc-part{padding:var(--s-6) 0}
  .svc-more{padding:0 var(--s-4)}
  .svc-list{columns:1;font-size:var(--fs-base)}
  .svc-pick{padding:var(--s-6) 0 var(--s-4)}
  .follow-page__links{flex-direction:column}
  .follow-page__links a{width:100%;justify-content:start}
}

/* pilot block: photo in place of the map (his pick 2026-09-05) */
.about-pilot__map img{width:100%;height:auto;display:block;border-radius:var(--r-lg)}
