/* Ronwa Project – Global Styles */
:root{
  --bg:#0b0c0f;
  --panel:#101216;
  --text:#e7ecef;
  --muted:#b3bcc3;
  --accent: #86c5c5;
  --accent-gold:#b59a55;
  --link:#b6d3d3;
  --shadow: 0 10px 30px rgba(0,0,0,.4);
  --ring: 0 0 0 3px rgba(155,183,183,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body.theme-dark{
  margin:0;
  background: radial-gradient(circle at 50% -30%, #121317, #0e0f11 60%);
  color:var(--text);
  font-family:'Merriweather', serif;
  line-height:1.6;
  background:linear-gradient(180deg,#0b0c0f,#0f1114);
  -webkit-font-smoothing:antialiased;
}

/* Typography */
h1,h2,h3,h4{font-family:'Montserrat', system-ui, -apple-system, sans-serif; line-height:1.2; margin:0 0 .5rem}
h1{font-weight:800; font-size:clamp(1.7rem, 3.2vw, 2.3rem)}
h2{font-weight:700; font-size:clamp(1.25rem, 2.2vw, 1.55rem)}
h3{font-weight:600; font-size:clamp(1.05rem, 1.7vw, 1.18rem)}
p{margin:.5rem 0; color:var(--muted)}
small,.small{font-size:.875rem; color:var(--muted)}

/* Links */
a{color:var(--accent-gold); text-decoration:none; transition:color .3s ease}
a:hover{color:#d8cfbf; text-decoration:none}
a:visited{color:#a68a4a}
.wiki a, .modal a{color:var(--accent-gold); text-decoration:none}
.wiki a:hover, .modal a:hover{color:#d8cfbf; text-decoration:none}

/* Containers */
.container{max-width:1200px; margin-inline:auto; padding-inline:1rem}
.stack{display:grid; gap:1.25rem}

/* Glyph text style */
.glyph{font-family:'Montserrat', sans-serif; letter-spacing:.18em; font-weight:800; fill:var(--accent-gold); color:var(--accent-gold)}

/* Layout */
.site-header{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:.75rem 1rem; background:rgba(10,11,13,.7); backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.brand{display:flex; gap:.6rem; align-items:center; color:var(--text); text-decoration:none !important}
.brand:hover{text-decoration:none !important}
.brand-glyph{font-size:1.2rem}
.brand-text{font-weight:700; letter-spacing:.06em}
.site-nav{display:flex; align-items:center; gap:.25rem}
.site-nav a{color:var(--link); text-decoration:none; margin-left:.25rem; padding:.45rem .7rem; border-radius:8px}
.site-nav a:hover{background:rgba(255,255,255,.05)}
.site-nav a.active{color:var(--accent-gold)}

/* Mobile nav toggle */
.nav-toggle{display:none; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.04); color:var(--text); border-radius:10px; padding:.4rem .6rem}
.nav-toggle:focus{outline:none; box-shadow:var(--ring)}
@media (max-width: 820px){
  .nav-toggle{display:inline-flex; align-items:center; gap:.4rem}
  .site-nav{position:fixed; top:56px; right:1rem; left:1rem; background:rgba(15,16,19,.96); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:.5rem; display:none; flex-direction:column; gap:.25rem}
  body.nav-open .site-nav{display:flex}
  .site-nav a{width:100%;}
}

/* Hero Full */
.hero-full{position:relative; height:100vh; min-height:600px; max-height:800px; overflow:hidden}
.hero-image{position:relative; width:100%; height:100%}
.hero-image img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.6) 60%, rgba(0,0,0,.8) 100%); display:flex; align-items:center; justify-content:center}
.hero-content{text-align:center; color:white; max-width:800px; padding:2rem}
.hero-content h1{font-size:clamp(2.5rem, 6vw, 4rem); font-weight:800; margin-bottom:.5rem; text-shadow:3px 3px 12px rgba(0,0,0,.9), 1px 1px 6px rgba(0,0,0,.8)}
.hero-content p{font-size:clamp(1.1rem, 2.5vw, 1.4rem); margin-bottom:1.5rem; text-shadow:2px 2px 8px rgba(0,0,0,.9), 1px 1px 4px rgba(0,0,0,.7)}
.today-widget{background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:.75rem 1rem; backdrop-filter:blur(8px)}

/* Navigation Cards */
.nav-cards{padding:3rem 1rem}
.nav-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:1.5rem; max-width:1200px; margin:0 auto}
.nav-card{display:block; background:var(--panel); border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .3s ease, box-shadow .3s ease; box-shadow:var(--shadow)}
.nav-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,.6)}
.nav-card img{width:100%; height:200px; object-fit:cover}
.nav-card-content{padding:1.5rem}
.nav-card h2{margin:0 0 .5rem; color:var(--accent-gold)}
.nav-card p{margin:0; color:var(--muted)}

/* Page Hero (for other pages) */
.page-hero{position:relative; height:60vh; min-height:400px; max-height:600px; overflow:hidden}
.page-hero .hero-image{position:relative; width:100%; height:100%}
.page-hero .hero-image img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center}
.page-hero .hero-overlay{position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.4) 60%, rgba(0,0,0,.7) 100%); display:flex; align-items:center; justify-content:center}
.page-hero .hero-content{text-align:center; color:white; max-width:800px; padding:2rem}
.page-hero .hero-content h1{font-size:clamp(2rem, 5vw, 3.5rem); font-weight:800; margin-bottom:.5rem; text-shadow:2px 2px 8px rgba(0,0,0,.8)}
.page-hero .hero-content p{font-size:clamp(1rem, 2vw, 1.3rem); margin-bottom:1.5rem; text-shadow:1px 1px 4px rgba(0,0,0,.8)}

