/* More Caffeine, Please -- espresso broadsheet, restored 2009-2010 grammar.
   layout family mcp-espresso-broadsheet-2009 */
:root{
 --canvas:#f3ede3; --surface:#fffdf8; --ink:#2a211b; --ink-strong:#191310;
 --muted:#6b5a4c; --accent:#8c4a2f; --ribbon:#b4451f; --band:#3b2a20;
 --rule:#ddd2c2;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);
 font:15px/1.65 Verdana,Geneva,"DejaVu Sans",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:hover{color:var(--ribbon)}
a:focus-visible,button:focus-visible{outline:2px solid var(--ribbon);outline-offset:2px}
.shell{max-width:1120px;margin:0 auto;padding:0 20px}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--band);color:#fff;
 padding:8px 14px;z-index:20}
.skip-link:focus{left:0}

/* ---- utility strip + brand row ---- */
.utility{background:var(--band);color:#e9dcd0}
.utility-row{display:flex;justify-content:space-between;align-items:center;gap:16px;
 min-height:34px;flex-wrap:wrap}
.utility-tag{margin:0;font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:#d9c6b6}
.utility-links{list-style:none;display:flex;gap:18px;margin:0;padding:0}
.utility-links a{color:#e9dcd0;text-decoration:none;font-size:11px;letter-spacing:.08em;
 text-transform:uppercase}
.utility-links a:hover{color:#fff;text-decoration:underline}

.brandrow{background:var(--canvas);border-bottom:1px solid var(--rule)}
.brand-inner{display:flex;align-items:center;gap:28px;padding-top:18px;padding-bottom:18px}
.brand-text{flex:0 0 auto}
.wordmark{margin:0;font:italic 700 42px/1.05 Georgia,"Times New Roman",serif;
 color:var(--ink-strong);letter-spacing:-.01em}
.wordmark a{color:inherit;text-decoration:none}
.byline-brand{margin:6px 0 0;font-size:11px;letter-spacing:.09em;text-transform:uppercase;
 color:var(--muted)}
.masthead-photo{flex:1 1 auto;min-width:0;max-height:96px;object-fit:cover;
 border:1px solid var(--rule)}

/* ---- category band ---- */
.catband{background:var(--band)}
.catband-list{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0;
 min-height:42px;align-items:center}
.catband-list li{margin:0}
.catband-list a{display:block;padding:11px 14px;color:#efe3d9;text-decoration:none;
 font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.catband-list a:hover{background:var(--ribbon);color:#fff}
.catband-home a{font-weight:700;background:rgba(255,255,255,.07)}

/* ---- shell ---- */
.main-wrap{display:flex;gap:40px;align-items:flex-start;padding-top:32px;padding-bottom:44px}
.stream{flex:1 1 68%;min-width:0}
.rail{flex:0 0 306px;min-width:0}

/* ---- ribbons (motif) ---- */
.ribbon{display:inline-block;background:var(--ribbon);color:#fff;text-decoration:none;
 font:700 10px/1 Verdana,Geneva,sans-serif;letter-spacing:.11em;text-transform:uppercase;
 padding:6px 14px 6px 9px;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%)}
.ribbon:hover{background:var(--band);color:#fff}
.ribbon.sm{font-size:9px;padding:4px 12px 4px 7px}
.ribbon.lg{font-size:11px;padding:7px 18px 7px 11px}
.ribbon.nameplate{background:var(--band)}

/* ---- lead mosaic ---- */
.mosaic{display:flex;gap:26px;align-items:flex-start;padding-bottom:30px;
 border-bottom:3px double var(--rule);margin-bottom:28px}
.mosaic-lead{flex:0 0 63%;min-width:0;background:var(--surface);border:1px solid var(--rule);
 padding:20px}
.mosaic-lead-title{margin:12px 0 6px;font:400 30px/1.18 Georgia,serif;color:var(--ink-strong)}
.mosaic-lead-title a{color:inherit;text-decoration:none}
.mosaic-lead-title a:hover{color:var(--accent)}
.mosaic-lead-image{margin:14px 0;border:1px solid var(--rule);width:100%;max-width:300px}
.mosaic-lead-excerpt{margin:0 0 12px;max-width:66ch}
.mosaic-more a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
 text-decoration:none}
.mosaic-more a:hover{text-decoration:underline}
.mosaic-side{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:16px}
.mosaic-small{background:var(--surface);border:1px solid var(--rule);padding:14px 16px}
.mosaic-small-title{margin:9px 0 4px;font:400 19px/1.25 Georgia,serif}
.mosaic-small-title a{color:var(--ink-strong);text-decoration:none}
.mosaic-small-title a:hover{color:var(--accent)}
.mosaic-small-excerpt{margin:6px 0 0;font-size:13px;color:#4b3d33}

/* ---- metadata ---- */
.meta{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.meta .sep{opacity:.55;margin:0 2px}
.meta time{font-weight:700;color:#5b4a3d}

/* ---- category sections / teasers ---- */
.cat-section{margin:0 0 34px}
.section-head{margin:0 0 16px;font:400 21px/1.2 Georgia,serif;color:var(--ink-strong);
 border-bottom:2px solid var(--band);padding-bottom:7px}
.section-plate{display:inline-block;background:var(--band);color:#fff;font:700 10px/1 Verdana,sans-serif;
 letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;vertical-align:3px;margin-right:8px}
.teaser{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.teaser-plate{flex:0 0 150px;min-height:56px;display:flex;align-items:flex-start;
 justify-content:flex-start;padding-top:3px}
.teaser-body{flex:1 1 auto;min-width:0}
.teaser-title{margin:0 0 5px;font:400 22px/1.24 Georgia,serif}
.teaser-title a{color:var(--ink-strong);text-decoration:none}
.teaser-title a:hover{color:var(--accent)}
.teaser-excerpt{margin:7px 0 0;max-width:70ch;color:#413429}
.section-more{margin:14px 0 0}
.section-more a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
 text-decoration:none}
.section-more a:hover{text-decoration:underline}
.empty-note{color:var(--muted)}

/* ---- rail widgets ---- */
.widget{background:var(--surface);border:1px solid var(--rule);padding:16px 18px;margin:0 0 20px}
.widget-title{margin:0 0 12px;font:400 17px/1.2 Georgia,serif;color:var(--ink-strong);
 border-bottom:1px solid var(--rule);padding-bottom:7px}
.widget p{font-size:13px;margin:0 0 10px}
.widget-list{list-style:none;margin:0 0 10px;padding:0;font-size:13px}
.widget-list li{margin:0 0 7px;padding-left:13px;position:relative}
.widget-list li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;
 background:var(--accent)}
.widget-list.ruled li{padding:6px 0;border-bottom:1px solid var(--rule);
 display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.widget-list.ruled li:before{display:none}
.widget-list.ruled li:last-child{border-bottom:0}
.count{font-size:10px;color:var(--muted);letter-spacing:.06em}
.ebook-shot img{border:1px solid var(--rule);margin-bottom:10px}
.widget-lede{font-weight:700;color:var(--ink-strong)}
.widget-cta a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
 text-decoration:none}
.widget-cta a:hover{text-decoration:underline}
.widget-cta.big{margin-top:18px}
.widget-cta.big a{font-size:13px;background:var(--ribbon);color:#fff;padding:11px 18px;
 display:inline-block}
.widget-cta.big a:hover{background:var(--band);text-decoration:none}
.author-mark{width:96px;height:96px;object-fit:cover;border:1px solid var(--rule);
 margin-bottom:10px}
.author-name{font:italic 700 17px/1.2 Georgia,serif;color:var(--ink-strong);margin:0 0 8px}

/* ---- article ---- */
.post{background:var(--surface);border:1px solid var(--rule);padding:26px 30px;margin-bottom:26px}
.post-head{border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:18px}
.post-title{margin:12px 0 8px;font:400 32px/1.18 Georgia,serif;color:var(--ink-strong)}
.post-body{max-width:66ch}
.post-body p{margin:0 0 15px}
.post-sub{margin:24px 0 10px;font:700 19px/1.3 Georgia,serif;color:var(--ink-strong)}
.post-list{margin:0 0 16px;padding-left:20px}
.post-list li{margin:0 0 8px}
blockquote{margin:0 0 16px;padding:4px 0 4px 18px;border-left:3px solid var(--accent);
 color:#4b3d33;font-style:italic}
.post-tags{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--rule);
 font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ebook-lead{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
.ebook-lead img{border:1px solid var(--rule);flex:0 0 300px}
.ebook-copy{flex:1 1 300px;min-width:0;max-width:60ch}

.minor-head{margin:0 0 12px;font:400 18px/1.25 Georgia,serif;color:var(--ink-strong);
 border-bottom:1px solid var(--rule);padding-bottom:7px}
.minor-head a{color:inherit;text-decoration:none}
.minor-head a:hover{color:var(--accent)}
.related,.comments{background:var(--surface);border:1px solid var(--rule);
 padding:20px 24px;margin-bottom:22px}
.related-list{list-style:none;margin:0;padding:0}
.related-list li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px}
.related-list li:last-child{border-bottom:0}
.rel-plain{color:var(--muted)}
.neighbours{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.nb{flex:1 1 240px;margin:0;background:var(--surface);border:1px solid var(--rule);
 padding:12px 16px;font-size:14px}
.nb-label{display:block;font-size:10px;letter-spacing:.11em;text-transform:uppercase;
 color:var(--muted);margin-bottom:4px}
.comment-list{list-style:none;margin:0;padding:0}
.comment{padding:14px 0;border-bottom:1px solid var(--rule)}
.comment:last-child{border-bottom:0}
.comment p{margin:0 0 10px;font-size:14px}
.comment-head{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.comment-who{font-weight:700;color:var(--ink-strong)}
.comment-when{margin-left:10px}
.bracket{color:var(--accent)}

/* ---- listings ---- */
.listing-head{margin:0 0 22px;padding-bottom:16px;border-bottom:3px double var(--rule)}
.listing-title{margin:12px 0 6px;font:400 32px/1.16 Georgia,serif;color:var(--ink-strong)}
.listing-intro{margin:0;color:#4b3d33;max-width:68ch}
.arch-month{margin:0 0 26px}
.arch-list{list-style:none;margin:0;padding:0}
.arch-list li{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;
 padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px}
.arch-list time{flex:0 0 92px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
 color:var(--muted)}
.arch-list a{color:var(--ink-strong);text-decoration:none}
.arch-list a:hover{color:var(--accent);text-decoration:underline}

/* ---- footer ---- */
.site-foot{background:var(--band);color:#e2d3c6;margin-top:10px}
.foot-cols{display:flex;gap:40px;padding-top:34px;padding-bottom:28px;flex-wrap:wrap}
.foot-col{flex:1 1 240px;min-width:0}
.foot-title{margin:0 0 12px;font:400 17px/1.2 Georgia,serif;color:#fff;
 border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:7px}
.foot-list{list-style:none;margin:0;padding:0;font-size:12px}
.foot-list li{padding:5px 0;display:flex;justify-content:space-between;gap:10px}
.foot-list a{color:#e9dcd0;text-decoration:none}
.foot-list a:hover{color:#fff;text-decoration:underline}
.foot-list .count{color:#a89184}
.tag-list li{display:block}
.foot-more{margin:12px 0 0;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.foot-more a{color:#f0c9b6}
.identity{border-top:1px solid rgba(255,255,255,.15);padding:14px 0;font-size:11px;
 letter-spacing:.06em;color:#b8a294}
.identity p{margin:0}
.identity-mark{font:italic 700 13px/1 Georgia,serif;color:#e9dcd0;margin-right:8px}

/* ---- tablet ---- */
@media (max-width:1000px){
 .main-wrap{gap:28px}
 .rail{flex:0 0 264px}
 .mosaic{gap:20px}
 .mosaic-lead{flex:0 0 58%}
}

/* ---- mobile ---- */
@media (max-width:760px){
 body{font-size:16px}
 .shell{padding:0 16px}
 .brand-inner{flex-direction:column;align-items:flex-start;gap:12px;padding-top:14px;
  padding-bottom:14px}
 .wordmark{font-size:26px}
 .masthead-photo{width:100%;max-height:96px}
 .catband-list{padding:4px 0}
 .catband-list a{padding:8px 12px;font-size:10px}
 .main-wrap{flex-direction:column;gap:0;padding-top:22px}
 .stream,.rail{flex:1 1 auto;width:100%}
 .mosaic{flex-direction:column;gap:0;padding-bottom:22px}
 .mosaic-lead{flex:1 1 auto;width:100%;padding:16px;border-bottom:0}
 .mosaic-lead-title{font-size:25px}
 .mosaic-lead-image{max-width:100%}
 .mosaic-side{gap:0;width:100%}
 .mosaic-small{border-top:0;padding:12px 16px}
 .mosaic-small-title{font-size:18px}
 .teaser{flex-direction:column;gap:6px}
 .teaser-plate{flex:0 0 auto;min-height:0;padding-top:0}
 .teaser-title{font-size:20px;order:2}
 .teaser-body .meta{order:1}
 .teaser-body{display:flex;flex-direction:column}
 .teaser-excerpt{order:3;font-size:15px}
 .post{padding:18px 16px}
 .post-title{font-size:25px}
 .listing-title{font-size:26px}
 .rail{margin-top:8px}
 .foot-cols{flex-direction:column;gap:24px;padding-top:26px}
 .ebook-lead img{flex:1 1 auto}
 .arch-list li{gap:4px}
 .arch-list time{flex:0 0 100%}
}

/* the rail follows the first category section on narrow screens */
@media (max-width:760px){
 .main-wrap{display:flex}
 .rail{order:2}
 .stream{order:1}
}
@media print{.catband,.rail,.site-foot,.utility{display:none}}
