/* =========================================================================
   Avano — additions for the full multi-page site. Loaded AFTER avano.css.

   Why two files rather than one: avano.css is a byte copy of the draft
   stylesheet the thirteen corp-draft pages were written against. Keeping it
   untouched means a draft page and its rewritten twin render identically
   except where the copy changed, which is what made the rewrite reviewable.
   Everything new lives here.

   No external requests of any kind. The site is served with
   `default-src 'self'` (see site/_headers) and a page that needs the CSP
   relaxed is not finished.
   ========================================================================= */

/* ---------- accessibility: a keyboard user must be able to skip the nav ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--acc);color:#0a0e15;
      font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
      padding:.8rem 1.2rem;border-radius:0 0 10px 0}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{
      outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}

/* ---------- the draft banner on legal pages ----------
   Deliberately loud, and deliberately not dismissible. An unreviewed legal
   instrument that reads as final is the liability; this banner is the control
   that stops it reading that way. */
.draftbar{position:sticky;top:70px;z-index:20;background:#1a1109;
          border-bottom:1px solid rgba(217,138,126,.4);border-top:1px solid rgba(217,138,126,.25)}
.draftbar .in{max-width:var(--maxw);margin:0 auto;padding:.85rem clamp(20px,5vw,52px);
              display:flex;gap:.9rem;align-items:flex-start}
.draftbar .tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
               color:#0a0e15;background:#d98a7e;border-radius:100px;padding:.32rem .7rem;flex:none;margin-top:.1rem}
