:root {
  --zmd-paper:#FBFAF6; --zmd-paper-subtle:#F4F0E7; --zmd-paper-deep:#E9E3D4;
  --zmd-ink:#0B1B2B; --zmd-ink-soft:#1F2D3D;
  --zmd-muted:#6E6A60; --zmd-muted-soft:#9A9588;
  --zmd-rule:#E0DACA; --zmd-rule-strong:#C9C2B0;
  --zmd-accent:#B85C3A; --zmd-accent-soft:#D67A57; --zmd-accent-deep:#9B4A2D;
  --zmd-serif:"Source Serif 4","Source Serif Pro",Georgia,"Iowan Old Style",Cambria,serif;
  --zmd-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --zmd-mono:"JetBrains Mono","SF Mono",Menlo,monospace;
  --zmd-shadow-card:0 1px 2px rgba(11,27,43,.05),0 12px 28px -16px rgba(11,27,43,.25);
  --zmd-shadow-hover:0 6px 14px rgba(11,27,43,.08),0 22px 40px -18px rgba(11,27,43,.4);
  --zmd-ease:cubic-bezier(.2,.7,.2,1);
}
[data-zmd-theme="dark"] {
  --zmd-paper:#0B1B2B; --zmd-paper-subtle:#102639; --zmd-paper-deep:#163049;
  --zmd-ink:#EDE6D6; --zmd-ink-soft:#C9C2B0;
  --zmd-muted:#8E9AA8; --zmd-muted-soft:#5C6B7C;
  --zmd-rule:#1F324A; --zmd-rule-strong:#2A4060;
  --zmd-accent:#D67A57; --zmd-accent-soft:#E89677; --zmd-accent-deep:#B85C3A;
}
/* alias: legacy inline styles in page content use --serif/--sans/--ink/etc */
:root {
  --serif:var(--zmd-serif); --sans:var(--zmd-sans); --mono:var(--zmd-mono);
  --ink:var(--zmd-ink); --ink-soft:var(--zmd-ink-soft); --muted:var(--zmd-muted);
  --paper:var(--zmd-paper); --paper-subtle:var(--zmd-paper-subtle); --paper-deep:var(--zmd-paper-deep);
  --rule:var(--zmd-rule); --accent:var(--zmd-accent);
}

/* ── hide GeneratePress chrome on every page (overlay replaces it) ── */
/* Belt-and-braces: remove_action() in wp() unhooks GP's construction,
   this rule covers (a) any child-theme header that emits .zmd-site-header
   and (b) any plugin/legacy markup that slips a second banner into the DOM. */
.site-header, #masthead,
.main-navigation, #site-navigation,
.site-footer, .footer-widgets, .site-info,
.zmd-site-header,
.span-reading-time { display:none !important; }

/* On homepage (page-id-11) the overlay nav at top is enough — also
   hide the old in-content chrome (zayedmd-claude-design-page, zmd-nav,
   zmd-footer) that's still baked into legacy page content. */
.page-id-4 #zayedmd-claude-design-page,
.page-id-4 .zmd-page,
.page-id-4 .zmd-nav,
.page-id-4 .zmd-footer,
.page-id-4 .zmd-mobile-nav { display:none !important; }

/* On the homepage page-id-11 the v2 chrome is inside content already.
   We let the overlay-nav stack at the very top above it. */
.page-id-11 .zmd-overlay-nav { box-shadow:0 1px 0 var(--zmd-rule); }

