:root{
  --paper:#fbf6f6;
  --ink:#1b1414;
  --muted:rgba(27,20,20,.72);

  --rose:#8f1f1f;
  --wine:#3a1b1b;
  --gold:#c8a24b;
  --blush:#f3d7dc;
  --cream:#fff7f2;

  --stroke:rgba(27,20,20,.12);
  --shadow: 0 18px 60px rgba(0,0,0,.10);
  --radius: 22px;
  --radius-sm: 14px;
  --max: 1140px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--ink);
  background:
    radial-gradient(900px 500px at 15% 0%, rgba(200,162,75,.14), transparent 60%),
    radial-gradient(900px 500px at 85% 5%, rgba(143,31,31,.12), transparent 60%),
    var(--paper);
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.95}

.page{max-width:var(--max); margin:0 auto; padding: 28px 18px 70px}

/* Topbar */
.topbar{
  position: sticky; top:0; z-index:50;
  background: rgba(251,246,246,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--stroke);
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 18px;
}
.brand{display:flex; align-items:center; gap:10px}
.brand__logo{width:40px; height:40px; object-fit:contain; border-radius:12px; border:1px solid var(--stroke); background:#fff}
.brand__name{font-weight:800; letter-spacing:.2px}
.nav{display:flex; gap:14px; align-items:center}
.nav a{padding:8px 10px; border-radius:999px; color:rgba(27,20,20,.86)}
.nav a.is-active{background:rgba(200,162,75,.16); border:1px solid rgba(200,162,75,.35)}
.navToggle{display:none; background:transparent; border:0; padding:10px; border-radius:12px}
.navToggle span{display:block; width:22px; height:2px; background:var(--ink); margin:5px 0; border-radius:2px}

/* ===== Navbar Logo (Balanced & Mobile-first) ===== */
.brand {
  display: flex;
  align-items: center;
}

.brand-logo img {
  height: 40px;        /* Mobile default */
  width: auto;
  object-fit: contain;
}

/* Tablet */
@media (min-width: 640px) {
  .brand-logo img {
    height: 46px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .brand-logo img {
    height: 52px;
  }
}



/* Hero */
.hero{
  margin-top: 18px;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(243,215,220,.65), rgba(200,162,75,.10)),
    #fff;
  border: 1px solid rgba(58,27,27,.10);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero__grid{display:grid; grid-template-columns: 1.1fr .9fr; gap: 0}
.hero__copy{padding: 34px 28px 26px}
.hero__title{
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: clamp(44px, 5vw, 70px);
  margin: 0 0 6px;
  letter-spacing: .2px;
}
.hero__subtitle{color:rgba(27,20,20,.74); font-weight:700; margin-bottom: 14px}
.hero__text{max-width: 54ch; color:rgba(27,20,20,.72); line-height:1.7; margin:0 0 18px}
.hero__cta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom: 14px}

.hero__photo{
  margin-top: 18px;
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid rgba(27,20,20,.10);
  background:#fff;
}
.hero__photo img{
  width:100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
  display:block;
  filter: saturate(1.05) contrast(1.02);
}

.social{display:flex; gap:10px; margin-top: 10px}
.social__icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:999px;
  border:1px solid var(--stroke);
  background:#fff;
  font-weight:900;
}

/* Editorial menu */
.hero__menu{
  background:
    radial-gradient(700px 500px at 60% 0%, rgba(200,162,75,.16), transparent 70%),
    rgba(27,20,20,.04);
  padding: 18px;
  display:flex; flex-direction:column; gap: 10px;
  justify-content:center;
}
.menuLink{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(27,20,20,.10);
  transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
}
.menuLink:hover{transform: translateY(-1px); background:#fff; box-shadow: 0 10px 26px rgba(0,0,0,.06)}
.menuLink span:first-child{font-weight:750}
.menuLink span:last-child{color:rgba(27,20,20,.55)}

.section{padding: 28px 2px}
.section--tint{
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(200,162,75,.12), rgba(243,215,220,.28));
  border: 1px solid rgba(200,162,75,.22);
  padding: 26px 18px;
}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom: 14px}
.section__title{
  margin:0;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 28px;
}
.section__more{color:rgba(58,27,27,.88); font-weight:750}

