/*
Theme Name: SparkSphere Marquetry Parquet
Theme URI: https://sparksphere.org/
Author: SparkSphere
Description: Directional veneer marquetry business-news theme with paper-mounted editorial surfaces.
Version: 1.0.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: sparksphere
*/

/* STEP 0A — exact design tokens */
:root{
 --sp-maple:#E4D3B2;--sp-oak:#C9A878;--sp-walnut:#7A5233;--sp-ebony:#2A211A;
 --sp-grain-light:rgba(255,255,255,.16);--sp-grain-dark:rgba(42,33,26,.14);
 --sp-brass:#A8863E;--sp-paper:#F7F4EC;--sp-text:#1F1811;--sp-pale:#F0E9DC;--sp-faded:#6B5F4E;
 --sp-grain-line-a:1px;--sp-grain-line-b:.5px;--sp-grain-pitch:16px;--sp-string:2px;--sp-string-dark:1px;--sp-banding:8px;
 --sp-block-sm:44px;--sp-block-md:120px;--sp-block-lg:280px;--sp-angle-business:0deg;--sp-angle-economy:20deg;--sp-angle-markets:0deg;--sp-angle-industry:45deg;--sp-angle-finance:90deg;--sp-angle-tech:135deg;--sp-angle-trade:160deg;
 --sp-wrap:1440px;
}
/* STEP 0B.1 — irregular parallel wood grain; one class, rotatable variable */
.sp-grain{--grain-current:var(--grain-angle,0deg);background-image:repeating-linear-gradient(var(--grain-current),transparent 0 2px,var(--sp-grain-dark) 2px 3px,transparent 3px 9px,var(--sp-grain-light) 9px 10px,transparent 10px var(--sp-grain-pitch));background-color:inherit;}
/* STEP 0B.2 — basketweave pair: same veneer, perpendicular grain */
.sp-basket-pair{display:grid;grid-template-columns:1fr 1fr}.sp-basket-pair>:first-child{--grain-angle:0deg}.sp-basket-pair>:last-child{--grain-angle:90deg}
/* STEP 0B.3 — stringing inlay: 2px brass + 1px ebony, mitred by border intersection */
.sp-string-frame{border:var(--sp-string) solid var(--sp-brass);outline:var(--sp-string-dark) solid var(--sp-ebony);outline-offset:2px}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sp-maple);color:var(--sp-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}img{max-width:100%;height:auto;display:block}button,input{font:inherit}.sp-wrap{width:min(calc(100% - 40px),var(--sp-wrap));margin-inline:auto}.sp-wide{width:min(calc(100% - 40px),1180px);margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sp-maple{background-color:var(--sp-maple)}.sp-oak{background-color:var(--sp-oak)}.sp-walnut{background-color:var(--sp-walnut)}.sp-ebony{background-color:var(--sp-ebony)}

/* Header: ebony 0deg + stringing */
.sp-site-header{position:sticky;top:0;z-index:80;color:var(--sp-pale);border-bottom:2px solid var(--sp-brass);box-shadow:inset 0 -1px 0 var(--sp-ebony)}.admin-bar .sp-site-header{top:32px}.sp-header-inner{height:84px;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:28px}.sp-brand img{max-width:230px;max-height:52px;width:auto;height:auto}.sp-nav ul{display:flex;justify-content:center;gap:8px;list-style:none;padding:0;margin:0}.sp-nav a{display:block;padding:10px 12px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--sp-pale);position:relative}.sp-nav a:before{content:"";display:inline-block;width:16px;height:16px;margin-right:7px;vertical-align:-3px;background:repeating-radial-gradient(circle at center,var(--sp-brass) 0 1px,var(--sp-ebony) 1px 4px);border:1px solid var(--sp-brass)}.sp-nav .current-menu-item>a:after,.sp-nav a:hover:after{content:"";position:absolute;height:2px;background:var(--sp-brass);left:12px;right:12px;bottom:3px}.sp-header-actions{display:flex;gap:8px}.sp-search-button,.sp-mode-button{border:2px solid var(--sp-brass);background:var(--sp-ebony);color:var(--sp-pale);padding:9px 13px;cursor:pointer}.sp-mode-button{width:42px}.sp-trust{display:flex;gap:20px;padding:7px 0 10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sp-pale);border-top:1px solid var(--sp-brass)}

