/* =========================
   NOBLIS (Graff-level base)
========================= */

:root{
  --bg0:#04070b;
  --bg1:#060b12;
  --bg2:#0a1220;
  --line:rgba(255,255,255,.10);
  --line2:rgba(255,255,255,.16);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.72);
  --soft:rgba(255,255,255,.58);
  --gold1:#c9b07a;
  --gold2:#e5d4a3;

  --radius:14px;
  --radius2:18px;

  --shadow1: 0 10px 30px rgba(0,0,0,.45);
  --shadow2: 0 2px 0 rgba(255,255,255,.04) inset;

  --max:1180px;
}

/* Reset minimalist */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  color:var(--text);
  background: radial-gradient(1200px 700px at 50% -80px, rgba(255,255,255,.08), transparent 55%),
              radial-gradient(900px 600px at 20% 0px, rgba(201,176,122,.08), transparent 60%),
              linear-gradient(180deg, var(--bg2), var(--bg0));
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue";
  letter-spacing:.2px;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 16px}

/* =========================
   Buttons / Inputs (Premium)
========================= */
.nj-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:46px; padding:0 18px;
  border-radius:12px;
  border:1px solid var(--line2);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: var(--shadow2);
  color:var(--text);
  font-weight:600;
  letter-spacing:.5px;
  transition:.18s ease;
  cursor:pointer;
}
.nj-btn:hover{border-color:rgba(201,176,122,.40); transform:translateY(-1px)}
.nj-btn--ghost{
  background: transparent;
}
.nj-btn--gold{
  border-color: rgba(201,176,122,.55);
  background: linear-gradient(180deg, rgba(201,176,122,.22), rgba(255,255,255,.03));
}

.nj-input{
  height:46px;
  width:100%;
  border-radius:12px;
  border:1px solid var(--line2);
  background: rgba(0,0,0,.28);
  color:var(--text);
  padding:0 14px;
  outline:none;
}
.nj-input::placeholder{color:rgba(255,255,255,.55)}
.nj-input:focus{border-color:rgba(201,176,122,.45)}

/* =========================
   HEADER (new)
========================= */
.nj-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(5,8,13,.92), rgba(5,8,13,.70));
  border-bottom:1px solid var(--line);
}
.nj-header__top{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
  padding:10px 0;
}
.nj-social{display:flex; gap:10px; align-items:center}
.nj-social a{
  width:34px;height:34px;border-radius:10px;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  background: rgba(255,255,255,.03);
}
.nj-social a:hover{border-color:rgba(201,176,122,.35)}

.nj-brand{
  display:flex; align-items:center; gap:10px; justify-content:center;
}
.nj-brand__logo{
  height:38px; width:auto;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}
.nj-brand__word{
  font-family: ui-serif, "Times New Roman", Times, serif;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: 4px;
  color:rgba(255,255,255,.92);
}

.nj-actions{display:flex; gap:10px; align-items:center}
.nj-iconbtn{
  width:36px;height:36px;border-radius:12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.nj-badge{
  position:absolute; top:-6px; right:-6px;
  min-width:18px; height:18px; padding:0 5px;
  border-radius:999px;
  background: rgba(201,176,122,.92);
  color:#0b0f16;
  font-size:12px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow1);
}

