/* ============================================================
   THE BRIEF — ATRAVOX · Ghost theme
   Void-Black / gold house aesthetic.
   Cinzel (display) · Cormorant Garamond (text) · JetBrains Mono (system)
   ============================================================ */

:root{
  /* ATRAVOX Brand — Revision A tokens */
  --void:#0a0b0e;--void-2:#0f1116;--ink:#14161d;--ink-2:#191c24;--ink-3:#23262f;
  --platinum:#cdc9bf;--platinum-bright:#e6e4df;--silver:#8b887f;--silver-dim:#6a675f;
  --gold:#c4a257;--gold-bright:#c4a257;--gold-deep:#8c6d33;--gold-pale:#e8d5a8;
  --ok:#6f8a6a;--rust:#8b4f3f;--amber:#b08a4a;--vermillion:#b0402f;
  --line:rgba(230,228,223,0.10);--line-bright:rgba(230,228,223,0.18);
  --maxw:1120px;--prosew:720px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--void);color:var(--platinum);
  font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;line-height:1.72;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:radial-gradient(ellipse 120% 62% at 50% -6%,rgba(169,143,92,0.09),transparent 58%);
  background-attachment:fixed;
}
.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.022'/%3E%3C/svg%3E");}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 44px;position:relative;z-index:2;}
.mono{font-family:'JetBrains Mono',monospace;}
em{color:var(--platinum-bright);font-style:italic;}
strong{color:var(--platinum-bright);font-weight:600;}
a{color:var(--gold-bright);text-decoration:none;}
img{max-width:100%;height:auto;}
.site-main{position:relative;z-index:2;}

/* ---------- kamon ---------- */
.kamon{display:block;width:100%;height:100%;}
.kamon path{fill:currentColor;}

