@font-face { font-family:D-Barlow; src:url('../themes/d-copper/fonts/Barlow-Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:D-Barlow; src:url('../themes/d-copper/fonts/Barlow-Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:D-Noto; src:url('../themes/d-copper/fonts/NotoSerifDisplay-Medium-latin.woff2') format('woff2'); font-weight:500; font-display:swap; }
:root { color-scheme:dark; --ground:#11100f; --ink:#f5ede6; --muted:#d0bfb1; --copper:#d99870; --raised:#302721; background:var(--ground); color:var(--ink); font-family:D-Barlow,Arial,sans-serif; font-size:18px; line-height:1.7; scrollbar-color:var(--copper) var(--ground); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; }
::selection { background:var(--copper); color:var(--ground); }
a { color:var(--copper); text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
:is(a,button):focus-visible { outline:3px solid var(--copper); outline-offset:4px; }
.topbar { max-width:1120px; margin-inline:auto; padding:20px 24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; border-bottom:1px solid var(--raised); }
.brand { font-family:D-Noto,Georgia,serif; font-size:24px; font-weight:500; }
.language-switch { display:flex; gap:6px; }
button { min-width:48px; min-height:44px; padding:6px 12px; border:1px solid var(--copper); border-radius:6px; background:transparent; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
button[aria-pressed="true"] { background:var(--copper); color:var(--ground); }
button:hover { border-color:var(--ink); }
main { width:100%; max-width:calc(68ch + 48px); padding:28px 24px 80px; margin-inline:auto; overflow-wrap:break-word; }
.back-link { display:inline-flex; flex-basis:100%; flex-wrap:wrap; gap:4px 16px; align-items:center; min-height:44px; }
article:not([hidden]) + article:not([hidden]) { margin-top:64px; }
h1,h2 { font-family:D-Noto,Georgia,serif; font-weight:500; line-height:1.25; text-wrap:balance; }
h1 { margin:0 0 16px; color:var(--copper); font-size:clamp(32px,5vw,48px); letter-spacing:-.025em; }
h2 { margin:40px 0 12px; font-size:26px; }
p { margin:0 0 20px; }
h1 + p { color:var(--muted); }
@media (max-width:480px) {
  .topbar { padding-inline:20px; }
  main { padding-inline:20px; }
  h2 { font-size:24px; }
}