/* ── reset GP container constraints on non-home pages ── */
body:not(.page-id-11) { background:var(--zmd-paper) !important; color:var(--zmd-ink) !important;
  font-family:var(--zmd-serif) !important; font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
body:not(.page-id-11) ::selection { background:var(--zmd-accent); color:#fff; }
body:not(.page-id-11) .site { background:transparent !important; max-width:none !important; padding:0 !important; }
body:not(.page-id-11) .site-content { max-width:1180px; margin:0 auto; padding:48px 36px 64px !important; gap:48px; }
body:not(.page-id-11) .content-area, body:not(.page-id-11) #primary { max-width:none !important; }
body:not(.page-id-11) .inside-article { background:transparent !important; padding:0 !important; box-shadow:none !important; border:0 !important; }
body:not(.page-id-11) #ez-toc-container { background:var(--zmd-paper-subtle) !important; border:1px solid var(--zmd-rule) !important; border-radius:6px !important; padding:18px !important; box-shadow:none !important; }

/* ── ZayedMD overlay nav ── */
.zmd-overlay-nav {
  position:sticky; top:0; z-index:120;
  background:rgba(251,250,246,.92);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--zmd-rule);
}
[data-zmd-theme="dark"] .zmd-overlay-nav { background:rgba(11,27,43,.92); }
.zmd-overlay-nav__brandline { height:2px; background:linear-gradient(90deg, transparent 0, var(--zmd-accent) 30%, var(--zmd-accent) 70%, transparent 100%); opacity:.7; }
.zmd-overlay-nav__row {
  max-width:1320px; margin:0 auto; padding:18px 36px;
  display:flex; align-items:center; gap:26px;
}
.zmd-overlay-nav a { text-decoration:none !important; color:var(--zmd-ink); }
.zmd-overlay-nav .zmd-brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; }
.zmd-overlay-nav .zmd-brand__mark { transition:transform .35s var(--zmd-ease); }
.zmd-overlay-nav .zmd-brand:hover .zmd-brand__mark { transform:rotate(-3deg) scale(1.05); }
.zmd-overlay-nav .zmd-brand__col { display:flex; flex-direction:column; line-height:1; }
.zmd-overlay-nav .zmd-brand__word { font-family:var(--zmd-serif); font-weight:600; font-size:22px; letter-spacing:-0.015em; color:var(--zmd-ink); }
.zmd-overlay-nav .zmd-brand__word .dot { color:var(--zmd-accent); font-weight:700; margin-left:1px; }
.zmd-overlay-nav .zmd-brand__tag { display:block; font-family:var(--zmd-sans); font-size:9.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--zmd-muted); margin-top:4px; }
.zmd-overlay-nav__links { display:flex; gap:24px; margin-left:14px; flex:1; }
.zmd-overlay-nav__links a {
  font-family:var(--zmd-sans); font-size:14px; font-weight:500; color:var(--zmd-ink-soft);
  position:relative; padding:8px 0;
  transition:color .2s var(--zmd-ease);
}
.zmd-overlay-nav__links a::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--zmd-accent); transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--zmd-ease);
}
.zmd-overlay-nav__links a:hover { color:var(--zmd-ink); }
.zmd-overlay-nav__links a:hover::after, .zmd-overlay-nav__links a.is-active::after { transform:scaleX(1); }
.zmd-overlay-nav__actions { display:flex; align-items:center; gap:8px; }
.zmd-overlay-nav__icon-btn {
  width:38px; height:38px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid transparent; color:var(--zmd-ink); cursor:pointer;
  transition:background .2s var(--zmd-ease), border-color .2s var(--zmd-ease), transform .2s var(--zmd-ease);
}
.zmd-overlay-nav__icon-btn:hover { background:var(--zmd-paper-subtle); border-color:var(--zmd-rule); }
.zmd-overlay-nav__icon-btn:active { transform:scale(.96); }
.zmd-overlay-nav__cta {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--zmd-sans); font-size:13px; font-weight:600; letter-spacing:.02em;
  background:var(--zmd-ink); color:#fff !important;
  padding:10px 18px; border-radius:999px;
  transition:transform .25s var(--zmd-ease), background .25s var(--zmd-ease);
}
.zmd-overlay-nav__cta:hover { background:var(--zmd-accent); transform:translateY(-1px); }
.zmd-overlay-nav__toggle { display:none; background:none; border:0; cursor:pointer; padding:6px; color:var(--zmd-ink); }
.zmd-overlay-nav__panel { display:none; padding:14px 36px 22px; background:var(--zmd-paper); border-bottom:1px solid var(--zmd-rule); flex-direction:column; gap:4px; }
.zmd-overlay-nav__panel a { font-family:var(--zmd-sans); font-size:16px; font-weight:500; color:var(--zmd-ink); padding:10px 0; border-bottom:1px solid var(--zmd-rule); }
.zmd-overlay-nav__panel a:last-child { border-bottom:0; }
#zmd-ovnav-toggle { display:none; }
#zmd-ovnav-toggle:checked ~ .zmd-overlay-nav__panel { display:flex; }
#zmd-ovsearch-toggle { display:none; }
.zmd-overlay-search {
  display:none; background:var(--zmd-paper-subtle); border-bottom:1px solid var(--zmd-rule);
  padding:18px 36px;
}
#zmd-ovsearch-toggle:checked ~ .zmd-overlay-search { display:block; }
.zmd-overlay-search form { max-width:680px; margin:0 auto; display:flex; gap:10px; align-items:center; }
.zmd-overlay-search input[type=search] {
  flex:1; padding:14px 18px; border:1px solid var(--zmd-rule-strong) !important;
  background:#fff !important; color:var(--zmd-ink) !important;
  font-family:var(--zmd-serif) !important; font-size:18px !important;
  border-radius:999px !important;
}
.zmd-overlay-search button { padding:14px 22px !important; }

