.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters button{font:inherit;border:1px solid #b8c9ec;border-radius:30px;background:white;color:var(--ink);padding:10px 20px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.gallery-status{font-size:13px;color:#53617e;margin-bottom:20px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}.project[hidden]{display:none}.photo-open{position:relative;padding:0;border:0;width:100%;background:#d6e0f4;cursor:zoom-in;display:block;overflow:hidden}.photo-open img{height:370px;transition:transform .3s;object-fit:cover}.photo-open:hover img{transform:scale(1.035)}.zoom{position:absolute;right:14px;bottom:14px;background:white;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:23px;color:var(--blue)}.project figcaption{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-top:13px;font-size:15px}.project small{font-size:12px;color:var(--blue);white-space:nowrap}.more{margin:35px auto 0;border:0;cursor:pointer}.more[hidden]{display:none}.reviews{padding:85px 5%}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.review-grid article{border-top:2px solid var(--blue);padding:25px 0}.stars{color:var(--blue);letter-spacing:3px}.review-grid blockquote{margin:22px 0;font-size:clamp(23px,2.2vw,32px);line-height:1.3;letter-spacing:-.025em;min-height:125px}.review-grid p{font-size:15px}.review-grid small{font-size:12px;color:#53617e}.all-reviews{margin-top:25px}.all-reviews summary{cursor:pointer;color:var(--blue);font-weight:500;width:fit-content;padding:12px 0}.all-reviews iframe{display:block;width:100%;height:530px;border:1px solid var(--line);margin:22px 0}.all-reviews>a{font-size:14px;text-decoration:underline}.hero-photo>img{object-position:center 60%}dialog{border:0;padding:55px 18px 18px;background:#10234b;color:#fff;max-width:95vw;width:1000px;max-height:95dvh}dialog::backdrop{background:#06102be8}#full-photo{width:100%;height:72dvh;object-fit:contain}#close-photo{position:absolute;top:10px;right:16px}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px}.lightbox-bar p{font-size:14px;text-align:center}dialog button{border:1px solid #a8bde2;background:transparent;color:white;min-width:44px;min-height:44px;font:inherit;font-size:22px;cursor:pointer}.photo-viewing{overflow:hidden}@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-open img{height:330px}.review-grid blockquote{min-height:150px}nav{gap:20px}}@media(max-width:640px){header{flex-wrap:wrap}nav{flex:1;justify-content:flex-end}nav>a:not(.button){display:inline-block;font-size:13px}nav>a[href="#services"]{display:none}nav .button{padding:12px;gap:8px}.project-grid{gap:25px 12px}.photo-open img{height:230px}.project figcaption{flex-direction:column;font-size:14px}.filters{gap:8px}.filters button{font-size:14px;padding:9px 13px}.reviews{padding:55px 6%}.review-grid{grid-template-columns:1fr;gap:8px}.review-grid blockquote{min-height:0;font-size:27px;margin:16px 0}.review-grid article{padding:20px 0}.lightbox-bar p{font-size:12px}#full-photo{height:65dvh}}@media(max-width:380px){nav{gap:9px}nav>a:not(.button){font-size:12px}.photo-open img{height:190px}}
@media(max-width:640px){header nav{flex-wrap:wrap;gap:10px 14px}header nav .about-nav{display:inline-block;font-size:14px}}
