.school-reference { --color-primary: #164c3e; --color-accent: #b28d36; color: #163d33; }
.school-reference .section { background: rgba(247,249,236,.85); border-top: 1px solid rgba(178,141,54,.35); }
.school-reference #council { background: rgba(226,237,220,.85); }
.school-reference .section-title { font-size: clamp(1.8rem,4vw,2.8rem); margin: 0 0 2rem; }
.school-reference .text-center { text-align: center; }
.school-reference .text-small, .school-reference .member-profile-text { font-size: 1rem; }
.school-reference .grid { display: grid; gap: 2rem; }
.school-reference .grid-2, .school-reference .grid-2-pc { grid-template-columns: repeat(2,minmax(0,1fr)); }
.school-reference .card, .school-reference .printout-card { background: #fffef8; padding: clamp(1.2rem,3vw,2rem); border: 1px solid #c7cdb6; border-radius: 8px; }
.school-reference h3 { font-size: 1.35rem; margin-top: 0; }
.school-reference .info-list { display: grid; grid-template-columns: 5em minmax(0,1fr); gap: .6rem 1rem; }
.school-reference dt { font-weight: 700; }
.school-reference dd { margin: 0; }
.school-reference figure { margin: 0; }
.school-reference .principal-figure { width: min(65%,240px); margin: 2rem auto; text-align: center; }
.school-reference .principal-figure img { width: 100%; height: auto; }
.school-reference .facility-main-photo { width: 100%; height: auto; margin-bottom: 1.5rem; }
.school-reference .photo-card { margin: 0; text-align: center; }
.school-reference .photo-card img { width: 100%; height: auto; border-radius: 6px; }
.school-reference .photo-card p { margin: .6rem 0 0; }
.school-reference .grid-4-pc { grid-template-columns: repeat(4,minmax(0,1fr)); }
.school-reference #council .container { max-width: 1000px; margin: 0 auto; padding: 0 1rem; }
.school-reference .member-card-large { display: flex; flex-direction: column; gap: 1.5rem; text-align: left; padding: 2rem; background: #fff; border: 2px solid #1A4331; border-radius: 8px; box-shadow: 4px 4px 0 #D1C7B7; }
.school-reference .member-card-large > a { width: 100%; }
.school-reference .member-avatar { width: 100%; height: auto; display: block; margin: 0; border-radius: 8px; object-fit: cover; border: 3px solid #1A4331; box-shadow: 2px 2px 0 #D1C7B7; }
.school-reference .member-name { margin-top: 0; }
.school-reference .member-profile { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.school-reference .text-accent { color: #765615; }
.school-reference a[data-lightbox] { display: block; cursor: zoom-in; }
.komegaku-series .global-nav { flex-wrap: wrap; gap: .65rem 1rem; }
@media (max-width: 767px) { .school-reference .grid-2-pc { grid-template-columns: 1fr; } .school-reference .member-card-large { text-align: center; } }
@media (max-width: 650px) { .school-reference .grid-2 { grid-template-columns: 1fr; } .school-reference .facility-photo-grid, .school-reference .grid-4-pc { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem !important; } }
