/*
Theme Name: Darge 2026
Theme URI: https://darge.com
Author: Sophie Darge
Author URI: https://darge.com
Description: Bespoke editorial theme for Darge.com — privacy-first analytics, cookieless marketing and ethical SEO. Deep aubergine ink with a warm blush/rose accent, Bricolage Grotesque display + Literata reading serif + Space Mono labels. Built from scratch, no page-builder dependencies.
Version: 1.0.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: darge-2026
*/

/* =================================================================
   DARGE 2026 — design tokens
   Lane: deep aubergine/plum base + warm blush/rose accent.
   Accent used as STRUCTURE (rules, redaction bars), small radius.
   ================================================================= */
:root{
  /* ink + surfaces */
  --d-ink:        #2A1726;   /* primary text — deep aubergine, near-black */
  --d-ink-soft:   #4A2E44;   /* secondary text on light */
  --d-plum:       #3A1F38;   /* dark section surface */
  --d-plum-deep:  #25132331; /* unused alpha guard */
  --d-aubergine:  #4E2A4A;   /* mid surface */
  --d-paper:      #FBF6F4;   /* page background — warm off-white */
  --d-paper-2:    #F4E9E6;   /* alt block bg, warm */
  --d-line:       #E2CFC8;   /* hairlines on light */
  --d-line-dark:  #5C3A58;   /* hairlines on dark */

  /* accent — TWO values: rose on light must be dark enough for 4.5:1;
     blush on dark is the light counterpart */
  --d-rose:       #B23A55;   /* accent text/links on LIGHT bg (contrast ~6.2:1 on paper) */
  --d-rose-deep:  #8E2A43;   /* hover / strong */
  --d-blush:      #F2B7BE;   /* accent ON DARK surfaces (light-on-dark) */
  --d-blush-soft: #F7D9DC;   /* redaction-block fill / light accent bg */
  --d-rose-bg:    #FCEDEE;   /* very light accent wash */

  /* on-dark text */
  --d-on-dark:    #FBF1EE;   /* primary text on plum */
  --d-on-dark-mut:#D9BFCF;   /* muted on plum — darkened to pass 4.5:1 on #3A1F38 */

  /* muted on light — DARKENED to pass WCAG on paper */
  --d-mut:        #6B4A60;   /* muted labels on light (~5.3:1 on paper) */

  --d-maxw: 1180px;
  --d-readw: 720px;
  --d-radius: 3px;

  --d-serif: "Literata", Georgia, "Times New Roman", serif;
  --d-disp:  "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;
  --d-mono:  "Space Mono", ui-monospace, "Courier New", monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:clip }
body{
  margin:0;
  font-family:var(--d-serif);
  font-size:18px;
  line-height:1.72;
  color:var(--d-ink);
  background:var(--d-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--d-rose);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--d-rose-deep)}
h1,h2,h3,h4,h5,h6{font-family:var(--d-disp);font-weight:700;line-height:1.12;color:var(--d-ink);letter-spacing:-0.01em}
p{margin:0 0 1.1em}

/* ---- layout helpers ---- */
.d-wrap{max-width:var(--d-maxw);margin:0 auto;padding:0 28px}
.d-read{max-width:var(--d-readw);margin:0 auto;padding:0 28px}
.skip-link{position:absolute;left:-9999px;top:0}
.skip-link:focus{left:8px;top:8px;z-index:9999;background:var(--d-ink);color:#fff;padding:10px 16px;border-radius:var(--d-radius)}

/* ---- eyebrow / mono label ---- */
.d-eyebrow{
  font-family:var(--d-mono);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--d-rose);font-weight:700;
  display:inline-flex;align-items:center;gap:.55em;margin:0 0 14px;
}
.d-eyebrow::before{content:"";width:18px;height:9px;background:var(--d-rose);display:inline-block;border-radius:1px}
.on-dark .d-eyebrow,.d-dark .d-eyebrow,
.d-hero .d-eyebrow,.d-pagehead .d-eyebrow,.d-archhead .d-eyebrow,
.d-section.dark .d-eyebrow{color:var(--d-blush)}
.on-dark .d-eyebrow::before,.d-dark .d-eyebrow::before,
.d-hero .d-eyebrow::before,.d-pagehead .d-eyebrow::before,.d-archhead .d-eyebrow::before,
.d-section.dark .d-eyebrow::before{background:var(--d-blush)}