/* Calendar Controls in Hero */
.calendar-controls{display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; align-items:center; margin-top:1rem}
.calendar-year{background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.3); border-radius:8px; padding:.5rem .75rem; color:var(--accent-gold); font-weight:700}
.tz-select select{background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.3); color:white; border-radius:8px; padding:.5rem}

/* Hero Nav for Lore */
.hero-nav{display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-top:1rem}
.hero-nav a{background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.3); color:white; text-decoration:none; padding:.4rem .8rem; border-radius:20px; font-size:.9rem; transition:all .3s ease}
.hero-nav a:hover{background:rgba(255,255,255,.2); border-color:var(--accent-gold); color:var(--accent-gold)}

/* Calendar Main */
.calendar-main{padding:2rem 1rem; max-width:1200px; margin:0 auto}
.rw-grid{display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:2rem}
.legend-card{background:var(--panel); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:1.5rem; box-shadow:var(--shadow)}
.legend-items{display:flex; flex-wrap:wrap; gap:1rem; margin-top:.5rem}
.legend-item{display:flex; align-items:center; gap:.5rem}

/* Archive Main */
.archive-main{padding:2rem 1rem; max-width:1200px; margin:0 auto}
.artifact-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.5rem}

/* Wiki Main */
.wiki-main{padding:2rem 1rem; max-width:1000px; margin:0 auto}
.wiki{background:var(--panel); border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:2rem; box-shadow:var(--shadow)}
.wiki section{margin-bottom:2.5rem}
.wiki h2{color:var(--accent-gold); border-bottom:2px solid rgba(181,154,85,.3); padding-bottom:.5rem; margin-bottom:1rem}

.constellation-bg{position:absolute; inset:0; background-image:radial-gradient(2px 2px at 20% 40%, rgba(255,255,255,.08) 30%, transparent 31%), radial-gradient(1px 1px at 70% 60%, rgba(255,255,255,.06) 30%, transparent 31%); opacity:.25; pointer-events:none}

/* Buttons */
.btn{appearance:none; border:1px solid rgba(255,255,255,.18); color:var(--text); background:rgba(255,255,255,.04); padding:.6rem 1rem; border-radius:10px; cursor:pointer; font-weight:600}
.btn:hover{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.26)}
.btn-ghost{background:transparent}
.badge{font-size:.75rem; color:var(--accent-gold); border:1px solid rgba(181,154,85,.4); padding:.15rem .5rem; border-radius:999px; margin-left:.5rem}

