/*
Theme Name: FrostPostWrite Ledger
Theme URI: https://frostpostwrite.com/
Author: FrostPostWrite
Description: A leather-bindery business/news publishing theme built as a ruled account ledger: grained leather bands, flat gold tooling, raised spine bands, restrained marbled endpapers, and paper-first editorial reading surfaces.
Version: 1.0.1
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: frostpostwrite
Domain Path: /languages
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: news, blog, custom-menu, featured-images, threaded-comments, translation-ready, rtl-language-support
*/

/* =========================================================
STEP 0A — CSS TOKEN BLOCK
========================================================= */
:root{
  --fpw-leather-oxblood:#5C2028;
  --fpw-leather-tan:#8A5A34;
  --fpw-leather-calf:#331A1C;
  --fpw-paper-cream:#F5F0E4;
  --fpw-paper-aged:#EBE3D1;
  --fpw-marble-base:#E0D6C0;
  --fpw-marble-vein-a:#7A5C3E;
  --fpw-marble-vein-b:#3F5A56;
  --fpw-marble-vein-c:#8C3B3B;
  --fpw-gold:#B08D4A;
  --fpw-gold-accessible:#C09B58;
  --fpw-ink:#1F1B15;
  --fpw-ink-faded:#5E5546;
  --fpw-rule-red:#A33A2E;
  --fpw-rule-blue:#2C4E7A;
  --fpw-edge-dark:#261113;
  --fpw-edge-light:#9E6B6F;
  --fpw-grain-dot-opacity:.06;
  --fpw-grain-line-opacity:.04;
  --fpw-marble-opacity:.34;
  --fpw-tool-width:1px;
  --fpw-tool-gap:3px;
  --fpw-tool-inset:12px;
  --fpw-band-height:14px;
  --fpw-rule-spacing:32px;
  --fpw-mobile-rule-spacing:28px;
  --fpw-container:1440px;
  --fpw-reading:900px;
  --fpw-breakout:1160px;
  --fpw-radius:0px;
  --fpw-header-expanded:88px;
  --fpw-header-compact:60px;
  --fpw-shadow-edge:inset 0 0 0 2px rgba(38,17,19,.62);
  --fpw-body-font:Georgia,"Times New Roman",serif;
  --fpw-display-font:Georgia,"Times New Roman",serif;
}

/* =========================================================
STEP 0B — THREE KEY TECHNIQUES
1) LEATHER GRAIN: two overlapping CSS-only layers.
========================================================= */
.fpw-leather{
  color:var(--fpw-paper-cream);
  background-color:var(--fpw-leather-oxblood);
  background-image:
    repeating-radial-gradient(circle at 13px 17px,
      rgba(25,8,10,var(--fpw-grain-dot-opacity)) 0 3px,
      transparent 3px 40px),
    repeating-linear-gradient(88deg,
      rgba(20,7,9,var(--fpw-grain-line-opacity)) 0 1px,
      transparent 1px 8px);
  box-shadow:var(--fpw-shadow-edge);
}

/* 2) GOLD TOOLING LINE: 1px + 3px gap + 1px, with diamond stops. */
.fpw-tooling{
  position:relative;
}
.fpw-tooling::before{
  content:"";
  position:absolute;
  inset:var(--fpw-tool-inset);
  border:var(--fpw-tool-width) solid var(--fpw-gold);
  box-shadow:0 0 0 var(--fpw-tool-gap) transparent,0 0 0 calc(var(--fpw-tool-gap) + var(--fpw-tool-width)) var(--fpw-gold);
  pointer-events:none;
}
.fpw-corner-stop{position:absolute;z-index:3;width:5px;height:5px;background:var(--fpw-gold);transform:rotate(45deg);pointer-events:none}
.fpw-corner-stop.tl{top:calc(var(--fpw-tool-inset) - 2px);left:calc(var(--fpw-tool-inset) - 2px)}
.fpw-corner-stop.tr{top:calc(var(--fpw-tool-inset) - 2px);right:calc(var(--fpw-tool-inset) - 2px)}
.fpw-corner-stop.bl{bottom:calc(var(--fpw-tool-inset) - 2px);left:calc(var(--fpw-tool-inset) - 2px)}
.fpw-corner-stop.br{bottom:calc(var(--fpw-tool-inset) - 2px);right:calc(var(--fpw-tool-inset) - 2px)}

