/*
Theme Name: Shell & Coin
Theme URI: https://cavecreekcoffee.com/
Author: Shell & Coin
Description: Fast, reading-first theme for Shell & Coin — Linux guides and crypto finance. Elementor and Elementor Pro Theme Builder compatible.
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: shellcoin
*/

/* ---------- Fonts ---------- */
@font-face{font-family:"Recursive";src:url(assets/fonts/recursive.woff2) format("woff2");font-weight:300 1000;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(assets/fonts/sourceserif4.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(assets/fonts/sourceserif4-italic.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --paper:#FBFCF8;
  --bar:#E4EFE2;
  --bar-edge:#D3E3D0;
  --ink:#18202E;
  --ink-2:#4A5466;
  --ink-3:#6E7787;
  --blue:#1F4FA3;
  --red:#A8321F;
  --rule:#CBD3C8;
  --surface:#FFFFFF;
  --code-bg:#1C2433;
  --code-ink:#E3E8DF;
  --sans:"Recursive",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Menlo,Consolas,monospace;
  --wrap:1180px;
  --measure:40rem;
  --gutter:clamp(1rem,4vw,2rem);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#131923;--bar:#18241E;--bar-edge:#22342A;--ink:#E4E9E1;--ink-2:#B3BBC4;--ink-3:#8C95A1;
    --blue:#8DB2F2;--red:#F0907C;--rule:#2C3645;--surface:#1A212D;--code-bg:#0D121A;--code-ink:#E3E8DF;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#131923;--bar:#18241E;--bar-edge:#22342A;--ink:#E4E9E1;--ink-2:#B3BBC4;--ink-3:#8C95A1;
  --blue:#8DB2F2;--red:#F0907C;--rule:#2C3645;--surface:#1A212D;--code-bg:#0D121A;--code-ink:#E3E8DF;
  color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:1.5rem}
body[class]{background:var(--paper);color:var(--ink)}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);font-variant-numeric:tabular-nums;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--sans);line-height:1.18;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;top:.5rem;left:.5rem;z-index:100;width:auto;height:auto;clip:auto;background:var(--ink);color:var(--paper);padding:.6rem 1rem}
.site-main{flex:1 0 auto}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Header ---------- */
html body .site-header{border-bottom:1px solid var(--rule);background:var(--paper)}
html body .site-header .wrap{display:flex;align-items:center;gap:1.5rem;min-height:4.25rem;flex-wrap:wrap}
html body .brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1.1;margin-right:auto;padding-block:.6rem}
html body .brand-name{font-weight:800;font-size:1.45rem;letter-spacing:-.03em}
html body .brand-name .amp{font-weight:400;color:var(--red)}
html body .brand-tag{font-size:.8rem;color:var(--ink-3);margin-top:.15rem}
html body .primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem 1.4rem;flex-wrap:wrap}
html body .primary-nav a{color:var(--ink);text-decoration:none;font-weight:560;font-size:.95rem;padding-block:.35rem;border-bottom:2px solid transparent}
html body .primary-nav a:hover,html body .primary-nav .current-menu-item>a,html body .primary-nav .current-post-ancestor>a,html body .primary-nav .current-menu-parent>a{border-bottom-color:var(--ink)}
html body .header-tools{display:flex;gap:.25rem;align-items:center}
html body .icon-btn{appearance:none;background:none;border:1px solid transparent;color:var(--ink);width:2.4rem;height:2.4rem;display:inline-grid;place-items:center;border-radius:6px;cursor:pointer;text-decoration:none}
html body .icon-btn:hover{border-color:var(--rule)}
html body .icon-btn svg{width:1.15rem;height:1.15rem}
html body .nav-toggle{display:none}
html body .search-panel{border-top:1px solid var(--rule);padding-block:1rem}
html body .search-form{display:flex;gap:.5rem;max-width:36rem}
html body .search-form input[type=search]{flex:1;min-width:0;font:inherit;padding:.6rem .8rem;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px}
html body .btn,html body .search-form button{font:600 .95rem var(--sans);padding:.6rem 1.1rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block}
html body .btn:hover,html body .search-form button:hover{background:transparent;color:var(--ink)}