/* Feature grid */
.feature-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:.85rem; margin-top:.85rem}
.feature-card{background:var(--panel); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:1rem; box-shadow:var(--shadow)}
.feature-card h3{margin:0 0 .25rem}

/* CTA row */
.cta-row{display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-top:1rem}

/* Footer */
.site-footer{padding:2rem 1rem; text-align:center; color:var(--muted)}
.footer-content{max-width:800px; margin:0 auto}
.footer-content p{margin:.25rem 0}

/* Footer Contact Section */
.footer-contact{background:var(--panel); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:1.5rem; margin-bottom:1.5rem; box-shadow:var(--shadow)}
.footer-contact h4{color:var(--accent-gold); margin-bottom:.75rem; font-size:1.1rem}
.footer-contact p{margin:.5rem 0; line-height:1.5}
.contact-email{color:var(--accent-gold); font-weight:600; text-decoration:none; padding:.25rem .5rem; border-radius:6px; transition:all .3s ease}
.contact-email:hover{background:rgba(181,154,85,.1); color:#d8cfbf; text-decoration:none}

/* Calendar */
.calendar-layout{max-width:1100px; margin:0 auto; padding:1rem}
.calendar-header{display:grid; gap:.5rem; justify-items:center; text-align:center}
.calendar-controls{display:flex; gap:.5rem; align-items:center}
.calendar-year{font-weight:700; letter-spacing:.08em}
.rw-grid{display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1rem}
.month{background:var(--panel); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:.75rem; box-shadow:var(--shadow)}
.month h3{display:flex; align-items:baseline; justify-content:space-between}
.month .glyph{font-size:1rem}
.days{margin-top:.5rem; display:grid; grid-template-columns:repeat(7,1fr); gap:.25rem}
.day{aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); position:relative; color:var(--text); font-weight:500; cursor:pointer; transition:all .2s ease}
.day:hover, .day:focus{background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.2); transform:scale(1.05); outline:none}
.day:focus{box-shadow:var(--ring)}
.day.today{outline:2px solid var(--accent); background:rgba(134,197,197,.15)}
.day.selected{background:var(--accent-gold); color:#0b0c0f; border-color:var(--accent-gold); font-weight:700; box-shadow:0 0 10px rgba(181,154,85,.4)}
.day.selected:hover, .day.selected:focus{background:#d8cfbf; transform:scale(1.05)}
.day[data-type="return"]{background:linear-gradient(180deg, rgba(181,154,85,.3), rgba(181,154,85,.1)); border-color:rgba(181,154,85,.5)}
.tooltip{position:absolute; bottom:100%; left:50%; transform:translate(-50%, -6px); background:#0d0e10; border:1px solid rgba(255,255,255,.14); color:var(--text); padding:.25rem .4rem; font-size:.75rem; border-radius:6px; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity .2s ease}
.day:focus .tooltip, .day:hover .tooltip{opacity:1}

.event-panel{margin-top:2rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:1rem}
.event-panel form .row{display:grid; grid-template-columns:1fr 1fr; gap:.75rem}
.event-list{margin-top:1rem; display:grid; gap:.5rem}
.event-item{display:flex; justify-content:space-between; align-items:center; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:10px; padding:.5rem .75rem}

/* Archive */
.archive-layout{max-width:1100px; margin:0 auto; padding:1rem}
.card-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:1rem}
.card{background:var(--panel); border:1px solid rgba(255,255,255,.06); border-radius:12px; overflow:hidden; box-shadow:var(--shadow); cursor:pointer; transition:all .3s ease}
.card:hover, .card:focus{transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,.6); border-color:rgba(181,154,85,.3); outline:none}
.card:focus{box-shadow:0 20px 40px rgba(0,0,0,.6), var(--ring)}
.card img{width:100%; height:180px; object-fit:cover; display:block; background:#0b0c0e}
.card-body{padding:.75rem}
.modal::backdrop{background:rgba(0,0,0,.6)}
.modal{border:none; border-radius:12px; padding:0; max-width:min(100vw, 900px); width:90vw; color:var(--text); background:var(--panel)}
.modal figure{display:grid; grid-template-columns:1fr; margin:0}
.modal img{width:100%; height:auto}
.modal figcaption{padding:1rem}
.modal-close{position:absolute; top:.5rem; right:.5rem; border:none; background:rgba(255,255,255,.08); color:var(--text); width:36px; height:36px; border-radius:50%; cursor:pointer}

/* Clean UI presentation */

/* Stars canvas fills screen */
#stars{position:fixed; inset:0; z-index:-1}

/* Responsive (portrait-first) */
@media (min-width: 768px){
  .nav-grid{grid-template-columns:repeat(3, 1fr)}
  .hero-content{padding:3rem}
  /* Calendar responsive - tablet */
  .rw-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (min-width: 1024px){
  /* Calendar responsive - desktop */
  .rw-grid{grid-template-columns:repeat(3, 1fr)}
}
@media (max-width: 640px){
  .event-panel form .row{grid-template-columns:1fr}
  /* Ensure calendar stays single column on small screens */
  .rw-grid{grid-template-columns:1fr}
  /* Make calendar controls stack better on mobile */
  .calendar-controls{flex-direction:column; gap:.5rem}
}

/* Modern forms */
input[type="text"], textarea, select{
  width:100%;
  background:rgba(255,255,255,.03);
  color:var(--text);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  padding:.55rem .7rem;
}
input:focus, textarea:focus, select:focus{outline:none; box-shadow:var(--ring); border-color:rgba(255,255,255,.25)}

/* Chips */
.chip{display:inline-block; width:14px; height:14px; border-radius:50%; background:rgba(255,255,255,.18); vertical-align:middle}
.chip-month{background:rgba(155,183,183,.4)}
.chip-return{background:rgba(181,154,85,.45)}
.chip-today{background:rgba(255,255,255,.85)}
.chip-selected{background:var(--accent-gold); box-shadow:0 0 6px rgba(181,154,85,.6)}

/* Return pulse animation */
@keyframes returnPulse{
  0%{ box-shadow:0 0 0 0 rgba(181,154,85,.25); }
  70%{ box-shadow:0 0 0 14px rgba(181,154,85,0); }
  100%{ box-shadow:0 0 0 0 rgba(181,154,85,0); }
}
.day[data-type="return"]{ animation:returnPulse 2.4s ease-out infinite; border-color:rgba(181,154,85,.4) }

/* Notification Popup */
.notification-popup {
  position: fixed;
  top: 20px;
  right: 20px;
  max-width: 400px;
  background: linear-gradient(135deg, var(--panel), #1a1d24);
  border: 1px solid rgba(181,154,85,.3);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 20px 40px rgba(0,0,0,.6), 0 0 20px rgba(181,154,85,.2);
  z-index: 1000;
  transform: translateX(450px);
  transition: transform .4s ease-out;
}

.notification-popup.show {
  transform: translateX(0);
}

.notification-popup.hide {
  transform: translateX(450px);
}

.notification-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.notification-title {
  color: var(--accent-gold);
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
}

.notification-close {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all .3s ease;
}

.notification-close:hover {
  background: rgba(255,255,255,.1);
  color: var(--text);
}

.notification-content {
  color: var(--text);
  line-height: 1.5;
  margin: 0;
}

.notification-content strong {
  color: var(--accent-gold);
}

/* Mobile responsive */
@media (max-width: 768px) {
  .notification-popup {
    top: 10px;
    right: 10px;
    left: 10px;
    max-width: none;
    transform: translateY(-100px);
  }
  
  .notification-popup.show {
    transform: translateY(0);
  }
  
  .notification-popup.hide {
    transform: translateY(-100px);
  }
}

/* Language Page Styles */
.language-content {
  max-width: 1000px;
  margin: 0 auto;
}

.language-section {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--shadow);
}

.language-section h2 {
  color: var(--accent-gold);
  border-bottom: 2px solid rgba(181,154,85,.3);
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}

.glyph-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.glyph-item {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 1rem;
}

.glyph-item h4 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.number-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 0.5rem;
  margin: 1rem 0;
}

.number-grid div {
  background: rgba(255,255,255,.05);
  padding: 0.5rem;
  text-align: center;
  border-radius: 6px;
  font-family: monospace;
  color: var(--accent-gold);
}

.inscription-box {
  background: rgba(0,0,0,.3);
  border-left: 4px solid var(--accent-gold);
  padding: 1rem;
  margin: 1rem 0;
  border-radius: 0 8px 8px 0;
}

.inscription-box p {
  margin: 0.5rem 0;
}

.inscription-box strong {
  color: var(--accent-gold);
}

.example-box {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.3);
  padding: 1rem;
  border-radius: 8px;
  margin: 1rem 0;
}

.example-box strong {
  color: var(--accent-gold);
  font-family: monospace;
}

/* Researcher Page Styles */
.researcher-content {
  max-width: 1000px;
  margin: 0 auto;
}

.researcher-section {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--shadow);
}