/* Search */
.sp-search-overlay{display:none;position:fixed;inset:0;z-index:120;background:rgba(42,33,26,.82);padding:100px 20px}.sp-search-overlay.is-open{display:block}.sp-search-panel{max-width:760px;margin:auto;background:var(--sp-paper);padding:28px;border:8px solid var(--sp-walnut);outline:2px solid var(--sp-brass)}.sp-search-panel input{width:100%;border:0;border-bottom:2px solid var(--sp-brass);background:transparent;padding:16px 4px;font-size:26px;color:var(--sp-text)}.sp-close{float:right;border:0;background:transparent;color:var(--sp-text);cursor:pointer}

/* Paper is content; wood is surface */
.sp-paper-panel,.sp-paper-card,.sp-paper-mount,.sp-paper-register,.sp-readout-paper,.sp-article-main,.sp-key-points,.sp-author-box,.sp-archive-card,.sp-page-main{background:var(--sp-paper);color:var(--sp-text)}.sp-paper-panel,.sp-paper-card{padding:28px}.sp-paper-mount{padding:8px}.sp-paper-mount img{width:100%;object-fit:cover;filter:contrast(1.04) saturate(1.02)}.sp-category-chip{display:inline-flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--sp-faded);margin-bottom:10px}.sp-category-chip:before{content:"";width:18px;height:18px;background:repeating-radial-gradient(circle at center,var(--sp-walnut) 0 1px,var(--sp-oak) 1px 4px,var(--sp-maple) 4px 6px);border:1px solid var(--sp-ebony)}.sp-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--sp-faded)}

/* Book-match hero */
.sp-bookmatch{padding:42px 0;border-bottom:3px solid var(--sp-brass)}.sp-bookmatch-grid{display:grid;grid-template-columns:1fr 1fr;border:8px solid var(--sp-walnut);outline:2px solid var(--sp-brass)}.sp-book-block{min-width:0;padding:36px}.sp-book-block+ .sp-book-block{border-left:2px solid var(--sp-brass);box-shadow:-1px 0 0 var(--sp-ebony)}.sp-book-block .sp-paper-mount{height:100%}.sp-book-block .sp-paper-mount img{height:100%;min-height:420px}.sp-hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center}.sp-hero-copy h1,.sp-article-hero h1{font-size:clamp(38px,4vw,54px);line-height:1.06;margin:.2em 0 .35em;font-weight:600;letter-spacing:.01em}.sp-hero-copy h1 a{text-decoration:none}.sp-dek{font-size:18px;line-height:1.7;margin:0 0 8px}

.sp-section{padding:48px 0;background:var(--sp-paper)}.sp-section:nth-of-type(even){background:var(--sp-maple)}.sp-section-head{margin-bottom:24px}.sp-section-head>span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--sp-faded)}.sp-section-head h2{font-size:32px;line-height:1.15;margin:4px 0}

/* Basketweave */
.sp-basket-grid{display:grid;grid-template-columns:repeat(3,1fr);border:8px solid var(--sp-walnut);outline:2px solid var(--sp-brass)}.sp-basket-card{padding:22px;min-width:0}.sp-basket-card+ .sp-basket-card{border-left:2px solid var(--sp-brass);box-shadow:-1px 0 0 var(--sp-ebony)}.sp-basket-card h3,.sp-related-card h3{font-size:23px;line-height:1.2;margin:12px 0 8px}.sp-basket-card h3 a,.sp-related-card h3 a{text-decoration:none}.sp-basket-card p,.sp-related-card p{font-size:15px;line-height:1.6}

/* Herringbone: blocks stay axis aligned; only grain angle alternates */
.sp-herringbone{position:relative;padding:54px 0;overflow:hidden;background:var(--sp-walnut)}.sp-herringbone-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);opacity:.7}.sp-herringbone-bg i{display:block;background-color:var(--sp-walnut);border-right:1px solid var(--sp-brass);border-bottom:1px solid var(--sp-ebony)}.sp-herringbone-bg i:nth-child(2n){transform:translateY(10px)}.sp-feature-panel{position:relative;z-index:2;max-width:920px;margin:auto;padding:38px;border:8px solid var(--sp-oak);outline:2px solid var(--sp-brass)}.sp-feature-panel h2{font-size:34px;line-height:1.15;margin:8px 0}.sp-feature-panel h2 a{text-decoration:none}

