/*
 * GriotsWell Universe — almanac core styles.
 * Shared by the DarkerSpace and AfricanBookMarket front pages. Every colour,
 * typeface and headline size is a token (--alm-*); each site sets its own
 * tokens in its front-page.php through gwu_alm_tokens(). The defaults below
 * keep the page legible if a token is ever missing.
 */

.gwu-alm{
  --alm-max:1200px; --alm-gutter:32px;
  --alm-display:'Playfair Display',Georgia,serif; --alm-mono:'DM Mono','Courier New',monospace;
  --alm-paper:#F2ECDC; --alm-paper-img:#E2DAC8; --alm-paper-hover:#EDE4CE;
  --alm-ink:#141024; --alm-ink-soft:#3A3527; --alm-meta:#7A6B50; --alm-meta-strong:#6B5D45;
  --alm-rule:#D8C9A8; --alm-rule-strong:#1A2340;
  --alm-accent:#2C7B74; --alm-accent-hover:#24665F; --alm-accent-ink:#F2ECDC; --alm-live:#4A6B3C;
  --alm-tone-1:#2C7B74; --alm-tone-2:#A6741A; --alm-tone-3:#6A54B0;
  --alm-nameplate-size:32px; --alm-nameplate-weight:700; --alm-nameplate-spacing:1px;
  --alm-h1-size:32px; --alm-h1-weight:700; --alm-h1-spacing:0; --alm-head-weight:700;
  --alm-deck-size:15px; --alm-mono-size:10px;
  --alm-body-bg:#0A0814; --alm-body-text:#D4D0E8; --alm-body-bright:#EDEAF8; --alm-body-muted:#9A94B4; --alm-body-faint:#7A7494;
  --alm-body-rule:rgba(78,205,196,.1); --alm-body-rule-soft:rgba(78,205,196,.08); --alm-body-rule-strong:rgba(78,205,196,.18);
  --alm-body-surface:#13112A; --alm-body-surface-hi:#17152F; --alm-body-card:rgba(255,255,255,.04);
  --alm-body-accent:#4ECDC4; --alm-body-accent-ink:#0A0814; --alm-body-accent-hover:#3DB8AF;
  --alm-btone-1:#4ECDC4; --alm-btone-2:#C8923A; --alm-btone-3:#9D8FE8;
  --alm-spine:#4ECDC4;
}
.gwu-alm a{text-decoration:none}
.gwu-alm h1,.gwu-alm h3,.gwu-alm p{margin-top:0}
.gwu-alm-inner{max-width:var(--alm-max);margin:0 auto;padding:0 var(--alm-gutter);box-sizing:border-box}

/* tones */
.gwu-alm-t1{color:var(--alm-tone-1)!important} .gwu-alm-t2{color:var(--alm-tone-2)!important} .gwu-alm-t3{color:var(--alm-tone-3)!important}
.gwu-alm-bt1{color:var(--alm-btone-1)} .gwu-alm-bt2{color:var(--alm-btone-2)} .gwu-alm-bt3{color:var(--alm-btone-3)}

/* ── MASTHEAD (paper) ── */
.gwu-alm-mast{background:var(--alm-paper);color:var(--alm-ink);border-bottom:3px double var(--alm-rule-strong);padding:20px 0 0}
.gwu-alm-mast a{color:var(--alm-ink)}
.gwu-alm-mast-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px}
.gwu-alm-nameplate{font-family:var(--alm-display);font-size:var(--alm-nameplate-size);font-weight:var(--alm-nameplate-weight);letter-spacing:var(--alm-nameplate-spacing);line-height:1;color:var(--alm-ink)}
.gwu-alm-nameplate span{color:var(--alm-accent)}
.gwu-alm-dateline{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:1.4px;text-transform:uppercase;color:var(--alm-meta-strong);text-align:right;line-height:1.7}
.gwu-alm-strap{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:2px;text-transform:uppercase;color:var(--alm-meta);text-align:center;border-top:1px solid var(--alm-rule);padding:10px 0}
.gwu-alm-nav{display:flex;justify-content:center;gap:8px 24px;padding:11px 0 0;border-top:1px solid var(--alm-rule);flex-wrap:wrap}
.gwu-alm-nav a{font-family:var(--alm-display);font-size:15px;font-weight:500;padding-bottom:12px;display:inline-block;border-bottom:2px solid transparent;transition:color .15s}
.gwu-alm-nav a:hover,.gwu-alm-nav a.is-active{color:var(--alm-accent)!important;border-bottom-color:var(--alm-accent)}

