.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.portfolio-card{background:#fff;border:1px solid #ddd;overflow:hidden}
.portfolio-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
.photo-button{border:0;padding:0;background:#eee;cursor:zoom-in;min-height:130px;color:#555}
.photo-button img{width:100%;height:240px;object-fit:cover;display:block}
.portfolio-info{padding:20px}
.portfolio-info h2{margin-top:0}
.portfolio-info p{line-height:1.6}
.team-category-intro{max-width:900px;margin:0 auto 34px;padding:32px 38px;background:#f7f3eb;border-left:3px solid #aa8432}
.team-category-intro h2{margin-bottom:14px}
.team-category-intro p{color:#555;line-height:1.7}
.team-category-intro p:last-child{margin-bottom:0}
.portfolio-grid.team-project-grid{gap:28px}
.team-project-card .portfolio-photos{display:block;padding:0;background:#fff}
.team-project-card .photo-button{display:block;width:100%;height:300px;background:#fff}
.team-project-card .photo-button img{height:100%;object-fit:contain}
.portfolio-photo-placeholder{display:grid;place-items:center;min-height:300px;margin:0;padding:24px;background:#f7f3eb;color:#686868;text-align:center}
.team-project-card .portfolio-info{padding:26px}
.portfolio-cta{text-align:center;background:#111;color:white;padding:40px 20px;margin-top:45px}
.portfolio-cta p{margin-bottom:25px}
.photo-dialog{border:2px solid #d4af37;padding:12px;max-width:min(900px,95vw);max-height:95vh}
.photo-dialog::backdrop{background:#000b}
.photo-dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin-top:12px}
#close-dialog{cursor:pointer;padding:10px;background:#111;color: white;border:0}
@media(max-width:720px){.portfolio-grid{grid-template-columns:1fr}.photo-button img{height:170px}}
@media(max-width:700px){.team-category-intro{padding:25px 22px}}

.portfolio-image-banner{width:100%;margin:0;padding:0;background:#171717;overflow:hidden}
.portfolio-banner-img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.hero[hidden]{display:none}
@media(max-width:768px){.portfolio-image-banner{width:100%;padding:0}.portfolio-banner-img{width:100%;height:auto}}

.school-portfolio{background:#f7f3eb;padding:70px 25px;color:#171717}
.school-portfolio-heading{text-align:center;max-width:750px;margin:0 auto 45px}
.school-portfolio-heading span{color:#aa8432;font-size:12px;font-weight:700;letter-spacing:3px}
.school-portfolio-heading h2{font-size:clamp(30px,4vw,46px);margin:15px 0}
.school-portfolio-heading p{color:#666;line-height:1.7}
.school-project-grid{display:grid;gap:30px;max-width:1100px;margin:auto}
.site-header{background:#fff}
.brand-logo{width:125px;height:82px;object-fit:contain}
.school-project-card{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);background:#fff;border:1px solid #e9e0d1;border-radius:4px;box-shadow:0 16px 38px #00000010;overflow:hidden}
.school-project-cover{position:relative;min-height:420px;background:#fff}
.school-cover-photo,.school-gallery-photo{display:block;border:0;padding:0;background:#fff;cursor:zoom-in}
.school-cover-photo{position:absolute;inset:0;width:100%;height:100%}
.school-cover-photo img{display:block;width:100%;height:100%;object-fit:contain}
.school-cover-photo:focus-visible,.school-gallery-photo:focus-visible{outline:3px solid #aa8432;outline-offset:-3px}
.school-project-cover-empty{display:grid;place-items:center;padding:20px;text-align:center;color:#171717;background:#f7f3eb}
.school-project-cover-empty .school-photo-placeholder{color:#e8c15b}
.school-project-content{align-self:center;padding:38px clamp(25px,4vw,50px)}
.school-project-number{color:#aa8432;font-size:12px;font-weight:700;letter-spacing:2px}
.school-project-content h3{font-size:clamp(25px,3vw,32px);margin:12px 0 20px}
.school-project-content p{color:#555;font-size:14px;line-height:1.7;margin:10px 0}
.school-view-button{margin-top:22px;padding:14px 20px;background:#171717;color:#e8c15b;border:1px solid #d4af37;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s}
.school-view-button:hover{background:#d4af37;color:#111}
.school-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.school-photo-gallery[hidden]{display:none}
.school-gallery-photo{width:100%;height:180px}
.school-gallery-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#f5f5f5}
.school-photo-placeholder{grid-column:1/-1;color:#666;font-size:13px}
@media(max-width:700px){.school-portfolio{padding:50px 16px}.school-project-card{grid-template-columns:1fr}.school-project-cover{height:min(78vw,360px);min-height:260px}.school-project-content{padding:28px 24px}}
