/*
Theme Name: Craft & Calm
Theme URI: https://craftandcalm.com/
Author: Craft & Calm
Description: A lightweight editorial theme for Craft & Calm. Readable long-form articles, built-in SEO metadata and structured data, accessible navigation, and ad-ready (but ad-free by default) layouts.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: craftandcalm
*/

/* ---------- Fonts (self-hosted, OFL) ---------- */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/newsreader-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/newsreader-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/newsreader-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/newsreader-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/figtree-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:italic;font-weight:400 700;font-display:swap;src:url(assets/fonts/figtree-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:italic;font-weight:400 700;font-display:swap;src:url(assets/fonts/figtree-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens ---------- */
:root{
	--bg:#F7F4EE;
	--surface:#FFFDF9;
	--surface-alt:#EFEAE1;
	--ink:#23221F;
	--ink-soft:#5B574F;
	--line:#E2DCD1;
	--line-strong:#8C8579;
	--accent:#46644B;
	--accent-hover:#36503B;
	--accent-soft:#E3EAE0;
	--font-display:"Newsreader",Georgia,"Times New Roman",serif;
	--font-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--radius:6px;
	--container:1200px;
	--measure:42rem;
	--wide:64rem;
	--gutter:clamp(1rem,4vw,2.5rem);
	--section:clamp(3.25rem,6vw,5.5rem);
	--header-h:4.25rem;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1.25rem)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.15;color:var(--ink);margin:0;letter-spacing:-.01em;text-wrap:balance}
p,figure,blockquote{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--surface);clip:auto!important;clip-path:none;color:var(--ink);display:block;height:auto;left:1rem;top:1rem;padding:.75rem 1rem;width:auto;z-index:100000}
.skip-link{position:absolute;left:1rem;top:-10rem;z-index:1000;background:var(--ink);color:var(--bg);padding:.75rem 1.1rem;border-radius:var(--radius);font-weight:600;text-decoration:none}
.skip-link:focus{top:1rem;color:var(--bg)}
.site-main{overflow-x:clip}
.site-main:focus{outline:0}
.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.wrap{width:100%;max-width:calc(var(--measure) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.wrap-wide{width:100%;max-width:calc(var(--wide) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Small components ---------- */
.btn,.wp-block-button__link,.wp-element-button,.comment-form .submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;padding:.75rem 1.35rem;border-radius:var(--radius);background:var(--accent);color:#fff;border:1px solid var(--accent);font:600 1rem/1.2 var(--font-body);text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.btn:hover,.wp-block-button__link:hover,.wp-element-button:hover,.comment-form .submit:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.btn:active{transform:translateY(1px)}
.btn--quiet{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn--quiet:hover{background:var(--surface-alt);color:var(--ink);border-color:var(--ink)}
.link-more{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.95rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px;white-space:nowrap}
.link-more:hover{color:var(--accent)}
.link-more svg{width:1rem;height:1rem}
.eyebrow{display:inline-block;font:600 .75rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none}
a.eyebrow:hover{text-decoration:underline}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:.875rem;line-height:1.4;color:var(--ink-soft);margin:0}
.meta__sep{color:#A39C90}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}
.site-header__inner{display:flex;align-items:center;gap:2rem;min-height:var(--header-h)}
.brand{font:500 1.625rem/1 var(--font-display);color:var(--ink);text-decoration:none;letter-spacing:-.015em;white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand__amp{font-style:italic;color:var(--accent)}
.custom-logo-link{display:block}
.custom-logo{max-height:44px;width:auto}
.primary-nav{margin-left:auto}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:1.75rem}
.menu a{display:block;color:var(--ink);text-decoration:none;font-weight:500;font-size:.975rem;padding:.4rem 0;border-bottom:1px solid transparent}
.menu a:hover,.menu .current-menu-item>a,.menu .current-menu-parent>a,.menu .current-post-ancestor>a,.menu .current-category-ancestor>a{border-bottom-color:var(--accent)}
.site-header__actions{display:flex;align-items:center;gap:.25rem}
.icon-btn{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius);color:var(--ink);background:transparent;border:0;cursor:pointer;padding:0}
.icon-btn:hover{background:var(--surface-alt);color:var(--ink)}
.icon-btn svg{width:1.25rem;height:1.25rem}
.nav-toggle{display:none}
.nav-toggle .icon-close{display:none}
.nav-toggle[aria-expanded="true"] .icon-open{display:none}
.nav-toggle[aria-expanded="true"] .icon-close{display:block}
.site-search{border-top:1px solid var(--line);background:var(--bg);padding-block:1rem}
.site-search[hidden]{display:none}
@media (max-width:960px){
	.site-header__inner{gap:1rem}
	.site-header__actions{margin-left:auto}
	.js .nav-toggle{display:inline-grid}
	.js .primary-nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 22px 30px -24px rgba(35,34,31,.35)}
	.js .primary-nav.is-open{display:block}
	.js .menu{flex-direction:column;gap:0;padding:.25rem var(--gutter) 1rem;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto}
	.js .menu a{padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1.0625rem}
	.js .menu li:last-child a{border-bottom:0}
	.js .menu .current-menu-item>a,.js .menu .current-menu-parent>a,.js .menu .current-post-ancestor>a,.js .menu .current-category-ancestor>a{color:var(--accent);font-weight:600;border-bottom-color:var(--line)}
	.no-js .site-header__inner{flex-wrap:wrap}
	.no-js .primary-nav{order:3;width:100%;margin:0;overflow-x:auto}
	.no-js .menu{gap:1.25rem;padding-bottom:.75rem}
}

/* ---------- Search form ---------- */
.search-form{display:flex;gap:.5rem;max-width:40rem}
.search-form .search-field{flex:1;min-width:0}
input[type=text],input[type=email],input[type=search],input[type=url],input[type=tel],textarea,select{width:100%;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.7rem .9rem;min-height:2.9rem;line-height:1.4}
textarea{min-height:10rem;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:#77726A}
label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.4rem}
input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent);margin:.15rem 0 0;flex:none}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,5vw,4.25rem)}
.hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero__title{font-size:clamp(2.6rem,1.4rem + 3.6vw,4.4rem);line-height:1.06;letter-spacing:-.022em}
.hero__title em{font-style:italic;color:var(--accent)}
.hero__text{margin-top:1.35rem;font-size:1.1875rem;line-height:1.6;color:var(--ink-soft);max-width:30rem}
.hero__cta{margin-top:2rem}
.hero__aside-title{font:600 .8rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}}
@media (max-width:600px){.hero__text{font-size:1.0625rem}.hero__cta{margin-top:1.5rem}}

