.swcdc-gallery-home { background: var(--color-section-alt, #001830); }
.page-hero.swcdc-gallery-hero { background: radial-gradient(ellipse at 90% 15%, #00415b 0, #001830 65%); }
.page-hero.swcdc-gallery-hero::before,.page-hero.swcdc-gallery-hero::after { display:none; }
.swcdc-gallery-heading { display:grid; grid-template-columns: 1fr 1fr; gap:64px; align-items:end; text-align:left; padding:24px 0; }
.swcdc-gallery-heading h1 { margin:12px 0 0; font-size:clamp(48px,6vw,80px); line-height:1.08; letter-spacing:-.035em; }
.swcdc-gallery-intro { border-left:1px solid #14607a; padding-left:32px; }
.swcdc-gallery-intro .lead { color:#fff; font-size:clamp(21px,2.2vw,28px); line-height:1.4; margin:0 0 12px; }
.swcdc-gallery-intro p { color:#b7d8e8; margin:0; }
.swcdc-gallery-page > .content-section { padding-top:48px; }
.swcdc-gallery-category { display:block; color:#00b5d6; font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:5px; }
.swcdc-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; }
.swcdc-gallery-item { margin: 0; min-width: 0; }
.swcdc-gallery-item[hidden] { display: none; }
.swcdc-gallery-item a { display: block; position: relative; overflow: hidden; border-radius: 16px; background: #001830; }
.swcdc-gallery-item img { display: block; width: 100%; aspect-ratio: 3/2; height: auto; object-fit: cover; transition: transform .25s ease; }
.swcdc-gallery-item a:hover img { transform: scale(1.025); }
.swcdc-gallery-enlarge { position: absolute; right: 12px; bottom: 12px; background: #001322e6; color: white; width: 36px; height: 36px; padding:0; line-height:0; display: grid; place-items: center; border-radius: 50%; }
.swcdc-gallery-enlarge svg { display:block; width:20px; height:20px; }
.swcdc-gallery-item figcaption { color: #b7d8e8; font-size: 15px; margin-top: 12px; }
.swcdc-gallery-all { text-align: center; margin-top: 36px; }
.swcdc-gallery-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.swcdc-gallery-filters button { border: 1px solid #00566d; color: #cde8f1; background: transparent; border-radius: 24px; padding: 10px 20px; font: inherit; cursor: pointer; min-height: 44px; }
.swcdc-gallery-filters button[aria-pressed="true"] { color: #001322; background: #00b5d6; border-color: #00b5d6; }
.swcdc-gallery-count { color: #a5c7d7; font-size: 14px; margin: 20px 0; }
.swcdc-gallery-dialog { margin: auto; background: #00111e; color: white; border: 1px solid #18516a; border-radius: 16px; padding: 16px; width: min(1120px,calc(100% - 32px)); max-height: 94dvh; }
.swcdc-gallery-dialog::backdrop { background: #000c; }
.swcdc-gallery-dialog-bar,.swcdc-gallery-dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap: 16px; }
.swcdc-gallery-dialog button { color: white; background: #003047; border: 0; border-radius: 50%; width:44px; height:44px; min-width:44px; min-height:44px; flex:0 0 44px; padding:0; line-height:0; display:grid; place-items:center; cursor:pointer; }
.swcdc-gallery-dialog button svg { display:block; width:24px; height:24px; }
.swcdc-gallery-dialog [data-large] { display:block; width:100%; height: min(68dvh,740px); object-fit:contain; margin:12px 0; }
.swcdc-gallery-dialog-bottom p { text-align:center; margin:0; color:#cde8f1; }
@media(max-width:959px) { .swcdc-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .swcdc-gallery-heading {gap:32px;} }
@media(max-width:599px) { .swcdc-gallery-grid { grid-template-columns:minmax(0,1fr); } .swcdc-gallery-dialog { padding:10px; } .swcdc-gallery-heading {grid-template-columns:1fr;gap:24px;padding:0;} .swcdc-gallery-intro {border-left:0;padding:0;} }
@media(prefers-reduced-motion:reduce) { .swcdc-gallery-item img { transition:none; } }
