/* JMarzTech Content Layouts — front end.
   Every selector is prefixed .jmcl-; override any of them from your theme or Appearance → Customize → Additional CSS. */

/* ---------- display wrapper ---------- */
.jmcl-display{--jmcl-cols:3;--jmcl-gap:24px;--jmcl-radius:8px;--jmcl-per-view:1;--jmcl-card-bg:transparent;margin:1.5em 0;box-sizing:border-box}
.jmcl-display *,.jmcl-display *::before,.jmcl-display *::after{box-sizing:border-box}
.jmcl-display.jmcl-capped{margin-left:auto;margin-right:auto}
.jmcl-display.jmcl-has-bg{background:var(--jmcl-bg);padding:var(--jmcl-gap);border-radius:var(--jmcl-radius)}
.jmcl-grid{display:grid;grid-template-columns:repeat(var(--jmcl-cols),minmax(0,1fr));gap:var(--jmcl-gap)}
@media (max-width:1024px){.jmcl-grid{grid-template-columns:repeat(var(--jmcl-cols-t,var(--jmcl-cols)),minmax(0,1fr))}}
@media (max-width:600px){.jmcl-grid{grid-template-columns:repeat(var(--jmcl-cols-m,1),minmax(0,1fr))}}
.jmcl-empty{opacity:.65;font-style:italic}
/* Some editors (Elementor Text Editor, classic widgets) run wpautop over shortcode output; empty paragraphs and stray breaks it adds are hidden. */
.jmcl-display p:empty,.jmcl-card>br,.jmcl-slide>br,.jmcl-grid>br,.jmcl-grid>p:empty,.jmcl-track>p:empty,.jmcl-single>p:empty{display:none}