/* ── LEAD + DISPATCHES (paper) ── */
.gwu-alm-lead-wrap{background:var(--alm-paper);color:var(--alm-ink);padding:34px 0;border-bottom:1px solid var(--alm-rule)}
.gwu-alm-lead-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:42px;align-items:start}
.gwu-alm-lead-img{background:var(--alm-paper-img);border:1px solid var(--alm-rule);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gwu-alm-lead-img img{width:100%;height:100%;object-fit:cover;display:block}
.gwu-alm-lead-img-empty{font-family:var(--alm-mono);font-size:11px;color:var(--alm-meta);text-align:center;padding:16px}
.gwu-alm-eyebrow{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:2px;text-transform:uppercase;display:block;margin:14px 0 6px}
.gwu-alm-h1{font-family:var(--alm-display);font-size:var(--alm-h1-size);font-weight:var(--alm-h1-weight);letter-spacing:var(--alm-h1-spacing);line-height:1.1;color:var(--alm-ink);margin:0 0 12px}
.gwu-alm-h1 a{color:inherit}
.gwu-alm-deck{font-size:var(--alm-deck-size);line-height:1.62;color:var(--alm-ink-soft);margin:0 0 14px}
.gwu-alm-byline{font-family:var(--alm-mono);font-size:var(--alm-mono-size);color:var(--alm-meta);letter-spacing:1px;text-transform:uppercase;margin:0 0 14px}
.gwu-alm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.gwu-alm-btn{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:1.5px;text-transform:uppercase;padding:10px 19px;display:inline-block;transition:background .15s,color .15s}
.gwu-alm-btn-p{background:var(--alm-accent);color:var(--alm-accent-ink)!important}
.gwu-alm-btn-p:hover{background:var(--alm-accent-hover)}
.gwu-alm-btn-g{border:1px solid var(--alm-ink);color:var(--alm-ink)!important}
.gwu-alm-btn-g:hover{background:var(--alm-ink);color:var(--alm-paper)!important}
.gwu-alm-btn-sm{font-size:9px;padding:5px 12px;margin-top:7px}

.gwu-alm-dispatches{border-left:1px solid var(--alm-rule);padding-left:26px}
.gwu-alm-disp-head{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:2px;text-transform:uppercase;color:var(--alm-meta);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.gwu-alm-live-dot{width:7px;height:7px;background:var(--alm-live);border-radius:50%;display:inline-block;flex-shrink:0}
.gwu-alm-disp-item{padding:10px 0;border-bottom:1px dotted var(--alm-rule)}
.gwu-alm-disp-item:last-child{border-bottom:none}
.gwu-alm-disp-src{font-family:var(--alm-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;margin-bottom:3px}
.gwu-alm-disp-hl{font-family:var(--alm-display);font-size:14.5px;font-weight:500;line-height:1.3;color:var(--alm-ink);margin:0}
.gwu-alm-disp-hl a{color:inherit}
.gwu-alm-disp-hl a:hover{color:var(--alm-accent)}

/* ── SECTION HEAD (body by default, paper inside the paper zone) ── */
.gwu-alm-section-head{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:3px;text-transform:uppercase;color:var(--alm-body-faint);margin:0 0 20px;display:flex;align-items:center;gap:12px}
.gwu-alm-section-head::after{content:'';flex:1;height:1px;background:var(--alm-body-rule)}
.gwu-alm-zone-paper .gwu-alm-section-head{color:var(--alm-meta)}
.gwu-alm-zone-paper .gwu-alm-section-head::after{background:var(--alm-rule)}

/* ── TERRITORIES ── */
.gwu-alm-terr-wrap{padding:28px 0 34px}
.gwu-alm-zone-paper{background:var(--alm-paper);color:var(--alm-ink)}
.gwu-alm-zone-body{background:var(--alm-body-bg);color:var(--alm-body-text);padding:40px 0;border-bottom:1px solid var(--alm-body-rule)}
.gwu-alm-terr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}
.gwu-alm-zone-paper .gwu-alm-terr-grid{background:var(--alm-rule);border:1px solid var(--alm-rule)}
.gwu-alm-zone-body .gwu-alm-terr-grid{background:var(--alm-body-rule-strong);border:1px solid var(--alm-body-rule-strong)}
.gwu-alm-terr{display:block;padding:20px;transition:background .15s}
.gwu-alm-zone-paper .gwu-alm-terr{background:var(--alm-paper)}
.gwu-alm-zone-paper .gwu-alm-terr:hover{background:var(--alm-paper-hover)}
.gwu-alm-zone-body .gwu-alm-terr{background:var(--alm-body-surface)}
.gwu-alm-zone-body .gwu-alm-terr:hover{background:var(--alm-body-surface-hi)}
.gwu-alm-terr-num{font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:1px;display:block;margin-bottom:5px}
.gwu-alm-terr h3{font-family:var(--alm-display);font-size:18px;font-weight:var(--alm-head-weight);line-height:1.2;margin:0 0 5px}
.gwu-alm-terr p{font-size:13px;line-height:1.45;margin:0}
.gwu-alm-zone-paper .gwu-alm-terr h3{color:var(--alm-ink)} .gwu-alm-zone-paper .gwu-alm-terr p{color:var(--alm-meta)}
.gwu-alm-zone-body .gwu-alm-terr h3{color:var(--alm-body-bright)} .gwu-alm-zone-body .gwu-alm-terr p{color:var(--alm-body-muted)}

/* ── BODY ZONE ── */
.gwu-alm-body{background:var(--alm-body-bg);color:var(--alm-body-text)}

.gwu-alm-writing{padding:36px 0;border-bottom:1px solid var(--alm-body-rule)}
.gwu-alm-wrow{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center;padding:15px 0;border-bottom:1px dotted var(--alm-body-rule-soft);color:inherit}
.gwu-alm-wrow:last-child{border-bottom:none}
.gwu-alm-wrow:hover .gwu-alm-wrow-title{color:var(--alm-body-accent)}
.gwu-alm-wrow-img{width:110px;height:70px;background:var(--alm-body-surface);border:1px solid var(--alm-body-rule);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--alm-body-rule-strong)}
.gwu-alm-wrow-img img{width:100%;height:100%;object-fit:cover}
.gwu-alm-wrow-title{font-family:var(--alm-display);font-size:19px;font-weight:var(--alm-head-weight);line-height:1.2;color:var(--alm-body-bright);margin:0 0 4px;transition:color .15s}
.gwu-alm-wrow-deck{font-size:13.5px;color:var(--alm-body-muted);line-height:1.4;margin:0}
.gwu-alm-wrow-kind{font-family:var(--alm-mono);font-size:9.5px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;text-align:right}

.gwu-alm-feature{padding:36px 0;border-bottom:1px solid var(--alm-body-rule)}
.gwu-alm-feature-card{display:block;background:var(--alm-body-card);border:1px solid var(--alm-body-rule-strong);padding:24px 28px;margin-bottom:20px;transition:border-color .2s}
.gwu-alm-feature-card:hover{border-color:var(--alm-body-accent)}
.gwu-alm-feature-label,.gwu-alm-feature-more,.gwu-alm-more{display:block;font-family:var(--alm-mono);font-size:var(--alm-mono-size);letter-spacing:2px;text-transform:uppercase;color:var(--alm-body-accent)}
.gwu-alm-feature-label{margin-bottom:8px}
.gwu-alm-feature-card h3{font-family:var(--alm-display);font-size:1.3rem;font-weight:var(--alm-head-weight);color:var(--alm-body-bright);margin:0 0 8px;line-height:1.2}
.gwu-alm-feature-card p{font-size:.88rem;color:var(--alm-body-muted);line-height:1.6;margin:0 0 10px}
.gwu-alm-feature-list{border-top:1px solid var(--alm-body-rule-soft)}
.gwu-alm-feature-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--alm-body-rule-soft);color:var(--alm-body-bright);font-size:.9rem}
.gwu-alm-feature-list a:hover{color:var(--alm-body-accent)}
.gwu-alm-feature-date{font-family:var(--alm-mono);font-size:.68rem;color:var(--alm-body-faint);white-space:nowrap}
.gwu-alm-more{display:inline-block;margin-top:14px;letter-spacing:1px}

