/* =============================
   QuadLevel Shared Stylesheet
   Consolidated for all pages
   ============================= */

/* Reset */
*{box-sizing:border-box;margin:0;padding:0;}

body{
  font-family:Georgia,"Times New Roman",serif;
  color:#2b1e12;
  line-height:1.55;
  background: #d8cbb0; /* light parchment tone */
}

a{color:#5b2b12;text-decoration:none;}
a:hover{text-decoration:underline;}

.page{
  max-width:1200px;
  margin:auto;
  background:#efe4c9 url(images/bg_parchment.jpg) repeat;
}

/* Header */
.top{
  background:#2b1e12;
  color:#f1e6d0;
  padding:18px 12px;
}

.top-inner{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.logo img{max-height:70px;width:auto;}

.top h1{font-size:2rem;margin-bottom:4px;}

/* Navigation */
.nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  background:#3a2717;
  padding:10px 12px;
}

.nav a{
  color:#f1e6d0;
  font-weight:bold;
}

/* Hero Stage (Home Page) */
.stage{
  background:#efe4c9;
  padding:22px;
}

.stage-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:20px;
}

.stage img{
  width:100%;
  height:auto;
  border-radius:12px;
}

.stage h2{font-size:1.6rem;margin-bottom:8px;}

.btn{
  display:inline-block;
  margin-top:10px;
  padding:8px 14px;
  background:#5b2b12;
  color:#f1e6d0;
  border-radius:6px;
  font-weight:bold;
}

.btn:hover{background:#7a3a1b;}

.card {
  background: #efe4c9;
  border: 2px solid #c6b08a;
  border-radius: 14px;
  padding: 20px;
  margin: 18px 12px;
}

.block {
  background: #efe4c9;
  border: 2px solid #c6b08a;
  border-radius: 14px;
  padding: 18px;
}

/* Cards / Blocks 
.card,.block{
  background:#efe4c9;
  border-radius:14px;
  padding:20px;
  margin:18px 12px;
}
*/

.blocks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
}

.block h3{margin-bottom:6px;}

/* Figures & Images */
.figure{text-align:center;margin:14px 0;}
.figure img{
  max-width:100%;
  height:auto;
  border-radius:10px;
  cursor:pointer;
}

.grid2{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

/* Tables */
.table{width:100%;border-collapse:collapse;}
.table td{padding:8px;vertical-align:top;}

@media(max-width:760px){
  .stage-grid{grid-template-columns:1fr;}
  .table td{display:block;width:100%!important;}
}

/* Footer */
.footer{
  text-align:center;
  padding:14px;
  background:#2b1e12;
  color:#f1e6d0;
  margin-top:30px;
}