@media (max-width:820px){
  html body .nav-toggle{display:inline-grid}
  html body .site-header .wrap{gap:0 .75rem}
  html body .header-tools{margin-right:-.5rem}
  html body .primary-nav{order:5;flex-basis:100%;display:none;padding-bottom:1rem}
  html body .primary-nav.is-open{display:block}
  html body .primary-nav ul{flex-direction:column;gap:0}
  html body .primary-nav a{display:block;padding:.7rem 0;border-bottom:1px solid var(--rule)}
}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-size:.85rem;color:var(--ink-3);margin:1.75rem 0 1rem}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs .aioseo-breadcrumbs{display:flex;flex-wrap:wrap;gap:.3rem}

/* ---------- Home intro ---------- */
.intro{padding-block:clamp(2.5rem,6vw,4.5rem) 2rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem 4rem;align-items:end}
.intro h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:780;letter-spacing:-.035em;margin:0;max-width:16ch}
.intro p{font-family:var(--serif);font-size:1.15rem;color:var(--ink-2);margin:0;max-width:34rem}
.intro-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.1rem}
.chip{font-size:.9rem;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid var(--rule);padding:.35rem .8rem;border-radius:999px;background:var(--surface)}
.chip:hover{border-color:var(--ink)}
.chip small{color:var(--ink-3);font-weight:450;margin-left:.3rem}
@media (max-width:820px){.intro{grid-template-columns:1fr}}

/* ---------- Green-bar printout (the signature element) ---------- */
.printout{position:relative;margin:1rem 0 4.5rem;background:var(--surface);border-block:1px solid var(--rule);padding-inline:2.4rem}
.printout::before,.printout::after{content:"";position:absolute;top:0;bottom:0;width:2.4rem;
  background-image:radial-gradient(circle at 50% 50%,var(--paper) 0 .36rem,var(--rule) .36rem .42rem,transparent .43rem);
  background-size:2.4rem 1.5rem;background-repeat:repeat-y;border-inline:1px dashed var(--rule)}
.printout::before{left:0;border-left:0}
.printout::after{right:0;border-right:0}
.printout .feed{position:relative}
.printout .feed::after{content:"";position:absolute;left:-2.4rem;right:-2.4rem;bottom:-1px;height:0;border-bottom:2px dashed var(--rule)}
.printout-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 1rem .8rem;border-bottom:1px solid var(--bar-edge)}
.printout-head h2{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:0}
.printout-head a{font-size:.9rem;font-weight:600}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:grid;grid-template-columns:6.5rem 6.5rem minmax(0,1fr) 4.5rem;gap:1rem;align-items:baseline;padding:.8rem 1rem}
.feed li:nth-child(6n+1),.feed li:nth-child(6n+2),.feed li:nth-child(6n+3){background:var(--bar)}
.feed time,.feed .feed-cat,.feed .feed-len{font-size:.85rem;color:var(--ink-2)}
.feed .feed-cat{color:var(--ink-2);text-decoration:none}
.feed .feed-cat:hover{text-decoration:underline}
.feed .feed-len{text-align:right}
.feed .feed-title{font-weight:620;font-size:1.02rem;line-height:1.35;color:var(--ink);text-decoration:none}
.feed .feed-title:hover{text-decoration:underline;color:var(--blue)}
@media (max-width:720px){
  .printout{padding-inline:1.1rem}
  .printout::before,.printout::after{width:1.1rem;background-size:1.1rem 1.2rem;background-image:radial-gradient(circle,var(--paper) 0 .22rem,var(--rule) .22rem .27rem,transparent .28rem)}
  .feed li{grid-template-columns:1fr auto;gap:.15rem .8rem;padding:.8rem .7rem}
  .feed .feed-title{grid-column:1/-1;order:-1}
  .feed .feed-cat{display:none}
}

