/* ============================================================
   corsoalexander.co — blog page kit
   Extracted 2026-09-18 from 5 identical inline <style> blocks,
   one per page, that had been copied by hand.
   Authority: house/00_BrandSystem_CorsoAlexander_2026_09_15.md

   Blue trued to the house value #204F95 / #183C70 on extraction
   (tokens.json RULED, David 2026-09-17). These pages had carried
   the retired web blue #2F5A94 / #244875.

   NOT YET reconciled with _shared/brand/brand.css: .brand and a
   few other class names mean different things here than they do
   in the house layer, so this kit is still self-contained. That
   reconciliation is phase two.
   ============================================================ */
:root{
  --paper:#FEFCF5; --paper-2:#F6F2E7; --ink:#201C17; --muted:#5f574b;
  --blue:#204F95; --blue-ink:#183C70; --rule:#d9d1c2;
  --wrap:1060px;
  color-scheme:light;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"EB Garamond",Georgia,"Times New Roman",serif;
  font-size:21px; line-height:1.6; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%; height:auto; display:block;}
a{color:var(--blue);} a:hover{color:var(--blue-ink);}
.wrap{max-width:var(--wrap); margin:0 auto; padding-inline:24px;}

.topbar{padding-block:18px; text-align:center;}
.topbar .rule{width:44px; height:1px; background:var(--ink); opacity:.5; margin:8px auto 0;}
.eyebrow{font-family:"Cinzel",serif; font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--muted);}
.brand{text-align:center; padding-block:14px 6px;}
.brand a{text-decoration:none;}
.brand .wm{font-family:"Cinzel",Georgia,serif; font-weight:600;
  font-size:clamp(24px,4vw,36px); line-height:1.05; letter-spacing:.05em; color:var(--ink);}
.brand .sub{margin:14px 0 0; font-style:italic; font-size:22px; color:var(--muted);}
.hr{height:1px; background:var(--rule); border:0; margin:0;}

.doc{max-width:680px; margin:0 auto; padding-block:44px 72px;}
.post-head{margin:0 0 40px;}
.post-head h1{font-family:"Cinzel",serif; font-weight:400; font-size:clamp(26px,5vw,38px);
  letter-spacing:.06em; line-height:1.25; margin:6px 0 14px; text-wrap:balance;}
.eyebrow-date, .entries time{font-family:"Cinzel",serif; font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--muted); margin:0;}
.dek{font-style:italic; color:var(--muted); font-size:22px; margin:0;}

.doc h2{font-family:"Cinzel",serif; font-weight:400; font-size:15px; letter-spacing:.3em;
  text-transform:uppercase; color:var(--ink); margin:56px 0 22px; display:flex; align-items:center; gap:18px;}
.doc h2::after{content:""; flex:1; height:1px; background:var(--rule);}
.doc h3{font-weight:500; font-style:italic; font-size:23px; margin:36px 0 12px;}
.doc p{margin:0 0 1.2em;}
.doc blockquote{margin:1.4em 0; padding-left:22px; border-left:2px solid var(--blue); color:var(--muted); font-style:italic;}
.doc blockquote p:last-child{margin-bottom:0;}
.doc ul,.doc ol{padding-left:1.3em; margin:0 0 1.2em;}
.doc li{margin:0 0 .4em;}
.doc hr{border:0; height:1px; background:var(--rule); margin:40px auto; width:44px;}
.doc figure{margin:0 0 2em;}
.doc figure img{width:100%; border:1px solid var(--rule);}
.doc figure.plate img{border:0;}
.doc figcaption{margin-top:10px; font-size:17px; font-style:italic; color:var(--muted); line-height:1.45;}
.doc figcaption .credit{font-style:normal; font-family:"Cinzel",serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; display:block; margin-top:4px;}
.doc code{font-family:Consolas,Menlo,monospace; font-size:.85em; background:var(--paper-2); padding:.1em .35em;}
.quiet{color:var(--muted); font-style:italic;}
.back{margin-top:56px; font-family:"Cinzel",serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase;}
.back a{text-decoration:none;}

