
:root{
  --canvas:#F5F5F4; --surface:#FFFFFF; --text:#222222; --muted:#6B6B66;
  --accent:#35507A; --rule:#DDDDDD; --edge:#C8C8C4;
  --serif:Georgia,"Times New Roman",Times,serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--canvas);color:var(--text);
  font:16px/1.62 var(--sans);}
img{max-width:100%;height:auto;}
a{color:var(--accent);}
.shell{max-width:1040px;margin:0 auto;background:var(--surface);
  border:1px solid var(--edge);border-radius:0;padding:0 32px;}
.skip{position:absolute;left:-9999px;}
.skip:focus{position:static;display:block;padding:8px 0;}

/* --- header ------------------------------------------------------- */
.masthead{min-height:168px;padding:40px 0 24px;text-align:center;}
.wordmark{display:block;margin:0 auto;}
.site-name{font:400 38px/1.1 var(--serif);letter-spacing:.02em;margin:0;color:var(--text);}
.site-name a{color:var(--text);text-decoration:none;}
.site-name a:hover{color:var(--accent);}
.meta-rule{display:block;height:1px;background:var(--accent);margin:8px auto 8px;width:96px;border:0;}
.tagline{font:400 13px/1.5 var(--mono);letter-spacing:.06em;color:var(--muted);
  margin:0;text-transform:none;}

/* --- menu --------------------------------------------------------- */
.pagemenu{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;gap:28px;
  padding:12px 0;position:relative;flex-wrap:wrap;}
.pagemenu a{font:400 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--text);text-decoration:none;transition:color .15s linear;}
.pagemenu a:hover,.pagemenu a:focus-visible{color:var(--accent);text-decoration:underline;}
.pagemenu a[aria-current="page"]{color:var(--accent);}
.utility{display:flex;align-items:center;gap:12px;}
.pagemenu .utility{position:absolute;right:0;top:50%;transform:translateY(-50%);}
.utility a{display:inline-flex;align-items:center;}
.utility img{width:16px;height:16px;display:block;}
.utility .u-label{position:absolute;left:-9999px;}

/* --- body grid ---------------------------------------------------- */
.body-grid{display:grid;grid-template-columns:minmax(0,700px) 260px;gap:40px;
  padding:32px 0 8px;align-items:start;}
.stream{min-width:0;}
.rail{min-width:0;}

/* --- entries ------------------------------------------------------ */
.entry{padding-bottom:40px;border-bottom:1px solid var(--rule);margin-bottom:40px;}
.entry:last-child{border-bottom:0;}
.entry h1,.entry h2{font:400 28px/1.25 var(--serif);margin:0 0 8px;}
.entry h1 a,.entry h2 a{color:var(--accent);text-decoration:none;}
.entry h1 a:hover,.entry h2 a:hover{text-decoration:underline;}
.entry .meta-rule{margin:0 0 6px;width:120px;}
.meta{font:400 12px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin:0 0 16px;}
.entry p{margin:0 0 16px;max-width:66ch;}
.entry h3{font:400 20px/1.3 var(--serif);margin:28px 0 8px;}
.entry ul{max-width:66ch;padding-left:20px;margin:0 0 16px;}
.entry li{margin-bottom:6px;}
.more{font:400 12px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;}

/* --- spec table --------------------------------------------------- */
.spec-table{border-collapse:collapse;width:100%;max-width:520px;margin:8px 0 24px;
  font-size:15px;}
.spec-table caption{font:400 12px/1.5 var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);text-align:left;padding-bottom:8px;}
.spec-table th,.spec-table td{border-bottom:1px solid var(--rule);padding:8px 12px 8px 0;
  text-align:left;vertical-align:top;}
.spec-table th{font:400 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);width:46%;}

/* --- rail widgets ------------------------------------------------- */
.widget{margin-bottom:32px;}
.widget h2{font:400 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--text);margin:0 0 6px;}
.widget .meta-rule{margin:0 0 8px;width:44px;}
.widget ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);}
.widget li{border-bottom:1px solid var(--rule);padding:7px 0;font-size:14px;}
.widget a{text-decoration:none;}
.widget a:hover{text-decoration:underline;}
.widget p{font-size:14px;line-height:1.6;margin:0;color:var(--muted);}

/* --- footer ------------------------------------------------------- */
.site-footer{border-top:1px solid var(--edge);padding:28px 0 0;}
.footer-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  max-height:220px;}
.footer-block h2{font:400 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  margin:0 0 6px;}
.footer-block .meta-rule{margin:0 0 8px;width:36px;}
.footer-block ul{list-style:none;margin:0;padding:0;}
.footer-block li{font-size:14px;padding:4px 0;}
.footer-block p{font-size:14px;margin:0;color:var(--muted);}
.footer-block a{text-decoration:none;}
.footer-block a:hover{text-decoration:underline;}
.colophon{border-top:1px solid var(--rule);margin-top:24px;padding:14px 0 28px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.colophon p{font:400 12px/1.6 var(--mono);letter-spacing:.04em;color:var(--muted);margin:0;}

a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

@media (max-width:900px){
  .shell{padding:0 20px;}
  .body-grid{grid-template-columns:1fr;gap:0;padding-top:24px;}
  .stream{order:1;}
  .rail{order:2;border-top:1px solid var(--rule);padding-top:28px;margin-top:8px;}
  .footer-trio{grid-template-columns:1fr;gap:24px;max-height:none;}
}
@media (max-width:720px){
  body{font-size:17px;}
  .masthead{min-height:96px;padding:22px 0 14px;}
  .site-name{font-size:26px;}
    .pagemenu{gap:20px;padding:10px 0;}
  .utility{position:static;transform:none;flex-basis:100%;justify-content:center;
    padding-top:8px;border-top:1px solid var(--rule);}
  .entry h1,.entry h2{font-size:24px;}
  .colophon{flex-direction:column;align-items:flex-start;}
}
@media (max-width:560px){
  .spec-table,.spec-table tbody,.spec-table tr,.spec-table th,.spec-table td{display:block;width:100%;}
  .spec-table tr{border-bottom:1px solid var(--rule);padding:8px 0;}
  .spec-table th,.spec-table td{border-bottom:0;padding:0;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}
