.ab-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;margin-top:10px}
.ab-rail{min-width:0}
.ab-toc{position:sticky;top:74px;display:flex;flex-direction:column;padding-top:0px;}
.ab-toc__label{margin-bottom:14px;font:700 16px/1.3 var(--serif);letter-spacing:-.01em;color:var(--brand)}
.ab-toc__label small{margin-left:6px;font:500 10px/1 var(--mono);letter-spacing:.05em;color:var(--ink-3)}
.ab-toc a{display:block;padding:10px 0;border-bottom:1px solid var(--line);
          font-size:13.5px;font-weight:500;color:var(--ink-2)}
.ab-toc a:last-child{border-bottom:0}
.ab-toc a:hover{color:var(--brand)}
.ab-toc a[aria-current]{color:var(--brand);font-weight:700}
main#main-content{min-width:0;padding-bottom:40px}
.ab-hero,.ab-sec,.ab-chap,.ab-legal{scroll-margin-top:96px}
#main-content{--fs-lead:15px;--fs-body:14px;--fs-sub:13px;--fs-meta:13px}

.ab-eyebrow{font:600 15px/1.4 var(--mono);letter-spacing:.14em;color:var(--brand)}
.ab-eyebrow span{margin-left:4px;color:var(--ink-3)}
.ab-num{font:600 11px/1 var(--mono);color:var(--brand);font-variant-numeric:tabular-nums}
.ab-label{margin:28px 0 12px;font:700 12px/1.4 var(--sans);letter-spacing:.12em;color:var(--ink-3)}
.ab-label:first-child{margin-top:0}
.ab-body{font-size:var(--fs-body);line-height:1.9;color:var(--ink-2);margin-bottom: 15px;}
.ab-body--wide{max-width:780px;margin-bottom:30px}
.ab-note{margin-top:14px;font-size:var(--fs-meta);line-height:1.75;color:var(--ink-3)}
.ab-chip{flex:none;padding:2px 7px;border:1px solid var(--line);border-radius:2px;
         font:500 11px/1.4 var(--sans);font-style:normal;color:var(--ink-3)}
.ab-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;background:var(--brand);color:var(--dark-text);
        border-radius:var(--r);font-size:13.5px;font-weight:600;white-space:nowrap}
.ab-btn:hover{background:var(--brand-deep);color:var(--dark-text)}
.ab-btn--line{margin-top:22px;background:transparent;color:var(--brand);border:1px solid var(--brand)}
.ab-btn--line:hover{background:var(--brand);color:var(--dark-text)}
.ab-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:start}

.ab-sec{padding:56px 0 8px}
.ab-head{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:20px;
         padding-bottom:16px;margin-bottom:0px;border-bottom:1px solid var(--ink)}
.ab-head .ab-eyebrow{grid-column:1/-1;margin-bottom:8px}
.ab-head h2{font:700 26px/1.2 var(--serif);letter-spacing:-.01em}
.ab-head__note{font-size:var(--fs-meta);color:var(--ink-3)}

.ab-hero{padding-top:6px}
.ab-hero__title{margin:18px 0 26px;font:700 40px/1.35 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.ab-hero__text{padding-top:2px;}
.ab-hero__text p{font:500 var(--fs-lead)/1.75 var(--serif);padding-bottom:10px; }

.ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;
          border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.ab-stats li{padding:22px 22px 20px}
.ab-stats li:first-child{padding-left:0}
.ab-stats li + li{border-left:1px solid var(--line)}
.ab-stats b{display:block;font:700 36px/1.1 var(--serif);color:var(--brand);font-variant-numeric:tabular-nums}
.ab-stats span{display:block;margin-top:10px;font-size:12.5px;color:var(--ink-3)}

.ab-series{margin-bottom:20px;text-align: center;}
.ab-series__title{margin-bottom:15px;font:700 15px/1.3 var(--serif)}
.ab-series__title small{margin-left:8px;font:600 10.5px/1 var(--mono);letter-spacing:.12em;color:var(--ink-3)}
.ab-series ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ab-series a{position:relative;display:flex;flex-direction:column;height:100%;padding:20px 20px 18px;background:var(--card);
             transition:background .15s}
.ab-series a:hover{background:var(--sunk)}
.ab-series img{width:auto;height:40px;max-width:130px;object-fit:contain;object-position:left center;margin:10px auto 10px}
.ab-series b{font:bold 19px/3 var(--serif);color:var(--ink);height:60px;}
.ab-series small{margin-top:4px;font-size:12.5px;color:var(--ink-3)}
.ab-series i{position:absolute;top:18px;right:18px;font-style:normal;font-size:14px;color:var(--ink-3);transition:transform .15s,color .15s}
.ab-series a:hover i{color:var(--brand);transform:translateY(3px)}
.ab-series a:hover b{color:var(--brand)}

.ab-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.ab-fields li{display:grid;align-content:start;grid-template-columns:28px minmax(0,1fr);row-gap:6px;padding:16px 0;border-bottom:1px solid var(--line)}
.ab-fields .ab-num{padding-top:5px}
.ab-fields h3{font:700 16px/1.4 var(--serif)}
.ab-sectors-img{margin:8px auto 0;text-align:center}
.ab-sectors-img img{display:block;width:100%;max-width:560px;height:auto;margin:0 auto}
.ab-fields p{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 0;font-size:var(--fs-sub);color:var(--ink-2)}
.ab-fields p span + span::before{content:"/";margin:0 9px;color:var(--line-2)}

.ab-chap{margin-top:60px;padding-top:10px}
.ab-chap__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:26px;
               padding:5px 0 10px;margin-bottom:5px;border-top:4px solid var(--ink);border-bottom:1px solid var(--line)}