/* =================================================================
   MASTHEAD
   ================================================================= */
.d-topbar{
  background:var(--d-plum);color:var(--d-on-dark-mut);
  font-family:var(--d-mono);font-size:12px;letter-spacing:.06em;
}
.d-topbar .d-wrap{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap;gap:6px}
.d-topbar a{color:var(--d-blush);text-decoration:none}
.d-topbar a:hover{text-decoration:underline}
.d-topbar .d-tag-sec{color:var(--d-on-dark-mut)}

.d-site-header{
  background:var(--d-paper);
  border-bottom:3px solid var(--d-ink);
  position:sticky;top:0;z-index:120;
}
.d-head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;padding-top:10px;padding-bottom:10px}
.d-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.d-brand .d-mark{width:34px;height:34px;flex:none}
.d-brand .d-name{font-family:var(--d-disp);font-weight:800;font-size:25px;color:var(--d-ink);letter-spacing:-.02em;line-height:1}
.d-brand .d-name b{color:var(--d-rose)}
.d-brand:hover .d-name{color:var(--d-ink)}

/* nav */
.d-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.d-nav ul{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0;flex-wrap:wrap}
.d-nav a{
  font-family:var(--d-disp);font-weight:600;font-size:15.5px;color:var(--d-ink);
  text-decoration:none;padding:8px 13px;border-radius:var(--d-radius);
  display:inline-block;line-height:1.1;border:2px solid transparent;
}
.d-nav a:hover{color:var(--d-rose-deep);background:var(--d-rose-bg)}
.d-nav .current-menu-item>a,.d-nav .current_page_item>a,.d-nav .current-menu-parent>a{
  color:var(--d-ink);border-color:var(--d-ink);background:transparent;
}
.d-cta{
  font-family:var(--d-disp);font-weight:700;font-size:15px;
  background:var(--d-ink);color:var(--d-paper) !important;
  padding:9px 16px;border-radius:var(--d-radius);text-decoration:none;
  border:2px solid var(--d-ink);display:inline-block;line-height:1.1;
}
.d-cta:hover{background:var(--d-rose-deep);border-color:var(--d-rose-deep);color:#fff !important}
.d-cta.is-current{background:var(--d-rose-deep);border-color:var(--d-rose-deep);color:#fff !important}

/* CTA styling for the real WP "Contact" menu item (tagged .d-menu-cta in functions.php) */
.d-nav .d-menu-cta>a{
  font-family:var(--d-disp);font-weight:700;font-size:15px;
  background:var(--d-ink);color:var(--d-paper);
  padding:9px 16px;border:2px solid var(--d-ink);border-radius:var(--d-radius);
  margin-left:4px;
}
.d-nav .d-menu-cta>a:hover{background:var(--d-rose-deep);border-color:var(--d-rose-deep);color:#fff}
/* current-page state for the CTA: rose-deep so it never goes dark-on-its-own-page invisible */
.d-nav .d-menu-cta.current-menu-item>a,
.d-nav .d-menu-cta.current_page_item>a{
  background:var(--d-rose-deep);border-color:var(--d-rose-deep);color:#fff;
}

/* burger */
.d-burger{display:none;background:none;border:2px solid var(--d-ink);border-radius:var(--d-radius);
  width:44px;height:42px;cursor:pointer;align-items:center;justify-content:center;padding:0}
.d-burger span,.d-burger span::before,.d-burger span::after{
  content:"";display:block;width:20px;height:2.5px;background:var(--d-ink);position:relative;border-radius:2px}
.d-burger span::before{position:absolute;top:-6px}
.d-burger span::after{position:absolute;top:6px}

/* =================================================================
   HERO / FRONT
   ================================================================= */
.d-hero{background:var(--d-plum);color:var(--d-on-dark);position:relative;overflow:hidden}
.d-hero::after{content:"";position:absolute;inset:0;
  background-image:radial-gradient(var(--d-line-dark) 1px,transparent 1px);
  background-size:22px 22px;opacity:.25;pointer-events:none}
.d-hero .d-wrap{position:relative;z-index:2;padding-top:78px;padding-bottom:78px}
.d-hero h1{font-size:clamp(2.6rem,6vw,4.4rem);color:var(--d-on-dark);max-width:16ch;margin:0 0 22px;font-weight:800}
.d-hero h1 em{font-style:normal;color:var(--d-blush);position:relative}
.d-hero .d-lede{font-size:clamp(1.05rem,2.2vw,1.32rem);color:var(--d-on-dark);max-width:60ch;line-height:1.6;margin:0 0 30px;opacity:.96}
.d-hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-rose{background:var(--d-blush);color:var(--d-ink) !important;font-family:var(--d-disp);font-weight:700;
  padding:13px 24px;border-radius:var(--d-radius);text-decoration:none;border:2px solid var(--d-blush);display:inline-block}
.btn-rose:hover{background:var(--d-blush-soft);border-color:var(--d-blush-soft);color:var(--d-ink) !important}
.btn-ghost-light{background:transparent;color:var(--d-on-dark) !important;font-family:var(--d-disp);font-weight:700;
  padding:13px 24px;border-radius:var(--d-radius);text-decoration:none;border:2px solid var(--d-blush);display:inline-block}
.btn-ghost-light:hover{background:rgba(242,183,190,.14);color:var(--d-on-dark) !important}

.d-hero-meta{display:flex;gap:34px;flex-wrap:wrap;margin-top:42px;padding-top:26px;border-top:1px solid var(--d-line-dark)}
.d-hero-meta .stat b{display:block;font-family:var(--d-disp);font-size:1.9rem;color:var(--d-blush);line-height:1}
.d-hero-meta .stat span{font-family:var(--d-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-on-dark-mut)}

/* =================================================================
   SECTIONS
   ================================================================= */
.d-section{padding:64px 0}
.d-section.alt{background:var(--d-paper-2)}
.d-section.dark{background:var(--d-plum);color:var(--d-on-dark)}
.d-section.dark h2,.d-section.dark h3{color:var(--d-on-dark)}
.d-section-head{margin:0 0 34px;max-width:46ch}
.d-section-head h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0 0 10px}
.d-section-head p{color:var(--d-mut);font-size:1.05rem;margin:0}
.d-section.dark .d-section-head p{color:var(--d-on-dark-mut)}

/* topic cards (NOT generic SaaS: square corners, thick top rule, no shadow) */
.d-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.d-topic{background:var(--d-paper);border:2px solid var(--d-ink);border-radius:var(--d-radius);
  padding:26px 24px 28px;position:relative;text-decoration:none;color:var(--d-ink);display:block;
  transition:transform .12s ease,background .12s ease}
.d-section.alt .d-topic{background:#fff}
.d-topic::before{content:"";position:absolute;left:-2px;right:-2px;top:-2px;height:7px;background:var(--d-rose);border-radius:var(--d-radius) var(--d-radius) 0 0}
.d-topic:hover{transform:translateY(-3px);background:var(--d-rose-bg);color:var(--d-ink)}
.d-topic .d-kn{font-family:var(--d-mono);font-size:11px;letter-spacing:.14em;color:var(--d-rose);text-transform:uppercase;font-weight:700}
.d-topic h3{font-size:1.32rem;margin:10px 0 8px}
.d-topic p{color:var(--d-ink-soft);font-size:.97rem;margin:0 0 14px;line-height:1.6}
.d-topic .d-more{font-family:var(--d-disp);font-weight:700;font-size:.92rem;color:var(--d-rose-deep)}

/* =================================================================
   ARTICLE LIST / CARDS
   ================================================================= */
.d-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.d-card{background:#fff;border:2px solid var(--d-line);border-radius:var(--d-radius);overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .12s ease,transform .12s ease}
.d-card:hover{border-color:var(--d-ink);transform:translateY(-3px)}
.d-card .d-thumb{display:block;aspect-ratio:16/9;background:var(--d-paper-2);overflow:hidden;border-bottom:2px solid var(--d-line)}
.d-card .d-thumb img{width:100%;height:100%;object-fit:cover}
.d-card .d-thumb.ph{display:flex;align-items:center;justify-content:center;background:var(--d-plum)}
.d-card .d-thumb.ph svg{width:54px;height:54px;opacity:.6}
.d-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.d-cat{font-family:var(--d-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:var(--d-rose);text-decoration:none;display:inline-block;margin:0 0 9px}
.d-cat:hover{color:var(--d-rose-deep)}
.d-card h3{font-size:1.22rem;line-height:1.2;margin:0 0 10px}
.d-card h3 a{color:var(--d-ink);text-decoration:none}
.d-card h3 a:hover{color:var(--d-rose-deep)}
.d-card .d-excerpt{color:var(--d-ink-soft);font-size:.96rem;line-height:1.6;margin:0 0 16px;flex:1}
.d-card .d-cardmeta{font-family:var(--d-mono);font-size:11.5px;letter-spacing:.04em;color:var(--d-mut);margin-top:auto;display:flex;gap:12px;flex-wrap:wrap}

/* featured row */
.d-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;
  background:var(--d-aubergine);color:var(--d-on-dark);border-radius:var(--d-radius);overflow:hidden;border:2px solid var(--d-ink)}
.d-feature .d-feat-media{aspect-ratio:4/3;background:var(--d-plum);overflow:hidden;height:100%}
.d-feature .d-feat-media img{width:100%;height:100%;object-fit:cover}
.d-feature .d-feat-body{padding:40px 44px}
.d-feature h2{color:var(--d-on-dark);font-size:clamp(1.6rem,3vw,2.2rem);margin:12px 0 14px}
.d-feature h2 a{color:var(--d-on-dark);text-decoration:none}
.d-feature h2 a:hover{color:var(--d-blush)}
.d-feature p{color:var(--d-on-dark);opacity:.94;font-size:1.04rem}
.d-feature .d-cat{color:var(--d-blush)}
.d-feature .d-cardmeta{color:var(--d-on-dark-mut)}

/* =================================================================
   SINGLE POST
   ================================================================= */
.d-posthead{background:var(--d-paper);border-bottom:2px solid var(--d-line)}
.d-posthead .d-read{padding-top:54px;padding-bottom:38px}
.d-breadcrumb{font-family:var(--d-mono);font-size:12px;letter-spacing:.05em;color:var(--d-mut);margin:0 0 18px}
.d-breadcrumb a{color:var(--d-rose);text-decoration:none}
.d-breadcrumb a:hover{text-decoration:underline}
.d-posthead h1{font-size:clamp(2rem,4.6vw,3.1rem);margin:0 0 18px;max-width:20ch}
.d-postmeta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--d-mono);font-size:12.5px;color:var(--d-mut)}
.d-postmeta .d-avatar{width:38px;height:38px;border-radius:50%;background:var(--d-rose);display:inline-flex;align-items:center;
  justify-content:center;color:#fff;font-family:var(--d-disp);font-weight:700;font-size:16px;flex:none}
.d-postmeta strong{color:var(--d-ink);font-family:var(--d-disp);font-weight:700;font-size:14px}
.d-postmeta .sep{color:var(--d-line)}

.d-feat-hero{margin:0 auto;max-width:980px;padding:34px 28px 0}
.d-feat-hero img{width:100%;border-radius:var(--d-radius);border:2px solid var(--d-ink)}

/* article body typography */
.d-article{padding:44px 0 24px}
.d-article .d-read{font-size:19px;line-height:1.78}
.d-article h2{font-size:1.85rem;margin:1.9em 0 .55em;padding-top:.2em;position:relative}
.d-article h2::before{content:"";position:absolute;left:-28px;top:.42em;width:14px;height:14px;background:var(--d-rose);border-radius:1px}
.d-article h3{font-size:1.4rem;margin:1.6em 0 .5em}
.d-article p{margin:0 0 1.2em}
.d-article ul,.d-article ol{margin:0 0 1.3em;padding-left:1.4em}
.d-article li{margin:0 0 .55em}
.d-article li::marker{color:var(--d-rose)}
.d-article a{color:var(--d-rose);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;font-weight:500}
.d-article a:hover{color:var(--d-rose-deep)}
.d-article img{border-radius:var(--d-radius);margin:1.6em auto;border:1px solid var(--d-line)}
.d-article blockquote{margin:1.7em 0;padding:6px 0 6px 26px;border-left:5px solid var(--d-rose);
  font-family:var(--d-disp);font-weight:500;font-style:normal;font-size:1.28rem;color:var(--d-ink);line-height:1.4}
.d-article blockquote p{margin:0}
.d-article code{font-family:var(--d-mono);font-size:.86em;background:var(--d-paper-2);padding:2px 6px;border-radius:3px;color:var(--d-rose-deep)}
.d-article pre{background:var(--d-plum);color:var(--d-on-dark);padding:20px 22px;border-radius:var(--d-radius);overflow:auto;font-family:var(--d-mono);font-size:14px;line-height:1.6;border:2px solid var(--d-ink)}
.d-article pre code{background:none;color:var(--d-on-dark);padding:0}
.d-article figure{margin:1.6em 0}
.d-article figcaption{font-family:var(--d-mono);font-size:12.5px;color:var(--d-mut);text-align:center;margin-top:8px}
.d-article table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.95rem}
.d-article th,.d-article td{border:1px solid var(--d-line);padding:10px 14px;text-align:left}
.d-article th{background:var(--d-plum);color:var(--d-on-dark);font-family:var(--d-disp);font-weight:600}
.d-article tr:nth-child(even) td{background:var(--d-paper-2)}
.d-article h2:first-child,.d-article h3:first-child{margin-top:0}

/* TOC (easy-table-of-contents) reskin */
#ez-toc-container,.ez-toc-v2_0_71 #ez-toc-container,div.ez-toc-container{
  background:var(--d-paper-2) !important;border:2px solid var(--d-line) !important;border-radius:var(--d-radius) !important;
  padding:18px 22px !important;box-shadow:none !important}
.ez-toc-title{font-family:var(--d-disp) !important;color:var(--d-ink) !important;font-weight:700 !important}
#ez-toc-container a,.ez-toc-link{color:var(--d-rose) !important}
#ez-toc-container a:hover{color:var(--d-rose-deep) !important}

/* tags + share */
.d-posttags{padding:6px 0 0}
.d-posttags a{font-family:var(--d-mono);font-size:12px;letter-spacing:.04em;text-decoration:none;
  border:1.5px solid var(--d-line);color:var(--d-ink-soft);padding:5px 11px;border-radius:var(--d-radius);display:inline-block;margin:0 7px 8px 0}
.d-posttags a:hover{border-color:var(--d-rose);color:var(--d-rose-deep)}

/* author box */
.d-authorbox{margin:46px auto 0;max-width:var(--d-readw);background:var(--d-paper-2);border:2px solid var(--d-ink);
  border-radius:var(--d-radius);padding:28px 30px;display:flex;gap:22px;align-items:flex-start}
.d-authorbox .d-av{width:64px;height:64px;border-radius:50%;background:var(--d-rose);flex:none;display:flex;align-items:center;
  justify-content:center;color:#fff;font-family:var(--d-disp);font-weight:800;font-size:26px}
.d-authorbox .d-aux .d-eyebrow{margin-bottom:6px}
.d-authorbox h4{font-family:var(--d-disp);font-size:1.2rem;margin:0 0 7px}
.d-authorbox p{margin:0;color:var(--d-ink-soft);font-size:.97rem;line-height:1.62}

/* prev/next + related */
.d-related{padding:8px 0 0}
.d-related h2{font-size:1.5rem;margin:0 0 22px}

/* =================================================================
   PAGE (about/contact/privacy) — semantic content the theme styles
   ================================================================= */
.d-pagehead{background:var(--d-plum);color:var(--d-on-dark);position:relative;overflow:hidden}
.d-pagehead::after{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--d-line-dark) 1px,transparent 1px);background-size:22px 22px;opacity:.22}
.d-pagehead .d-wrap{position:relative;z-index:2;padding-top:62px;padding-bottom:62px}
.d-pagehead h1{color:var(--d-on-dark);font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 14px;max-width:18ch}
.d-pagehead .d-lede{color:var(--d-on-dark);font-size:1.15rem;max-width:60ch;opacity:.95;margin:0}

