:root{--ink:#22303a;--mut:#64727d;--acc:#0f766e;--acc2:#b45309;--bg:#fbf8f1;--paper:#fffdf7;--line:#e4dccb;--rule:#dfe7e3}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 "Work Sans",system-ui,-apple-system,sans-serif}
a{color:var(--acc);text-underline-offset:3px}:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
header.site{background:var(--paper);border-bottom:1px solid var(--line);padding:20px 20px 14px}
.in{max-width:700px;margin:0 auto}
.brand{font-family:Lora,Georgia,serif;font-weight:600;font-size:27px;color:var(--ink);text-decoration:none}
.brand::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--acc2);margin-right:10px;vertical-align:middle}
.tag{color:var(--mut);font-size:14px;margin:6px 0 12px;font-style:italic;font-family:Lora,Georgia,serif}
nav.arts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;font-weight:500}nav.arts a{color:var(--acc);text-decoration:none}nav.arts a:hover{text-decoration:underline}
main{padding:30px 20px 48px}
article,.home{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:28px 30px 26px 34px;box-shadow:0 1px 0 var(--line);position:relative}
article::before,.home::before{content:"";position:absolute;left:22px;top:0;bottom:0;border-left:2px solid #f2c6c2}
h1{font-family:Lora,Georgia,serif;font-weight:600;font-size:clamp(28px,5vw,38px);line-height:1.15;margin:0 0 12px;letter-spacing:-.01em}
h2{font-family:Lora,Georgia,serif;font-weight:600;font-size:23px;line-height:1.3;margin:34px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
p{margin:0 0 16px}ul,ol{padding-left:22px;margin:0 0 16px}li{margin:4px 0}
.byline{color:var(--mut);font-size:14px;margin-bottom:22px}
.callout{background:#fff4e5;border:1px dashed var(--acc2);border-radius:6px;padding:12px 16px;margin:18px 0}.callout p{margin:0}
blockquote{margin:18px 0;padding:0 0 0 16px;border-left:3px solid var(--acc);color:var(--mut);font-family:Lora,Georgia,serif;font-style:italic}
table{border-collapse:collapse;width:100%;font-size:15px;margin:14px 0 20px}th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:#f1ede2}
.cards{display:grid;gap:12px;margin:24px 0}.cards a{display:block;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:6px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600;font-family:Lora,Georgia,serif;font-size:19px}.cards a span{display:block;font-family:"Work Sans",sans-serif;font-weight:400;color:var(--mut);font-size:14px;margin-top:4px}
.more{margin-top:40px;padding-top:16px;border-top:1px solid var(--line)}.more h3{margin:0 0 8px;font-size:16px}.more ul{padding-left:18px;margin:0}
.bio{margin-top:30px;padding:14px 16px;background:#f1ede2;border-radius:6px;font-size:15px;color:var(--mut)}
footer{border-top:1px solid var(--line);padding:16px 20px 32px;font-size:13px;color:var(--mut)}footer p{margin:0 0 8px}
@media(max-width:560px){article,.home{padding:20px 18px 20px 24px}article::before,.home::before{left:14px}}
h3{font-size:1.08em;line-height:1.35;margin:26px 0 8px}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 20px}.tw table{margin:0;min-width:520px}
@media(max-width:480px){body{font-size:16.5px}h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
