/* =========================================================
   DimenChain — blog / insights
   Dark masthead, light long-form body, serif reading face.
   ========================================================= */

:root{ --serif:"Source Serif 4",Georgia,"Times New Roman",serif; }

/* ---------------- masthead ---------------- */
.dc-mast{position:relative;padding:calc(72px + clamp(36px,5vw,64px)) 0 clamp(32px,4vw,52px);overflow:hidden}
.dc-mast::before{content:"";position:absolute;inset:0;pointer-events:none;
	background:radial-gradient(52% 44% at 70% 22%,rgba(39,225,193,.12),transparent 70%)}
.dc-mast__in{position:relative;z-index:2;max-width:820px}
.dc-mast h1{margin-top:16px;font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.035em;color:#fff}
.dc-mast__lede{margin-top:16px;color:var(--txt-2);font-size:clamp(1rem,1.4vw,1.14rem);max-width:60ch}
.dc-mast__meta{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px 0;font-family:var(--mono);font-size:.74rem;color:var(--txt-3)}
.dc-mast__meta span{padding:0 14px;border-left:1px solid var(--line-2)}
.dc-mast__meta span:first-child{padding-left:0;border-left:0}
.dc-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;
	text-transform:uppercase;color:var(--mint)}
.dc-back span{transition:transform .25s var(--ease)}
.dc-back:hover span{transform:translateX(-3px)}

/* Cover figure — sized as a figure, not a banner, and shown uncropped at the
   ratio it was drawn in so the data stays readable. */
.dc-feat{position:relative;z-index:3;max-width:940px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
/* height:auto is required — WordPress emits a height attribute on the img,
   which is a presentational hint that would otherwise beat aspect-ratio. */
.dc-feat img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;
	border:1px solid var(--line-2);background:var(--ground)}
.dc-feat figcaption{margin-top:12px;font-family:var(--mono);font-size:.76rem;line-height:1.5;color:var(--txt-3);
	display:flex;gap:10px;align-items:baseline}
.dc-feat figcaption b{flex:none;color:var(--mint);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}

/* key figures pulled from the article */
.dc-keyfig{position:relative;z-index:3;padding:clamp(28px,3.5vw,40px) 0 clamp(26px,3vw,34px)}
.dc-keyfig__in{max-width:860px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
	background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dc-keyfig__i{background:var(--ground);padding:18px 20px}
.dc-keyfig__v{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,2vw,1.5rem);
	color:#fff;letter-spacing:-.02em;line-height:1.15}
.dc-keyfig__k{display:block;margin-top:5px;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;
	text-transform:uppercase;color:var(--txt-3)}

/* ---------------- index grid ---------------- */
.dc-idx{background:var(--paper);color:var(--ink);padding:clamp(56px,6vw,84px) 0}
.dc-idx__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dc-pg{margin-top:44px;display:flex;gap:10px;justify-content:center;font-family:var(--mono);font-size:.82rem}
.dc-pg a,.dc-pg span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;
	border-radius:9px;border:1px solid rgba(7,19,15,.12);color:var(--ink-soft)}
.dc-pg .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.dc-pg a:hover{border-color:var(--mint-2);color:var(--mint-2)}

/* ---------------- article body ---------------- */
.dc-body{background:var(--paper);color:var(--ink);padding:clamp(44px,5vw,72px) 0 clamp(56px,6vw,90px)}
.dc-body--pad{padding-top:clamp(56px,6vw,88px)}
.dc-article{max-width:70ch;margin:0 auto;font-family:var(--serif);font-size:1.115rem;line-height:1.78;color:#16241f}
.dc-article > *{margin-top:1.35em}
.dc-article > *:first-child{margin-top:0}
.dc-article > p:first-of-type{font-size:1.24rem;line-height:1.66;color:#0d1a16}
.dc-article h2{font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.025em;
	color:var(--ink);margin-top:2.1em;line-height:1.16}
.dc-article h3{font-family:var(--display);font-weight:600;font-size:clamp(1.12rem,1.7vw,1.32rem);letter-spacing:-.02em;
	color:var(--ink);margin-top:1.7em;line-height:1.24}
.dc-article a{color:#0f7f70;text-decoration:underline;text-underline-offset:2px}
.dc-article a:hover{color:var(--mint-2)}
.dc-article strong{font-weight:600;color:#0b1815}
.dc-article ul,.dc-article ol{padding-left:1.2em}
.dc-article li{margin-top:.55em}
.dc-article li::marker{color:var(--mint-2)}
.dc-article blockquote{margin:2em 0;padding:0 0 0 30px;border-left:3px solid var(--mint-2);
	font-size:1.42rem;line-height:1.45;letter-spacing:-.015em;color:#0b1815}
.dc-article blockquote p{margin:0}
.dc-article blockquote p + p{margin-top:.6em}
.dc-article figure{margin-left:0;margin-right:0}
.dc-article img{border-radius:14px;height:auto}
.dc-article figcaption{margin-top:8px;font-family:var(--mono);font-size:.76rem;color:var(--ink-soft)}
.dc-article hr{border:0;border-top:1px solid rgba(7,19,15,.12);margin:2.4em 0}
.dc-article code{font-family:var(--mono);font-size:.88em;background:rgba(7,19,15,.06);padding:2px 6px;border-radius:5px}
/* Tables read as figures: mono headers, a mint rule, generous cells. */
.dc-article figure.wp-block-table,.dc-article .wp-block-table{margin:2.2em 0}
.dc-article table{width:100%;border-collapse:collapse;font-family:var(--body);font-size:.95rem;
	background:#fff;border:1px solid rgba(7,19,15,.11);border-radius:12px;overflow:hidden}
.dc-article thead{background:#e7edea}
.dc-article th,.dc-article td{text-align:left;padding:13px 16px;border-bottom:1px solid rgba(7,19,15,.09);vertical-align:top}
.dc-article th{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
	font-weight:600;color:#0f4e44}
.dc-article tbody tr:last-child td{border-bottom:0}
.dc-article td:first-child{font-weight:600;color:var(--ink);width:32%}
.dc-article .wp-block-table figcaption{margin-top:10px;font-family:var(--mono);font-size:.74rem;color:var(--ink-soft)}

/* end-of-article CTA */
.dc-endcta{max-width:70ch;margin:clamp(44px,5vw,68px) auto 0;padding:26px 28px;border-radius:var(--r-lg);
	background:var(--ground);color:var(--txt);display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between}
.dc-endcta h3{font-size:1.16rem;color:#fff;letter-spacing:-.02em}
.dc-endcta p{margin-top:6px;font-size:.92rem;color:var(--txt-2);max-width:44ch}

/* related */
.dc-rel{background:var(--paper);padding:0 0 clamp(56px,6vw,88px)}
.dc-rel__k{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-2);margin-bottom:20px}
.dc-rel__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

@media (max-width:1024px){
	.dc-idx__grid,.dc-rel__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.dc-idx__grid,.dc-rel__grid{grid-template-columns:1fr}
	.dc-article{font-size:1.06rem}
	.dc-article > p:first-of-type{font-size:1.14rem}
}

@media (max-width:640px){ .dc-keyfig__in{grid-template-columns:1fr} }
