/*
Theme Name: LifeandSpade
Theme URI: https://lifeandspade.com
Author: LifeandSpade
Author URI: https://lifeandspade.com
Description: A warm, editorial WordPress theme for lifestyle publishing — food, pets, gardening, home improvement and family fun. Built mobile-first with a full off-canvas navigation system and a light/dark reading mode.
Version: 1.4.4
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lifeandspade
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --ink:#23261c; --ink-soft:#54573f; --ink-faint:#83805f;
  --plaster:#eae3d2; --plaster-deep:#ddd2b3; --paper:#fbf8f0; --paper-dim:#f3ecd9;
  --ember:#b14526; --ember-deep:#8f371e;
  --moss:#3f5738; --moss-deep:#2e4029;
  --gold:#a97a1f; --slate:#33545f; --plum:#6e4160;
  --line:#cdbf9a; --line-soft:#e1d6b9;
  --focus:#1f6fb2;
  --cat:var(--moss); --cat-deep:var(--moss-deep);
  --oc-bg:#1c1a12; --oc-bg-soft:#26241a; --oc-text:#f4efdf; --oc-text-dim:#b6b092; --oc-line:#3c3826;
  --oc-ember:#e07a52; --oc-gold:#d9ac52; --oc-moss:#82a173; --oc-slate:#7fa3ae; --oc-plum:#b783a4;
  --font-display:Rockwell,'Roboto Slab','Bookman Old Style',Georgia,serif;
  --font-serif:Charter,'Iowan Old Style','Sitka Text',Georgia,'Times New Roman',serif;
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --radius:3px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#efe9d8; --ink-soft:#c9c2a4; --ink-faint:#938f72;
    --plaster:#1b1a14; --plaster-deep:#111009; --paper:#242219; --paper-dim:#2b2820;
    --ember:#e07a52; --ember-deep:#c85e37;
    --moss:#82a173; --moss-deep:#5f7d52;
    --gold:#d9ac52; --slate:#7fa3ae; --plum:#b783a4;
    --line:#454130; --line-soft:#332f22;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#efe9d8; --ink-soft:#c9c2a4; --ink-faint:#938f72;
  --plaster:#1b1a14; --plaster-deep:#111009; --paper:#242219; --paper-dim:#2b2820;
  --ember:#e07a52; --ember-deep:#c85e37;
  --moss:#82a173; --moss-deep:#5f7d52;
  --gold:#d9ac52; --slate:#7fa3ae; --plum:#b783a4;
  --line:#454130; --line-soft:#332f22;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --ink:#23261c; --ink-soft:#54573f; --ink-faint:#83805f;
  --plaster:#eae3d2; --plaster-deep:#ddd2b3; --paper:#fbf8f0; --paper-dim:#f3ecd9;
  --ember:#b14526; --ember-deep:#8f371e;
  --moss:#3f5738; --moss-deep:#2e4029;
  --gold:#a97a1f; --slate:#33545f; --plum:#6e4160;
  --line:#cdbf9a; --line-soft:#e1d6b9;
  color-scheme:light;
}

/* ==========================================================================
   Base / resets
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--plaster);color:var(--ink);font-family:var(--font-sans);line-height:1.5;}
body.offcanvas-open{overflow:hidden;}
img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p,figure{margin:0;}
button,input,textarea{font:inherit;color:inherit;}
.u-container{max-width:1180px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important;}}

.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(--paper);clip:auto!important;clip-path:none;color:var(--ink);display:block;height:auto;left:8px;top:8px;padding:12px 16px;width:auto;z-index:100000;text-decoration:none;}
.skip-link{position:fixed;top:-100px;left:8px;z-index:100000;}
.skip-link:focus{top:8px;}

/* ==========================================================================
   Masthead
   ========================================================================== */
