.portfolio-gallery{margin-block:48px 64px}.portfolio-gallery-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.portfolio-gallery-heading h2{letter-spacing:-1px;margin-top:12px;font-size:clamp(26px,3vw,36px);line-height:1.15}.portfolio-gallery-heading p{color:var(--muted,#62696b);font-size:13px;line-height:1.6}.portfolio-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.portfolio-gallery-tile{min-width:0;color:var(--ink,#0b0d0f);background:#f2f6f7;border:1px solid #e0e7e8;border-radius:14px;display:block;overflow:hidden}.portfolio-gallery-thumbnail{aspect-ratio:4/3;place-items:center;padding:14px;display:grid;overflow:hidden}.portfolio-gallery-thumbnail img{object-fit:contain;width:100%;height:100%;min-height:0;transition:transform .25s;display:block}.portfolio-gallery-tile:hover img{transform:scale(1.025)}.portfolio-gallery-tile-footer{background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 16px;font-size:11px;display:flex}.portfolio-gallery-tile-footer>span:last-child{color:#007f95;align-items:center;gap:10px;display:flex}.portfolio-gallery-more{width:100%;min-height:52px;color:var(--ink,#0b0d0f);font:inherit;cursor:pointer;background:#fff;border:1px solid #cbdadd;border-radius:12px;justify-content:center;align-items:center;gap:16px;margin-top:22px;padding:18px;font-size:13px;display:flex}.portfolio-gallery-more:hover{background:#edf7f9}.portfolio-gallery-tile:focus-visible,.portfolio-gallery-more:focus-visible{outline-offset:4px;outline:3px solid #00a4bf}.portfolio-lightbox{color:#fff;box-sizing:border-box;background:#10191e;border:1px solid #314047;border-radius:18px;width:calc(100% - 40px);max-width:1440px;height:min(94dvh,1100px);max-height:calc(100dvh - 24px);margin:auto;padding:18px 24px;position:fixed;inset:0;overflow:hidden}.portfolio-lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:16px;display:grid}.portfolio-lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050b10d9}.portfolio-lightbox-header{align-items:center;gap:20px;min-width:0;display:flex}.portfolio-lightbox-header h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:500;line-height:1.4;overflow:hidden}.portfolio-lightbox a{color:#d2f5fb;text-underline-offset:4px;font-size:12px;text-decoration:underline}.portfolio-lightbox button{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff40;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.portfolio-lightbox button:hover{background:#007f95}.portfolio-lightbox button:disabled{opacity:.35;cursor:default}.portfolio-lightbox button:focus-visible,.portfolio-lightbox a:focus-visible{outline-offset:3px;outline:3px solid #65ddef}.portfolio-lightbox-stage{place-items:center;min-height:0;display:grid;position:relative}.portfolio-lightbox-stage>img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.portfolio-lightbox-stage>p{color:#d2f5fb;font-size:13px;position:absolute}.portfolio-lightbox-error{text-align:center;line-height:1.7}.portfolio-lightbox-error p{margin-bottom:16px}.portfolio-lightbox-footer{justify-content:center;align-items:center;gap:24px;font-size:12px;display:flex}.portfolio-lightbox-footer>span{text-align:center;min-width:110px}@media (max-width:1000px){.portfolio-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (max-width:600px){.portfolio-gallery-heading{display:block}.portfolio-gallery-heading p{margin-top:12px}.portfolio-gallery-grid{grid-template-columns:minmax(0,1fr);gap:18px}.portfolio-lightbox{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));border:0;border-radius:0}.portfolio-lightbox-header{gap:12px}.portfolio-lightbox-header h2{font-size:13px}.portfolio-lightbox-header>a{font-size:10px}}@media (prefers-reduced-motion:reduce){.portfolio-gallery-thumbnail img{transition:none}.portfolio-gallery-tile:hover img{transform:none}}
