.about-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.about-card { min-width: 0; padding: 38px; background: #fff; border-radius: 30px; box-shadow: 0 8px 24px rgb(0 0 0 / .08), 0 2px 6px rgb(0 0 0 / .05); }
.about-column { min-width: 0; display: flex; flex-direction: column; }
.about-column .about-card { flex: 1; }
.about-copy { color: #46525e; font-size: 1.0625rem; line-height: 1.75; overflow-wrap: anywhere; }
.about-copy::after { content: ""; display: table; clear: both; }
.about-copy h2 { clear: both; color: #0f2d52; font-size: 1.55rem; line-height: 1.3; letter-spacing: -.02em; padding-top: 16px; margin: 8px 0 14px; }
.about-copy h2:first-child { margin-top: 0; padding-top: 0; }
.about-copy p { margin: 0 0 16px; }
.about-copy a { color: #007780; text-underline-offset: 3px; }
.about-copy a:focus-visible { outline: 3px solid #007a85; outline-offset: 3px; }
.about-copy figure { margin: 0 0 8px; }
.about-copy img { display: block; width: auto; max-width: 100%; height: auto; border-radius: 12px; }
.about-copy .alignleft { float: left; max-width: 38%; margin: 0 18px 6px 0; }
.about-copy .alignright { float: right; max-width: 45%; margin: 0 0 6px 18px; }
.about-copy figure img { max-height: 245px; object-fit: contain; }
.site-sidebar { min-width: 0; }
.column-title { font-size: clamp(1.8rem, 4vw, 2.25rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 650; margin: 38px 24px 26px; }
.site-sidebar .cards { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.site-sidebar .card { padding: 28px 24px; }
.site-sidebar .art { height: 130px; margin-bottom: 22px; }
.site-sidebar .art img { max-height: 130px; }
.site-sidebar .art .cinema-photo { width: 175px; height: 130px; }
.site-sidebar .card h2 { font-size: 1.45rem; }
.site-sidebar .snap-logos { gap: 12px; }
.site-sidebar .snap-logos img { width: calc(50% - 6px); height: auto; object-fit: contain; }
.contact-bar { grid-column: 1 / -1; padding: 28px 32px; border-radius: 30px; background: #fff; box-shadow: 0 8px 24px rgb(0 0 0 / .08), 0 2px 6px rgb(0 0 0 / .05); }
.contact-bar h2 { margin: 0 0 20px; font-size: 1.55rem; }
.contact-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.contact-links a { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 12px; border-radius: 12px; text-decoration: none; color: #007780; overflow-wrap: anywhere; line-height: 1.5; }
.contact-links strong { color: #0f2d52; }
.contact-icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 16px; background: #fdf1cf; }
.contact-icon img { display: block; width: 28px; height: 28px; }
.contact-links a:hover { background: #fdf1cf; }
.contact-links a:focus-visible { outline: 3px solid #007a85; outline-offset: 3px; }
@media (max-width: 850px) { .contact-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .contact-bar { padding: 26px 22px; } .contact-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; } .contact-links a { padding: 12px 2px; } .contact-links a > span:not(.contact-icon) { font-size: .875rem; } }
@media (max-width: 850px) {
  .about-layout { grid-template-columns: minmax(0, 1fr); }
  .site-sidebar .cards { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .about-card { padding: 26px 22px; }
  .column-title { margin: 26px 22px; }
  .about-copy { font-size: 1rem; }
  .about-copy .alignleft, .about-copy .alignright { float: none; max-width: 100%; width: fit-content; margin: 0 auto 12px; }
  .about-copy img { max-height: 280px; object-fit: contain; }
  .site-sidebar .cards { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 851px) {
  .about-layout { align-items: stretch; }
  .site-sidebar { display: flex; flex-direction: column; }
  .site-sidebar .cards { flex: 1; }
}

/* Match the 24px space above the masthead. */
.about-page .about-layout { padding-top: 24px; }
.about-column > .column-title { margin-top: 0; }
@media (min-width: 851px) {
  .site-sidebar > .column-title { margin-top: 0; }
}

/* Keep the introduction caption attached to the photograph. */
.about-intro-portrait { position: relative; margin: 0 0 18px; overflow: hidden; border-radius: 12px; }
.about-intro-image { display: block; width: 100%; height: auto; }
.about-tagline { position: absolute; inset: auto 0 0; margin: 0; padding: 12px 16px; color: #fff; background: rgb(15 35 48 / .78); font-size: .9375rem; line-height: 1.45; }
@media (max-width: 560px) {
  .about-tagline { padding: 8px 10px; font-size: .75rem; line-height: 1.35; }
}