@media (max-width:980px){
  .zmd-overlay-nav__links { display:none; }
  .zmd-overlay-nav__row { padding:14px 18px; gap:10px; }
  .zmd-overlay-nav__toggle { display:inline-flex; }
  .zmd-overlay-nav .zmd-brand__tag { display:none; }
  .zmd-overlay-nav__cta { display:none; }
}

/* ── editorial typography ── */
body:not(.page-id-11) .entry-title {
  font-family:var(--zmd-serif); font-weight:600;
  font-size:clamp(32px,4vw,52px); line-height:1.08; letter-spacing:-0.02em;
  color:var(--zmd-ink); margin:0 0 6px;
}
body:not(.page-id-11) .entry-content { font-family:var(--zmd-serif); font-size:18px; line-height:1.7; color:var(--zmd-ink-soft); }
body:not(.page-id-11) .entry-content > p { margin:0 0 22px; }
body:not(.page-id-11) .entry-content :is(h2,h3) { font-family:var(--zmd-serif); color:var(--zmd-ink); letter-spacing:-0.01em; line-height:1.2; margin:36px 0 14px; }
body:not(.page-id-11) .entry-content h2 { font-size:28px; padding-bottom:8px; border-bottom:1px solid var(--zmd-rule); }
body:not(.page-id-11) .entry-content h3 { font-size:22px; }
body:not(.page-id-11) .entry-content h4 { font-family:var(--zmd-sans); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--zmd-muted); margin:28px 0 10px; }
body:not(.page-id-11) .entry-content a { color:var(--zmd-accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; transition:color .2s var(--zmd-ease); }
body:not(.page-id-11) .entry-content a:hover { color:var(--zmd-ink); }
body:not(.page-id-11) .entry-content blockquote {
  margin:28px 0; padding:18px 24px;
  border-left:3px solid var(--zmd-accent);
  background:var(--zmd-paper-subtle);
  font-family:var(--zmd-serif); font-style:italic; font-size:19px; color:var(--zmd-ink);
}
body:not(.page-id-11) .entry-content :is(ul,ol) { padding-left:1.4em; }
body:not(.page-id-11) .entry-content li { margin:6px 0; }
body:not(.page-id-11) .entry-content figure, body:not(.page-id-11) .entry-content img {
  border-radius:6px; box-shadow:var(--zmd-shadow-card); max-width:100%; height:auto;
}
body:not(.page-id-11) .entry-content figcaption { font-family:var(--zmd-sans); font-size:13px; color:var(--zmd-muted); margin-top:8px; }
body:not(.page-id-11) .entry-content code { font-family:var(--zmd-mono); font-size:14.5px; background:var(--zmd-paper-deep); padding:2px 6px; border-radius:3px; }
body:not(.page-id-11) .entry-content table { border-collapse:collapse; width:100%; margin:24px 0; font-family:var(--zmd-sans); font-size:14.5px; }
body:not(.page-id-11) .entry-content table th, body:not(.page-id-11) .entry-content table td { border-bottom:1px solid var(--zmd-rule); padding:10px 12px; text-align:left; }
body:not(.page-id-11) .entry-content table th { background:var(--zmd-paper-subtle); font-weight:600; color:var(--zmd-ink); }

/* archive layout */
body:not(.page-id-11) .page-header { background:transparent !important; border:0 !important; padding:0 !important; margin:0 0 28px !important; }
body:not(.page-id-11) .page-header .page-title, body.archive .page-title, body.search .page-title {
  font-family:var(--zmd-serif); font-weight:600;
  font-size:clamp(34px,4vw,52px); line-height:1.08; letter-spacing:-0.02em;
  margin:0 0 6px; color:var(--zmd-ink);
}
body.archive .site-main > article, body.search .site-main > article, body.blog .site-main > article {
  border-bottom:1px solid var(--zmd-rule); padding:28px 0; margin:0;
}
body.archive .post-image img, body.search .post-image img, body.blog .post-image img {
  border-radius:6px; aspect-ratio:16/9; object-fit:cover; transition:transform .8s var(--zmd-ease);
}
body.archive .inside-article:hover .post-image img, body.search .inside-article:hover .post-image img { transform:scale(1.03); }
body.archive .entry-meta, body.search .entry-meta { font-family:var(--zmd-sans); font-size:12.5px; color:var(--zmd-muted); letter-spacing:.04em; }
body.archive .entry-meta a, body.search .entry-meta a { color:var(--zmd-muted); }
body.archive .entry-title, body.search .entry-title { font-size:clamp(22px,2.4vw,30px) !important; margin:6px 0 8px !important; }
body.archive .entry-summary p, body.search .entry-summary p { color:var(--zmd-ink-soft); font-size:16px; line-height:1.6; }
body.archive .read-more, body.search .read-more {
  display:inline-flex; align-items:center; gap:6px; margin-top:8px;
  font-family:var(--zmd-sans); font-size:13px; font-weight:600; color:var(--zmd-accent);
  border-bottom:1.5px solid var(--zmd-accent); padding-bottom:2px;
  transition:gap .3s var(--zmd-ease), color .25s var(--zmd-ease);
}
body.archive .read-more:hover, body.search .read-more:hover { color:var(--zmd-ink); border-bottom-color:var(--zmd-ink); gap:12px; }

/* sidebar widget */
body:not(.page-id-11) .widget-area .widget { background:var(--zmd-paper-subtle); border:1px solid var(--zmd-rule); padding:20px 22px; border-radius:6px; margin-bottom:24px; }
body:not(.page-id-11) .widget-area .widget-title { font-family:var(--zmd-sans); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--zmd-accent); margin:0 0 12px; }
body:not(.page-id-11) .widget-area li { border-bottom:1px solid var(--zmd-rule); padding:8px 0; list-style:none; }
body:not(.page-id-11) .widget-area li:last-child { border-bottom:0; }
body:not(.page-id-11) .widget-area li a { color:var(--zmd-ink-soft); font-family:var(--zmd-serif); font-size:15px; line-height:1.4; }
body:not(.page-id-11) .widget-area li a:hover { color:var(--zmd-accent); }

