/* Joe Lumi blog: blog, single post, category, author and search pages */
.jl-hero .hero-main{max-width:820px}
.jl-hero h1{color:#fff;font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-.02em}
.jl-hero .hero-main>p,.jl-hero-desc,.jl-hero-desc p{color:#cfcfcf;font-size:18px;max-width:680px}
.jl-hero .pill{text-decoration:none}
.jl-crumbs ol,.jl-crumbs>span{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:14px;color:#bdbdbd}
.jl-crumbs li+li::before{content:"/";margin-right:8px;color:#777}
.jl-crumbs a{color:#bdbdbd}
.jl-count{font-size:15px!important;color:#9a9a9a!important}
.jl-search{display:flex;gap:10px;flex-wrap:wrap;max-width:560px;margin-top:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:10px}
.jl-search input{flex:1 1 220px;min-width:0;border:0;border-radius:10px;padding:12px 14px;font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* chips */
.jl-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.jl-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;background:#fff;transition:border-color .2s,color .2s,background .2s}
.jl-chip:hover{border-color:var(--accent);color:var(--accent)}
.jl-chip.is-on{background:#111;border-color:#111;color:#fff}

/* grid + cards */
.jl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.jl-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.05);transition:transform .25s,box-shadow .25s}
.jl-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.1)}
.jl-card-media{display:block;aspect-ratio:16/9;background:#111;overflow:hidden}
.jl-card-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.jl-card:hover .jl-card-img{transform:scale(1.04)}
.jl-card-ph{display:flex;align-items:flex-end;width:100%;height:100%;padding:20px;background:radial-gradient(420px 220px at 90% 0%,rgba(215,25,32,.45),transparent 60%),linear-gradient(135deg,#1b1b1b,#0d0d0d)}
.jl-card-ph b{font-family:var(--head);font-size:22px;color:#fff}
.jl-card-body{display:flex;flex-direction:column;gap:12px;padding:22px 24px 24px;flex:1}
.jl-card-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.jl-card-meta .jl-chip{padding:4px 10px;font-size:12px;color:var(--accent);border-color:#F1D2D3;background:#FDF2F2}
.jl-card-title{margin:0;font-size:21px;line-height:1.25}
.jl-card-title a{color:var(--ink);text-decoration:none}
.jl-card-title a:hover{color:var(--accent)}
.jl-card-excerpt{margin:0;color:var(--text);font-size:15px}
.jl-card-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;font-size:13px;color:var(--muted)}
.jl-card-foot a{color:var(--ink);font-weight:700;text-decoration:none}
.jl-avatar{border-radius:50%;object-fit:cover;flex:none}
.jl-card.is-featured{grid-column:1/-1;flex-direction:row}
.jl-card.is-featured .jl-card-media{flex:1.3 1 0;aspect-ratio:auto;min-height:340px}
.jl-card.is-featured .jl-card-body{flex:1 1 0;padding:36px;justify-content:center}
.jl-card.is-featured .jl-card-title{font-size:clamp(26px,2.6vw,34px)}
@media (max-width:820px){.jl-card.is-featured{flex-direction:column}.jl-card.is-featured .jl-card-media{flex:none;width:100%;min-height:0;aspect-ratio:16/9}.jl-card.is-featured .jl-card-body{padding:24px}}

/* pagination */
.jl-pages{margin-top:48px}
.jl-pages ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.jl-pages a,.jl-pages span{display:inline-flex;align-items:center;min-width:44px;height:44px;padding:0 14px;justify-content:center;border-radius:12px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700}
.jl-pages .current{background:#111;border-color:#111;color:#fff}
.jl-pages a:hover{border-color:var(--accent);color:var(--accent)}

/* empty state */
.jl-empty{text-align:center;max-width:620px;margin:0 auto;padding:48px 24px;border:1px dashed #d6d6d6;border-radius:22px;background:#fafafa}
.jl-empty h2{margin:0 0 10px}.jl-empty p{color:var(--text);margin:0 0 22px}

/* CTA band */
.jl-cta{background:radial-gradient(800px 360px at 100% 0%,rgba(215,25,32,.3),transparent 60%),#111;color:#fff}
.jl-cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px;padding-top:72px;padding-bottom:72px}
.jl-cta h2{color:#fff;margin:0 0 10px;font-size:clamp(28px,3.2vw,40px)}
.jl-cta p{color:#cfcfcf;margin:0;max-width:560px}
.jl-cta .eyebrow{color:#fff}
.jl-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.jl-cta .btn-line,.jl-hero .btn-line{color:#fff;background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.jl-list-h{margin:0 0 32px}

/* author page */
.jl-author-head{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.jl-author-photo{width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 3px var(--accent),0 20px 50px rgba(0,0,0,.4)}
.jl-role{color:#ff7a7f!important;font-weight:700;font-size:16px!important;margin:-6px 0 0}
.jl-author-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;color:#bdbdbd;font-size:15px}
.jl-socials{display:flex;flex-wrap:wrap;gap:8px}
.jl-socials a{border:1px solid rgba(127,127,127,.4);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;text-decoration:none;color:inherit}
.jl-socials a:hover{border-color:var(--accent);color:var(--accent)}

/* single post */
.jl-post-hero .hero-main{max-width:900px}
.jl-dek{font-size:20px!important}
.jl-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:6px;color:#cfcfcf;font-size:15px}
.jl-byline a{color:#fff;font-weight:700;text-decoration:none}
.jl-byline>div>span{display:block;font-size:13px;color:#9a9a9a}
.jl-byline .jl-avatar{border:2px solid rgba(255,255,255,.7)}
.jl-byline-meta{display:flex;flex-wrap:wrap;gap:6px 14px;padding-left:16px;border-left:1px solid rgba(255,255,255,.2)}
.jl-post .jl-post-wrap{display:grid;grid-template-columns:minmax(0,720px) 300px;justify-content:center;gap:64px;padding-top:56px;padding-bottom:80px;align-items:start}
.jl-prose{max-width:740px;font-size:18px;line-height:1.75;color:var(--text)}
.jl-prose>*+*{margin-top:1.1em}
.jl-prose h2{font-size:clamp(26px,2.6vw,32px);line-height:1.2;color:var(--ink);margin-top:1.8em;scroll-margin-top:110px}
.jl-prose h3{font-size:22px;color:var(--ink);margin-top:1.5em}
.jl-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.jl-prose img{max-width:100%;height:auto;border-radius:14px}
.jl-prose blockquote{margin:1.6em 0;padding:18px 24px;border-left:4px solid var(--accent);background:#f6f6f4;border-radius:0 14px 14px 0;font-size:19px;color:var(--ink)}
.jl-prose ul,.jl-prose ol{padding-left:1.3em}
.jl-prose li+li{margin-top:.4em}
.jl-prose table{width:100%;border-collapse:collapse;font-size:16px}
.jl-prose th,.jl-prose td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.jl-prose th{background:#111;color:#fff}
.jl-prose pre{background:#111;color:#eee;padding:18px;border-radius:12px;overflow:auto;font-size:14px}
.jl-prose figure{margin:1.6em 0}.jl-prose figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.jl-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2em}
.jl-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2em;padding-top:1.4em;border-top:1px solid var(--line);font-size:14px}
.jl-share b{margin-right:6px;color:var(--ink)}
.jl-share a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none!important;color:var(--ink)!important;font-weight:700}
.jl-share a:hover{border-color:var(--accent);color:var(--accent)!important}
.jl-author-box{display:flex;gap:22px;align-items:flex-start;margin-top:2.2em;padding:28px;border-radius:20px;background:#111;color:#cfcfcf;font-size:16px;line-height:1.6}
.jl-author-box .jl-avatar{border:3px solid #fff}
.jl-author-box h2{margin:2px 0 4px!important;font-size:24px!important;color:#fff}
.jl-author-box h2 a{color:#fff!important;text-decoration:none!important}
.jl-author-box .eyebrow{color:#ff7a7f;margin:0}
.jl-author-box p{margin:6px 0 0}
.jl-author-box .jl-socials{margin-top:12px}
.jl-author-box .jl-socials a{color:#fff!important;text-decoration:none!important}
.jl-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2.2em}
.jl-prevnext a{display:block;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none!important;color:var(--ink)!important;font-weight:700;font-size:16px;line-height:1.35}
.jl-prevnext a.next{text-align:right}
.jl-prevnext small{display:block;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.jl-prevnext a:hover{border-color:var(--accent)}
.jl-aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.jl-toc{border:1px solid var(--line);border-radius:18px;padding:20px 22px;font-size:15px}
.jl-toc b{display:block;margin-bottom:10px;color:var(--ink)}
.jl-toc ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.jl-toc a{color:var(--text);text-decoration:none}
.jl-toc a:hover{color:var(--accent)}
.jl-aside-cta{background:radial-gradient(400px 200px at 100% 0%,rgba(215,25,32,.35),transparent 60%),#111;color:#cfcfcf;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;font-size:15px}
.jl-aside-cta b{font-family:var(--head);font-size:22px;color:#fff}
.jl-aside-cta p{margin:0}
.jl-tel{color:#fff;font-weight:700;text-decoration:none;font-size:14px;text-align:center}
.jl-related{background:#EEEEEC}
.jl-related h2{margin:0 0 28px}
@media (max-width:1000px){.jl-post-wrap{grid-template-columns:1fr}.jl-aside{position:static}}
@media (max-width:600px){.jl-prose{font-size:17px}.jl-author-box{flex-direction:column}.jl-prevnext{grid-template-columns:1fr}.jl-byline-meta{padding-left:0;border-left:0}.jl-author-photo{width:120px;height:120px}}

/* single post: split hero with the featured image */
.jl-post .jl-post-head{display:flex;align-items:center;gap:40px 56px;flex-wrap:wrap}
.jl-post .jl-post-head .hero-main{flex:1 1 520px;min-width:0}
.jl-post-figure{flex:0 1 480px;margin:0;min-width:0}
.jl-post-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12)}
.jl-post-hero h1{font-size:clamp(32px,3.6vw,48px)}
.jl-post .jl-prose>p:first-child{font-size:20px;color:var(--ink)}
.jl-prevnext:has(> :only-child){grid-template-columns:1fr}
.jl-post .jl-aside{top:120px}
@media (max-width:1000px){.jl-post .jl-post-wrap{grid-template-columns:minmax(0,1fr);gap:40px}.jl-post-figure{flex-basis:100%}}