.draftbar p{color:#e6b3a9;font-size:.84rem;line-height:1.55;margin:0}
.draftbar a{color:#f0cfc8;border-bottom:1px solid rgba(240,207,200,.4)}
@media(max-width:560px){.draftbar{position:static}.draftbar .in{flex-direction:column;gap:.5rem}}

/* ---------- status badges: one vocabulary for the whole site ---------- */
.bd{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
    border-radius:100px;padding:.3rem .62rem;white-space:nowrap;display:inline-block;border:1px solid}
.bd.yes{color:#9fd3b0;border-color:rgba(159,211,176,.4);background:rgba(159,211,176,.07)}
.bd.no{color:#d98a7e;border-color:rgba(217,138,126,.4);background:rgba(217,138,126,.07)}
.bd.part{color:#c9b98a;border-color:rgba(201,185,138,.42);background:rgba(201,185,138,.07)}
.bd.soon{color:var(--faint);border-color:var(--line2);border-style:dashed}

/* ---------- the verification table (verify.html) ---------- */
.vt{width:100%;border-collapse:collapse;margin-top:clamp(26px,3.6vh,40px);font-size:.95rem}
.vt th,.vt td{text-align:left;padding:1.05rem .9rem;border-bottom:1px solid var(--line2);vertical-align:top}
.vt thead th{font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;
             color:var(--dim);font-weight:400}
.vt tbody td:first-child{color:var(--ink);width:30%}
.vt tbody td:nth-child(2){width:12%}
.vt td.how{color:var(--dim);font-size:.88rem;line-height:1.6}
.vt code{font-family:var(--mono);font-size:.8em;color:var(--acc);background:var(--card2);
         border:1px solid var(--line2);border-radius:5px;padding:.06em .4em;word-break:break-word}
@media(max-width:700px){
  .vt,.vt tbody,.vt tr,.vt td{display:block;width:100%}
  .vt thead{display:none}
  .vt tr{border-bottom:1px solid var(--line);padding:1rem 0}
  .vt td{border:0;padding:.25rem 0}
  .vt tbody td:first-child,.vt tbody td:nth-child(2){width:auto}
}

/* ---------- data-inventory rows (data.html) ---------- */
.inv{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);
     border-radius:16px;overflow:hidden;margin-top:clamp(26px,3.6vh,40px)}
.invrow{background:var(--card);padding:1.15rem 1.3rem;display:grid;grid-template-columns:1fr auto;
        gap:.6rem 1.2rem;align-items:start}
.invrow .n{color:var(--ink);font-size:1.02rem}
.invrow .d{grid-column:1/-1;color:var(--dim);font-size:.9rem;line-height:1.6;max-width:74ch}
@media(max-width:520px){.invrow{grid-template-columns:1fr}}

/* ---------- counsel-question register (legal.html) ---------- */
.q{counter-reset:qn;list-style:none;display:flex;flex-direction:column;gap:1px;background:var(--line);
   border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:clamp(26px,3.6vh,40px)}
.q li{background:var(--card);padding:1.2rem 1.35rem 1.2rem 3.6rem;position:relative;
      color:var(--dim);font-size:.97rem;line-height:1.65}
.q li::before{counter-increment:qn;content:"Q" counter(qn);position:absolute;left:1.35rem;top:1.25rem;
              font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--acc2)}
.q li b{color:var(--ink);font-weight:500;display:block;margin-bottom:.3rem}
.q li .who{font-family:var(--mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;
           color:var(--faint);display:block;margin-top:.5rem}

/* ---------- on-page table of contents ---------- */
.toc{border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem;
     margin-top:clamp(26px,3.6vh,40px);background:var(--card2)}
.toc .th{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
         color:var(--acc2);margin-bottom:.7rem}
.toc ol{list-style:none;counter-reset:tn;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1.6rem}
@media(max-width:640px){.toc ol{grid-template-columns:1fr}}
.toc li{counter-increment:tn}
.toc a{color:var(--dim);font-size:.94rem;display:inline-block;padding:.2rem 0}
.toc a::before{content:counter(tn,decimal-leading-zero) "\00a0\00a0";font-family:var(--mono);
               font-size:.7em;color:var(--faint);letter-spacing:.08em}
.toc a:hover{color:var(--acc)}

/* ---------- two-column "can / cannot" split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:clamp(26px,3.6vh,40px)}
@media(max-width:760px){.split{grid-template-columns:1fr}}
.sp{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:clamp(22px,2.4vw,30px)}
.sp.warn{border-color:rgba(217,138,126,.28)}
.sp .h{font-family:var(--mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
       color:var(--acc2);margin-bottom:1.1rem}
.sp.warn .h{color:#d98a7e}
.sp ul{list-style:none;display:flex;flex-direction:column;gap:.85rem}
.sp li{color:var(--dim);font-size:.95rem;line-height:1.6;padding-left:1.35rem;position:relative}
.sp li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--acc2)}
.sp.warn li::before{background:#d98a7e}
.sp li b{color:var(--ink);font-weight:500}

/* ---------- numbered deep-dive steps ---------- */
.steps{list-style:none;counter-reset:sn;display:flex;flex-direction:column;gap:0;
       margin-top:clamp(26px,3.6vh,40px);border-left:1px solid var(--line)}
.steps li{counter-increment:sn;position:relative;padding:0 0 2rem 2.4rem}
.steps li:last-child{padding-bottom:0}
.steps li::before{content:counter(sn,decimal-leading-zero);position:absolute;left:0;top:0;
                  transform:translateX(-50%);background:var(--bg);color:var(--acc2);
                  font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;
                  padding:.15rem 0;width:2.2em;text-align:center}
.steps .t{color:var(--ink);font-size:1.1rem;display:block;margin-bottom:.4rem}
.steps .d{color:var(--dim);font-size:.97rem;line-height:1.7;max-width:70ch}
.steps .d b{color:var(--ink);font-weight:500}
.steps .d+.d{margin-top:.7rem}

/* ---------- glossary / definition rows ---------- */
.defs{margin-top:clamp(26px,3.6vh,40px)}
.defs dt{color:var(--ink);font-size:1.06rem;margin-top:1.7rem}
.defs dt:first-of-type{margin-top:0}
.defs dd{color:var(--dim);font-size:.97rem;line-height:1.7;margin-top:.35rem;max-width:72ch}

/* ---------- hub link grid ---------- */
.hub{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:clamp(26px,3.6vh,40px)}
@media(max-width:860px){.hub{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hub{grid-template-columns:1fr}}
.hb{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:clamp(20px,2.2vw,26px);transition:.3s}
.hb:hover{border-color:rgba(168,192,230,.35);transform:translateY(-3px)}
.hb .k{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--acc2)}
.hb h3{font-size:1.14rem;margin:.85rem 0 .45rem;color:var(--ink)}
.hb p{color:var(--dim);font-size:.9rem;line-height:1.6}

/* ---------- quiet inline figures ---------- */
.fig{display:flex;gap:clamp(14px,2vw,26px);flex-wrap:wrap;margin-top:clamp(26px,3.6vh,40px)}
.fg{flex:1 1 190px;border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem;background:var(--card)}
.fg .v{font-family:var(--mono);font-size:1.5rem;color:var(--acc);letter-spacing:-.01em}
.fg .l{color:var(--dim);font-size:.85rem;line-height:1.55;margin-top:.5rem}

/* ---------- prose helpers used by the long pages ---------- */
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:3rem}
.prose>.callout:first-child{margin-top:0}
.prose table{font-size:.92rem}
.prose thead th{text-align:left}
.prose tbody th{vertical-align:top}
.prose td{text-align:left;color:var(--dim);vertical-align:top}
.smallcaps{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc2)}

/* ---------- footer needs a fifth column on wide screens ---------- */
@media(min-width:821px){.footgrid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}}

/* ---------- phone header ----------
   Five nav items plus a button wrapped onto three rows, and the header is
   sticky, so it held ~110px of a 844px screen permanently. Tightened to two
   rows. Measured, not eyeballed: header height at 390px before / after. */
@media(max-width:620px){
  header nav{min-height:0;padding:.4rem 0;row-gap:.35rem}
  .brand__wm{width:86px}
  .brand__bores{width:39px}
  .navr{gap:.55rem .8rem}
  .navr a:not(.btn){font-size:.585rem;letter-spacing:.05em;padding:.15rem 0}
  .navr .btn{padding:.46rem .8rem;font-size:.56rem;letter-spacing:.08em}
  .draftbar{top:0}
}

/* ---------- print: the legal pages will be printed and sent to a lawyer ---------- */
@media print{
  body::before,header,.draftbar,footer .footgrid,.skip,.toc{display:none}
  body{background:#fff;color:#000;font-size:11pt}
  .prose>p,.prose li,.callout p,.q li,.defs dd{color:#222}
  .prose h3,.prose h2,.prose b,.q li b,.defs dt{color:#000}
  .callout{border-color:#999;background:none}
  a{color:#000}
  section{padding:12pt 0}
}