.masthead-bar{background:var(--oc-bg);color:var(--oc-text-dim);}
.masthead-bar-inner{max-width:1180px;margin:0 auto;padding:6px 24px;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;letter-spacing:.02em;gap:16px;}
.masthead-tag{color:var(--oc-text);opacity:.75;}
.masthead-bar-right{display:flex;align-items:center;gap:20px;}
.masthead-links{display:flex;gap:16px;}
.masthead-links a{opacity:.75;}
.masthead-links a:hover{opacity:1;}
.masthead-social{display:flex;gap:10px;}
.masthead-social a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;opacity:.75;}
.masthead-social a:hover{opacity:1;}
.masthead-social svg{width:13px;height:13px;}

.masthead-main{max-width:1180px;margin:0 auto;padding:16px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:14px;}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;justify-self:center;min-width:0;}
.logo svg{color:var(--ink);flex-shrink:0;}
.logo-word{font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,3vw,1.5rem);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.logo-word em{font-style:normal;color:var(--ember);}
.custom-logo-link{justify-self:center;}
.custom-logo-link img{max-height:78px;width:auto;border-radius: 10px;}
.masthead-left{justify-self:start;}
.masthead-right{justify-self:end;}
.icon-btn{background:none;border:1px solid var(--line);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--ink);}
.icon-btn:hover{border-color:var(--ink);}
header.masthead{border-bottom:3px solid var(--ink);}

.theme-toggle .icon{width:21px;height:21px;}
.theme-toggle .icon-moon{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:block;}

.hamburger{position:relative;}
.hamburger span{position:absolute;left:50%;top:50%;width:19px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .15s ease;}
.hamburger span:nth-child(1){transform:translate(-50%,-50%) translateY(-6px);}
.hamburger span:nth-child(2){transform:translate(-50%,-50%);}
.hamburger span:nth-child(3){transform:translate(-50%,-50%) translateY(6px);}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg);}
@media (prefers-reduced-motion:reduce){.hamburger span{transition:none;}}

/* ==========================================================================
   Off-canvas menu
   ========================================================================== */
.offcanvas{display:none;background:var(--oc-bg);color:var(--oc-text);}
.offcanvas.is-open{display:block;}
@media (prefers-reduced-motion:no-preference){
  .offcanvas.is-open{animation:oc-in .18s ease both;}
}
@keyframes oc-in{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.offcanvas-inner{max-width:1180px;margin:0 auto;padding:38px 24px 46px;display:grid;grid-template-columns:3fr 1.15fr;gap:40px;max-height:calc(100vh - 110px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.oc-group h4{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oc-gold);margin-bottom:16px;}
.oc-group ul{display:flex;flex-direction:column;gap:12px;}
.oc-group li.menu-item-has-children{position:relative;}
.oc-group a{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.05rem;color:var(--oc-text);}
.oc-group a:hover{color:var(--oc-ember);}
.oc-group a.is-current,.oc-group .current-menu-item>a{color:var(--oc-ember);}
.oc-group .sub-menu{padding-left:18px;margin-top:10px;gap:8px;}
.oc-group .sub-menu a{font-family:var(--font-sans);font-size:.85rem;}
.oc-dot{width:8px;height:8px;border-radius:50%;background:var(--cat);flex-shrink:0;}

/* Categories flow into a 3-column mega-menu; each top-level term keeps its
   heading and children together instead of splitting across columns.
   display:block overrides the flex rule above — column-count has no effect
   on a flex container. */
.oc-categories-menu > ul{display:block;column-count:3;column-gap:32px;}
.oc-categories-menu > ul > li{break-inside:avoid-column;margin-bottom:26px;}
.oc-feature{border-left:1px solid var(--oc-line);padding-left:36px;display:flex;flex-direction:column;gap:24px;}
.oc-eyebrow{display:block;font-family:var(--font-sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oc-text-dim);margin-bottom:12px;}
.oc-feature-card{display:flex;flex-direction:column;gap:10px;}
.oc-feature-card .ph-img,.oc-feature-card img{aspect-ratio:16/10;object-fit:cover;width:100%;}
.oc-feature-tag{font-family:var(--font-sans);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--oc-ember);}
.oc-feature-card h5{font-family:var(--font-display);font-size:1rem;line-height:1.35;color:var(--oc-text);}
.oc-most-read{border-top:1px solid var(--oc-line);padding-top:20px;}
.oc-most-read h4{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oc-text-dim);margin-bottom:12px;}
.oc-most-read ol{display:flex;flex-direction:column;gap:9px;counter-reset:oc;list-style:none;padding:0;margin:0;}
.oc-most-read li{counter-increment:oc;display:flex;gap:9px;font-size:.83rem;}
.oc-most-read li::before{content:counter(oc);color:var(--oc-ember);font-family:var(--font-display);flex-shrink:0;width:14px;}
.oc-most-read a{color:var(--oc-text-dim);}
.oc-most-read a:hover{color:var(--oc-text);}