.ab-chap__head h2{margin:8px 0 6px;font:700 34px/1.15 var(--serif);letter-spacing:-.01em}
.ab-chap__slogan{font:500 15px/1.5 var(--serif);color:var(--ink-3)}
.ab-chap__logo{width:auto;height:56px;max-width:160px;object-fit:contain}

.ab-text{padding-top:24px}
.ab-text p{font-size:var(--fs-body);line-height:1.9;color:var(--ink-2)}
.ab-text p + p{margin-top:12px}
.ab-text__link{display:inline-block;margin-top:16px;padding-bottom:2px;border-bottom:1px solid currentColor;
               font-size:14px;font-weight:600;color:var(--brand)}
.ab-text__link:hover{color:var(--brand-deep)}
.ab-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:32px}
.ab-item{padding:20px 0 22px;border-top:1px solid var(--line)}
.ab-item--wide{grid-column:1/-1}
.ab-item__head{align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.ab-item__head h3{font:700 17px/1.4 var(--serif);color:var(--ink)}
.ab-item__head h3 small{margin-left:10px;font:400 12.5px/1 var(--sans);color:var(--ink-3)}
.ab-item__head img{flex:none;width:auto;height:24px}
.ab-item p{font-size:var(--fs-sub);line-height:1.85;color:var(--ink-2)}
.ab-item p + p{margin-top:10px}
.ab-wechat{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:0 48px;align-items:start}
.ab-accounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;background:var(--sunk);padding:18px 15px}
.ab-accounts li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
                font-size:14px;font-weight:500;color:var(--ink)}
.ab-accounts img{flex:none;width:80px;height:80px;box-sizing:content-box;padding:4px;background:#fff;border:1px solid var(--line)}
.ab-accounts span{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}
.ab-accounts small{font:400 12px/1.2 var(--sans);color:var(--ink-3);overflow-wrap:anywhere}

.ab-boao{;background:var(--sunk);color:var(--ink);border-radius:var(--r);overflow:hidden}
.ab-boao__side{display:flex;flex-direction:column;align-items:flex-start;padding:30px 28px;background:var(--brand)}
.ab-boao__logo{width:auto;height:52px;box-sizing:content-box;padding:8px 10px;background:var(--card);border-radius:var(--r)}
.ab-boao__num{display:flex;align-items:flex-end;gap:8px;margin-top:auto;padding-top:30px}
.ab-boao__num b{font:700 88px/.8 var(--serif);letter-spacing:-.04em}
.ab-boao__num span{font-size:13px;line-height:1.45;opacity:.9}
.ab-boao__since{margin-top:12px;font:600 11px/1 var(--mono);letter-spacing:.14em;opacity:.8}
.ab-boao__main{padding:32px 36px 34px}
.ab-eyebrow--dark{color:var(--brand-on-dark)}
.ab-boao__lead{margin:10px 0 0px;font:400 var(--fs-lead)/1.55 var(--serif);color:var(--ink);}
.ab-boao__more{margin:7px 0 0px;font:400 var(--fs-lead)/1.55 var(--serif);color:var(--ink);}

.ab-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;margin-top:8px}
.ab-programs li{display:grid;align-content:start;grid-template-columns:30px minmax(0,1fr);padding:20px 0 18px;border-bottom:1px solid var(--line)}
.ab-programs .ab-num{padding-top:5px}
.ab-programs h4{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:7px;font:700 16.5px/1.4 var(--serif)}
.ab-programs p{grid-column:2;font-size:var(--fs-sub);line-height:1.85;color:var(--ink-2)}

.ab-subchap{display:flex;align-items:center;gap:18px;margin:56px 0 6px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ab-subchap img{width:auto;height:44px;max-width:180px;object-fit:contain}
.ab-subchap h3{margin-top:4px;font:700 22px/1.3 var(--serif)}
.ab-subchap h3 small{margin-left:10px;font:400 13px/1 var(--sans);color:var(--ink-3)}
.ab-subchap__count{margin-left:auto;font:600 12px/1 var(--mono);color:var(--ink-3)}

.ab-forums > div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:15px 0;border-bottom:1px solid var(--line)}
.ab-forums dt b{display:block;font:700 16px/1.5 var(--serif)}
.ab-forums dt small{display:block;margin-top:4px;font-size:12px;color:var(--brand)}
.ab-forums dd{font-size:var(--fs-sub);line-height:1.85;color:var(--ink-2)}