/* ---------- buttons ---------- */
.btn{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:all .22s;display:inline-block;text-align:center;border-radius:0;}
.btn-gold{background:linear-gradient(160deg,var(--gold-bright),var(--gold-deep));color:#12100b;font-weight:500;padding:11px 20px;border:1px solid var(--gold-bright);}
.btn-gold:hover{background:var(--gold-bright);box-shadow:0 0 26px rgba(196,168,106,0.28);color:#0c0a06;}
.btn-ghost{background:transparent;color:var(--gold-bright);border:1px solid var(--line-bright);padding:11px 20px;}
.btn-ghost:hover{border-color:var(--gold);color:var(--platinum-bright);}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(9px);
  background:linear-gradient(180deg,rgba(10,11,14,0.94),rgba(10,11,14,0.72));
  border-bottom:1px solid transparent;transition:border-color .3s;}
.site-header.scrolled{border-bottom:1px solid var(--line-bright);}
.nav{max-width:var(--maxw);margin:0 auto;padding:15px 44px;display:flex;align-items:center;gap:26px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand .mk{color:var(--gold);width:22px;height:22px;flex:0 0 22px;}
.brand .wm{font-family:'Cinzel',serif;font-size:20px;letter-spacing:0.30em;color:var(--platinum-bright);font-weight:600;padding-left:0.30em;}
.brand .bt{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.30em;color:var(--gold);text-transform:uppercase;border-left:1px solid var(--line-bright);padding-left:11px;margin-left:3px;}
.nav .spring{flex:1;}
.nav .links{display:flex;gap:24px;}
.nav .links .nav-link{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--silver);transition:color .2s;}
.nav .links .nav-link:hover,.nav .links .nav-link.is-current{color:var(--gold-bright);}
.nav .acts{display:flex;align-items:center;gap:16px;}
.signin{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--silver);transition:color .2s;}
.signin:hover{color:var(--platinum-bright);}
.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;width:30px;height:24px;flex-direction:column;justify-content:center;gap:6px;}
.nav-toggle span{display:block;height:1.5px;width:24px;background:var(--platinum);transition:.25s;}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg);}
.nav-drawer{display:none;flex-direction:column;padding:8px 44px 24px;border-top:1px solid var(--line);}
.nav-drawer .drawer-link{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--silver);padding:12px 0;border-bottom:1px solid var(--line);}
.nav-drawer .drawer-cta{margin-top:16px;text-align:center;padding:13px;background:linear-gradient(160deg,var(--gold-bright),var(--gold-deep));color:#12100b;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;}
.nav-drawer.open{display:flex;}
@media(max-width:860px){
  .nav .links,.brand .bt{display:none;}
  .nav .acts .signin,.nav .acts .btn{display:none;}
  .nav-toggle{display:flex;}
}

/* ---------- hero ---------- */
.hero{position:relative;padding:120px 0 90px;text-align:center;}
.hero .frame{position:absolute;inset:44px 0 24px;max-width:var(--maxw);margin:0 auto;pointer-events:none;left:0;right:0;}
.hero .corner{position:absolute;width:20px;height:20px;border:1.5px solid var(--gold);opacity:.6;}
.hero .c-tl{top:0;left:44px;border-right:0;border-bottom:0;}
.hero .c-tr{top:0;right:44px;border-left:0;border-bottom:0;}
.hero .c-bl{bottom:0;left:44px;border-right:0;border-top:0;}
.hero .c-br{bottom:0;right:44px;border-left:0;border-top:0;}
.hero .kwater{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:340px;height:340px;color:var(--gold);opacity:0.05;pointer-events:none;}
.overline{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.34em;text-transform:uppercase;color:var(--silver);margin-bottom:30px;}
.overline .dot{color:var(--gold-pale);}
.hero h1{font-family:'Cinzel',serif;font-weight:600;font-size:78px;line-height:1.0;letter-spacing:0.055em;color:var(--platinum-bright);padding-left:0.05em;}
.hero .subhead{font-family:'Cinzel',serif;font-size:22px;letter-spacing:0.14em;color:var(--gold-bright);font-weight:500;margin-top:20px;text-transform:uppercase;}
.hero .mast-rule{width:74px;height:1px;background:var(--gold);margin:34px auto;}
.hero .lead{font-size:22px;line-height:1.56;color:var(--platinum);max-width:660px;margin:0 auto 8px;font-style:italic;}
.hero .lead strong{font-style:normal;}

/* ---------- signup ---------- */
.signup{max-width:498px;margin:38px auto 0;}
.signup form{display:flex;gap:0;border:1px solid var(--line-bright);background:rgba(20,22,29,0.55);position:relative;}
.signup input{flex:1;background:transparent;border:0;outline:0;color:var(--platinum-bright);
  font-family:'Cormorant Garamond',serif;font-size:18px;padding:15px 18px;}
.signup input::placeholder{color:var(--silver-dim);font-style:italic;}
.signup button{border:0;white-space:nowrap;padding:15px 22px;cursor:pointer;}
.signup .micro{font-family:'JetBrains Mono',monospace;font-size:10px;line-height:1.7;letter-spacing:0.05em;color:var(--silver-dim);margin-top:14px;text-transform:none;}
.signup .charter{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);margin-top:20px;}
.signup .msg{display:none;font-style:italic;font-size:17px;margin-top:14px;}
.signup form.success ~ .micro,.signup form.success ~ .charter{display:none;}
.signup .msg-success{color:var(--ok);}
.signup .msg-error{color:var(--rust);}
.signup form.success + .msg-success{display:block;}
.signup form.error + .msg-success + .msg-error{display:block;}
.signup form.loading button{opacity:.55;pointer-events:none;}
@media(max-width:560px){.signup form{flex-direction:column;}.signup button{padding:14px;}}

/* ---------- section scaffolding ---------- */
.band{padding:76px 0;}
.sdiv{text-align:center;margin-bottom:46px;}
.sdiv .droman{font-family:'Cinzel',serif;font-size:15px;color:var(--gold);letter-spacing:0.2em;}
.sdiv .dlabel{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;margin-top:10px;}
.sdiv h2{font-family:'Cinzel',serif;font-size:34px;font-weight:600;color:var(--platinum-bright);letter-spacing:0.03em;margin-top:6px;}
.rule-c{width:52px;height:1px;background:var(--gold);margin:16px auto 0;opacity:.7;}

/* asymmetry */
.asym{max-width:760px;margin:0 auto;text-align:center;}
.asym p{font-size:20px;line-height:1.62;color:var(--platinum);margin-bottom:22px;}
.pull{font-family:'Cinzel',serif;font-size:25px;line-height:1.4;color:var(--gold-bright);font-weight:500;max-width:820px;margin:40px auto 0;text-align:center;letter-spacing:0.01em;}
.pull .q{color:var(--gold);opacity:.5;}

/* keynote */
.keynote{border:1px solid rgba(169,143,92,0.5);background:linear-gradient(160deg,rgba(40,34,20,0.42),rgba(10,11,14,0.25));
  padding:52px 48px;text-align:center;max-width:900px;margin:0 auto;position:relative;}