@media (max-width:960px){
  .offcanvas-inner{grid-template-columns:1fr;row-gap:34px;}
  .oc-categories-menu > ul{column-count:2;}
  .oc-feature{border-left:none;padding-left:0;border-top:1px solid var(--oc-line);padding-top:26px;}
}
@media (max-width:400px){
  .oc-categories-menu > ul{column-count:1;}
}
@media (max-width:640px){.masthead-links{display:none;}}
@media (max-width:480px){.masthead-tag{display:none;}}
@media (max-width:420px){.masthead-main{padding:14px 16px;column-gap:8px;}}

/* ==========================================================================
   Type / layout primitives
   ========================================================================== */
.eyebrow{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--cat);}
.route-tag{display:inline-flex;align-items:center;font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:var(--cat);padding:5px 12px 5px 16px;clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%);}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;flex-wrap:wrap;}
.section-head h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);text-wrap:balance;}
.section-head p{font-family:var(--font-serif);color:var(--ink-soft);font-size:.95rem;margin-top:4px;max-width:46ch;}
.section-view-all{font-size:.8rem;font-weight:700;color:var(--cat);white-space:nowrap;padding-bottom:6px;}
.section-view-all:hover{text-decoration:underline;}
.beam{width:56px;height:9px;border-top:3px solid var(--ink);border-bottom:1px solid var(--line);margin-bottom:14px;}
.beam.beam--cat{border-top-color:var(--cat);}

.ph-img{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,color-mix(in srgb,var(--cat) 60%,var(--paper)),color-mix(in srgb,var(--gold) 45%,var(--paper)));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;}
.ph-img.ph-16x9{aspect-ratio:16/9;}
.ph-img svg{width:26px;height:26px;color:rgba(255,255,255,.85);}
.ph-img span{font-size:.66rem;letter-spacing:.02em;color:rgba(255,255,255,.9);text-align:center;padding:0 10px;font-family:var(--font-sans);}
.card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--paper-dim);}
.card--feature .card-media   {aspect-ratio:16/9;}
.card-media img{width:100%;height:100%;object-fit:cover;}

.card{display:flex;flex-direction:column;gap:10px;}
.card h3{font-family:var(--font-display);font-size:1.05rem;line-height:1.3;text-wrap:balance;}
.card h3 a:hover{text-decoration:underline;text-decoration-color:var(--cat);}
.card p.dek{font-family:var(--font-serif);font-size:.86rem;color:var(--ink-soft);}
.card .meta{font-size:.72rem;color:var(--ink-faint);}
.card--feature h3{font-size:clamp(1.3rem,2.4vw,1.7rem);}

.card-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px;}
.card-grid .card--feature{grid-row:1/3;}
.card-grid.card-grid--2col{grid-template-columns:1.5fr 1fr;}
@media (max-width:900px){.card-grid{grid-template-columns:1fr 1fr;}.card-grid .card--feature{grid-column:1/3;grid-row:auto;}}
@media (max-width:600px){.card-grid{grid-template-columns:1fr;}.card-grid .card--feature{grid-column:auto;}}