.gwu-alm-duo{border-bottom:3px double var(--alm-body-rule-strong)}
.gwu-alm-duo-grid{display:grid;grid-template-columns:1fr 1fr}
.gwu-alm-duo-l{padding:34px 40px 34px 0;border-right:1px solid var(--alm-body-rule)}
.gwu-alm-duo-r{padding:34px 0 34px 40px}
.gwu-alm-duo-col p{font-size:14.5px;line-height:1.62;color:var(--alm-body-muted)}
.gwu-alm-duo-col .gwu-alm-lede{font-size:15px;color:var(--alm-body-text)}
.gwu-alm-duo-col a.gwu-alm-more{margin-top:10px}
.gwu-alm-body .gwu-alm-btn-g{border-color:var(--alm-body-bright);color:var(--alm-body-bright)!important}
.gwu-alm-body .gwu-alm-btn-g:hover{background:var(--alm-body-bright);color:var(--alm-body-bg)!important}

.gwu-alm-stat-row{display:flex;flex-wrap:wrap;gap:22px;margin:14px 0}
.gwu-alm-stat-n{font-family:var(--alm-display);font-size:26px;line-height:1;display:block}
.gwu-alm-stat-l{font-family:var(--alm-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--alm-body-faint)}

.gwu-alm-bookrow{display:flex;gap:14px;margin-bottom:16px;align-items:flex-start}
.gwu-alm-bookspine{width:46px;height:66px;background:var(--alm-spine);border-radius:2px 3px 3px 2px;flex-shrink:0;box-shadow:2px 2px 0 rgba(0,0,0,.35);overflow:hidden}
.gwu-alm-bookspine img{width:100%;height:100%;object-fit:cover}
.gwu-alm-book-flag{font-family:var(--alm-mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--alm-body-accent);margin-bottom:2px}
.gwu-alm-book-title{font-family:var(--alm-display);font-size:15px;font-weight:var(--alm-head-weight);line-height:1.25;margin-bottom:2px}
.gwu-alm-book-title a{color:var(--alm-body-bright)}
.gwu-alm-book-title a:hover{color:var(--alm-body-accent)}
.gwu-alm-book-meta{font-family:var(--alm-mono);font-size:9.5px;letter-spacing:1px;color:var(--alm-body-muted);text-transform:uppercase}

