  /* ---------- breadcrumb ---------- */
  .breadcrumb{
    max-width:820px;
    margin:22px auto 0 auto;
    padding:0 28px;
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    color:var(--muted);
  }
  .breadcrumb a{color:var(--pine); font-weight:500;}

  /* ---------- article ---------- */
  article{
    max-width:820px;
    margin:0 auto;
    padding:16px 28px 0 28px;
  }
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--ember);
    font-weight:600;
    display:block;
    margin-bottom:10px;
  }
  h1.title{
    font-family:'Oswald', sans-serif;
    font-size:36px;
    font-weight:600;
    line-height:1.16;
    margin:0 0 16px 0;
    color:var(--ink);
  }
  .meta-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    color:var(--muted);
    padding-bottom:20px;
    border-bottom:1px solid var(--border);
    margin-bottom:0;
  }
  .lang-pill{
    background:var(--moss-light);
    color:var(--pine-deep);
    padding:4px 11px;
    border-radius:20px;
    font-weight:600;
    cursor:pointer;
    border:none;
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
  }

  .hero-art{
    margin:22px 0 26px 0;
    height:320px;
    border-radius:12px;
    background:linear-gradient(135deg, var(--pine) 0%, var(--pine-deep) 100%);
    display:flex; align-items:center; justify-content:center;
  }
  .hero-art svg{width:110px; height:110px; color:rgba(255,255,255,0.92);}

  .body-text p{
    font-size:17px;
    line-height:1.75;
    color:#2C332E;
    margin:0 0 22px 0;
  }
  .body-text p:first-of-type::first-letter{
    font-family:'Oswald', sans-serif;
    font-size:52px;
    font-weight:600;
    float:left;
    line-height:0.85;
    margin:6px 8px 0 0;
    color:var(--pine);
  }

  blockquote{
    margin:32px 0;
    padding:6px 0 6px 22px;
    border-left:4px solid var(--ember);
    font-family:'Oswald', sans-serif;
    font-size:21px;
    font-weight:500;
    font-style:italic;
    line-height:1.45;
    color:var(--pine-deep);
  }
  blockquote cite{
    display:block;
    margin-top:10px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    font-style:normal;
    font-weight:400;
    color:var(--muted);
  }

  /* ---------- share ---------- */
  .share{
    display:flex;
    align-items:center;
    gap:12px;
    padding:22px 0 32px 0;
    margin-top:6px;
  }
  .share span{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--muted);
  }
  .share a{
    width:34px; height:34px;
    border-radius:50%;
    background:var(--moss-light);
    color:var(--pine);
    display:flex; align-items:center; justify-content:center;
  }
  .share a:hover{background:var(--pine); color:#fff;}

  /* ---------- related ---------- */
  .related-wrap{
    max-width:820px;
    margin:10px auto 0 auto;
    padding:34px 28px 60px 28px;
    border-top:1px solid var(--border);
  }
  .related-title{
    font-family:'Oswald', sans-serif;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--muted);
    margin:0 0 16px 0;
  }
  .related-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
  }
  @media (max-width:700px){ .related-grid{grid-template-columns:1fr;} }
  .rcard{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
  }
  .rcard-art{
    height:96px;
    background:var(--moss-light);
    display:flex; align-items:center; justify-content:center;
  }
  .rcard-art svg{width:30px; height:30px; color:var(--pine);}
  .rcard-body{padding:12px 14px 14px 14px;}
  .rcard .pill{
    background:var(--moss-light); color:var(--pine-deep);
    padding:2px 9px; border-radius:20px; font-size:10.5px;
    font-family:'JetBrains Mono', monospace; font-weight:600;
  }
  .rcard h4{
    font-family:'Oswald', sans-serif;
    font-size:14px; font-weight:500; line-height:1.3;
    margin:8px 0 0 0; color:var(--ink);
  }

  @media (max-width:600px){
    h1.title{font-size:27px;}
    .hero-art{height:220px;}
  }

  /* ---------- photo gallery ---------- */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
    margin:24px 0;
  }
  @media (max-width:600px){ .gallery-grid{grid-template-columns:repeat(2, 1fr);} }
  .gallery-grid a{
    display:block;
    aspect-ratio:1/1;
    border-radius:8px;
    overflow:hidden;
    background:var(--moss-light);
  }
  .gallery-grid img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
