:root { --ink:#252525; --muted:#6a6a64; --paper:#fff; --cream:#f4f0e7; --moss:#52634b; --rust:#a94f2c; --line:#dedbd3; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.7 Georgia, "Times New Roman", serif; }
a { color:var(--rust); text-decoration-thickness:1px; text-underline-offset:3px; }
img, video { display:block; max-width:100%; height:auto; }
.site-header { max-width:var(--max); margin:auto; padding:28px 24px 18px; display:flex; align-items:end; justify-content:space-between; border-bottom:1px solid var(--line); gap:24px; }
.brand { color:var(--ink); font:500 clamp(1.8rem,4vw,2.7rem)/1.1 Arial,sans-serif; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:20px; font:600 .82rem/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
nav a { color:var(--ink); text-decoration:none; }
main { max-width:var(--max); margin:auto; padding:34px 24px 70px; }
.intro { margin-bottom:42px; padding:22px clamp(20px,5vw,64px); background:var(--cream); text-align:center; }
.intro h1 { margin:.1em 0 .5em; font-size:1.7rem; }
.intro p { max-width:980px; margin:12px auto; }
.kicker,.eyebrow { color:var(--moss); font:700 .76rem/1.2 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.hero { position:relative; display:block; min-height:340px; margin-bottom:54px; overflow:hidden; background:#ddd; color:white; }
.hero img { width:100%; height:clamp(340px,52vw,620px); object-fit:cover; }
.hero span { position:absolute; left:0; right:0; bottom:0; padding:50px 28px 24px; background:linear-gradient(transparent,rgba(0,0,0,.76)); color:white; font:bold clamp(1.5rem,4vw,3.2rem)/1.08 Arial,sans-serif; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:60px; }
.section-heading { margin-top:0; font:600 1rem/1.2 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.post-card { display:grid; grid-template-columns:220px minmax(0,1fr); gap:26px; padding:0 0 34px; margin-bottom:34px; border-bottom:1px solid var(--line); }
.post-card-image { height:175px; background:#eee; overflow:hidden; }
.post-card-image img { width:100%; height:100%; object-fit:cover; }
.post-card h2 { margin:.1em 0 .35em; font:600 clamp(1.45rem,3vw,2.1rem)/1.15 Arial,sans-serif; }
.post-card h2 a { color:var(--ink); text-decoration:none; }
.post-card p { margin:.5em 0; }
.read-more,.button { font:700 .78rem/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.button { display:inline-block; padding:13px 18px; border:1px solid var(--ink); color:var(--ink); text-decoration:none; }
.sidebar section { margin-bottom:38px; }
.sidebar h2 { padding-bottom:9px; border-bottom:2px solid var(--ink); font:700 .78rem/1.2 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.sidebar select { width:100%; padding:11px; border:1px solid var(--line); background:white; }
.sidebar ul { padding:0; list-style:none; }
.sidebar li { padding:10px 0; border-bottom:1px solid var(--line); }
.sidebar li a { display:block; color:var(--ink); text-decoration:none; }
.sidebar small { color:var(--muted); }
.article { min-width:0; }
.article > h1,.archive-layout h1 { margin:.15em 0; font:600 clamp(2.2rem,5vw,4.5rem)/1.05 Arial,sans-serif; letter-spacing:-.035em; }
.taxonomy { margin:18px 0 36px; color:var(--muted); font-size:.92rem; }
.wp-content { font-size:1.08rem; }
.wp-content h2,.wp-content h3 { margin-top:1.5em; font-family:Arial,sans-serif; line-height:1.2; }
.wp-content figure { margin:30px 0; }
.wp-content img { margin:20px auto; }
.wp-content iframe { max-width:100%; }
.wp-content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.wp-content td,.wp-content th { padding:8px; border:1px solid var(--line); }
blockquote { margin:28px 0; padding-left:22px; border-left:4px solid var(--moss); color:var(--muted); font-style:italic; }
footer { padding:35px 24px; background:#262923; color:#eee; text-align:center; }
.not-found { min-height:55vh; text-align:center; padding-top:14vh; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:800px) { .site-header { align-items:flex-start; flex-direction:column; } .content-grid { grid-template-columns:1fr; } .post-card { grid-template-columns:1fr; } .post-card-image { height:240px; } .sidebar { padding-top:25px; border-top:1px solid var(--line); } }