.gwu-alm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.gwu-alm-chip{font-family:var(--alm-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--alm-body-muted);border:1px solid var(--alm-body-rule-strong);padding:4px 10px;transition:border-color .15s,color .15s}
.gwu-alm-chip:hover{border-color:var(--alm-body-accent);color:var(--alm-body-accent)}
.gwu-alm-chip span{opacity:.55;margin-left:4px}

.gwu-alm-colophon{padding:24px 0 44px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.gwu-alm-colophon-who{font-family:var(--alm-display);font-size:15px;color:var(--alm-body-bright)}
.gwu-alm-colophon-who span{font-family:var(--alm-mono);font-size:11px;color:var(--alm-body-muted);letter-spacing:.5px}
.gwu-alm-nl{display:flex}
.gwu-alm-nl input[type=email]{font-family:var(--alm-mono);font-size:11px;background:var(--alm-body-surface);border:1px solid var(--alm-body-rule-strong);color:var(--alm-body-bright);padding:10px 14px;width:230px;outline:none;border-radius:0}
.gwu-alm-nl input[type=email]:focus{border-color:var(--alm-body-accent)}
.gwu-alm-nl button{font-family:var(--alm-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;background:var(--alm-body-accent);color:var(--alm-body-accent-ink);border:none;padding:10px 16px;cursor:pointer;white-space:nowrap;border-radius:0}
.gwu-alm-nl button:hover{background:var(--alm-body-accent-hover)}

/* ── RESPONSIVE ── */
@media (max-width:860px){
  .gwu-alm{--alm-gutter:16px}
  .gwu-alm-mast-top{flex-direction:column;align-items:flex-start}
  .gwu-alm-dateline{text-align:left}
  .gwu-alm-nameplate{font-size:calc(var(--alm-nameplate-size) * .82)}
  .gwu-alm-h1{font-size:calc(var(--alm-h1-size) * .8)}
  .gwu-alm-lead-grid{grid-template-columns:1fr;gap:28px}
  .gwu-alm-dispatches{border-left:none;border-top:1px solid var(--alm-rule);padding-left:0;padding-top:18px}
  .gwu-alm-terr-grid{grid-template-columns:1fr 1fr}
  .gwu-alm-duo-grid{grid-template-columns:1fr}
  .gwu-alm-duo-l{border-right:none;border-bottom:1px solid var(--alm-body-rule);padding:28px 0}
  .gwu-alm-duo-r{padding:28px 0}
  .gwu-alm-wrow{grid-template-columns:1fr;gap:6px}
  .gwu-alm-wrow-img{display:none}
  .gwu-alm-wrow-kind{text-align:left}
  .gwu-alm-colophon{flex-direction:column;align-items:flex-start}
  .gwu-alm-nl{flex-direction:column;width:100%}
  .gwu-alm-nl input[type=email]{width:100%}
}
@media (max-width:520px){
  .gwu-alm-terr-grid{grid-template-columns:1fr}
  .gwu-alm-nav{justify-content:flex-start}
}

/* tones inside the body zone use the body palette */
.gwu-alm-zone-body .gwu-alm-t1{color:var(--alm-btone-1)!important}
.gwu-alm-zone-body .gwu-alm-t2{color:var(--alm-btone-2)!important}
.gwu-alm-zone-body .gwu-alm-t3{color:var(--alm-btone-3)!important}
