/* A reading surface: ink, paper, restrained brass, and generous margins. */
:root {
  --site-bg:#101318; --site-panel:#14181e; --site-ink:#ddd8cc;
  --site-muted:#a4a6a6; --site-line:#30353b; --site-accent:#b7a17a;
  --site-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --site-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --site-sans:"Segoe UI",Arial,sans-serif;
  color-scheme:dark;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:7rem; }
body { margin:0; color:var(--site-ink); background:var(--site-bg); font-family:var(--site-serif); font-size:18px; line-height:1.8; }
[hidden] { display:none!important; }
::selection { background:#4d4639; color:#fff6df; }
a { color:inherit; text-underline-offset:.3em; }
button { font:inherit; cursor:pointer; }
:focus-visible { outline:2px solid var(--site-accent); outline-offset:5px; }
.site-shell { width:min(1180px,calc(100% - 7rem)); margin-inline:auto; }
.skip-link { position:fixed; top:.5rem; left:1rem; z-index:30; padding:.5rem 1rem; background:var(--site-ink); color:var(--site-bg); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(16,19,24,.97); border-bottom:1px solid var(--site-line); backdrop-filter:blur(12px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; min-height:100px; }
.brand { text-decoration:none; line-height:1.1; }
.brand-name { font-size:1.75rem; letter-spacing:.015em; }
.brand-sub { display:block; margin-top:.6rem; color:var(--site-muted); font:.53rem/1.5 var(--site-mono); letter-spacing:.16em; }
.site-nav { display:flex; gap:1.8rem; align-items:center; }
.site-nav a { padding:.5rem 0; font:.7rem/1.8 var(--site-mono); text-decoration:none; color:var(--site-muted); border-bottom:1px solid transparent; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--site-ink); border-color:var(--site-accent); }
.menu-toggle { background:transparent; color:var(--site-ink); border:1px solid var(--site-line); padding:.6rem .8rem; font:.75rem var(--site-mono); }
h1,h2,h3 { font-family:var(--site-serif); font-weight:400; line-height:1.16; letter-spacing:-.025em; margin:0 0 1.5rem; text-wrap:balance; }
h1 { font-size:clamp(2.8rem,5.2vw,4.5rem); }
h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
h3 { font-size:1.6rem; }
p { margin:0 0 1.35rem; }
em,.accent { color:var(--site-accent); }
.muted,.section-lede,.prose p { color:var(--site-muted); }
.eyebrow { font:.61rem/1.8 var(--site-mono); color:var(--site-accent); letter-spacing:.16em; text-transform:uppercase; margin:0 0 1.8rem; }
.signal { display:none; }
.notebook { display:grid; grid-template-columns:180px minmax(0,1fr); gap:4rem; padding-top:4.5rem; }
.contents-rail { align-self:start; position:sticky; top:145px; padding-top:.5rem; }
.contents-rail .eyebrow { color:var(--site-muted); margin-bottom:1.2rem; }
.contents-rail nav { display:grid; }
.contents-rail a { display:flex; gap:.8rem; text-decoration:none; padding:.65rem 0; color:var(--site-muted); font:.66rem/1.6 var(--site-mono); }
.contents-rail a:hover { color:var(--site-ink); }
.contents-rail a span { color:var(--site-accent); font-size:.58rem; }
.rail-note { color:var(--site-muted); font-size:.85rem; font-style:italic; line-height:1.65; margin-top:3.5rem; padding-top:1.3rem; border-top:1px solid var(--site-line); max-width:150px; }
.notebook-pages { min-width:0; }
.opening { padding-bottom:3rem; }
.opening h1 { font-size:clamp(3.3rem,5.5vw,4.9rem); line-height:1.07; margin:1.8rem 0 2.75rem; }
.opening h1 em { font-weight:400; }
.opening-body { display:grid; grid-template-columns:minmax(0,1fr) 155px; gap:3rem; }
.prose { max-width:41rem; }
.prose .large { font-size:1.3rem; line-height:1.55; color:var(--site-ink); }
.prose p:last-child { margin-bottom:0; }
.margin-note { border-left:1px solid var(--site-line); padding-left:1.2rem; margin-top:.2rem; align-self:start; }
.note-number { font-style:italic; color:var(--site-accent); font-size:1.2rem; }
.margin-note p { color:var(--site-muted); font-size:.82rem; line-height:1.65; font-style:italic; margin-top:.8rem; }
.margin-note a { font:.6rem/1.6 var(--site-mono); color:var(--site-accent); text-decoration:none; }
.inquiry-section,.notebook-index { padding-block:3rem; border-top:1px solid var(--site-line); }
.section-lede { max-width:40rem; }
.inquiries { margin-top:2rem; }
details { border-top:1px solid var(--site-line); }
details:last-child { border-bottom:1px solid var(--site-line); }
summary { cursor:pointer; padding:1.3rem 0; color:var(--site-ink); }
summary:hover { color:var(--site-accent); }
summary>span:last-child { float:right; color:var(--site-accent); }
details[open]>summary>span:last-child { transform:rotate(45deg); }
details p { color:var(--site-muted); }
.inquiries summary { display:grid; grid-template-columns:2rem 1fr 1rem; gap:.7rem; list-style:none; font-size:1.18rem; line-height:1.4; }
.inquiries summary::-webkit-details-marker { display:none; }
.inquiry-number { font-size:.85rem; color:var(--site-accent); font-style:italic; }
.expand-sign { font-family:var(--site-mono); font-size:.95rem; }
.inquiry-body { padding:0 2.7rem 1.6rem; max-width:43rem; }
.inquiry-body p { font-size:1rem; }
.text-link { display:inline-block; font:.68rem/1.8 var(--site-mono); color:var(--site-accent); text-decoration:none; border-bottom:1px solid var(--site-line); padding-bottom:.25rem; }
.text-link:hover { color:var(--site-ink); border-color:var(--site-accent); }
.index-entry { display:grid; grid-template-columns:2rem 1fr 1rem; gap:.7rem; text-decoration:none; padding:1.3rem 0; border-top:1px solid var(--site-line); }
.index-entry:last-child { border-bottom:1px solid var(--site-line); }
.index-number { color:var(--site-accent); font:.6rem/2.7 var(--site-mono); }
.index-entry strong { font-size:1.4rem; font-weight:400; line-height:1.4; }
.index-entry small { display:block; font-size:.93rem; line-height:1.7; color:var(--site-muted); margin-top:.35rem; }
.index-arrow { color:var(--site-muted); transition:transform .2s; }
.index-entry:hover strong { color:var(--site-accent); }
.index-entry:hover .index-arrow { transform:translate(2px,-2px); }
.endnote { display:flex; align-items:start; gap:1.5rem; padding-block:2rem 4rem; }
.endnote>span { color:var(--site-accent); font-size:1.6rem; }
.endnote p { color:var(--site-muted); font-style:italic; font-size:1.05rem; }
.page-intro { padding:4rem 0 3rem; border-bottom:1px solid var(--site-line); }
.intro-text { max-width:39rem; color:var(--site-muted); font-size:1.15rem; margin-bottom:0; }
.section { padding-block:3.5rem; }
.section-first { padding-top:3rem; }
.split-section { display:grid; grid-template-columns:1fr 2fr; gap:4rem; padding-block:3.5rem; border-bottom:1px solid var(--site-line); }
.split-section h2 { font-size:1.8rem; }
.thinking-grid { margin-top:2rem; }
.thinking-card { display:grid; grid-template-columns:2rem 150px minmax(0,1fr); gap:1.5rem; border-top:1px solid var(--site-line); padding:1.5rem 0; }
.thinking-card .eyebrow { padding-top:.3rem; margin:0; }
.thinking-card h3 { font-size:1.45rem; margin:0; }
.thinking-card p { margin:0; color:var(--site-muted); max-width:42rem; }
.protocol-list { list-style:none; padding:0; margin:2rem 0 0; counter-reset:protocol; }
.protocol-list li { counter-increment:protocol; position:relative; border-top:1px solid var(--site-line); padding:1.5rem 0 1.5rem 3.5rem; }
.protocol-list li:before { content:counter(protocol,lower-roman) '.'; position:absolute; left:0; top:1.5rem; color:var(--site-accent); font-style:italic; }
.protocol-list h3 { font-size:1.4rem; margin-bottom:.65rem; }
.protocol-list p { margin:0; color:var(--site-muted); }
.work-list { margin-top:2.5rem; }
.work-item { display:grid; grid-template-columns:75px minmax(0,1fr); gap:2rem; border-top:1px solid var(--site-line); padding:2.5rem 0; }
.work-index { font:.8rem/2 var(--site-mono); color:var(--site-accent); }
.work-item>div { max-width:45rem; }
.work-item p:not(.eyebrow) { color:var(--site-muted); }
.work-item h3 { font-size:1.9rem; }
.work-item details { margin-top:1.5rem; font-size:1rem; }
.work-item summary { font-style:italic; }
.feature-small { padding-block:2rem 4rem; border-top:1px solid var(--site-line); }
.feature-small p:not(.eyebrow) { max-width:42rem; color:var(--site-muted); }
.closing { padding-block:3rem 4rem; border-top:1px solid var(--site-line); }
.closing p:not(.eyebrow) { max-width:35rem; color:var(--site-muted); }
.button { display:inline-block; border:1px solid #625845; background:transparent; color:var(--site-ink); text-decoration:none; padding:.8rem 1rem; font:.72rem/1.6 var(--site-mono); }
.button:hover { background:#b7a17a14; border-color:var(--site-accent); }
.contact-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:5rem; padding-block:3.5rem; }
.contact-grid h2 { font-size:1.8rem; }
.conversation-topics { padding-left:1.1rem; color:var(--site-muted); }
.conversation-topics li { padding-left:.4rem; margin-bottom:1rem; }
.conversation-topics li::marker { color:var(--site-accent); }
.contact-card { border-left:1px solid var(--site-line); padding-left:2rem; align-self:start; }
.handle { font-size:1.7rem; color:var(--site-accent); margin-block:1.7rem; }
.contact-card>p:not(.handle) { color:var(--site-muted); font-size:1rem; }
.copy-status { min-height:1.8em; margin:.8rem 0 0; }
.contact-note { padding-block:1rem 4rem; }
.contact-note>p { font-size:1.5rem; font-style:italic; }
.site-footer { border-top:1px solid var(--site-line); padding-block:1.7rem; color:var(--site-muted); font:.6rem/1.8 var(--site-mono); }
.footer-inner { display:flex; gap:1rem; justify-content:space-between; flex-wrap:wrap; }
.footer-inner a { text-decoration:none; }
.footer-inner a:hover { color:var(--site-accent); }
.methods-list { max-width:960px; }
.method-summary,.method-step>summary { display:grid; grid-template-columns:2rem minmax(0,1fr) 1rem; gap:1rem; list-style:none; align-items:baseline; }
.method-summary::-webkit-details-marker,.method-step>summary::-webkit-details-marker { display:none; }
.method-summary strong { font-size:1.6rem; line-height:1.3; font-weight:400; }
.method-summary small { display:block; font-size:1rem; color:var(--site-muted); margin-top:.5rem; }
.method-number { font:.65rem/1.8 var(--site-mono); color:var(--site-accent); }
.method-content { padding:1rem 0 2rem 3rem; max-width:780px; }
.method-introduction p,.method-step-body p { color:var(--site-muted); }
.method-introduction p:nth-child(3),.method-conclusion p:last-child { color:var(--site-ink); font-size:1.25rem; }
.method-steps { margin-block:2rem; }
.method-step>summary { font-size:1.1rem; line-height:1.5; }
.method-step-body { padding:0 2rem 1.2rem 3rem; }
.method-step-body p { margin-bottom:1rem; }
.method-step-body ul { padding-left:1.2rem; color:var(--site-muted); margin-bottom:1.5rem; }
.method-step-body li { margin-bottom:.4rem; }
.trust-levels { margin:0 0 1.5rem; }
.trust-levels>div { padding:.8rem 0; border-top:1px solid var(--site-line); }
.trust-levels dt { color:var(--site-ink); }
.trust-levels dd { margin:0; color:var(--site-muted); }
.method-conclusion { padding-top:.8rem; }
@media(min-width:761px) { .menu-toggle { display:none; } }
@media(max-width:1050px) {
  .site-shell { width:calc(100% - 4rem); }
  .notebook { grid-template-columns:145px minmax(0,1fr); gap:2.5rem; }
  .opening-body { grid-template-columns:1fr; gap:1.5rem; }
  .margin-note { max-width:28rem; }.margin-note br { display:none; }.margin-note p { display:inline; margin-right:1rem; }.note-number { margin-right:.7rem; }
  .site-nav { gap:1.2rem; }.brand-sub { font-size:.5rem; }
}
@media(max-width:760px) {
  .method-summary,.method-step>summary { grid-template-columns:1.5rem minmax(0,1fr) 1rem; gap:.6rem; }
  .method-summary strong { font-size:1.4rem; }
  .method-content { padding-left:0; }
  .method-step-body { padding-left:2.1rem; padding-right:0; }
  body { font-size:17px; }
  .site-shell { width:calc(100% - 2.5rem); }
  .header-inner { min-height:80px; flex-wrap:wrap; gap:0; padding-block:1rem; }
  .brand-name { font-size:1.5rem; }.brand-sub { font-size:.46rem; margin-top:.4rem; }
  .site-nav { flex-basis:100%; flex-wrap:wrap; gap:.2rem 1.3rem; padding-top:1rem; }
  .menu-ready .site-nav { display:none; }.menu-ready .site-nav.is-open { display:flex; }
  .notebook { display:block; padding-top:2.5rem; }
  .contents-rail { position:static; border-bottom:1px solid var(--site-line); padding-bottom:1.5rem; margin-bottom:2.5rem; }
  .contents-rail .eyebrow { margin-bottom:.6rem; }.contents-rail nav { display:flex; flex-wrap:wrap; gap:0 1.1rem; }.contents-rail a { font-size:.58rem; gap:.4rem; }.rail-note { display:none; }
  .opening h1 { font-size:clamp(2.8rem,10.5vw,4.5rem); margin-block:1.4rem 2rem; }
  .opening-body { gap:1.5rem; }.opening { padding-bottom:2.5rem; }
  .inquiry-section,.notebook-index { padding-block:2.5rem; }
  .inquiries summary { font-size:1.06rem; grid-template-columns:1.5rem 1fr 1rem; gap:.5rem; }.inquiry-body { padding-left:2rem; padding-right:0; }
  .page-intro { padding-block:2.5rem; }.page-intro h1 { font-size:clamp(2.5rem,9vw,3.8rem); }.intro-text { font-size:1.1rem; }
  .split-section { grid-template-columns:1fr; gap:1rem; padding-block:2.5rem; }.section { padding-block:2.5rem; }
  .thinking-card { grid-template-columns:1.5rem 1fr; gap:.5rem 1rem; }.thinking-card p { grid-column:2; }
  .work-item { grid-template-columns:1.5rem 1fr; gap:1rem; padding-block:2rem; }.work-item h3 { font-size:1.5rem; }.work-item .eyebrow { font-size:.55rem; }
  .contact-grid { grid-template-columns:1fr; gap:2rem; padding-block:2.5rem; }.contact-card { padding:2rem 0 0; border-left:0; border-top:1px solid var(--site-line); }
  .footer-inner { flex-direction:column; gap:.6rem; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