.researcher-section h2 {
  color: var(--accent-gold);
  border-bottom: 2px solid rgba(181,154,85,.3);
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}

.profile-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2rem;
  align-items: start;
}

.profile-image img {
  width: 100%;
  border-radius: 8px;
  border: 2px solid rgba(181,154,85,.3);
}

.profile-image .caption {
  font-size: 0.9rem;
  color: var(--muted);
  margin-top: 0.5rem;
  font-style: italic;
}

.field-note {
  background: rgba(0,0,0,.3);
  border-left: 4px solid var(--accent-gold);
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 0 8px 8px 0;
}

.field-note h4 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.field-note em {
  color: var(--text);
  line-height: 1.6;
}

.confidence-system {
  display: grid;
  gap: 0.5rem;
  margin: 1rem 0;
}

.confidence-item {
  background: rgba(255,255,255,.03);
  padding: 0.75rem;
  border-radius: 6px;
  border-left: 3px solid var(--accent-gold);
}

.confidence-item strong {
  color: var(--accent-gold);
  font-family: monospace;
}

.contact-info {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.3);
  padding: 1.5rem;
  border-radius: 8px;
  margin: 1rem 0;
}

.contact-info p {
  margin: 0.5rem 0;
}

.contact-info strong {
  color: var(--accent-gold);
}