.d-pagebody{padding:52px 0}
.d-pagebody .d-read{font-size:18px;line-height:1.76}
.d-pagebody h2{font-size:1.7rem;margin:1.7em 0 .5em}
.d-pagebody h2:first-child{margin-top:0}
.d-pagebody h3{font-size:1.3rem;margin:1.4em 0 .45em}
.d-pagebody a{color:var(--d-rose);font-weight:500}
.d-pagebody ul{padding-left:1.3em}
.d-pagebody li{margin-bottom:.5em}
.d-pagebody li::marker{color:var(--d-rose)}

/* about feature grid */
.d-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0}
.d-about-grid .it{border:2px solid var(--d-ink);border-radius:var(--d-radius);padding:22px;background:var(--d-paper)}
.d-about-grid .it .d-kn{font-family:var(--d-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-rose);font-weight:700}
.d-about-grid .it h3{font-size:1.18rem;margin:8px 0 8px}
.d-about-grid .it p{font-size:.95rem;color:var(--d-ink-soft);margin:0;line-height:1.6}

/* contact panel */
.d-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;margin-top:8px}
.d-contact-card{background:var(--d-plum);color:var(--d-on-dark);border-radius:var(--d-radius);padding:32px 34px;border:2px solid var(--d-ink)}
.d-contact-card h3{color:var(--d-on-dark);font-size:1.3rem;margin:0 0 20px}
.d-contact-row{margin:0 0 18px}
.d-contact-row .lbl{font-family:var(--d-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-blush);display:block;margin-bottom:3px}
.d-contact-row a,.d-contact-row .val{color:var(--d-on-dark);font-size:1.05rem;text-decoration:none}
.d-contact-row a:hover{color:var(--d-blush);text-decoration:underline}
.d-contact-cta{display:inline-block;margin-top:6px;background:var(--d-blush);color:var(--d-ink) !important;
  font-family:var(--d-disp);font-weight:700;padding:12px 22px;border-radius:var(--d-radius);text-decoration:none;border:2px solid var(--d-blush)}