/* ---------- card ---------- */
.jmcl-card{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;background:var(--jmcl-card-bg);border-radius:var(--jmcl-radius)}
.jmcl-media{position:relative;display:block;text-decoration:none;overflow:hidden;border-radius:var(--jmcl-radius);line-height:0;background:rgba(127,127,127,.08)}
.jmcl-media img{display:block;max-width:100%;height:auto;margin:0 auto;transition:transform .35s ease}
.jmcl-crop .jmcl-media{aspect-ratio:var(--jmcl-ratio,16/9)}
.jmcl-crop .jmcl-media img{width:100%;height:100%;object-fit:cover}
/* Some themes size images from script with inline width/height (Twenty Twenty-One does); a cropped card image always fills its frame. */
.jmcl-crop .jmcl-media img[style]{width:100%!important;height:100%!important;max-width:none!important}
.jmcl-card:hover .jmcl-media img{transform:scale(1.03)}
.jmcl-ph{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:var(--jmcl-ratio,16/9);background:linear-gradient(135deg,#8B5CF6,#4C1D95);color:#fff;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.02em}
.jmcl-crop .jmcl-ph{height:100%}

.jmcl-body{padding:var(--jmcl-pad,1em);line-height:1.4}
.jmcl-c1{margin:0;font-size:var(--jmcl-c1-size,1.08em);font-weight:var(--jmcl-c1-weight,600);font-style:var(--jmcl-c1-style,normal);font-family:var(--jmcl-c1-font,inherit);color:var(--jmcl-c1-color,inherit);line-height:1.3}
.jmcl-c1 a{color:inherit;text-decoration:none}
.jmcl-c1 a:hover,.jmcl-c1 a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.jmcl-c2{margin-top:.3em;font-size:var(--jmcl-c2-size,.875em);font-weight:var(--jmcl-c2-weight,normal);font-style:var(--jmcl-c2-style,normal);font-family:var(--jmcl-c2-font,inherit);color:var(--jmcl-c2-color,inherit);opacity:var(--jmcl-c2-opacity,.68)}
.jmcl-excerpt{margin:.55em 0 0;font-size:.95em;opacity:.85}
.jmcl-more{display:inline-block;margin-top:.7em;font-size:.9em;font-weight:600;color:var(--jmcl-accent,inherit);text-decoration:none}
.jmcl-more::after{content:" →"}
.jmcl-more:hover,.jmcl-more:focus-visible{text-decoration:underline;text-underline-offset:3px}
.jmcl-card a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* category badge and meta icons */
.jmcl-badge{display:inline-block;margin:0 0 .7em;padding:.4em .9em;border-radius:var(--jmcl-badge-radius,3px);background:var(--jmcl-badge-bg,var(--jmcl-accent,#16121F));color:var(--jmcl-badge-fg,#fff);font-size:.82em;font-weight:600;line-height:1.3;letter-spacing:.01em}
.jmcl-badge a{color:inherit!important;text-decoration:none}
.jmcl-c2-icons{display:flex;flex-wrap:wrap;align-items:center;gap:.35em 1.1em}
.jmcl-mi{display:inline-flex;align-items:center;gap:.4em}
.jmcl-ico{flex:none;width:1.05em;height:1.05em;opacity:.9}

/* caption positions */
.jmcl-cap-none .jmcl-body{display:none}
.jmcl-cap-above .jmcl-body{padding:var(--jmcl-pad,1em)}
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg) .jmcl-body,
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-body{position:relative;grid-area:1/1;align-self:end;z-index:2;padding:3em var(--jmcl-pad,1em) var(--jmcl-pad,1em);color:#fff;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.5) 55%,transparent);border-radius:0 0 var(--jmcl-radius) var(--jmcl-radius);pointer-events:none}
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg) .jmcl-body a,
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-body a{pointer-events:auto;color:#fff}
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg) .jmcl-badge,
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-badge{--jmcl-badge-bg:#fff;--jmcl-badge-fg:#16121F;font-size:clamp(.78em,2.8cqi,1em)}
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg) .jmcl-badge a,
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-badge a{color:var(--jmcl-badge-fg)!important}
/* Over an image the title is the headline: larger by default (text styling in Pro sets an exact size). */
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg) .jmcl-c1,
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-c1{font-size:var(--jmcl-c1-size,clamp(1.25em,6.6cqi,2.4em));font-weight:var(--jmcl-c1-weight,500);line-height:1.2}
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg) .jmcl-c2,
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-c2{opacity:.95;font-size:var(--jmcl-c2-size,clamp(.85em,3.3cqi,1.2em));margin-top:.7em}
/* Text over the image: image and text share one grid cell, so a long title on a narrow card makes the card
   taller (the image stretches to cover it) instead of spilling out of the top. */
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg),.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg){display:grid;grid-template:1fr/minmax(0,1fr)}
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg)>.jmcl-media,.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg)>.jmcl-media{grid-area:1/1;align-self:stretch;justify-self:stretch;width:100%;min-height:100%}
.jmcl-cap-overlay.jmcl-crop .jmcl-card:not(.jmcl-noimg)>.jmcl-media img,.jmcl-cap-hover.jmcl-crop .jmcl-card:not(.jmcl-noimg)>.jmcl-media img{position:absolute;inset:0}
/* Text over an image is sized to the card, not the window, so it fits one column or six. */
.jmcl-cap-overlay .jmcl-card:not(.jmcl-noimg),.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg){container-type:inline-size}
/* Shade behind text over an image: "full" darkens the whole photo evenly, "none" relies on a text shadow. */
.jmcl-shade-full .jmcl-card:not(.jmcl-noimg) .jmcl-body,.jmcl-shade-none .jmcl-card:not(.jmcl-noimg) .jmcl-body{background:none!important}
.jmcl-shade-full .jmcl-card:not(.jmcl-noimg) .jmcl-media::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,var(--jmcl-shade,.45));pointer-events:none}
.jmcl-cap-hover.jmcl-shade-full .jmcl-card:not(.jmcl-noimg) .jmcl-media::before{opacity:0;transition:opacity .2s ease}
.jmcl-cap-hover.jmcl-shade-full .jmcl-card:hover .jmcl-media::before,.jmcl-cap-hover.jmcl-shade-full .jmcl-card:focus-within .jmcl-media::before{opacity:1}
.jmcl-shade-none .jmcl-card:not(.jmcl-noimg) .jmcl-body{text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 12px rgba(0,0,0,.35)}
.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-body{opacity:0;transition:opacity .2s ease}
.jmcl-cap-hover .jmcl-card:hover .jmcl-body,.jmcl-cap-hover .jmcl-card:focus-within .jmcl-body{opacity:1}
@media (hover:none){.jmcl-cap-hover .jmcl-card:not(.jmcl-noimg) .jmcl-body{opacity:1}}
.jmcl-noimg{border:1px solid rgba(127,127,127,.22)}