@media (max-width: 768px) {
  .profile-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* Profile Content Styles */
.profile-content {
  max-width: 800px;
}

.photo-gallery-access {
  margin-top: 2rem;
  padding: 1.5rem;
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.3);
  border-radius: 8px;
  text-align: center;
}

.gallery-button {
  background: var(--accent-gold);
  color: #0b0c0f;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  font-size: 1rem;
}

.gallery-button:hover {
  background: #d8cfbf;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(181,154,85,.3);
}

.gallery-hint {
  margin-top: 0.5rem;
  color: var(--muted);
  font-size: 0.9rem;
}

/* Artifact Detail Page Styles */
.artifact-content {
  max-width: 1200px;
  margin: 0 auto;
}

.artifact-header {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--shadow);
  text-align: center;
}

.artifact-header h2 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

.catalog-id {
  color: var(--muted);
  font-family: monospace;
  font-size: 1.1rem;
}

.artifact-grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 2rem;
}

.discovery-info {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  height: fit-content;
  box-shadow: var(--shadow);
}

.discovery-info h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
  border-bottom: 2px solid rgba(181,154,85,.3);
  padding-bottom: 0.5rem;
}

.info-box p {
  margin: 0.75rem 0;
  line-height: 1.4;
}

.info-box strong {
  color: var(--accent-gold);
}

.artifact-main {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  box-shadow: var(--shadow);
}

.artifact-image {
  margin-bottom: 2rem;
}

.artifact-image img {
  width: 100%;
  border-radius: 8px;
  border: 2px solid rgba(181,154,85,.3);
}

.artifact-image figcaption {
  margin-top: 1rem;
  padding: 1rem;
  background: rgba(0,0,0,.3);
  border-radius: 8px;
  font-style: italic;
  line-height: 1.5;
}

.analysis-section, .translation-section, .research-notes, .related-artifacts {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.analysis-section h3, .translation-section h3, .research-notes h3, .related-artifacts h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.context-box {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.3);
  padding: 1rem;
  border-radius: 8px;
  margin: 1rem 0;
}