.d-contact-cta:hover{background:var(--d-blush-soft);color:var(--d-ink) !important}
.d-note{border:2px solid var(--d-line);border-radius:var(--d-radius);padding:18px 22px;background:var(--d-paper-2);font-size:.96rem;color:var(--d-ink-soft);margin-top:26px}

/* =================================================================
   NEWSLETTER STRIP / CTA band
   ================================================================= */
.d-band{background:var(--d-rose-bg);border-top:3px solid var(--d-ink);border-bottom:3px solid var(--d-ink)}
.d-band .d-wrap{padding:54px 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.d-band h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 10px}
.d-band p{color:var(--d-ink-soft);margin:0}
.d-band .d-band-act{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.d-band .d-cta{font-size:16px;padding:13px 22px}

/* =================================================================
   ARCHIVE HEAD
   ================================================================= */
.d-archhead{background:var(--d-plum);color:var(--d-on-dark);position:relative;overflow:hidden}
.d-archhead::after{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--d-line-dark) 1px,transparent 1px);background-size:22px 22px;opacity:.22}
.d-archhead .d-wrap{position:relative;z-index:2;padding-top:56px;padding-bottom:46px}
.d-archhead h1{color:var(--d-on-dark);font-size:clamp(2rem,4.5vw,3rem);margin:0 0 10px}
.d-archhead p{color:var(--d-on-dark-mut);max-width:60ch;margin:0;font-size:1.05rem}

