/*
Theme Name: humaineeti Mag
Theme URI: https://humaineeti.ai/
Author: humaineeti
Author URI: https://humaineeti.ai/
Description: An editorial / magazine blog theme for humaineeti, modelled on the Schematic layout system (category section blocks, magazine homepage, centred single-post layout with side share rail, author bio, related posts) and rebuilt entirely in the humaineeti brand — Outfit ExtraLight 300 / Bold 700, all-lowercase wordmark, burnt-orange accent (#E05A00) restricted to the "ai", Ink Black and off-white fields, with a built-in dark mode.
Version: 2.3.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: humaineeti-mag
Tags: blog, news, magazine, editorial, two-columns, right-sidebar, custom-colors, custom-logo, featured-images, dark-mode, threaded-comments, translation-ready
*/

/* ============================================================
   humaineeti Mag — brand tokens
   Orange appears on two letters. That is the entire colour system.
   ============================================================ */

:root {
  --hum-ink:        #0C0C0C;
  --hum-ink-2:      #0F0F0F;
  --hum-orange:     #E05A00;
  --hum-orange-700: #C24E00;
  --hum-near-white: #E4E4E1;
  --hum-offwhite:   #FAF9F7;
  --hum-white:      #FFFFFF;

  /* Light theme surface tokens */
  --bg:        #FAF9F7;
  --surface:   #FFFFFF;
  --text:      #15140F;
  --muted:     #6B6B66;
  --faint:     #93938C;
  --rule:      #E2E1DD;   /* "Mist" hairline */
  --rule-2:    #ECEBE7;
  --accent:    #E05A00;
  --accent-ink:#15140F;
  --code-bg:   #0C0C0C;
  --code-fg:   #E4E4E1;

  --font: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --w-light:300; --w-reg:400; --w-med:500; --w-semi:600; --w-bold:700;

  --content: 740px;
  --wide: 1240px;
  --radius: 12px;
  --radius-sm: 7px;
}

/* Dark mode — the brand's dark field (#0C0C0C / near-white) */
:root[data-theme="dark"] {
  --bg:        #0C0C0C;
  --surface:   #161614;
  --text:      #E4E4E1;
  --muted:     #9A9A94;
  --faint:     #6F6F69;
  --rule:      #262521;
  --rule-2:    #1E1E1B;
  --accent:    #FF6A14;
  --accent-ink:#E4E4E1;
  --code-bg:   #000000;
  --code-fg:   #E4E4E1;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-weight: var(--w-light);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: background .25s ease, color .25s ease;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--text); text-decoration: none; transition: color .16s ease; }
a:hover { color: var(--accent); }

.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.alignleft{float:left;margin:.4rem 1.5rem 1rem 0}
.alignright{float:right;margin:.4rem 0 1rem 1.5rem}
.aligncenter{display:block;margin:1rem auto}
figcaption,.wp-caption-text{font-size:.85rem;color:var(--muted);margin-top:.5rem;font-style:italic;text-align:center}

/* ============================================================
   Layout
   ============================================================ */
.hum-container { width:100%; max-width: var(--wide); margin:0 auto; padding:0 clamp(1.1rem,4vw,2.25rem); }

.site-layout { display:grid; grid-template-columns: minmax(0,1fr) 320px; gap: clamp(2rem,4vw,3.5rem); padding: clamp(2rem,5vw,3.25rem) 0; }
@media (max-width: 1000px){ .site-layout{ grid-template-columns:1fr; } .sidebar{ order:2; } }

/* Eyebrow — the "/ index" motif from humaineeti.ai */
.eyebrow { font-size:.8rem; font-weight:var(--w-reg); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); display:inline-flex; align-items:center; gap:.45rem; }
.eyebrow::before { content:"/"; color:var(--accent); font-weight:var(--w-bold); }

/* Category pill / kicker */
.kicker { display:inline-block; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; font-weight:var(--w-semi); color:var(--accent); }
a.kicker:hover { color:var(--accent-700, var(--orange-700)); }

/* ============================================================
   Wordmark — hum[ai]neeti (brand-locked)
   ============================================================ */
.hum-wordmark { font-family:var(--font); font-weight:var(--w-light); text-transform:lowercase; letter-spacing:-.01em; line-height:1; color:var(--text); white-space:nowrap; }
.hum-wordmark .ai { font-weight:var(--w-bold); color:var(--accent); }

