/* Shared school-detail composition: existing campus background + complete clothing art. */
.school-page .school-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);column-gap:44px;row-gap:12px;align-items:start;min-height:0;padding-block:34px 32px}
.school-page .school-hero-intro{grid-column:1;grid-row:1;min-width:0}
.school-page .school-hero-intro .tags{flex-wrap:wrap;margin-bottom:12px}
.school-page .school-hero-intro h1{overflow-wrap:anywhere}
.school-page .school-hero-copy{grid-column:1;grid-row:2;min-width:0;padding:0}
.school-page .school-hero-copy .hero-headline,.school-page .school-hero-copy>h2{margin-top:0}
.school-page .school-hero-copy .hero-actions{flex-wrap:wrap}
.school-page .school-hero-media{grid-column:2;grid-row:1/span 2;align-self:center;min-width:0;width:100%;max-width:none;margin:0}
.school-page .school-hero-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:var(--surface-muted,#eef1f3)}
.school-page .school-hero-campus-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.school-page .school-hero-scene:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff08 38%,#ecf0ed28 70%,#d6dfd45c)}
.school-page .school-hero-people{position:absolute;z-index:2;inset:6% 3% 4%;display:flex;justify-content:center;align-items:center;pointer-events:none}
.school-page .school-hero-character-window{position:relative;flex:none;height:100%;width:auto;aspect-ratio:1;max-width:100%;overflow:hidden}
.school-page .school-hero-character-image{display:block;object-fit:contain;object-position:center bottom;padding:0;margin:0}
.school-page .school-hero-character-image:not([style]){width:100%;height:100%}
.school-page .school-hero-clothing-label{position:absolute;z-index:3;top:12px;left:12px;max-width:calc(100% - 24px);padding:5px 10px;border-radius:5px;background:#fffffff0;color:var(--ink,#29313a);box-shadow:0 1px 8px #14292310;font-size:10px;font-weight:700;line-height:1.6}
.school-page .school-hero-media figcaption{margin:6px 0 0;font-size:10px;line-height:1.6;color:var(--muted,#697078)}
.school-page .school-hero-facts{grid-column:1/-1;grid-row:3;margin:10px 0 0;padding:18px 22px;background:var(--surface-muted,#f2f4f5);border-radius:10px;min-width:0}
.school-page .school-hero-facts>.eyebrow{display:block;margin-bottom:7px}
.school-page .school-hero-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;margin:0}
.school-page .school-hero-facts dl>div{display:block;min-width:0;padding:0;border:0}
.school-page .school-hero-facts dt{font-size:10px;color:var(--muted,#697078)}
.school-page .school-hero-facts dd{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere}
.school-page .school-hero-facts .directory-important{margin:12px 0 0}
@media(max-width:1000px){.school-page .school-detail-hero{column-gap:26px}.school-page .school-hero-facts dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:749px){
 .school-page .school-detail-hero.wrap{display:grid;width:100%;max-width:none;margin-inline:0;padding:22px 0 28px;grid-template-columns:minmax(0,1fr);row-gap:18px}
 .school-page .school-hero-intro{grid-column:1;grid-row:1;padding-inline:20px}
 .school-page .school-hero-intro .tags{margin-bottom:8px}
 .school-page .school-hero-intro .school-english,.school-page .school-hero-intro .directory-full-name{margin-bottom:0}
 .school-page .school-hero-media{grid-column:1;grid-row:2;width:100%;margin:0}
 .school-page .school-hero-scene{border-radius:0;aspect-ratio:4/3}
 .school-page .school-hero-media figcaption{padding-inline:20px;margin-top:5px;font-size:9px}
 .school-page .school-hero-copy{grid-column:1;grid-row:3;padding-inline:20px}
 .school-page .school-hero-copy .hero-actions{margin-top:18px}
 .school-page .school-hero-copy .verified{flex-wrap:wrap;row-gap:4px}
 .school-page .school-hero-facts{grid-column:1;grid-row:4;margin:0 20px;padding:16px;max-width:calc(100% - 40px)}
 .school-page .school-hero-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
 .school-page .school-hero-clothing-label{top:10px;left:12px;font-size:9px}
}
@media(max-width:380px){.school-page .school-hero-intro,.school-page .school-hero-copy,.school-page .school-hero-media figcaption{padding-inline:16px}.school-page .school-hero-facts{margin-inline:16px;max-width:calc(100% - 32px)}}
@media print{.school-page .school-detail-hero{display:block;padding:0}.school-page .school-hero-media,.school-page .school-hero-facts{display:none}.school-page .school-hero-intro,.school-page .school-hero-copy{padding:0}}

.school-page .school-detail-hero:not(:has(.school-hero-media)){grid-template-columns:minmax(0,1fr)}
.school-page .school-detail-hero:not(:has(.school-hero-media)) .school-hero-copy{grid-row:2}