/* ---------- hero slider ---------- */
.hero-slider{position:relative;}
.hero-slider-track{overflow:hidden;}
.hero-slider-rail{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.hero-slide{position:relative;flex:0 0 100%;aspect-ratio:21/9;overflow:hidden;}
.hero-slide-media{position:absolute;inset:0;display:flex;}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--oc-bg) 0%,color-mix(in srgb,var(--oc-bg) 55%,transparent) 42%,transparent 72%);pointer-events:none;}
.hero-slide-body{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,4vw,40px);max-width:720px;z-index:1;}
.hero-slide-body h3{font-family:var(--font-display);font-size:clamp(1.4rem,3.2vw,2.3rem);line-height:1.14;color:var(--oc-text);margin:10px 0 8px;text-wrap:balance;}
.hero-slide-body h3 a:hover{text-decoration:underline;}
.hero-slide-body .dek{font-family:var(--font-serif);font-size:.98rem;color:var(--oc-text-dim);margin-bottom:8px;max-width:60ch;}
.hero-slide-body .meta{font-size:.76rem;color:var(--oc-text-dim);}

.hero-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,239,223,.35);background:rgba(28,26,18,.55);color:var(--oc-text);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;}
.hero-slider-arrow:hover{background:rgba(28,26,18,.8);border-color:rgba(244,239,223,.6);}
.hero-slider-arrow--prev{left:16px;}
.hero-slider-arrow--next{right:16px;}

.hero-slider-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.hero-slider-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--line);background:transparent;padding:0;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;}
.hero-slider-dot:hover{border-color:var(--ink);}
.hero-slider-dot.is-active{background:var(--ink);border-color:var(--ink);transform:scale(1.2);}

@media (max-width:900px){.hero-slide{aspect-ratio:16/9;}}
@media (max-width:600px){
  .hero-slide{aspect-ratio:4/5;}
  .hero-slider-arrow{width:36px;height:36px;top:19%;}
  .hero-slider-arrow--prev{left:10px;}
  .hero-slider-arrow--next{right:10px;}
}
@media (prefers-reduced-motion:reduce){.hero-slider-rail{transition:none;}}

.river{padding:44px 0;border-bottom:1px solid var(--line-soft);}