/* 3) RAISED SPINE BAND: horizontal ridge + light/dark edge + tooling flanks. */
.fpw-raised-band{
  position:relative;
  min-height:var(--fpw-band-height);
  background:var(--fpw-leather-calf);
  border-top:1px solid rgba(245,240,228,.34);
  border-bottom:1px solid rgba(20,6,8,.82);
  box-shadow:
    0 -4px 0 -3px var(--fpw-gold),
    0 4px 0 -3px var(--fpw-gold),
    inset 0 3px 4px rgba(255,255,255,.07),
    inset 0 -3px 4px rgba(0,0,0,.26);
}

/* Base / reset */
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--fpw-paper-aged)}
body{margin:0;background:var(--fpw-paper-cream);color:var(--fpw-ink);font-family:var(--fpw-body-font);font-size:18px;line-height:1.65;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--fpw-rule-blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#1f3e66}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.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}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:10px;padding:12px 16px;z-index:9999;background:var(--fpw-paper-cream);color:var(--fpw-ink)}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--fpw-rule-blue);outline-offset:2px}
.fpw-leather :where(a,button,input):focus-visible{outline-color:var(--fpw-gold-accessible);box-shadow:0 0 0 2px var(--fpw-leather-calf)}

@supports (font-variant-numeric:oldstyle-nums){body{font-variant-numeric:oldstyle-nums proportional-nums}.fpw-ledger-table,.wp-block-table table,.fpw-data-number{font-variant-numeric:lining-nums tabular-nums}}
@supports (font-variant-caps:small-caps){.fpw-smallcaps,.fpw-meta,.fpw-nav a,.fpw-spine-label,.fpw-section-title{font-variant-caps:all-small-caps;letter-spacing:.12em}}

/* Paper systems */
.fpw-paper{background-color:var(--fpw-paper-cream);color:var(--fpw-ink)}
.fpw-ruled{
  background-color:var(--fpw-paper-cream);
  background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--fpw-rule-spacing) - 1px),rgba(110,100,85,.16) calc(var(--fpw-rule-spacing) - 1px) var(--fpw-rule-spacing));
  background-position:0 0;
}
.fpw-ledger-margin{position:relative;padding-left:42px}
.fpw-ledger-margin::before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:var(--fpw-rule-red);opacity:.9}
.fpw-blind-tool{border:1px solid rgba(51,26,28,.34);box-shadow:inset 0 0 0 3px rgba(92,32,40,.06)}

/* Marble: used ONLY .fpw-front-marble and .fpw-footer-marble */
.fpw-marble{
  background-color:var(--fpw-marble-base);
  background-image:
    repeating-linear-gradient(12deg,transparent 0 21px,rgba(122,92,62,var(--fpw-marble-a,.28)) 22px 24px,transparent 25px 57px),
    repeating-linear-gradient(78deg,transparent 0 43px,rgba(63,90,86,var(--fpw-marble-b,.24)) 44px 48px,transparent 49px 91px),
    repeating-linear-gradient(141deg,transparent 0 67px,rgba(140,59,59,var(--fpw-marble-c,.22)) 68px 72px,transparent 73px 119px),
    repeating-linear-gradient(24deg,transparent 0 102px,rgba(122,92,62,var(--fpw-marble-d,.18)) 103px 106px,transparent 107px 149px);
  background-size:220px 380px,310px 260px,370px 290px,430px 350px;
}

