/* =========================================================
ANVIL0 — Article page visual layer ("Sand & Ink" redesign, wave 5)
Loaded by article.html, post.html and every static article-*.html
page (they all share one template/class structure), AFTER
css/styles.css and each page's own inline <style> block (article-wrap/
prose/toc/shop-panel rules). Same pattern as home/shop/product/cart/
checkout-v2.css: everything here is scoped under body.article-v2, so
it cannot leak to any other page. Reuses the exact same design
tokens/fonts so all pages read as one system.

Nothing here changes markup, ids, or JS-driven behavior — the TOC,
product picks sidebar, and (on post.html) the JS-rendered post
content all keep working exactly as before; this file only restyles
the existing DOM.
========================================================= */

body.article-v2{
--hv-ink: #0e0d0c;
--hv-panel: #191715;
--hv-panel-2: #14120f;
--hv-line: #232019;
--hv-line-soft: #2b261d;
--hv-line-btn: #3a352c;
--hv-sand: #c9b494;
--hv-sand-hi: #d8c5a8;
--hv-sand-dark: #17130d;
--hv-paper: #ece7dd;
--hv-text-2: #d6cec1;
--hv-text-3: #b8ad9c;
--hv-text-4: #8d8272;

--hv-display: 'Archivo', 'Arial Narrow', sans-serif;
--hv-body: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--hv-mono: 'JetBrains Mono', 'Courier New', monospace;

/* Legacy variable bridge — recolors any leftover inline
style="...var(--accent...)" (e.g. the shared footer's Privacy Policy
link, and any other var(--accent)-styled inline links on this page)
without touching markup. */
--accent: var(--hv-sand);

background: var(--hv-ink);
background-image: none;
}
body.article-v2 #main-content,
body.article-v2 .site-footer{
background: var(--hv-ink);
font-family: var(--hv-body);
color: var(--hv-paper);
}

/* ---------------------------------------------------------------
Announcement bar / header / buttons — identical treatment to the
other redesigned pages, so the chrome reads as one system.
--------------------------------------------------------------- */
body.article-v2 .announce{
background: var(--hv-panel);
border-bottom: 1px solid var(--hv-line);
color: var(--hv-text-3);
font-family: var(--hv-mono);
letter-spacing: 0.14em;
}
body.article-v2 .announce b{ color: var(--hv-sand); font-weight: 500; }

body.article-v2 .site-header{
background: rgba(14,13,12,0.94);
border-bottom: 1px solid var(--hv-line);
}
body.article-v2 .logo-word{
font-family: var(--hv-display);
font-weight: 800;
letter-spacing: 0.14em;
color: var(--hv-paper);
}
body.article-v2 .logo-word b{ color: var(--hv-sand); }
body.article-v2 .logo small{
font-family: var(--hv-mono);
color: var(--hv-text-4);
}
body.article-v2 .main-nav a{
font-family: var(--hv-body);
font-weight: 500;
letter-spacing: 0.04em;
text-transform: none;
color: var(--hv-text-3);
}
body.article-v2 .main-nav a:hover,
body.article-v2 .main-nav a.active{
color: var(--hv-paper);
border-color: var(--hv-sand);
}
body.article-v2 .main-nav a .tag{
font-family: var(--hv-mono);
background: var(--hv-line);
color: var(--hv-text-4);
}
body.article-v2 .nav-icon-btn{
color: var(--hv-text-3);
font-family: var(--hv-mono);
}
body.article-v2 .nav-icon-btn:hover{ color: var(--hv-paper); }
body.article-v2 .cart-count{
background: var(--hv-sand);
color: var(--hv-sand-dark);
}
body.article-v2 .lang-switch-menu{
background: var(--hv-panel);
border: 1px solid var(--hv-line);
}
body.article-v2 .lang-switch-item:hover,
body.article-v2 .lang-switch-item.active{ background: var(--hv-line); color: var(--hv-paper); }

body.article-v2 .btn{
font-family: var(--hv-body);
border-radius: 999px;
letter-spacing: 0.02em;
text-transform: none;
transition: background-color .15s ease-out, border-color .15s ease-out, color .15s ease-out;
}
body.article-v2 .btn-primary{
background: var(--hv-sand);
color: var(--hv-sand-dark);
border: none;
font-weight: 600;
}
body.article-v2 .btn-primary:hover{ background: var(--hv-sand-hi); }

/* ---------------------------------------------------------------
Breadcrumb + page heading
--------------------------------------------------------------- */
body.article-v2 .breadcrumb{
font-family: var(--hv-mono);
color: var(--hv-text-4);
border-bottom: 1px solid var(--hv-line);
}
body.article-v2 .breadcrumb a{ color: var(--hv-text-4); }
body.article-v2 .breadcrumb a:hover{ color: var(--hv-sand); }
body.article-v2 .breadcrumb span{ color: var(--hv-text-3); }

