/*
Theme Name: Lantern Ledger
Author: Rafael Duarte
Description: A light, airy WordPress theme built around a numbered story index, with a minimal slide-down menu and centred editorial article pages.
Version: 1.1.0
Requires at least: 6.1
Tested up to: 6.8
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lantern-ledger
Tags: custom-menu, translation-ready, blog, custom-logo, threaded-comments, one-column, featured-images
*/
:root{--base:#f6f4ef;--card:#ffffff;--wash:#f3f0e8;--text:#1d1a14;--subtle:#625c50;--edge:#e5e0d4;--primary:#8a6514;--second:#1d1a14;--href:#8a6514;--on-key:#ffffff;--inv2:#ffffff;--scrim:rgba(0,0,0,.62);--font-head:Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;--fb:Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;--weight-h:700;--corner:0;--depth:none;--page-w:1040px;--measure:800px;--gutter:clamp(22px, 3.2vw, 40px);--spacing:-0.01em;--tt:none;--ratio:4/3;--stroke:1px solid var(--edge);--size:18px;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--base);color:var(--text);font-family:var(--fb);font-size:var(--size);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--href);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--text)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:var(--weight-h);line-height:1.14;letter-spacing:var(--spacing);text-transform:var(--tt);margin:0 0 .5em;color:var(--text);text-wrap:balance}
h1{font-size:clamp(2.00rem,1.20rem + 3.00vw,3.50rem)}h2{font-size:clamp(1.50rem,0.90rem + 1.60vw,2.20rem)}h3{font-size:clamp(1.20rem,0.72rem + 0.70vw,1.50rem)}h4{font-size:1.15rem}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
::selection{background:var(--primary);color:var(--on-key)}
.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}
.screen-reader-text:focus{background:var(--card);clip:auto!important;clip-path:none;color:var(--text);display:block;font-size:1rem;height:auto;left:8px;top:8px;padding:12px 18px;width:auto;z-index:100000;text-decoration:none}
.ll-inner{width:min(100% - 2*var(--gutter), var(--page-w));margin-inline:auto}
.ll-inner--narrow{width:min(100% - 2*var(--gutter), var(--measure))}
.ll-shell_major{display:block;padding-bottom:calc(var(--gutter)*2)}
.ll-btn{display:inline-flex;align-items:center;gap:.5em;background:var(--primary);color:var(--on-key);padding:.72em 1.3em;border-radius:var(--corner);text-decoration:none;font-weight:600;font-size:.92rem;line-height:1.2;border:0;cursor:pointer;align-self:flex-start}
.ll-btn:hover{background:var(--text);color:var(--base)}
.ll-byline{display:flex;flex-wrap:wrap;gap:.3em .55em;align-items:center;font-size:.84rem;color:var(--subtle);line-height:1.4}
.ll-byline a{color:inherit;text-decoration:none}
.ll-byline a:hover{color:var(--href)}
.ll-byline_divider{opacity:.55}
.ll-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:150px;background:linear-gradient(135deg,var(--primary),var(--second));color:var(--on-key);font-family:var(--font-head);font-size:3rem;font-weight:var(--weight-h);text-transform:uppercase}
.ll-tile_figure,.ll-lead_figure,.ll-list_figure,.ll-showcase_figure,.ll-diary_figure,.ll-stripes_figure,.ll-quilt_figure,.ll-further_figure,.ll-article_figure{display:block;overflow:hidden;background:var(--wash)}
.ll-tile_figure img,.ll-tile_figure .ll-placeholder,.ll-lead_figure img,.ll-lead_figure .ll-placeholder,.ll-list_figure img,.ll-list_figure .ll-placeholder,.ll-showcase_figure img,.ll-showcase_figure .ll-placeholder,.ll-diary_figure img,.ll-diary_figure .ll-placeholder,.ll-stripes_figure img,.ll-stripes_figure .ll-placeholder,.ll-quilt_figure img,.ll-quilt_figure .ll-placeholder,.ll-further_figure img,.ll-further_figure .ll-placeholder,.ll-article_figure img,.ll-article_figure .ll-placeholder{width:100%;height:100%;object-fit:cover}
.ll-chapter{margin-top:calc(var(--gutter)*2)}
.ll-chapter_head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:var(--stroke);padding-bottom:.6rem;margin-bottom:calc(var(--gutter)*1.1)}
.ll-chapter_headline{font-size:clamp(1.3rem,1.1rem + .8vw,1.85rem);margin:0}
.ll-chapter_headline.ll-chapter--quiet{font-family:var(--fb);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--subtle)}
.ll-path ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.82rem;color:var(--subtle)}
.ll-path li+li::before{content:"›";margin-right:.3rem;opacity:.6}
.ll-path a{color:inherit;text-decoration:none}
.ll-path a:hover{color:var(--href)}
.ll-paging{margin-top:calc(var(--gutter)*1.6)}
.ll-paging .nav-links{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.ll-paging .page-numbers{display:inline-flex;min-width:2.6rem;height:2.6rem;align-items:center;justify-content:center;padding:0 .75rem;border:1px solid var(--edge);border-radius:var(--corner);color:var(--text);text-decoration:none;font-weight:600}
.ll-paging .page-numbers.current,.ll-paging a.page-numbers:hover{background:var(--primary);border-color:var(--primary);color:var(--on-key)}
.ll-paging .page-numbers.dots{border:0}
.ll-lookup{display:flex;gap:.4rem;max-width:520px;margin:0}
.ll-lookup_term{flex:1;min-width:0;padding:.65rem .9rem;border:1px solid var(--edge);border-radius:var(--corner);background:var(--card);color:var(--text);font:inherit;font-size:.95rem}
.ll-lookup_submit{padding:.65rem 1rem;border:0;border-radius:var(--corner);background:var(--primary);color:var(--on-key);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}
.alignleft{float:left;margin:.3em 1.4em 1em 0}.alignright{float:right;margin:.3em 0 1em 1.4em}.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:.85rem;color:var(--subtle);margin-top:.5em}
.sticky,.bypostauthor{display:block}
.custom-logo-link img{max-height:56px;width:auto}
.ll-eyebrow{display:inline-block;font-size:.85rem;color:var(--subtle);text-decoration:none;line-height:1.3}
.ll-eyebrow:hover{color:var(--text)}
.ll-tile--overlay .ll-eyebrow,.ll-quilt_piece .ll-eyebrow,.ll-article--hero .ll-eyebrow{background:var(--primary);color:var(--on-key);padding:.24em .65em;border-radius:calc(var(--corner) * .6);font-style:normal}.ll-tile--overlay .ll-eyebrow:hover,.ll-quilt_piece .ll-eyebrow:hover,.ll-article--hero .ll-eyebrow:hover{color:var(--on-key);background:var(--text)}
.ll-banner{position:relative;background:var(--base);border-bottom:var(--stroke);z-index:20}
.ll-banner_bar{display:flex;align-items:center;gap:1.5rem;min-height:74px}
.ll-identity{font-family:var(--font-head);font-weight:var(--weight-h);font-size:1.45rem;letter-spacing:var(--spacing);color:var(--text);text-decoration:none;line-height:1.1;text-transform:var(--tt)}
.ll-identity:hover{color:var(--href)}
.ll-navigation{margin-left:auto}
.ll-navigation_nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}
.ll-navigation_nav a{display:inline-block;color:var(--text);text-decoration:none;font-size:.95rem;font-weight:500;padding:.35rem 0;border-bottom:2px solid transparent;white-space:nowrap}
.ll-navigation_nav a:hover,.ll-navigation_nav .current-menu-item>a,.ll-navigation_nav .current-cat>a{border-color:var(--primary);color:var(--text)}
.ll-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--edge);border-radius:var(--corner);min-width:44px;height:44px;cursor:pointer;color:var(--text);align-items:center;justify-content:center;gap:.6rem;font:inherit;font-weight:600}
.ll-toggle_bar,.ll-toggle_bar::before,.ll-toggle_bar::after{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s}
.ll-toggle_bar{position:relative}
.ll-toggle_bar::before,.ll-toggle_bar::after{content:"";position:absolute;left:0}
.ll-toggle_bar::before{top:-6px}.ll-toggle_bar::after{top:6px}
.ll-toggle[aria-expanded="true"] .ll-toggle_bar{background:transparent}
.ll-toggle[aria-expanded="true"] .ll-toggle_bar::before{transform:translateY(6px) rotate(45deg)}
.ll-toggle[aria-expanded="true"] .ll-toggle_bar::after{transform:translateY(-6px) rotate(-45deg)}
.ll-banner_stamp,.ll-banner_slogan{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:960px){
.ll-toggle{display:inline-flex}
.ll-banner .ll-navigation{display:none;position:absolute;left:0;right:0;top:100%;margin:0;background:var(--card);border-bottom:var(--stroke);padding:1rem var(--gutter) 1.4rem;box-shadow:0 18px 30px rgba(0,0,0,.12)}
.ll-banner.on .ll-navigation{display:block}
.ll-navigation_nav{flex-direction:column;gap:.1rem}
.ll-navigation_nav a{font-size:1.05rem;padding:.55rem 0}
}
.ll-banner--minimal .ll-banner_bar{justify-content:space-between}
.ll-banner--minimal .ll-toggle{display:inline-flex;padding:0 1rem}
.ll-banner--minimal .ll-toggle_heading{font-size:.9rem}
.ll-overlay{display:none;border-top:1px solid var(--edge);background:var(--card)}
.ll-banner.on .ll-overlay,.ll-overlay.on{display:block}
.ll-overlay_bar{display:grid;gap:1.4rem;padding:1.6rem 0 2rem}
.ll-banner--minimal .ll-overlay .ll-navigation{display:block;position:static;margin:0;padding:0;box-shadow:none;background:none;border:0}
.ll-banner--minimal .ll-overlay .ll-navigation_nav{flex-direction:row;font-family:var(--font-head);gap:.4rem 2rem}
.ll-banner--minimal .ll-overlay .ll-navigation_nav a{font-size:clamp(1.2rem,1rem + 1vw,1.7rem);font-weight:var(--weight-h)}
@media (max-width:960px){.ll-banner--minimal .ll-overlay .ll-navigation_nav{flex-direction:column}}
.ll-opening{padding:calc(var(--gutter)*2.2) 0 calc(var(--gutter)*1.1)}
.ll-opening_kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--href);font-weight:700;margin:0 0 .8rem}
.ll-opening_headline{font-size:clamp(2.10rem,1.26rem + 3.30vw,4.00rem);max-width:20ch;margin:0}
.ll-opening_lede{font-size:1.12rem;color:var(--subtle);max-width:62ch;margin:1rem 0 0}
.ll-opening_nav{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.45rem .9rem}
.ll-opening--compact{padding:calc(var(--gutter)*1.4) 0 .3rem}
.ll-opening--compact .ll-opening_headline{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.4rem);max-width:none}
.ll-tiles{display:grid;gap:calc(var(--gutter)*1.25) var(--gutter);grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.ll-tiles--c2{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
@media (min-width:900px){.ll-tiles--c3{grid-template-columns:repeat(3,1fr)}.ll-tiles--c2{grid-template-columns:repeat(2,1fr)}}
.ll-tile{position:relative;display:flex;flex-direction:column}
.ll-tile_body{padding:1rem 0 0;display:flex;flex-direction:column;gap:.5rem;flex:1}
.ll-tile_figure{border-radius:var(--corner)}
.ll-tile_figure{aspect-ratio:var(--ratio)}
.ll-tile_headline{font-size:clamp(1.10rem,0.66rem + 0.45vw,1.38rem);margin:0}
.ll-tile_headline a{color:var(--text);text-decoration:none}
.ll-tile_headline a:hover{color:var(--href)}
.ll-tile_summary{margin:0;color:var(--subtle);font-size:.95rem}
.ll-tile .ll-byline{margin-top:auto;padding-top:.3rem}
.ll-tile_more{font-weight:600;font-size:.9rem}
.ll-tile--text{background:transparent;box-shadow:none;border:0;border-top:var(--stroke);border-radius:0;padding-top:1rem;overflow:visible}
.ll-tile--text .ll-tile_body{padding:0}
.ll-tile--text .ll-tile_headline{font-size:clamp(1.20rem,0.72rem + 0.85vw,1.65rem)}
.ll-list{list-style:none;margin:0;padding:0}
.ll-list_piece{display:grid;grid-template-columns:auto 1fr auto;gap:1rem 1.6rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--edge)}
.ll-list_piece:first-child{padding-top:.4rem}
.ll-list_no{font-family:var(--font-head);font-size:clamp(2rem,1.4rem + 2vw,3.2rem);line-height:1;color:var(--primary);min-width:2.2ch;font-weight:var(--weight-h);}
.ll-list_headline{font-size:clamp(1.20rem,0.72rem + 0.85vw,1.65rem);margin:.25rem 0 .45rem}
.ll-list_headline a{color:var(--text);text-decoration:none}
.ll-list_headline a:hover{color:var(--href)}
.ll-list_summary{margin:0 0 .55rem;color:var(--subtle)}
.ll-list_figure{width:150px;aspect-ratio:1;border-radius:var(--corner)}
@media (max-width:640px){.ll-list_piece{grid-template-columns:auto 1fr}.ll-list_figure{display:none}}
.ll-listing_head{padding:calc(var(--gutter)*2) 0 var(--gutter);border-bottom:var(--stroke);margin-bottom:calc(var(--gutter)*1.4)}
.ll-listing_headline{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);margin:.3rem 0 0}
.ll-listing_lede{color:var(--subtle);max-width:65ch;margin-top:.8rem}
.ll-listing_lede p:last-child{margin:0}
.ll-plain-page_head{padding:calc(var(--gutter)*2) 0 var(--gutter)}
.ll-plain-page_headline{font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem);margin:0}
.ll-plain-page_figure{margin:0 auto var(--gutter)}
.ll-missing_bar{padding:calc(var(--gutter)*3) 0;text-align:center}
.ll-missing_no{font-family:var(--font-head);font-size:clamp(5rem,3rem + 8vw,10rem);line-height:1;margin:0;color:var(--primary);font-weight:var(--weight-h)}
.ll-missing_lede{color:var(--subtle)}
.ll-missing .ll-lookup{margin:1.6rem auto}
.ll-missing_nav{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.5rem}
.ll-article_head{padding:calc(var(--gutter)*2) 0 calc(var(--gutter)*1.2)}
.ll-article_headline{font-size:clamp(2.00rem,1.20rem + 3.00vw,3.50rem);margin:.35rem 0 .8rem}
.ll-article_lede{font-size:1.2rem;color:var(--subtle);margin:0 0 1rem}
.ll-article_figure{margin:0 auto calc(var(--gutter)*1.6);background:none}
.ll-article_figure img{width:100%;max-height:640px;object-fit:cover;border-radius:var(--corner)}
.ll-article_bottom{margin-top:calc(var(--gutter)*2)}
.ll-content{font-size:calc(var(--size) + 1px);line-height:1.78;overflow-wrap:break-word}
.ll-content > *{margin-block:0}
.ll-content > * + *{margin-top:1.15em}
.ll-content h2{font-size:clamp(1.45rem,1.2rem + 1vw,2.05rem);margin-top:1.9em}
.ll-content h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);margin-top:1.6em}
.ll-content h2 + *,.ll-content h3 + *{margin-top:.6em}
.ll-content ul,.ll-content ol{padding-left:1.35em}
.ll-content li + li{margin-top:.4em}
.ll-content li::marker{color:var(--primary)}
.ll-content blockquote{margin-inline:0;padding:.3em 0 .3em 1.3em;border-left:3px solid var(--primary);font-family:var(--font-head);font-size:1.18em;font-style:italic}
.ll-content table{width:100%;border-collapse:collapse;font-size:.95em}
.ll-content th,.ll-content td{border-bottom:1px solid var(--edge);padding:.6em .7em;text-align:left;vertical-align:top}
.ll-content th{background:var(--wash);font-weight:700}
.ll-content img{border-radius:var(--corner)}
.ll-content figure{margin-inline:0}
.ll-content figcaption{font-size:.85rem;color:var(--subtle);margin-top:.5em}
.ll-content hr{border:0;border-top:var(--stroke);margin:2.4em 0}
.ll-content code{font-size:.9em;background:var(--wash);padding:.1em .35em;border-radius:4px}
.ll-content pre{overflow-x:auto;background:var(--wash);padding:1em;border-radius:var(--corner)}
@media (max-width:640px){.ll-content table{display:block;overflow-x:auto}}
.ll-tags{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1.6rem;font-size:.85rem}
.ll-tags a{padding:.25em .75em;border:1px solid var(--edge);border-radius:calc(var(--corner) * 3);color:var(--text);text-decoration:none}
.ll-tags a:hover{border-color:var(--primary);color:var(--href)}
.ll-tags_heading{font-weight:700;margin-right:.3rem}
.ll-profile{display:flex;gap:1.1rem;align-items:flex-start;padding:1.3rem 1.4rem;background:var(--wash);border-radius:var(--corner)}
.ll-profile_pic{border-radius:50%;flex:0 0 auto}
.ll-profile_kicker{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--subtle)}
.ll-profile_signature{margin:.1rem 0 .4rem;font-family:var(--font-head);font-size:1.2rem;font-weight:var(--weight-h)}
.ll-profile_signature a{color:var(--text);text-decoration:none}
.ll-profile_lede{margin:0;font-size:.95rem;color:var(--subtle)}
.ll-prev-next{display:grid;gap:1rem;margin-top:1.6rem}
@media (min-width:700px){.ll-prev-next{grid-template-columns:1fr 1fr}.ll-prev-next_newer{grid-column:2;text-align:right}}
.ll-prev-next a{display:block;padding:1rem 1.15rem;border:1px solid var(--edge);border-radius:var(--corner);color:var(--text);text-decoration:none;font-weight:600;line-height:1.35}
.ll-prev-next a:hover{border-color:var(--primary)}
.ll-prev-next a span{display:block;font-size:.72rem;font-weight:600;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.3rem}
.ll-further{margin-top:calc(var(--gutter)*2.4);padding-top:calc(var(--gutter)*1.4);border-top:var(--stroke)}
.ll-further_head{font-family:var(--font-head);font-weight:var(--weight-h);font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);margin:0 0 var(--gutter);color:var(--text)}
.ll-further_split{display:grid;gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.ll-further_piece{display:flex;flex-direction:column;gap:.5rem;color:var(--text);text-decoration:none}
.ll-further_piece:hover{color:var(--href)}
.ll-further_figure{aspect-ratio:var(--ratio);border-radius:var(--corner)}
.ll-further_headline{font-family:var(--font-head);font-weight:var(--weight-h);font-size:1.1rem;line-height:1.25}
.ll-further_meta{font-size:.8rem;color:var(--subtle)}
.ll-discussion{margin-top:calc(var(--gutter)*2.4)}
.ll-discussion_head,.ll-discussion_headline{font-family:var(--font-head);font-weight:var(--weight-h);font-size:1.4rem;margin:0 0 1rem;color:var(--text)}
.ll-discussion_nav{list-style:none;padding:0;margin:0 0 2rem}
.ll-discussion_nav .children{list-style:none;padding-left:1.5rem}
.comment-body{padding:1rem 0;border-bottom:1px solid var(--edge)}
.comment-meta{font-size:.85rem;color:var(--subtle)}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--edge);border-radius:var(--corner);background:var(--card);color:var(--text);font:inherit}
.comment-form .submit{background:var(--primary);color:var(--on-key);border:0;padding:.75em 1.4em;border-radius:var(--corner);font:inherit;font-weight:600;cursor:pointer}
.ll-article--editorial .ll-article_head{text-align:center}
.ll-article--editorial .ll-article_head .ll-path ol,.ll-article--editorial .ll-article_head .ll-byline{justify-content:center}
.ll-article--editorial .ll-article_headline{max-width:24ch;margin-inline:auto}
.ll-article--editorial .ll-article_lede{font-family:var(--font-head);font-style:italic;font-size:1.35rem}
.ll-article--editorial .ll-article_figure figcaption{font-size:.85rem;color:var(--subtle);text-align:center;margin-top:.6rem}
.ll-foot{margin-top:calc(var(--gutter)*3);border-top:var(--stroke);padding:calc(var(--gutter)*1.8) 0;font-size:.92rem;color:var(--subtle)}
.ll-foot a{color:var(--text);text-decoration:none}
.ll-foot a:hover{color:var(--href)}
.ll-foot_id{font-family:var(--font-head);font-weight:var(--weight-h);font-size:1.3rem;color:var(--text);margin:0;text-transform:var(--tt)}
.ll-foot_lede{margin:.6rem 0 0;max-width:34ch}
.ll-foot_copy{margin:0;font-size:.84rem}
.ll-foot_nav ul,ul.ll-foot_nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.3rem}
.ll-foot--simple .ll-foot_bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}