/* End grain */
.sp-readout-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.sp-endgrain{padding:16px;background-color:var(--sp-walnut);background-image:repeating-radial-gradient(ellipse at 45% 55%,transparent 0 3px,var(--sp-ebony) 3px 4px,transparent 4px 9px,var(--sp-brass) 9px 10px,transparent 10px 15px);border:2px solid var(--sp-brass)}.sp-readout-paper{padding:22px 12px;text-align:center;border:1px solid var(--sp-ebony)}.sp-readout-paper strong{display:block;font-size:clamp(38px,5vw,64px);line-height:1;font-variant-numeric:tabular-nums}.sp-readout-paper span{display:block;margin-top:10px;text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:var(--sp-faded)}

/* Register: intentionally no grain/stringing inside */
.sp-paper-register{padding:34px;border:var(--sp-banding) solid var(--sp-walnut);outline:2px solid var(--sp-brass)}.sp-register-row{padding:18px 0;border-bottom:1px solid var(--sp-maple)}.sp-register-row h3{font-size:20px;line-height:1.25;margin:0}.sp-register-row h3 a{text-decoration:none}.sp-older{display:inline-block;margin-top:24px;padding:12px 18px;background:var(--sp-walnut);color:var(--sp-pale);border:2px solid var(--sp-brass);text-decoration:none}

/* Ad: clean paper, no grain/stringing */
.sp-ad{max-width:920px;margin:24px auto;padding:18px;background:var(--sp-paper);border:1px solid var(--sp-faded);color:var(--sp-text);min-height:90px}.sp-ad:empty{display:none}.sp-ad-label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sp-faded);margin-bottom:10px}

