.gallerytools,.adminbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;flex-wrap:wrap}.galleryfilters{display:flex;gap:8px;flex-wrap:wrap}.galleryfilters button{padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:white;color:var(--ink);cursor:pointer}.galleryfilters .chosen{background:var(--solar-blue);color:white;border-color:var(--solar-blue)}.projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.projecttile{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.projecttile .photobutton{padding:0;border:0;width:100%;height:310px;background:#f3f6f9;cursor:zoom-in;display:block}.projecttile img{width:100%;height:100%;object-fit:cover}.projecttile.team img,.projecttile.equipment img{object-fit:contain}.tilecopy{padding:22px}.tilecopy h3{margin:8px 0;font-size:21px}.tilecopy p{font-size:15px;line-height:1.6;color:var(--muted)}.tilecopy .eyebrow{font-size:11px}#photoViewer{border:0;border-radius:12px;padding:24px;max-width:min(960px,94vw);max-height:94vh}#photoViewer::backdrop{background:#102c43df}#viewerImage{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}#closeViewer{display:block;margin-left:auto;background:none;border:0;font-size:32px;cursor:pointer}.adminsection{max-width:1100px}.adminbox{max-width:600px;border:1px solid var(--line);padding:32px;border-radius:16px;margin-bottom:40px}.adminbox label{display:block;font-weight:600;margin:18px 0}.adminbox input,.adminbox select,.adminbox textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #b8c8d4;border-radius:7px;font:inherit}.fieldnote{font-size:13px;color:var(--muted)}#adminStatus{margin-bottom:20px;white-space:pre-wrap}.deletefile{padding:8px 14px;color:#a32727;background:#fff;border:1px solid #dfbaba;border-radius:6px;cursor:pointer}.filelink{display:block;padding:20px;background:#f3f6f9;min-height:100px}[hidden]{display:none!important}@media(max-width:900px){.projectgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.projectgrid{grid-template-columns:1fr}.projecttile .photobutton{height:320px}.adminbox{padding:22px}.gallerysection{padding-top:45px}}
.galleryheading{text-align:center;padding:38px 20px 12px}.galleryheading h1{font-size:36px;margin:0}.gallerysection{max-width:1400px;padding:24px 24px 60px}.gallerysection .projectgrid{display:block;columns:3;column-gap:16px}.galleryphoto{display:block;width:100%;padding:0;margin:0 0 16px;border:0;background:transparent;cursor:zoom-in;break-inside:avoid;overflow:hidden}.galleryphoto img{display:block;width:100%;height:auto}.gallerysection #galleryStatus:empty{display:none}#closeViewer{color:#15384f}@media(max-width:900px){.gallerysection .projectgrid{columns:2}}@media(max-width:540px){.gallerysection .projectgrid{columns:1}.gallerysection{padding:20px 16px 45px}}

/* Consistent gallery frames, with full portraits preserved. */
.galleryheading{padding:36px 24px 18px}.galleryheading h1{font-size:clamp(32px,4vw,44px);font-weight:700;letter-spacing:-.6px;line-height:1.2;margin:0;color:#15384f}.gallerysection{max-width:1248px;padding:12px 24px 60px}.gallerysection .projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;gap:18px}.galleryphoto{width:100%;aspect-ratio:4/3;margin:0;border-radius:8px;display:block;background:#f2f5f7}.galleryphoto img{width:100%;height:100%;object-fit:cover;object-position:center}.galleryphoto.portraitphoto img{object-fit:contain}.galleryphoto:focus-visible{outline:3px solid #0879b6;outline-offset:4px}@media(max-width:900px){.gallerysection .projectgrid{grid-template-columns:repeat(2,minmax(0,1fr));columns:auto}}@media(max-width:540px){.gallerysection .projectgrid{grid-template-columns:1fr;gap:14px;columns:auto}.gallerysection{padding:10px 16px 40px}.galleryheading{padding:24px 16px 18px}}

.galleryheading{max-width:1440px;margin:20px auto 32px;padding:38px 24px;text-align:center;background:#edf7fc;border-radius:48px}.galleryheading h1{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:0;font-weight:800;color:#15384f}.gallerysection{max-width:1440px;margin:0 auto 48px;padding:24px;background:#edf7fc;border-radius:32px}.gallerysection .projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;columns:auto;min-width:0}.galleryphoto{display:block;position:relative;width:100%;min-width:0;aspect-ratio:3/4;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#e4eef5;cursor:zoom-in}.galleryphoto img,.galleryphoto.portraitphoto img{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}.gallerysection #galleryStatus:empty{display:none}.galleryphoto:focus-visible{outline:3px solid #0879b6;outline-offset:3px}#photoViewer{border:0;border-radius:12px;padding:20px;max-width:94vw;max-height:94vh}#photoViewer::backdrop{background:#102c43df}#viewerImage{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;margin:auto}#closeViewer{display:block;margin-left:auto;border:0;background:white;color:#15384f;font-size:32px;cursor:pointer}@media(max-width:1488px){.galleryheading,.gallerysection{margin-left:24px;margin-right:24px}}@media(max-width:900px){.gallerysection .projectgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:540px){.galleryheading{margin:14px 16px 20px;padding:26px 16px;border-radius:28px}.gallerysection{margin:0 16px 32px;padding:12px;border-radius:20px}.gallerysection .projectgrid{grid-template-columns:1fr;gap:14px}.galleryphoto{aspect-ratio:3/4}}