/* ---------- featured first item (grid) ----------
   top: the first card spans the whole row. left: it takes two columns and two rows, with the next cards beside it. */
.jmcl-feat-top .jmcl-grid>.jmcl-feat{grid-column:1/-1}
.jmcl-feat-top.jmcl-crop .jmcl-feat:not(.jmcl-noimg)>.jmcl-media{aspect-ratio:var(--jmcl-feat-ratio,21/9)}
.jmcl-feat-left .jmcl-grid>.jmcl-feat{grid-column:span 2;grid-row:span 2}
.jmcl-feat-left.jmcl-crop .jmcl-feat:not(.jmcl-noimg)>.jmcl-media{flex:1 1 auto;aspect-ratio:auto;min-height:14em}
.jmcl-feat-left.jmcl-crop .jmcl-feat:not(.jmcl-noimg)>.jmcl-media img{position:absolute;inset:0}
.jmcl-feat .jmcl-c1{font-size:calc(var(--jmcl-c1-size,1.08em) * 1.5);line-height:1.2}
.jmcl-cap-overlay .jmcl-feat:not(.jmcl-noimg) .jmcl-c1,.jmcl-cap-hover .jmcl-feat:not(.jmcl-noimg) .jmcl-c1{font-size:calc(var(--jmcl-c1-size,clamp(1.1em,4.4cqi,2.2em)) * 1.35)}
.jmcl-feat .jmcl-excerpt{font-size:1.02em}
@media (max-width:1024px){
	.jmcl-feat-left .jmcl-grid>.jmcl-feat{grid-column:1/-1;grid-row:auto}
	.jmcl-feat-left.jmcl-crop .jmcl-feat:not(.jmcl-noimg)>.jmcl-media{flex:none;aspect-ratio:var(--jmcl-feat-ratio,16/9);min-height:0}
}
@media (max-width:600px){.jmcl-feat-top.jmcl-crop .jmcl-feat:not(.jmcl-noimg)>.jmcl-media,.jmcl-feat-left.jmcl-crop .jmcl-feat:not(.jmcl-noimg)>.jmcl-media{aspect-ratio:var(--jmcl-ratio,16/9)}}

/* ---------- masonry ---------- */
.jmcl-style-masonry .jmcl-grid{display:block;column-count:var(--jmcl-cols);column-gap:var(--jmcl-gap)}
.jmcl-style-masonry .jmcl-card{break-inside:avoid;margin-bottom:var(--jmcl-gap)}
.jmcl-style-masonry .jmcl-media{aspect-ratio:auto}
.jmcl-style-masonry .jmcl-media img{height:auto;width:100%;max-width:100%}
@media (max-width:1024px){.jmcl-style-masonry .jmcl-grid{column-count:var(--jmcl-cols-t,2)}}
@media (max-width:600px){.jmcl-style-masonry .jmcl-grid{column-count:var(--jmcl-cols-m,1)}}