.context-box h4 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

.translation-box {
  background: rgba(0,0,0,.3);
  border-left: 4px solid var(--accent-gold);
  padding: 1rem;
  margin: 1rem 0;
  border-radius: 0 8px 8px 0;
}

.translation-box p {
  margin: 0.5rem 0;
}

.confidence-probable {
  color: #86c5c5;
  font-weight: 600;
}

.confidence-uncertain {
  color: #d4c078;
  font-weight: 600;
}

.confidence-certain {
  color: #85b585;
  font-weight: 600;
}

.lab-report, .hypothesis, .expert-quote {
  background: rgba(255,255,255,.03);
  border-radius: 8px;
  padding: 1rem;
  margin: 1rem 0;
}

.lab-report h4, .hypothesis h4, .expert-quote h4 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

.related-artifacts ul {
  list-style: none;
  padding: 0;
}

.related-artifacts li {
  margin: 0.5rem 0;
}

.related-artifacts a {
  color: var(--accent-gold);
  text-decoration: none;
  padding: 0.5rem;
  display: block;
  border-radius: 6px;
  transition: background .3s ease;
}

.related-artifacts a:hover {
  background: rgba(181,154,85,.1);
}

@media (max-width: 768px) {
  .artifact-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .discovery-info {
    order: 2;
  }
  
  .artifact-main {
    order: 1;
  }
}

/* Photo Gallery Styles */
.profile-main {
  cursor: pointer;
  transition: all .3s ease;
}

.profile-main:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 30px rgba(0,0,0,.5);
}

.photo-gallery-hint {
  font-size: 0.8rem;
  color: var(--accent-gold);
  text-align: center;
  margin-top: 0.5rem;
  font-style: italic;
}

.photo-gallery-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.9);
  z-index: 2000;
  align-items: center;
  justify-content: center;
}

.photo-gallery-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gallery-close {
  position: absolute;
  top: -50px;
  right: 0;
  background: none;
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  z-index: 2001;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background .3s ease;
}

.gallery-close:hover {
  background: rgba(255,255,255,.1);
}

.gallery-prev, .gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.7);
  border: none;
  color: white;
  font-size: 2rem;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  transition: all .3s ease;
  z-index: 2001;
}

.gallery-prev {
  left: -70px;
}

.gallery-next {
  right: -70px;
}

.gallery-prev:hover, .gallery-next:hover {
  background: rgba(181,154,85,.8);
  transform: translateY(-50%) scale(1.1);
}

.gallery-image-container {
  text-align: center;
  margin-bottom: 2rem;
}

.gallery-image-container img {
  max-width: 80vw;
  max-height: 70vh;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.8);
}

.gallery-caption {
  color: white;
  margin-top: 1rem;
  font-style: italic;
  max-width: 600px;
  line-height: 1.5;
}

.gallery-thumbnails {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.gallery-thumb {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  opacity: 0.6;
  transition: all .3s ease;
  border: 2px solid transparent;
}

.gallery-thumb:hover {
  opacity: 0.8;
  transform: scale(1.05);
}

.gallery-thumb.active {
  opacity: 1;
  border-color: var(--accent-gold);
  box-shadow: 0 0 15px rgba(181,154,85,.5);
}

/* Mobile Gallery Styles */
@media (max-width: 768px) {
  .gallery-prev {
    left: 10px;
  }
  
  .gallery-next {
    right: 10px;
  }
  
  .gallery-close {
    top: 10px;
    right: 10px;
  }
  
  .gallery-image-container img {
    max-width: 95vw;
    max-height: 60vh;
  }
  
  .gallery-thumbnails {
    gap: 0.5rem;
  }
  
  .gallery-thumb {
    width: 60px;
    height: 60px;
  }
}

/* FAQ Styles */
.faq-item {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow);
}

.faq-item h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: 600;
}

.faq-item p {
  line-height: 1.6;
  color: var(--text);
}

.faq-item strong {
  color: var(--accent-gold);
}

