.photo-gallery{background:#f4f7fb;scroll-margin-top:100px}
.photo-gallery [hidden]{display:none!important}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.gallery-heading p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}
.gallery-heading .eyebrow{margin-bottom:10px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}
.gallery-filters button{border:1px solid #cfdae8;border-radius:6px;padding:10px 18px;background:#fff;font:inherit;font-size:14px;color:#37516f;cursor:pointer;min-height:44px}
.gallery-filters button[aria-pressed=true]{background:#245ddd;color:white;border-color:#245ddd}
.gallery-count{font-size:14px;color:var(--muted);white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-item{margin:0;min-width:0;background:white;border:1px solid #dce4ef;border-radius:10px;overflow:hidden}
.gallery-photo{position:relative;display:block;overflow:hidden;background:#e5ebf1}
.gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}
.gallery-photo:hover img{transform:scale(1.025)}
.gallery-enlarge{position:absolute;right:12px;bottom:12px;background:#102033cf;color:#fff;padding:6px 10px;border-radius:4px;font-size:14px}
.gallery-item figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px;font-size:16px;font-weight:600}
.gallery-item small{font-size:12px;color:#697b91;white-space:nowrap;font-weight:400}
.gallery-note{font-size:14px;margin:20px 0 0;color:var(--muted)}
.gallery-dialog{width:min(1080px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:20px;border:0;border-radius:12px;background:#fff;color:#1b2b3c;overflow:auto}
.gallery-dialog::backdrop{background:#071523df}
.gallery-dialog-top,.gallery-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-dialog-top{margin-bottom:16px}.gallery-dialog-top h3{font-size:18px;line-height:1.5;margin:0}
.gallery-dialog button{min-height:44px;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer;border:1px solid #cdd9e7;background:#f6f8fb;border-radius:5px;white-space:nowrap}
.gallery-large-image{display:block;width:100%;height:min(68dvh,720px);object-fit:contain;background:#101820}
.gallery-dialog-bottom{margin-top:16px;font-size:14px}.gallery-error{color:#9f2020;font-size:14px;margin-top:14px}
.photo-gallery :focus-visible{outline:3px solid #245ddd;outline-offset:3px}
.gallery-modal-open{overflow:hidden}
.industry-references{background:white}.industry-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.industry-reference{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0}
.industry-reference img{width:100%;height:260px;object-fit:cover;display:block}
.industry-reference figcaption{padding:22px}.industry-reference h3{margin:0 0 8px}.industry-reference p{font-size:16px;margin:0 0 12px}
.industry-reference a,.industry-disclaimer{font-size:14px;color:var(--muted)}
.industry-disclaimer{margin:20px 0 0}
.gallery-page .photo-gallery{background:#fff;padding-top:32px}
.gallery-back{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:30px;text-decoration:underline;text-underline-offset:4px}
.gallery-page .gallery-heading{margin-bottom:32px}.gallery-page .gallery-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.25;letter-spacing:-.02em}
.gallery-page .gallery-toolbar{padding-bottom:16px;border-bottom:1px solid var(--line)}
.gallery-page .gallery-filters{gap:24px}.gallery-page .gallery-filters button{background:none;border:0;border-radius:0;border-bottom:2px solid transparent;padding:10px 0;color:#54657a}
.gallery-page .gallery-filters button[aria-pressed=true]{color:#245ddd;border-color:#245ddd;background:none}
.gallery-page .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:24px}
.gallery-page [data-active-group]:not([data-active-group=all]) .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-page .gallery-item{border:0;border-radius:0;display:flex;flex-direction:column;min-height:0}
.gallery-page .gallery-photo{flex:1;min-height:0;border-radius:6px}.gallery-page .gallery-photo img{height:100%;aspect-ratio:auto}
.gallery-page .gallery-item figcaption{flex-shrink:0;padding:12px 0 0;font-size:15px}.gallery-page .gallery-item small{display:none}
.gallery-page .gallery-item:first-child,.gallery-page .gallery-featured{grid-column:span 2;grid-row:span 2}
.gallery-page .gallery-enlarge{opacity:0;transition:opacity .15s}.gallery-page .gallery-photo:hover .gallery-enlarge,.gallery-page .gallery-photo:focus-visible .gallery-enlarge{opacity:1}
.gallery-page .gallery-note{border-top:1px solid var(--line);padding-top:20px;margin-top:32px}
@media(max-width:1000px){.gallery-page .gallery-grid,.gallery-page [data-active-group]:not([data-active-group=all]) .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:250px}.gallery-page .gallery-item:first-child,.gallery-page .gallery-featured{grid-column:span 2;grid-row:span 1}}
@media(max-width:650px){.gallery-page .gallery-grid,.gallery-page [data-active-group]:not([data-active-group=all]) .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-page .gallery-item:first-child,.gallery-page .gallery-featured{grid-column:auto;grid-row:auto}.gallery-page .gallery-photo{flex:auto}.gallery-page .gallery-photo img{height:auto;aspect-ratio:4/3}.gallery-page .gallery-filters{gap:18px}.gallery-page .gallery-enlarge{opacity:1}}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading{align-items:start;flex-direction:column;gap:14px}}
@media(max-width:650px){.gallery-grid,.industry-reference-grid{grid-template-columns:1fr}.gallery-toolbar{align-items:start;flex-direction:column;gap:12px}.gallery-item figcaption{padding:16px}.gallery-filters button{padding:9px 12px}.gallery-dialog{padding:14px}.gallery-large-image{height:58dvh}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}.gallery-photo:hover img{transform:none}}
.gallery-theme-nav{display:flex;flex-wrap:wrap;gap:16px 32px;border-block:1px solid var(--line);padding:18px 0;margin-bottom:40px;font-size:16px}
.gallery-theme-nav a{padding:6px 0;min-height:36px}.gallery-theme-nav a:hover{color:#245ddd}
.gallery-theme{scroll-margin-top:110px;margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.gallery-theme-nav+.gallery-theme{margin-top:0;padding-top:0;border:0}
.gallery-theme-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-bottom:24px}
.gallery-theme-heading>div{display:flex;align-items:center;gap:18px}.gallery-theme-number{font-size:14px;color:#245ddd;font-variant-numeric:tabular-nums}
.gallery-page .gallery-theme-heading h2{font-size:clamp(24px,2.5vw,32px);line-height:1.4;margin:0}.gallery-theme-heading p{font-size:16px;line-height:1.8;margin:0;color:var(--muted);max-width:38em}
.gallery-page .gallery-theme .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px}
.gallery-page .gallery-theme:nth-of-type(2) .gallery-item:first-child{grid-column:2/span 2;grid-row:1/span 2}
@media(max-width:1000px){.gallery-page .gallery-theme .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:250px}.gallery-page .gallery-theme:nth-of-type(2) .gallery-item:first-child{grid-column:span 2;grid-row:span 1}}
@media(max-width:650px){.gallery-theme-heading{grid-template-columns:1fr;gap:12px}.gallery-theme{margin-top:36px;padding-top:28px}.gallery-page .gallery-theme .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-page .gallery-theme:nth-of-type(2) .gallery-item:first-child{grid-column:auto;grid-row:auto}.gallery-theme-nav{gap:10px 20px;font-size:14px}}
