@import url('page-gallery.css?v=20260928');

:root{
  --gold:#c9a84c;
  --gold-bright:#e8c96a;
  --line:rgba(255,255,255,.09);
  --line-soft:rgba(255,255,255,.06);
  --panel:#0d0e10;
  --panel-2:#08090a;
}

/* page-gallery.css defaults this to red unless the html tag carries a
   .gold class (a conditional theme toggle used elsewhere on the site);
   this page always uses the gold footer style instead. */
.footer-col-label{color:#c9a84c}

.sem-hero{
  padding:140px 24px 40px;
  max-width:820px;
  margin:0 auto;
}

.sem-sub{
  font-size:16px;line-height:1.7;color:var(--silver-dim);max-width:62ch;margin:0;
}

.sem-section{
  max-width:960px;margin:0 auto;padding:48px 24px 120px;
}

.sem-list{display:flex;flex-direction:column;gap:24px}

.sem-card{
  background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);
  border:1px solid var(--line);border-radius:16px;
  padding:36px;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}

.sem-card-head{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;
  margin-bottom:10px;
}
.sem-card-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(20px,2.2vw,25px);
  color:#fff;letter-spacing:-.2px;line-height:1.25;margin:0;
}
.sem-card-tag{
  flex-shrink:0;
  font-family:'Barlow Condensed',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  padding:5px 12px;border-radius:20px;white-space:nowrap;
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);border:1px solid var(--line);
}

.sem-card-meta{
  display:flex;flex-wrap:wrap;gap:6px 18px;
  font-family:'Barlow Condensed',sans-serif;font-size:12.5px;letter-spacing:.5px;
  color:rgba(255,255,255,.4);text-transform:uppercase;margin-bottom:20px;
}
.sem-card-meta span{display:flex;align-items:center;gap:6px}
.sem-card-meta svg{width:13px;height:13px;opacity:.6;flex-shrink:0}

.sem-card-desc{font-size:15px;line-height:1.75;color:var(--silver-dim);margin:0;max-width:70ch}

.sem-photos{
  display:grid;gap:8px;
  grid-template-columns:repeat(4,1fr);
  margin-top:24px;
}
.sem-photo{
  position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer;
  border:1px solid var(--line-soft);
  display:block;
}
.sem-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.sem-photo:hover img{transform:scale(1.05)}
.sem-photo-more{
  position:absolute;inset:0;background:rgba(0,0,0,.72);
  display:flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;color:#fff;
}

@media (max-width:640px){
  .sem-photos{grid-template-columns:repeat(3,1fr)}
  .sem-card{padding:24px}
}
@media (max-width:420px){
  .sem-photos{grid-template-columns:repeat(2,1fr)}
}

.back-to-top{position:fixed;bottom:28px;right:32px;z-index:99;width:42px;height:42px;border:1px solid rgba(204,0,0,.45);background:rgba(10,10,10,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s,border-color .2s,background .2s;backdrop-filter:blur(8px)}
.back-to-top.visible{opacity:1;transform:translateY(0);animation:btn-pulse 2.5s ease-in-out infinite}
.back-to-top:hover{border-color:var(--red);background:rgba(204,0,0,.1);animation:none;box-shadow:0 0 10px rgba(255,0,0,.6);transform:translateY(-3px)}
.back-to-top svg{width:16px;height:16px;stroke:rgba(204,0,0,0.7);fill:none;stroke-width:2;transition:stroke .2s}
@keyframes btn-pulse{0%,100%{box-shadow:0 0 8px rgba(204,0,0,.3),0 0 20px rgba(204,0,0,.1)}50%{box-shadow:0 0 8px rgba(204,0,0,.5),0 0 26px rgba(204,0,0,.2)}}

/* Lightbox */
.sem-lightbox{
  position:fixed;inset:0;background:rgba(5,5,5,.94);z-index:1000;
  display:none;align-items:center;justify-content:center;
  backdrop-filter:blur(6px);
}
.sem-lightbox.is-open{display:flex}
.sem-lightbox-stage{
  position:relative;width:min(880px,92vw);max-height:84vh;
}
.sem-lightbox-stage img{width:100%;height:100%;max-height:84vh;object-fit:contain;border-radius:8px;display:block}
.sem-lightbox-close,.sem-lightbox-nav{
  position:absolute;appearance:none;cursor:pointer;
  background:rgba(10,10,10,.85);border:1px solid var(--line);color:#fff;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  transition:border-color .2s ease,background .2s ease;
}
.sem-lightbox-close{top:-18px;right:-18px;width:40px;height:40px}
.sem-lightbox-close svg{width:16px;height:16px}
.sem-lightbox-nav{top:50%;transform:translateY(-50%);width:46px;height:46px}
.sem-lightbox-nav svg{width:18px;height:18px}
.sem-lightbox-nav.prev{left:-23px}
.sem-lightbox-nav.next{right:-23px}
.sem-lightbox-close:hover,.sem-lightbox-nav:hover{border-color:rgba(201,168,76,.5);background:rgba(20,17,10,.95)}
@media (max-width:640px){
  .sem-lightbox-close{top:-52px;right:0}
  .sem-lightbox-nav.prev{left:4px}
  .sem-lightbox-nav.next{right:4px}
}