/* ---------- signpost trailhead ---------- */
.trailhead{margin-top:34px;}
.trailhead .eyebrow{display:block;margin-bottom:10px;}
.planks{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.plank{background:var(--cat);color:#fff;padding:14px 18px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);display:flex;flex-direction:column;gap:2px;transition:transform .15s;}
.plank:hover{transform:translateX(4px);}
.plank strong{font-family:var(--font-display);font-size:.95rem;}
.plank span{font-family:var(--font-serif);font-size:.74rem;opacity:.9;}
@media (max-width:900px){.planks{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.planks{grid-template-columns:1fr;}.plank{clip-path:none;border-left:4px solid rgba(255,255,255,.5);}}

.btn{font-weight:700;font-size:.85rem;letter-spacing:.02em;padding:13px 22px;border:none;cursor:pointer;border-radius:0 2px 2px 0;background:var(--ember);color:#fff;transition:background .15s;}
.btn:hover{background:var(--ember-deep);}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{background:var(--oc-bg);color:var(--oc-text-dim);padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:30px;padding-bottom:40px;border-bottom:1px solid rgba(244,239,223,.15);}
.footer-grid h4{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oc-gold);margin-bottom:14px;}
.footer-grid li{margin-bottom:9px;font-size:.85rem;}
.footer-grid li a:hover{text-decoration:underline;}
.footer-about .logo-word{color:var(--oc-text);}
.footer-about .logo-word em{color:var(--oc-ember);}
.footer-about p{font-family:var(--font-serif);font-size:.85rem;opacity:.75;margin:14px 0;max-width:32ch;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:32px;height:32px;border:1px solid rgba(244,239,223,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{border-color:var(--oc-text);}
.footer-bottom{max-width:1180px;margin:0 auto;padding:20px 24px 26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.72rem;opacity:.6;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ==========================================================================
   Breadcrumb + category archive
   ========================================================================== */
.trail{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--ink-faint);padding:18px 0 0;flex-wrap:wrap;}
.trail a:hover{text-decoration:underline;}
.trail .sep{opacity:.6;}
.trail .current{color:var(--ink);font-weight:600;}

.cat-head{background:color-mix(in srgb,var(--cat) 12%,var(--plaster));padding:30px 0 26px;border-bottom:1px solid var(--line-soft);}
.cat-head h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.9rem);margin:12px 0 8px;}
.cat-head .dek{font-family:var(--font-serif);color:var(--ink-soft);max-width:62ch;font-size:1.02rem;}
.filter-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;}
.pill{border:1px solid var(--cat);color:var(--cat);background:transparent;padding:7px 16px;border-radius:999px;font-size:.8rem;font-weight:600;}
.pill.is-active{background:var(--cat);color:#fff;}
.pill:hover{background:color-mix(in srgb,var(--cat) 14%,transparent);}
.pill.is-active:hover{background:var(--cat-deep);}

.layout{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start;padding:34px 0 60px;}
.layout .main{min-width:0;}
.sidebar{position:sticky;top:16px;display:flex;flex-direction:column;gap:28px;}
/* Article sidebar (TOC + widgets) scrolls with the page instead of sticking —
   a sticky sidebar shorter than the article was jumping/snapping upward once
   it hit the bottom of the layout, and this frees that space for widgets. */
.sidebar--static{position:static;}
@media (max-width:960px){.layout{grid-template-columns:1fr;}.sidebar{position:static;}}

.widget{border-top:3px solid var(--ink);padding-top:14px;}
.widget h2,.widget h3,.widget h4,.widget .widgettitle,.widget .wp-block-heading{font-family:var(--font-display);font-size:1rem;margin:0 0 12px;}
.widget-about p{font-family:var(--font-serif);font-size:.85rem;color:var(--ink-soft);}

/* Any ul/ol in a sidebar widget (default WordPress widgets and blocks —
   Categories, Recent Posts, the block-editor "Latest Posts" list, etc.)
   gets the same clean, no-bullet, counter-numbered look as the article TOC,
   regardless of whether the list markup is <ul> or <ol>. :where() keeps this
   at zero specificity so a more specific rule below (e.g. .most-read) can
   still override it. */
:where(.widget ul,.widget ol){display:flex;flex-direction:column;gap:9px;list-style:none;padding-left:0;margin:0;counter-reset:widget-list;}
:where(.widget ul,.widget ol) li{display:flex;gap:9px;counter-increment:widget-list;}
:where(.widget ul,.widget ol) li::before{content:counter(widget-list);font-family:var(--font-display);color:var(--cat);flex-shrink:0;width:16px;}
:where(.widget ul,.widget ol) a{font-size:.85rem;font-weight:600;line-height:1.35;}
:where(.widget ul,.widget ol) a:hover{text-decoration:underline;}

.most-read{counter-reset:most-read;}
.most-read li{counter-increment:most-read;}
.most-read li::before{content:counter(most-read);font-family:var(--font-display);color:var(--cat);flex-shrink:0;width:16px;}
.most-read a{font-size:.83rem;}

.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media (max-width:560px){.cat-grid{grid-template-columns:1fr;}}
.cat-grid .card .card-media{aspect-ratio:4/3;}

.pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:44px;flex-wrap:wrap;}
.pagination a,.pagination span{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;border:1px solid var(--line);border-radius:50%;padding:0 4px;}
.pagination a:hover{border-color:var(--ink);}
.pagination .current{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.pagination .dots{border:none;}

/* ==========================================================================
   Single article
   ========================================================================== */
.article-head{padding:6px 0 22px;max-width:100$;}
.article-head h1{font-family:var(--font-display);font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.14;margin:14px 0 12px;text-wrap:balance;}
.article-head .dek{font-family:var(--font-serif);font-style:italic;font-size:1.12rem;color:var(--ink-soft);max-width:100%;}
.byline{display:flex;align-items:center;gap:14px;margin-top:20px;flex-wrap:wrap;}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--moss);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.85rem;flex-shrink:0;overflow:hidden;}
.avatar img{width:100%;height:100%;object-fit:cover;}
.byline-text{font-size:.82rem;line-height:1.4;}
.byline-text .name{font-weight:700;}
.byline-text .role,.byline-text .date{color:var(--ink-faint);}
.byline-share{display:flex;gap:8px;margin-left:auto;}
.byline-share a{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.byline-share a:hover{border-color:var(--ink);}

.article-hero{max-width:940px;margin:26px auto 6px;}
.article-hero figcaption{font-size:.74rem;color:var(--ink-faint);margin-top:8px;font-family:var(--font-sans);}

.article-body{max-width:700px;font-family:var(--font-serif);font-size:1.05rem;line-height:1.75;color:var(--ink);}
.article-body>*+*{margin-top:22px;}
.article-body h2{font-family:var(--font-display);font-size:1.5rem;margin-top:38px!important;text-wrap:balance;scroll-margin-top:90px;}
.article-body h3{font-family:var(--font-display);font-size:1.2rem;margin-top:30px!important;}
.article-body ul,.article-body ol{display:flex;flex-direction:column;gap:8px;padding-left:1.3em;}
.article-body ul{list-style:disc;}
.article-body ol{list-style:decimal;}
.article-body a{text-decoration:underline;text-decoration-color:var(--cat);}
.article-body img{margin:0 auto;}
.article-body figure{display:flex;flex-direction:column;gap:8px;}
.article-body figcaption{font-size:.78rem;color:var(--ink-faint);font-family:var(--font-sans);text-align:center;}
.article-body .lede::first-letter{font-family:var(--font-display);font-size:3.3em;float:left;line-height:.82;padding:.05em .1em 0 0;color:var(--ember);font-weight:700;}
.article-body table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:.86rem;}
.article-body table td,.article-body table th{padding:9px 8px;border-bottom:1px solid var(--line-soft);text-align:left;}
.article-body blockquote{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:22px 4px;font-family:var(--font-display);font-size:1.35rem;line-height:1.4;color:var(--ink);text-wrap:balance;margin:0;}

.fact-box{border:1px solid var(--line);background:var(--paper);padding:20px 22px;border-left:4px solid var(--cat);}
.fact-box h4{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cat);margin-bottom:10px;}