/* ---------- Cards (portrait 9:16, Pinterest style) ---------- */
.card{display:flex;flex-direction:column;gap:.9rem;min-width:0}
.card__media{display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:9/16;background:var(--surface-alt);text-decoration:none}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__body{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;min-width:0}
.card__title{font-size:1.25rem;line-height:1.22}
.card__title a{color:var(--ink);text-decoration:none}
.card__title a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px}
.card__excerpt{color:var(--ink-soft);font-size:.95rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Lead story: portrait image beside its text */
.card--lead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.75rem;align-items:center}
.card--lead .card__title{font-size:clamp(1.5rem,1.15rem + 1.2vw,2.1rem);line-height:1.15}
.card--lead .card__excerpt{font-size:1.0625rem;-webkit-line-clamp:4}
.card--compact{flex-direction:row;align-items:flex-start;gap:1rem}
.card--compact .card__media{flex:0 0 5.25rem}
.card--compact .card__title{font-size:1.125rem;line-height:1.28}
.card--row{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:1.75rem;align-items:start}
.card--row .card__title{font-size:1.5rem}
@media (max-width:600px){
	.card--row{grid-template-columns:6rem minmax(0,1fr);gap:1rem}
	.card--row .card__title{font-size:1.2rem}
	.card--row .card__excerpt{display:none}
	.card--lead{gap:1rem;align-items:start}
	.card--lead .card__title{font-size:1.35rem}
	.card--lead .card__excerpt{display:none}
}
.ph{display:grid;place-items:center;width:100%;height:100%;padding:1rem;background:var(--surface-alt) radial-gradient(circle at 70% 20%,rgba(70,100,75,.14),transparent 60%)}
.ph__mark{font:italic 500 clamp(.95rem,.8rem + .5vw,1.25rem)/1.2 var(--font-display);color:var(--ink-soft);text-align:center}
.card--compact .ph__mark,.card--row .ph__mark{font-size:.75rem}