/* Article */
.sp-article-hero{padding:42px 0;border-bottom:2px solid var(--sp-brass)}.sp-article-hero-grid{display:grid;grid-template-columns:48% 52%;gap:28px;align-items:center;border:8px solid var(--sp-walnut);outline:2px solid var(--sp-brass);padding:28px}.sp-article-hero .sp-paper-mount img{max-height:620px;object-fit:cover}.sp-article-shell{background:var(--sp-maple);padding:42px 0}.sp-article-layout{width:min(calc(100% - 40px),1440px);margin:auto;display:grid;grid-template-columns:220px minmax(680px,920px) 220px;gap:32px;justify-content:center}.sp-article-main{position:relative;padding:48px 54px;border:8px solid var(--sp-walnut)}.sp-entry-content,.entry-content{font-size:19px;line-height:1.8}.entry-content p{margin:0 0 1.5em}.entry-content h2{font-size:32px;line-height:1.25;margin:2.4em 0 .6em}.entry-content h3{font-size:25px}.entry-content img,.entry-content figure,.entry-content .wp-block-image,.entry-content .wp-block-gallery,.entry-content .wp-block-media-text{max-width:100%!important;height:auto}.entry-content .alignwide,.entry-content .alignfull{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.entry-content iframe,.entry-content embed{max-width:100%;background:var(--sp-paper);border:1px solid var(--sp-brass)}.entry-content table{width:100%;border-collapse:collapse;background:var(--sp-paper)}.entry-content th,.entry-content td{padding:12px;border:1px solid var(--sp-brass)}.sp-key-points{padding:24px;border:1px solid var(--sp-walnut);margin-bottom:32px}.sp-key-points h2{margin:0 0 10px;font-size:24px}.sp-dropcap>p:first-child:first-letter{float:left;background:var(--sp-walnut);color:var(--sp-pale);font-size:52px;line-height:.9;padding:8px 10px;margin:6px 10px 0 0}.entry-content blockquote{margin:38px 0;padding:28px;background:var(--sp-walnut);color:var(--sp-pale);border-left:2px solid var(--sp-brass);font-size:26px;line-height:1.45}.sp-toc,.sp-marginalia{font-size:12px;position:sticky;top:140px;align-self:start}.sp-toc ol{list-style:none;padding:0}.sp-toc li{margin:12px 0}.sp-toc a{text-decoration:none;display:grid;grid-template-columns:20px 1fr;gap:8px}.sp-grain-chip{width:16px;height:16px;background-color:var(--sp-oak);background-image:repeating-linear-gradient(var(--grain-angle,45deg),transparent 0 4px,var(--sp-ebony) 4px 5px,transparent 5px 10px)}.sp-toc a.is-active .sp-grain-chip{outline:2px solid var(--sp-brass)}.sp-marginalia{color:var(--sp-faded)}.sp-author-box{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:24px;border-top:2px solid var(--sp-brass);margin-top:36px}.sp-author-box img{border-radius:0;border:4px solid var(--sp-walnut)}

/* Related */
.sp-related{margin-top:46px}.sp-related>h2{font-size:28px}.sp-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sp-related-card{padding:16px;border:2px solid var(--sp-brass)}

/* Archive/page/search inherited templates */
.sp-archive-hero{padding:44px 0;background:var(--sp-oak);border-bottom:8px solid var(--sp-walnut)}.sp-archive-hero h1{font-size:44px;margin:.2em 0}.sp-archive-list{display:grid;gap:18px}.sp-archive-card{padding:24px;border:8px solid var(--sp-walnut);outline:1px solid var(--sp-brass)}.sp-archive-card h2,.sp-archive-card h3{font-size:24px}.sp-page-main{max-width:920px;margin:42px auto;padding:48px;border:8px solid var(--sp-walnut)}

/* Internal links */
.sp-internal-links{margin:32px 0;padding:20px;background:var(--sp-paper);border:1px solid var(--sp-walnut)}.sp-internal-links-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--sp-faded);padding-bottom:10px;border-bottom:1px solid var(--sp-brass)}.sp-internal-link-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--sp-maple)}.sp-internal-link-row:last-child{border-bottom:0}.sp-internal-link-row b{color:var(--sp-walnut);font-variant-numeric:tabular-nums}.sp-internal-link-row a,.sp-internal-link-row a:visited{color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#fff!important}.sp-internal-link-row a:hover,.sp-internal-link-row a:focus{color:var(--sp-pale)!important;-webkit-text-fill-color:var(--sp-pale)!important;text-decoration-color:var(--sp-pale)!important}

/* Footer */
.sp-footer{color:var(--sp-pale);border-top:2px solid var(--sp-brass);padding:44px 0 20px}.sp-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px}.sp-footer-brand img{max-width:260px;max-height:64px;width:auto}.sp-footer h2{font-size:13px;text-transform:uppercase;letter-spacing:.13em;color:var(--sp-pale)}.sp-footer ul{list-style:none;padding:0;margin:0;columns:2}.sp-footer li{margin:7px 0}.sp-footer a{color:var(--sp-pale);font-size:12px}.sp-footer-copy{border-top:1px solid var(--sp-brass);padding-top:16px;margin-top:30px;font-size:11px}

/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--sp-walnut);outline-offset:2px}.sp-site-header a:focus-visible,.sp-site-header button:focus-visible,.sp-footer a:focus-visible{outline-color:var(--sp-paper);outline-offset:2px}

