/* Castanon Art: writing styles, copied verbatim from the static site (residue.html). */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --read-bg:        #F9F5F1;
      --read-ink:       #1c1a17;
      --read-charcoal:  #242321;
      --read-mid:       #726b62;
      --read-dim:       #8f8779;
      --read-footer:    #3F3B36;
      --read-gold:      #6f5424;
      --read-gold-hover:#584118;
      --font-title: 'Newsreader', Georgia, serif;
      --font-body:'Libre Franklin',sans-serif;
    }
    html { scroll-behavior: smooth; }
    body { background:var(--read-bg); color:var(--read-charcoal); font-family:var(--font-body); font-weight: 200; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

    /* ── NAV (canonical) ── */
    nav { background:var(--read-bg); border-bottom:0.5px solid #e2dccf; height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 40px; position:sticky; top:0; z-index:100; }
    .nav-brand { font-family:var(--font-title); font-size: 21px; font-weight: 400; color:var(--read-ink); letter-spacing: 0.5px; text-transform: none; text-decoration:none; white-space:nowrap; }
    .nav-brand,
    .nav-brand:link,
    .nav-brand:visited,
    .nav-brand:hover,
    .nav-brand:active,
    .nav-brand:focus { text-decoration: none; }
    .nav-links { display:flex; gap:16px; font-family:var(--font-body); font-size:11px; font-weight:400; letter-spacing:0.8px; text-transform:uppercase; margin-left:auto; margin-right:44px; }
    .nav-links a { color:var(--read-charcoal); text-decoration:none; transition:color 0.2s ease; }
    .nav-links a:hover { color:var(--read-ink); }
    .nav-links a.active { color:var(--read-gold); }
    .nav-right { flex-shrink:0; display:flex; align-items:center; }
    .nav-collect, a.nav-collect { font-family:var(--font-body); font-size:11px; font-weight: 200; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; color:var(--read-gold); transition:color 0.2s ease; }
    .nav-collect:hover, a.nav-collect:hover { color:var(--read-gold-hover); }
    .nav-left { display: flex; align-items: center; gap: 18px; }
    .nav-logo-link { display: flex; align-items: center; text-decoration: none; }
    .nav-logo-crop { display: block; width: 11.69px; height: 13px; overflow: hidden; position: relative; transform: translateY(-1px); }
    .nav-logo-crop svg { position: absolute; width: 11.686px; height: 13.025px; left: 0.002px; top: 0.002px; fill: #1c1a17; opacity: 0.85; }

    /* ── FOOTER (canonical) ── */
    footer { background:var(--read-bg); border-top:0.5px solid #e2dccf; padding:0; display:block; }
    .footer-cols { padding:48px 40px; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.5fr; gap:40px; border-bottom:0.5px solid #e2dccf; }
    .footer-col-label { font-family:var(--font-body); font-size:10px; font-weight: 200; letter-spacing:3px; text-transform:uppercase; color:var(--read-footer); margin-bottom:16px; }
    .footer-brand { font-family:var(--font-title); font-size: 18px; letter-spacing: 0.5px; text-transform: none; color:var(--read-ink); opacity:0.9; margin-bottom:16px; }
    .footer-tagline { font-family:var(--font-body); font-size:11px; font-weight: 200; color:var(--read-footer); line-height:1.9; font-style:italic; }
    .footer-explore { display:flex; flex-direction:column; gap:10px; }
    .footer-explore a { font-family:var(--font-body); font-size:11px; font-weight: 200; letter-spacing:1.5px; text-transform:uppercase; color:var(--read-footer); text-decoration:none; transition:color 0.2s; }
    .footer-explore a:hover { color:var(--read-ink); }
    .footer-email { font-family:var(--font-body); font-size:12px; font-weight: 200; color:var(--read-charcoal); text-decoration:none; display:block; margin-bottom:14px; }
    .footer-email:hover { color:var(--read-ink); }
    .footer-body-text { font-family:var(--font-body); font-size:11px; font-weight: 200; color:var(--read-footer); line-height:1.8; }
    .footer-circle-text { font-family:var(--font-body); font-size:11px; font-weight: 200; color:var(--read-footer); line-height:1.9; margin-bottom:20px; }
    .footer-circle-cta { font-family:var(--font-body); font-size:10px; font-weight:200; letter-spacing:2px; text-transform:uppercase; color:var(--read-gold); border:0.5px solid var(--read-gold); padding:11px 20px; text-decoration:none; display:inline-block; transition:background 0.2s, color 0.2s, border-color 0.2s; }
    .footer-circle-cta:hover { background:rgba(111,84,36,0.08); color:var(--read-gold-hover); border-color:var(--read-gold-hover); }
    .footer-strip { padding:16px 40px; display:flex; justify-content:space-between; align-items:center; }
    .footer-copy { font-family:var(--font-body); font-size:11px; font-weight: 200; color:var(--read-footer); letter-spacing:0; }
    .footer-links { display:flex; gap:24px; }
    .footer-links a { font-family:var(--font-body); font-size:11px; font-weight: 200; letter-spacing:1px; text-transform:uppercase; color:var(--read-footer); text-decoration:none; transition:color 0.2s; }
    .footer-links a:hover { color:var(--read-ink); }

    /* ── WRITING (reading room) ── */
    .writing-shell { max-width:680px; margin:0 auto; padding:88px 40px 80px; }
    .writing-header { margin-bottom:48px; }
    .writing-eyebrow { font-family:'IBM Plex Mono','Courier New',monospace; font-size:11px; font-weight:400; line-height:1.4; letter-spacing:0.20em; text-transform:uppercase; color:var(--read-gold); margin-bottom:22px; }
    .writing-title { font-family:'Cormorant Garamond','Palatino Linotype',Palatino,serif; font-size:30px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; color:var(--read-ink); line-height:1.05; margin-bottom:24px; }
    .writing-rule { width:32px; height:1px; background:var(--read-gold); opacity:0.6; margin-top:8px; }

    .writing-body { font-family:'Libre Franklin',sans-serif; font-size:18px; font-weight:200; line-height:1.78; letter-spacing:-0.01em; color:rgb(42,38,35); }
    .writing-body p { margin-bottom:22px; }
    .writing-body p.lead { font-family:var(--font-title); font-size: 20px; font-weight:400; color:var(--read-ink); letter-spacing:0.4px; line-height:1.6; font-style:italic; margin-bottom:32px; }
    .writing-body p.placeholder { color:var(--read-ink); font-style:italic; }
    .writing-body em { color:var(--read-footer); }

    /* Literary breath — a structural pause between sections of a piece */
    .writing-pause { height:140px; }

    /* Final landing line — quiet emphasis through breath, not weight */
    .writing-body p.writing-last { margin-top:2.6rem; }

    /* ── BILINGUAL TOGGLE ── */
    .lang-toggle { display:flex; align-items:center; gap:10px; margin-bottom:40px; }
    .lang-btn { background:none; border:none; cursor:pointer; font-family:'IBM Plex Mono','Courier New',monospace; font-size:11px; font-weight:400; line-height:1.4; letter-spacing:0.12em; text-transform:uppercase; color:var(--read-mid); padding:0; transition:color 0.2s; }
    .lang-btn[aria-pressed="true"] { color:var(--read-gold); }
    .lang-btn:hover { color:var(--read-ink); }
    .lang-sep { font-family:'IBM Plex Mono','Courier New',monospace; color:#e2dccf; font-size:11px; }
    .lang-hidden { display:none; }

    /* ── PUBLICATION NAV ── */
    .writing-foot { margin-top:72px; padding-top:28px; border-top:0.5px solid #e2dccf; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
    .writing-back { font-family:var(--font-body); font-size:10px; font-weight: 200; letter-spacing:2px; text-transform:uppercase; color:var(--read-mid); text-decoration:none; transition:color 0.2s; }
    .writing-back:hover { color:var(--read-gold); }
    .writing-pair { display:flex; gap:24px; }
    .writing-pair a { font-family:var(--font-body); font-size:10px; font-weight: 200; letter-spacing:2px; text-transform:uppercase; color:var(--read-mid); text-decoration:none; transition:color 0.2s; }
    .writing-pair a:hover { color:var(--read-ink); }

    @media (max-width: 980px) {
      nav { padding:0 22px; }
      .nav-links { gap:16px; margin-right:22px; }
      .writing-shell { padding:56px 22px 64px; }
      .writing-title { font-size:24px; }
      .writing-body { font-size:18px; line-height:1.75; }
      .writing-body p.lead { font-size:16px; }
      .writing-pause { height:96px; }
      .footer-cols { grid-template-columns:1fr 1fr; gap:32px; padding:36px 22px; }
      .footer-strip { padding:16px 22px; flex-direction:column; align-items:flex-start; gap:14px; }
    }