.toc{font-size:.85rem;}
.toc-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.toc-title span{font-family:var(--font-display);font-size:1rem;}
.toc-toggle{background:none;border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:.72rem;cursor:pointer;color:var(--ink-soft);}
.toc-toggle:hover{border-color:var(--ink);}
.toc-list{display:flex;flex-direction:column;gap:9px;padding-left:0;list-style:none;counter-reset:toc;overflow:hidden;}
.toc-list.is-collapsed{display:none;}
.toc-list li{counter-increment:toc;display:flex;gap:9px;}
.toc-list li::before{content:counter(toc);font-family:var(--font-display);color:var(--cat);flex-shrink:0;width:16px;}
.toc a:hover{text-decoration:underline;}

.author-card{display:flex;gap:18px;padding:26px;background:var(--paper);border:1px solid var(--line-soft);max-width:700px;align-items:flex-start;}
.author-card .avatar{width:56px;height:56px;font-size:1.1rem;}
.author-card h4{font-family:var(--font-display);font-size:1.05rem;}
.author-card .role{font-size:.76rem;color:var(--cat);font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin:2px 0 8px;}
.author-card p{font-family:var(--font-serif);font-size:.88rem;color:var(--ink-soft);}
.author-card .more{display:inline-block;margin-top:10px;font-size:.8rem;font-weight:700;color:var(--cat);}