/* Site header: leather is chrome, not reading surface */
.fpw-site-header{position:sticky;top:0;z-index:100;background:var(--fpw-leather-oxblood);transition:min-height .18s ease}
.admin-bar .fpw-site-header{top:32px}
.fpw-cover{box-shadow:inset 0 0 0 1px rgba(38,17,19,.42);min-height:var(--fpw-header-expanded);padding:10px 22px 8px;display:grid;grid-template-columns:minmax(100px,1fr) minmax(280px,520px) minmax(100px,1fr);align-items:center;gap:20px}
.fpw-brand-zone{display:flex;justify-content:center;align-items:center;min-width:0}
.fpw-spine-label{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:8px 20px;background:var(--fpw-leather-tan);color:var(--fpw-gold-accessible);border:1px solid var(--fpw-gold);outline:1px solid var(--fpw-gold);outline-offset:-5px;text-decoration:none;font-size:16px;font-weight:700;white-space:nowrap}
.fpw-spine-label::before,.fpw-spine-label::after{content:"";position:absolute;left:8px;right:8px;height:1px;background:rgba(51,26,28,.72)}
.fpw-spine-label::before{top:11px}.fpw-spine-label::after{bottom:11px}
.fpw-logo-mark{width:42px;height:42px;flex:0 0 42px}
.fpw-logo-word{font-family:var(--fpw-display-font);font-size:22px;line-height:1;letter-spacing:.035em}
.fpw-header-band{height:var(--fpw-band-height)}
.fpw-trust{display:flex;justify-content:flex-start;gap:12px;color:var(--fpw-paper-cream);font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.92;white-space:nowrap;overflow:hidden}
.fpw-search-toggle{justify-self:end;border:1px solid var(--fpw-gold-accessible);background:transparent;color:var(--fpw-paper-cream);padding:8px 12px;text-transform:uppercase;font-size:12px;letter-spacing:.1em}
.fpw-nav-wrap{border-top:1px solid rgba(176,141,74,.55);padding:0 20px;background:var(--fpw-leather-calf)}
.fpw-nav{max-width:var(--fpw-container);margin:auto;display:flex;justify-content:center;align-items:center;gap:0;min-height:40px}
.fpw-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.fpw-nav li{display:flex;align-items:center}
.fpw-nav li+li::before{content:"◆";font-size:6px;color:var(--fpw-gold);margin:0 9px}
.fpw-nav a{color:var(--fpw-gold-accessible);text-decoration:none;font-size:14px;font-weight:700;padding:8px 6px}
.fpw-nav a:hover{color:#d4b56f}
.fpw-header-compact .fpw-cover{box-shadow:inset 0 0 0 1px rgba(38,17,19,.42);min-height:var(--fpw-header-compact);padding-block:4px}.fpw-header-compact .fpw-spine-label{min-height:44px}.fpw-header-compact .fpw-logo-mark{width:36px;height:36px;flex-basis:36px}.fpw-header-compact .fpw-header-band{height:8px}

/* Search overlay: paper surface only */
.fpw-search-panel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--fpw-paper-cream);color:var(--fpw-ink);border-bottom:1px solid var(--fpw-ink-faded);padding:18px 24px;box-shadow:0 12px 24px rgba(31,27,21,.12)}
.fpw-search-panel.is-open{display:block}
.fpw-search-form{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:10px}.fpw-search-form input{background:transparent;border:0;border-bottom:2px solid var(--fpw-gold);padding:10px 4px;color:var(--fpw-ink)}.fpw-search-form button{background:var(--fpw-leather-tan);color:var(--fpw-paper-cream);border:1px solid var(--fpw-leather-calf);padding:8px 16px}