.ab-subchap + .ab-body--wide{margin-top:20px}
.ab-academy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ab-academy li{padding:24px 24px 26px;background:var(--card)}
.ab-academy__year{display:flex;align-items:baseline;gap:6px;font:700 30px/1 var(--serif);color:var(--brand);font-variant-numeric:tabular-nums}
.ab-academy__year small{font:500 12px/1 var(--sans);color:var(--ink-3)}
.ab-academy h4{margin:14px 0 8px;font:700 19px/1.3 var(--serif)}
.ab-academy p{font-size:var(--fs-sub);line-height:1.85;color:var(--ink-2)}

.ab-sec--contact{margin-top:60px}
.ab-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0px;align-items:start;padding-top:26px}
.ab-reach__label{margin:20px 0 4px;font-size:var(--fs-meta);letter-spacing:.08em;color:var(--ink-3)}
.ab-reach__label:first-child{margin-top:0}
.ab-reach__big{display:block;font:700 32px/1.25 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}
.ab-reach__mail{display:block;font:600 18px/1.4 var(--sans);color:var(--ink)}
.ab-reach a:hover{color:var(--brand)}
.ab-offices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ab-offices li{padding:10px 20px;background:var(--card)}
.ab-offices li.is-hq{grid-column:1/-1;background:var(--sunk);box-shadow:inset 3px 0 0 var(--brand)}
.ab-offices h3{display:flex;align-items:center;gap:8px;margin-bottom:6px;font:700 17px/1.3 var(--serif)}
.ab-hq{padding:3px 6px;border-radius:2px;background:var(--brand);color:var(--dark-text);font:600 10.5px/1 var(--sans)}
.ab-offices address{font-style:normal;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.ab-zip{display:block;margin-top:4px;font:11px/1.5 var(--mono);color:var(--ink-3)}
.ab-subscribe{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:32px;margin-top:28px;border: 1px solid #ddd;
              padding:22px 26px;background:var(--sunk);border-radius:var(--r)}
.ab-subscribe h3{margin-bottom:4px;font:700 18px/1.3 var(--serif)}
.ab-subscribe p{font-size:var(--fs-sub);line-height:1.7;color:var(--ink-2)}
.ab-subscribe .ab-rss{font-size:var(--fs-meta);color:var(--ink-3);white-space:nowrap}
.ab-rss a{margin-left:12px;color:var(--brand);font-weight:600}
.ab-rss a:hover{color:var(--brand-deep)}

.ab-head + .ab-body{margin-top:16px}
.ab-body + .ab-subscribe{margin-top:20px}

.ab-appendix{margin-top:80px;padding-top:22px;}
.ab-appendix__label{margin-bottom:6px;font:700 13px/1 var(--serif);color:var(--ink-3)}
.ab-appendix__label span{margin-left:8px;font:600 10.5px/1 var(--mono);letter-spacing:.12em}
.ab-legal{padding-top:100px}
.ab-appendix > .ab-legal:first-child{padding-top:24px}
.ab-legal > .ab-head + *{margin-top:10px}
.ab-legal__intro{margin-bottom:14px;font-size:var(--fs-body);line-height:1.9;color:var(--ink-2)}
.ab-marks{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-bottom:0px;padding:16px 20px;
          background:var(--sunk);border-radius:var(--r)}
.ab-marks img{width:auto;height:24px;filter:brightness(0);opacity:.82}
.ab-docs{}
.ab-doc{border-bottom:1px solid var(--line)}
.ab-doc summary{display:flex;align-items:center;gap:10px;padding:12px 0;cursor:pointer;
                font:600 16px/1.4 var(--sans);list-style:none}
.ab-doc summary::-webkit-details-marker{display:none}
.ab-doc summary::before{content:"+";flex:none;width:16px;font:400 15px/1 var(--mono);color:var(--brand)}
.ab-doc[open] summary::before{content:"−"}
.ab-doc summary:hover,.ab-doc[open] summary{color:var(--ink)}
.ab-doc__body{padding:2px 0 18px 26px}
.ab-doc__body p{font-size:var(--fs-body);line-height:1.9;color:var(--ink-2)}
.ab-doc__body p + p{margin-top:10px}
.ab-doc__intro{margin-bottom:12px}
.ab-doc__item + .ab-doc__item{margin-top:12px}
.ab-doc__body .enum-line{display:block;margin-top:4px;padding-left:2.2em;text-indent:-2.2em}
.ab-doc__item b{display:block;margin-bottom:3px;font:bold 14px/1.4 var(--serif);color:var(--ink)}
