/* Lantern: theme layer on top of the Lantern foundation. CSS only. */
:root{ --lantern-ui: var(--wp--custom--font-ui, system-ui, sans-serif); --lantern-hw: var(--wp--custom--heading-weight, 600); --lantern-r: var(--wp--custom--radius--base, 6px); --lantern-card: var(--ltn-surface-2); }
@supports (color: color-mix(in srgb, red, blue)) { :root{ --lantern-card: color-mix(in srgb, var(--ltn-ink) 4%, var(--ltn-surface)); } }
.lantern-label, .is-style-label, .lantern-label a{ font-family:var(--lantern-ui); font-size:.72rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--ltn-ink-soft); text-decoration:none; margin:0; }
.lantern-pill{ display:inline-flex; align-items:center; margin:0; padding:.36rem .6rem; border-radius:999px; background:var(--ltn-accent-soft); color:var(--ltn-accent-ink); font-family:var(--lantern-ui); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; line-height:1; }
.lantern-deck, .is-style-deck, .lantern-lede{ font-size:var(--wp--preset--font-size--medium); color:var(--ltn-ink-soft); line-height:1.5; }
.lantern-soft{ color:var(--ltn-ink-soft); }
.wp-block-post-terms, .wp-block-post-date, .wp-block-post-author-name, .wp-block-query-pagination, .wp-block-categories, .wp-block-navigation{ font-family:var(--lantern-ui); }
.lantern-meta{ gap:.45rem .8rem; margin-bottom:.4rem; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); }
.lantern-meta > *{ margin:0; }
.lantern-meta a{ color:var(--ltn-ink-soft); }
.lantern-reading, .lantern-count{ font-family:var(--lantern-ui); }
.lantern-updated-label{ margin-right:.15em; }
/* Header */
.lantern-header{ border-bottom:1px solid var(--ltn-line); }
.lantern-header-row{ gap:var(--wp--preset--spacing--30); }
.lantern-header .wp-block-site-title{ font-family:var(--wp--custom--font-display); font-weight:var(--lantern-hw); font-size:var(--wp--preset--font-size--medium); letter-spacing:-.01em; margin:0; }
.lantern-header .wp-block-site-title a{ color:var(--ltn-ink); text-decoration:none; }
.lantern-header-actions{ gap:var(--wp--preset--spacing--40); }
.lantern-header .wp-block-navigation{ font-size:var(--wp--preset--font-size--small); }
.lantern-header .wp-block-navigation a{ color:var(--ltn-ink-soft); text-decoration:none; }
.lantern-header .wp-block-navigation a:hover{ color:var(--ltn-ink); }
.wp-block-navigation__responsive-container.is-menu-open{ padding:var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); background:var(--ltn-surface); color:var(--ltn-ink); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{ font-size:var(--wp--preset--font-size--large); padding-block:.35em; color:var(--ltn-ink); }
@media (max-width:600px){ .lantern-header .lantern-header-cta{ display:none; } }
/* Sections */
.lantern-section{ margin-top:var(--wp--preset--spacing--70); }
.lantern-sec-head{ margin-bottom:var(--wp--preset--spacing--40); gap:var(--wp--preset--spacing--30); }
.lantern-sec-head h2{ margin:0; }
.lantern-sec-link{ margin:0; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); }
.lantern-sec-link a{ color:var(--ltn-accent-ink); }
.lantern-cards.is-layout-grid, .lantern-pillar-grid.is-layout-grid{ grid-template-columns:repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
.lantern-cards, .lantern-pillar-grid{ gap:var(--wp--preset--spacing--30); }
.lantern-card{ height:100%; padding:var(--wp--preset--spacing--40); border:1px solid var(--ltn-line); border-radius:var(--lantern-r); background:var(--ltn-surface); }
.lantern-card:hover{ border-color:var(--ltn-accent); }
.lantern-card .lantern-card-title{ font-size:var(--wp--preset--font-size--medium); line-height:1.25; margin:.55em 0 .3em; }
.lantern-card .lantern-card-title a{ color:var(--ltn-ink); text-decoration:none; }
.lantern-card .wp-block-post-excerpt{ color:var(--ltn-ink-soft); font-size:var(--wp--preset--font-size--small); margin:0; }
.lantern-card .wp-block-post-excerpt__excerpt, .lantern-pillar-card .wp-block-post-excerpt__excerpt, .lantern-pillar-item .wp-block-post-excerpt__excerpt{ margin:0; }
.lantern-pillar-card{ height:100%; padding:var(--wp--preset--spacing--40); background:var(--lantern-card); border-top:3px solid var(--ltn-accent); border-radius:0 0 var(--lantern-r) var(--lantern-r); }
.lantern-pillar-card .wp-block-post-title{ font-size:var(--wp--preset--font-size--large); margin:.3em 0; }
.lantern-pillar-card .wp-block-post-title a{ color:var(--ltn-ink); text-decoration:none; }
.lantern-pillar-card .wp-block-post-excerpt{ font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); margin:0; }
.lantern-count{ font-size:.8rem; font-weight:600; color:var(--ltn-accent-ink); margin:.8em 0 0; }
.lantern-list{ list-style:none; padding:0; margin:0; }
.lantern-list > li{ border-top:1px solid var(--ltn-line); padding-block:var(--wp--preset--spacing--30); margin:0; }
.lantern-list > li:last-child{ border-bottom:1px solid var(--ltn-line); }
.lantern-list-title{ font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--base); font-weight:600; line-height:1.35; margin:0; }
.lantern-list-title a{ color:var(--ltn-ink); text-decoration:none; }
.lantern-list-title a:hover{ text-decoration:underline; }
.lantern-list-meta{ gap:.3rem .9rem; margin-top:.25rem; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); }
.lantern-list-meta > *{ margin:0; }
.lantern-list-meta a{ color:inherit; }
/* Article */
.lantern-article-head .wp-block-post-title{ margin:.25em 0 .3em; }
.lantern-byline{ gap:.2rem .6rem; margin-top:var(--wp--preset--spacing--40); font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); }
.lantern-byline > *{ margin:0; }
.lantern-byline a{ color:var(--ltn-ink); font-weight:600; text-decoration:none; }
.lantern-byline .wp-block-post-author-name::after{ content:"·"; margin-left:.6rem; color:var(--ltn-ink-soft); }
.lantern-body{ font-size:calc(var(--wp--preset--font-size--base) * 1.05); line-height:1.75; }
.lantern-body h2{ margin-top:1.8em; }
.ltn-takeaways, .lantern-takeaways{ padding:var(--wp--preset--spacing--40); background:var(--ltn-accent-soft); border-radius:var(--lantern-r); }
.ltn-takeaways > :first-child{ color:var(--ltn-ink); }
.wp-block-quote.is-style-pull{ border:0; padding:0; margin-block:var(--wp--preset--spacing--50); font-family:var(--wp--custom--font-display); font-weight:var(--lantern-hw); font-size:var(--wp--preset--font-size--x-large); line-height:1.3; color:var(--ltn-accent-ink); }
.wp-block-quote cite{ display:block; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); font-style:normal; color:var(--ltn-ink-soft); }
.lantern-part-of{ gap:.6rem; padding-block:var(--wp--preset--spacing--30); border-block:1px solid var(--ltn-line); }
.lantern-part-of .wp-block-post-terms a{ color:var(--ltn-ink); font-weight:600; }
.lantern-siblings{ list-style:none; padding:0; margin:var(--wp--preset--spacing--20) 0 0; }
.lantern-siblings > li{ margin:0; border-top:1px solid var(--ltn-line); }
.lantern-sibling{ font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--base); margin:0; }
.lantern-sibling a{ display:block; padding-block:.7rem; color:var(--ltn-ink); text-decoration:underline; text-decoration-color:var(--ltn-line); line-height:1.35; }
.lantern-author-card{ gap:var(--wp--preset--spacing--30); padding-block:var(--wp--preset--spacing--40); border-block:1px solid var(--ltn-line); }
.lantern-author-card .wp-block-avatar img{ border-radius:50%; }
.lantern-author-card .wp-block-post-author-name{ font-weight:600; }
.lantern-author-card .wp-block-post-author-biography{ font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); }
.wp-block-details{ border-top:1px solid var(--ltn-line); padding-block:.8rem; }
.wp-block-details summary{ font-weight:600; cursor:pointer; min-height:28px; }
/* Pillar */
.lantern-pillar-meta{ gap:.3rem .9rem; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); }
.lantern-pillar-meta > *{ margin:0; }
.lantern-pillar-meta .lantern-count{ font-size:inherit; margin:0; }
.lantern-pillar-list{ list-style:none; padding:0; counter-reset:lantern-p; }
.lantern-pillar-list > li{ margin:0; counter-increment:lantern-p; display:grid; grid-template-columns:2.6rem 1fr; padding-block:var(--wp--preset--spacing--30); border-top:1px solid var(--ltn-line); }
.lantern-pillar-list > li::before{ content:counter(lantern-p, decimal-leading-zero); font-family:var(--lantern-ui); font-weight:700; color:var(--ltn-accent-ink); }
.lantern-pillar-item .wp-block-post-title{ font-size:var(--wp--preset--font-size--medium); margin:0 0 .2em; }
.lantern-pillar-item .wp-block-post-title a{ color:var(--ltn-ink); text-decoration:none; }
.lantern-pillar-item .wp-block-post-excerpt{ color:var(--ltn-ink-soft); font-size:var(--wp--preset--font-size--small); margin:0; }
/* Newsletter */
.lantern-newsletter{ margin-top:var(--wp--preset--spacing--70); background:var(--ltn-accent-soft); border-radius:var(--lantern-r); padding:var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.lantern-newsletter-inner{ align-items:center; gap:var(--wp--preset--spacing--40); }
.lantern-newsletter h2{ margin:.25em 0 .3em; }
.lantern-newsletter .lantern-soft{ margin:0; color:var(--ltn-ink); }
.lantern-newsletter .lantern-label{ color:var(--ltn-ink); }
.lantern-newsletter .lantern-core-subscribe, .lantern-newsletter form{ display:flex; flex-wrap:wrap; gap:.5rem; }
.lantern-newsletter input[type="email"]{ flex:1 1 13rem; padding:.5rem .8rem; font:inherit; min-height:44px; }
.wp-block-group.is-style-panel{ padding:var(--wp--preset--spacing--40); border:1px solid var(--ltn-line); border-radius:var(--lantern-r); }
.wp-block-group.is-style-band{ padding:var(--wp--preset--spacing--50); background:var(--ltn-accent-soft); border-radius:var(--lantern-r); }
.lantern-topics-list{ list-style:none; padding:0; margin:var(--wp--preset--spacing--30) 0 0; display:flex; flex-wrap:wrap; gap:.5rem; }
.lantern-topics-list li a{ display:inline-flex; align-items:center; min-height:44px; padding:0 .9rem; border:1px solid var(--ltn-line); border-radius:999px; color:var(--ltn-ink); text-decoration:none; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); }
.lantern-chips{ gap:.5rem; }
.lantern-chips .wp-block-button__link{ border-radius:999px; min-height:44px; display:inline-flex; align-items:center; padding:.4rem 1rem; font-size:var(--wp--preset--font-size--small); }
/* Footer */
.lantern-footer{ border-top:1px solid var(--ltn-line); color:var(--ltn-ink-soft); font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); }
.lantern-footer .wp-block-site-title{ font-family:var(--wp--custom--font-display); font-weight:var(--lantern-hw); font-size:var(--wp--preset--font-size--medium); color:var(--ltn-ink); margin:0; }
.lantern-footer-tagline{ margin:.3em 0 0; max-width:28rem; }
.lantern-footer-nav a{ color:var(--ltn-ink-soft); text-decoration:none; }
.lantern-footer-nav a:hover{ color:var(--ltn-ink); }
.lantern-footer-nav .wp-block-navigation-item__content{ min-height:44px; display:inline-flex; align-items:center; }
.lantern-credit{ margin:var(--wp--preset--spacing--40) 0 0; }
.lantern-credit a{ color:inherit; }
.wp-block-search__input{ min-height:44px; }
/* Dark mode: the primary button stays light and strong whatever the brand colour. */
:root{ --lantern-btn-dark: var(--ltn-ink); }
@supports (color: oklch(from red l c h)) {
  :root{ --lantern-btn-dark: oklch(from var(--ltn-brand) max(l, calc(0.7 + 0.24 * (1 - min(c / 0.06, 1)))) min(c, 0.16) h); }
}
@media (prefers-color-scheme: dark) {
  html:not(.ltn-no-dark):not([data-theme="light"]) .wp-block-button:not(.is-style-outline):not(.is-style-text) > .wp-block-button__link,
  html:not(.ltn-no-dark):not([data-theme="light"]) .lantern-core-subscribe button{ background-color:var(--lantern-btn-dark); color:var(--ltn-surface); }
}
html[data-theme="dark"] .wp-block-button:not(.is-style-outline):not(.is-style-text) > .wp-block-button__link,
html[data-theme="dark"] .lantern-core-subscribe button{ background-color:var(--lantern-btn-dark); color:var(--ltn-surface); }
@media print{ .lantern-newsletter, .lantern-header-actions{ display:none !important; } }


