*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#011826; --accent:#518EA6; --accent-deep:#5A878C;
  --warm:#BFBEAE; --warm-dark:#A69A77; --light:#BFBEAE;
  --white:#eeeee8; --muted:#7a8a8c; --muted-light:#9aa8a5;
}
html, body { width:100%; height:100%; background:var(--bg); font-family:'Lato',sans-serif; color:var(--white); }

/* ═══ NAV ═══ */
nav { padding:1.6rem 2.5rem; display:flex; justify-content:space-between; align-items:baseline; z-index:10; }
.nav-brand { font-family:"reina-display",sans-serif; font-weight:400; font-size:1rem; letter-spacing:.02em; color:var(--white); text-decoration:none; transition:color .3s; }
.nav-brand:hover { color:var(--accent); }
.nav-links { display:flex; list-style:none; gap:0; }
.nav-links li a { font-weight:400; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-light); text-decoration:none; transition:color .3s; cursor:pointer; }
.nav-links li:not(:last-child) a::after { content:"  /  "; white-space:pre; color:var(--muted); }
.nav-links li a:hover, .nav-links li a.active { color:var(--accent); }
.nav-right { display:flex; align-items:baseline; gap:1.5rem; }
.nav-status { font-weight:300; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--warm-dark); }

/* ═══ PAGE LAYOUT ═══ */
.page-content { max-width:1100px; margin:0 auto; padding:2rem 2.5rem 4rem; }
.page-title {
  font-family:"reina-display",sans-serif; font-weight:400;
  font-size:2rem; letter-spacing:.01em; color:var(--white); margin-bottom:.5rem;
}
.page-subtitle {
  font-weight:300; font-size:.7rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--warm-dark); margin-bottom:2.5rem;
}
.page-rule { width:40px; height:1px; background:var(--accent-deep); margin:2rem 0; opacity:.5; }

/* ═══ BREADCRUMBS ═══ */
.breadcrumbs { margin-bottom:2rem; }
.breadcrumbs a {
  font-weight:300; font-size:.65rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s;
}
.breadcrumbs a:hover { color:var(--accent); }
.breadcrumbs span {
  font-weight:300; font-size:.65rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted-light);
}

/* ═══ CATEGORY / ITEM GRID ═══ */
.card-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.5rem;
}
.card {
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
  border-radius:3px; overflow:hidden; text-decoration:none; color:var(--white);
  transition:border-color .3s, transform .3s;
}
.card:hover { border-color:var(--accent); transform:translateY(-3px); }
.card-featured { border-color:rgba(212,180,70,.35); background:rgba(212,180,70,.06); }
.card-featured:hover { border-color:rgba(212,180,70,.7); }
.card-featured .card-name { color:#d4b446; }
.card-featured .card-desc { color:rgba(212,180,70,.6); }
.card-img {
  width:100%; aspect-ratio:4/3; background-size:cover; background-position:center;
  background-color:rgba(255,255,255,.02);
}
.card-body { padding:1rem 1.2rem; }
.card-name {
  font-weight:400; font-size:.82rem; letter-spacing:.04em; color:var(--white);
}
.card-desc {
  font-weight:300; font-size:.65rem; letter-spacing:.04em;
  color:var(--muted); margin-top:.3rem;
}

/* ═══ PHOTO GRID ═══ */
.photo-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:4px;
}
.photo-grid-item {
  aspect-ratio:1; background-size:cover; background-position:center;
  cursor:pointer; border-radius:2px;
}

/* ═══ CONTENT GALLERY ═══ */
.gallery-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1rem; margin-bottom:2rem;
}
.gallery-item {
  width:100%; border-radius:3px; display:block;
  border:1px solid rgba(255,255,255,.06);
}
.gallery-item img {
  width:100%; height:auto; display:block; border-radius:3px;
  cursor:pointer; transition:transform .3s;
}
.gallery-item img:hover { transform:scale(1.02); }

/* ═══ VIDEO EMBED ═══ */
.video-embed {
  border-radius:3px; margin-bottom:2rem;
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden; background:#000;
}
.video-embed iframe,
.video-embed video {
  width:100%; display:block; border:0;
}
.video-embed iframe {
  aspect-ratio:16/9;
}

/* ═══ COMING SOON ═══ */
.coming-soon {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:4rem 2rem; text-align:center;
}
.coming-soon-icon {
  width:80px; height:80px; border:1px solid rgba(255,255,255,.08);
  border-radius:4px; display:flex; align-items:center; justify-content:center;
  margin-bottom:1.5rem; color:var(--muted);
}
.coming-soon-text {
  font-family:"reina-display",sans-serif; font-weight:400;
  font-size:1.4rem; color:var(--warm-dark); margin-bottom:.5rem;
}
.coming-soon-sub {
  font-weight:300; font-size:.7rem; letter-spacing:.1em;
  color:var(--muted); text-transform:uppercase;
}

/* ═══ LIGHTBOX (shared) ═══ */
.lightbox {
  position:fixed; inset:0; z-index:100;
  background:rgba(1,24,38,.94); backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  opacity:0; visibility:hidden; transition:opacity .35s ease,visibility .35s ease;
  cursor:pointer;
}
.lightbox.open { opacity:1; visibility:visible; }
.lightbox-img {
  max-width:min(90vw,1200px); max-height:min(85vh,800px); min-height:400px;
  width:auto; height:auto;
  object-fit:contain;
  border-radius:2px; opacity:0; transform:scale(.96);
  transition:opacity .4s ease .05s,transform .4s ease .05s;
}
.lightbox.open .lightbox-img { opacity:1; transform:scale(1); }
.lightbox-meta { margin-top:1.2rem; text-align:center; opacity:0; transition:opacity .3s ease .15s; }
.lightbox.open .lightbox-meta { opacity:1; }
.lightbox-cat {
  font-weight:300; font-size:.65rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--warm-dark);
}
.lightbox-close {
  position:absolute; top:1.8rem; right:2.2rem;
  font-weight:300; font-size:.7rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted-light);
  cursor:pointer; transition:color .2s; background:none; border:none;
}
.lightbox-close:hover { color:var(--accent); }

/* ═══ MOBILE ═══ */
@media (max-width:900px) {
  nav { padding:1.2rem 1.5rem; }
  .nav-brand { font-size:.9rem; }
  .page-content { padding:1.5rem 1.5rem 3rem; }
}
@media (max-width:640px) {
  nav { padding:1rem 1.2rem; flex-wrap:wrap; gap:.5rem; }
  .nav-brand { font-size:.85rem; }
  .nav-links li a { font-size:.62rem; }
  .nav-right { display:none; }
  .page-content { padding:1rem 1.2rem 2rem; }
  .page-title { font-size:1.5rem; }
  .card-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:1rem; }
  .photo-grid { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
}