/* ---------- Sections / cards ---------- */
.section{margin-block:0 4.5rem}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:2px solid var(--ink);padding-bottom:.6rem;margin-bottom:1.5rem;flex-wrap:wrap}
.section-head h2{margin:0;font-size:1.6rem;font-weight:760}
.section-head h2 a{color:inherit;text-decoration:none}
.section-head p{margin:0;color:var(--ink-3);font-size:.95rem}
.cat-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.5rem}
.lead-card a.lead-img{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:4px;background:var(--bar)}
.lead-card img{width:100%;height:100%;object-fit:cover;display:block}
.lead-card h3{font-size:clamp(1.35rem,2.4vw,1.75rem);margin:1rem 0 .5rem}
.lead-card h3 a,.row-list h3 a,.post-row h2 a,.post-row h3 a{color:var(--ink);text-decoration:none}
.lead-card h3 a:hover,.row-list h3 a:hover,.post-row h2 a:hover,.post-row h3 a:hover{color:var(--blue);text-decoration:underline}
.lead-card p{font-family:var(--serif);color:var(--ink-2);margin:0 0 .6rem}
.meta{font-size:.85rem;color:var(--ink-3)}
.meta a{color:var(--ink-2)}
.meta-row{display:flex;flex-wrap:wrap;gap:.2rem 1rem}
.row-list{list-style:none;margin:0;padding:0}
.row-list li{padding-block:1rem;border-bottom:1px solid var(--rule)}
.row-list li:first-child{padding-top:0}
.row-list h3{font-size:1.08rem;margin:0 0 .3rem;font-weight:640;line-height:1.3;text-wrap:pretty}
@media (max-width:820px){.cat-grid{grid-template-columns:1fr}}

.about-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem 4rem;border-top:1px solid var(--rule);padding-block:3rem;margin-bottom:2rem}
.about-strip h2{margin:0;font-size:1.6rem}
.about-strip p{font-family:var(--serif);color:var(--ink-2);margin:0 0 1rem;font-size:1.08rem}
@media (max-width:820px){.about-strip{grid-template-columns:1fr}}

/* ---------- Topic hubs ---------- */
.topic-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}
.topic-groups h3{font-size:1.05rem;margin:0 0 .8rem}
.topic-list{list-style:none;margin:0;padding:0;columns:2 12rem;column-gap:2rem}
.topic-list li{break-inside:avoid;padding:.4rem 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:1rem}
.topic-list a{color:var(--ink);font-weight:560;text-decoration:none}
.topic-list a:hover{color:var(--blue);text-decoration:underline}
.topic-list span{color:var(--ink-3);font-size:.85rem}
@media (max-width:820px){.topic-groups{grid-template-columns:1fr}}

/* ---------- All-articles index ---------- */
.index-list{list-style:none;margin:0;padding:0;columns:2 22rem;column-gap:3rem}
.index-list li{break-inside:avoid;display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--rule);line-height:1.35}
.index-list a{color:var(--ink);text-decoration:none;font-weight:520}
.index-list a:hover{color:var(--blue);text-decoration:underline}
.index-list time{color:var(--ink-3);font-size:.82rem;white-space:nowrap}

/* ---------- Archive / list ---------- */
.archive-head{padding-block:.5rem 2rem;border-bottom:2px solid var(--ink);margin-bottom:.5rem;max-width:52rem}
.archive-head h1{font-size:clamp(2rem,4.5vw,3rem);margin:0 0 .5rem;font-weight:780;letter-spacing:-.03em}
.archive-head .desc{font-family:var(--serif);color:var(--ink-2);font-size:1.1rem;max-width:var(--measure)}
.archive-head .desc p{margin:0}
.archive-head .count{color:var(--ink-3);font-size:.9rem;margin-top:.6rem}
.post-rows{list-style:none;margin:0 0 3rem;padding:0;max-width:52rem}
.post-row{display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:1.5rem;padding-block:1.6rem;border-bottom:1px solid var(--rule);align-items:start}
.post-row h2,.post-row h3{font-size:1.3rem;margin:.25rem 0 .45rem;font-weight:680;text-wrap:pretty}
.post-row p{font-family:var(--serif);color:var(--ink-2);margin:0 0 .5rem}
.post-row .thumb{display:block;aspect-ratio:3/2;border-radius:4px;overflow:hidden;background:var(--bar)}
.post-row .thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:620px){.post-row{grid-template-columns:minmax(0,1fr) 6.5rem;gap:1rem}.post-row p{display:none}.post-row h2,.post-row h3{font-size:1.08rem}}
.pagination{margin:0 0 4rem}
.pagination .nav-links{display:flex;gap:.4rem;flex-wrap:wrap}
.pagination .page-numbers{min-width:2.4rem;height:2.4rem;padding-inline:.7rem;display:inline-grid;place-items:center;border:1px solid var(--rule);text-decoration:none;color:var(--ink);border-radius:6px;font-weight:600}
.pagination .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pagination .page-numbers.dots{border:0}

