.about-page .home-header { justify-content:space-between; margin-bottom:8px; }
.about-page main { display:block; }
.about-back { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:var(--muted); font-size:13px; }
.about-intro { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:28px 64px; margin:32px 0 38px; }
.about-eyebrow { font-size:11px; font-weight:800; letter-spacing:1.6px; line-height:1.6; margin:0 0 14px; }
.about-intro h1 { font-size:clamp(36px,4.8vw,62px); line-height:1.08; font-weight:800; letter-spacing:-2px; margin:0; }
.about-intro h1 span { color:#628259; }
.about-intro-side { max-width:310px; justify-self:end; padding-bottom:4px; }
.about-intro-side p { font-size:16px; line-height:1.7; color:var(--muted); margin:0 0 12px; }
.about-menu-link { min-height:44px; display:inline-flex; align-items:center; justify-content:space-between; gap:26px; font-size:14px; font-weight:750; }
.about-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.about-gallery figure { min-width:0; margin:0; }
.about-gallery img { display:block; width:100%; height:auto; aspect-ratio:985/1597; object-fit:cover; border-radius:16px; background:var(--soft); }
.about-gallery figcaption { display:flex; align-items:baseline; gap:12px; padding:17px 0 0; }
.about-photo-index { font-size:11px; font-weight:650; color:var(--muted); }
.about-gallery h2 { font-size:18px; line-height:1.4; letter-spacing:-.35px; margin:0; }
.about-reviews { margin:64px 0; }
.about-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 24px; margin-bottom:24px; }
.about-section-heading h2 { font-size:26px; line-height:1.3; letter-spacing:-.8px; margin:0; }
.about-section-heading > p { font-size:12px; color:var(--muted); margin:0; }
.about-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.about-review { display:flex; flex-direction:column; justify-content:space-between; margin:0; padding:28px; border-radius:16px; background:#edf1e6; }
.about-review blockquote { margin:0 0 26px; padding:0; border:0; font-size:19px; line-height:1.65; font-weight:550; }
.about-review blockquote p { margin:0; }
.about-review blockquote p::before { content:'“'; }
.about-review blockquote p::after { content:'”'; }
.about-review figcaption { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; font-size:12px; }
.about-review-name { font-weight:750; grid-column:1; }
.about-review-meta { color:var(--muted); grid-column:1; }
.about-review figcaption > a { grid-column:2; grid-row:1/3; display:inline-flex; align-items:center; gap:4px; min-height:44px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.about-review-links { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:4px 22px; margin-top:12px; font-size:13px; }
.about-review-links > span { color:var(--muted); }
.about-review-links a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; }
.about-visit { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:22px; background:var(--brand); color:#fff; border-radius:20px; padding:32px; }
.about-visit .about-eyebrow { color:#d9e8cb; margin-bottom:8px; }
.about-visit h2 { max-width:23em; font-size:24px; font-weight:650; letter-spacing:-.6px; line-height:1.4; margin:0; }
.about-hours { display:flex; align-items:center; gap:9px; margin:16px 0 0; font-size:13px; color:#e4eedc; }
.about-hours-dot { width:7px; height:7px; border-radius:50%; background:#ceeba8; }
.about-map-link { display:inline-flex; align-items:center; justify-content:space-between; min-height:50px; padding:12px 20px; gap:22px; border-radius:12px; color:var(--ink); background:#edf1df; font-size:14px; font-weight:750; }
.about-map-link:focus-visible { outline-color:#fff; }
.about-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 28px; font-size:11px; color:var(--muted); letter-spacing:.6px; }
.about-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:700; letter-spacing:0; }
@media(max-width:700px) {
  .about-intro { grid-template-columns:1fr; margin:24px 0 26px; gap:18px; }
  .about-intro h1 { letter-spacing:-1.5px; }
  .about-intro-side { max-width:28em; justify-self:start; }
  .about-intro-side p { font-size:15px; margin-bottom:4px; }
  .about-gallery { gap:12px; }
  .about-gallery img { border-radius:10px; }
  .about-gallery figcaption { display:block; padding-top:12px; }
  .about-photo-index { display:block; margin-bottom:4px; }
  .about-gallery h2 { font-size:14px; letter-spacing:0; }
  .about-reviews { margin:40px 0; }
  .about-section-heading h2 { font-size:23px; }
  .about-review-grid { grid-template-columns:1fr; gap:12px; }
  .about-review { padding:22px; }
  .about-review blockquote { font-size:18px; margin-bottom:18px; }
  .about-review-links { justify-content:flex-start; }
  .about-visit { padding:24px; }
  .about-visit h2 { font-size:22px; }
}
@media(max-width:420px) {
  .about-gallery { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .about-gallery figure:first-child { grid-column:1/-1; }
  .about-gallery figure:first-child img { aspect-ratio:4/3; object-position:center 63%; }
  .about-gallery figure:first-child figcaption { display:flex; align-items:baseline; padding-bottom:10px; }
  .about-review figcaption { grid-template-columns:1fr; }
  .about-review figcaption > a { grid-column:1; grid-row:auto; justify-self:start; }
}