/* Main */
.fpw-main{min-height:60vh}.fpw-container{width:min(calc(100% - 40px),var(--fpw-container));margin-inline:auto}
.fpw-front-marble{height:150px;margin-bottom:-118px;border-bottom:1px solid rgba(51,26,28,.25)}
.fpw-frontispiece{position:relative;z-index:2;margin:28px auto 44px;padding:22px;background:var(--fpw-paper-cream)}
.fpw-front-grid{display:grid;grid-template-columns:55fr 45fr;gap:34px;align-items:center;padding:16px}
.fpw-kicker,.fpw-meta{font-size:12px;color:var(--fpw-ink-faded);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.fpw-front-title{font-family:var(--fpw-display-font);font-size:clamp(42px,5vw,54px);line-height:1.04;margin:.32em 0 .28em;font-weight:700;max-width:15ch}
.fpw-front-dek{font-size:20px;line-height:1.55;margin:0 0 20px;max-width:58ch}
.fpw-byline{font-size:14px;color:var(--fpw-ink-faded)}
.fpw-byline a{color:var(--fpw-rule-blue)}
.fpw-plate{background:var(--fpw-paper-cream);padding:6px;border:1px solid var(--fpw-gold)}
.fpw-plate img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:contrast(1.04) saturate(.96)}
.fpw-caption{font-size:13px;font-style:italic;color:var(--fpw-ink-faded);padding:6px 2px 0;border-top:1px solid rgba(110,100,85,.22);margin-top:6px}

/* Entry cards */
.fpw-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 auto 44px}
.fpw-entry-card{position:relative;padding:28px 18px 18px;background-color:var(--fpw-paper-cream);border:1px solid rgba(110,100,85,.38)}
.fpw-entry-card .fpw-spine-tab{position:absolute;top:-12px;left:16px;background:var(--fpw-leather-tan);color:var(--fpw-gold-accessible);border:1px solid var(--fpw-gold);outline:1px solid var(--fpw-gold);outline-offset:-4px;padding:4px 10px;font-size:14px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.fpw-card-title{font-size:24px;line-height:1.2;margin:14px 0 9px}.fpw-card-title a{color:var(--fpw-ink);text-decoration:none}.fpw-card-title a:hover{color:var(--fpw-rule-blue)}
.fpw-card-excerpt{margin:0 0 12px;font-size:16px;line-height:1.5}.fpw-entry-card .fpw-meta{display:flex;gap:8px;flex-wrap:wrap}

/* Section band */
.fpw-section-band{border-top:1px solid rgba(15,5,7,.65);border-bottom:1px solid rgba(15,5,7,.65);margin:38px 0 30px;background:var(--fpw-leather-calf);padding:12px 18px;color:var(--fpw-gold-accessible);text-align:center;box-shadow:var(--fpw-shadow-edge)}
.fpw-section-band .fpw-raised-band{height:10px;min-height:10px;margin:0 0 10px}.fpw-section-band .fpw-raised-band:last-child{margin:10px 0 0}
.fpw-section-title{font-size:18px;margin:0;font-weight:700}

/* Authentic ledger data table */
.fpw-data-wrap{overflow-x:auto;margin:0 auto 44px;background:var(--fpw-paper-aged);border:1px solid rgba(110,100,85,.42)}
.fpw-ledger-table{border-collapse:collapse;width:100%;min-width:680px;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(110,100,85,.16) 31px 32px)}
.fpw-ledger-table caption{text-align:left;padding:16px 18px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--fpw-ink)}
.fpw-ledger-table th,.fpw-ledger-table td{padding:10px 16px;text-align:left;border-right:1px solid var(--fpw-rule-blue);vertical-align:middle}.fpw-ledger-table th:last-child,.fpw-ledger-table td:last-child{border-right:0}.fpw-ledger-table thead th{border-top:1px solid var(--fpw-rule-red);border-bottom:1px solid var(--fpw-rule-red);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.fpw-ledger-table tbody tr:last-child td{border-bottom:3px double var(--fpw-ink)}.fpw-ledger-table td:last-child{text-align:right;font-weight:700}

/* Register list */
.fpw-register{margin-bottom:44px;border-top:1px solid rgba(110,100,85,.35)}
.fpw-register-row{display:grid;grid-template-columns:56px minmax(0,1fr) 140px;gap:18px;align-items:center;min-height:64px;padding:8px 10px;border-bottom:1px solid rgba(110,100,85,.28)}
.fpw-entry-no{font-size:18px;color:var(--fpw-rule-red);text-align:center}.fpw-register-title{font-size:20px;line-height:1.3;margin:0}.fpw-register-title a{color:var(--fpw-ink);text-decoration:none}.fpw-register-title a:hover{color:var(--fpw-rule-blue)}.fpw-register-date{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--fpw-ink-faded);text-align:right}.fpw-register-meta{font-size:12px;color:var(--fpw-ink-faded);margin-top:4px}.fpw-register-meta a{color:var(--fpw-rule-blue)}