/* pagination */
body:not(.page-id-11) .nav-links a, body:not(.page-id-11) .nav-links span,
body:not(.page-id-11) .pagination a, body:not(.page-id-11) .pagination span {
  display:inline-block; padding:8px 14px; margin:0 4px; border:1px solid var(--zmd-rule);
  font-family:var(--zmd-sans); font-size:14px; color:var(--zmd-ink-soft);
  border-radius:4px; transition:all .2s var(--zmd-ease);
}
body:not(.page-id-11) .nav-links a:hover, body:not(.page-id-11) .pagination a:hover { background:var(--zmd-ink); color:#fff; border-color:var(--zmd-ink); }
body:not(.page-id-11) .nav-links .current, body:not(.page-id-11) .pagination .current { background:var(--zmd-accent); color:#fff; border-color:var(--zmd-accent); }

/* forms, buttons */
body:not(.page-id-11) input[type=text], body:not(.page-id-11) input[type=email],
body:not(.page-id-11) input[type=search], body:not(.page-id-11) input[type=url],
body:not(.page-id-11) input[type=tel], body:not(.page-id-11) textarea {
  background:#fff !important; color:var(--zmd-ink) !important;
  border:1px solid var(--zmd-rule) !important; border-radius:6px !important;
  padding:12px 14px !important; font-family:var(--zmd-sans) !important; font-size:15px !important;
  transition:border-color .2s var(--zmd-ease);
}
body:not(.page-id-11) input:focus, body:not(.page-id-11) textarea:focus { outline:0; border-color:var(--zmd-accent) !important; }
body:not(.page-id-11) button, body:not(.page-id-11) input[type=submit], body:not(.page-id-11) .button {
  background:var(--zmd-ink) !important; color:#fff !important; border:0 !important;
  padding:12px 22px !important; border-radius:999px !important;
  font-family:var(--zmd-sans) !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.02em !important;
  cursor:pointer; transition:background .25s var(--zmd-ease), transform .2s var(--zmd-ease);
}
body:not(.page-id-11) button:hover, body:not(.page-id-11) input[type=submit]:hover, body:not(.page-id-11) .button:hover { background:var(--zmd-accent) !important; transform:translateY(-1px); }

/* ── overlay footer ── */
.zmd-overlay-footer { background:var(--zmd-paper-subtle); border-top:1px solid var(--zmd-rule); padding:64px 36px 32px; }
.zmd-overlay-footer__inner { max-width:1320px; margin:0 auto; }
.zmd-overlay-footer__grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:32px; border-bottom:1px solid var(--zmd-rule); }
.zmd-overlay-footer a { text-decoration:none !important; }
.zmd-overlay-footer .zmd-brand { display:inline-flex; align-items:center; gap:10px; }
.zmd-overlay-footer .zmd-brand__word { font-family:var(--zmd-serif); font-weight:600; font-size:20px; color:var(--zmd-ink); }
.zmd-overlay-footer .zmd-brand__word .dot { color:var(--zmd-accent); }
.zmd-overlay-footer__brand p { font-family:var(--zmd-serif); font-size:14.5px; color:var(--zmd-muted); margin:12px 0 0; max-width:320px; line-height:1.55; }
.zmd-overlay-footer__col { display:flex; flex-direction:column; gap:8px; }
.zmd-overlay-footer__kicker { font-family:var(--zmd-sans); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--zmd-ink); margin-bottom:6px; display:inline-flex; align-items:center; gap:10px; }
.zmd-overlay-footer__kicker::after { content:""; width:32px; height:1px; background:var(--zmd-ink); }
.zmd-overlay-footer__col a { font-family:var(--zmd-sans); font-size:14px; color:var(--zmd-ink-soft); padding:3px 0; transition:color .2s var(--zmd-ease), padding .25s var(--zmd-ease); }
.zmd-overlay-footer__col a:hover { color:var(--zmd-accent); padding-left:6px; }
.zmd-overlay-footer__bottom { display:flex; justify-content:space-between; padding-top:20px; font-family:var(--zmd-sans); font-size:12.5px; color:var(--zmd-muted); letter-spacing:.04em; }
@media (max-width:980px){
  body:not(.page-id-11) .site-content { padding:32px 20px 48px !important; }
  .zmd-overlay-footer { padding:48px 20px 28px; }
  .zmd-overlay-footer__grid { grid-template-columns:1fr 1fr; gap:24px; }
  .zmd-overlay-footer__bottom { flex-direction:column; gap:6px; }
}