/* ============================================================
   Top bar + masthead
   ============================================================ */
.topbar { border-bottom:1px solid var(--rule); background:var(--bg); }
.topbar__inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:46px; font-size:.85rem; color:var(--muted); }
.topbar__inner a { color:var(--muted); }
.topbar__inner a:hover { color:var(--accent); }
.topbar__tools { display:flex; align-items:center; gap:1.1rem; }
.theme-toggle { background:none; border:1px solid var(--rule); border-radius:100px; padding:.3rem .7rem; cursor:pointer; color:var(--muted); font-family:var(--font); font-size:.8rem; display:inline-flex; align-items:center; gap:.4rem; }
.theme-toggle:hover { color:var(--accent); border-color:var(--accent); }

.masthead { border-bottom:1px solid var(--rule); background:var(--bg); position:sticky; top:0; z-index:50; }
.masthead__inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.25rem 0; }
.masthead.is-stuck { box-shadow:0 1px 0 var(--rule); }
.site-branding { display:flex; flex-direction:column; gap:.15rem; }
.site-branding .hum-wordmark { font-size:1.9rem; }
.custom-logo { max-height:42px; width:auto; }
.site-tagline { font-size:.8rem; color:var(--faint); font-weight:var(--w-light); }

.primary-nav ul { list-style:none; display:flex; gap:clamp(1rem,2vw,1.9rem); margin:0; padding:0; align-items:center; }
.primary-nav a { font-size:.95rem; font-weight:var(--w-reg); letter-spacing:.01em; position:relative; padding:.3rem 0; }
.primary-nav .current-menu-item > a::after,
.primary-nav a:hover::after { content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:var(--accent); border-radius:2px; }

.nav-toggle { display:none; background:none; border:1px solid var(--rule); border-radius:var(--radius-sm); padding:.5rem .7rem; cursor:pointer; color:var(--text); }
@media (max-width: 900px){
  .nav-toggle{ display:inline-flex; }
  .primary-nav{ position:absolute; top:100%; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--rule); max-height:0; overflow:hidden; transition:max-height .28s ease; }
  .primary-nav.is-open{ max-height:75vh; }
  .primary-nav ul{ flex-direction:column; align-items:flex-start; gap:0; padding:.4rem 0; }
  .primary-nav li{ width:100%; }
  .primary-nav a{ display:block; padding:.8rem clamp(1.1rem,4vw,2.25rem); width:100%; }
}

/* ============================================================
   Homepage hero — lead + secondary (Schematic "Latest" block)
   ============================================================ */
.lead-block { display:grid; grid-template-columns: 1.5fr 1fr; gap: clamp(1.5rem,3vw,2.5rem); padding: clamp(1.5rem,4vw,2.75rem) 0 clamp(2rem,5vw,3rem); border-bottom:1px solid var(--rule); align-items:start; }
@media (max-width: 820px){ .lead-block{ grid-template-columns:1fr; } }
.lead-card { display:flex; flex-direction:column; }
.lead-card .byline { margin-top:.4rem; }

.lead-card .lead-card__media { aspect-ratio:16/10; border-radius:var(--radius); overflow:hidden; background:var(--rule-2); margin-bottom:1.1rem; }
.lead-card .lead-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.lead-card:hover .lead-card__media img { transform:scale(1.03); }
.lead-card h2 { font-size:clamp(1.7rem,3.6vw,2.6rem); font-weight:var(--w-med); line-height:1.12; letter-spacing:-.02em; margin:.7rem 0 .6rem; }
.lead-card h2 a { color:var(--text); }
.lead-card h2 a:hover { color:var(--accent); }
.lead-card .dek { color:var(--muted); font-size:1.05rem; margin:0 0 1rem; }

.lead-list { display:flex; flex-direction:column; }
.lead-list .eyebrow { margin-bottom:1rem; }
.mini-post { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--rule); }
.mini-post:last-child { border-bottom:0; }
.mini-post__media { flex:0 0 96px; height:66px; border-radius:var(--radius-sm); overflow:hidden; background:var(--rule-2); }
.mini-post__media img { width:100%; height:100%; object-fit:cover; }
.mini-post__body h3 { font-size:1rem; font-weight:var(--w-med); line-height:1.3; margin:0 0 .35rem; letter-spacing:-.01em; }
.mini-post__meta { font-size:.78rem; color:var(--faint); display:flex; gap:.5rem; align-items:center; }
.mini-post__meta .dot { width:3px;height:3px;border-radius:50%;background:var(--rule); }

