:root { --ink:#172b28; --deep:#17332e; --cream:#f4f0e7; --paper:#fbf9f3; --wheat:#d2a269; --muted:#56645d; --line:#d8ded7; --serif:Georgia,"Times New Roman",serif; --sans:"Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.7 var(--sans); }
a { color:inherit; }
img { max-width:100%; }
::selection { background:#d7b381; color:#172b28; }
.skip-link { position:absolute; z-index:10; top:-4rem; left:1rem; padding:.6rem 1rem; background:white; color:var(--ink); }
.skip-link:focus { top:1rem; }
.masthead { background:var(--deep); color:white; }
.masthead-inner { width:min(1320px,calc(100% - 80px)); min-height:92px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.mast-brand { display:flex; align-items:center; gap:.8rem; min-width:220px; text-decoration:none; }
.mast-brand img { width:108px; height:48px; object-fit:contain; }
.mast-brand span { max-width:115px; color:#d9dfd9; font-size:.63rem; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.masthead nav { display:flex; align-items:center; gap:clamp(1rem,2.5vw,2.6rem); }
.masthead nav a { min-height:24px; padding:4px 2px; display:inline-flex; align-items:center; color:#f3f3ec; font-size:.79rem; text-decoration:none; }
.masthead nav a:hover,.masthead nav a:focus-visible { color:#e1b477; }
.eyebrow { margin:0 0 1rem; color:#785231; text-transform:uppercase; letter-spacing:.15em; font-size:.68rem; font-weight:700; }
.journal-hero .eyebrow { color:#dfbf95; }
.journal-hero { min-height:555px; display:grid; grid-template-columns:1fr 1fr; background:var(--deep); color:white; }
.journal-hero > div:first-child { padding:5.5rem max(40px,calc((100vw - 1200px)/2)); padding-right:3rem; align-self:center; }
.journal-hero h1 { margin:0; font:500 clamp(3.2rem,6.2vw,6rem)/1 var(--serif); letter-spacing:-.045em; }
.journal-hero h1 em { color:var(--wheat); font-weight:500; }
.journal-intro { max-width:480px; margin:1.6rem 0 1.8rem; color:#dce4dc; }
.journal-button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:48px; padding:.6rem 1.15rem; background:var(--cream); color:var(--deep); font-size:.77rem; font-weight:700; text-decoration:none; }
.journal-button:hover { background:white; }
.journal-hero-photo { min-height:555px; overflow:hidden; }
.journal-hero-photo img { width:100%; height:100%; object-fit:cover; }
.archive-controls { width:min(1200px,calc(100% - 80px)); margin:4.5rem auto 1rem; display:grid; grid-template-columns:1fr 1fr; gap:2.5rem 4rem; }
.archive-controls h2 { margin:0 0 .8rem; color:#785231; font-size:.67rem; letter-spacing:.15em; text-transform:uppercase; }
.chip-list { display:flex; flex-wrap:wrap; gap:.45rem; }
.chip-list a { padding:.3rem .65rem; border:1px solid var(--line); color:#4f6058; font-size:.72rem; text-decoration:none; }
.chip-list a:hover { border-color:#a98257; color:var(--deep); }
.article-list { width:min(1200px,calc(100% - 80px)); margin:6rem auto 8rem; }
.list-heading { margin-bottom:2rem; }
.list-heading h2 { margin:0; color:var(--deep); font:500 clamp(2.2rem,4vw,4rem)/1.08 var(--serif); }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.article-card { background:var(--paper); }
.article-card-image { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--cream); }
.article-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.article-card:hover .article-card-image img { transform:scale(1.025); }
.article-card-copy { padding:1.35rem 1.4rem 1.5rem; }
.article-meta { display:flex; justify-content:space-between; gap:.7rem; margin:0 0 .8rem; color:#56645d; font-size:.65rem; }
.article-meta span { color:#785231; text-transform:uppercase; letter-spacing:.08em; }
.article-card h3 { margin:0 0 .8rem; font:500 1.35rem/1.25 var(--serif); color:var(--deep); }
.article-card h3 a { text-decoration:none; }
.article-card h3 a:hover { color:#986c42; }
.article-card-copy > p:not(.article-meta) { min-height:5rem; margin:0 0 1rem; color:var(--muted); font-size:.82rem; line-height:1.6; }
.article-read { color:#805f3c; font-size:.73rem; font-weight:700; text-decoration:none; }
.article-read:hover { text-decoration:underline; text-underline-offset:.2em; }
.section-shell { width:min(900px,calc(100% - 80px)); margin-inline:auto; }
.post-header { padding:4.8rem 0 2rem; }
.back-link { display:inline-block; margin-bottom:2.3rem; color:#74634f; font-size:.75rem; text-decoration:none; }
.back-link:hover { color:var(--deep); text-decoration:underline; }
.post-header h1,.taxonomy-page h1 { margin:0; color:var(--deep); font:500 clamp(2.8rem,6vw,5.2rem)/1.04 var(--serif); letter-spacing:-.04em; }
.post-deck { max-width:700px; margin:1.3rem 0 1.4rem; color:#617069; font-size:1.04rem; }
.byline { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; padding:1rem 0; border-top:1px solid var(--line); color:#66746d; font-size:.73rem; }
.byline span:first-child { color:var(--deep); font-weight:700; }
.post-cover { margin-bottom:3.5rem; }
.post-cover img { display:block; width:100%; max-height:650px; aspect-ratio:16/9; object-fit:cover; }
.post-cover figcaption { padding-top:.6rem; color:#56645d; font-size:.7rem; }
.prose { width:min(720px,calc(100% - 48px)); margin:0 auto 4rem; color:#3e4e47; font-size:1rem; line-height:1.85; }
.prose h2 { margin:3rem 0 1rem; color:var(--deep); font:500 clamp(1.9rem,3.2vw,2.7rem)/1.15 var(--serif); letter-spacing:-.025em; }
.prose h3 { margin:2rem 0 .7rem; color:var(--deep); font:500 1.45rem/1.2 var(--serif); }
.prose p { margin:0 0 1.35rem; }
.prose a { color:#805f3c; text-underline-offset:.2em; overflow-wrap:anywhere; }
.prose ul,.prose ol { margin:0 0 1.5rem; padding-left:1.5rem; }
.prose li { margin:.35rem 0; padding-left:.25rem; }
.prose blockquote { margin:2rem 0; padding:1rem 1.5rem; border-left:3px solid var(--wheat); background:#f0eadf; color:#45564e; font:italic 1.15rem/1.6 var(--serif); }
.prose img { display:block; width:100%; height:auto; margin:2rem 0; }
.post-end { padding:1.5rem 0 6rem; border-top:1px solid var(--line); }
.post-tags { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-bottom:1rem; }
.post-tags span { margin-right:.5rem; color:#56645d; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.post-tags a { padding:.25rem .55rem; border:1px solid var(--line); color:#5c6b64; font-size:.7rem; text-decoration:none; }
.post-tags a:hover { border-color:#a98257; }
.revision-credit { margin:1rem 0 1.8rem; color:#56645d; font-size:.72rem; }
.taxonomy-page { padding:4.5rem 0 8rem; }
.taxonomy-page .back-link { margin-bottom:2rem; }
.taxonomy-page h1 { font-size:clamp(3rem,6vw,5rem); }
.taxonomy-intro { margin:1rem 0 3rem; color:#56645d; }
.taxonomy-list { border-top:1px solid var(--line); }
.taxonomy-list article { display:grid; grid-template-columns:145px 1fr; gap:2rem; padding:1.6rem 0; border-bottom:1px solid var(--line); }
.taxonomy-list time,.taxonomy-list article > time { color:#56645d; font-size:.7rem; }
.taxonomy-list h2 { margin:0 0 .4rem; font:500 1.55rem/1.25 var(--serif); color:var(--deep); }
.taxonomy-list h2 a { text-decoration:none; }
.taxonomy-list h2 a:hover { color:#986c42; }
.taxonomy-list p { margin:.4rem 0; color:#64726b; font-size:.82rem; }
.taxonomy-list span { color:#88938d; font-size:.7rem; }
.journal-footer { padding:3.5rem 0 2rem; background:var(--deep); color:#f1f1e9; }
.journal-footer-inner { width:min(1200px,calc(100% - 80px)); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:.7rem 3rem; }
.footer-name { font:500 1.5rem var(--serif); text-decoration:none; }
.journal-footer p { margin:.2rem 0; color:#c3cec5; font-size:.82rem; }
.journal-footer nav { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; }
.journal-footer nav a { min-height:24px; padding:4px 2px; display:inline-flex; align-items:center; color:#f1f1e9; font-size:.74rem; text-decoration:none; }
.journal-footer nav a:hover { color:#dfbb8e; }
.journal-footer small { grid-column:1/-1; padding-top:1.8rem; color:#aab9ae; font-size:.67rem; }
:focus-visible { outline:3px solid #d4984e; outline-offset:4px; }
@media(max-width:900px) {
  .masthead-inner,.archive-controls,.article-list,.journal-footer-inner { width:calc(100% - 48px); }
  .masthead-inner { gap:1.5rem; }
  .masthead nav { gap:1rem; }
  .masthead nav a { font-size:.72rem; }
  .mast-brand { min-width:175px; }
  .article-grid { grid-template-columns:repeat(2,1fr); }
  .journal-hero > div:first-child { padding-left:24px; }
}
@media(max-width:650px) {
  .masthead-inner { width:calc(100% - 36px); display:block; padding:.65rem 0 .75rem; }
  .mast-brand { min-height:44px; }
  .mast-brand img { width:92px; }
  .masthead nav { margin-top:.5rem; overflow-x:auto; gap:1.25rem; scrollbar-width:none; }
  .masthead nav::-webkit-scrollbar { display:none; }
  .masthead nav a { white-space:nowrap; font-size:.72rem; }
  .journal-hero { grid-template-columns:1fr; }
  .journal-hero > div:first-child { padding:4rem 20px 3.2rem; }
  .journal-hero h1 { font-size:clamp(3.2rem,15vw,5rem); }
  .journal-hero-photo { min-height:0; height:280px; }
  .archive-controls,.article-list,.journal-footer-inner { width:calc(100% - 40px); }
  .archive-controls { grid-template-columns:1fr; gap:1.6rem; margin-top:3rem; }
  .article-list { margin:4rem auto 5rem; }
  .article-grid { grid-template-columns:1fr; }
  .article-card-copy > p:not(.article-meta) { min-height:0; }
  .section-shell { width:calc(100% - 40px); }
  .post-header { padding:3.7rem 0 1.5rem; }
  .post-header h1 { font-size:clamp(2.7rem,12vw,4rem); }
  .post-cover { width:100%; margin-bottom:2rem; }
  .post-cover img { aspect-ratio:4/3; }
  .prose { width:calc(100% - 40px); margin-bottom:3rem; font-size:.94rem; }
  .prose h2 { margin-top:2.3rem; font-size:2rem; }
  .taxonomy-page { padding:3.6rem 0 5rem; }
  .taxonomy-list article { grid-template-columns:1fr; gap:.4rem; }
  .journal-footer-inner { grid-template-columns:1fr; }
  .journal-footer small { grid-column:auto; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