/* ── latest-news ticker (sits below nav) ── */
.zmd-ticker {
  background:var(--zmd-paper-subtle);
  border-bottom:1px solid var(--zmd-rule);
  overflow:hidden; position:relative;
}
.zmd-ticker__inner {
  max-width:1320px; margin:0 auto; padding:8px 36px;
  display:flex; align-items:center; gap:18px; min-height:36px;
  position:relative;
}
.zmd-ticker__label {
  display:inline-flex; align-items:center; gap:8px;
  flex-shrink:0; padding:4px 10px 4px 8px; border-radius:4px;
  background:var(--zmd-accent); color:#fff;
  font-family:var(--zmd-sans); font-size:10.5px; font-weight:700; letter-spacing:.2em;
}
.zmd-ticker__pulse {
  width:7px; height:7px; border-radius:50%; background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.7);
  animation:zmd-pulse 1.6s ease-out infinite;
}
@keyframes zmd-pulse {
  0% { box-shadow:0 0 0 0 rgba(255,255,255,.8); }
  100% { box-shadow:0 0 0 8px rgba(255,255,255,0); }
}
.zmd-ticker__track {
  position:relative; flex:1; height:24px; overflow:hidden;
}
.zmd-ticker__item {
  position:absolute; left:0; top:0; right:0;
  display:flex; align-items:center; gap:12px;
  opacity:0; transform:translateY(8px);
  transition:opacity .55s var(--zmd-ease), transform .55s var(--zmd-ease);
  font-family:var(--zmd-serif); font-size:14px; color:var(--zmd-ink) !important;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  text-decoration:none !important;
}
.zmd-ticker__item.is-first { opacity:1; transform:none; }
.zmd-ticker__title { font-weight:600; letter-spacing:-0.005em; overflow:hidden; text-overflow:ellipsis; }
.zmd-ticker__title:hover { color:var(--zmd-accent); }
.zmd-ticker__when {
  font-family:var(--zmd-sans); font-size:11px; color:var(--zmd-muted);
  letter-spacing:.04em; flex-shrink:0; padding-left:8px; border-left:1px solid var(--zmd-rule-strong);
}
@media (max-width:760px){
  .zmd-ticker__inner { padding:8px 18px; gap:12px; }
  .zmd-ticker__when { display:none; }
  .zmd-ticker__label { font-size:9.5px; padding:3px 8px 3px 7px; }
}