/* Ads */
.fpw-ad{background:var(--fpw-paper-cream);border:1px solid var(--fpw-ink-faded);min-height:120px;padding:12px 14px;margin:32px auto;display:none}.fpw-ad:not(:empty){display:block}.fpw-ad-label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fpw-ink-faded);margin-bottom:10px}

/* Next volume */
.fpw-next-volume{display:flex;justify-content:center;margin:36px 0 52px}.fpw-next-volume a{display:inline-block;background:var(--fpw-leather-tan);color:var(--fpw-gold-accessible);border:1px solid var(--fpw-gold);outline:1px solid var(--fpw-gold);outline-offset:-5px;padding:12px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:14px;font-weight:700}

/* Article layout */
.fpw-article-shell{width:min(calc(100% - 40px),var(--fpw-container));margin:0 auto 60px;display:grid;grid-template-columns:210px minmax(680px,var(--fpw-reading)) 210px;gap:30px;justify-content:center;align-items:start}.fpw-article-band{box-shadow:inset 0 0 0 1px rgba(20,7,9,.58);margin:24px auto 22px;max-width:var(--fpw-breakout);background:var(--fpw-leather-oxblood);padding:12px 18px;color:var(--fpw-paper-cream)}.fpw-article-band .fpw-spine-label{width:max-content;max-width:100%;min-height:auto;padding:7px 14px;font-size:14px}
.fpw-article{min-width:0;padding:36px 42px 48px;background:var(--fpw-paper-cream);background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(110,100,85,.15) 31px 32px);border:1px solid rgba(110,100,85,.25);position:relative}.fpw-article::before{content:"";position:absolute;left:25px;top:0;bottom:0;width:1px;background:var(--fpw-rule-red)}
.fpw-article-header{padding-left:12px;margin-bottom:32px}.fpw-article-title{font-family:var(--fpw-display-font);font-size:clamp(36px,4vw,48px);line-height:1.08;margin:.18em 0 .35em}.fpw-article-dek{font-size:20px;line-height:1.6;margin:0 0 14px}.fpw-article-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--fpw-ink-faded);font-size:13px}.fpw-article-meta a{color:var(--fpw-rule-blue)}
.fpw-article .fpw-featured{width:min(100%,760px);margin:32px auto;padding:6px;background:var(--fpw-paper-cream);border:1px solid var(--fpw-gold)}.fpw-featured img{width:100%;height:auto;filter:contrast(1.04) saturate(.96)}
.entry-content{font-size:19px;line-height:32px}.entry-content p{margin:0 0 32px}.entry-content h2{font-size:30px;line-height:1.2;margin:48px 0 24px}.entry-content h3{font-size:24px;line-height:1.25;margin:32px 0 16px}.entry-content h4{font-size:20px;margin:32px 0 16px}.entry-content ul,.entry-content ol{margin:0 0 32px;padding-left:28px}.entry-content li{margin-bottom:8px}.entry-content a{color:var(--fpw-rule-blue);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px}.entry-content blockquote{font-size:28px;line-height:1.38;font-style:italic;margin:48px 0;padding:18px 0;border-top:4px double var(--fpw-gold);border-bottom:4px double var(--fpw-gold)}.entry-content>p:first-of-type::first-letter{float:left;font-size:58px;line-height:48px;padding:4px 8px 2px 4px;margin-right:4px;color:var(--fpw-gold);font-weight:700;border:1px solid rgba(51,26,28,.34);box-shadow:inset 0 0 0 2px rgba(92,32,40,.06)}.entry-content>p:first-of-type{position:relative}.entry-content table,.wp-block-table table{border-collapse:collapse;width:100%;font-variant-numeric:lining-nums tabular-nums;background:var(--fpw-paper-aged)}.entry-content th,.entry-content td,.wp-block-table th,.wp-block-table td{border-right:1px solid var(--fpw-rule-blue);border-bottom:1px solid rgba(110,100,85,.36);padding:8px 12px}.entry-content tr:last-child td,.wp-block-table tr:last-child td{border-bottom:3px double var(--fpw-ink)}.entry-content .alignwide{width:min(var(--fpw-breakout),calc(100vw - 48px));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 iframe,.entry-content embed{display:block;max-width:100%;border:1px solid var(--fpw-ink-faded);background:var(--fpw-paper-cream);box-shadow:none}.entry-content .wp-block-gallery{margin-bottom:32px}.entry-content .wp-block-image figcaption{font-size:13px;color:var(--fpw-ink-faded);font-style:italic}.entry-content figure{max-width:100%}
.fpw-key-points{margin:28px 0 32px;padding:16px 0;border-top:4px double var(--fpw-gold);border-bottom:4px double var(--fpw-gold);font-size:17px;line-height:1.6}.fpw-key-points h2{font-size:14px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}.fpw-key-points p{margin:0}
.fpw-internal-links{margin:0 0 32px;padding:0;font-size:16px;line-height:32px;color:var(--fpw-ink-faded)}.fpw-internal-links strong{color:var(--fpw-ink);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.fpw-internal-links a{color:var(--fpw-rule-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.fpw-internal-links a:focus-visible{outline:2px solid var(--fpw-rule-blue);outline-offset:2px}
.fpw-toc{position:sticky;top:150px;font-size:13px;border-left:1px solid rgba(110,100,85,.35);padding-left:14px}.fpw-toc h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px}.fpw-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}.fpw-toc li{counter-increment:toc;margin-bottom:8px}.fpw-toc li::before{content:counter(toc,decimal-leading-zero) ". ";color:var(--fpw-rule-red)}.fpw-toc a{color:var(--fpw-ink-faded);text-decoration:none}.fpw-toc a:hover{color:var(--fpw-rule-blue)}
.fpw-marginalia{position:sticky;top:150px;font-size:13px;color:var(--fpw-ink-faded);line-height:1.5}.fpw-marginalia p{padding-left:12px;border-left:1px solid var(--fpw-rule-blue);margin:0 0 18px}

/* Author box / related */
.fpw-author-box{margin:42px 0 20px;padding:18px;display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start;border:1px solid rgba(110,100,85,.4);background-color:var(--fpw-paper-aged)}.fpw-author-avatar{padding:4px;border:1px solid var(--fpw-gold)}.fpw-author-box h2{font-size:20px;margin:0 0 8px}.fpw-author-box p{margin:0;font-size:15px;line-height:1.55}.fpw-related{max-width:var(--fpw-breakout);margin:48px auto}.fpw-related h2{font-size:28px}.fpw-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

/* Archives / pages */
.fpw-archive-head{box-shadow:inset 0 0 0 1px rgba(20,7,9,.58);margin:28px auto 30px;background:var(--fpw-leather-oxblood);padding:20px;color:var(--fpw-paper-cream)}.fpw-archive-head .fpw-spine-label{width:max-content;max-width:100%}.fpw-archive-head p{max-width:780px;margin:16px 0 0;color:var(--fpw-paper-cream)}
.fpw-page{width:min(calc(100% - 40px),var(--fpw-reading));margin:30px auto 60px;padding:36px 42px;background:var(--fpw-paper-cream);border:1px solid rgba(110,100,85,.3)}.fpw-page h1{font-size:42px;line-height:1.1}
.fpw-404{min-height:55vh;display:grid;place-items:center}.fpw-404-box{width:min(92%,760px);padding:44px;background:var(--fpw-paper-cream);text-align:center}.fpw-404-box h1{font-size:44px;margin:.2em 0}.fpw-404-labels{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.fpw-404-labels a{background:var(--fpw-leather-tan);color:var(--fpw-gold-accessible);padding:7px 10px;text-decoration:none;border:1px solid var(--fpw-gold)}

/* Footer */
.fpw-footer-marble{height:116px;border-top:1px solid rgba(51,26,28,.24)}
.fpw-site-footer{background:var(--fpw-leather-calf);color:var(--fpw-paper-cream);padding:0 24px 24px}.fpw-footer-inner{width:min(100%,var(--fpw-container));margin:auto;padding:28px 0 12px;display:grid;grid-template-columns:1.1fr 1.9fr;gap:36px}.fpw-footer-logo{display:flex;gap:12px;align-items:center;color:var(--fpw-paper-cream);font-size:22px;font-weight:700}.fpw-footer-logo img{width:44px;height:44px}.fpw-footer-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:12px 18px;flex-wrap:wrap}.fpw-footer-nav a{color:var(--fpw-gold-accessible);text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.1em}.fpw-footer-meta{border-top:1px solid rgba(176,141,74,.48);padding-top:14px;font-size:12px;color:var(--fpw-paper-aged);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.fpw-footer-meta a{color:var(--fpw-paper-cream)}

/* Comments */
.comments-area{margin-top:40px}.comment-list{list-style:none;padding:0}.comment-body{padding:18px 0;border-bottom:1px solid rgba(110,100,85,.28)}.comment-meta{font-size:13px;color:var(--fpw-ink-faded)}.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--fpw-ink-faded);background:var(--fpw-paper-cream);padding:10px}.comment-form .submit{width:auto;background:var(--fpw-leather-tan);color:var(--fpw-paper-cream);border:1px solid var(--fpw-leather-calf);padding:9px 16px}

/* Hover rule: no lift, no scale */
.fpw-spine-label,.fpw-next-volume a,.fpw-entry-card .fpw-spine-tab{transition:background-color .15s ease,color .15s ease,border-color .15s ease}.fpw-spine-label:hover,.fpw-next-volume a:hover{background-color:#744522;color:#d5b879}.fpw-tooling:hover::before{border-color:var(--fpw-gold-accessible);box-shadow:0 0 0 var(--fpw-tool-gap) transparent,0 0 0 calc(var(--fpw-tool-gap) + var(--fpw-tool-width)) var(--fpw-gold-accessible)}

/* Dark mode */
@media (prefers-color-scheme:dark){
  :root{--fpw-leather-oxblood:#3E1519;--fpw-leather-calf:#1F0F10;--fpw-paper-cream:#1C1811;--fpw-paper-aged:#241F16;--fpw-gold:#C9A45E;--fpw-gold-accessible:#D7B46A;--fpw-ink:#EFE6D4;--fpw-ink-faded:#C4B9A6;--fpw-marble-base:#2C2820;--fpw-marble-vein-a:#6A4D34;--fpw-marble-vein-b:#314743;--fpw-marble-vein-c:#642A2A;--fpw-rule-red:#D06659;--fpw-rule-blue:#7E9CC5}
  .fpw-entry-card,.fpw-page,.fpw-article{border-color:rgba(235,227,209,.22)}
  .fpw-plate img,.fpw-featured img{filter:contrast(1.04) saturate(.9) brightness(.9)}
}

/* Responsive */
@media (max-width:1199px){
  .fpw-article-shell{grid-template-columns:minmax(0,900px);width:min(calc(100% - 40px),920px)}.fpw-toc,.fpw-marginalia{display:none}
  .fpw-cover{grid-template-columns:1fr minmax(260px,480px) 1fr}.fpw-trust{font-size:10px}.fpw-front-grid{gap:24px}
}
@media (max-width:900px){
  .fpw-cover{grid-template-columns:1fr auto;grid-template-areas:"brand search" "trust trust";gap:8px 14px}.fpw-brand-zone{grid-area:brand;justify-content:flex-start}.fpw-search-toggle{grid-area:search}.fpw-trust{grid-area:trust}.fpw-header-band{display:none}.fpw-front-grid{grid-template-columns:1fr}.fpw-entry-grid,.fpw-related-grid{grid-template-columns:1fr 1fr}.fpw-footer-inner{grid-template-columns:1fr}.fpw-article{padding-inline:34px}.fpw-article::before{left:20px}
}
@media (max-width:767px){
  :root{--fpw-rule-spacing:var(--fpw-mobile-rule-spacing);--fpw-band-height:10px}
  body{font-size:17px}.admin-bar .fpw-site-header{top:46px}.fpw-container{width:min(calc(100% - 24px),var(--fpw-container))}.fpw-cover{padding:7px 12px}.fpw-spine-label{min-height:46px;padding:6px 11px}.fpw-logo-mark{width:38px;height:38px;flex-basis:38px}.fpw-logo-word{font-size:18px}.fpw-trust{display:none}.fpw-nav-wrap{padding:0 8px;overflow-x:auto}.fpw-nav{justify-content:flex-start}.fpw-nav ul{flex-wrap:nowrap}.fpw-nav a{font-size:12px;white-space:nowrap}.fpw-nav li+li::before{margin:0 5px}.fpw-front-marble{display:none}.fpw-frontispiece{margin-top:18px;padding:12px;outline-offset:-6px}.fpw-front-grid{padding:8px}.fpw-front-title{font-size:36px}.fpw-front-dek{font-size:18px}.fpw-entry-grid,.fpw-related-grid{grid-template-columns:1fr;gap:26px}.fpw-tooling::before{inset:6px;box-shadow:none}.fpw-corner-stop{display:none}.fpw-register-row{grid-template-columns:40px minmax(0,1fr);gap:10px}.fpw-register-date{grid-column:2;text-align:left}.fpw-article-shell{width:min(calc(100% - 20px),920px)}.fpw-article{padding:28px 22px 38px 30px;background-image:repeating-linear-gradient(to bottom,transparent 0 27px,rgba(110,100,85,.15) 27px 28px)}.fpw-article::before{left:17px}.entry-content{font-size:18px;line-height:28px}.entry-content p{margin-bottom:28px}.entry-content h2{font-size:27px;margin-top:42px}.fpw-article-title{font-size:34px}.fpw-article .fpw-featured{width:92%;margin:28px auto}.fpw-author-box{grid-template-columns:64px 1fr}.fpw-page{width:min(calc(100% - 20px),var(--fpw-reading));padding:26px 22px}.fpw-footer-marble{height:96px}.fpw-footer-inner{padding-top:22px}.fpw-search-panel{padding-inline:12px}.fpw-search-form{grid-template-columns:1fr}.fpw-ledger-table{min-width:620px}}
@media (max-width:420px){.fpw-logo-word{font-size:16px}.fpw-search-toggle{padding:7px 8px;font-size:10px}.fpw-front-title{font-size:32px}.fpw-frontispiece{outline:none}.fpw-spine-label{outline-offset:-4px}.fpw-entry-no{font-size:15px}.fpw-register-title{font-size:18px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
