/* H8b BID TOOLS (add-ons 2, 3, 9, 11, 12). Family rules only: every colour is a core token (static/d/system.css); no colour
   literal lives here. State elements take .is-ga / .is-tn (--c, --c-ink, --c-deep, --c-1..3). Gold is for prices. No underlines;
   focus keeps the core's outline. Nothing here is the red action. */
.bt{display:grid;gap:16px;margin-block:28px}
.bt a,.bt-head a,.bt-col a,.bt-two a{text-decoration:none}
.bt-card{display:grid;gap:10px;padding:20px;background:var(--sheet);border:1px solid var(--rule);border-radius:8px;min-width:0}
.bt-card .small,.bt-card .fine{margin:0;max-width:66ch}
.bt-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0}
.bt-quote{display:block;padding:8px 12px;border-left:2px solid var(--rule-2);color:var(--ink-2);font-size:var(--fs-small);line-height:1.5;quotes:"\201C" "\201D";overflow-wrap:anywhere}
.bt-quote::before{content:open-quote}.bt-quote::after{content:close-quote}
/* a citation: the document, its page, the day we copied it. One line of running text (the core's .datum is a flex row for an icon). */
.bt-cite{display:block;margin:0;font-size:var(--fs-fine);line-height:18px;color:var(--ink-3);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bt-cite a{color:var(--ink-2)}
/* BID23 N6: a document's file name is a 44px tap target on a phone */
@media (max-width:719px){.bt-cite a{display:inline-flex;align-items:center;min-height:44px}}
@media (hover: hover) and (pointer: fine){.bt-cite a:hover{color:var(--link-hover)}}
/* the bond line on the bid page */
.bt-bonds{list-style:none;margin:0;padding:0;display:grid;gap:0}
.bt-bond{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 0;border-top:1px solid var(--rule)}
.bt-bond:first-child{border-top:0;padding-top:0}
.bt-bond-k{font-size:var(--fs-label);line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.bt-bond-a b{font-size:var(--fs-block);line-height:1.2;color:var(--ink);font-weight:650}
.bt-bond-a i{font-style:normal;color:var(--ink-2)}
.bt-required .bt-bond-a b{color:var(--ink)}
.bt-none .bt-bond-a b{color:var(--ink)}
.bt-conditional .bt-bond-a b{color:var(--gold-ink)}
@media (min-width:768px){
  .bt-bond{grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:24px}
  .bt-bond-k{grid-row:span 3;padding-top:5px}
}
/* past prices + who else */
.bt-awards,.bt-winners{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bt-awards li{display:grid;gap:3px;padding-top:12px;border-top:1px solid var(--rule)}
.bt-awards li:first-child{border-top:0;padding-top:0}
.bt-aw-t{font-weight:600;color:var(--ink)}
.bt-aw-l{color:var(--ink-2)}
.bt-aw-l i,.bt-award-amt .fine{font-style:normal;color:var(--ink-2)}
.bt-firms{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bt-firms li{padding:4px 10px;border-radius:999px;background:var(--c-1,var(--well));border:1px solid var(--c-3,var(--rule));color:var(--ink);font-size:var(--fs-fine);line-height:1.35;overflow-wrap:anywhere}
.bt-winners li{color:var(--ink-2);font-size:var(--fs-small)}
.bt-winners b{color:var(--ink)}
.bt-sub{margin:8px 0 0}
/* ---- pages ---- */
.bt-head .wrap{display:grid;gap:16px}
.bt-head .label a{color:inherit}
@media (hover: hover) and (pointer: fine){.bt-head .label a:hover{color:var(--ink)}}
.bt-head h1,.bt-head .lede{margin:0}
.bt-head .lede{max-width:58ch}
.bt-plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,240px));gap:12px;margin-top:8px}
.bt-plates .plate{--c:var(--c-ink,var(--ink))}
.bt-date{font-size:clamp(20px,3.4vw,28px)}
/* the reading column: inside the core's .wrap (so the page margins hold), under the headline */
.bt-col{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);justify-items:start}
.bt-col>*{margin:0;min-width:0;width:100%;max-width:880px}
.bt-gate{padding:20px;border:1px solid var(--rule);border-radius:8px;display:grid;gap:12px}
.bt-gate p{margin:0}
/* awards: the scale strip */
.bt-strip{position:relative;margin:24px 0 8px;padding:0 6px}
.bt-strip-line{position:relative;height:56px;border-bottom:2px solid var(--gold-ink)}
.bt-strip-line i{position:absolute;bottom:0;width:2px;height:40px;margin-left:-1px;background:var(--gold-deep);opacity:.55;border-radius:1px}
.bt-strip-ticks{position:relative;height:28px;font-size:var(--fs-fine);color:var(--ink-2)}
.bt-strip-ticks span{position:absolute;top:6px;transform:translateX(-50%);white-space:nowrap}
.bt-strip-ticks span:first-child{transform:none}
.bt-strip-ticks span:last-child{transform:translateX(-100%)}
.bt-strip-ticks span::before{content:"";position:absolute;left:50%;top:-8px;width:1px;height:6px;background:var(--gold-ink)}
.bt-strip-ticks span:first-child::before{left:0}.bt-strip-ticks span:last-child::before{left:100%}
.bt-strip-cap{margin:8px 0 0;max-width:70ch}
@media (max-width:520px){.bt-strip-ticks span:nth-child(even):not(:last-child),.bt-strip-ticks span:nth-last-child(2):nth-child(odd){display:none}}
.bt-two{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
.bt-agencies ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bt-agencies a{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;color:var(--ink);font-size:var(--fs-fine);background:var(--sheet)}
@media (hover: hover) and (pointer: fine){.bt-agencies a:hover{border-color:var(--c-ink,var(--ink-2))}}
.bt-agencies a[aria-current]{background:var(--c-2,var(--well));border-color:var(--c-ink,var(--ink-2));font-weight:600}
.bt-agencies .num{color:var(--ink-2)}
.bt-agencies .bt-limit{margin:6px 0 0;max-width:46ch;color:var(--ink-2)}
@media (min-width:1024px){
  .bt-two{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}
  /* a plain column, no scroll of its own: a scrolling box is a keyboard stop in Firefox that is neither a link nor a control */
  .bt-agencies{align-self:start}
  .bt-agencies ul{flex-direction:column;flex-wrap:nowrap}
  .bt-agencies a{justify-content:space-between;border-radius:8px;width:100%}
}
.bt-rows{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bt-award{display:grid;gap:12px;padding:18px 18px 18px 20px;border-radius:8px;grid-template-columns:minmax(0,1fr)}
/* a row's title is the agency's own wording (data), set as a strong line, not a page heading */
.bt-t{margin:0;color:var(--ink);overflow-wrap:anywhere}
.bt-award p{margin:4px 0 0}
.bt-won b{color:var(--ink)}
.bt-award-amt{display:grid;gap:2px;align-content:start}
.bt-award-amt .num{font-size:clamp(22px,3vw,30px);line-height:1.1;font-weight:650}
@media (min-width:768px){.bt-award{grid-template-columns:minmax(0,1fr) minmax(150px,auto)}.bt-award-amt{text-align:right;justify-items:end}}
.bt-pager{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:20px}
/* teaming */
.bt-board,.bt-reg,.bt-questions,.bt-bondcards{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.bt-bid{display:grid;gap:14px;padding:20px;border-radius:8px;grid-template-columns:minmax(0,1fr)}
.bt-bid-n{display:flex;align-items:baseline;gap:8px}
.bt-bid-n .num{font-size:clamp(34px,6vw,54px);line-height:1;font-weight:650;color:var(--c-deep,var(--ink))}
.bt-bid-b{display:grid;gap:8px;min-width:0}
.bt-bid-b>*{margin:0}
.bt-bid-b .bt-t{font-size:var(--fs-lede);line-height:1.25}
.bt-bid-b .bt-t a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
@media (hover: hover) and (pointer: fine){.bt-bid-b .bt-t a:hover{color:var(--link-hover)}}
@media (min-width:768px){.bt-bid{grid-template-columns:120px minmax(0,1fr)}.bt-bid-n{flex-direction:column;gap:2px}}
/* questions */
.bt-when{display:grid;gap:12px;margin-top:4px}
.bt-when-c{display:grid;gap:6px;padding:16px 18px;background:var(--sheet);border:1px solid var(--rule);border-radius:8px;max-width:560px}
.bt-when-c b{font-size:var(--fs-block);line-height:1.25;color:var(--ink)}
.bt-kinds{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bt-where{padding:18px;border-radius:8px;display:grid;gap:8px}
.bt-where p{margin:0}
.bt-q{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:20px;border-radius:8px}
.bt-q-i{font-size:clamp(34px,6vw,56px);line-height:1;font-weight:600;color:var(--ghost);font-variant-numeric:tabular-nums}
.bt-q-b{display:grid;gap:8px;min-width:0}
.bt-q-b p{margin:0}
.bt-q-text{overflow-wrap:anywhere}
@media (min-width:768px){.bt-q{grid-template-columns:72px minmax(0,1fr)}}
.bt-copy{display:inline-flex;align-items:center;min-height:44px;margin-left:8px;padding:0 14px;border:1px solid var(--control-edge);border-radius:999px;background:var(--sheet);color:var(--ink);font:inherit;font-size:var(--fs-fine);cursor:pointer}
@media (hover: hover) and (pointer: fine){.bt-copy:hover{border-color:var(--ink)}}
.bt-copy[data-done]{color:var(--ink);border-color:var(--ink)}
@media (max-width:520px){.bt-cite .bt-copy{display:flex;width:fit-content;margin:8px 0 0}}
.fine .bt-own{display:flex;width:fit-content}
/* bond page */
.bt-bondcards{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.bt-bondcards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.bt-bc{display:grid;gap:8px;padding:22px;border-radius:8px;align-content:start;border-top:3px solid var(--rule-2);min-width:0}
.bt-bc p{margin:0}
.bt-bc.bt-required{border-top-color:var(--c,var(--rule-2))}
.bt-bc.bt-none{border-top-color:var(--ink)}
.bt-bc.bt-conditional{border-top-color:var(--gold)}
.bt-bc-fig .num{font-size:clamp(52px,9vw,88px);line-height:.95;font-weight:600;letter-spacing:-.02em;color:var(--c-deep,var(--ink))}
.bt-conditional .bt-bc-fig .num{color:var(--gold-deep)}
.bt-bc-word{font-size:clamp(26px,3.6vw,34px);line-height:1.1;font-weight:650;color:var(--ink)}
.bt-none .bt-bc-word{color:var(--ink)}
.bt-bc-word.bt-quiet{color:var(--ink-2)}
.bt-one{max-width:880px;border-top-color:var(--rule-2)}
.bt-one-s{color:var(--ink);font-weight:600}
.bt-back{margin-top:20px}
/* the guide: the find box and the folded groups */
.bt-find{display:grid;gap:8px;max-width:560px}
.bt-find input{min-height:52px;padding:0 14px;border:1px solid var(--control-edge);border-radius:6px;background:var(--sheet);color:var(--ink);font:inherit;width:100%}
.bt-find input::placeholder{color:var(--ink-3)}
.bt-find p{margin:0;min-height:20px}
.bt-fold{border-top:1px solid var(--rule-2);padding-top:8px;display:grid;gap:14px}
.bt-fold>summary{display:flex;align-items:center;gap:10px;min-height:52px;cursor:pointer;color:var(--ink)}
.bt-fold>summary .num{color:var(--ink-2);font-weight:600;white-space:nowrap}
.bt-fold[open]>summary{margin-bottom:6px}
.bt-fold>*+*{margin-top:12px}
.bt-col [hidden],.bt-find[hidden]{display:none!important}
.bt-or{margin:0}
.bt-ink{color:var(--ink)}
@media (hover: hover) and (pointer: fine){.bt-ink:hover{color:var(--link-hover)}}
.bt-also{margin-top:6px!important;font-weight:600}
.bt-note{margin:20px 0 0;max-width:74ch}
/* registration guide */
.bt-jump{display:flex;flex-wrap:wrap;gap:8px}
.bt-jump a{min-height:44px;align-items:center}
.bt-group{margin-top:20px!important;padding-top:16px;border-top:1px solid var(--rule-2);scroll-margin-top:16px}
.bt-group .num{color:var(--ink-2)}
.bt-link{margin:0}
.bt-plain{list-style:none;margin:0;padding:0;display:grid;gap:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));column-gap:24px}
.bt-plain li{display:flex;flex-wrap:wrap;gap:0 10px;align-items:center;min-height:44px;padding:6px 0;border-top:1px solid var(--rule);overflow-wrap:anywhere}
.bt-plain a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
@media (hover: hover) and (pointer: fine){.bt-plain a:hover{color:var(--link-hover)}}
.bt-plain .bt-cite{display:inline}
.bt-reg-r{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 18px 18px 20px;border-radius:8px}
.bt-reg-r>*{margin:0;min-width:0}
.bt-link .more{overflow-wrap:anywhere;min-width:0;color:var(--ink)}
@media (hover: hover) and (pointer: fine){.bt-link .more:hover{color:var(--link-hover)}}
.bt-link .more::after{content:"\2192";color:var(--c-ink,var(--ink-2));font-weight:400}
/* the core's step numeral is a ghost grey made for the paper ground: on the sage band it takes the sage ink (3:1 as a large glyph) */
.band-sage .step .i{color:var(--sage-ink)}
/* A bid title is the agency's, often 80+ characters: one size down from a statement, and "pretty" so no line ends on one word past
   the 6 lines Chromium will balance (a browser without "pretty" keeps the core's balance). */
.h-statement.bt-bid-title{font-size:clamp(28px,4.4vw,56px);line-height:1.05;text-wrap:balance;text-wrap:pretty}