/* the books — title links to the book's page; the button is Amazon once an ASIN exists */
.books{margin:48px 0 0; padding-top:28px; border-top:1px solid var(--rule);}
.books ul{list-style:none; margin:14px 0 0; padding:0;}
.books li{display:grid; grid-template-columns:1fr auto; gap:6px 24px; align-items:center; padding:18px 0; border-bottom:1px solid var(--rule);}
.books .bt{grid-column:1; font-size:26px; text-decoration:none; color:var(--ink);}
.books .bt:hover{color:var(--blue);}
.books .bs{grid-column:1; color:var(--muted); font-size:18px; line-height:1.45;}
.books .bs .st{font-style:italic;}
.books .buy{grid-column:2; grid-row:1 / span 2; font-family:"Cinzel",serif; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; text-decoration:none; color:var(--paper); background:var(--ink);
  padding:14px 18px; text-align:center; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center;}
.books .buy:hover{background:var(--blue-ink); color:var(--paper);}
.books .buy.soon{background:transparent; color:var(--ink); border:1px solid var(--ink); white-space:normal; max-width:190px;}
.books .buy.soon:hover{color:var(--blue); border-color:var(--blue);}
@media (max-width:600px){ .books li{grid-template-columns:1fr;} .books .buy{grid-column:1; grid-row:auto; justify-self:start; max-width:none;} }

/* The capture box — angel · the real field · the refused field · devil · the verdict.
   Canon: house/00_CaptureBox_TemperedPress_2026_09_18.md
   Container queries, never media queries: the component reads the width it is given. */
.conscience-cq{container-type:inline-size; width:100%;}
.conscience{display:grid; grid-template-columns:1fr; gap:16px; align-items:center;
  margin:44px auto 0; padding:34px 0 8px; border-top:1px solid var(--rule);}
.conscience .side{display:flex; gap:12px; align-items:flex-start; text-align:left;}
.conscience .side svg{flex:0 0 auto; width:42px; height:49px; display:block; margin-top:2px;}
.conscience .side p{margin:0; font-style:italic; font-size:17px; line-height:1.45; color:var(--muted);}
.conscience .side.devil p em{font-style:normal; font-weight:500; color:var(--ink);}
.conscience .center{background:var(--paper-2); border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); padding:20px 20px 14px;}
.conscience label{display:block; font-family:"Cinzel",serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin:0 0 6px;}
.conscience .row{display:flex; gap:8px; flex-wrap:wrap;}
.conscience input[type=email]{flex:1 1 180px; min-width:0; font-family:"EB Garamond",serif; font-size:18px; color:var(--ink);
  background:#fff; border:1px solid #c9c0b0; padding:13px 14px; min-height:56px;}
.conscience input[type=email]:focus{outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue);}
.conscience input::placeholder{color:#948b7b; font-style:italic;}
.conscience .btn{font-family:"Cinzel",serif; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--paper);
  background:var(--ink); border:0; padding:0 18px; min-height:56px; cursor:pointer;}
.conscience .btn:hover{background:var(--blue-ink);}
.conscience .fine{margin:12px 0 0; font-size:16px; line-height:1.45; color:var(--muted);}
.conscience .refused{margin-top:16px; padding-top:14px; border-top:1px dashed var(--rule);}
.conscience .refused label{color:var(--muted);}
.conscience .refused input[type=tel]{width:100%; font-family:"EB Garamond",serif; font-size:17px; font-style:italic; color:#948b7b;
  background:transparent; border:1px solid var(--rule); padding:10px 14px; cursor:not-allowed; text-decoration:line-through;}
