/* r59 page styles for the resources group (resources, resources/custody, resources/release-gate, resources/sample-passport,
   standards/order-level-coa-traceability, standards/supplier-packet-diligence, tools). Owned by the resources agent only;
   shared components live in site3.css. Every rule is scoped to body.r59r, which only these seven pages carry. */
/* ---------- the article hero: a mono kicker over the headline, quiet meta chips ---------- */
.pg.r59r .art-hero .art-kicker{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8b8b93;margin:0 0 22px}
.pg.r59r .art-hero h1{max-width:900px!important}
.pg.r59r .art-meta{margin-top:32px;gap:8px}
.pg.r59r .art-meta span{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1);border-radius:12px;padding:11px 16px}
.pg.r59r .art-meta small{color:#8b8b93!important}
.pg.r59r .art-meta b{color:#e8e8ea;font-weight:500}
/* ---------- the rail: numbered contents, the reader's place marked ---------- */
.pg.r59r .art-toc a{-webkit-line-clamp:2}
.pg.r59r .art-toc a .n{font:500 11px/1 var(--mono);letter-spacing:.04em;color:#a1a1aa;margin-right:8px}
.pg.r59r .art-toc a.on{border-left-color:#131313!important}
.pg.r59r .art-toc a.on .n{color:#131313}
.pg.r59r .art-cta .btn+.btn{margin-top:8px}
/* ---------- article body: a mono section label, a lead sentence that answers the heading ---------- */
.pg.r59r .art-sec{padding-bottom:64px;margin-bottom:64px}
.pg.r59r .art-sec .overline{font:500 11px/1.4 var(--mono)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#71717a!important;margin:0 0 14px!important}
.pg.r59r .art-sec h2{margin-bottom:14px!important;max-width:30ch}
.pg.r59r .art-sec p.art-lead{font:400 20px/31px var(--sans)!important;letter-spacing:-.012em;color:var(--ink)!important;margin:0 0 20px!important;max-width:60ch}
.pg.r59r .art-sec h3{margin:32px 0 8px!important}
.pg.r59r .art-sec p b,.pg.r59r .art-sec li b{font-weight:500;color:var(--ink)}
.pg.r59r .art-sec a:not(.btn){color:var(--blue);text-decoration:none}
.pg.r59r .art-sec a:not(.btn):hover{color:var(--ink)}
.pg.r59r .art-sec ul{padding-left:0;list-style:none;margin:8px 0 20px}
.pg.r59r .art-sec ul li{position:relative;padding-left:20px;margin:0 0 10px}
.pg.r59r .art-sec ul li::before{content:"";position:absolute;left:2px;top:13px;width:8px;height:1.5px;background:#a1a1aa}
.pg.r59r .art-fig{margin:4px 0 0}
.pg.r59r .art-sec .art-fig{margin:28px 0 8px}
.pg.r59r .art-fig picture{display:block}
/* ---------- tables: the comparison and standards tables the old pages flattened into prose ---------- */
/* ---------- a fact box: the rule or the arithmetic, quoted as the product states it ---------- */
.pg.r59r .art-note{margin:24px 0 28px;padding:20px 22px;border:1px solid #e6e6e8;border-radius:12px;background:#fff}
.pg.r59r .art-note .lbl{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#71717a;margin:0 0 10px}
.pg.r59r .art-note p{margin:0 0 10px!important;font:400 16px/26px var(--sans)!important;color:var(--ink)!important;max-width:none}
.pg.r59r .art-note p:last-child{margin-bottom:0!important}
.pg.r59r .art-note code{font:500 13.5px/24px var(--mono);color:var(--ink);background:#f4f4f5;border-radius:6px;padding:2px 7px;white-space:nowrap}
.pg.r59r .art-sec blockquote{margin:24px 0 24px;padding:2px 0 2px 20px;border:0;border-left:2px solid #131313;background:none;border-radius:0;font:400 19px/30px var(--sans);letter-spacing:-.012em;color:var(--ink)}
.pg.r59r .art-sec blockquote cite{display:block;margin-top:10px;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#71717a;font-style:normal}
/* ---------- numbered steps and run-in lists ---------- */
.pg.r59r .art-runin p{margin:0 0 14px!important}
/* ---------- the close: where to go next, the demo, the product page ---------- */
.pg.r59r .art-next{margin:0;padding:28px 28px 26px;border:1px solid #e6e6e8;border-radius:16px;background:#fff}
.pg.r59r .art-next .lbl{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#71717a;margin:0 0 12px}
.pg.r59r .art-next h2{font:500 26px/32px var(--sans)!important;letter-spacing:-.02em!important;margin:0 0 10px!important}
.pg.r59r .art-next p{margin:0 0 20px!important;font:400 16px/26px var(--sans)!important;color:#52525b!important}
.pg.r59r .art-next .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pg.r59r .pg-light a.btn.ghost{background:#fff!important;color:var(--ink)!important;border-color:#dcdce0!important}
.pg.r59r .pg-light a.btn.ghost:hover{background:#f4f4f5!important}
.pg.r59r .art-next .more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 0;padding:20px 0 0;border-top:1px solid #efeff1}
.pg.r59r .art-next .more a{display:block;padding:14px 16px;border:1px solid #efeff1;border-radius:12px;text-decoration:none;transition:border-color .2s}
.pg.r59r .art-next .more a:hover{border-color:#cfcfd4}
.pg.r59r .art-next .more small{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a1a1aa}
.pg.r59r .art-next .more b{display:block;font:500 15px/22px var(--sans);color:var(--ink);margin-top:4px}
@media (max-width:767px){
  .pg.r59r .art-next{padding:22px 18px}
  .pg.r59r .art-next .more{grid-template-columns:1fr}
  .pg.r59r .art-next .row .btn{flex:1 1 auto}
}
/* ---------- the library ---------- */
.pg.r59r .lib-hero .pg-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px!important}
.pg.r59r .pg-dark .pg-ctas a.sec{background:transparent!important;color:#f5f5f6!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important}
.pg.r59r .pg-dark .pg-ctas a.sec:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)!important}
.pg.r59r .lib-lead .rc-art,.pg.r59r .lib-sec .rc .rc-art{position:relative}
/* r89: covers are drawn at card size (one large lit card), so they show whole; the old 135% zoom cropped them mid-word */
.pg.r59r .lib-lead .rc-art img,.pg.r59r .lib-sec .rc .rc-art img,.pg.r59r .related .rc-art img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover}
.pg.r59r .related .rc-art{position:relative}
.pg.r59r .rc .rc-for{margin-top:auto!important;padding-top:14px!important;font:400 13px/19px var(--sans)!important;color:#71717a!important}
.pg.r59r .rc .rc-for::before{content:"Read if";display:block;font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a1a1aa;margin-bottom:3px}
.pg.r59r .lib-sec.dark .rc .rc-for{color:#a1a1aa!important}
.pg.r59r .lib-sec .rc{min-height:100%}
.pg.r59r .lib-sec .rc p:not(.rc-for){margin-bottom:0!important}
/* reading paths by role */
.pg.r59r .lib-paths .lp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px}
.pg.r59r .lp{display:flex;flex-direction:column;background:#fff;border:1px solid #e6e6e8;border-radius:16px;padding:24px 22px 18px}
.pg.r59r .lp small{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#71717a}
.pg.r59r .lp b{display:block;font:500 18px/25px var(--sans);letter-spacing:-.014em;color:var(--ink);margin:10px 0 18px;text-wrap:balance}
.pg.r59r .lp ol{list-style:none;counter-reset:lp;margin:auto 0 0;padding:0;border-top:1px solid #efeff1}
.pg.r59r .lp li{counter-increment:lp;border-bottom:1px solid #efeff1}
.pg.r59r .lp li:last-child{border-bottom:0}
.pg.r59r .lp li a{display:flex;gap:12px;align-items:baseline;padding:11px 0;font:400 15px/21px var(--sans);color:var(--ink-2);text-decoration:none}
.pg.r59r .lp li a::before{content:counter(lp,decimal-leading-zero);font:500 11px/1 var(--mono);letter-spacing:.04em;color:#a1a1aa;flex:none;width:18px}
.pg.r59r .lp li a:hover{color:var(--blue)}
@media (max-width:1100px){
  .pg.r59r .lib-paths .lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .pg.r59r .lib-paths .lp-grid{grid-template-columns:1fr}
  .pg.r59r .lib-hero .pg-ctas a{justify-content:center}
}
.pg.r59r .lib-sec{scroll-margin-top:110px}
.pg.r59r .lib-head{align-items:flex-end}
/* ---------- tools: the spec table and the offline list ---------- */
.pg.r59r .r59-spec{max-width:1290px;margin:0 auto;padding:var(--sec-y) var(--wrappad) 0;box-sizing:content-box}
.pg.r59r .r59-spec .sp-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:96px;align-items:start}
.pg.r59r .r59-spec .sp-head h2{font:500 44px/48px var(--sans);letter-spacing:-.022em;color:var(--ink);margin:0;text-wrap:balance}
.pg.r59r .r59-spec .sp-head p{font:400 18px/28px var(--sans);letter-spacing:-.011em;color:var(--muted);margin:6px 0 0}
@media (max-width:991px){
  .pg.r59r .r59-spec .sp-head{grid-template-columns:1fr}
  .pg.r59r .r59-spec .sp-head p{margin-top:16px}
}
@media (max-width:767px){
  .pg.r59r .r59-spec .sp-head h2{font-size:32px;line-height:36px}
}
/* the lone feature card (one card in a section): its "Read if" line takes the row under the paragraph */
@media (min-width:992px){
  .pg.r59r .lib-sec .rc:only-child .rc-for{grid-column:2;grid-row:5;align-self:start;margin-top:18px!important}
  .pg.r59r .lib-sec .rc:only-child{grid-template-rows:1fr auto auto auto auto 1fr}
}
.pg.r59r .lib-hero .pg-ctas{justify-content:flex-start!important}
/* library and related cards zoom further than the lead, so the lit card reads at card size */
.pg.r59r .lib-sec .rc .rc-art img,.pg.r59r .related .rc-art img{left:-55%;top:-27.5%;width:155%!important;height:155%!important}
/* r60: the hero's opening statement can carry a second paragraph (the old lede, folded in) */
.pg .sh-intro p+p:not(.sh-src){margin-top:14px!important}
/* r60: on article pages the opening statement sits above the article; give the article its own start */
.pg .sh-intro+.art-wrap{padding-top:96px!important}
@media (max-width:767px){
  .pg .sh-intro+.art-wrap{padding-top:56px!important}
}

/* ===== r60 Part 3: the bespoke tables, grids, steps and calculations on these pages moved to the shared components in
   site3.css (.vt .vt--ba .vc .vl .vs .vg). What is left here: kickers as sentence-case labels, the citation line under a
   table row's name, a quiet role line in a text grid, the boundary as one plain line, and spacing around the components. ===== */
.pg .pf-k,.pg .sx-over,.pg .t-k,.pg .cx-over,.pg .art-sec>.overline{font:500 14px/20px Inter,sans-serif!important;letter-spacing:-.006em!important;text-transform:none!important;color:#71717a!important}
.pg .vt th[scope=row] small{display:block;margin-top:2px;font:400 14px/20px Inter,sans-serif;letter-spacing:-.006em;color:#3f3f46}
.pg .vg .vg-role{margin-top:2px!important;font:400 14px/20px Inter,sans-serif!important;color:#71717a!important}
.pg .vg ul{margin:10px 0 0;padding-left:18px;font:400 15px/24px Inter,sans-serif;color:#52525b}
.pg .vg ul li::marker{color:#a1a1aa}
.pg .vg .disc{display:inline-block;margin-top:12px}
.pg .vg h3 .vst{font:inherit}
.pg .vt,.pg .vg,.pg .vs,.pg .vl,.pg .vc{margin-top:var(--head-to-content,40px)}
.pg .vc .vl,.pg .vc .vt,.pg .vc-eq{margin-top:0!important}
.pg .art-sec .vc-total,.pg .art-sec .vc p{max-width:none}
.pg .sx-case-grid .vs,.pg .vg .vl,.pg .art-sec .vt,.pg .art-sec .vs,.pg .art-sec .vl{margin-top:24px}
.pg .t-two>div,.pg .cx-two>div,.pg .pf-said,.pg .art-note{border:0!important;border-top:1px solid #e6e6e8!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:20px 0 0!important}
.pg .t-two,.pg .cx-two{gap:40px 32px!important}
.pg .rc small,.pg .lp small,.pg .sx-role-body small,.pg .art-next .lbl,.pg .art-sec cite,.pg .pf-sys i,.pg .sx-rows-sec .overline,.pg .sx-rows-sec .frow-copy .overline,.pg .art-note .lbl,.pg .art-next small{font:500 13px/20px Inter,sans-serif!important;letter-spacing:-.006em!important;text-transform:none!important;color:#71717a!important;font-style:normal!important}
.pg .art-toc .n,.pg .art-sec h2 .n{display:none!important}
/* plain lists (VIBE 4(l)): native bullets in a quiet grey, no drawn dashes or squares; chips become a plain list */
.pg .t-copy ul,.pg .art-sec ul,.pg .cx-two ul,.pg .sx-role ul,.pg .t-two ul{list-style:disc!important;padding-left:20px!important}
.pg .t-copy li::before,.pg .art-sec ul li::before,.pg .cx-two li::before,.pg .sx-role li::before{content:none!important;display:none!important}
.pg .t-copy li,.pg .art-sec ul li,.pg .cx-two li,.pg .sx-role li,.pg .t-two li{padding-left:2px!important}
.pg .t-copy li::marker,.pg .art-sec ul li::marker,.pg .cx-two li::marker,.pg .sx-role li::marker,.pg .t-two li::marker{color:#a1a1aa}
.pg .cx-chips{gap:6px 20px!important}
.pg .cx-chips li{border:0!important;border-radius:0!important;background:none!important;padding:0!important;color:#3f3f46!important}
/* text-grid columns as classes: an inline --cols would beat the breakpoints and keep four columns on a phone */
.pg .vg.c2{--cols:2}.pg .vg.c3{--cols:3}.pg .vg.c4{--cols:4}
@media (max-width:991px){.pg .vg.c3,.pg .vg.c4{--cols:2}}
@media (max-width:599px){.pg .vg.c2,.pg .vg.c3,.pg .vg.c4{--cols:1}}
.pg .bnd-line{max-width:1290px;margin:0 auto;padding:var(--sec-y,96px) var(--wrappad,75px) 0;box-sizing:content-box}
.pg .bnd-line p{max-width:62ch;margin:0;padding-top:20px;border-top:1px solid #e6e6e8;font:400 17px/27px Inter,sans-serif;letter-spacing:-.011em;color:#52525b}
.pg .bnd-line b{font-weight:500;color:#131313}
@media (max-width:767px){.pg .bnd-line{padding:64px 20px 0}.pg .bnd-line p{font-size:16px;line-height:25px}}
