*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#2b2b2b;font:400 17px/1.62 Georgia,"Times New Roman",serif}
img,svg{max-width:100%}
a{color:#3e5f4a}
a:focus-visible,button:focus-visible{outline:2px solid #3e5f4a;outline-offset:2px}
h1,h2,h3,h4{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-weight:600;line-height:1.15;margin:0}
p{margin:0 0 16px}
.ab-wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* identity bar */
.ab-bar{background:#2b2b2b;color:#fff}
.ab-bar .ab-wrap{min-height:78px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.ab-mark{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.ab-mark img{width:26px;height:26px;display:block}
.ab-mark span{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:24px;font-weight:600;letter-spacing:.02em}
.ab-barnav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.ab-barnav a{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:13px;color:#f2f2ef;text-decoration:none}
.ab-barnav a:hover{text-decoration:underline}
.ab-action{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;border:1px solid #8fae9b;border-radius:2px;padding:11px 18px;text-decoration:none;white-space:nowrap}
.ab-action:hover{border-color:#fff}

/* banners */
.ab-banner{background:#2b2b2b;color:#fff;min-height:360px;display:flex;align-items:center;
  background-image:url("/assets/banner-rule.svg");background-size:cover;background-position:center}
.ab-banner .ab-strap{background:#fff;color:#2b2b2b;padding:28px 34px;max-width:760px}
.ab-banner h1{font-size:44px}
.ab-banner p{margin:12px 0 0;font-size:18px;color:#4a4a46}
.ab-label{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;color:#5b5b57;margin:0 0 10px}
.ab-banner--inner{min-height:210px}
.ab-banner--inner h1{font-size:34px}

/* chapters */
.ab-chapter{padding:44px 0}
.ab-chapter h2{font-size:30px;margin-bottom:14px}
.ab-narrow{max-width:680px}
.ab-band{background:#efefec;border-top:1px solid #d8d8d2;border-bottom:1px solid #d8d8d2;padding:22px 0;margin:0}
.ab-band h3{font-size:21px}
.ab-band .ab-label{margin:0 0 6px}
.ab-indexgrid{display:grid;grid-template-columns:400px minmax(0,1fr);gap:48px;align-items:start}
.ab-indexgrid .ab-rail ul{columns:2;column-gap:24px}
.ab-rail{position:sticky;top:16px}
.ab-rail h2{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#5b5b57;margin-bottom:12px}
.ab-rail ul{list-style:none;margin:0;padding:0;border-top:1px solid #d8d8d2}
.ab-rail li{border-bottom:1px solid #d8d8d2}
.ab-rail a{display:block;padding:9px 0;font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:14px;text-decoration:none}
.ab-rail a:hover{text-decoration:underline}
.ab-rail a[aria-current="page"]{font-weight:700;border-left:3px solid #3e5f4a;padding-left:9px}

/* rows */
.ab-rows{list-style:none;margin:0;padding:0}
.ab-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid #d8d8d2}
.ab-plate{background:#2b2b2b;color:#fff;font:12px/1.1 Consolas,"Courier New",monospace;letter-spacing:.12em;
  writing-mode:vertical-rl;text-orientation:mixed;padding:8px 4px;justify-self:start;align-self:start;min-height:56px}
.ab-row h3,.ab-row h4{font-size:19px;margin:0 0 4px}
.ab-row a{text-decoration:none}
.ab-row a:hover{text-decoration:underline}
.ab-meta{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:14px;color:#5b5b57;margin:0}

/* date rows */
.ab-daterow{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid #d8d8d2;align-items:start}
.ab-date{border:1px solid #3e5f4a;color:#3e5f4a;text-align:center;padding:8px 4px;
  font-family:Lato,"Helvetica Neue",Arial,sans-serif}
.ab-date b{display:block;font-size:12px;letter-spacing:.09em}
.ab-date span{display:block;font-size:19px;font-weight:600}

/* shelves strip */
.ab-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ab-tile{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;border-top:2px solid #2b2b2b;padding-top:12px}
.ab-tile h3{font-size:17px;margin:0 0 4px}
.ab-tile .ab-plate{min-height:74px}

/* detail body */
.ab-detail{display:grid;grid-template-columns:240px minmax(0,820px);gap:40px;align-items:start;padding:40px 0}
.ab-spec{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid #d8d8d2}
.ab-spec li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid #d8d8d2;
  font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:15px}
.ab-spec b{font-weight:600;color:#5b5b57;font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding-top:3px}
.ab-review{border-top:1px solid #d8d8d2;padding:20px 0}
.ab-review h3{font-size:18px;margin-bottom:8px}
.ab-review p{margin:0;max-width:36em}
.ab-detail > div > p{max-width:36em}
.ab-related{list-style:none;margin:0;padding:0}
.ab-related li{padding:8px 0;border-bottom:1px solid #d8d8d2;font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:15px}
.ab-letters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.ab-letters a{display:block;border:1px solid #d8d8d2;padding:6px 11px;text-decoration:none;
  font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:14px}
.ab-letters a[aria-current="page"]{background:#2b2b2b;color:#fff;border-color:#2b2b2b}

/* footer */
.ab-foot{background:#efefec;border-top:1px solid #d8d8d2;padding:44px 0 0;margin-top:24px}
.ab-footcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.ab-footcols h2{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#5b5b57;margin-bottom:12px}
.ab-footcols ul{list-style:none;margin:0;padding:0}
.ab-footcols li{margin-bottom:7px}
.ab-footcols a{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:14px;text-decoration:none}
.ab-footcols a:hover{text-decoration:underline}
.ab-footcols p{font-size:15px;color:#4a4a46}
.ab-copy{border-top:1px solid #d8d8d2;margin-top:36px;padding:16px 0;font-family:Lato,"Helvetica Neue",Arial,sans-serif;
  font-size:12px;color:#5b5b57;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.ab-static{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:13px;color:#5b5b57;
  border:1px solid #d8d8d2;padding:10px 14px;margin:0 0 20px}

@media (max-width:1180px){.ab-wrap{padding:0 20px}.ab-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
  .ab-bar .ab-wrap{align-items:flex-start;flex-direction:column;gap:14px}
  .ab-barnav{margin-left:0;gap:16px}
  .ab-action{display:block;width:100%;text-align:center}
  .ab-banner{min-height:200px}
  .ab-banner h1{font-size:27px}
  .ab-banner--inner h1{font-size:24px}
  .ab-indexgrid,.ab-detail{grid-template-columns:minmax(0,1fr);gap:24px}
  .ab-rail{position:static}
  .ab-rail ul{display:flex;flex-wrap:wrap;gap:8px;border-top:0}
  .ab-rail li{border-bottom:0}
  .ab-rail a{border:1px solid #d8d8d2;padding:6px 10px}
  .ab-rail a[aria-current="page"]{border-left-width:1px;padding-left:10px;border-bottom:3px solid #3e5f4a}
  .ab-band{padding:16px 0}
  body{font-size:16px}
  .ab-plate{writing-mode:horizontal-tb;min-height:0;padding:4px 8px;letter-spacing:.08em}
  .ab-row,.ab-tile{grid-template-columns:minmax(0,1fr);gap:8px}
  .ab-daterow{grid-template-columns:64px minmax(0,1fr);gap:12px}
  .ab-spec li{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media (max-width:560px){.ab-footcols{grid-template-columns:minmax(0,1fr);gap:24px}.ab-strip{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}