.trust-strip{display:flex;align-items:center;gap:10px;font-size:.76rem;color:var(--ink-faint);max-width:700px;}
.trust-strip svg{width:16px;height:16px;color:var(--moss);flex-shrink:0;}
.trust-strip a{text-decoration:underline;color:var(--ink-soft);}

.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:700px;}
.post-nav a{border:1px solid var(--line-soft);padding:16px;display:flex;flex-direction:column;gap:6px;}
.post-nav a:hover{border-color:var(--cat);}
.post-nav .dir{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cat);font-weight:700;}
.post-nav .title{font-family:var(--font-display);font-size:.92rem;line-height:1.3;}
.post-nav .next{text-align:right;align-items:flex-end;}
@media (max-width:560px){.post-nav{grid-template-columns:1fr;}.post-nav .next{text-align:left;align-items:flex-start;}}

/* ---------- native WordPress comments ---------- */
.comments-area{max-width:700px;}
.comments-title,.comment-reply-title{font-family:var(--font-display);font-size:1.2rem;margin-bottom:16px;}
.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.comment-list .children{list-style:none;margin:18px 0 0;padding:0 0 0 30px;display:flex;flex-direction:column;gap:18px;}
.comment-body{border:1px solid var(--line-soft);background:var(--paper);padding:16px 18px;}
.comment-author .fn{font-weight:700;font-style:normal;}
.comment-metadata{font-size:.72rem;color:var(--ink-faint);margin-bottom:8px;}
.comment-content p{margin:8px 0 0;font-family:var(--font-serif);}
.comment-reply-link{font-size:.76rem;font-weight:700;color:var(--cat);}
.comment-form label{display:block;font-size:.8rem;font-weight:700;margin-bottom:6px;}
.comment-form input:not([type=submit]),.comment-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);margin-bottom:14px;font-family:var(--font-sans);}
.comment-form textarea{min-height:110px;resize:vertical;}
.comment-form .form-submit input{border-radius:0 2px 2px 0;}

.icon{width:16px;height:16px;}

/* ==========================================================================
   Generic content pages / archives
   ========================================================================== */
.page-content,.entry-content{max-width:760px;margin:0 auto;padding:40px 24px 70px;font-family:var(--font-serif);font-size:1.05rem;line-height:1.75;}
.page-content>*+*,.entry-content>*+*{margin-top:22px;}
.page-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:24px;text-wrap:balance;}

/* Native WP media/alignment classes used inside post content */
.alignleft{float:left;margin:0 20px 16px 0;}
.alignright{float:right;margin:0 0 16px 20px;}
.aligncenter{margin-left:auto;margin-right:auto;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:.78rem;color:var(--ink-faint);text-align:center;margin-top:6px;}

.advert {
  position: relative;
  margin: 0;
  text-align: center !important;
}
.advert:before {
  content: "Advertisement";
  display: block;
  left: 0;
  height: 20px;
  font-size: 11px;
  line-height: 20px;
  letter-spacing: 1px;
  color: #6f7174;
  top: -20px;
}

.advert:before {
  text-align: center !important
}
div.advertinside:before {
content: 'Advertisement - Continue Reading Below';
display: block;
top: -20px;
left: 0;
height: 20px;
font-size: 11px;
line-height: 20px;
letter-spacing: 1px;
color: #6f7174;
text-align: center;
}

div.advertinside:after {
content: 'Advertisement - Continue Reading Below';
display: block;
top: -20px;
left: 0;
height: 20px;
font-size:11px;
line-height: 20px;
letter-spacing: 1px;
color: #6f7174;
text-align: center;
}
.mn-h-400 {
min-height: 400px
}
div.advertinside {
text-align: center;
background: #f5f5f5;
}
@media (min-width: 1024px) {
.advertmobile {
  display: none;
}
}

@media screen and (max-width:720px) {

.advert {
  position: relative;
  margin: 0;
  text-align: center !important;
}

.advert:before {
  text-align: center !important
}

}

.article-body .references-list {
  overflow-wrap: anywhere;
  word-break: break-word;
}