/* ---------- Layout blocks ---------- */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.75rem 1.75rem}
@media (max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){
	.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}
	.grid .card__title{font-size:1.05rem;line-height:1.25}
	.grid .card__excerpt{display:none}
	.grid .eyebrow{font-size:.68rem}
	.grid .meta{font-size:.8rem}
}
.grid>.ad-slot{grid-column:1/-1;margin:0}
.section{padding-block:var(--section)}
.section--rule{border-top:1px solid var(--line)}
.section--tint{background:var(--surface-alt)}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:2.25rem}
.section__title{font-size:clamp(1.75rem,1.35rem + 1.3vw,2.375rem)}
.section__title a{color:inherit;text-decoration:none}
.section__title a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.section__desc{color:var(--ink-soft);margin-top:.5rem;max-width:36rem}
.featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-block:2rem;border-top:1px solid var(--line)}
@media (max-width:900px){.featured{grid-template-columns:1fr;gap:1.25rem}}
.cat-front{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem 3rem;align-items:start}
.cat-front__list{display:flex;flex-direction:column}
.cat-front__list .card{padding-block:1.25rem;border-top:1px solid var(--line)}
.cat-front__list .card:first-child{padding-top:0;border-top:0}
.cat-front--flip .cat-front__lead{order:2}
@media (max-width:900px){.cat-front{grid-template-columns:1fr}.cat-front--flip .cat-front__lead{order:0}.cat-front__list .card:first-child{padding-top:1.25rem;border-top:1px solid var(--line)}}

/* ---------- Topics index ---------- */
.topics{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.topics a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.topics__name{font:500 1.4rem/1.2 var(--font-display)}
.topics__desc{grid-column:1;color:var(--ink-soft);font-size:.95rem;line-height:1.5;margin-top:.3rem}
.topics__arrow{grid-column:2;grid-row:1/span 2;color:var(--accent)}
.topics__arrow svg{width:1.25rem;height:1.25rem}
.topics a:hover .topics__name{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px}

/* ---------- Newsletter ---------- */
.newsletter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:center;background:var(--accent-soft);border-radius:var(--radius);padding:clamp(1.75rem,5vw,3.5rem)}
.newsletter__title{font-size:clamp(1.6rem,1.3rem + 1vw,2.125rem)}
.newsletter__text{color:var(--ink-soft);margin-top:.6rem;max-width:30rem}
.newsletter__row{display:flex;gap:.5rem}
.newsletter__row input{flex:1;min-width:0}
.newsletter__note{font-size:.85rem;color:var(--ink-soft);margin-top:.75rem}
.newsletter--compact{grid-template-columns:1fr;gap:1.25rem;padding:clamp(1.5rem,4vw,2.25rem)}
.newsletter--compact .newsletter__title{font-size:1.5rem}
@media (max-width:800px){.newsletter{grid-template-columns:1fr}}
@media (max-width:480px){.newsletter__row{flex-direction:column}}

/* ---------- About band ---------- */
.about{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:2.5rem 4rem;align-items:start}
.about--solo{grid-template-columns:minmax(0,44rem)}
.about__text{margin-top:1.1rem;color:var(--ink-soft);font-size:1.0625rem}
.about__text p+p{margin-top:1em}
.about .link-more{margin-top:1.5rem}
@media (max-width:900px){.about{grid-template-columns:1fr}}

/* ---------- Page & archive heads ---------- */
.page-head{padding-block:clamp(2rem,5vw,3.75rem) clamp(1.75rem,3vw,2.5rem)}
.page-head__title{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem);line-height:1.08;margin-top:.75rem}
.page-head__desc{color:var(--ink-soft);font-size:1.125rem;line-height:1.6;max-width:40rem;margin-top:1rem}
.page-head__desc p+p{margin-top:.75em}
.page-head__count{margin-top:.75rem;font-size:.9rem;color:var(--ink-soft)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.toolbar .search-form{flex:0 1 22rem}
.filters{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;flex-wrap:wrap}
.filters a{display:inline-block;padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.925rem;font-weight:500;white-space:nowrap}
.filters a:hover{border-color:var(--ink)}
.filters a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
@media (max-width:600px){.filters{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:.25rem;scrollbar-width:none}.toolbar .search-form{flex-basis:100%}}
.archive-body{padding-bottom:var(--section)}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{font-size:.875rem;color:var(--ink-soft)}
.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .4rem}
.breadcrumbs li{display:inline-flex;gap:.4rem;min-width:0}
.breadcrumbs li+li::before{content:"/";color:#A39C90}
.breadcrumbs a{color:var(--ink-soft);text-decoration:none}
.breadcrumbs a:hover{color:var(--accent);text-decoration:underline}
.breadcrumbs [aria-current]{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}

/* ---------- Pagination ---------- */
.pagination{margin-top:4rem}
.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}
.page-numbers{display:inline-grid;place-items:center;min-width:2.75rem;height:2.75rem;padding:0 .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:500}
a.page-numbers:hover{border-color:var(--ink)}
.page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.page-numbers.dots{border:0;background:none}

