.project-gallery{background:#fff}.project-gallery-inner{width:min(100%, var(--site-content-max));margin:0 auto}.project-gallery-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.project-gallery-heading h2{max-width:760px;margin-bottom:10px}.project-gallery-heading p{max-width:650px;color:var(--muted);margin:0;font-size:1.08rem;font-weight:600}.project-dialog-cta{flex:none}.project-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.project-gallery-card{aspect-ratio:4/3;color:#fff;cursor:pointer;text-align:left;background:#d8e1e6;border:1px solid #11181d1a;border-radius:6px;min-width:0;min-height:0;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 7px 22px #16232c14}.project-gallery-card img,.project-dialog-main-image,.project-dialog-thumbnail img{object-fit:cover;width:100%;height:100%}.project-gallery-card img{transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.project-gallery-card-overlay{background:linear-gradient(#0d141900,#0d1419e6);align-content:end;gap:6px;min-height:44%;padding:44px 18px 18px;display:grid;position:absolute;inset:auto 0 0}.project-gallery-service,.project-dialog-service{color:var(--orange);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.project-gallery-card-title{color:#fff;font-size:1.15rem;font-weight:800;line-height:1.05}.project-gallery-view{color:#ffffffd1;font-size:.85rem;font-weight:700}.project-gallery-card:focus-visible{outline-offset:4px;outline:3px solid #007c8a52}.project-dialog{width:min(1120px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:0 0;border:0;border-radius:8px;padding:0;position:fixed;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%)}.project-dialog::backdrop{background:#0618209e;animation:.16s ease-out project-backdrop-in}.project-dialog-panel{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);max-height:calc(100dvh - 32px);animation:.22s cubic-bezier(.2,.8,.2,1) project-dialog-in;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 55px #00000047}.project-dialog-close{z-index:4;width:42px;height:42px;color:var(--charcoal);cursor:pointer;background:#fffffff0;border:1px solid #11181d1f;border-radius:6px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.project-dialog-close:hover{color:var(--teal);background:#fff}.project-dialog-close:focus-visible,.project-dialog-image-button:focus-visible,.project-dialog-thumbnail:focus-visible{outline-offset:3px;outline:3px solid #007c8a52}.project-dialog-media{background:var(--charcoal);grid-template-rows:minmax(0,1fr) auto;align-content:start;gap:12px;min-height:0;max-height:calc(100dvh - 32px);padding:14px;display:grid;overflow:hidden}.project-dialog-main-image-wrap{aspect-ratio:4/3;background:#101820;border-radius:6px;place-self:start center;width:100%;min-height:0;max-height:calc(100dvh - 150px);position:relative;overflow:hidden}.project-dialog-main-image-wrap[data-project-orientation=portrait]{aspect-ratio:3/4;width:min(100%,440px)}.project-dialog-main-image{object-fit:contain}.project-dialog-image-button{color:#fff;cursor:pointer;background:#101820bd;border:1px solid #ffffff59;border-radius:6px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.project-dialog-image-button.previous{left:14px}.project-dialog-image-button.next{right:14px}.project-dialog-counter{color:#fff;background:#101820d1;border-radius:5px;padding:5px 9px;font-size:.82rem;font-weight:800;position:absolute;bottom:14px;right:14px}.project-dialog-thumbnails{z-index:2;flex-wrap:wrap;gap:8px;max-height:72px;display:flex;position:relative;overflow:hidden}.project-dialog-thumbnail{cursor:pointer;opacity:.74;background:#1b2730;border:2px solid #ffffff2e;border-radius:5px;flex:0 0 96px;width:96px;height:64px;padding:0;overflow:hidden}.project-dialog-thumbnail[aria-current=true]{border-color:var(--orange);opacity:1}.project-dialog-details{align-content:start;gap:14px;min-height:0;padding:52px 30px 30px;display:grid;overflow:hidden}.project-dialog-details h3{color:var(--charcoal);margin:0;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.05}.project-dialog-date{color:var(--muted);margin:0;font-size:.95rem;font-weight:700}.project-dialog-description{color:#24313a;margin:0 0 8px;font-size:1.04rem;font-weight:600;line-height:1.55}.project-dialog-cta{margin-top:8px}[hidden]{display:none!important}@keyframes project-backdrop-in{0%{opacity:0}}@keyframes project-dialog-in{0%{opacity:0;transform:translateY(18px)scale(.98)}}@media (hover:hover) and (pointer:fine){.project-gallery-card-overlay{opacity:0;transition:opacity .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1);transform:translateY(10px)}.project-gallery-card:hover img,.project-gallery-card:focus-visible img{transform:scale(1.04)}.project-gallery-card:hover .project-gallery-card-overlay,.project-gallery-card:focus-visible .project-gallery-card-overlay{opacity:1;transform:translateY(0)}}@media (width<=980px){.project-gallery-heading{flex-direction:column;align-items:start}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dialog-panel{grid-template-columns:1fr}.project-dialog-media{max-height:calc(100dvh - 190px)}.project-dialog-main-image-wrap{width:100%;max-height:calc(100dvh - 300px)}.project-dialog-main-image-wrap[data-project-orientation=portrait]{width:min(100%,360px)}.project-dialog-details{padding:22px 20px 24px}}@media (width<=620px){.project-gallery-grid{grid-template-columns:1fr}.project-gallery-card{aspect-ratio:16/11}.project-gallery-card-overlay{min-height:52%;padding:52px 16px 16px}.project-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.project-dialog-panel{max-height:calc(100dvh - 20px)}.project-dialog-media{max-height:calc(100dvh - 200px);padding:10px}.project-dialog-main-image-wrap{aspect-ratio:4/3;width:100%;max-height:calc(100dvh - 310px)}.project-dialog-main-image-wrap[data-project-orientation=portrait]{aspect-ratio:3/4;width:min(100%,320px)}.project-dialog-image-button{width:40px;height:40px}.project-dialog-thumbnails{max-height:56px}.project-dialog-thumbnail{flex-basis:72px;width:72px;height:48px}}@media (prefers-reduced-motion:reduce){.project-gallery-card img,.project-gallery-card-overlay,.project-dialog::backdrop,.project-dialog-panel{transition:none;animation:none}}