/* ---------------------------------------------------------------
Article body
--------------------------------------------------------------- */
body.article-v2 .article-cat{
font-family: var(--hv-mono);
color: var(--hv-sand);
letter-spacing: 0.1em;
}
body.article-v2 h1{
font-family: var(--hv-display);
font-weight: 700;
letter-spacing: -0.01em;
color: var(--hv-paper);
text-transform: none;
}
body.article-v2 .article-meta{ font-family: var(--hv-mono); color: var(--hv-text-4); }
body.article-v2 .cover{
background: var(--hv-panel);
background-image: none;
border: 1px solid var(--hv-line);
}
body.article-v2 .cover svg{ stroke: var(--hv-line-btn); }

body.article-v2 .prose h2,
body.article-v2 .prose h3{
font-family: var(--hv-display);
color: var(--hv-paper);
font-weight: 700;
text-transform: none;
letter-spacing: 0;
}
body.article-v2 .prose p,
body.article-v2 .prose ul,
body.article-v2 .prose ol{ font-family: var(--hv-body); color: var(--hv-text-3); }
body.article-v2 .prose a{ color: var(--hv-sand); }
body.article-v2 .callout{
background: var(--hv-panel);
border: 1px solid var(--hv-line);
border-left: 3px solid var(--hv-sand);
color: var(--hv-text-3);
font-family: var(--hv-body);
}

/* ---------------------------------------------------------------
Sidebar rail — TOC, product picks, cross-sell ad-block
--------------------------------------------------------------- */
body.article-v2 .toc{
background: var(--hv-panel);
border: 1px solid var(--hv-line);
}
body.article-v2 .toc h4,
body.article-v2 .toc .heading-caption{
font-family: var(--hv-mono);
color: var(--hv-text-3);
letter-spacing: 0.1em;
}
body.article-v2 .toc a{ font-family: var(--hv-body); color: var(--hv-text-3); }
body.article-v2 .toc a:hover{ color: var(--hv-sand); }

body.article-v2 .shop-panel{
background: var(--hv-panel);
border: 1px solid var(--hv-line);
clip-path: none;
}
body.article-v2 .shop-panel .eyebrow{
font-family: var(--hv-mono);
color: var(--hv-text-3);
letter-spacing: 0.14em;
}
body.article-v2 .shop-panel .eyebrow::before{ background: var(--hv-sand); }
body.article-v2 .shop-panel .heading-caption{
font-family: var(--hv-display);
color: var(--hv-paper);
text-transform: none;
font-weight: 600;
}
body.article-v2 .sidebar-products .sp-name{ font-family: var(--hv-body); color: var(--hv-paper); }
body.article-v2 .sidebar-products .sp-desc{ font-family: var(--hv-body); color: var(--hv-text-3); }
body.article-v2 .sidebar-products .sp-price{ font-family: var(--hv-mono); color: var(--hv-sand); }
body.article-v2 .sidebar-products .sp-price .sp-old{ color: var(--hv-text-4); }
body.article-v2 .sidebar-products .sp-item:hover .sp-name{ color: var(--hv-sand); }

/* Cross-sell / "hot" ad-block — same calm informational treatment
used for product.html's urgency banner: sand accent instead of an
alarming red/ember warning look. */
body.article-v2 .ad-block{
background: var(--hv-panel);
border: 1px solid var(--hv-line);
clip-path: none;
}
body.article-v2 .ad-block .eyebrow{
font-family: var(--hv-mono);
color: var(--hv-text-3);
letter-spacing: 0.14em;
}
body.article-v2 .ad-block .eyebrow::before{ background: var(--hv-sand); }
body.article-v2 .ad-block .heading-caption{
font-family: var(--hv-display);
color: var(--hv-paper);
text-transform: none;
font-weight: 600;
}
body.article-v2 .ad-block p{ font-family: var(--hv-body); color: var(--hv-text-3); }
body.article-v2 .ad-block.hot{
border-color: var(--hv-sand);
background: var(--hv-panel-2);
}
body.article-v2 .ad-block.hot .eyebrow{ color: var(--hv-sand); }
body.article-v2 .ad-block.hot .eyebrow::before{ background: var(--hv-sand); }

/* ---------------------------------------------------------------
Footer — identical treatment to the other redesigned pages (minimal
variant: copyright + privacy link only).
--------------------------------------------------------------- */
body.article-v2 .site-footer{ border-top: 1px solid var(--hv-line); background: var(--hv-ink); }
body.article-v2 .site-footer .footer-bottom p{
font-family: var(--hv-mono);
font-size: 10px;
letter-spacing: 0.1em;
color: var(--hv-text-4);
}
body.article-v2 .site-footer .footer-bottom a{ color: var(--hv-text-3); }
body.article-v2 .site-footer .footer-bottom a:hover{ color: var(--hv-sand); }

