@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/newsreader-400i-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/newsreader-400i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Newsreader is a variable font (wght 200-800). One file per unicode-range covers 400 and 600;
   the former newsreader-600-*.woff2 were byte-identical duplicates of the 400 files. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/newsreader-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/newsreader-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --paper:#ece2cf; --panel:#e6dabf; --ink:#2a2016; --mid:#6a5f48; --line:#cdbf9d; --olive:#5c5a30; --clay:#90502f;
  --serif:'Newsreader',Georgia,serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper)}
.jbc{position:relative;color:var(--ink);font-family:var(--serif);font-size:1.14rem;line-height:1.6;
  font-weight:400;min-height:100vh;-webkit-font-smoothing:antialiased}
.jbc a{color:inherit}
.jbc .ilink{color:var(--ink);border-bottom:1px solid var(--olive);text-decoration:none}
.jbc .ilink:hover{color:var(--clay);border-bottom-color:var(--clay)}
.jbc a:focus-visible,.jbc button:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px}
.jbc ::selection{background:var(--olive);color:var(--paper)}
.jbc .vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jbc .skip{position:absolute;left:-9999px;top:0}
.jbc .skip:focus{left:.5rem;top:.5rem;z-index:5;background:var(--paper);border:1px solid var(--line);
  padding:.55rem .9rem;font-family:var(--mono);font-size:.78rem;text-decoration:none}
.jbc .ico{width:.95em;height:.95em;vertical-align:-2px;margin-right:.3em;flex:none}
/* language toggle */
.jbc[data-lang="de"] [lang="en"]{display:none}
.jbc[data-lang="en"] [lang="de"]{display:none}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.jbc .wrap{position:relative;z-index:1;max-width:58rem;margin:0 auto;padding:clamp(1.6rem,4vw,3rem) clamp(1.4rem,5vw,3.4rem) 5rem}

/* masthead */
.jbc .head{position:sticky;top:0;z-index:4;background:var(--paper);
  display:flex;justify-content:space-between;align-items:center;gap:1rem 1.4rem;flex-wrap:wrap;
  padding:.9rem 0 1.1rem;margin-bottom:2.4rem;border-bottom:1px solid var(--line)}
.jbc .wm{font-weight:600;font-size:1.24rem;letter-spacing:.01em;text-decoration:none}
.jbc .nav{display:flex;gap:.6rem;font-family:var(--mono);font-size:.8rem;flex-wrap:wrap}
.jbc .nav a{text-decoration:none;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px}
.jbc .nav a:hover{border-bottom-color:var(--olive);color:var(--clay)}
.jbc .nav .sep{color:var(--mid);user-select:none;align-self:baseline}
.jbc .head-right{display:flex;align-items:center;gap:.7rem}
.jbc .menu-btn,.jbc .lang-toggle{font-family:var(--mono);font-size:.74rem;background:none;border:1px solid var(--line);color:var(--ink);padding:.35rem .6rem;border-radius:3px;cursor:pointer;letter-spacing:.04em}
.jbc .menu-btn{display:none}
.jbc .menu-btn:hover,.jbc .lang-toggle:hover{border-color:var(--olive);color:var(--clay)}
.jbc .totop{position:fixed;right:1.2rem;bottom:1.2rem;z-index:5;width:2.7rem;height:2.7rem;border-radius:50%;
  border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:1.05rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;
  transition:opacity .2s ease,visibility .2s ease;box-shadow:0 2px 10px rgba(42,32,22,.14)}
.jbc .totop.show{opacity:1;visibility:visible}
.jbc .totop:hover{border-color:var(--olive);color:var(--clay)}

.jbc .lede{font-weight:600;font-size:clamp(2.3rem,5.4vw,3.7rem);line-height:1.07;letter-spacing:-.01em;
  margin:0 0 1rem;text-wrap:balance;max-width:17ch}
.jbc .thread{font-style:italic;font-size:1.6rem;line-height:1.3;color:var(--clay);margin:0 0 1.8rem}
.jbc .hero{display:grid;grid-template-columns:1fr 18rem;gap:2rem 3rem;align-items:start}
.jbc .intro{font-size:1.2rem;line-height:1.55;margin:0;max-width:38ch}
.jbc figure{margin:0}
.jbc .portrait{width:100%;height:auto;display:block;border-radius:12px}
.jbc .cap{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mid);margin-top:.5rem}

/* fields */
.jbc .field{border-top:1px solid var(--line);padding-top:2rem;margin-top:2.6rem;scroll-margin-top:5rem}
.jbc .fhead{display:flex;align-items:baseline;gap:.85rem;margin:0 0 .85rem}
.jbc .field h2{font-weight:600;font-size:1.7rem;letter-spacing:-.01em;margin:0}
.jbc .field p{margin:0 0 1rem;max-width:66ch}
.jbc .shot{margin:1.6rem 0;width:100%}
.jbc .shot img{width:100%;height:auto;display:block;border-radius:12px}
.jbc .shot figcaption{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mid);margin-top:.5rem}
.jbc .go{font-family:var(--mono);font-size:.82rem;letter-spacing:.02em;text-decoration:none;
  border-bottom:1px solid var(--olive);padding-bottom:2px;margin-right:1.6rem;display:inline-block}
.jbc .go .ar{color:var(--olive)}
.jbc .go:hover{color:var(--clay);border-bottom-color:var(--clay)}

/* connective note */
.jbc .note{border-left:2px solid var(--olive);padding:.2rem 0 .2rem 1.3rem;margin:2.4rem 0 0;
  font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--ink);max-width:50ch}

/* contact */
.jbc .routes{list-style:none;padding:0;margin:1rem 0 0;border-bottom:1px solid var(--line)}
.jbc .routes li{border-top:1px solid var(--line);padding:.9rem 0}
.jbc .routes a{text-decoration:none;display:flex;justify-content:space-between;align-items:baseline;gap:.6rem 1rem;flex-wrap:wrap}
.jbc .rt{font-size:1.16rem}
.jbc .rd{font-family:var(--mono);font-size:.76rem;color:var(--mid);overflow-wrap:anywhere}
.jbc .routes a:hover .rt{color:var(--clay)}
.jbc .field p.aux{font-family:var(--mono);font-size:.77rem;color:var(--mid);margin-top:3rem}
.jbc .aux a{border-bottom:1px solid var(--line)}
.jbc .imp{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.5rem;
  font-family:var(--mono);font-size:.74rem;line-height:1.85;color:var(--mid)}
.jbc .imp b{display:block;color:var(--olive);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}
.jbc .imp address{font-style:normal}
.jbc .imp .dslink{margin:.8rem 0 0}
.jbc .imp .dslink a{border-bottom:1px solid var(--line)}

@media (max-width:720px){
  .jbc .head{position:static}
  .jbc .nav{display:none;order:3;flex-basis:100%;flex-direction:column;gap:.85rem;padding-top:.2rem}
  .jbc .nav .sep{display:none}
  .jbc .nav.open{display:flex}
  .jbc .menu-btn{display:inline-block}
  .jbc .hero{grid-template-columns:1fr}
  .jbc .hero .pf{max-width:14rem;order:-1}
  .jbc .shot{margin-left:0;width:100%}
  .jbc .thread{font-size:1.3rem}
}
