/* Partner facilities and documents; deliberately scoped to About Us. */
.corporate-about-page { font-family:Arial,Helvetica,sans-serif; }
.corporate-about-page p { font-family:inherit; }
.about-masthead { min-height:310px; }
.about-masthead-photo { width:55%; object-position:center; }
.about-masthead-copy .about-text-link { margin-top:22px; }
.about-photo-credit { position:absolute; z-index:2; right:24px; bottom:16px; background:#fff; padding:8px 12px; color:#062b50; font-size:11px; }
.about-profile { gap:48px; }
.about-partner-roles { display:grid; grid-template-columns:1fr 1fr; margin-bottom:64px; border:1px solid var(--about-line); }
.about-partner-roles > div { padding:26px 30px; border-left:3px solid #006dc7; }
.about-partner-roles > div + div { border-left:1px solid var(--about-line); background:#fafbfd; }
.about-partner-roles span,.about-partner-features figcaption > span { color:#006dc7; font-size:12px; }
.about-partner-roles h3 { margin:8px 0; font-size:19px; line-height:1.35; font-weight:600; }
.about-partner-roles p { margin:0; color:var(--about-muted); font-size:14px; line-height:1.7; }
.about-partner-section { background:#fafbfd; border-block:1px solid #f3f6fa; scroll-margin-top:90px; }
.about-partner-features { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:36px; }
.about-partner-features figure,.about-facility-grid figure { margin:0; min-width:0; }
.about-partner-features figure { background:white; border:1px solid var(--about-line); }
.about-partner-features a,.about-facility-grid a { display:block; position:relative; }
.about-partner-features img,.about-facility-grid img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.about-partner-features figcaption { padding:22px 24px; }
.about-partner-features h3 { margin:8px 0; color:#062b50; font-size:23px; font-weight:600; }
.about-partner-features p { margin:0; color:var(--about-muted); font-size:15px; line-height:1.65; }
.about-facility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.about-facility-grid figcaption { font-size:15px; color:#062b50; padding-top:13px; }
.about-source-note { margin:28px 0 0; color:#526579; font-size:12px; line-height:1.7; }
.about-cert-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.about-cert-grid article { display:flex; flex-direction:column; border:1px solid var(--about-line); background:white; }
.about-cert-grid article > a { display:flex; justify-content:center; align-items:center; padding:20px; background:#fafbfd; }
.about-cert-grid img { display:block; width:100%; height:270px; object-fit:contain; }
.about-cert-grid article > div { display:flex; flex:1; flex-direction:column; padding:20px; }
.about-cert-grid h3 { font-size:19px; font-weight:600; line-height:1.3; color:#062b50; margin:0 0 9px; }
.about-cert-grid p { margin:0 0 16px; color:var(--about-muted); font-size:14px; line-height:1.55; }
.about-cert-grid span { margin-top:auto; color:#006dc7; font-size:12px; }
.about-document-note { border-left:3px solid #006dc7; background:#fafbfd; margin-top:26px; padding:20px 24px; }
.about-document-note p { color:#526579; font-size:13px; line-height:1.75; margin:0 0 10px; }
.about-document-note a { color:#006dc7; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.about-project-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:32px 0; list-style:none; }
.about-project-steps li { border-top:2px solid #006dc7; padding-top:20px; }
.about-project-steps h3 { margin:0 0 12px; font-size:18px; font-weight:600; line-height:1.4; }
.about-project-steps p { margin:0; font-size:14px; line-height:1.75; color:var(--about-muted); }
[data-about-gallery] { cursor:zoom-in; }
.about-gallery-open { overflow:hidden; }
.about-image-dialog { width:min(1000px,calc(100vw - 32px)); max-height:92vh; max-height:92dvh; padding:54px 24px 24px; border:0; background:#fff; color:#062b50; }
.about-image-dialog::backdrop { background:#041e38d9; }
.about-image-dialog figure { margin:0; }
.about-image-dialog img { display:block; max-width:100%; width:auto; max-height:65vh; max-height:65dvh; height:auto; margin:auto; object-fit:contain; }
.about-image-dialog figcaption { margin-top:18px; max-width:760px; margin-inline:auto; font-size:14px; line-height:1.6; }
.about-image-dialog [data-gallery-close] { position:absolute; right:12px; top:8px; width:44px; height:40px; border:1px solid #e5edf5; background:white; color:#062b50; font-size:28px; cursor:pointer; }
.about-original-link { display:block; width:fit-content; margin:16px auto 0; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1050px) {
  .about-cert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-project-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-partner-roles { margin-bottom:48px; }
}
@media(max-width:760px) {
  .about-masthead { min-height:285px; }
  .about-masthead-photo { width:100%; }
  .about-masthead-copy { padding-block:32px 58px; }
  .about-photo-credit { right:20px; bottom:12px; font-size:10px; }
  .about-partner-roles,.about-partner-features { grid-template-columns:minmax(0,1fr); }
  .about-partner-roles > div { padding:23px; }
  .about-partner-roles > div + div { border-left:3px solid #b8cbdd; border-top:1px solid var(--about-line); }
  .about-partner-roles { margin-bottom:42px; }
  .about-partner-features { gap:24px; }
  .about-partner-features figcaption { padding:18px 20px; }
  .about-partner-features h3 { font-size:21px; }
  .about-facility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .about-facility-grid figcaption { font-size:13px; }
  .about-cert-grid { gap:14px; }
  .about-cert-grid article > a { padding:10px; }
  .about-cert-grid img { height:auto; aspect-ratio:5/7; }
  .about-cert-grid article > div { padding:15px 12px; }
  .about-cert-grid h3 { font-size:16px; }
  .about-cert-grid p { font-size:13px; }
  .about-document-note { padding:18px; }
  .about-project-steps { gap:24px 20px; }
  .about-project-steps h3 { font-size:17px; }
  .about-image-dialog { padding:54px 16px 20px; }
}
