:root{
  --bg:#1e2128;
  --fg:#f6f7f9;
  --muted:#b9bec7;
  --accent:#f3b840;
  --card:#242a31;
  --card-warm:#3c362b;
  --stroke:#2a2e33;
  --tone2:#5a4c2e;
  --tone3:#796132;
  --radius:18px;
  --radius-lg:22px;
  --shadow:0 10px 30px rgba(0,0,0,.32);
}
*{box-sizing:border-box}
html,body{height:100%;}
body.layout{
  min-height:100svh; display:flex; flex-direction:column;
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.6 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.wrap{max-width:1100px;margin:0 auto;padding:22px}
img{max-width:100%;display:block}

/* sticky footer */
.site-main{flex:1 0 auto}
.site-footer{margin-top:auto}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:10px;width:auto;height:auto;background:#000;color:#fff;padding:8px 10px;border-radius:10px;z-index:100}

/* Header & Nav */
.site-header{position:sticky;top:0;background:linear-gradient(0deg, rgba(30,33,40,.55), rgba(30,33,40,.92));backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid #20242a;z-index:20}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-text{color:var(--fg);font-weight:800;letter-spacing:.2px}
.logo-badge{display:inline-grid;place-items:center;background:var(--accent);border-radius:16px;padding:8px;border:1px solid rgba(0,0,0,.25);box-shadow:0 4px 16px rgba(243,184,64,.25)}
.brand img{height:36px;width:auto}
.site-nav{display:flex;align-items:center;gap:12px}
.menu-toggle{display:none;background:transparent;border:1px solid var(--stroke);color:var(--fg);padding:6px 10px;border-radius:12px}
.links{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.navlink{position:relative;text-decoration:none;color:var(--fg);padding:4px 0}
.navlink:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--accent);transition:width .22s ease}
.navlink:hover:after,[aria-current="page"]::after{width:100%}

@media (max-width:820px){
  .menu-toggle{display:inline-block}
  .links{display:none;flex-direction:column;gap:12px;padding-top:12px}
  .links.open{display:flex}
}

/* Main / hero */
.site-main h1,.site-main h2{color:var(--accent);margin:18px 0 8px}
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:center;margin:16px 0 38px}
.hero .card{background:var(--card);border:1px solid var(--stroke);padding:26px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.hero .tagline{color:var(--muted);font-size:1.06rem}
.hero .kicker{display:inline-block;background:rgba(243,184,64,.14);border:1px solid rgba(243,184,64,.45);color:#fbe19a;padding:6px 10px;border-radius:999px;font-size:.84rem;margin-bottom:10px}
.btn{display:inline-block;margin-top:14px;padding:12px 16px;border-radius:14px;border:1px solid var(--accent);text-decoration:none;font-weight:700;transition:transform .16s ease, box-shadow .16s ease}
.btn--solid{background:var(--accent);color:#111}
.btn--solid:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(243,184,64,.22)}
.btn--ghost{background:transparent;color:var(--fg);border-color:rgba(243,184,64,.6)}
.btn--ghost:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(243,184,64,.12)}
.media{border-radius:14px;overflow:hidden;border:1px solid var(--stroke);background:#0f1217}
.media img{width:100%;height:auto;display:block}

@media (max-width:980px){.hero{grid-template-columns:1fr}}

/* Grids / cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--stroke);padding:18px;border-radius:var(--radius);box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .18s ease, box-shadow .18s ease, border-color .18s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.32);border-color:#333}
.card h3{margin:8px 0;color:var(--fg)}
.card p{color:var(--muted)}

/* Featured blocks */
.featured{display:grid;grid-template-columns:2fr 1.3fr;gap:20px;align-items:center;background:linear-gradient(180deg, rgba(243,184,64,.08), rgba(243,184,64,.02));border:1px solid rgba(243,184,64,.25);border-radius:22px;padding:22px}
.featured .media{background:#0f1217;border:1px solid var(--stroke);border-radius:14px;min-height:220px}
/* NEW: single-column variant when there's no media block */
.featured--single{grid-template-columns:1fr}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)} .featured{grid-template-columns:1fr}}
@media (max-width:640px){.grid{grid-template-columns:1fr}}

/* Footer */
.site-footer{border-top:1px solid var(--stroke);color:var(--muted)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.foot-right{display:flex;gap:16px}
.foot-right a{color:var(--muted);text-decoration:none}
.foot-right a:hover{color:var(--accent)}
.foot-bottom{text-align:center;color:#94a0ad;padding-top:6px}

/* Reveal motion */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease}
.reveal--visible{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
}

/* Utilities */
.muted{color:var(--muted)}
.center{text-align:center}
.hr{height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);border:0;margin:24px 0}
