/* Stand-alone editorial galleries: keep KB's existing gold/black branding. */
.portfolio-page{min-height:100vh}
.site-header nav a.active{color:var(--gold2);opacity:1}
.gallery-page-hero{background:radial-gradient(ellipse at 74% 65%,rgba(215,170,84,.13),transparent 43%),linear-gradient(110deg,#050505,#15100c 50%,#050505);border-bottom:1px solid rgba(215,170,84,.19);padding:clamp(54px,8vw,110px) 6vw clamp(55px,7vw,95px)}
.gallery-heading-inner{max-width:1170px;margin:auto;position:relative}
.gallery-back{position:absolute;right:0;top:0;color:#d8c8ac;font-size:12px;letter-spacing:.06em;text-decoration:underline;text-decoration-color:rgba(215,170,84,.5);text-underline-offset:5px}
.gallery-page-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:.026em;font-size:clamp(56px,9vw,116px);line-height:.91;margin:25px 0 26px}
.gallery-page-hero h1 em{color:var(--gold2);font-weight:500}
.gallery-lede{font-size:clamp(12px,1.5vw,16px);line-height:1.8;color:#d4cec5;max-width:650px}
.gallery-page-content{padding:56px 6vw 72px;max-width:1500px;margin:0 auto}
.gallery-controls-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}
.gallery-controls-top h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,5vw,62px);line-height:1;margin:0}
.gallery-photo-count{font-size:11px;letter-spacing:.14em;color:#c9bb9f;text-transform:uppercase;white-space:nowrap;padding-bottom:7px}
.gallery-category-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px;border-bottom:1px solid rgba(215,170,84,.18);padding:0 0 24px}
.gallery-category-filters a{border:1px solid rgba(215,170,84,.28);background:#100f0d;border-radius:30px;padding:12px 20px;color:#e6e0d5;font-size:11px;letter-spacing:.075em;font-weight:600;transition:background .2s,border-color .2s}
.gallery-category-filters a:hover,.gallery-category-filters a:focus-visible,.gallery-category-filters a.active{border-color:var(--gold2);background:var(--gold2);color:#0b0b0b;outline-offset:3px}
.portfolio-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portfolio-gallery-photo{position:relative;aspect-ratio:4/5;background:#1e1a14;overflow:hidden;border:1px solid rgba(221,178,101,.12);margin:0}
.portfolio-gallery-photo:nth-child(5n+2),.portfolio-gallery-photo:nth-child(5n+4){aspect-ratio:4/4.5}
.portfolio-gallery-photo button{display:block;padding:0;width:100%;height:100%;border:0;cursor:zoom-in;background:transparent;text-align:left;color:inherit}
.portfolio-gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .3s;filter:saturate(.9)}
.portfolio-gallery-photo button:hover img,.portfolio-gallery-photo button:focus-visible img{transform:scale(1.045);filter:saturate(1.08)}
.portfolio-gallery-photo figcaption{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:60px 19px 20px;background:linear-gradient(transparent,rgba(0,0,0,.85));pointer-events:none}
.portfolio-gallery-photo figcaption strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;font-weight:600;line-height:1.05}
.portfolio-gallery-photo figcaption span{display:block;font-size:9px;letter-spacing:.17em;color:var(--gold2);margin-top:8px;text-transform:uppercase}
.gallery-status{border:1px solid rgba(215,170,84,.3);color:#d5c9b6;padding:25px;line-height:1.65;margin-bottom:22px}
.gallery-after{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;padding:65px 10px 0;text-align:center}
.gallery-after p{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;margin:0}
.gallery-footer{padding:27px 6vw;border-top:1px solid rgba(215,170,84,.2);display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.09em;color:#d5c9b6}
.gallery-footer>a:first-child{font-weight:700;letter-spacing:.18em;color:var(--gold2)}
.gallery-footer p{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-style:italic;margin:0;color:var(--gold2);letter-spacing:0}
.gallery-lightbox{position:fixed;z-index:1000;inset:0;background:rgba(2,2,2,.97);display:none;align-items:center;justify-content:center;padding:25px 70px}
.gallery-lightbox.open{display:flex}
.gallery-lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:9px}
.gallery-lightbox img{display:block;max-height:calc(100vh - 125px);max-width:100%;width:auto;height:auto;object-fit:contain}
.gallery-lightbox figcaption{font-size:12px;letter-spacing:.08em;color:#e3d3b6;text-align:center}
.gallery-lightbox button{position:absolute;z-index:2;color:#fff;border:1px solid rgba(215,170,84,.38);background:rgba(20,16,11,.78);cursor:pointer}
.lightbox-close{top:20px;right:20px;width:46px;height:46px;border-radius:50%;font-size:28px;line-height:1}
.lightbox-arrow{width:48px;height:62px;top:50%;transform:translateY(-50%);font-size:44px;line-height:1}
.lightbox-arrow.left{left:15px}.lightbox-arrow.right{right:15px}
.gallery-lightbox button:focus-visible{outline:2px solid var(--gold2)}
body.gallery-lightbox-open{overflow:hidden}
@media(max-width:900px){.portfolio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-page-content{padding-top:37px}.gallery-page-hero{padding-top:60px}.gallery-back{position:static;display:inline-block;margin:10px 0 0}.gallery-page-hero h1{margin-top:24px}}
@media(max-width:560px){.gallery-page-hero{padding:55px 22px 53px}.gallery-page-content{padding:33px 18px 50px}.gallery-page-hero h1{font-size:60px}.gallery-category-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:17px;margin-bottom:20px}.gallery-category-filters a{white-space:nowrap;padding:11px 15px;flex:none}.gallery-controls-top{align-items:start;flex-direction:column;gap:8px}.portfolio-photo-grid{gap:8px}.portfolio-gallery-photo figcaption{padding:36px 9px 12px}.portfolio-gallery-photo figcaption strong{font-size:20px}.portfolio-gallery-photo figcaption span{font-size:8px}.gallery-lightbox{padding:22px 45px}.lightbox-arrow{width:35px;height:48px;font-size:32px}.lightbox-arrow.left{left:4px}.lightbox-arrow.right{right:4px}.gallery-footer{flex-direction:column;text-align:center}.gallery-after{padding-top:48px}}