/* ---------- Article ---------- */
.article-head{padding-top:clamp(1.5rem,4vw,3rem)}
.article-head .eyebrow{margin-top:1.5rem}
.article-title{font-size:clamp(2.1rem,1.45rem + 2.6vw,3.25rem);line-height:1.1;letter-spacing:-.018em;margin-top:.6rem}
.article-dek{font-size:clamp(1.125rem,1.05rem + .3vw,1.3rem);line-height:1.55;color:var(--ink-soft);margin-top:1.1rem}
.byline{display:flex;align-items:center;gap:.85rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.byline__avatar{border-radius:50%;width:44px;height:44px;flex:none;background:var(--surface-alt)}
.byline__name{font-weight:600;font-size:.95rem;color:var(--ink);text-decoration:none}
.byline__name:hover{color:var(--accent);text-decoration:underline}
.byline .meta{margin-top:.15rem}
.article-hero{margin-top:2.25rem}
.article-hero{max-width:calc(25rem + 2 * var(--gutter))}
.article-hero img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--radius);background:var(--surface-alt)}
@media (max-width:600px){.article-hero{max-width:calc(82vw + 2 * var(--gutter))}}
.article-hero figcaption{font-size:.875rem;color:var(--ink-soft);margin-top:.6rem;text-align:center}
.article-body{padding-top:2.25rem}
.article-foot{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.75rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;list-style:none;margin:0;padding:0}
.tags a{display:inline-block;padding:.35rem .75rem;border-radius:var(--radius);background:var(--surface-alt);color:var(--ink);text-decoration:none;font-size:.875rem}
.tags a:hover{background:var(--line)}
.share{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-block:1.25rem;border-block:1px solid var(--line)}
.share__label{font-size:.9rem;font-weight:600;margin-right:.35rem}
.share a,.share button{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;padding:0}
.share a:hover,.share button:hover{border-color:var(--accent);color:var(--accent)}
.share svg{width:1.1rem;height:1.1rem}
.share__status{font-size:.875rem;color:var(--accent);margin-left:.25rem}
.more-in{margin-top:.5rem}
.article-extras{display:flex;flex-direction:column;gap:2.5rem;margin-top:3rem}

/* Table of contents */
.toc{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:2.25rem}
.toc summary{padding:1rem 1.25rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"+";font:400 1.35rem/1 var(--font-body);color:var(--accent)}
.toc[open] summary::after{content:"\2212"}
.toc ol{margin:0;padding:0 1.25rem 1.15rem 2.6rem;line-height:1.45}
.toc li+li{margin-top:.5rem}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--accent);text-decoration:underline}

