/* Scoped album index and single-album presentation. Native blocks remain editable. */
body.n2-site.page-id-1771 #primary { margin:0; }
body.n2-site.page-id-1771 .entry-content > .n2-gallery-index { width:calc(100% - 48px); max-width:1112px !important; margin:0 auto !important; padding:32px 0 56px; }
.n2-gallery-hero { padding:34px 40px; background:linear-gradient(120deg,#102c46,#294960); color:#f8f4e9; border-bottom:3px solid #b99b5f; }
body.n2-site .entry-content .n2-gallery-hero h1 { color:#f8f4e9 !important; font-size:clamp(30px,4vw,48px); line-height:1.12; margin:10px 0 14px; }
.n2-gallery-hero p { margin:0; max-width:650px; }
.n2-gallery-hero .n2-gallery-eyebrow { color:#e5c989; text-transform:uppercase; font-size:11px; letter-spacing:.16em; }
.n2-gallery-categories { display:flex; flex-wrap:wrap; gap:10px; padding:22px 0 8px; }
.n2-gallery-categories a { display:flex; align-items:center; gap:12px; border:1px solid #c9c5b9; border-radius:3px; padding:8px 14px; text-decoration:none; color:#102c46; font-size:13px; background:#fffdf8; }
.n2-gallery-categories a:hover { border-color:#102c46; background:#eee8da; }
.n2-gallery-categories span { font-size:11px; color:#5c665f; }
.n2-gallery-group { margin-top:32px; }
.n2-gallery-group-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-bottom:1px solid #ccc5b8; margin-bottom:20px; padding-bottom:10px; }
.n2-gallery-group-heading h2 { font-size:30px; margin:0; scroll-margin-top:30px; }
.n2-gallery-group-heading > span { font-size:12px; color:#59616a; }
.n2-album-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.n2-album-card { display:block; background:#fffdf8; color:#102c46; text-decoration:none !important; border:1px solid #d9d2c5; border-radius:3px; overflow:hidden; transition:box-shadow .18s,border-color .18s; }
.n2-album-card:hover { border-color:#a88c52; box-shadow:0 5px 18px #102c461a; }
.n2-album-cover { position:relative; background:#dfe3e4; aspect-ratio:3/2; overflow:hidden; }
.n2-album-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.n2-album-cover > span { position:absolute; right:10px; bottom:10px; background:#102c46e8; color:#fffdf8; font-size:11px; padding:3px 8px; border-radius:2px; }
.n2-album-card-copy { padding:17px 19px 18px; }
.n2-album-card-copy p { margin:0 0 6px; color:#65717a; font-size:12px; }
.n2-album-card-copy h3 { margin:0 0 12px; font-size:22px; line-height:1.25; color:#102c46; }
.n2-album-open { font-size:12px; font-weight:600; color:#705921; }
.n2-album-card:focus-visible,.n2-gallery-categories a:focus-visible { outline:3px solid #a88c52; outline-offset:4px; }
body.single-n2_album #primary { max-width:1112px; margin:38px auto 56px; width:100%; }
body.single-n2_album .entry-title { font-family:Georgia,'Times New Roman',serif; color:#102c46; font-size:clamp(30px,4vw,44px); line-height:1.15; }
body.single-n2_album .entry-meta,body.single-n2_album .post-thumb,body.single-n2_album .post-navigation { display:none; }
.n2-album-intro { margin:0 0 28px; border-bottom:1px solid #c9c5b9; padding-bottom:12px; }
.n2-album-intro > a { color:#705921; font-size:13px; }
.n2-album-intro p { margin:10px 0 0; font-size:13px; color:#59616a; }
.n2-album-photos .wp-block-gallery { gap:22px !important; }
.n2-album-photos .wp-block-image { align-self:start; }
.n2-album-photos .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position:static; background:#f1ede4; color:#263b4c; padding:10px 12px; font-size:12px; line-height:1.5; max-height:none; box-sizing:border-box; margin:0; }
.n2-album-photos .wp-block-gallery.has-nested-images figure.wp-block-image { display:flex; flex-direction:column; }
.n2-album-photos .wp-block-gallery.has-nested-images figure.wp-block-image img { width:100%; height:auto; }
.n2-album-photos .wp-block-image,.n2-album-photos img { box-shadow:none !important; }
@media(max-width:900px) { .n2-album-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:600px) {
 body.n2-site.page-id-1771 .entry-content > .n2-gallery-index { padding-top:22px; width:calc(100% - 36px); }
 .n2-gallery-hero { padding:26px 22px; }
 .n2-gallery-hero > p { font-size:14px; }
 .n2-album-grid { grid-template-columns:1fr; }
 .n2-gallery-group-heading h2 { font-size:27px; }
 .n2-gallery-categories { gap:8px; }
 .n2-gallery-categories a { font-size:12px; padding:7px 10px; }
 .n2-album-photos .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width:100% !important; margin:0; }
}