/* ---------- list ---------- */
.jmcl-style-list .jmcl-grid{grid-template-columns:repeat(var(--jmcl-list-cols,1),minmax(0,1fr))}
.jmcl-style-list.jmcl-list-2{--jmcl-list-cols:2}
.jmcl-style-list .jmcl-card{display:grid;grid-template-columns:var(--jmcl-list-thumb,min(34%,280px)) minmax(0,1fr);gap:0;align-items:start}
.jmcl-style-list .jmcl-card>.jmcl-media{grid-column:1;grid-row:1}
.jmcl-style-list .jmcl-card>.jmcl-body{grid-column:2;grid-row:1;padding:0 var(--jmcl-pad,1em);position:static!important;opacity:1!important;color:inherit!important;background:none!important}
.jmcl-style-list .jmcl-card>.jmcl-body a{color:inherit!important}
.jmcl-style-list .jmcl-noimg{display:block}
.jmcl-style-list .jmcl-noimg>.jmcl-body{padding:var(--jmcl-pad,1em)!important}
.jmcl-style-list.jmcl-list-wide .jmcl-card{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.jmcl-style-list.jmcl-list-wide .jmcl-card>.jmcl-media{grid-column:2}
.jmcl-style-list.jmcl-list-wide .jmcl-card>.jmcl-body{grid-column:1}
.jmcl-related-list .jmcl-card{--jmcl-list-thumb:72px;gap:0 .8em}
.jmcl-related-list .jmcl-c1{font-size:.95em}
@media (max-width:600px){.jmcl-style-list.jmcl-list-2{--jmcl-list-cols:1}.jmcl-style-list.jmcl-list-wide .jmcl-card{grid-template-columns:1fr}.jmcl-style-list.jmcl-list-wide .jmcl-card>.jmcl-media,.jmcl-style-list.jmcl-list-wide .jmcl-card>.jmcl-body{grid-column:1;grid-row:auto}.jmcl-style-list.jmcl-list-wide .jmcl-card>.jmcl-body{padding:var(--jmcl-pad,1em) 0 0}}

/* ---------- slider ---------- */
.jmcl-slider{position:relative}
.jmcl-track{display:flex;gap:var(--jmcl-gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;outline:none}
.jmcl-track::-webkit-scrollbar{display:none}
.jmcl-track:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:var(--jmcl-radius)}
.jmcl-slide{flex:0 0 calc((100% - (var(--jmcl-per-view) - 1) * var(--jmcl-gap)) / var(--jmcl-per-view));min-width:0;scroll-snap-align:start}
.jmcl-slide>.jmcl-card{height:100%}
.jmcl-arrow{position:absolute;top:var(--jmcl-arrow-top,50%);z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:50%;background:var(--jmcl-arrow-bg,rgba(255,255,255,.92));color:var(--jmcl-arrow-fg,#16121F);box-shadow:0 2px 10px rgba(0,0,0,.18);font-size:28px;line-height:1;cursor:pointer;transition:opacity .2s,transform .2s}
.jmcl-arrow span{margin-top:-3px}
.jmcl-arrow:hover{transform:scale(1.06)}
.jmcl-arrow:focus-visible{outline:2px solid #6D28D9;outline-offset:2px}
.jmcl-arrow[disabled]{opacity:0;pointer-events:none}
.jmcl-prev{left:10px}.jmcl-next{right:10px}
.jmcl-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.jmcl-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:currentColor;opacity:.25;cursor:pointer;transition:opacity .2s,width .2s}
.jmcl-dot[aria-current="true"]{opacity:.9;width:24px;border-radius:5px}
.jmcl-dot:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.jmcl-slider.is-static .jmcl-arrow,.jmcl-slider.is-static .jmcl-dots{display:none}
@media (prefers-reduced-motion:reduce){.jmcl-track{scroll-behavior:auto}.jmcl-media img,.jmcl-dot{transition:none}}

/* ---------- visitor controls ---------- */
.jmcl-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:1.25em;font-size:.92em}
.jmcl-toolbar input,.jmcl-toolbar select{padding:.45em .7em;border:1px solid rgba(127,127,127,.4);border-radius:6px;max-width:220px;font:inherit;background:#fff;color:inherit}
.jmcl-toolbar button{padding:.5em 1em;border:0;border-radius:6px;background:var(--jmcl-accent,#16121F);color:#fff;font:inherit;cursor:pointer}
.jmcl-toolbar .jmcl-clear{opacity:.7}
.jmcl-toolbar .jmcl-count{margin-left:auto;opacity:.6}
.jmcl-views{display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(127,127,127,.35);border-radius:8px}
.jmcl-toolbar-views{justify-content:flex-end}
.jmcl-view{display:inline-flex;align-items:center;justify-content:center;width:2.1em;height:2.1em;border-radius:6px;color:inherit;opacity:.55;text-decoration:none;box-shadow:none}
.jmcl-view svg{fill:currentColor;width:1em;height:1em}
.jmcl-view:hover,.jmcl-view:focus-visible{opacity:1}
.jmcl-view.is-on{background:var(--jmcl-accent,#16121F);color:#fff;opacity:1}
.jmcl-display.is-busy>.jmcl-grid{opacity:.5;transition:opacity .15s}
.jmcl-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:2em 0 0}
.jmcl-pagination .page-numbers{padding:.45em .85em;border:1px solid rgba(127,127,127,.3);border-radius:6px;text-decoration:none;color:inherit}
.jmcl-pagination .current{background:var(--jmcl-accent,#16121F);border-color:var(--jmcl-accent,#16121F);color:#fff}
.jmcl-more-btn{display:inline-block;padding:.7em 1.6em;border:1px solid rgba(127,127,127,.4);border-radius:999px;text-decoration:none;color:inherit;font-weight:600}
.jmcl-more-btn:hover{border-color:currentColor}
.jmcl-more-btn.is-busy{opacity:.55;pointer-events:none}

/* ---------- Elementor canvas ---------- */
.elementor-widget-jmcl_display .jmcl-display{max-width:100%}
.elementor-editor-active .jmcl-display img{max-width:100%!important}

/* ==========================================================================
   Single layouts
   ========================================================================== */
.jmcl-main{display:block}
/* ---------- archive pages drawn with a display ---------- */
.jmcl-archive{box-sizing:border-box;width:100%;max-width:var(--jmcl-archive-w,1200px);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,1.5rem)}
.jmcl-archive>.jmcl-display{margin-top:0}
.jmcl-archive-head{margin:0 0 clamp(1.25rem,3vw,2.25rem)}
.jmcl-archive-kicker{margin:0 0 .35em;font-size:.8em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.jmcl-archive-title{margin:0;font-size:clamp(1.8em,4vw,2.8em);line-height:1.15}
.jmcl-archive-desc{max-width:46em;margin-top:.7em;opacity:.8}
.jmcl-archive-desc>:last-child{margin-bottom:0}
.jmcl-single{box-sizing:border-box;width:100%;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,3vw,1.5rem)}
.jmcl-single *,.jmcl-single *::before,.jmcl-single *::after{box-sizing:border-box}
.jmcl-s-top{max-width:var(--jmcl-wide,var(--jmcl-w));margin:0 auto clamp(1.5rem,3vw,2.5rem)}
.jmcl-s-body{max-width:var(--jmcl-w);margin:0 auto}
.jmcl-s-after{max-width:max(var(--jmcl-w),1100px);margin:clamp(2rem,5vw,4rem) auto 0}
.jmcl-s-main>*:first-child{margin-top:0}

.jmcl-crumbs{font-size:.85em;opacity:.7;margin:0 0 1rem}
.jmcl-crumbs a{color:inherit;text-decoration:none}
.jmcl-crumbs a:hover{text-decoration:underline}
.jmcl-crumb-sep{margin:0 .35em;opacity:.6}
.jmcl-s-title{margin:0 0 .4em;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.12;letter-spacing:-.015em}
.jmcl-byline{margin:0 0 1.75rem;font-size:.92em;opacity:.75}
.jmcl-byline a{color:inherit}
.jmcl-by-sep{margin:0 .2em}
.jmcl-lead{font-size:1.22em;line-height:1.55;opacity:.85;margin:0 0 1.75rem}
.jmcl-s-media{margin:0 0 2rem}
.jmcl-s-media img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:10px}
.jmcl-s-media figcaption{margin-top:.6em;font-size:.85em;opacity:.65;text-align:center}
.jmcl-s-content{font-size:1.0625rem;line-height:1.75}
.jmcl-s-content img{max-width:100%;height:auto}
.jmcl-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:2rem 0 0;padding:0}
.jmcl-tags a{display:inline-block;padding:.3em .8em;border-radius:999px;background:rgba(127,127,127,.12);font-size:.85em;text-decoration:none;color:inherit}
.jmcl-tags a:hover{background:rgba(127,127,127,.22)}
.jmcl-fields{display:grid;grid-template-columns:auto 1fr;gap:.45em 1.25em;margin:2rem 0 0;font-size:.95em}
.jmcl-fields dt{opacity:.65;font-weight:normal}
.jmcl-fields dd{margin:0}
.jmcl-fields a{color:inherit}
.jmcl-s-fields-inline .jmcl-fields{display:flex;flex-wrap:wrap;gap:.3rem .8rem;font-size:.9em;opacity:.85}
.jmcl-s-fields-inline .jmcl-fields dt,.jmcl-s-fields-inline .jmcl-fields dd{display:inline;margin:0}
.jmcl-s-fields-inline .jmcl-fields dd+dt::before{content:"·";margin-right:.8rem;opacity:.55}
.jmcl-author{display:flex;gap:1rem;align-items:flex-start;margin:2.5rem 0 0;padding:1.25rem;border-radius:12px;background:rgba(127,127,127,.07)}
.jmcl-author .jmcl-avatar{flex:none;border-radius:50%}
.jmcl-author p{margin:0}
.jmcl-author-name{font-weight:700}
.jmcl-author-name a{color:inherit;text-decoration:none}
.jmcl-author-bio{margin-top:.3em!important;font-size:.92em;opacity:.8}
.jmcl-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.5rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(127,127,127,.2)}
.jmcl-prevnext a{display:block;color:inherit;text-decoration:none;font-weight:600;line-height:1.35}
.jmcl-prevnext a:hover{text-decoration:underline}
.jmcl-prevnext small{display:block;font-weight:normal;font-size:.8em;opacity:.6;margin-bottom:.2em}
.jmcl-next-post{text-align:right}
.jmcl-related h2{font-size:1.3em;margin:0 0 1rem}
.jmcl-related .jmcl-display{margin:0}
.jmcl-comments{margin-top:3rem}
.jmcl-s-after .jmcl-comments{max-width:var(--jmcl-w);margin-left:auto;margin-right:auto}

/* Wide image */
.jmcl-s-wide .jmcl-s-top .jmcl-s-media{margin:0}
.jmcl-s-wide .jmcl-s-top .jmcl-s-media img{border-radius:12px}

/* Hero: title over a large image */
.jmcl-hero{position:relative;margin:0;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#8B5CF6,#4C1D95);color:#fff}
.jmcl-hero>img{display:block;width:100%;height:clamp(320px,62vh,640px);object-fit:cover}
.jmcl-hero-text{position:absolute;left:0;right:0;bottom:0;padding:clamp(4rem,10vw,8rem) clamp(1.25rem,4vw,3rem) clamp(1.25rem,3vw,2.5rem);background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.55) 50%,transparent);text-shadow:0 1px 3px rgba(0,0,0,.45)}
.jmcl-hero-noimg{min-height:280px}
.jmcl-hero-noimg .jmcl-hero-text{position:static;background:none;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem)}
.jmcl-hero .jmcl-s-title{color:#fff;max-width:var(--jmcl-w)}
.jmcl-hero .jmcl-byline,.jmcl-hero .jmcl-crumbs{opacity:.9;margin-bottom:0}
.jmcl-hero .jmcl-crumbs{margin-bottom:.8rem}
.jmcl-hero a{color:#fff}

/* Cover: full-screen image, centred title */
.jmcl-s-cover{padding-top:0}
.jmcl-s-cover .jmcl-s-top{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.jmcl-s-cover .jmcl-hero{border-radius:0;min-height:86vh;display:flex;align-items:center;justify-content:center}
.jmcl-s-cover .jmcl-hero>img{position:absolute;inset:0;height:100%}
.jmcl-s-cover .jmcl-hero-text{position:relative;inset:auto;max-width:900px;text-align:center;padding:2rem 1.5rem;background:none}
.jmcl-s-cover .jmcl-hero::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.45)}
.jmcl-s-cover .jmcl-hero-text{z-index:2}
.jmcl-s-cover .jmcl-hero .jmcl-s-title{margin-left:auto;margin-right:auto;font-size:clamp(2.2rem,6vw,4.25rem)}

/* Split: sticky image left, text right */
@media (min-width:901px){
	.jmcl-s-split .jmcl-s-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
	.jmcl-s-split .jmcl-s-aside{order:-1;position:sticky;top:2rem}
	.jmcl-s-split .jmcl-s-aside .jmcl-s-media{margin:0}
}
/* Sidebar: text with a side column */
@media (min-width:901px){
	.jmcl-s-sidebar .jmcl-s-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,4vw,3.5rem);align-items:start}
	.jmcl-s-sidebar .jmcl-s-aside{position:sticky;top:2rem;padding-left:clamp(1.5rem,3vw,2.5rem);border-left:1px solid rgba(127,127,127,.2)}
	.jmcl-s-sidebar .jmcl-s-aside>*:first-child{margin-top:0}
}
.jmcl-s-sidebar .jmcl-s-aside .jmcl-fields{grid-template-columns:1fr;gap:.1em}
.jmcl-s-sidebar .jmcl-s-aside .jmcl-fields dd{margin-bottom:.7em}
.jmcl-s-sidebar .jmcl-s-aside .jmcl-related{margin-top:2rem}
.jmcl-s-sidebar .jmcl-s-aside .jmcl-related h2{font-size:1em;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.jmcl-s-sidebar .jmcl-s-aside .jmcl-author{flex-direction:column}

/* Card: framed */
.jmcl-s-card .jmcl-s-body{padding:clamp(1.25rem,4vw,3rem);border:1px solid rgba(127,127,127,.2);border-radius:18px;background:rgba(127,127,127,.05)}
.jmcl-s-card .jmcl-s-media{margin:calc(-1 * clamp(1.25rem,4vw,3rem)) calc(-1 * clamp(1.25rem,4vw,3rem)) 2rem}
.jmcl-s-card .jmcl-s-media img{width:100%;border-radius:18px 18px 0 0}

/* Centred alignment and drop cap (Magazine) */
.jmcl-s-align-center .jmcl-crumbs,.jmcl-s-align-center .jmcl-s-title,.jmcl-s-align-center .jmcl-byline,.jmcl-s-align-center .jmcl-lead{text-align:center}
.jmcl-s-align-center .jmcl-s-title{font-size:clamp(2.1rem,5vw,3.5rem)}
.jmcl-s-align-center .jmcl-lead{font-size:1.35em}
.jmcl-s-align-center .jmcl-tags,.jmcl-s-align-center .jmcl-fields{justify-content:center}
.jmcl-s-dropcap .jmcl-s-content>p:first-of-type::first-letter{float:left;font-size:3.7em;line-height:.82;margin:.07em .09em 0 0;font-weight:700}

@media (max-width:600px){.jmcl-prevnext{grid-template-columns:1fr}.jmcl-next-post{text-align:left}}
