.hero{background-image:var(--home-hero-overlay,linear-gradient(90deg,rgba(9,43,31,.84),rgba(9,43,31,.32) 57%,rgba(9,43,31,.12))),url("school-extra-062d9e4063dd.jpg")}
.feature-photo{margin:0 0 2.5rem;max-width:100%}
.feature-photo img{display:block;width:100%;height:min(47vw,410px);min-height:250px;object-fit:cover;border-radius:10px}
.school-gallery{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;margin:0 0 2.7rem}
.school-gallery--compact{grid-template-columns:repeat(2,minmax(0,320px));justify-content:center}
.school-gallery-item{min-width:0;margin:0;background:#f5f7f2;border-radius:12px;overflow:hidden}
.school-gallery-item img{display:block;width:100%;height:clamp(230px,28vw,330px);object-fit:cover;background:#e7ece6}
.school-gallery-item--small{max-width:320px;justify-self:center;width:100%}
.school-gallery-item--small img{height:clamp(190px,22vw,245px)}
.school-gallery-item figcaption{padding:13px 16px 16px;color:var(--ink);font-size:13px;line-height:1.5}
.school-gallery-item figcaption small{display:block;color:var(--sub);font-size:11px;margin-top:4px}
.school-gallery-item figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.feature-photo figcaption,.person-photo figcaption{font-size:11px;color:var(--sub);margin-top:8px;line-height:1.55}
.prose>.feature-photo{margin-left:0;margin-right:0}
.school-card{padding:0 0 22px;overflow:hidden}
.school-card>:not(.school-thumb){margin-left:22px;margin-right:22px}
.school-thumb{display:block;width:100%;height:195px;object-fit:cover;margin-bottom:18px;background:#e7ece6}
.photo-country-card{padding:0;overflow:hidden}
.photo-country-card img{display:block;width:100%;height:205px;object-fit:cover;background:#e7ece6}
.photo-country-card .inside{padding:22px 24px 24px}
.photo-country-card h3{margin-bottom:8px}
.photo-country-card p{margin:0}
.photo-credit{display:block;color:var(--sub);font-size:10px;line-height:1.5;margin:8px 0 13px}
.person-photo{width:280px;max-width:100%;margin:14px 0 22px}
.person-photo img{display:block;width:100%;height:auto;border-radius:8px}
.team-profile{margin:3rem 0;padding:28px;background:#f4f7f1;border:1px solid #dce4da;border-radius:14px}
.prose .team-profile h2{margin:0 0 8px}
.team-profile-english{display:inline-block;font-size:16px;font-weight:400;color:var(--sub);margin-left:8px}
.prose .team-profile-role{margin:0 0 24px;color:var(--green);font-size:15px;font-weight:700}
.team-profile-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:28px;align-items:start}
.team-profile-photo{margin:0;min-width:0}
.team-profile-photo img{display:block;width:100%;height:auto;border-radius:10px}
.team-profile-message{min-width:0}
.prose .team-profile-message p{margin:0 0 1.25em;line-height:1.95}
.prose .team-profile-message p:last-child{margin-bottom:0}
@media(max-width:760px){.team-profile{padding:22px 18px;margin:2rem 0}.team-profile-layout{grid-template-columns:1fr;gap:22px}.team-profile-photo{width:200px;max-width:100%;justify-self:center}.team-profile-english{font-size:14px}.prose .team-profile-role{font-size:14px}.prose .team-profile-message p{line-height:1.85}}
.media-intro{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;margin:0 0 2.5rem}
.media-intro .person-photo{width:220px;margin:0}
.media-intro h2{margin-top:.35rem}
.media-list{border-top:1px solid #dce4da;margin:0 0 2.8rem}
.media-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;border-bottom:1px solid #dce4da;padding:16px 0}
.media-row h3{font-size:1.04rem;line-height:1.5;margin:0 0 4px}
.media-row small,.media-date{font-size:12px;color:var(--sub)}
.media-date{padding-top:4px;white-space:nowrap}
.photo-card .inside{padding-top:20px}
@media(max-width:760px){.feature-photo img{height:245px;min-height:0}.school-gallery{grid-template-columns:1fr;gap:12px}.school-gallery-item img{height:clamp(205px,54vw,300px)}.school-gallery-item--small img{height:clamp(190px,54vw,240px)}.media-intro{grid-template-columns:1fr;gap:18px}.media-intro .person-photo{width:180px}.media-row{grid-template-columns:1fr;gap:3px}.school-thumb{height:210px}.photo-country-card img{height:205px}.hero{background-position:58% center}.hero:before{display:none}}

.provider-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin:0 0 2.7rem}
.provider-gallery--single{grid-template-columns:minmax(0,1fr)}
.provider-gallery-item{min-width:0;margin:0;background:#f5f7f2;border-radius:12px;overflow:hidden}
.provider-gallery-item img{display:block;width:100%;height:auto;background:#e7ece6}
.provider-gallery-item figcaption{padding:13px 16px 16px;color:var(--ink);font-size:13px;line-height:1.5}
.provider-gallery-item figcaption small{display:block;color:var(--sub);font-size:11px;margin-top:4px}
.provider-gallery-item figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.provider-gallery{grid-template-columns:1fr;gap:16px}}

/* Append to renewal/assets/photos.css: reviewed historical article photos. */
.article-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.75rem 0 2.25rem}
.article-photo-gallery-item{margin:0;min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e4ded3;border-radius:12px;overflow:hidden}
.article-photo-gallery-item img{display:block;width:100%;height:300px;object-fit:contain;background:#f6f3ec}
.article-photo-gallery-item figcaption{padding:.8rem 1rem;color:#655f54;font-size:.82rem;line-height:1.7;overflow-wrap:anywhere}
.article-photo-gallery-item--small img{width:auto;max-width:100%;height:auto;max-height:300px;margin:auto;object-fit:contain}
.article-photo-gallery-item:only-child{grid-column:1/-1;max-width:760px;width:100%;justify-self:center}
.article-photo-gallery-item:only-child img{height:auto;max-height:460px}
@media(max-width:640px){.article-photo-gallery{grid-template-columns:minmax(0,1fr);gap:1rem;margin:1.25rem 0 1.75rem}.article-photo-gallery-item img{height:auto;max-height:360px}.article-photo-gallery-item figcaption{padding:.75rem .85rem}.article-photo-gallery-item--small img{width:auto}}

/* Retain the complete frame only for explicitly marked preserved originals. */
.school-gallery-item.school-gallery-item--preserve-frame{grid-column:1/-1;width:100%;max-width:none;justify-self:stretch}
.school-gallery-item.school-gallery-item--preserve-frame img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}

@media(max-width:760px){.hero{--home-hero-overlay:linear-gradient(90deg,rgba(9,43,31,.86),rgba(9,43,31,.74))}}

/* Keep the full original frame for the three reviewed group portraits.
   Hash names cover local assets; original names cover native source URLs. */
.school-gallery-item img[src*="school-extra-7f3976bb12c5"],
.school-gallery-item img[src*="Hillsinternationalcollege201903-0029"],
.school-gallery-item img[src*="school-extra-ae993e73a175"],
.school-gallery-item img[src*="St.PaulsSchoo20170901-0024"],
.school-gallery-item img[src*="school-extra-a8954fbc950d"],
.school-gallery-item img[src*="/2019/09/8-7.jpg"]{
  height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;
}

/* Exact reviewed source frames: remove baked-in blank margins and obsolete promotion. */
.school-gallery-item.school-gallery-item--preserve-frame[data-photo-id="P2096-OFF-0e7531d516f9"]{grid-column:auto}
.school-gallery-item.school-gallery-item--preserve-frame[data-photo-id="P2096-OFF-0e7531d516f9"] img{
  height:auto;min-height:0;max-height:none;aspect-ratio:5/3;object-fit:cover;object-position:70% 50%;
}
.school-gallery-item[data-photo-id="P2324-OLD-1"] img{
  height:auto;min-height:0;max-height:none;aspect-ratio:2.35;object-fit:cover;object-position:50% 100%;
}
.school-gallery-item[data-photo-id="P2324-OLD-2"] img{
  height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;
}
@media(min-width:761px){
  .school-gallery:has(> figure[data-photo-id="P2324-OLD-1"]){grid-template-columns:minmax(0,2.35fr) minmax(0,1.5fr)}
}

/* Preserve the full visitor portrait in the Burnaby office report. */
.feature-photo img[src*="site-04b817af837f"]{height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