/* Author box */
.author-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;padding:1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.author-box__avatar{width:80px;height:80px;border-radius:50%;background:var(--surface-alt)}
.author-box__label{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.author-box__name{font-size:1.4rem;margin-top:.2rem}
.author-box__name a{color:var(--ink);text-decoration:none}
.author-box__name a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.author-box__bio{color:var(--ink-soft);margin-top:.6rem;font-size:.98rem}
.author-box__interests{font-size:.9rem;margin-top:.6rem;color:var(--ink-soft)}
.author-box__interests strong{color:var(--ink);font-weight:600}
.author-box .link-more{margin-top:1rem}
@media (max-width:520px){.author-box{grid-template-columns:1fr}}

/* ---------- Entry content (block editor output) ---------- */
.entry-content{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.75;color:var(--ink);overflow-wrap:break-word}
.entry-content>*{margin-block:0}
.entry-content>*+*{margin-top:1.35em}
.entry-content h2{font-size:clamp(1.6rem,1.3rem + 1vw,2rem);line-height:1.2;margin-top:2.1em}
.entry-content h3{font-size:clamp(1.3rem,1.15rem + .5vw,1.5rem);line-height:1.25;margin-top:1.85em}
.entry-content h4{font-family:var(--font-body);font-weight:700;font-size:1.05rem;letter-spacing:0;margin-top:1.6em}
.entry-content h2+*,.entry-content h3+*,.entry-content h4+*{margin-top:.6em}
.entry-content a{color:var(--accent);text-decoration:underline}
.entry-content strong{font-weight:650}
.entry-content ul,.entry-content ol{padding-left:1.35em}
.entry-content li+li{margin-top:.45em}
.entry-content li::marker{color:var(--accent)}
.entry-content blockquote,.entry-content .wp-block-quote{margin-inline:0;padding:.1em 0 .1em 1.25em;border-left:2px solid var(--accent);font-family:var(--font-display);font-size:1.3em;line-height:1.45;font-style:italic}
.entry-content blockquote cite,.entry-content .wp-block-quote cite{display:block;margin-top:.6em;font:normal .8rem/1.4 var(--font-body);color:var(--ink-soft)}
.entry-content .wp-block-pullquote{border-block:1px solid var(--line);padding:1.5em 0;text-align:center}
.entry-content .wp-block-pullquote blockquote{border:0;padding:0;font-size:1.5em}
.entry-content figure{margin-inline:0}
.entry-content img{border-radius:var(--radius)}
.entry-content figcaption,.wp-element-caption{font-size:.875rem;line-height:1.5;color:var(--ink-soft);margin-top:.6rem;text-align:left}
.entry-content .alignwide{width:min(var(--wide),100vw - 2 * var(--gutter));max-width:none;margin-left:50%;transform:translateX(-50%)}
.entry-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.entry-content .alignfull img{border-radius:0}
@media (min-width:760px){
	.entry-content .alignleft{float:left;max-width:50%;margin:.35em 1.5em 1em 0}
	.entry-content .alignright{float:right;max-width:50%;margin:.35em 0 1em 1.5em}
}
.entry-content .aligncenter{margin-inline:auto}
.entry-content .wp-block-image img{height:auto}
.entry-content .wp-block-gallery{gap:.75rem}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content table{width:100%;border-collapse:collapse;font-size:.92em;line-height:1.5}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:.65em .75em;text-align:left;vertical-align:top}
.entry-content th{font-weight:650;border-bottom-color:var(--line-strong)}
.entry-content hr,.entry-content .wp-block-separator{border:0;border-top:1px solid var(--line);margin-block:2.5em}
.entry-content code{font-size:.88em;background:var(--surface-alt);padding:.1em .35em;border-radius:4px}
.entry-content pre{background:var(--surface-alt);padding:1em 1.25em;border-radius:var(--radius);overflow-x:auto;font-size:.9em}
.entry-content details{border:1px solid var(--line);border-radius:var(--radius);padding:.9em 1.1em;background:var(--surface)}
.entry-content summary{cursor:pointer;font-weight:600}
.entry-content details[open] summary{margin-bottom:.6em}
.entry-content .wp-block-embed iframe{max-width:100%}
.entry-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.entry-content::after{content:"";display:table;clear:both}
/* Editor block styles registered by the theme */
.is-style-cc-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4em 1.6em}
.is-style-cc-panel>*{margin-block:0}
.is-style-cc-panel>*+*{margin-top:.75em}
.is-style-cc-panel h3,.is-style-cc-panel h4{margin-top:0}
.is-style-cc-tip{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:1em 1.25em;font-size:.95em;line-height:1.65}
ul.is-style-cc-checklist{list-style:none;padding-left:0}
ul.is-style-cc-checklist li{position:relative;padding-left:1.9em}
ul.is-style-cc-checklist li::before{content:"";position:absolute;left:0;top:.38em;width:1em;height:1em;border:1.5px solid var(--accent);border-radius:3px}

/* ---------- Results & empty states ---------- */
.results{list-style:none;margin:0;padding:0}
.results>li{padding-block:1.75rem;border-top:1px solid var(--line)}
.results>li:first-child{border-top:0;padding-top:0}
.empty{max-width:44rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem)}
.empty__title{font-size:1.6rem}
.empty__text{color:var(--ink-soft);margin-top:.6rem}
.empty .search-form,.empty .btn{margin-top:1.25rem}
.stack-lg>*+*{margin-top:clamp(2.5rem,5vw,3.5rem)}
.subhead{font-size:1.5rem;margin-bottom:1.25rem}

