/* Gallery, lightbox, consent and iOS safe-area additions for v3.0. */
.gallery-card figcaption{pointer-events:none}
.gallery-lightbox{background:rgba(3,7,37,.12);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.gallery-lightbox::backdrop{background:rgba(3,7,37,.3);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.gallery-lightbox figure,.gallery-lightbox figure img{background:transparent}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.gallery-lightbox{background:rgba(3,7,37,.5)}.gallery-lightbox::backdrop{background:rgba(3,7,37,.42)}}
.privacy-consent{position:fixed;z-index:10020;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));width:min(680px,calc(100% - 32px));max-height:min(82vh,720px);max-height:min(82dvh,720px);margin-inline:auto;padding:clamp(18px,4vw,26px);overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(8,43,108,.16);border-radius:24px;background:#fff;color:#17345f;box-shadow:0 28px 90px rgba(3,15,52,.28)}
.privacy-consent[hidden],.privacy-consent-reopen[hidden]{display:none!important}.privacy-consent__head{display:flex;align-items:start;justify-content:space-between;gap:15px}.privacy-consent h2{margin:0;color:#082b6c;font-size:clamp(1.2rem,4vw,1.65rem)}.privacy-consent p{margin:10px 0 0;line-height:1.6}.privacy-consent__close{width:44px;height:44px;flex:0 0 auto;border:1px solid #dce6ef;border-radius:50%;background:#f7fafc;color:#082b6c;font-size:1.5rem;cursor:pointer}.privacy-consent__details{margin-top:16px;display:grid;gap:9px}.privacy-consent__details label{padding:12px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;border:1px solid #dfe8f1;border-radius:14px;background:#f8fbfd}.privacy-consent__details input{width:20px;height:20px;margin-top:2px}.privacy-consent__details span{display:grid;gap:3px}.privacy-consent__details small{color:#63748d;line-height:1.45}.privacy-consent__actions{margin-top:17px;display:flex;flex-wrap:wrap;gap:9px}.privacy-consent__actions .btn{min-height:44px;padding:11px 16px}.privacy-consent__secondary{border:1px solid #cbd8e5;color:#082b6c;background:#fff}.privacy-consent__link,.privacy-consent__policy{min-height:44px;display:inline-flex;align-items:center;border:0;color:#087f91;background:transparent;font-weight:900;text-decoration:underline;cursor:pointer}.privacy-consent__policy{margin-top:8px}.privacy-consent-reopen{position:fixed;z-index:9990;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-height:44px;padding:10px 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#082b6c;color:#fff;font-weight:900;box-shadow:0 12px 35px rgba(8,43,108,.25);cursor:pointer}

.legal-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.legal-nav a{display:grid;place-items:center;text-align:center}

@media(max-width:1180px){.project-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:105px}.gallery-card,.gallery-card.gallery-standard,.gallery-card.gallery-auto-square{grid-column:span 3;grid-row:span 2}.gallery-card.gallery-feature{grid-column:span 3;grid-row:span 4}.gallery-card.gallery-wide,.gallery-card.gallery-auto-landscape{grid-column:span 3;grid-row:span 2}.gallery-card.gallery-auto-portrait{grid-column:span 2;grid-row:span 3}}
@media(max-width:700px){.project-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:145px}.gallery-card,.gallery-card.gallery-standard,.gallery-card.gallery-auto-square{grid-column:span 1;grid-row:span 1}.gallery-card.gallery-feature,.gallery-card.gallery-wide,.gallery-card.gallery-auto-landscape{grid-column:1/-1;grid-row:span 2}.gallery-card.gallery-auto-portrait{grid-column:span 1;grid-row:span 2}.gallery-lightbox{padding-top:max(10px,env(safe-area-inset-top));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(10px,env(safe-area-inset-left))}.gallery-lightbox__panel{height:min(92vh,780px);height:min(92dvh,780px)}.gallery-lightbox figure{border-radius:18px}.gallery-lightbox__nav{top:auto;bottom:78px}.gallery-lightbox__prev{left:18px}.gallery-lightbox__next{right:18px}.legal-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-nav a:last-child{grid-column:1/-1}.privacy-consent{width:auto}.privacy-consent__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-consent__actions .btn,.privacy-consent__link{justify-content:center;text-align:center}}
@media(max-width:480px){.project-mosaic{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-card,.gallery-card.gallery-feature,.gallery-card.gallery-wide,.gallery-card.gallery-standard,.gallery-card.gallery-auto-landscape,.gallery-card.gallery-auto-square,.gallery-card.gallery-auto-portrait{grid-column:1;grid-row:auto;height:clamp(235px,72vw,340px)}.privacy-consent__actions{grid-template-columns:1fr}.privacy-consent{border-radius:20px}.privacy-consent-reopen{max-width:calc(100% - 28px)}}
