/* ─── K9 Experience Solution · Blog stylesheet ───────────────────
   Extends the design tokens of the main site (index.html) so the
   blog reads as one system. Do not fork the palette here — update
   tokens in index.html first, then mirror them below. ─────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0807;
  --bg-2:#14110d;
  --bg-3:#1c1813;
  --panel:#f5ede0;
  --panel-warm:#ebe0cc;
  --ink:#f5ede0;
  --ink-soft:#bdb09a;
  --ink-faint:#8b7e6a;
  --gold:#c9a961;
  --gold-bright:#e6c875;
  --gold-deep:#8a7339;
  --line:#2a241c;
  --line-warm:#d8c9af;
  --ok:#8aa872;
  --warn:#d97a4a;
  --shadow-lg:0 30px 80px -20px rgba(0,0,0,.5);
  --r-sm:6px; --r-md:14px; --r-lg:22px;
  --maxw:1280px;
  --maxw-article:760px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:400;line-height:1.6;font-size:16px;
  overflow-x:hidden;position:relative;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--bg)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative}
@media (min-width:760px){.wrap{padding:0 40px}}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold-deep),transparent);border:0;margin:0}

.display{
  font-family:'Fraunces',Georgia,serif;font-weight:400;
  font-variation-settings:"opsz" 144,"SOFT" 30,"WONK" 0;
  letter-spacing:-.02em;line-height:.98;
}
.display em{color:var(--gold-bright);font-style:normal;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}
.eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
}

/* ─── HEADER (mirrors index.html .nav) ─── */
.nav{
  position:sticky;top:0;z-index:40;
  background:rgba(10,8,7,.85);backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:24px;padding:18px 0}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand-mark{
  width:56px;height:56px;border-radius:10px;background:#fff;
  display:grid;place-items:center;overflow:hidden;
  box-shadow:0 4px 16px -4px rgba(201,169,97,.4),0 0 0 1px rgba(201,169,97,.15);
  flex-shrink:0;
}
.brand-mark img{width:100%;height:100%;object-fit:contain;padding:3px}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text .a{font-family:'Fraunces';font-weight:600;font-size:18px;letter-spacing:-.01em}
.brand-text .b{font-size:10px;letter-spacing:.22em;color:var(--ink-faint);text-transform:uppercase;margin-top:4px}
.nav-links{display:none;margin-left:auto;align-items:center;gap:28px}
@media (min-width:980px){.nav-links{display:flex}}
.nav-links a{font-size:14px;color:var(--ink-soft);transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--gold-bright)}
.nav-mobile-toggle{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2);margin-left:auto}
.nav-mobile-toggle svg{width:18px;height:18px}
@media (min-width:980px){.nav-mobile-toggle{display:none}}
.nav-mobile{display:none;background:var(--bg-2);border-bottom:1px solid var(--line);padding:8px 0 16px}
.nav-mobile.open{display:block}
.nav-mobile a{display:block;padding:14px 24px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:15px}
.nav-mobile a:hover{color:var(--gold)}

/* ─── FOOTER (mirrors index.html .foot) ─── */
.foot{padding:60px 0 40px;background:#000;border-top:1px solid var(--line)}
.foot-grid{display:grid;gap:40px;margin-bottom:40px}
@media (min-width:680px){.foot-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.foot-grid h4{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:700}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot-grid ul a{font-size:14px;color:var(--ink-soft)}
.foot-grid ul a:hover{color:var(--gold-bright)}
.foot-brand p{font-size:13px;color:var(--ink-faint);margin-top:14px;line-height:1.6;max-width:280px}
.foot-bottom{padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink-faint)}
.foot-legal{border-top:1px solid rgba(255,255,255,.06);padding:16px 0;margin-top:12px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:12px}
.foot-legal a{color:rgba(244,240,234,.45);transition:color .15s;cursor:pointer}
.foot-legal a:hover{color:var(--gold)}

/* ─── BLOG HERO ─── */
.blog-hero{padding:72px 0 48px;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:12.5px;color:var(--ink-faint);margin-bottom:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--ink-soft)}
.breadcrumb a:hover{color:var(--gold-bright)}

/* ─── THEME BADGES ─── */
.theme-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(201,169,97,.1);border:1px solid rgba(201,169,97,.3);
  color:var(--gold-bright);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;
}

/* ─── ARTICLE GRID (index page) ─── */
.article-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:56px 0 90px}
.article-card{
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);
  padding:26px;display:flex;flex-direction:column;gap:14px;transition:all .3s;
}
.article-card:hover{border-color:var(--gold-deep);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.article-card .meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.article-card .date{font-size:12px;color:var(--ink-faint)}
.article-card h3{font-family:'Fraunces';font-size:21px;font-weight:500;line-height:1.25}
.article-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;flex:1}
.article-card .read-more{font-size:13px;color:var(--gold);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.article-card:hover .read-more{color:var(--gold-bright)}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;padding-top:32px}
.filter-btn{
  padding:9px 16px;border-radius:999px;border:1px solid var(--line);
  background:var(--bg-2);color:var(--ink-soft);font-size:13px;font-weight:600;
  cursor:pointer;transition:all .2s;
}
.filter-btn:hover{border-color:var(--gold-deep);color:var(--ink)}
.filter-btn.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}

/* ─── ARTICLE BODY ─── */
.article-wrap{max-width:var(--maxw-article);margin:0 auto;padding:0 24px}
@media (min-width:760px){.article-wrap{padding:0 40px}}
.article-title{font-size:clamp(32px,5vw,52px);margin:18px 0 14px}
.article-subtitle{color:var(--gold);font-size:14px;font-weight:600;letter-spacing:.04em}
.article-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 44px;padding-bottom:28px;border-bottom:1px solid var(--line);color:var(--ink-faint);font-size:13px}
.article-body{font-size:17px;line-height:1.85;color:var(--ink-soft);padding-bottom:60px}
.article-body h2{font-family:'Fraunces';font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--ink);margin:44px 0 16px;letter-spacing:-.01em}
.article-body h3{font-family:'Fraunces';font-size:20px;font-weight:500;color:var(--ink);margin:32px 0 12px}
.article-body p{margin:0 0 20px}
.article-body ul,.article-body ol{margin:0 0 20px;padding-left:24px;display:flex;flex-direction:column;gap:8px}
.article-body li{padding-left:4px}
.article-body strong{color:var(--ink);font-weight:600}
.article-body em{color:var(--gold-bright);font-style:normal}
.article-body a{color:var(--gold);border-bottom:1px solid var(--gold-deep)}
.article-body a:hover{color:var(--gold-bright)}

.next-teaser{
  margin:0 0 56px;padding:22px 26px;border-radius:var(--r-md);
  background:linear-gradient(135deg,rgba(201,169,97,.1),rgba(201,169,97,.03));
  border:1px solid rgba(201,169,97,.3);
}
.next-teaser .lbl{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:8px;display:block}
.next-teaser p{color:var(--ink-soft);font-size:14.5px;margin:0}

.related-section{padding:24px 0 90px;border-top:1px solid var(--line)}
.related-section h4{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.related-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.04em;transition:all .25s}
.btn-primary{background:var(--gold);color:var(--bg);box-shadow:0 12px 30px -10px rgba(201,169,97,.5)}
.btn-primary:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(201,169,97,.6)}
.btn-ghost{border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ─── REVEAL ANIMATION ─── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.5,0,.25,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}

.hide-mobile{display:none}
@media (min-width:760px){.hide-mobile{display:initial}}