/* ============================================================
   Category section block (Schematic "Latest in X")
   ============================================================ */
.cat-block { padding: clamp(1.75rem,4vw,2.75rem) 0; border-bottom:1px solid var(--rule); }
.cat-block__head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:1.5rem; gap:1rem; }
.cat-block__head h2 { font-size:1.5rem; font-weight:var(--w-med); letter-spacing:-.01em; margin:0; }
.cat-block__head h2 .label { color:var(--accent); }
.cat-block__head .more { font-size:.85rem; color:var(--muted); }
.cat-grid { display:grid; grid-template-columns: 1.4fr 1fr; gap: clamp(1.25rem,3vw,2.25rem); align-items:start; }
@media (max-width: 760px){ .cat-grid{ grid-template-columns:1fr; } }
.cat-grid__list { display:flex; flex-direction:column; }
/* Category-block lead card is smaller than the homepage hero lead card */
.cat-block .lead-card h2 { font-size:clamp(1.35rem,2.6vw,1.8rem); margin:.55rem 0 .5rem; }
.cat-block .lead-card .dek { font-size:1rem; margin:0; }
.cat-block .lead-card__media { margin-bottom:.9rem; }

/* ============================================================
   Standard post card (archives)
   ============================================================ */
.post-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: clamp(1.5rem,3vw,2.25rem); padding: clamp(1.5rem,4vw,2.5rem) 0; }
.post-card { display:flex; flex-direction:column; }
.post-card__media { aspect-ratio:16/10; border-radius:var(--radius); overflow:hidden; background:var(--rule-2); margin-bottom:.95rem; }
.post-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.post-card:hover .post-card__media img { transform:scale(1.04); }
.post-card .kicker { margin-bottom:.5rem; }
.post-card h3 { font-size:1.25rem; font-weight:var(--w-med); line-height:1.25; letter-spacing:-.01em; margin:0 0 .55rem; }
.post-card h3 a { color:var(--text); } .post-card h3 a:hover { color:var(--accent); }
.post-card .dek { color:var(--muted); font-size:.96rem; margin:0 0 .85rem; }
.post-card__meta { margin-top:auto; font-size:.8rem; color:var(--faint); display:flex; gap:.5rem; align-items:center; }
.post-card__meta .dot { width:3px;height:3px;border-radius:50%;background:var(--rule); }
.post-card__author { display:flex; align-items:center; gap:.5rem; margin-top:.7rem; }
.post-card__author img { width:26px;height:26px;border-radius:50%; }
.post-card__author .name { font-size:.85rem; color:var(--text); font-weight:var(--w-med); }
.post-card__author .role { font-size:.74rem; color:var(--faint); }

/* ============================================================
   Sidebar widgets
   ============================================================ */
.sidebar { display:flex; flex-direction:column; gap:2.25rem; }
.widget { }
.widget__title { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; font-weight:var(--w-semi); color:var(--text); margin:0 0 1.1rem; padding-bottom:.7rem; border-bottom:2px solid var(--ink, var(--text)); display:inline-block; }
.widget .num-list { list-style:none; margin:0; padding:0; counter-reset:rank; }
.widget .num-list li { display:flex; gap:.9rem; padding:.85rem 0; border-bottom:1px solid var(--rule); counter-increment:rank; }
.widget .num-list li::before { content:counter(rank,decimal-leading-zero); font-weight:var(--w-bold); color:var(--accent); font-size:.95rem; line-height:1.5; }
.widget .num-list h4 { font-size:.98rem; font-weight:var(--w-med); line-height:1.3; margin:0; }
.widget .num-list .meta { font-size:.76rem; color:var(--faint); margin-top:.25rem; }

.tagcloud { display:flex; flex-wrap:wrap; gap:.5rem; }
.tagcloud a, .tag-list a { font-size:.82rem !important; color:var(--muted); border:1px solid var(--rule); border-radius:100px; padding:.35rem .8rem; }
.tagcloud a:hover, .tag-list a:hover { border-color:var(--accent); color:var(--accent); }