.keynote .law{font-family:'Cinzel',serif;font-size:29px;letter-spacing:0.05em;color:var(--platinum-bright);font-weight:600;line-height:1.25;}
.keynote p{font-size:19.5px;line-height:1.62;color:var(--silver);max-width:660px;margin:22px auto 0;}
.keynote p strong{color:var(--platinum);}

/* content-form cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{border:1px solid var(--line-bright);background:linear-gradient(165deg,rgba(25,28,36,0.5),rgba(10,11,14,0.2));
  padding:34px 30px;transition:border-color .25s,transform .25s;position:relative;}
.card:hover{border-color:var(--gold-deep);transform:translateY(-3px);}
.card .idx{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;}
.card h3{font-family:'Cinzel',serif;font-size:22px;color:var(--platinum-bright);font-weight:500;margin:14px 0 12px;letter-spacing:0.02em;}
.card p{font-size:16.5px;line-height:1.56;color:var(--silver);}
@media(max-width:820px){.cards{grid-template-columns:1fr;}}

/* dispatch list / archive */
.dispatches{max-width:820px;margin:0 auto;}
.disp{display:block;border:1px solid var(--line);border-left:2px solid var(--gold-deep);
  background:rgba(20,22,29,0.4);padding:26px 30px;margin-bottom:16px;transition:all .22s;}
.disp:hover{border-color:var(--line-bright);border-left-color:var(--gold-bright);background:rgba(25,28,36,0.55);transform:translateX(4px);}
.disp .meta{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.disp .meta .pillar{color:var(--gold-bright);}
.disp .meta .sep{color:var(--silver-dim);}
.disp .meta .date{color:var(--silver-dim);}
.disp .meta .lock{color:var(--amber);}
.disp h3{font-family:'Cinzel',serif;font-size:23px;color:var(--platinum-bright);font-weight:500;margin-bottom:8px;letter-spacing:0.01em;}
.disp p{font-size:17px;color:var(--silver);line-height:1.5;font-style:italic;}
.disp .arrow{color:var(--gold);opacity:0;transition:opacity .2s;float:right;font-family:'JetBrains Mono',monospace;}
.disp:hover .arrow{opacity:1;}
.disp-note{text-align:center;font-style:italic;color:var(--silver-dim);font-size:16px;margin-top:24px;}

/* ladder */
.ladder{max-width:900px;margin:0 auto;border:1px solid var(--line-bright);background:rgba(20,22,29,0.4);}
.rung{display:flex;align-items:center;gap:22px;padding:26px 32px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.rung:last-child{border-bottom:0;}
.rung.live{background:linear-gradient(160deg,rgba(40,34,20,0.4),rgba(10,11,14,0.1));}
.rung .r-id{flex:0 0 210px;}
.rung .r-name{font-family:'Cinzel',serif;font-size:20px;color:var(--platinum-bright);letter-spacing:0.02em;}
.rung .r-price{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gold-bright);margin-top:5px;}
.rung .r-what{flex:1;min-width:220px;font-size:16.5px;color:var(--silver);line-height:1.5;}
.rung .r-act{flex:0 0 auto;}
.tag{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;border:1px solid var(--line-bright);padding:6px 12px;color:var(--silver-dim);white-space:nowrap;display:inline-block;}
.tag.charter{color:var(--amber);border-color:rgba(176,138,74,0.4);}
.ladder-note{max-width:820px;margin:26px auto 0;text-align:center;font-size:16.5px;line-height:1.6;color:var(--silver);}
.ladder-note strong{color:var(--platinum);}
.horizon{max-width:820px;margin:20px auto 0;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;line-height:1.9;color:var(--silver-dim);text-transform:uppercase;}
.horizon b{color:var(--gold);font-weight:500;}
@media(max-width:760px){.rung .r-id{flex:0 0 100%;}.rung .r-act{flex:0 0 100%;}.rung .r-act .btn,.rung .r-act .tag{width:100%;}}

/* the code */
.code-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(15,17,22,0.6),rgba(10,11,14,0.2));}
.code-inner{max-width:800px;margin:0 auto;text-align:center;}
.code-inner .law{font-family:'Cinzel',serif;font-size:27px;line-height:1.34;color:var(--gold-bright);font-weight:500;letter-spacing:0.03em;}
.code-inner p{font-size:18.5px;line-height:1.62;color:var(--silver);margin-top:26px;}
.code-inner p strong{color:var(--platinum);}

/* house / persona */
.house{max-width:720px;margin:0 auto;text-align:center;}
.seal{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  width:96px;height:96px;border:1.5px solid var(--vermillion);background:rgba(176,64,47,0.06);
  color:var(--vermillion);margin-bottom:28px;position:relative;}