/* ── homepage slideshow ── */
.zmd-deck { position:relative; max-width:1320px; margin:0 auto; padding:36px 36px 28px; }
.zmd-deck__stage { position:relative; aspect-ratio:16/8; border-radius:8px; overflow:hidden; background:var(--zmd-paper-deep); box-shadow:var(--zmd-shadow-hover); }
.zmd-slide { position:absolute; inset:0; opacity:0; transition:opacity 1s var(--zmd-ease); pointer-events:none; display:block; }
.zmd-slide.is-active { opacity:1; pointer-events:auto; z-index:1; }
.zmd-slide__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 8s ease-out; }
.zmd-slide.is-active .zmd-slide__img { transform:scale(1.0); }
.zmd-slide::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,27,43,0) 30%, rgba(11,27,43,.85) 100%);
}
.zmd-slide__caption { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:36px 44px; color:#fff; }
.zmd-slide__kicker { display:inline-flex; align-items:center; gap:10px; font-family:var(--zmd-sans); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--zmd-accent-soft); margin-bottom:14px; }
.zmd-slide__kicker::after { content:""; width:32px; height:1px; background:var(--zmd-accent-soft); }
.zmd-slide__title { font-family:var(--zmd-serif); font-weight:600; font-size:clamp(28px,3.4vw,42px); line-height:1.1; letter-spacing:-0.015em; margin:0 0 12px; color:#fff; max-width:880px; }
.zmd-slide__title a { color:#fff !important; }
.zmd-slide__dek { font-family:var(--zmd-serif); font-size:17px; line-height:1.55; color:rgba(255,255,255,.85); max-width:760px; margin:0 0 14px; }
.zmd-slide__meta { font-family:var(--zmd-sans); font-size:12.5px; color:rgba(255,255,255,.7); letter-spacing:.06em; }
.zmd-deck__arrows { position:absolute; top:50%; left:36px; right:36px; transform:translateY(-50%); display:flex; justify-content:space-between; pointer-events:none; z-index:3; }
.zmd-deck__arrow {
  pointer-events:auto; width:48px; height:48px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(11,27,43,.55); color:#fff;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .25s var(--zmd-ease), transform .2s var(--zmd-ease);
}
.zmd-deck__arrow:hover { background:var(--zmd-accent); transform:scale(1.05); }
.zmd-deck__dots { display:flex; justify-content:center; gap:10px; margin-top:18px; }
.zmd-deck__dot { width:36px; height:4px; border-radius:2px; background:var(--zmd-rule-strong); border:0; cursor:pointer; padding:0; transition:background .25s var(--zmd-ease), transform .25s var(--zmd-ease); }
.zmd-deck__dot.is-active { background:var(--zmd-accent); transform:scaleX(1.4); }
@media (max-width:880px){
  .zmd-deck { padding:24px 20px; }
  .zmd-deck__stage { aspect-ratio:4/5; border-radius:6px; }
  .zmd-deck__arrows { display:none; }
  .zmd-slide__caption { padding:22px 22px 24px; }
}

/* ── related posts on single ── */
.zmd-related { max-width:1180px; margin:48px auto 0; padding:0 36px; }
.zmd-related__head { display:flex; align-items:baseline; justify-content:space-between; padding-bottom:12px; border-bottom:2px solid var(--zmd-ink); margin-bottom:22px; }
.zmd-related__head h2 { font-family:var(--zmd-sans); font-weight:700; font-size:20px; letter-spacing:-0.01em; margin:0; }
.zmd-related__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.zmd-related__card { display:block; background:#fff; border:1px solid var(--zmd-rule); border-radius:6px; overflow:hidden; transition:transform .35s var(--zmd-ease), box-shadow .35s var(--zmd-ease); }
.zmd-related__card:hover { transform:translateY(-4px); box-shadow:var(--zmd-shadow-card); }
.zmd-related__img { display:block; aspect-ratio:16/9; background:var(--zmd-paper-deep); overflow:hidden; }
.zmd-related__img img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--zmd-ease); }
.zmd-related__card:hover .zmd-related__img img { transform:scale(1.05); }
.zmd-related__body { padding:14px 16px 16px; }
.zmd-related__title { font-family:var(--zmd-serif); font-size:16px; line-height:1.3; font-weight:600; margin:0; color:var(--zmd-ink); }
.zmd-related__meta { font-family:var(--zmd-sans); font-size:11.5px; color:var(--zmd-muted); margin-top:6px; display:block; }
@media (max-width:880px){ .zmd-related__grid { grid-template-columns:1fr; gap:18px; } .zmd-related { padding:0 20px; } }

/* ── single-post tools (share / save / reading time) ── */
.zmd-tools { display:flex; gap:10px; align-items:center; margin:8px 0 18px; font-family:var(--zmd-sans); font-size:13px; color:var(--zmd-muted); }
.zmd-tools__chip { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:1px solid var(--zmd-rule); border-radius:999px; color:var(--zmd-ink-soft); background:var(--zmd-paper-subtle); }
.zmd-tools__chip svg { width:14px; height:14px; }
.zmd-tools__share { margin-left:auto; display:flex; gap:6px; }
.zmd-tools__share a { width:34px; height:34px; border-radius:50%; border:1px solid var(--zmd-rule); display:inline-flex; align-items:center; justify-content:center; color:var(--zmd-ink-soft); transition:background .2s, color .2s, transform .2s; }
.zmd-tools__share a:hover { background:var(--zmd-accent); border-color:var(--zmd-accent); color:#fff; transform:translateY(-1px); }

/* ── reveal on load ── */
@keyframes zmd-ov-rise { 0%{opacity:0;transform:translateY(14px);} 100%{opacity:1;transform:none;} }
body:not(.page-id-11) .entry-header, body:not(.page-id-11) .entry-content > *,
body:not(.page-id-11) .page-header, body:not(.page-id-11) .archive .post,
.zmd-overlay-footer__inner { animation:zmd-ov-rise .7s var(--zmd-ease) both; }
@media (prefers-reduced-motion:reduce){ body * { animation:none !important; transition:none !important; } }

/* ── Accessibility: tighter contrast + visible underlines on inline links ── */
/* Body content links use the accent on cream paper (5:1 AA pass) plus the
   underline already declared above. Defensive: ensure widget-area links
   and footer links carry a visible non-color affordance for axe-core
   `link-in-text-block` and don't rely on color alone. */
body:not(.page-id-11) .widget-area li a { text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; text-decoration-color:rgba(11,27,43,.25); }
body:not(.page-id-11) .widget-area li a:hover { text-decoration-color:var(--zmd-accent); }
.zmd-overlay-footer__col a:hover, .zmd-overlay-footer__col a:focus-visible { text-decoration:underline; text-underline-offset:3px; }
body:not(.page-id-11) .entry-content a:focus-visible { outline:2px solid var(--zmd-accent); outline-offset:2px; border-radius:2px; }

/* ── Homepage v2 contrast overrides (Lighthouse a11y fixes 2026-05-13) ── */
/* The v2 content uses --zmd-accent (#B85C3A) for small kickers/links.
   On cream paper, that hits 4.34:1 — fails WCAG AA (needs 4.5:1).
   Force the darker --zmd-accent-deep (#9B4A2D ≈ 6.1:1) for these
   selectors. We include `#zmd-home-v2` to beat the v2 inline style's
   ID-selector specificity (an ID always beats class selectors). */
body.page-id-11 #zmd-home-v2 .zmd-pillar__head a,
body.page-id-11 #zmd-home-v2 .zmd-pillar__kicker,
body.page-id-11 #zmd-home-v2 .zmd-about__cta,
body.page-id-11 #zmd-home-v2 .zmd-deck__dots .zmd-deck__dot,
body.page-id-11 #zmd-home-v2 .zmd-slide__kicker { color:var(--zmd-accent-deep) !important; }
body.page-id-11 #zmd-home-v2 .zmd-pillar__head a:hover { color:var(--zmd-ink) !important; text-decoration:underline; text-underline-offset:3px; }
/* Slide caption text sits on a dark gradient (white on dark) — no fix needed. */