.nj-header__mid{
  padding:12px 0 14px;
}
.nj-searchbar{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:10px;
  align-items:center;
}
.nj-header__nav{
  border-top:1px solid var(--line);
  padding:10px 0;
}
.nj-nav{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.nj-nav__left{display:flex; gap:10px; align-items:center}
.nj-nav__links{display:flex; gap:16px; flex-wrap:wrap}
.nj-nav__links a{
  color:var(--muted);
  font-weight:600;
  letter-spacing:.4px;
  padding:8px 10px;
  border-radius:10px;
}
.nj-nav__links a:hover{color:var(--text); background:rgba(255,255,255,.03)}
.nj-burger{display:none}

/* Mobile drawer */
.nj-drawer{
  display:none;
  border-top:1px solid var(--line);
  padding:12px 0 18px;
}
.nj-drawer.is-open{display:block}
.nj-drawer__grid{
  display:grid;
  gap:10px;
}
.nj-drawer__grid a{
  padding:12px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background: rgba(255,255,255,.03);
  color:var(--text);
}

/* =========================
   HOME (new hero + sections)
========================= */
.nj-hero{
  padding:34px 0 18px;
  background:
    radial-gradient(700px 420px at 50% 80px, rgba(255,255,255,.09), transparent 65%),
    radial-gradient(900px 500px at 50% 0px, rgba(201,176,122,.09), transparent 62%);
}
.nj-hero__inner{
  border:1px solid var(--line);
  border-radius: var(--radius2);
  padding:28px 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow: var(--shadow1);
  text-align:center;
}
.nj-kicker{
  font-family: ui-serif, "Times New Roman", Times, serif;
  letter-spacing:3px;
  color:rgba(255,255,255,.80);
  font-size:12px;
}
.nj-hero__title{
  margin:10px 0 8px;
  font-family: ui-serif, "Times New Roman", Times, serif;
  font-size: clamp(22px, 4.6vw, 40px);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.nj-hero__sub{
  margin:0 auto 16px;
  max-width: 760px;
  color: var(--muted);
  font-size: 15px;
  line-height:1.55;
}
.nj-hero__cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}

.nj-section{padding:24px 0}
.nj-section__title{
  text-align:center;
  font-family: ui-serif, "Times New Roman", Times, serif;
  letter-spacing:2px;
  color:rgba(255,255,255,.85);
  margin:0 0 14px;
}
.nj-grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.nj-card{
  border:1px solid var(--line);
  border-radius: var(--radius2);
  overflow:hidden;
  background: rgba(255,255,255,.02);
  box-shadow: var(--shadow2);
}
.nj-card__img{aspect-ratio: 3/4; object-fit:cover}
.nj-card__body{
  padding:12px 12px 14px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.nj-card__name{
  font-family: ui-serif, "Times New Roman", Times, serif;
  letter-spacing:1.5px;
  text-transform: uppercase;
  font-size: 13px;
  color: rgba(255,255,255,.86);
}
.nj-card__link{color:rgba(201,176,122,.92); font-weight:700; font-size:13px}

/* =========================
   FOOTER (new)
========================= */
.nj-footer{
  border-top:1px solid var(--line);
  margin-top:28px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.20));
}
.nj-footer__top{
  padding:26px 0 16px;
}
.nj-footergrid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap:16px;
}
.nj-footertitle{
  margin:0 0 10px;
  font-family: ui-serif, "Times New Roman", Times, serif;
  letter-spacing:1.4px;
  color:rgba(255,255,255,.85);
}
.nj-footer a{color:var(--muted)}
.nj-footer a:hover{color:var(--text)}
.nj-footer ul{list-style:none; padding:0; margin:0}
.nj-footer li{padding:6px 0; border-bottom:1px solid rgba(255,255,255,.06)}
.nj-footer li:last-child{border-bottom:none}

.nj-footer__bottom{
  border-top:1px solid rgba(255,255,255,.06);
  padding:12px 0;
  color:rgba(255,255,255,.55);
  font-size:12px;
  display:flex; align-items:center; justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

/* =========================
   Responsive
========================= */
@media (max-width: 980px){
  .nj-grid3{grid-template-columns:1fr; gap:12px}
  .nj-footergrid{grid-template-columns: 1fr 1fr}
}
@media (max-width: 740px){
  .nj-nav__links{display:none}
  .nj-burger{display:inline-flex}
  .nj-header__top{padding:10px 0}
  .nj-header__mid{padding:10px 0 12px}
  .nj-searchbar{grid-template-columns:1fr}
}