.about-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 36px; padding-top: 48px; padding-bottom: 64px; }
.about-contents { position: sticky; top: 112px; background: #fff; border: 1px solid #dfe4d8; border-radius: 10px; padding: 23px 16px; }
.about-contents .site-eyebrow { margin: 0 12px 13px; }
.about-contents a { display: block; color: #4c5c50; font-size: .88rem; text-decoration: none; border-radius: 5px; padding: 10px 12px; }
.about-contents a:hover, .about-contents a:focus-visible { background: #f0f3e9; color: var(--site-ink); }
.about-contents a:focus-visible, .about-article a:focus-visible { outline: 2px solid #a27b20; outline-offset: 3px; }
.about-article { min-width: 0; background: #fff; border: 1px solid #dfe4d8; border-radius: 12px; padding: 36px 40px; }
.about-article section + section { margin-top: 36px; padding-top: 36px; border-top: 1px solid #e3e5dc; }
.about-article h2 { font-size: clamp(1.65rem, 3vw, 2rem); letter-spacing: -.03em; line-height: 1.25; margin: 0 0 22px; color: var(--site-ink); }
.about-article h3 { font-size: 1.2rem; margin: 28px 0 14px; color: var(--site-ink); }
.about-article p, .about-article li { color: #535f57; font-size: .97rem; line-height: 1.8; }
.about-article p { margin-bottom: 18px; }
.about-article section > :last-child { margin-bottom: 0; }
.about-article a { color: #355d3e; text-underline-offset: 4px; overflow-wrap: anywhere; }
.about-quote { padding: 23px 26px; margin: 26px 0; background: #f8f7f0; border-left: 3px solid var(--site-gold); border-radius: 0 8px 8px 0; }
.about-quote p { font-family: Georgia, serif; font-size: 1.15rem; line-height: 1.75; color: #3f5143; margin: 0; }
.beliefs-list { list-style-type: decimal; padding-left: 24px; margin: 0 0 24px; }
.beliefs-list li { padding-left: 7px; margin-bottom: 16px; }
.beliefs-list li::marker { color: #80652c; font-weight: 600; }
@media (max-width: 991px) {
  .about-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  .about-article { padding: 28px; }
  .about-contents { padding: 20px 10px; }
}
@media (max-width: 767px) {
  .about-layout { grid-template-columns: 1fr; gap: 24px; padding-top: 30px; padding-bottom: 48px; }
  .about-contents { position: static; display: flex; flex-wrap: wrap; gap: 4px; padding: 18px 12px; }
  .about-contents .site-eyebrow { flex-basis: 100%; margin: 0 10px 8px; }
  .about-contents a { padding: 10px; background: #f7f8f3; }
  .about-article { padding: 24px 22px; }
  .about-quote { padding: 18px; }
}
