/* Blog: single post, listings (home, archive, blog/featured/press pages). Loaded only there (inc/posts.php). */
.op-post-hd{padding-block:72px 32px}
.op-post-narrow{max-width:780px}
.op-post-hd .op-post-narrow{text-align:center}
.op-post-hd .wp-block-post-date{display:block;margin:0 0 14px}
.op-post-title{font-size:clamp(34px,4.6vw,58px);line-height:1.08;letter-spacing:-.03em;margin:0 0 18px;color:var(--text)}
.op-post-hd .lede,.op-post-hd .wp-block-post-excerpt{margin-inline:auto}
.op-post-hd .wp-block-post-excerpt__more-text{display:none}
.op-post-body{padding-block:0 40px}
.op-post-img{margin:0 0 40px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.op-post-img img{display:block;width:100%;height:auto}

/* Long-form text */
.op-prose{color:var(--text);font-size:17px;line-height:1.75}
.op-prose>*{margin-block:0 1.15em}
.op-prose h2{font-size:clamp(24px,2.6vw,32px);line-height:1.2;letter-spacing:-.02em;margin-top:1.8em;color:var(--text)}
.op-prose h3{font-size:clamp(19px,2vw,23px);line-height:1.3;margin-top:1.5em;color:var(--text)}
.op-prose h4{font-size:18px;margin-top:1.3em}
.op-prose p,.op-prose li{color:var(--text)}
.op-prose a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}
.op-prose a:hover{text-decoration-thickness:2px}
.op-prose ul,.op-prose ol{padding-left:1.3em}
.op-prose ul{list-style:disc}
.op-prose ol{list-style:decimal}
.op-prose li{margin-bottom:.45em}
.op-prose li::marker{color:var(--mint)}
.op-prose strong{color:#fff;font-weight:600}
.op-prose blockquote{margin-inline:0;padding:18px 22px;border-left:3px solid var(--mint);background:rgba(255,255,255,.04);border-radius:0 var(--r-sm,10px) var(--r-sm,10px) 0}
.op-prose blockquote p:last-child{margin-bottom:0}
.op-prose img{max-width:100%;height:auto;border-radius:var(--r-sm,10px)}
.op-prose figure{margin-inline:0}
.op-prose figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.op-prose hr{border:0;border-top:1px solid var(--line);margin-block:2.2em}
.op-prose code{font-family:var(--mono);font-size:.9em;background:rgba(255,255,255,.06);padding:.1em .35em;border-radius:6px}
.op-prose .wp-block-table{overflow-x:auto}
.op-prose table{width:100%;border-collapse:collapse;font-size:15px}
.op-prose th,.op-prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.op-prose th{color:#fff;font-weight:600;background:rgba(255,255,255,.04)}

/* Listings */
section.op-post-hd{padding-bottom:8px}
section.op-post-hd+.sec{padding-top:24px}
.op-page-intro{margin-inline:auto}
.op-page-intro>*{margin:0 auto .6em}
.op-post-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.op-post-grid>li{margin:0;display:flex}
.op-post-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:0 0 22px}
.op-post-card>*:not(.op-post-card-img){margin:0 22px}
.op-post-card-img{margin:0 0 6px;aspect-ratio:16/9;overflow:hidden;background:rgba(255,255,255,.03)}
.op-post-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.op-post-card:hover .op-post-card-img img{transform:scale(1.03)}
.op-post-card .wp-block-post-title{margin-top:2px}
.op-post-card .wp-block-post-title a{color:var(--text);text-decoration:none}
.op-post-card .wp-block-post-title a:hover{color:var(--mint)}
.op-post-card .wp-block-post-excerpt__more-text{display:none}
.op-post-card .wp-block-post-excerpt__excerpt{margin:0}
.op-post-card:not(:has(.op-post-card-img)){padding-top:22px}
.op-pager{margin-top:36px;gap:10px;font-family:var(--mono);font-size:13px}
.op-pager a,.op-pager .page-numbers{color:var(--dim);text-decoration:none;padding:8px 12px;min-width:24px;border-radius:100px;border:1px solid var(--line)}
.op-pager .current{color:var(--on-accent,#06121c);background:var(--mint);border-color:var(--mint)}
@media (max-width:980px){.op-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.op-post-grid{grid-template-columns:1fr}.op-post-hd{padding-block:48px 24px}.op-prose{font-size:16px}}
html[data-motion="off"] .op-post-card-img img{transition:none}
@media (prefers-reduced-motion:reduce){.op-post-card-img img{transition:none}}
.op-prose pre,.op-prose .wp-block-preformatted{font-family:var(--mono);font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:var(--r-sm,12px);padding:16px 18px;color:var(--text)}
.op-prose h4{font-size:16px;color:var(--text);margin-top:1.4em}