/* Author on the home page */
.lantern-author-hero{ gap:var(--wp--preset--spacing--50); padding-block:var(--wp--preset--spacing--60); border-bottom:1px solid var(--ltn-line); }
.lantern-author-hero .wp-block-avatar img{ border-radius:50%; width:min(160px, 36vw); height:auto; aspect-ratio:1; object-fit:cover; border:1px solid var(--ltn-line); }
.lantern-author-hero h1{ font-size:var(--wp--preset--font-size--display); max-width:18ch; margin:.25em 0 .2em; }
.lantern-idea{ font-family:var(--wp--custom--font-display); font-style:italic; font-size:var(--wp--preset--font-size--medium); color:var(--ltn-accent-ink); max-width:36rem; }
.lantern-kinds{ gap:var(--wp--preset--spacing--60); }
.lantern-essay-list .wp-block-post-template{ list-style:none; padding:0; margin:0; }
.lantern-essay{ padding-block:var(--wp--preset--spacing--40); border-top:1px solid var(--ltn-line); }
.lantern-essay .wp-block-post-title{ font-size:var(--wp--preset--font-size--large); margin:.35em 0 .2em; }
.lantern-essay .wp-block-post-title a, .lantern-note-card .wp-block-post-title a, .lantern-practice-card .wp-block-post-title a{ color:var(--ltn-ink); text-decoration:none; }
.lantern-essay .wp-block-post-excerpt{ color:var(--ltn-ink-soft); margin:0; }
.lantern-essay .wp-block-post-excerpt__excerpt, .lantern-note-card .wp-block-post-excerpt__excerpt, .lantern-practice-card .wp-block-post-excerpt__excerpt{ margin:0; }
.lantern-note-list .wp-block-post-template{ list-style:none; padding:0; margin:0; display:grid; gap:.8rem; }
.lantern-note-card{ padding:var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border-left:3px solid var(--ltn-accent); background:var(--lantern-card); border-radius:0 var(--lantern-r) var(--lantern-r) 0; }
.lantern-note-card .wp-block-post-title{ font-family:var(--wp--custom--font-display); font-weight:400; font-size:var(--wp--preset--font-size--base); line-height:1.5; margin:.2em 0 0; }
.lantern-note-card .wp-block-post-date{ font-size:.8rem; color:var(--ltn-ink-soft); }
.lantern-practice-card{ height:100%; padding:var(--wp--preset--spacing--40); border:1px solid var(--ltn-line); border-radius:var(--lantern-r); }
.lantern-practice-card .wp-block-post-title{ font-size:var(--wp--preset--font-size--medium); margin:.5em 0 .2em; }
.lantern-practice-card .wp-block-post-excerpt{ font-size:var(--wp--preset--font-size--small); color:var(--ltn-ink-soft); margin:0; }
/* Essay */
.lantern-body.lantern-dropcap > p:first-of-type::first-letter{ float:left; font-family:var(--wp--custom--font-display); font-weight:var(--lantern-hw); font-size:3.6em; line-height:.85; margin:.08em .1em 0 0; color:var(--ltn-accent-ink); }
.lantern-series{ display:flex; flex-wrap:wrap; gap:.3rem 1rem; align-items:center; padding:.8rem 1rem; background:var(--lantern-card); border-radius:var(--lantern-r); font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); margin-block:var(--wp--preset--spacing--40); }
.lantern-series p{ margin:0; }
.lantern-series-name{ font-weight:700; color:var(--ltn-accent-ink); }
.lantern-signoff{ font-family:var(--wp--custom--font-display); font-style:italic; font-size:var(--wp--preset--font-size--medium); margin-top:var(--wp--preset--spacing--50); }
/* Note */
.lantern-note-head .wp-block-post-title{ font-size:var(--wp--preset--font-size--x-large); font-weight:400; line-height:1.4; }
.lantern-note-nav{ display:grid; grid-template-columns:1fr 1fr; gap:var(--wp--preset--spacing--30); margin-top:var(--wp--preset--spacing--60); }
.lantern-note-nav a{ display:block; padding:var(--wp--preset--spacing--30); border:1px solid var(--ltn-line); border-radius:var(--lantern-r); color:var(--ltn-ink); text-decoration:none; font-family:var(--lantern-ui); }
.lantern-note-nav a[rel="next"]{ text-align:right; grid-column:2; }
.lantern-note-nav span{ display:block; font-size:.8rem; color:var(--ltn-ink-soft); }
/* Practice */
.lantern-facts{ gap:.4rem 1.2rem; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); font-weight:600; color:var(--ltn-ink-soft); margin-block:var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
.lantern-facts > *{ margin:0; }
ol.lantern-steps{ counter-reset:oc-s; list-style:none; padding:0; margin:var(--wp--preset--spacing--40) 0; }
ol.lantern-steps > li{ counter-increment:oc-s; position:relative; padding:.9rem 0 .9rem 3rem; margin:0; border-top:1px solid var(--ltn-line); }
ol.lantern-steps > li::before{ content:counter(oc-s); position:absolute; left:0; top:.75rem; width:2rem; height:2rem; border-radius:50%; display:grid; place-items:center; background:var(--ltn-accent-soft); color:var(--ltn-accent-ink); font-family:var(--lantern-ui); font-weight:700; font-size:.9rem; }
.lantern-why{ padding:var(--wp--preset--spacing--40); background:var(--ltn-accent-soft); border-radius:var(--lantern-r); }
.lantern-why > :first-child{ margin-top:0; }
/* Archive */
.lantern-filter{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:var(--wp--preset--spacing--40); }
.lantern-filter a{ display:inline-flex; align-items:center; min-height:44px; padding:0 1rem; border:1px solid var(--ltn-line); border-radius:999px; color:var(--ltn-ink); text-decoration:none; font-family:var(--lantern-ui); font-size:var(--wp--preset--font-size--small); }
.lantern-filter a[aria-current="page"]{ background:var(--ltn-ink); color:var(--ltn-surface); border-color:var(--ltn-ink); }
.lantern-year{ display:grid; gap:var(--wp--preset--spacing--30); padding-block:var(--wp--preset--spacing--50); border-top:1px solid var(--ltn-line); }
@media (min-width:820px){ .lantern-year{ grid-template-columns:9rem 1fr; } }
.lantern-year h2{ font-size:var(--wp--preset--font-size--xx-large); color:var(--ltn-accent-ink); margin:0; }
.lantern-year .lantern-list > li{ display:flex; flex-wrap:wrap; gap:.2rem .7rem; align-items:baseline; }
.lantern-kind{ font-family:var(--lantern-ui); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ltn-ink-soft); }
.lantern-year-link{ font-weight:600; color:var(--ltn-ink); text-decoration:none; }
.lantern-year-link:hover{ text-decoration:underline; }
.lantern-year-date{ font-family:var(--lantern-ui); font-size:.85rem; color:var(--ltn-ink-soft); }
/* About */
.lantern-about-head .wp-block-post-featured-image img{ width:120px; height:120px; border-radius:50%; object-fit:cover; }