.conscience .verdict{margin:6px 0 0; font-family:"Cinzel",serif; font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--ink);}
.conscience .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.conscience .status{min-height:1.4em; margin:10px 0 0; font-size:17px;}
.conscience .status.ok{color:#2f6b46;} .conscience .status.err{color:#9a3b2f;}
/* INLINE — medium container */
@container (min-width:520px){ .conscience .side svg{width:52px; height:61px;} }
/* FLANKED — wide container */
@container (min-width:820px){
  .conscience{grid-template-columns:1fr minmax(0,24rem) 1fr; gap:22px;}
  .conscience .side{flex-direction:column; align-items:center; text-align:center; gap:10px;}
  .conscience .side svg{width:88px; height:103px; margin-top:0;}
  .conscience .side p{max-width:26ch;}
  .conscience .angel{grid-column:1; grid-row:1;}
  .conscience .center{grid-column:2; grid-row:1;}
  .conscience .devil{grid-column:3; grid-row:1;}
  .conscience .verdict{grid-column:1 / -1; grid-row:2; text-align:center; margin-top:2px;}
  .conscience .status{text-align:center;}
}

.entries{list-style:none; margin:0; padding:0;}
.entry{padding:26px 0; border-top:1px solid var(--rule);}
.entry:last-child{border-bottom:1px solid var(--rule);}
.entry time{display:block; margin-bottom:6px;}
.entry .t{font-style:italic; font-size:26px; text-decoration:none; color:var(--ink); display:block;}
.entry .t:hover{color:var(--blue);}
.entry p{margin:8px 0 0; color:var(--muted);}

footer{border-top:1px solid var(--rule); padding-block:26px;}
footer .row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
footer .row *{font-family:"Cinzel",serif; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted);}
footer a{color:var(--muted); text-decoration:none;} footer a:hover{color:var(--ink);}
footer nav{display:flex; flex-wrap:wrap; gap:12px 22px; max-width:100%;}
footer nav a{display:inline-block; padding-block:6px;}
.doc .publication{font-size:18px; line-height:1.5; color:var(--muted); margin:14px 0 0;}
.doc .publication a{white-space:normal;}
.doc .related-reading{border-top:1px solid var(--rule); margin-top:36px; padding-top:8px;}
.doc p,.doc li{overflow-wrap:break-word;}

@media (max-width:720px){ body{font-size:19px;} .doc{padding-block:32px 56px;} }
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}

/* 2026-09-23 SEO: question subheads render as h2.q (they are the searches); same look as the old h3 */
.doc h2.q{font-family:inherit; font-weight:500; font-style:italic; font-size:23px; letter-spacing:normal;
  text-transform:none; color:var(--ink); margin:36px 0 12px; display:block;}
.doc h2.q::after{content:none;}
.related-q{margin:48px 0 0; padding-top:28px; border-top:1px solid var(--rule);}
.doc .related-q h2.eyebrow-date{display:block; margin:0; font-size:11px; letter-spacing:.24em; color:var(--muted);}
.doc .related-q h2.eyebrow-date::after{content:none;}
.related-q ul{list-style:none; margin:14px 0 0; padding:0;}
.related-q li{padding:14px 0; border-bottom:1px solid var(--rule);}
.related-q a{font-size:22px; line-height:1.35; color:var(--ink); text-decoration:none;}
.related-q a:hover{color:var(--blue);}

/* 2026-09-24 — Notes index in three arched shelves, matching the home page and /resources/. */
.doc-wide{max-width:1100px;}
.doc-wide .post-head{max-width:680px; margin-inline:auto;}
.shelves{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:40px; margin:36px 0 12px; align-items:start;}
.shelf{scroll-margin-top:16px;}
.shelf header{text-align:center; margin-bottom:12px; position:relative; border:1.5px solid var(--ink); border-bottom:6px solid var(--ink); border-radius:999px 999px 0 0; padding:44px 18px 18px; background:radial-gradient(120% 90% at 50% 100%,#EFE8D8 0,var(--paper-2) 45%,var(--paper) 100%);}
.shelf header::before{content:""; position:absolute; inset:9px 9px 0; border:1px solid var(--ink); border-bottom:0; border-radius:999px 999px 0 0; opacity:.3; pointer-events:none;}
.shelf header svg{width:74px; height:54px; margin:0 auto 6px; display:block;}
.doc .shelf h2{display:block; margin:0; font-weight:600; font-size:16px; letter-spacing:.14em; text-align:center;}
.doc .shelf h2::after{display:none;}
.shelf .for{font-style:italic; color:var(--muted); margin:2px 0 0; font-size:17px; line-height:1.4; min-height:2.8em;}
.doc .shelf-list{list-style:none; margin:0; padding:0;}
.doc .shelf-list li{border-top:1px solid var(--rule); padding:12px 0; margin:0;}
.shelf-list li:first-child{border-top:0;}
.shelf-list li:last-child{border-bottom:1px solid var(--rule);}
.shelf-list time{display:block; font-family:"Cinzel",serif; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:3px;}
.shelf-list a{display:block; color:var(--ink); text-decoration:none; font-size:19px; line-height:1.3;}
.shelf-list a:hover{color:var(--blue);}
.shelf-list .soon{font-style:italic; color:var(--muted);}
.shelf:target header{border-color:var(--blue); border-bottom-color:var(--blue);}
.eyebrow-date .shelf-link{color:inherit; text-decoration:none; border-bottom:1px solid var(--rule);}
.eyebrow-date .shelf-link:hover{color:var(--blue);}