/* ---------- Author page ---------- */
.author-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.75rem;align-items:start;margin-top:1.25rem}
.author-head__avatar{width:120px;height:120px;border-radius:50%;background:var(--surface-alt)}
.author-head .page-head__title{margin-top:0}
.author-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1rem;list-style:none;padding:0;font-size:.95rem}
@media (max-width:600px){.author-head{grid-template-columns:1fr}.author-head__avatar{width:88px;height:88px}}

/* ---------- Forms (contact) ---------- */
.cc-form{display:grid;gap:1.25rem;margin-top:1.5rem}
.cc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media (max-width:600px){.cc-form__row{grid-template-columns:1fr}}
.cc-form__check{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;line-height:1.5}
.cc-form__check label{font-weight:400;margin:0;font-size:.95rem}
.cc-form__hint{font-size:.85rem;color:var(--ink-soft);margin-top:.35rem}
.req{color:var(--accent)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.notice{padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);font-size:.98rem;line-height:1.55}
.notice--success{background:var(--accent-soft);border-color:#B6C7B3}
.notice--error{background:#F7E7E2;border-color:#E0B9AE;color:#6A2716}
.notice--admin{border:1px dashed #B39A5F;background:#FBF4E2;color:#4A3B17;font-size:.92rem}
.notice--admin a{color:#4A3B17;font-weight:600}
.entry-content .notice{font-size:.95rem}
.admin-inline{background:#FBF4E2;border:1px dashed #B39A5F;color:#4A3B17;padding:0 .35em;font-size:.85em;border-radius:3px}
.cc-authors{display:grid;gap:1.25rem}
.entry-content .author-box{font-size:1rem;line-height:1.6}
.entry-content .author-box__name{font-size:1.4rem;margin-top:.2rem}
.entry-content .author-box__name a,.entry-content .link-more{color:var(--ink);text-decoration:none}

/* ---------- Ad slots (empty by default) ---------- */
.ad-slot{margin:2.5rem auto;text-align:center;min-height:250px}
.ad-slot__label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}
.ad-slot--preview{min-height:0;display:grid;place-items:center;padding:1.75rem 1rem;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-soft);font-size:.85rem;background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(140,133,121,.07) 10px 20px)}

/* ---------- Comments ---------- */
.comments{padding-top:var(--section)}
.comments__title,.comment-reply-title{font-size:1.6rem;margin-bottom:1.25rem}
.comment-list{list-style:none;margin:0 0 2.5rem;padding:0}
.comment-list .children{list-style:none;padding-left:clamp(1rem,4vw,2.5rem);margin:0}
.comment-body{padding-block:1.25rem;border-top:1px solid var(--line)}
.comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;font-size:.9rem;color:var(--ink-soft)}
.comment-author{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--ink)}
.comment-author .avatar{border-radius:50%}
.comment-author .says{display:none}
.comment-metadata a{color:var(--ink-soft);text-decoration:none}
.comment-content{margin-top:.6rem}
.comment-content p+p{margin-top:.75em}
.reply a{font-size:.9rem;font-weight:600}
.comment-form{display:grid;gap:1rem}
.comment-form p{margin:0}
.comment-form-cookies-consent{display:flex;gap:.6rem;align-items:flex-start}
.comment-form-cookies-consent label{font-weight:400;margin:0}
.comment-notes,.logged-in-as{font-size:.9rem;color:var(--ink-soft)}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface-alt);border-top:1px solid var(--line);margin-top:var(--section)}
.site-footer--flush{margin-top:0}
.footer__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem;padding-block:3.5rem 2.75rem}
.footer__tagline{color:var(--ink-soft);margin-top:.85rem;max-width:22rem}
.footer__heading{font:600 .78rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}
.footer__links{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.footer__links a{color:var(--ink);text-decoration:none;display:inline-block;padding-block:.1rem}
.footer__links a:hover{color:var(--accent);text-decoration:underline}
.footer__social{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;margin:1.25rem 0 0;padding:0;font-size:.95rem}
.footer__social a{color:var(--ink)}
.footer__bottom{border-top:1px solid #D7D0C3;padding-block:1.5rem;font-size:.875rem;color:var(--ink-soft)}
@media (max-width:800px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}

/* ---------- Print ---------- */
@media print{
	.site-header,.site-footer,.share,.ad-slot,.newsletter,.related,.comments,.toc,.breadcrumbs{display:none!important}
	body{background:#fff}
	.entry-content a{color:inherit}
}