.seal .kanji{font-size:34px;line-height:1;letter-spacing:2px;font-family:'Cormorant Garamond',serif;writing-mode:vertical-rl;text-orientation:upright;padding-top:2px;}
.house .name{font-family:'Cinzel',serif;font-size:24px;letter-spacing:0.14em;color:var(--platinum-bright);font-weight:500;}
.house .name .jp{color:var(--silver);font-family:'Cormorant Garamond',serif;letter-spacing:2px;}
.house p{font-size:18.5px;line-height:1.64;color:var(--silver);margin-top:20px;}
.house p strong{color:var(--platinum);}
.house .motto{font-family:'Cinzel',serif;font-size:14px;letter-spacing:0.34em;color:var(--gold-pale);text-transform:uppercase;margin-top:28px;}

/* closing band */
.close-band{text-align:center;padding:96px 0;background-image:radial-gradient(ellipse 90% 80% at 50% 120%,rgba(169,143,92,0.10),transparent 60%);}
.close-band .overline{margin-bottom:22px;}
.close-band h2{font-family:'Cinzel',serif;font-size:40px;font-weight:600;color:var(--platinum-bright);letter-spacing:0.03em;line-height:1.14;max-width:680px;margin:0 auto;}

/* ---------- POST / DISPATCH ---------- */
.post-wrap{max-width:var(--prosew);margin:0 auto;padding:72px 44px 20px;position:relative;z-index:2;}
.post-head{text-align:center;margin-bottom:44px;}
.post-kicker{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;}
.post-kicker .sep{color:var(--silver-dim);}
.post-kicker .lock{color:var(--amber);}
.post-title{font-family:'Cinzel',serif;font-size:46px;line-height:1.12;font-weight:600;color:var(--platinum-bright);letter-spacing:0.02em;}
.post-excerpt{font-size:21px;font-style:italic;color:var(--silver);margin-top:20px;line-height:1.5;}
.post-byline{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--silver);}
.post-byline .seal-sm{width:30px;height:30px;border:1px solid var(--vermillion);color:var(--vermillion);display:flex;align-items:center;justify-content:center;font-size:12px;font-family:'Cormorant Garamond',serif;}
.post-byline .who{color:var(--platinum-bright);}
.post-feature{margin:0 0 44px;}
.post-feature img{width:100%;border:1px solid var(--line);}
.post-rule{width:60px;height:1px;background:var(--gold);margin:0 auto 44px;opacity:.7;}

/* prose */
.post-content{font-size:20px;line-height:1.75;color:var(--platinum);}
.post-content > *{margin-bottom:26px;}
.post-content > *:last-child{margin-bottom:0;}
.post-content p{color:var(--platinum);}
.post-content a{color:var(--gold-bright);border-bottom:1px solid var(--gold-deep);}
.post-content a:hover{color:var(--platinum-bright);}
.post-content h2{font-family:'Cinzel',serif;font-size:29px;font-weight:600;color:var(--platinum-bright);letter-spacing:0.02em;margin-top:52px;line-height:1.2;}
.post-content h3{font-family:'Cinzel',serif;font-size:22px;font-weight:500;color:var(--gold-bright);letter-spacing:0.02em;margin-top:40px;}
.post-content h4{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--platinum-bright);margin-top:36px;}
.post-content blockquote{border-left:2px solid var(--gold);padding:6px 0 6px 30px;margin-left:0;font-family:'Cinzel',serif;font-size:24px;line-height:1.4;font-weight:500;color:var(--gold-bright);font-style:normal;}
.post-content ul,.post-content ol{padding-left:26px;}
.post-content li{margin-bottom:10px;}
.post-content ul li::marker{color:var(--gold);}
.post-content ol li::marker{color:var(--gold);font-family:'JetBrains Mono',monospace;font-size:14px;}
.post-content hr{border:0;height:1px;background:var(--line-bright);margin:48px 0;position:relative;}
.post-content img,.post-content .kg-image{border:1px solid var(--line);}
.post-content figcaption{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;color:var(--silver-dim);text-align:center;margin-top:10px;text-transform:uppercase;}
.post-content code{font-family:'JetBrains Mono',monospace;font-size:0.82em;background:var(--ink-2);border:1px solid var(--line);padding:2px 6px;color:var(--gold-bright);}
.post-content pre{background:var(--void-2);border:1px solid var(--line-bright);padding:22px 24px;overflow-x:auto;font-family:'JetBrains Mono',monospace;font-size:14px;line-height:1.6;color:var(--platinum);}
.post-content pre code{background:transparent;border:0;padding:0;color:inherit;}
.kg-card{margin-bottom:26px;}

