:root{
  --bg-0:#0F0E0D; --bg-1:#1A1816; --bg-2:#2A2825;
  --tx-0:#FAF9F6; --tx-1:#E2DFD9; --tx-2:#B8B3A8;
  --terra:#B8432F; --terra-l:#D4654F; --terra-d:#8C3324;
  --gold:#C9A96E; --sand:#E8D5B8; --cream:#F5F0E8;
  --maxw:1200px;
}
*{box-sizing:border-box}
body{background:var(--bg-0);color:var(--tx-1);font-family:'Archivo',system-ui,sans-serif;margin:0}
h1,h2,h3,.jx-display{font-family:'Syne',system-ui,sans-serif;color:var(--tx-0);letter-spacing:-.02em;line-height:1.05}
::selection{background:var(--terra);color:var(--cream)}
*:focus-visible{outline:2px solid var(--terra);outline-offset:2px}
.jx-container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.jx-section{padding:96px 0}.jx-section--dark{background:var(--bg-0)}.jx-section--mid{background:var(--bg-1)}
.jx-eyebrow{color:var(--terra);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600}
.jx-accent{color:var(--terra)}
.jx-btn{display:inline-block;padding:14px 28px;font-weight:600;font-size:.9rem;text-decoration:none;transition:background .2s,color .2s}
.jx-btn--primary{background:var(--terra);color:var(--cream)}.jx-btn--primary:hover{background:var(--terra-l)}
.jx-btn--ghost{border:1px solid var(--tx-2);color:var(--tx-0)}.jx-btn--ghost:hover{border-color:var(--terra)}
.jx-grid{display:grid;gap:28px}.jx-grid--2{grid-template-columns:repeat(2,1fr)}.jx-grid--3{grid-template-columns:repeat(3,1fr)}
.jx-card{background:var(--bg-2);overflow:hidden}.jx-card__media img{width:100%;height:240px;object-fit:cover;display:block}
.jx-card__body{padding:24px}
.jx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.jx-stat__value{font-family:'Syne';font-size:2.6rem;color:var(--tx-0)}.jx-stat__value .jx-accent{color:var(--terra)}
.jx-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.jx-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.45)}
.jx-hero__inner{position:relative;padding:0 24px 96px;max-width:var(--maxw);margin:0 auto;width:100%}
.jx-grid-bg{background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px}
@media(max-width:820px){.jx-grid--2,.jx-grid--3,.jx-stats{grid-template-columns:1fr}.jx-section{padding:64px 0}}
/* Blog / Insights */
.ast-container,.entry-content{color:var(--tx-1)}
.entry-title a,.entry-title{color:var(--tx-0);font-family:'Syne'}
.blog .ast-article-post,.archive .ast-article-post{background:var(--bg-2);padding:24px}
.entry-content a{color:var(--terra)}
.jx-stat{display:block}
/* Full-bleed templates: Astra makes .ast-container display:flex (content+sidebar),
   which turns our stacked full-width <section>s into side-by-side columns.
   Neutralize it on our custom templates only (blog/normal pages keep Astra's layout). */
.jasace-fullbleed .site-content > .ast-container{display:block;max-width:none;width:100%;padding:0;margin:0}
.jasace-fullbleed #content{padding:0;margin:0}