/* Dark mode */
html[data-theme="dark"]{--sp-paper:#1C1813;--sp-maple:#4A3D2A;--sp-oak:#3A2E1F;--sp-walnut:#2A2016;--sp-ebony:#14100C;--sp-brass:#C09E4E;--sp-text:#F0E9DC;--sp-faded:#B8AA95;--sp-pale:#F0E9DC;--sp-grain-light:rgba(255,255,255,.10);--sp-grain-dark:rgba(0,0,0,.18)}

@media(max-width:1199px){.sp-article-layout{grid-template-columns:minmax(0,920px)}.sp-toc,.sp-marginalia{display:none}.sp-article-main{width:90%;margin:auto}.sp-header-inner{grid-template-columns:210px 1fr auto}.sp-nav a{padding:8px}}
@media(max-width:767px){.admin-bar .sp-site-header{top:46px}.sp-wrap,.sp-wide{width:min(calc(100% - 28px),100%)}.sp-header-inner{height:auto;min-height:72px;grid-template-columns:1fr auto;padding:10px 0}.sp-nav{grid-column:1/-1;overflow:auto}.sp-nav ul{justify-content:flex-start;min-width:max-content}.sp-trust{overflow:auto;white-space:nowrap}.sp-brand img{max-width:190px}.sp-bookmatch{padding:24px 0}.sp-bookmatch-grid{grid-template-columns:1fr}.sp-book-block{padding:20px}.sp-book-block+ .sp-book-block{border-left:0;border-top:2px solid var(--sp-brass)}.sp-book-block .sp-paper-mount img{min-height:260px}.sp-basket-grid{grid-template-columns:1fr}.sp-basket-card+ .sp-basket-card{border-left:0;border-top:2px solid var(--sp-brass)}.sp-herringbone-bg{grid-template-columns:repeat(4,1fr)}.sp-herringbone-bg i:nth-child(n+9){display:none}.sp-readout-grid{grid-template-columns:repeat(2,1fr)}.sp-related-grid{grid-template-columns:1fr}.sp-article-hero-grid{grid-template-columns:1fr;padding:18px}.sp-article-main{width:calc(100% - 28px);padding:28px 22px;border-width:5px}.sp-footer-grid{grid-template-columns:1fr}.sp-footer ul{columns:2}.sp-grain{--grain-current:var(--grain-angle,0deg);background-image:repeating-linear-gradient(var(--grain-current),transparent 0 3px,var(--sp-grain-dark) 3px 4px,transparent 4px 13px,var(--sp-grain-light) 13px 14px,transparent 14px 22px)}.sp-herringbone-bg i{--grain-angle:0deg!important}.sp-herringbone-bg i:nth-child(even){--grain-angle:90deg!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sp-grain{transition:none!important}.sp-basket-card:hover,.sp-related-card:hover{--grain-angle:inherit}}
[dir="rtl"] .sp-grain{--grain-angle:135deg}[dir="rtl"] .sp-book-block:first-child{--grain-angle:160deg!important}[dir="rtl"] .sp-book-block:last-child{--grain-angle:20deg!important}

.sp-404-field{position:relative;padding:60px;border:8px solid var(--sp-walnut);outline:2px solid var(--sp-brass)}.sp-404-field .sp-paper-panel{max-width:680px;margin:auto;text-align:center}.sp-missing-block{position:absolute;width:120px;height:90px;right:8%;top:24px;background:var(--sp-paper);border:2px solid var(--sp-brass)}

.sp-basket-card:hover,.sp-related-card:hover,.sp-book-block:hover{--grain-current:calc(var(--grain-angle,0deg) + 6deg)}.sp-basket-card:hover,.sp-related-card:hover{border-color:var(--sp-brass)}.sp-image-lozenge{background:var(--sp-paper);padding:8px}.sp-chip{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--sp-faded)}.navigation.posts-navigation{margin-top:24px}.navigation.posts-navigation .nav-links{display:flex;justify-content:space-between;gap:16px}.navigation.posts-navigation a{display:inline-block;background:var(--sp-walnut);color:var(--sp-pale);padding:10px 14px;border:2px solid var(--sp-brass);text-decoration:none}
@media(prefers-reduced-motion:reduce){.sp-basket-card:hover,.sp-related-card:hover,.sp-book-block:hover{--grain-current:var(--grain-angle,0deg)}}

/* v1.0.2 Related Reading hard contrast lock */
.sp-article-main .sp-internal-links .sp-internal-link-row>a.sp-related-reading-link,
.sp-article-main .sp-internal-links .sp-internal-link-row>a.sp-related-reading-link:link,
.sp-article-main .sp-internal-links .sp-internal-link-row>a.sp-related-reading-link:visited{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;text-decoration-color:#FFFFFF!important;opacity:1!important;}
.sp-article-main .sp-internal-links .sp-internal-link-row>a.sp-related-reading-link:hover,
.sp-article-main .sp-internal-links .sp-internal-link-row>a.sp-related-reading-link:focus{color:#F0E9DC!important;-webkit-text-fill-color:#F0E9DC!important;text-decoration-color:#F0E9DC!important;}