/* ---------- Single ---------- */
.article-layout{display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,16rem);gap:4.5rem;justify-content:space-between}
.article-head{max-width:48rem;margin-bottom:2rem}
.article-head .kicker{display:inline-block;font-weight:650;font-size:.9rem;text-decoration:none;color:var(--red);margin-bottom:.7rem}
.article-head h1{font-size:clamp(2rem,4.4vw,3.05rem);font-weight:780;letter-spacing:-.03em;margin:0 0 1rem}
.article-head .standfirst{font-family:var(--serif);font-size:1.2rem;color:var(--ink-2);margin:0 0 1.2rem;max-width:var(--measure)}
.byline{display:flex;align-items:center;gap:.8rem;font-size:.9rem;color:var(--ink-2);flex-wrap:wrap}
.byline img{border-radius:50%;width:40px;height:40px}
.byline .who a{font-weight:650;color:var(--ink);text-decoration:none}
.byline .who a:hover{text-decoration:underline}
.byline .when{color:var(--ink-3)}
.hero-img{margin:0 0 2.5rem}
.hero-img img{display:block;width:100%;height:auto;border-radius:4px;aspect-ratio:auto}
.hero-img figcaption{font-size:.82rem;color:var(--ink-3);margin-top:.5rem}

.toc{position:sticky;top:1.5rem;font-size:.9rem;max-height:calc(100vh - 3rem);overflow:auto;padding-left:1rem;border-left:1px solid var(--rule)}
.toc h2{font-size:.95rem;margin:0 0 .6rem}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{margin:.1rem 0}
.toc a{display:block;color:var(--ink-2);text-decoration:none;padding:.25rem 0;line-height:1.35}
.toc a:hover{color:var(--blue)}
.toc a.is-active{color:var(--ink);font-weight:650}
.toc .toc-h3 a{padding-left:.9rem;font-size:.85rem}
.toc-inline{display:none}
@media (max-width:1020px){
  .article-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .toc-aside{display:none}
  .toc-inline{display:block;margin:0 0 2rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface)}
  .toc-inline summary{cursor:pointer;padding:.8rem 1rem;font-weight:650}
  .toc-inline .toc{position:static;border:0;padding:0 1rem 1rem;max-height:none}
}

/* ---------- Prose ---------- */
.prose{font-family:var(--serif);font-size:1.15rem;line-height:1.72;max-width:var(--measure);overflow-wrap:break-word}
.prose > *{margin-block:0 1.25em}
.prose h2,.prose h3{text-wrap:pretty}
.prose h2{font-size:1.75rem;margin:2.2em 0 .6em;font-weight:740;scroll-margin-top:1.5rem}
.prose h3{font-size:1.32rem;margin:1.8em 0 .5em;font-weight:680}
.prose h4{font-size:1.1rem;margin:1.5em 0 .4em;font-weight:680}
.prose h5,.prose h6{font-family:var(--sans);font-size:1rem}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin-block:.35em}
.prose li::marker{color:var(--ink-3)}
.prose strong{font-weight:680}
.prose blockquote{margin-inline:0;padding:.2em 0 .2em 1.3em;border-left:3px solid var(--red);font-style:italic;color:var(--ink-2)}
.prose blockquote p:last-child{margin-bottom:0}
.prose blockquote cite{display:block;font-style:normal;font-family:var(--sans);font-size:.85rem;margin-top:.4em;color:var(--ink-3)}
.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2.5em}
.prose img{border-radius:4px;height:auto}
.prose figure{margin-inline:0}
.prose figcaption{font-family:var(--sans);font-size:.82rem;color:var(--ink-3);margin-top:.5rem}
.prose :not(pre)>code{font-family:var(--mono);font-size:.86em;background:var(--bar);color:var(--ink);padding:.1em .35em;border-radius:3px;overflow-wrap:anywhere}
.prose pre{font-family:var(--mono);font-size:.88rem;line-height:1.6;background:var(--code-bg);color:var(--code-ink);padding:1.1rem 1.2rem;border-radius:6px;overflow-x:auto;tab-size:4;position:relative;padding-right:4.5rem}
.prose pre code{font:inherit;background:none;color:inherit;padding:0}
.prose .copy-btn{position:absolute;top:.45rem;right:.45rem;font:600 .75rem var(--sans);background:#2A3446;color:#E3E8DF;border:0;border-radius:4px;padding:.3rem .6rem;cursor:pointer;opacity:.8}
.prose .copy-btn:hover{opacity:1}
.table-scroll{overflow-x:auto;margin-block:0 1.5em}
.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.93rem;line-height:1.45}
.prose th,.prose td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
.prose thead th{border-bottom:2px solid var(--ink);font-weight:700}
.prose tbody tr:nth-child(odd){background:var(--bar)}
.prose .wp-block-table{margin-inline:0}
.prose .aligncenter{margin-inline:auto;display:block}
.prose .alignleft{float:left;margin:0 1.5em 1em 0}
.prose .alignright{float:right;margin:0 0 1em 1.5em}
.prose iframe{display:block;width:100%;aspect-ratio:16/9;border:0}

