/* Oyeola journal — shared editorial styling */
.blog-index-hero{padding:clamp(42px,7vw,92px) 0 52px;background:var(--oy-bg-soft,#08100a);border-bottom:1px solid var(--oy-line)}
.blog-index-hero h1{font-size:clamp(31px,4.1vw,54px);letter-spacing:-.045em;line-height:1.14;max-width:18ch;margin:9px 0 14px}
.blog-index-hero>div>p:last-child{max-width:58ch;font-size:16px;line-height:1.65;color:var(--oy-muted)}
.blog-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.blog-list-toolbar h2{font-size:clamp(23px,2.8vw,34px);margin:0}
.blog-list-toolbar input{background:var(--oy-panel);border:1px solid var(--oy-line);border-radius:100px;color:var(--oy-text);padding:12px 18px;min-width:min(300px,100%);font:inherit}
.blog-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.blog-home-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 3px 18px}
.blog-home-track::-webkit-scrollbar{display:none}
.blog-home-track .blog-card{scroll-snap-align:start}
.blog-home-nav{display:flex;gap:8px}
.blog-home-nav button{width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--oy-line);color:var(--oy-text);cursor:pointer}
.blog-home-nav button:hover{border-color:var(--oy-green);color:var(--oy-green)}
.blog-home-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.blog-home-header h2{margin:7px 0 0;font-size:clamp(25px,3vw,37px)}
.blog-home-links{display:flex;align-items:center;gap:16px}
.blog-card{display:flex;flex-direction:column;background:var(--oy-panel);border:1px solid var(--oy-line);border-radius:18px;overflow:hidden;min-width:0;transition:border-color .2s ease,transform .2s ease}
.blog-card:hover{border-color:var(--oy-line-strong);transform:translateY(-3px)}
.blog-card-image{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--oy-bg-soft);width:100%}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.025)}
.blog-card-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--oy-green);font-weight:700;font-size:22px;line-height:1.1;text-align:center;letter-spacing:-.04em}
.blog-card-body{padding:20px;display:flex;flex-direction:column;gap:11px;flex:1}
.blog-card-meta,.blog-date{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;line-height:1.55;color:var(--oy-muted)!important;margin:0}
.blog-card h3{font-size:19px;line-height:1.32;letter-spacing:-.035em;margin:0}
.blog-card h3 a:hover{color:var(--oy-green)}
.blog-card-excerpt{color:var(--oy-muted);font-size:14px;line-height:1.65;margin:0}
.blog-card .text-link{margin-top:auto;padding-top:7px;font-size:13px}
.blog-article{padding-top:48px;padding-bottom:78px}
.blog-article-heading{max-width:800px;margin:15px auto 37px;text-align:center}
.blog-article-heading h1{font-size:clamp(30px,4.5vw,54px);line-height:1.17;letter-spacing:-.045em;margin:9px 0 18px}
.blog-summary{font-size:clamp(15px,1.65vw,18px);line-height:1.75;color:var(--oy-muted);margin:0 auto 18px;max-width:700px}
.blog-date{justify-content:center}
.blog-cover{margin:0 auto clamp(35px,5vw,65px);max-width:1100px;border-radius:20px;overflow:hidden}
.blog-cover img{display:block;width:100%;height:auto}
.blog-body{width:min(740px,100%);margin:0 auto;color:var(--oy-text)}
.blog-body>p,.blog-body>ul,.blog-body>ol,.blog-body>blockquote,.blog-body>.blog-callout{font-size:16px;line-height:1.86}
.blog-body>p{margin:0 0 25px;color:var(--oy-muted)}
.blog-body h2{font-size:clamp(24px,2.8vw,32px);line-height:1.32;margin:47px 0 18px;letter-spacing:-.035em}
.blog-body h3{font-size:22px;line-height:1.4;margin:31px 0 14px}
.blog-body h4{font-size:18px;margin:25px 0 12px}
.blog-body ul,.blog-body ol{margin:0 0 27px;padding-left:24px}
.blog-body li{padding-left:6px;margin-bottom:10px;color:var(--oy-muted)}
.blog-body a:not(.btn){color:var(--oy-green);text-decoration:underline;text-underline-offset:3px}
.blog-body figure{margin:34px 0}
.blog-body figure img{border:1px solid var(--oy-line);border-radius:14px;width:100%;height:auto}
.blog-body figcaption{text-align:center;margin-top:10px;color:var(--oy-muted);font-size:12px}
.blog-body blockquote,.blog-callout{border-left:3px solid var(--oy-green);padding:18px 23px;background:var(--oy-panel);margin:33px 0;border-radius:0 12px 12px 0}
.blog-body hr{border:0;border-top:1px solid var(--oy-line);margin:38px auto}
.blog-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:30px 0}
.blog-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.blog-video{position:relative;padding-top:56.25%;margin:30px 0;border-radius:16px;overflow:hidden}
.blog-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.blog-table-wrap{overflow-x:auto;margin:30px 0;border:1px solid var(--oy-line);border-radius:12px}
.blog-table-wrap table{border-collapse:collapse;width:100%;font-size:14px}
.blog-table-wrap th,.blog-table-wrap td{border-bottom:1px solid var(--oy-line);padding:12px 14px;text-align:left}
.blog-table-wrap th{background:var(--oy-panel)}
.blog-back{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:65px;flex-wrap:wrap}
.blog-empty{padding:40px;text-align:center;color:var(--oy-muted)}
@media(max-width:950px){.blog-home-track{grid-auto-columns:calc((100% - 20px)/2)}.blog-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.blog-post-grid{grid-template-columns:1fr}.blog-home-track{grid-auto-columns:86%;gap:12px;padding-right:12%}.blog-card-body{padding:15px}.blog-card h3{font-size:17px}.blog-index-hero{padding:42px 0 30px}.blog-list-toolbar{align-items:stretch;flex-direction:column;gap:13px}.blog-home-header{align-items:flex-end}.blog-home-links{gap:8px}.blog-home-nav button{width:36px;height:36px}.blog-article{padding-top:25px}.blog-body>p,.blog-body>ul,.blog-body>ol{font-size:15px}.blog-cover{border-radius:13px}.blog-gallery{gap:7px}}
@media(prefers-reduced-motion:reduce){.blog-card,.blog-card-image img{transition:none!important}}

[data-blog-home][hidden]{display:none!important}