.cards{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px}
.card{
  background: #fff;
  border:1px solid var(--stroke);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.card__media img{width:100%; height: 190px; object-fit:cover; display:block}
.card__body{padding: 14px}
.card__title{margin: 10px 0 8px; font-size: 18px}
.card__text{margin:0; color:rgba(27,20,20,.70); line-height:1.55}
.card__meta{margin-top: 10px; color:rgba(27,20,20,.52); font-size: 13px}

.pill{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid rgba(200,162,75,.35);
  background: rgba(200,162,75,.15);
  color: rgba(58,27,27,.92);
  font-weight:900; font-size: 12px;
  padding: 6px 10px; border-radius: 999px;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding: 10px 15px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: #fff;
  font-weight: 900;
  cursor:pointer;
}
.btn--primary{
  background: linear-gradient(135deg, var(--rose), var(--wine));
  border-color: rgba(0,0,0,.10);
  color: #fff;
  box-shadow: 0 10px 22px rgba(143,31,31,.15);
}
.btn--ghost{background:transparent}
.btn--danger{background:rgba(143,31,31,.10); border-color: rgba(143,31,31,.28); color: var(--rose)}
.btn--small{padding: 7px 10px; font-size: 13px}

.pageHead{padding: 12px 2px 0}
.pageHead h1{
  margin:0 0 6px;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 40px;
}
.lead{margin:0; color:rgba(27,20,20,.70); max-width: 72ch; line-height:1.7}

.prose{max-width: 78ch; line-height:1.85; color:rgba(27,20,20,.84)}
.prose h2{margin-top: 26px; font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif}
.prose ul{padding-left: 18px}
.prose a{color: rgba(143,31,31,.96); text-decoration: underline; text-underline-offset: 3px}

.cover{margin: 18px 0; border-radius: var(--radius); overflow:hidden; border:1px solid var(--stroke); background:#fff}
.cover img{width:100%; height: 440px; object-fit:cover; display:block}

.notice{
  padding: 12px 14px;
  border-radius: 16px;
  border:1px solid rgba(27,20,20,.12);
  background: rgba(255,255,255,.8);
  margin: 12px 0;
}
.notice--ok{border-color: rgba(18,133,52,.25); background: rgba(18,133,52,.08)}
.notice--bad{border-color: rgba(143,31,31,.26); background: rgba(143,31,31,.08)}

.twoCol{display:grid; grid-template-columns: 1fr 1fr; gap: 16px}
.muted{color:rgba(27,20,20,.66)}
.small{font-size: 13px}

.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top: 12px}
.chip{padding: 8px 12px; border:1px solid var(--stroke); border-radius:999px; background:#fff; font-weight:900}
.chip.is-active{border-color: rgba(200,162,75,.45); background: rgba(200,162,75,.14)}

.searchBar{display:flex; gap:10px; margin-top: 14px; flex-wrap:wrap}
.searchBar input{flex: 1 1 260px; padding: 12px 12px; border-radius: 14px; border:1px solid var(--stroke); background:#fff}

.form{max-width: 740px; display:grid; gap:12px}
.form label span{display:block; font-weight:900; margin-bottom: 6px}
.form input, .form textarea, .form select{
  width:100%; padding: 12px 12px; border-radius: 14px; border:1px solid var(--stroke); background:#fff; font: inherit;
}
.grid2{display:grid; grid-template-columns: 1fr 1fr; gap: 12px}
.noteBox{margin-top: 16px; padding: 14px; border-radius: 16px; border:1px dashed rgba(27,20,20,.20); background: rgba(255,255,255,.65)}

.stack{display:grid; gap: 12px}
.panel{
  background:#fff; border:1px solid var(--stroke); border-radius: var(--radius);
  padding: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.05);
}
.panel__head{display:flex; align-items:baseline; justify-content:space-between; gap: 12px; flex-wrap:wrap}
.embed{border-radius: 14px; overflow:hidden; border:1px solid var(--stroke); background:#fff; margin-top: 10px}
.embed iframe{width:100%; height: 168px; border:0}

/* Footer */
.footer{border-top:1px solid var(--stroke); padding: 18px; background: rgba(255,255,255,.55)}
.footer__inner{max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; gap:16px; align-items:flex-start}
.footer__brand{font-weight:900}
.footer__tag{color:rgba(27,20,20,.64); margin-top: 4px}
.footer__links{display:flex; gap: 14px; flex-wrap:wrap}
.footer__fine{max-width:var(--max); margin: 12px auto 0; color:rgba(27,20,20,.55); font-size: 13px}

/* Admin */
.adminBg{background: radial-gradient(circle at top, rgba(200,162,75,.18), transparent 55%), var(--paper)}
.authCard{
  max-width: 420px; margin: 10vh auto; background:#fff; border:1px solid var(--stroke);
  border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow);
}
.authCard__brand{display:flex; gap:12px; align-items:center; margin-bottom: 10px}
.authCard__brand img{width:46px; height:46px; border-radius: 12px; border:1px solid var(--stroke); background:#fff}
.authCard__title{font-weight: 900}

.adminTop{
  display:flex; justify-content:space-between; align-items:center; gap: 12px;
  padding: 14px 18px; border-bottom:1px solid var(--stroke);
  background: rgba(255,255,255,.75);
  position: sticky; top:0; z-index:50;
}
.adminTop__brand{font-weight: 900}
.adminTop__nav{display:flex; gap: 10px; flex-wrap:wrap}
.adminTop__nav a{padding: 8px 10px; border-radius: 999px; border:1px solid var(--stroke); background:#fff}
.adminPage{max-width: var(--max); margin:0 auto; padding: 20px 18px 60px}
.adminGrid{display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 14px 0}
.stat{background:#fff; border:1px solid var(--stroke); border-radius: var(--radius); padding: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.05)}
.stat__num{font-size: 30px; font-weight: 900}
.stat__label{color:rgba(27,20,20,.65)}
.adminActions{display:flex; gap: 10px; flex-wrap:wrap; margin: 14px 0}
.tableWrap{overflow:auto; border:1px solid var(--stroke); border-radius: var(--radius); background:#fff}
.table{width:100%; border-collapse: collapse; min-width: 820px}
.table th,.table td{padding: 12px; border-bottom:1px solid rgba(27,20,20,.08); text-align:left; vertical-align:top}
.table th{background: rgba(200,162,75,.10); font-size: 13px; letter-spacing:.2px; text-transform: uppercase}
.nowrap{white-space:nowrap}
.badge{display:inline-flex; padding: 4px 10px; border-radius:999px; border:1px solid var(--stroke); font-weight:900; font-size: 12px}
.badge--ok{background: rgba(18,133,52,.10); border-color: rgba(18,133,52,.25)}
.badge--muted{background: rgba(27,20,20,.06)}

/* Responsive */
@media (max-width: 980px){
  .hero__grid{grid-template-columns: 1fr}
  .hero__menu{order: -1}
  .cards{grid-template-columns: repeat(2, minmax(0,1fr))}
  .adminGrid{grid-template-columns: repeat(2, minmax(0,1fr))}
  .hero__photo img{height: 320px}
}
@media (max-width: 720px){
  .navToggle{display:block}
  .nav{
    position:absolute; left:18px; right:18px; top:62px;
    background:#fff; border:1px solid var(--stroke);
    border-radius: 16px; padding: 10px;
    display:none; flex-direction:column; align-items:stretch;
    box-shadow: var(--shadow);
  }
  .nav.is-open{display:flex}
  .cards{grid-template-columns: 1fr}
  .twoCol{grid-template-columns: 1fr}
  .grid2{grid-template-columns: 1fr}
  .cover img{height: 280px}
}

/* --- Reference-style hero (based on Iyabode's Canva mock) --- */
.hero--reference{box-shadow:none; border:0; background:transparent; overflow:visible}
.heroRef{
  margin-top: 18px;
  border-radius: 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  min-height: 440px;
  position: relative;
  background:
    linear-gradient(90deg, rgba(20,16,16,.74) 0%, rgba(20,16,16,.55) 45%, rgba(20,16,16,.18) 70%, rgba(20,16,16,0) 100%),
    var(--hero-img) right center / cover no-repeat;
}
.heroRef::after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(800px 500px at 25% 10%, rgba(200,162,75,.18), transparent 60%),
    radial-gradient(900px 600px at 70% 20%, rgba(143,31,31,.12), transparent 65%);
  pointer-events:none;
  mix-blend-mode: screen;
  opacity:.75;
}
.heroRef__left{
  position:relative;
  z-index:2;
  padding: 34px 28px;
  max-width: 520px;
}
.heroRef__title{
  margin:0 0 14px;
  color: rgba(255,236,206,.96);
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-weight: 800;
  letter-spacing: .2px;
  font-size: clamp(34px, 4.3vw, 56px);
  line-height: 1.05;
  text-shadow: 0 10px 30px rgba(0,0,0,.45);
}
.heroRef__title span{font-weight: 800}
.heroRef__social{display:flex; gap: 10px; margin: 12px 0 18px}
.socialDot{
  width: 42px; height: 42px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  font-weight: 900;
  text-transform: uppercase;
}
.socialDot:hover{background: rgba(255,255,255,.12)}

.heroRef__blurb{
  margin:0 0 18px;
  color: rgba(255,255,255,.86);
  line-height: 1.7;
  max-width: 50ch;
  font-size: 15px;
}
.heroRef__cta{display:flex; gap:10px; flex-wrap:wrap}

.heroRef__menu{
  position:absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index:2;
  width: min(380px, 46%);
  display:flex;
  flex-direction:column;
  gap:0;
  padding: 10px 0;
}
.menuRow{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding: 12px 10px;
  color: rgba(255,255,255,.92);
  font-weight: 800;
  letter-spacing: .15px;
  text-shadow: 0 10px 24px rgba(0,0,0,.50);
  border-top: 1px solid rgba(255,255,255,.22);
}
.menuRow:first-child{border-top:0}
.menuRow span{width:100%; text-align:right}
.menuRow:hover{
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 100%);
}
@media (max-width: 980px){
  .heroRef{
    background:
      linear-gradient(180deg, rgba(20,16,16,.70) 0%, rgba(20,16,16,.44) 55%, rgba(20,16,16,.10) 100%),
      var(--hero-img) center / cover no-repeat;
    min-height: 560px;
  }
  .heroRef__menu{
    position: relative;
    right: auto; top: auto; transform:none;
    width: auto;
    padding: 0 18px 18px;
  }
  .menuRow{justify-content:flex-start}
  .menuRow span{text-align:left}
}