/* Wiki Tabs Styles */
.wiki-tabs {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.tab-btn {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.3);
  color: var(--text);
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all .3s ease;
  font-weight: 500;
}

.tab-btn:hover {
  background: rgba(181,154,85,.2);
  color: var(--accent-gold);
}

.tab-btn.active {
  background: var(--accent-gold);
  color: #0b0c0f;
  border-color: var(--accent-gold);
}

.tab-content {
  display: none;
  padding: 2rem 0;
}

.tab-content.active {
  display: block;
}

/* Overview Grid */
.overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.overview-card {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.overview-card h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.key-facts {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin-top: 2rem;
  box-shadow: var(--shadow);
}

.key-facts h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

/* Artifact Grid */
.artifact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.artifact-card {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.artifact-card h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

/* Language Styles */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.feature-item {
  background: rgba(181,154,85,.1);
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid rgba(181,154,85,.2);
}

.glyph-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.glyph-card {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 1rem;
  text-align: center;
}

.glyph-card h4 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

.grammar-example {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 1.5rem;
  margin: 1rem 0;
}

.glyph-note {
  font-style: italic;
  color: var(--muted);
  margin-top: 1rem;
  text-align: center;
}

.grammar-system {
  margin: 2rem 0;
}

.grammar-section {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  margin: 1.5rem 0;
  box-shadow: var(--shadow);
}

.grammar-section h4 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.number-system {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.2);
  border-radius: 8px;
  padding: 1rem;
  margin: 1rem 0;
}

.translation-examples {
  margin: 2rem 0;
}

.translation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.translation-card {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.translation-card h4 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.translation-card em {
  color: var(--muted);
  font-size: 0.9rem;
}

.linguistic-analysis {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: var(--shadow);
}

.linguistic-analysis h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.reconstruction-methods {
  margin-top: 1.5rem;
}

.reconstruction-methods h4 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

/* Calendar Styles */
.calendar-stats {
  display: flex;
  gap: 2rem;
  justify-content: center;
  margin: 2rem 0;
}

.stat-item {
  text-align: center;
  background: var(--panel);
  padding: 1.5rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.06);
  min-width: 120px;
}

.stat-item strong {
  display: block;
  font-size: 2rem;
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

.months-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.month-card {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 1rem;
  text-align: center;
}

.month-card h4 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

/* Culture & Connections */
.culture-grid, .correlation-grid, .figure-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.culture-section, .correlation-item, .figure-item {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.culture-section h3, .correlation-item h4, .figure-item h4 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .wiki-tabs {
    gap: 0.25rem;
  }
  
  .tab-btn {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
  
  .overview-grid, .artifact-grid, .months-grid {
    grid-template-columns: 1fr;
  }
  
  .calendar-stats {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}

/* Verification Page Styles */
.verification-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.verification-item {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.verification-item h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
  font-size: 1.2rem;
}

.excavation-details {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin: 1.5rem 0;
  box-shadow: var(--shadow);
}

.site-info {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.2);
  border-radius: 8px;
  padding: 1.5rem;
  margin: 1rem 0;
}

.dating-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.dating-method {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.dating-method h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.custody-timeline {
  margin: 2rem 0;
}

.timeline-item {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 1rem 1.5rem;
  margin: 1rem 0;
  border-left: 4px solid var(--accent-gold);
}

.timeline-item h4 {
  color: var(--accent-gold);
  margin-bottom: 0.5rem;
}

.documentation-trail {
  background: rgba(181,154,85,.1);
  border: 1px solid rgba(181,154,85,.2);
  border-radius: 12px;
  padding: 2rem;
  margin: 2rem 0;
}

.documentation-trail h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.oversight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.oversight-item {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.oversight-item h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

.authentication-methods {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 2rem;
  margin: 2rem 0;
  box-shadow: var(--shadow);
}

.authentication-methods h3 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
  margin-top: 1.5rem;
}

.authentication-methods h3:first-child {
  margin-top: 0;
}

.contact-institutions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.institution {
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.institution h4 {
  color: var(--accent-gold);
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .verification-grid, .dating-results, .oversight-grid, .contact-institutions {
    grid-template-columns: 1fr;
  }
}
