/* Gallery-only Photo Collage direction; shared atelier tokens remain canonical. */
.ipg-gallery{padding-top:80px;background:var(--atelier-ink);color:var(--ipg-paper);font-family:var(--ipg-body)}
.ipg-gallery h1,.ipg-gallery h2{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:-.015em!important;text-transform:uppercase;line-height:1!important}
.ipg-gallery .gallery-opening{padding:60px 0 48px;max-width:1600px;margin:auto}
.ipg-gallery .gallery-opening__heading{text-align:center;padding-inline:24px;margin-bottom:48px}
.ipg-gallery .gallery-opening__heading .atelier-eyebrow{font:500 10px/1.6 'JetBrains Mono',monospace;letter-spacing:.2em;margin-bottom:20px}
.ipg-gallery .gallery-opening h1{font-size:clamp(52px,7.2vw,108px)!important;margin:0 0 20px}
.ipg-gallery h1 span,.ipg-gallery .gallery-booking h2 span{color:var(--atelier-accent)}
.ipg-gallery .gallery-opening p{font-size:17px;margin:0;color:var(--atelier-silver)}
.ipg-gallery .gallery-collage{display:grid;grid-template-columns:1fr 1.65fr 1fr;gap:16px;padding-inline:16px;align-items:center}
.ipg-gallery .gallery-collage figure{margin:0;height:clamp(220px,28vw,400px);min-width:0}
.ipg-gallery .gallery-collage figure:nth-child(2){height:clamp(280px,34vw,490px)}
.ipg-gallery .gallery-collage img{display:block;width:100%;height:100%;object-fit:cover}
.ipg-gallery .gallery-collage--1{grid-template-columns:1fr;max-width:920px;margin:auto}
.ipg-gallery .gallery-collage--2{grid-template-columns:1fr 1fr;max-width:1200px;margin:auto}
.ipg-gallery .gallery-collage--2 figure{height:clamp(240px,32vw,440px)}
.ipg-gallery .atelier-gallery-filters{padding:0 var(--ipg-gutter) 24px;background:var(--atelier-ink)}
.ipg-gallery .atelier-gallery-filters>div{max-width:1440px;display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:24px;border-top:1px solid var(--atelier-line);padding-top:24px}
.ipg-gallery .atelier-gallery-filters>div>div{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ipg-gallery .gallery-filter{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:44px;padding:8px 4px;font:500 14px/1.5 var(--ipg-body);color:var(--atelier-silver);cursor:pointer}
.ipg-gallery .gallery-filter:hover,.ipg-gallery .gallery-filter.active{color:var(--atelier-accent)}
.ipg-gallery .gallery-filter.active{border-bottom-color:var(--atelier-accent)}
.ipg-gallery .atelier-gallery-filters label{font:400 12px/1.5 var(--ipg-body);color:var(--atelier-silver)}
.ipg-gallery .atelier-gallery-filters input,.ipg-gallery .atelier-gallery-filters select{background:transparent;border:1px solid var(--atelier-line);color:var(--ipg-paper);border-radius:0;min-height:44px;margin-top:6px;padding:10px 12px;font:400 14px/1.5 var(--ipg-body);max-width:100%}
.ipg-gallery .atelier-gallery-filters select option{background:var(--atelier-ink)}
.ipg-gallery .atelier-gallery-collection{background:#F3F6F8;color:#0B0D10;padding:60px var(--ipg-gutter) 68px}
.ipg-gallery .atelier-gallery-collection>div{max-width:1440px}
.ipg-gallery .atelier-gallery-collection h2{font-size:clamp(42px,5vw,72px)!important;color:#0B0D10;padding:0;margin:0 0 16px}
.ipg-gallery #gallery-count{font:500 11px/1.6 'JetBrains Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:#52606D;margin:0 0 32px}
.ipg-gallery .gallery-photo-grid{display:flex;flex-wrap:wrap;gap:40px 16px;align-items:start}
.ipg-gallery .gallery-card{flex:0 0 calc((100% - (var(--gallery-columns,3) - 1)*16px)/var(--gallery-columns,3));min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.ipg-gallery .gallery-image-button{padding:0;background:transparent;cursor:zoom-in;overflow:hidden;border:0}
.ipg-gallery .gallery-card img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}
.ipg-gallery .gallery-card>div{padding:22px 8px 8px;gap:14px;position:relative}
.ipg-gallery .gallery-card h3{font:600 clamp(23px,2vw,30px)/1.14 'Barlow Condensed',sans-serif;font-size:clamp(23px,2vw,30px)!important;letter-spacing:-.015em!important;color:#0B0D10;text-transform:uppercase;margin:0;padding-right:0}
.ipg-gallery .gallery-card h3 a{color:inherit}
.ipg-gallery .gallery-card p{color:#52606D;font-size:15px;line-height:1.65;margin:0}
.ipg-gallery .gallery-card>div>span{color:#254E66;font:500 10px/1.6 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.ipg-gallery .gallery-card>div>a{position:static;display:inline-flex;align-items:center;align-self:flex-start;gap:16px;min-height:44px;padding-block:12px;color:#254E66;font:400 14px/1.5 var(--ipg-body);text-decoration:underline;text-underline-offset:5px;max-width:none}
.ipg-gallery .gallery-card a:hover{color:#0B0D10}
.ipg-gallery #gallery-empty{color:#52606D;padding:24px 0;margin:0}
.ipg-gallery .gallery-booking{max-width:1440px;margin:auto;padding:56px var(--ipg-gutter);display:flex;justify-content:space-between;align-items:center;gap:32px}
.ipg-gallery .gallery-booking h2{font-size:clamp(42px,5vw,72px)!important;margin:0 0 16px}
.ipg-gallery .gallery-booking p{margin:0;color:var(--atelier-silver)}
.ipg-gallery .gallery-booking>a{flex-shrink:0}
.ipg-gallery a:focus-visible,.ipg-gallery button:focus-visible,.ipg-gallery input:focus-visible,.ipg-gallery select:focus-visible{outline:2px solid var(--atelier-accent);outline-offset:4px}
.ipg-gallery .atelier-gallery-collection a:focus-visible,.ipg-gallery .atelier-gallery-collection button:focus-visible{outline-color:#254E66}
.ipg-gallery [hidden]{display:none!important}
@media(max-width:1023px){.ipg-gallery .atelier-gallery-filters>div{align-items:start;flex-direction:column;gap:12px}.ipg-gallery .gallery-card{flex-basis:calc((100% - (var(--gallery-tablet-columns,2) - 1)*16px)/var(--gallery-tablet-columns,2))}.ipg-gallery .gallery-booking{align-items:start;flex-direction:column}}
@media(max-width:767px){.ipg-gallery .gallery-opening{padding:36px 0 30px}.ipg-gallery .gallery-opening__heading{margin-bottom:28px}.ipg-gallery .gallery-opening h1{font-size:clamp(44px,11vw,76px)!important}.ipg-gallery .gallery-opening h1 span{display:block}.ipg-gallery .gallery-opening p{font-size:15px;max-width:320px;margin:auto}.ipg-gallery .gallery-collage{gap:8px;padding-inline:8px;grid-template-columns:1fr 1.7fr 1fr}.ipg-gallery .gallery-collage figure{height:150px}.ipg-gallery .gallery-collage figure:nth-child(2){height:200px}.ipg-gallery .gallery-collage--1{grid-template-columns:1fr}.ipg-gallery .gallery-collage--1 figure{height:240px}.ipg-gallery .gallery-collage--2{grid-template-columns:1fr 1fr}.ipg-gallery .gallery-collage--2 figure{height:180px}.ipg-gallery .atelier-gallery-filters>div>div{gap:12px;max-width:100%}.ipg-gallery .atelier-gallery-filters label{flex:1;min-width:120px}.ipg-gallery .atelier-gallery-filters input,.ipg-gallery .atelier-gallery-filters select{width:100%}.ipg-gallery .gallery-filter{font-size:13px}.ipg-gallery .atelier-gallery-collection{padding-block:36px 44px}.ipg-gallery .gallery-card{flex-basis:100%}.ipg-gallery .gallery-photo-grid{gap:28px}.ipg-gallery .gallery-booking{padding-block:40px}.ipg-gallery .gallery-booking p{font-size:15px}}
.ipg-gallery .gallery-card>div{border-bottom:0}
.ipg-gallery .gallery-card{padding:16px;border-radius:var(--ipg-radius-card,12px);overflow:hidden;background:#fff}
.ipg-gallery .gallery-card .gallery-image-button,
.ipg-gallery .gallery-card .gallery-image-button img{border-radius:var(--ipg-radius-media,10px)!important}
.ipg-gallery .gallery-card .gallery-image-button:focus-visible{outline-offset:-4px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
    .ipg-gallery .gallery-card:hover{transform:translateY(-4px);box-shadow:none}
    .ipg-gallery .gallery-card .gallery-image-button img{transition:transform .65s cubic-bezier(.22,1,.36,1)}
    .ipg-gallery .gallery-card:hover .gallery-image-button img{transform:scale(1.03)}
}
.ipg-gallery .atelier-gallery-filters input{width:240px}
.ipg-gallery .atelier-gallery-filters select{width:170px}
@media(max-width:767px){.ipg-gallery .atelier-gallery-filters input,.ipg-gallery .atelier-gallery-filters select{width:100%}}
@media(prefers-reduced-motion:reduce){.ipg-gallery .gallery-image-button img{transition:none}.ipg-gallery .gallery-image-button:hover img{transform:none}}