.newsletter { background:var(--ink, var(--hum-ink)); color:var(--near-white, var(--hum-near-white)); border-radius:var(--radius); padding:1.6rem; }
.newsletter h3 { font-weight:var(--w-med); font-size:1.2rem; margin:0 0 .5rem; color:var(--hum-near-white); }
.newsletter h3 .ai{ color:var(--accent); font-weight:var(--w-bold); }
.newsletter p { color:#9A9A94; font-size:.9rem; margin:0 0 1rem; }
.newsletter input[type=email] { width:100%; padding:.7rem .85rem; border:1px solid #2a2a26; border-radius:var(--radius-sm); background:#000; color:var(--hum-near-white); font-family:var(--font); margin-bottom:.7rem; }
.newsletter button { width:100%; padding:.7rem; border:0; border-radius:var(--radius-sm); background:var(--accent); color:#fff; font-family:var(--font); font-weight:var(--w-med); cursor:pointer; }
.newsletter button:hover { background:var(--hum-orange-700); }

.topics-list { display:flex; flex-direction:column; gap:.85rem; }
.topic-row { display:flex; align-items:center; gap:.85rem; }
.topic-row__thumb { width:48px;height:60px;border-radius:var(--radius-sm);overflow:hidden;background:var(--rule-2);flex:0 0 48px; }
.topic-row__thumb img{width:100%;height:100%;object-fit:cover}
.topic-row .name { font-weight:var(--w-med); font-size:.98rem; }
.topic-row .count { font-size:.78rem; color:var(--faint); }

/* ============================================================
   Single post — Schematic-matched layout (light field default)
   Fixed left meta/share rail · left-aligned big headline · wide body
   with drop cap · mid-article right sidebar · horizontal share bar.
   ============================================================ */
.single { position:relative; padding: clamp(1.5rem,3vw,2.25rem) 0 clamp(2.5rem,6vw,4rem); }

/* Canvas leaves room on the left for the fixed rail */
.single-canvas { max-width: var(--wide); margin:0 auto; padding-left: clamp(0px, 7vw, 120px); padding-right: clamp(1.1rem,4vw,2.25rem); }
@media (max-width: 980px){ .single-canvas{ padding-left: clamp(1.1rem,4vw,2.25rem); } }

/* Left rail: Views / Shares counts + vertical share icons */
.post-rail { position:absolute; left: clamp(1rem, 3.2vw, 3rem); top: clamp(1.5rem,3vw,2.25rem); width:64px; display:flex; flex-direction:column; gap:1.4rem; }
.post-rail__stat { display:flex; flex-direction:column; line-height:1.1; }
.post-rail__stat .ico { font-size:1.05rem; color:var(--text); margin-bottom:.35rem; }
.post-rail__stat .num { font-size:1.35rem; font-weight:var(--w-med); letter-spacing:-.01em; }
.post-rail__stat .lbl { font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); }
.post-rail__share { display:flex; flex-direction:column; gap:1.1rem; margin-top:.6rem; }
.post-rail__share a { display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; color:var(--text); }
.post-rail__share a:hover { color:var(--accent); }
.post-rail__share .ico { width:26px; height:26px; border-radius:50%; background:var(--text); color:var(--bg); display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:var(--w-bold); transition:background .16s ease; }
.post-rail__share a:hover .ico { background:var(--accent); color:#fff; }
.post-rail__share .ico.x, .post-rail__share .ico.mail { background:transparent; color:var(--text); border:0; font-size:1.15rem; }
.post-rail__share a:hover .ico.x, .post-rail__share a:hover .ico.mail { color:var(--accent); }
.post-rail__share .n { font-size:.72rem; color:var(--muted); }
@media (max-width: 980px){ .post-rail{ position:static; flex-direction:row; flex-wrap:wrap; align-items:center; gap:1.5rem; width:auto; margin-bottom:1.5rem; } .post-rail__share{ flex-direction:row; margin-top:0; gap:1rem; } .post-rail__share a{ flex-direction:row; align-items:center; gap:.4rem; } }

/* Hero — left aligned, held to the content column (rail sits outside, to the left).
   The kicker spans the full canvas (so "Share this" can sit far right); the title,
   byline and dek sit in the ~720px reading column. */
.post-head { max-width:100%; }
.post-head__kicker { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:1.6rem; }
.post-head__kicker .kicker { color:var(--accent); font-weight:var(--w-semi); }
.post-head__kicker .sep { color:var(--faint); }
.post-head__kicker .rt { color:var(--muted); }
.post-head__kicker .share-this { margin-left:auto; color:var(--muted); letter-spacing:.06em; }
.post-head__kicker .share-this:hover { color:var(--accent); }
/* Schematic's headline is a LIGHT grotesque, not bold — large, tight leading */
.post-title { font-size:clamp(2.3rem,5vw,3.6rem); font-weight:var(--w-light); line-height:1.08; letter-spacing:-.02em; margin:0 0 1.5rem; max-width:14ch; }
.post-byline { display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem; }
.post-byline img { width:44px; height:44px; border-radius:50%; }
.post-byline .name { display:block; font-weight:var(--w-semi); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; line-height:1.3; }
.post-byline .name a { color:var(--text); }
.post-byline .role { font-size:.92rem; color:var(--muted); }
.post-dek { font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.45; color:var(--text); font-weight:var(--w-light); max-width:34ch; margin:0; }

/* Feature image — starts at the content-column left edge, runs to canvas right */
.post-feature { margin: clamp(1.75rem,4vw,3rem) 0 0; }
.post-feature img { width:100%; }
.post-feature figcaption { text-align:right; font-style:normal; color:var(--faint); font-size:.85rem; margin-top:.6rem; }

/* Body + mid-article sidebar */
.post-main { display:grid; grid-template-columns: minmax(0,1fr) 340px; gap: clamp(2rem,5vw,5rem); margin-top: clamp(2rem,4vw,3rem); align-items:start; }
@media (max-width: 980px){ .post-main{ grid-template-columns:1fr; } }

.post-body { font-size:1.2rem; line-height:1.75; color:var(--text); max-width:680px; }
.post-body p { margin:0 0 1.6rem; }
.post-body > p:first-of-type::first-letter { float:left; font-size:4.6rem; line-height:.74; font-weight:var(--w-light); color:var(--text); padding:.5rem .5rem 0 0; }
.post-body h2 { font-size:clamp(1.6rem,3vw,2.05rem); font-weight:var(--w-light); letter-spacing:-.015em; line-height:1.2; margin:2.75rem 0 1rem; }
.post-body h3 { font-size:clamp(1.3rem,2.4vw,1.5rem); font-weight:var(--w-reg); margin:2.25rem 0 .8rem; }
.post-body h4 { font-weight:var(--w-med); font-size:1.1rem; margin:1.8rem 0 .55rem; }
.post-body a { color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.post-body a:hover { color:var(--hum-orange-700); }
.post-body ul,.post-body ol { margin:0 0 1.6rem; padding-left:1.4rem; }
.post-body li { margin-bottom:.6rem; }
.post-body ul li::marker { color:var(--text); }
.post-body blockquote { margin:2.5rem 0; padding:.2rem 0 .2rem 1.6rem; border-left:2px solid var(--text); font-size:clamp(1.5rem,2.8vw,2rem); line-height:1.22; font-weight:var(--w-light); letter-spacing:-.015em; color:var(--text); }
.post-body blockquote cite { display:block; margin-top:1rem; font-size:.85rem; font-style:normal; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:var(--w-semi); }
.post-body blockquote cite::before { content:""; }
.post-body img,.post-body figure img { width:100%; margin:0; }
.post-body figure { margin:2rem 0; }
.post-body figure figcaption { font-style:italic; color:var(--faint); font-size:.85rem; margin-top:.5rem; }
.post-body pre { background:var(--code-bg); color:var(--code-fg); padding:1.25rem 1.4rem; border-radius:var(--radius-sm); overflow-x:auto; font-size:.92rem; line-height:1.6; margin:0 0 1.6rem; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.post-body code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9em; background:var(--rule-2); padding:.12em .4em; border-radius:4px; }
.post-body pre code { background:none; padding:0; }
.post-body hr { border:0; height:1px; background:var(--rule); margin:2.75rem 0; }

/* Horizontal share bar */
.share-bar { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; margin:2.5rem 0; padding-bottom:1.75rem; border-bottom:1px solid var(--rule); }
.share-bar__total { font-size:.95rem; color:var(--muted); }
.share-bar__total strong { color:var(--text); font-weight:var(--w-bold); }
.share-bar__btn { display:inline-flex; align-items:center; gap:.5rem; font-size:.92rem; font-weight:var(--w-med); color:var(--text); }
.share-bar__btn:hover { color:var(--accent); }
.share-bar__btn .n { color:var(--muted); }

.post-tags { margin:0 0 2rem; }
.post-tags ul { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; margin:0; }

/* Author box (role over name, big avatar, bio, links) */
.author-box { margin:2.5rem 0; padding:2rem 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.author-box__head .role { font-size:.95rem; color:var(--muted); }
.author-box__head .name { font-size:clamp(1.5rem,2.6vw,1.9rem); font-weight:var(--w-med); letter-spacing:-.01em; margin:.15rem 0 .15rem; }
.author-box__head .name a { color:var(--text); }
.author-box__head .count { font-size:.85rem; color:var(--faint); letter-spacing:.04em; text-transform:uppercase; }
.author-box__body { display:flex; gap:1.5rem; align-items:flex-start; margin-top:1.25rem; }
.author-box__body img { width:96px; height:96px; border-radius:50%; flex:0 0 96px; }
.author-box__body .bio { font-size:1rem; color:var(--muted); margin:0; line-height:1.65; }
.author-box__body .links { margin-top:.9rem; display:flex; gap:1.5rem; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }

/* Mid-article right sidebar */
.post-aside { display:flex; flex-direction:column; gap:2.5rem; position:sticky; top:90px; }
.post-aside .widget__title { font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:var(--w-semi); color:var(--text); margin:0 0 1.25rem; padding-bottom:1rem; border-bottom:1px solid var(--text); display:block; }
.aside-latest { display:flex; flex-direction:column; gap:1.5rem; }
.aside-item__meta { font-size:.72rem; letter-spacing:.06em; color:var(--faint); margin-bottom:.4rem; }
.aside-item__meta .dot { color:var(--rule); }
.aside-item h4 { font-size:1.2rem; font-weight:var(--w-light); line-height:1.22; letter-spacing:-.01em; margin:0; }
.aside-item h4 a { color:var(--text); } .aside-item h4 a:hover { color:var(--accent); }

.topic-lines { list-style:none; margin:0; padding:0; }
.topic-lines li { display:flex; align-items:baseline; justify-content:space-between; padding:.95rem 0; border-bottom:1px solid var(--rule); }
.topic-lines li a { font-size:1.6rem; font-weight:var(--w-light); letter-spacing:-.01em; color:var(--text); }
.topic-lines li a:hover { color:var(--accent); }
.topic-lines li .num { font-size:.8rem; color:var(--faint); }

.aside-promo { background:var(--hum-ink); color:var(--hum-near-white); border-radius:var(--radius); padding:1.75rem; }
.aside-promo .hum-wordmark { font-size:1.6rem; color:var(--hum-near-white); }
.aside-promo .hum-wordmark .ai { color:var(--accent); }
.aside-promo p { color:#9A9A94; font-size:.95rem; margin:.9rem 0 1.25rem; }
.aside-promo .hum-btn { background:var(--accent); border-color:var(--accent); color:#fff; }
.aside-promo .hum-btn:hover { background:#fff; border-color:#fff; color:var(--hum-ink); }

/* Related posts */
.related { margin: clamp(2.5rem,6vw,4rem) 0 0; padding-top: clamp(2rem,4vw,2.5rem); border-top:1px solid var(--rule); }
.related__title { font-size:clamp(1.4rem,2.4vw,1.8rem); font-weight:var(--w-light); letter-spacing:-.01em; margin:0 0 1.75rem; }
.related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.75rem; }

/* Comments */
.comments-area { max-width:var(--content); margin:clamp(2.5rem,6vw,3.5rem) auto 0; }
.comments-title,.comment-reply-title { font-weight:var(--w-med); font-size:1.3rem; }
.comment-list { list-style:none; padding:0; margin:1.5rem 0; }
.comment-list .children { list-style:none; padding-left:1.5rem; }
.comment-body { padding:1.25rem 0; border-bottom:1px solid var(--rule); }
.comment-author { display:flex; align-items:center; gap:.7rem; }
.comment-author img { border-radius:50%; }
.comment-author .fn { font-weight:var(--w-med); font-style:normal; color:var(--text); }
.comment-metadata { font-size:.8rem; color:var(--faint); }
.comment-content { margin-top:.6rem; }
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea { width:100%; padding:.75rem .9rem; border:1px solid var(--rule); border-radius:var(--radius-sm); font-family:var(--font); font-size:1rem; background:var(--surface); color:var(--text); margin-top:.35rem; }
.comment-form label { font-size:.9rem; color:var(--muted); }
.comment-form p { margin:0 0 1rem; }

/* Buttons */
.hum-btn,.form-submit input[type=submit],.search-submit,.wp-block-button__link {
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font); font-weight:var(--w-med); font-size:.95rem;
  padding:.7rem 1.3rem; border-radius:100px; cursor:pointer; border:1px solid var(--text); background:var(--text); color:var(--bg);
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.hum-btn:hover,.form-submit input[type=submit]:hover,.search-submit:hover { background:var(--accent); border-color:var(--accent); color:#fff; }

/* Page hero (archives) */
.page-hero { padding:clamp(2.5rem,7vw,4.5rem) 0 clamp(1.5rem,4vw,2.5rem); border-bottom:1px solid var(--rule); text-align:center; }
.page-hero .eyebrow { margin-bottom:1rem; }
.page-hero h1 { font-size:clamp(2rem,5vw,3.4rem); font-weight:var(--w-light); letter-spacing:-.02em; line-height:1.05; margin:0 0 .9rem; }
.page-hero h1 em { font-style:normal; font-weight:var(--w-bold); }
.page-hero p { color:var(--muted); max-width:56ch; margin:0 auto; font-size:1.1rem; }

/* Pagination */
.hum-pagination { padding:1.5rem 0 0; }
.hum-pagination .nav-links { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; }
.hum-pagination .page-numbers { min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center; border:1px solid var(--rule); border-radius:var(--radius-sm); color:var(--text); padding:0 .6rem; }
.hum-pagination .page-numbers.current { background:var(--text); color:var(--bg); border-color:var(--text); }
.hum-pagination .page-numbers:hover { border-color:var(--accent); color:var(--accent); }
.hum-pagination .page-numbers.current:hover { color:var(--bg); }

/* Status (search/404) */
.hum-status { padding:clamp(3rem,9vw,6rem) 0; text-align:center; }
.hum-status h1 { font-weight:var(--w-light); font-size:clamp(2rem,6vw,3.5rem); margin:0 0 1rem; }
.hum-status p { color:var(--muted); max-width:48ch; margin:0 auto 2rem; }
.search-form { display:flex; gap:.5rem; max-width:460px; margin:0 auto; }
.search-form .search-field { flex:1; padding:.75rem .9rem; border:1px solid var(--rule); border-radius:100px; font-family:var(--font); font-size:1rem; background:var(--surface); color:var(--text); }

/* ============================================================
   Footer (dark field)
   ============================================================ */
.site-footer { background:var(--hum-ink); color:var(--hum-near-white); margin-top:clamp(3rem,7vw,4.5rem); }
.site-footer a { color:var(--hum-near-white); }
.site-footer a:hover { color:var(--accent); }
.site-footer__top { padding:clamp(2.75rem,6vw,4rem) 0 clamp(2rem,4vw,2.75rem); }
.footer-cols { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem; }
@media (max-width:860px){ .footer-cols{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-cols{ grid-template-columns:1fr; } }
.footer-cols .hum-wordmark { font-size:2rem; color:var(--hum-near-white); }
.footer-about { color:#9A9A94; font-size:.95rem; margin:1rem 0 0; max-width:42ch; }
.footer-col h3 { font-size:.8rem; text-transform:uppercase; letter-spacing:.07em; color:#9A9A94; margin:0 0 1rem; font-weight:var(--w-med); }
.footer-col ul { list-style:none; padding:0; margin:0; }
.footer-col li { margin-bottom:.6rem; }
.footer-col a { font-size:.95rem; font-weight:var(--w-light); }
.site-footer__bottom { border-top:1px solid rgba(255,255,255,.08); padding:1.4rem 0; font-size:.85rem; color:#9A9A94; display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; }

@media (prefers-reduced-motion: reduce){ *{animation:none!important;transition:none!important;scroll-behavior:auto!important} }