/* member gate / CTA */
.post-cta{max-width:var(--prosew);margin:56px auto 0;border:1px solid rgba(169,143,92,0.5);
  background:linear-gradient(160deg,rgba(40,34,20,0.4),rgba(10,11,14,0.25));padding:44px 40px;text-align:center;}
.post-cta .overline{margin-bottom:16px;}
.post-cta h3{font-family:'Cinzel',serif;font-size:27px;font-weight:600;color:var(--platinum-bright);margin-bottom:12px;letter-spacing:0.02em;}
.post-cta p{font-size:17.5px;color:var(--silver);max-width:540px;margin:0 auto 24px;line-height:1.55;}
.post-cta .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* post footer subscribe */
.post-foot-subscribe{border-top:1px solid var(--line);margin-top:72px;padding-top:64px;text-align:center;}

/* ---------- ARCHIVE (tag / author) ---------- */
.archive-head{text-align:center;padding:88px 0 20px;position:relative;z-index:2;}
.archive-head .overline{margin-bottom:22px;}
.archive-head h1{font-family:'Cinzel',serif;font-size:48px;font-weight:600;color:var(--platinum-bright);letter-spacing:0.03em;}
.archive-head p{font-size:19px;color:var(--silver);max-width:600px;margin:18px auto 0;font-style:italic;}
.archive-avatar{width:78px;height:78px;border-radius:50%;border:1px solid var(--gold-deep);object-fit:cover;margin:0 auto 24px;display:block;}

/* pagination */
.pagination{max-width:820px;margin:20px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;}
.pagination a{color:var(--gold-bright);border:1px solid var(--line-bright);padding:11px 20px;transition:all .2s;}
.pagination a:hover{border-color:var(--gold);color:var(--platinum-bright);}
.pagination .page-number{color:var(--silver-dim);}

/* ---------- generic page ---------- */
.page-wrap{max-width:var(--prosew);margin:0 auto;padding:80px 44px 20px;position:relative;z-index:2;}
.page-wrap .post-title{margin-bottom:36px;}

/* ---------- error ---------- */
.error-wrap{max-width:640px;margin:0 auto;padding:140px 44px;text-align:center;position:relative;z-index:2;}
.error-wrap .code{font-family:'Cinzel',serif;font-size:110px;color:var(--gold);line-height:1;font-weight:600;}
.error-wrap h1{font-family:'Cinzel',serif;font-size:26px;color:var(--platinum-bright);margin-top:20px;letter-spacing:0.04em;}
.error-wrap p{color:var(--silver);margin-top:16px;font-style:italic;font-size:19px;}
.error-wrap .btn{margin-top:32px;}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line-bright);padding:64px 0 40px;margin-top:40px;position:relative;z-index:2;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.foot-brand .mk{display:block;color:var(--gold);width:26px;height:26px;margin-bottom:2px;}
.foot-brand .wm{font-family:'Cinzel',serif;font-size:19px;letter-spacing:0.28em;color:var(--platinum-bright);font-weight:600;margin:14px 0 12px;}
.foot-brand p{font-size:15px;line-height:1.6;color:var(--silver-dim);max-width:280px;}
.foot-col h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.foot-col a{display:block;font-size:16px;color:var(--silver);margin-bottom:10px;transition:color .2s;}
.foot-col a:hover{color:var(--platinum-bright);}
.foot-base{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;}
.foot-base .disc{font-size:14px;line-height:1.6;color:var(--silver-dim);max-width:640px;font-style:italic;}
.foot-base .right{text-align:right;}
.foot-base .motto{font-family:'Cinzel',serif;font-size:12px;letter-spacing:0.28em;color:var(--gold-pale);text-transform:uppercase;}
.close-seal{display:flex;justify-content:center;margin-top:56px;}
.close-seal img,.close-seal svg{width:120px;height:120px;opacity:.92;}
.foot-base .copy{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--silver-dim);margin-top:8px;text-transform:uppercase;}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px 32px;}.foot-brand{grid-column:1 / -1;}.foot-brand p{max-width:none;}.foot-base{flex-direction:column;}.foot-base .right{text-align:left;}}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr;}}

