:root{
  --bg:#0b0d12; --bg2:#0f131b; --panel:#141a24; --panel2:#1a2130;
  --line:rgba(230,200,140,.14); --line2:rgba(255,255,255,.08);
  --txt:#d6dced; --muted:#8b95a9; --gold:#e5b567; --gold2:#d29a3f; --goldsoft:#f0d29a;
  --green:#37b24d; --red:#e5484d; --shadow:0 10px 40px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(1200px 600px at 50% -200px, rgba(229,181,103,.10), transparent 60%),
    linear-gradient(180deg,#0b0d12 0%, #0b0d12 40%, #0c0f16 100%);
  color:var(--txt); font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:15px; line-height:1.6; min-height:100vh;
}
a{color:var(--goldsoft); text-decoration:none} a:hover{color:var(--gold)}
h1,h2,h3,h4{font-family:'Cinzel',Georgia,serif; color:#fff; line-height:1.2; margin:0 0 .5em}
.wrap{max-width:1160px; margin:0 auto; padding:0 22px}
.muted{color:var(--muted)}
.brand-mark{color:var(--gold)}

/* ---------- header ---------- */
.site-header{position:sticky; top:0; z-index:50; background:rgba(10,12,17,.82);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex; align-items:center; gap:20px; height:64px}
.brand{font-family:'Cinzel',serif; font-weight:900; font-size:24px; color:#fff; letter-spacing:.5px; position:relative}
.brand-admin{font-family:'Inter'; font-style:normal; font-size:10px; text-transform:uppercase; letter-spacing:.12em;
  background:var(--gold); color:#1a1206; padding:2px 6px; border-radius:5px; margin-left:8px; vertical-align:middle}
.site-nav{display:flex; gap:4px; margin-left:8px; flex:1}
.nav-group{position:relative}
.nav-cat{display:block; padding:10px 14px; color:var(--txt); font-weight:600; font-size:14px; cursor:default; border-radius:8px}
.nav-group:hover .nav-cat{background:var(--panel2); color:#fff}
.nav-admin .nav-cat{color:var(--goldsoft)}
.nav-drop{position:absolute; top:100%; left:0; min-width:200px; background:var(--panel);
  border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); padding:6px;
  opacity:0; visibility:hidden; transform:translateY(6px); transition:.15s; z-index:60}
.nav-group:hover .nav-drop{opacity:1; visibility:visible; transform:translateY(0)}
.nav-drop a{display:block; padding:9px 12px; border-radius:7px; color:var(--txt); font-size:14px}
.nav-drop a:hover{background:var(--panel2); color:var(--gold)}
.header-cta{display:flex; gap:10px; align-items:center}
.nav-toggle{display:none; background:none; border:0; color:#fff; font-size:22px; cursor:pointer}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:9px;
  font-weight:600; font-size:14px; cursor:pointer; border:1px solid transparent; transition:.15s; white-space:nowrap}
.btn-gold{background:linear-gradient(180deg,var(--gold),var(--gold2)); color:#231704; box-shadow:0 6px 20px rgba(229,181,103,.25)}
.btn-gold:hover{filter:brightness(1.08); color:#231704}
.btn-ghost{background:transparent; color:var(--txt); border-color:var(--line2)}
.btn-ghost:hover{background:var(--panel2); color:#fff}
.btn-outline{background:transparent; color:var(--goldsoft); border-color:var(--gold)}
.btn-outline:hover{background:rgba(229,181,103,.1); color:var(--gold)}
.btn-lg{padding:14px 26px; font-size:16px; border-radius:11px}
.btn.is-disabled{opacity:.5; cursor:not-allowed}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; padding:96px 0 72px; text-align:center;
  border-bottom:1px solid var(--line)}
.hero-glow{position:absolute; inset:0; background:
   radial-gradient(600px 300px at 50% 0, rgba(229,181,103,.18), transparent 70%),
   conic-gradient(from 180deg at 50% -20%, rgba(120,80,220,.08), transparent 30%);
   pointer-events:none}
.hero-inner{position:relative}
.hero-kicker{text-transform:uppercase; letter-spacing:.32em; font-size:12px; color:var(--gold); margin:0 0 10px}
.hero-title{font-size:88px; margin:0; text-shadow:0 4px 30px rgba(229,181,103,.25)}
.hero-tag{max-width:640px; margin:14px auto 26px; color:var(--muted); font-size:18px}
.rate-chips{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:30px}
.chip{background:var(--panel); border:1px solid var(--line); border-radius:999px; padding:7px 16px; font-size:14px; color:var(--txt)}
.chip b{color:var(--gold)}
.chip-alt{color:var(--goldsoft); border-color:var(--gold)}
.hero-cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

/* ---------- features ---------- */
.features{padding:64px 22px}
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.feat{background:linear-gradient(180deg,var(--panel),var(--bg2)); border:1px solid var(--line2);
  border-radius:14px; padding:24px; transition:.2s}
.feat:hover{border-color:var(--line); transform:translateY(-3px); box-shadow:var(--shadow)}
.feat h3{font-size:19px; color:var(--goldsoft)}
.feat p{color:var(--muted); margin:0; font-size:14px}

/* ---------- news ---------- */
.section-title{font-size:28px; text-align:center; margin-bottom:26px}
.news{padding:20px 22px 70px}
.news-list{display:grid; gap:16px; max-width:820px; margin:0 auto}
.news-item{background:var(--panel); border:1px solid var(--line2); border-radius:12px; padding:20px 24px}
.news-item h4{font-size:18px; margin:0 0 4px}
.news-meta{color:var(--muted); font-size:13px; margin-bottom:10px}
.news-body{color:var(--txt)} .news-link{font-weight:600}

/* ---------- content pages (inherited views) ---------- */
.page-wrap{padding:38px 22px 70px}
.panel{background:var(--panel); border:1px solid var(--line2); border-radius:14px;
  padding:30px 34px; box-shadow:var(--shadow); max-width:1000px; margin:0 auto}
.panel h1,.panel h2{font-size:26px; border-bottom:1px solid var(--line2); padding-bottom:12px; margin-bottom:20px}
.panel h3{font-size:20px; color:var(--goldsoft)}
.flash{background:rgba(229,181,103,.12); border:1px solid var(--gold); color:var(--goldsoft);
  padding:12px 16px; border-radius:9px; margin:0 auto 22px; max-width:1000px; font-weight:500}
.panel .red, .red{color:var(--red); font-weight:600}
.panel .message,.message,.notice{background:rgba(55,178,77,.1); border:1px solid rgba(55,178,77,.4);
  color:#8fe0a0; padding:10px 14px; border-radius:8px}

/* tables */
.panel table, table.generic-form-table{width:100%; border-collapse:collapse; margin:14px 0}
.panel th, .panel td, .generic-form-table th, .generic-form-table td{
  padding:10px 12px; border-bottom:1px solid var(--line2); text-align:left; vertical-align:top}
.panel th, .generic-form-table th{color:var(--goldsoft); font-weight:600; font-family:'Inter'}
.panel tr:hover td{background:rgba(255,255,255,.02)}

/* forms */
input[type=text],input[type=password],input[type=email],input[type=number],input[type=file],select,textarea{
  background:var(--bg2); border:1px solid var(--line2); color:var(--txt); border-radius:8px;
  padding:9px 11px; font-size:14px; font-family:inherit; width:auto; max-width:100%}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--gold); background:#10141d}
button, input[type=submit],input[type=button], .button{
  background:linear-gradient(180deg,var(--gold),var(--gold2)); color:#231704; border:0;
  padding:10px 18px; border-radius:9px; font-weight:600; cursor:pointer; font-size:14px}
button:hover, input[type=submit]:hover{filter:brightness(1.08)}
.generic-form-table th{width:210px}

/* sub/page menus from inherited includes */
#submenu, .submenu, #pagemenu, .pagemenu, .sub-menu, .page-menu{list-style:none; display:flex; flex-wrap:wrap;
  gap:8px; padding:0; margin:0 0 20px}
#submenu a, .submenu a, #pagemenu a, .pagemenu a{display:inline-block; padding:7px 13px; background:var(--panel2);
  border:1px solid var(--line2); border-radius:8px; font-size:13px; color:var(--txt)}
#submenu a:hover, .submenu a:hover{border-color:var(--gold); color:var(--gold)}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line); background:var(--bg2); padding:40px 0 26px; margin-top:40px}
.foot-cols{display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-bottom:24px}
.foot-brand{font-family:'Cinzel',serif; font-size:22px; color:#fff}
.foot-brand p{font-family:'Inter'; font-size:13px; margin:6px 0 0}
.foot-links{display:flex; flex-direction:column; gap:8px}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  border-top:1px solid var(--line2); padding-top:18px; color:var(--muted); font-size:13px}
.foot-bottom select{padding:5px 8px; font-size:12px}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .hero-title{font-size:60px}
  .feat-grid{grid-template-columns:1fr}
  .nav-toggle{display:block; order:3}
  .header-cta{margin-left:auto}
  .site-nav{position:absolute; top:64px; left:0; right:0; flex-direction:column; background:var(--panel);
    border-bottom:1px solid var(--line); padding:8px; display:none}
  .site-nav.open{display:flex}
  .nav-drop{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    border:0; padding:0 0 6px 12px; background:transparent}
  .nav-group:hover .nav-cat{background:transparent}
}