/* pagination */
.d-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:46px 0 0}
.d-pagination a,.d-pagination span{font-family:var(--d-disp);font-weight:700;font-size:15px;padding:9px 15px;
  border:2px solid var(--d-line);border-radius:var(--d-radius);text-decoration:none;color:var(--d-ink);background:#fff}
.d-pagination a:hover{border-color:var(--d-ink);color:var(--d-rose-deep)}
.d-pagination .current{background:var(--d-ink);color:var(--d-paper);border-color:var(--d-ink)}

/* =================================================================
   FOOTER
   ================================================================= */
.d-footer{background:var(--d-ink);color:var(--d-on-dark-mut)}
.d-footer .d-foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding:56px 0 40px}
.d-footer h4{font-family:var(--d-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--d-blush);margin:0 0 16px;font-weight:700}
.d-footer .d-foot-brand .d-name{font-family:var(--d-disp);font-weight:800;font-size:24px;color:var(--d-on-dark);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.d-footer .d-foot-brand .d-name b{color:var(--d-blush)}
.d-footer .d-foot-brand p{margin:14px 0 0;color:var(--d-on-dark-mut);font-size:.97rem;max-width:38ch;line-height:1.6}
.d-footer ul{list-style:none;margin:0;padding:0}
.d-footer li{margin:0 0 10px}
.d-footer a{color:var(--d-on-dark-mut);text-decoration:none;font-size:.97rem}
.d-footer a:hover{color:var(--d-blush);text-decoration:underline}
.d-foot-social{display:flex;gap:10px;margin-top:6px}
.d-foot-social a{width:38px;height:38px;border:1.5px solid var(--d-line-dark);border-radius:var(--d-radius);
  display:inline-flex;align-items:center;justify-content:center;color:var(--d-on-dark-mut)}
.d-foot-social a:hover{border-color:var(--d-blush);color:var(--d-blush)}
.d-foot-social svg{width:18px;height:18px}
.d-foot-bottom{border-top:1px solid var(--d-line-dark);padding:20px 0;display:flex;justify-content:space-between;
  align-items:center;gap:14px;flex-wrap:wrap}
.d-foot-bottom p{margin:0;font-family:var(--d-mono);font-size:12px;color:var(--d-on-dark-mut);letter-spacing:.03em}
.d-foot-bottom .d-foot-pp{display:flex;gap:18px;flex-wrap:wrap}
.d-foot-bottom .d-foot-pp a{font-family:var(--d-mono);font-size:12px;color:var(--d-on-dark-mut)}
.d-foot-bottom .d-foot-pp a:hover{color:var(--d-blush)}

/* =================================================================
   404 / SEARCH
   ================================================================= */
.d-404{text-align:center;padding:90px 0}
.d-404 .big{font-family:var(--d-disp);font-weight:800;font-size:clamp(5rem,16vw,10rem);color:var(--d-rose);line-height:.9;letter-spacing:-.04em}
.d-404 h1{font-size:2rem;margin:14px 0 12px}
.d-404 p{color:var(--d-mut);max-width:48ch;margin:0 auto 26px}
.d-searchform{display:flex;gap:10px;max-width:520px;margin:0 auto;flex-wrap:wrap}
.d-searchform input[type=search]{flex:1;min-width:200px;padding:13px 16px;border:2px solid var(--d-ink);border-radius:var(--d-radius);
  font-family:var(--d-serif);font-size:16px;color:var(--d-ink);background:#fff}
.d-searchform input[type=search]:focus{outline:3px solid var(--d-rose);outline-offset:1px}
.d-searchform button{font-family:var(--d-disp);font-weight:700;background:var(--d-ink);color:var(--d-paper);border:2px solid var(--d-ink);
  padding:13px 22px;border-radius:var(--d-radius);cursor:pointer}
.d-searchform button:hover{background:var(--d-rose-deep);border-color:var(--d-rose-deep)}

/* WP core align + caption helpers within content */
.aligncenter{margin-left:auto;margin-right:auto}
.alignright{float:right;margin:0 0 1em 1.5em}
.alignleft{float:left;margin:0 1.5em 1em 0}
.wp-caption-text{font-family:var(--d-mono);font-size:12.5px;color:var(--d-mut);text-align:center}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width:1000px){
  .d-topics{grid-template-columns:repeat(2,1fr)}
  .d-cards{grid-template-columns:repeat(2,1fr)}
  .d-feature{grid-template-columns:1fr}
  .d-feature .d-feat-media{aspect-ratio:16/9}
  .d-about-grid{grid-template-columns:repeat(2,1fr)}
  .d-footer .d-foot-top{grid-template-columns:1fr 1fr}
  .d-band .d-wrap{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:17px}
  .d-nav{position:fixed;inset:0 0 0 auto;width:min(82vw,330px);background:var(--d-paper);
    border-left:3px solid var(--d-ink);flex-direction:column;align-items:stretch;padding:84px 22px 30px;
    transform:translateX(100%);transition:transform .22s ease;z-index:130;overflow-y:auto;gap:4px}
  .d-nav.open{transform:translateX(0)}
  .d-nav ul{flex-direction:column;align-items:stretch;width:100%;gap:2px}
  .d-nav a{padding:12px 14px;font-size:17px;width:100%}
  .d-nav .d-cta{margin-top:10px;text-align:center}
  .d-burger{display:inline-flex}
  .d-nav-overlay{position:fixed;inset:0;background:rgba(42,23,38,.5);z-index:125;opacity:0;visibility:hidden;transition:.2s}
  .d-nav-overlay.show{opacity:1;visibility:visible}
  .d-article h2::before{display:none}
  .d-contact-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .d-topbar .d-tag-sec{display:none}     /* hide secondary tagline so the bar never bleeds */
}
@media (max-width:430px){
  .d-topics{grid-template-columns:1fr}
  .d-cards{grid-template-columns:1fr}
  .d-about-grid{grid-template-columns:1fr}
  .d-footer .d-foot-top{grid-template-columns:1fr}   /* collapse footer to 1 col */
  .d-hero-meta{gap:22px}
  .d-feature .d-feat-body{padding:28px 24px}
  .d-foot-bottom{flex-direction:column;align-items:flex-start}
}