/* ---------- responsive ---------- */
@media(max-width:760px){
  body{font-size:18px;}
  .wrap,.nav{padding-left:22px;padding-right:22px;}
  .nav-drawer{padding-left:22px;padding-right:22px;}
  .hero{padding:78px 0 58px;}
  .hero h1{font-size:44px;}
  .hero .subhead{font-size:17px;}
  .hero .lead{font-size:20px;}
  .hero .corner{display:none;}
  .keynote{padding:36px 24px;}
  .keynote .law{font-size:22px;}
  .sdiv h2{font-size:26px;}
  .band{padding:54px 0;}
  .close-band h2{font-size:29px;}
  .post-wrap,.page-wrap{padding-left:22px;padding-right:22px;padding-top:52px;}
  .post-title{font-size:33px;}
  .post-content{font-size:18.5px;}
  .post-content blockquote{font-size:20px;}
  .code-inner .law,.pull{font-size:21px;}
}

/* ============================================================
   Koenig (editor) card widths — required by Ghost / gscan
   ============================================================ */
.kg-width-wide,
.kg-width-full{position:relative;}
.post-content .kg-card,
.post-content figure{margin-top:10px;margin-bottom:26px;}
.post-content .kg-width-wide{width:min(1040px,92vw);margin-left:50%;transform:translateX(-50%);}
.post-content .kg-width-full{width:100vw;margin-left:50%;transform:translateX(-50%);}
.post-content .kg-width-full img{width:100%;}
.post-content .kg-image{width:100%;}
figure.kg-card img{display:block;}

.kg-gallery-container{display:flex;flex-direction:column;max-width:1040px;margin-left:50%;transform:translateX(-50%);}
.kg-gallery-row{display:flex;flex-direction:row;justify-content:center;}
.kg-gallery-image{margin:6px;}
.kg-gallery-image img{display:block;width:100%;height:100%;border:1px solid var(--line);}

.kg-bookmark-card{width:100%;}
.kg-bookmark-container{display:flex;min-height:148px;color:var(--platinum);text-decoration:none;border:1px solid var(--line-bright);background:rgba(20,22,29,0.4);}
.kg-bookmark-content{display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start;padding:20px;overflow:hidden;}
.kg-bookmark-title{color:var(--platinum-bright);font-family:'Cinzel',serif;font-size:16px;}
.kg-bookmark-description{color:var(--silver);font-size:15px;margin-top:8px;line-height:1.5;}
.kg-bookmark-thumbnail{position:relative;min-width:33%;max-height:100%;}
.kg-bookmark-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

.kg-callout-card{display:flex;padding:20px 24px;border:1px solid var(--line-bright);background:rgba(20,22,29,0.4);}
.kg-callout-emoji{padding-right:14px;font-size:20px;}
.kg-button-card{display:flex;justify-content:center;}
.kg-button-card a{display:inline-block;padding:12px 24px;background:linear-gradient(160deg,var(--gold-bright),var(--gold-deep));color:#12100b;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;}

@media(max-width:1040px){
  .post-content .kg-width-wide,.kg-gallery-container{width:100%;margin-left:0;transform:none;}
}

/* ============================================================
   Private / password-protected page
   ============================================================ */
.private-wrap{position:relative;z-index:2;max-width:520px;margin:0 auto;padding:110px 32px;text-align:center;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;}
.private-kamon{display:block;width:52px;height:52px;color:var(--gold);margin-bottom:30px;}
.private-wrap h1{font-family:'Cinzel',serif;font-size:52px;font-weight:600;letter-spacing:0.05em;color:var(--platinum-bright);}
.private-wrap .subhead{font-family:'Cinzel',serif;font-size:17px;letter-spacing:0.12em;color:var(--gold-bright);text-transform:uppercase;margin-top:14px;}
.private-lead{font-size:19px;color:var(--silver);font-style:italic;margin-top:22px;max-width:400px;line-height:1.5;}
.private-login-form{display:flex;gap:0;border:1px solid var(--line-bright);background:rgba(20,22,29,0.55);margin-top:32px;width:100%;max-width:420px;}
.private-input{flex:1;background:transparent;border:0;outline:0;color:var(--platinum-bright);font-family:'Cormorant Garamond',serif;font-size:18px;padding:15px 18px;}
.private-input::placeholder{color:var(--silver-dim);font-style:italic;}
.private-login-form .btn{border:0;}
.private-error{color:var(--rust);font-style:italic;margin-top:16px;}
.private-wrap .motto{font-family:'Cinzel',serif;font-size:13px;letter-spacing:0.32em;color:var(--gold);text-transform:uppercase;margin-top:44px;}
