:root{
  --paper:#fffdf8; --ink:#211d19; --muted:#726b62; --line:#ece4d8;
  --accent:#b23a2e; --accent-soft:rgba(178,58,46,.10);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);
  font-size:19px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.reading{max-width:690px}
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}
.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:18px 22px;flex-wrap:wrap}
.brand a{font-family:var(--serif);font-weight:700;font-size:27px;letter-spacing:-.015em;color:var(--ink)}
.brand .slogan{display:block;font-family:var(--sans);font-size:12.5px;color:var(--muted);font-weight:400;margin-top:3px;letter-spacing:.01em}
.nav{font-family:var(--sans);font-size:14px;display:flex;gap:22px;flex-wrap:wrap}
.nav a{color:var(--muted);border-bottom:2px solid transparent;padding-bottom:3px;transition:color .15s,border-color .15s}
.nav a:hover{color:var(--accent);border-color:var(--accent)}
.kicker{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
main{display:block}
.hero{padding:44px 0 6px}
.hero .kicker{display:inline-block;margin-bottom:12px}
.hero h1{font-size:clamp(31px,5.2vw,50px);line-height:1.1;margin:0 0 14px;letter-spacing:-.02em}
.hero h1 a:hover{color:var(--accent)}
.hero .chapo{font-size:21px;color:#403a33;margin:0 0 15px;max-width:690px}
.hero .meta{font-family:var(--sans);font-size:13px;color:var(--muted)}
.hero .cover{margin:24px 0 6px;border-radius:7px;overflow:hidden;border:1px solid var(--line)}
.section-title{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-top:2px solid var(--ink);padding-top:11px;margin:52px 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:36px 30px}
.card{display:block}
.card .thumb{border-radius:5px;overflow:hidden;border:1px solid var(--line);margin-bottom:13px;aspect-ratio:3/2;background:var(--accent-soft);display:block}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .kicker{font-size:11px}
.card h3{font-size:21px;line-height:1.22;margin:8px 0 6px;letter-spacing:-.01em}
.card:hover h3{color:var(--accent)}
.card .meta{font-family:var(--sans);font-size:12.5px;color:var(--muted)}
.card p.ex{font-size:15.5px;color:#4c463f;margin:5px 0 0}
.empty{color:var(--muted);font-style:italic}
.article{padding:36px 0 6px}
.article .kicker{display:inline-block;margin-bottom:10px}
.article h1{font-size:clamp(29px,4.6vw,45px);line-height:1.13;margin:6px 0 16px;letter-spacing:-.02em}
.article .chapo{font-size:21px;color:#403a33;font-style:italic;margin:0 0 4px}
.article .meta{font-family:var(--sans);font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:18px;margin:14px 0 28px}
.article .cover{margin:0 0 28px;border-radius:7px;overflow:hidden;border:1px solid var(--line)}
.article .body{font-size:19px}
.article .body p{margin:0 0 1.15em}
.article .body h2{font-family:var(--serif);font-size:27px;margin:1.6em 0 .4em;letter-spacing:-.01em}
.article .body a{color:var(--accent);border-bottom:1px solid rgba(178,58,46,.35)}
.backlink{font-family:var(--sans);font-size:13px;color:var(--muted);display:inline-block;margin:34px 0}
.backlink:hover{color:var(--accent)}
.site-footer{margin-top:74px;border-top:1px solid var(--line);background:#fbf5ec}
.site-footer .wrap{padding:36px 22px;font-family:var(--sans);font-size:13.5px;color:var(--muted);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.site-footer a:hover{color:var(--accent)}
@media(max-width:640px){
  body{font-size:18px}
  .brand a{font-size:22px}
  .hero{padding-top:28px}
  .section-title{margin-top:40px}
}
