
  :root{
    --bg:#F3EEE3; --surface:#ECE4D3; --line:#DED2B8;
    --text:#221E15; --muted:#6E6552; --dim:#96896C;
    --accent:#9C6B3E;
    --mono:'Space Mono',monospace; --sans:'Sora',sans-serif; --serif:'Fraunces',serif;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{background:var(--bg);color:var(--text);font-family:var(--serif);line-height:1.7;}
  a{color:inherit;text-decoration:none;}

  header{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 48px;border-bottom:1px solid var(--line);
    background:var(--bg);position:sticky;top:0;z-index:20;
  }
  .logo{font-family:var(--sans);font-weight:800;font-size:15px;letter-spacing:0.02em;}
  .logo span{color:var(--accent);}
  nav.top{display:flex;gap:32px;font-family:var(--mono);font-size:12px;letter-spacing:0.06em;color:var(--muted);text-transform:uppercase;}
  nav.top a:hover{color:var(--text);}
  .talk{font-family:var(--mono);font-size:12px;border:1px solid var(--line);padding:8px 16px;border-radius:999px;color:var(--muted);}

  .backlink{
    max-width:920px;margin:40px auto 0;padding:0 48px;
    font-family:var(--mono);font-size:12px;letter-spacing:0.05em;color:var(--dim);
  }
  .backlink:hover{color:var(--accent);}

  .articlehead{max-width:920px;margin:24px auto 0;padding:0 48px;}
  .kicker{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:20px;}
  .kicker::before{content:'';width:22px;height:1px;background:var(--accent);}
  h1{font-family:var(--sans);font-weight:700;font-size:clamp(30px,4.2vw,46px);line-height:1.14;letter-spacing:-0.01em;margin-bottom:20px;color:var(--text);}
  .dek{font-size:18px;color:var(--muted);max-width:640px;font-family:var(--serif);font-weight:400;}

  .hero{max-width:1160px;margin:40px auto;padding:0 48px;}
  .hero img{width:100%;display:block;border-radius:2px;}

  .meta{
    max-width:920px;margin:0 auto 8px;padding:0 48px;
    display:flex;gap:10px;align-items:center;flex-wrap:wrap;
    font-family:var(--mono);font-size:12px;color:var(--dim);
  }
  .meta .dot{opacity:0.5;}
  .meta .tag{color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 10px;font-size:11px;}

  .layout{
    max-width:1160px;margin:52px auto 0;padding:0 48px;
    display:grid;grid-template-columns:220px 1fr;gap:64px;
  }
  aside{position:sticky;top:96px;align-self:start;}
  .toclabel{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;}
  .toc{list-style:none;border-left:1px solid var(--line);}
  .toc li{margin-bottom:2px;}
  .toc a{
    display:block;padding:9px 0 9px 16px;font-family:var(--sans);font-size:13.5px;color:var(--muted);
    border-left:2px solid transparent;margin-left:-1px;transition:color .15s,border-color .15s;
  }
  .toc a:hover{color:var(--text);border-left-color:var(--accent);}
  .toc .n{font-family:var(--mono);color:var(--dim);margin-right:8px;}

  article{max-width:680px;}
  article > p.lead{font-size:19px;color:var(--muted);margin-bottom:36px;}
  article h2{
    font-family:var(--sans);font-weight:700;font-size:24px;color:var(--text);
    margin:52px 0 16px;padding-top:8px;border-top:1px solid var(--line);
  }
  article h2:first-of-type{border-top:none;margin-top:0;padding-top:0;}
  article p{font-size:16.5px;color:#3A3325;margin-bottom:18px;}
  blockquote{
    margin:32px 0;padding:4px 0 4px 24px;border-left:2px solid var(--accent);
    font-family:var(--serif);font-style:italic;font-size:21px;color:var(--text);
  }
  ul.body-list{margin:0 0 22px 0;list-style:none;}
  ul.body-list li{
    position:relative;padding-left:22px;margin-bottom:10px;color:#3A3325;font-size:16.5px;
  }
  ul.body-list li::before{content:'—';position:absolute;left:0;color:var(--accent);}

  .footlinks{
    max-width:680px;margin:64px auto 0 auto;grid-column:2;
    display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
    padding-top:28px;border-top:1px solid var(--line);
    font-family:var(--sans);font-weight:600;font-size:14px;
  }
  .footlinks a{color:var(--accent);}
  .footlinks a:hover{opacity:0.75;}

  footer.site{margin-top:100px;border-top:1px solid var(--line);padding:56px 48px 32px;font-family:var(--mono);font-size:12px;color:var(--dim);text-align:center;background:var(--surface);}

  @media (max-width:860px){
    .layout{grid-template-columns:1fr;}
    aside{position:static;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:8px;}
    .footlinks{grid-column:1;}
    header{padding:16px 20px;} nav.top{display:none;}
    .articlehead,.hero,.meta,.layout{padding-left:20px;padding-right:20px;}
  }
body{--text:#241f17;--accent:#4d6395}.site-layout{background:#f2ede3}.site-layout main{color:#241f17}.global-header,.global-footer{--accent:#8fbeff}.articlehead h1{color:#241f17}.articlehead,.hero,.meta{max-width:1040px}.hero img{height:390px;width:100%;object-fit:cover;filter:grayscale(1)}.layout{grid-template-columns:190px minmax(0,1fr);padding-bottom:75px}.layout aside{color:#625c50}.source-note{font-size:14px!important;border-top:1px solid #cbc4b6;padding-top:24px}.articlehead .dek{font-size:18px}.toc a{font-size:14px}.footlinks{grid-column:1/-1}@media(max-width:800px){.layout{grid-template-columns:1fr}.hero img{height:260px}.articlehead h1{font-size:34px}.articlehead{padding-top:35px}.layout{padding-bottom:45px}}

