
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=EB+Garamond:wght@400;500;600&display=swap');
:root{
  --paper:#fffdf8; --ink:#1f1a16; --muted:#6b625a; --rule:#ded2c2; --soft:#f7efe4; --soft2:#fbf6ef; --accent:#694b2e; --accent2:#8b6a45; --shadow:0 18px 45px rgba(48,34,20,.09); --max:84rem; --measure:78ch;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:8rem} body{margin:0;background:linear-gradient(180deg,var(--paper),#faf4ec);color:var(--ink);font-family:'EB Garamond',Georgia,serif;font-size:clamp(1.075rem,1vw + .7rem,1.28rem);line-height:1.62;text-rendering:optimizeLegibility} a{color:var(--accent);text-underline-offset:.16em} a:hover{color:#3c2818}.skip-link{position:absolute;left:-999px;top:.5rem;background:var(--ink);color:var(--paper);padding:.6rem .8rem;border-radius:.5rem;z-index:20}.skip-link:focus{left:.5rem}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}.header-inner{max-width:var(--max);margin:0 auto;padding:1rem clamp(1rem,3vw,2rem);display:grid;grid-template-columns:minmax(20rem,1fr) minmax(19rem,34rem);gap:1rem;align-items:start}.site-kicker,.eyebrow,.archive-date{font-family:'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.78rem;font-weight:700;margin:0 0 .15rem}.brand h1{font-family:'Cormorant Garamond',Georgia,serif;line-height:.98;font-size:clamp(2.05rem,4vw,4rem);margin:.05rem 0 .2rem;font-weight:700}.brand h1 a{text-decoration:none;color:inherit}.subtitle{max-width:56ch;margin:.25rem 0 0;color:var(--muted);font-size:1rem;line-height:1.42}.top-nav{display:flex;flex-wrap:wrap;gap:.35rem .55rem;margin-top:.85rem}.top-nav a{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;text-decoration:none;border:1px solid var(--rule);border-radius:999px;padding:.28rem .65rem;background:var(--soft2);font-size:1rem;line-height:1.1}.controls{background:var(--soft2);border:1px solid var(--rule);border-radius:1rem;padding:.8rem;box-shadow:var(--shadow)}.control-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.search-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;margin-top:.55rem}.control-label{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:.95rem;color:var(--muted);margin:0 0 .15rem}select,input,button{font:inherit;color:inherit}select,input[type=search]{width:100%;min-width:0;border:1px solid var(--rule);border-radius:.75rem;background:white;padding:.48rem .65rem}button,.button{appearance:none;border:1px solid var(--accent2);border-radius:.75rem;background:var(--accent);color:#fffdf8;padding:.48rem .75rem;cursor:pointer}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(105,75,46,.28);outline-offset:3px}.wrap{max-width:var(--max);margin:0 auto;padding:clamp(1rem,3vw,2.25rem)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,21rem);gap:clamp(1rem,3vw,2rem);align-items:start}.content{min-width:0}.essay{background:rgba(255,253,248,.74);border:1px solid var(--rule);border-radius:1.25rem;padding:clamp(1.15rem,3vw,2.75rem);box-shadow:var(--shadow);max-width:calc(var(--measure) + 8rem)}.essay-head{border-bottom:1px solid var(--rule);padding-bottom:1rem;margin-bottom:1.15rem}.essay h2,.essay h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1.03;margin:.1rem 0 .45rem;font-weight:700}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.12;margin:1.5em 0 .45em;font-weight:700}.entry-content h1{font-size:clamp(2rem,4vw,3.4rem)}.entry-content h2{font-size:clamp(1.65rem,3vw,2.55rem)}.entry-content h3{font-size:clamp(1.35rem,2.2vw,2rem)}.entry-content h4{font-size:clamp(1.18rem,1.6vw,1.55rem)}.entry-content p,.entry-content li{max-width:var(--measure)}.entry-content p{margin:.78em 0}.entry-content ul,.entry-content ol{padding-left:1.4em}.lead,.entry-content > p:first-of-type{font-size:1.08em}.meta{color:var(--muted);font-size:.98rem;margin:.2rem 0 0}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.7rem 0 0}.tags span{font-size:.9rem;border:1px solid var(--rule);border-radius:999px;padding:.12rem .5rem;color:var(--muted);background:var(--soft2)}hr,.wp-block-separator{border:0;border-top:1px solid var(--rule);margin:1.4rem 0}blockquote{border-left:4px solid var(--rule);margin:1.2rem 0;padding:.25rem 0 .25rem 1rem;color:#3b332d}.entry-content img{max-width:100%;height:auto;border-radius:.85rem}.wp-block-image{text-align:center;margin:1.2rem 0}.wp-block-image img{box-shadow:var(--shadow)}.sidebar{position:sticky;top:8.4rem;background:var(--soft2);border:1px solid var(--rule);border-radius:1rem;padding:1rem;max-height:calc(100vh - 10rem);overflow:auto}.sidebar h2{font-family:'Cormorant Garamond',Georgia,serif;margin:0 0 .5rem;font-size:1.35rem}.results{margin-top:.75rem}.result-list{display:grid;gap:.55rem}.result-item{display:block;border:1px solid var(--rule);border-radius:.8rem;background:#fff;padding:.65rem;text-decoration:none}.result-ref{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;line-height:1.15;color:var(--accent)}.result-snippet{display:block;color:var(--muted);font-size:.95rem;line-height:1.35;margin-top:.2rem}.loader{padding:1rem;border:1px solid var(--rule);border-radius:1rem;background:var(--soft2)}.loader.is-error{border-color:#a55;color:#772}.archive-list{margin-top:2rem;display:grid;gap:.9rem}.archive-card{border:1px solid var(--rule);background:var(--soft2);border-radius:1rem;padding:1rem}.archive-card h3{margin:.1rem 0 .3rem}.archive-card p{margin:.35rem 0}.fcm-contact-card{max-width:42rem;margin:0 auto;padding:1rem 0}.fcm-contact-email-wrap{border:1px solid var(--rule);border-radius:1rem;padding:1rem;margin:1rem 0;background:var(--soft2)}.fcm-contact-actions{display:flex;gap:.5rem;flex-wrap:wrap}.fcm-btn{display:inline-block;border:1px solid var(--accent2);background:var(--accent);color:white;text-decoration:none;border-radius:.75rem;padding:.48rem .75rem;cursor:pointer}.fcm-btn-secondary{background:white;color:var(--accent)}.fcm-contact-status{min-height:1.2rem;color:var(--muted)}.ofm-manual{max-width:var(--measure)}.ofm-title-block h1{font-family:'Cormorant Garamond',Georgia,serif}#topButton,.top-button{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:1000;border:1px solid var(--rule);background:var(--soft2);color:var(--ink);border-radius:999px;width:2.8rem;height:2.8rem;font:700 1.2rem/1 'Cormorant Garamond',Georgia,serif;box-shadow:var(--shadow);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;text-decoration:none}
#topButton.visible,.top-button.visible{display:flex}
#topButton:hover,.top-button:hover{filter:none;background:#fff}.site-footer{border-top:1px solid var(--rule);margin-top:2rem;padding:1.5rem clamp(1rem,3vw,2rem);color:var(--muted);font-size:.95rem}.site-footer-inner{max-width:var(--max);margin:0 auto}.status{color:var(--muted);font-size:.95rem;margin:.55rem 0 0}
@media (max-width:1100px){.header-inner{grid-template-columns:1fr}.controls{max-width:100%}.layout{grid-template-columns:1fr}.sidebar{position:relative;top:auto;max-height:none;order:-1}.essay{max-width:100%}}
@media (max-width:760px){html{scroll-padding-top:1rem}.site-header{position:relative}.header-inner{padding:.9rem}.brand h1{font-size:clamp(2rem,12vw,3.2rem)}.control-row,.search-row{grid-template-columns:1fr}.top-nav{gap:.35rem}.top-nav a{font-size:.95rem}.wrap{padding:.85rem}.essay{border-radius:1rem;padding:1rem}.entry-content p,.entry-content li{max-width:100%}.sidebar{padding:.85rem}#topButton,.top-button{right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));width:2.35rem;height:2.35rem;font-size:1.08rem}}
@media print{.site-header,.sidebar,.top-button,.site-footer{display:none}.wrap{padding:0}.layout{display:block}.essay{box-shadow:none;border:0;padding:0;max-width:100%}body{background:white;color:black}}
/* Stage 7b: in-article section headings are publication headings, not visibly styled links. IDs remain for search and deep navigation. */
.entry-content h1 > a,
.entry-content h2 > a,
.entry-content h3 > a,
.entry-content h4 > a,
.entry-content h5 > a,
.entry-content h6 > a{
  color:inherit;
  text-decoration:none;
}
/* Go-live low-resolution search guard:
   When the header stacks or viewport height is shallow, the masthead becomes too tall
   to remain sticky without covering search results. Keep desktop stickiness only where
   there is enough screen room; preserve anchors and search behavior. */
@media (max-width:1100px), (max-height:820px){
  html{scroll-padding-top:1rem}
  .site-header{position:relative}
  .sidebar{top:auto}
}

/* Stage 7h: book-wide visual continuity for article headers, opening frames, headings, and paragraphs. */
.essay-head h2{max-width:var(--measure);}
.essay-head .lead.deck{max-width:var(--measure);color:var(--muted);font-size:1.08em;line-height:1.38;margin:.65rem 0 0;}
.book-chapter-frame{max-width:var(--measure);margin:0 0 1.45rem;padding:1rem 1.1rem;border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:.85rem;background:var(--soft2);}
.entry-content .book-chapter-frame{margin-top:0;}
.book-chapter-frame p{max-width:var(--measure);margin:.72em 0;}
.book-chapter-frame .chapter-orientation{font-size:1.04em;color:#302922;}
.book-chapter-frame .chapter-thesis{font-weight:500;}
.book-chapter-frame .opening-heading{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.12rem,1.35vw,1.38rem);line-height:1.16;margin:1.05rem 0 .35rem;font-weight:700;color:var(--ink);}
.book-chapter-frame blockquote{margin:.85rem 0 1rem;}
.entry-content > h2:first-child,.entry-content > h3:first-child{margin-top:.35rem;}
.entry-content p,.chapter-text p{font-size:1em;line-height:1.62;}
.chapter-text h2,.entry-content h2{font-size:clamp(1.58rem,2.6vw,2.35rem);}
.chapter-text h3,.entry-content h3{font-size:clamp(1.3rem,2vw,1.85rem);}