.prose .aioseo-author-bio-compact{border:0!important;border-block:1px solid var(--rule)!important;border-radius:0!important;padding:1.5rem 0!important;margin-top:3rem;background:none!important;font-size:1rem}
.prose .aioseo-author-bio-compact img{border-radius:50%!important}
.prose .aioseo-author-bio-compact *{color:inherit}
.post-tags{max-width:var(--measure);margin:2.5rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.post-tags a{font-size:.85rem}

.author-box{max-width:var(--measure);display:grid;grid-template-columns:72px minmax(0,1fr);gap:1.2rem;margin:3rem 0;padding:1.5rem 0;border-block:1px solid var(--rule)}
.author-box img{border-radius:50%}
.author-box h2{font-size:1.1rem;margin:0 0 .35rem}
.author-box h2 a{color:var(--ink);text-decoration:none}
.author-box p{margin:0;font-family:var(--serif);color:var(--ink-2);font-size:1rem}
.author-box .more{display:inline-block;margin-top:.5rem;font-size:.9rem;font-weight:600}

.post-nav{max-width:var(--measure);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3.5rem}
.post-nav a{display:block;text-decoration:none;color:var(--ink);font-weight:620;line-height:1.35}
.post-nav a:hover{color:var(--blue)}
.post-nav span{display:block;font-size:.82rem;color:var(--ink-3);font-weight:450;margin-bottom:.25rem}
.post-nav .next{text-align:right}

.related{border-top:2px solid var(--ink);padding-top:1rem;margin-bottom:4rem}
.related h2{font-size:1.3rem;margin:0 0 1.2rem}
.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}
.related-grid a.img{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:4px;background:var(--bar);margin-bottom:.7rem}
.related-grid img{width:100%;height:100%;object-fit:cover;display:block}
.related-grid h3{font-size:1rem;line-height:1.35;margin:0;font-weight:640;text-wrap:pretty}
.related-grid h3 a{color:var(--ink);text-decoration:none}
.related-grid h3 a:hover{color:var(--blue);text-decoration:underline}
@media (max-width:900px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Pages ---------- */
.page-article{max-width:48rem;margin-bottom:4rem}
.page-article h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:780;letter-spacing:-.03em;margin:0 0 1.5rem}
.page-meta{font-size:.85rem;color:var(--ink-3);margin:-.8rem 0 2rem}
.contact-card{max-width:var(--measure);border:1px solid var(--rule);background:var(--surface);border-radius:6px;padding:1.4rem 1.5rem;margin-bottom:2rem}
.contact-card h2{margin:0 0 .4rem;font-size:1.15rem}
.contact-card p{margin:0 0 .4rem}
.elementor-full{min-height:40vh}

/* ---------- Not found / search ---------- */
.empty{max-width:40rem;padding-block:3rem 5rem}
.empty h1{font-size:clamp(2rem,4.5vw,3rem);margin:0 0 1rem}
.empty p{font-family:var(--serif);font-size:1.15rem;color:var(--ink-2)}

/* ---------- Footer ---------- */
html body .site-footer{border-top:1px solid var(--rule);background:var(--surface);padding-block:3rem 2rem;font-size:.93rem}
html body .footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:2rem 3rem}
html body .site-footer h2{font-size:.95rem;margin:0 0 .8rem}
html body .site-footer ul{list-style:none;margin:0;padding:0}
html body .site-footer li{margin:.35rem 0}
html body .site-footer a{color:var(--ink-2);text-decoration:none}
html body .site-footer a:hover{color:var(--ink);text-decoration:underline}
html body .site-footer p{color:var(--ink-2);margin:0 0 .8rem;max-width:30rem}
html body .footer-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--rule);margin-top:2.5rem;padding-top:1.2rem;color:var(--ink-3);font-size:.85rem}
@media (max-width:720px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.site-footer,.toc-aside,.toc-inline,.related,.post-nav{display:none}}
