/* Denim Dispatch, the Directory / Census. Built in the house aesthetic; the
   reporting-status guardrail is rendered visibly (badges + chain markers + legend). */

/* page header */
.dir-head{max-width:1180px;margin:56px auto 0;padding:0 40px;position:relative;z-index:3}
.dir-head .kick{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.26em;font-size:12px;color:var(--rust);margin-bottom:18px}
.dir-head h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1;letter-spacing:-.02em;color:var(--indigo-ink);margin-bottom:22px}
.dir-head p{font-family:'Fraunces',serif;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.5;color:#33404f;max-width:60ch;margin-bottom:14px}
.dir-head p em{color:var(--rust);font-style:italic}

/* legend (the guardrail, made legible) */
.legend{max-width:1180px;margin:34px auto 0;padding:24px 28px;background:var(--canvas);border:1px solid var(--line);position:relative;overflow:hidden;z-index:3}
.legend::before{content:"";position:absolute;top:0;left:0;width:7px;height:100%;background:repeating-linear-gradient(180deg,var(--indigo) 0 12px,#d9d2c0 12px 15px)}
.legend h4{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:11.5px;color:var(--rust);margin-bottom:16px;padding-left:14px}
.legend .keys{display:flex;flex-wrap:wrap;gap:10px 26px;padding-left:14px}
.legend .key{display:flex;align-items:center;gap:9px;font-size:13px;color:#3c4756;font-family:'Archivo',sans-serif}
.legend .key .sw{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:11px}

/* status badge */
.badge{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;padding:4px 9px;border-radius:2px;white-space:nowrap}
.badge.confirmed{background:rgba(46,107,62,.13);color:#2e6b3e}
.badge.needsVerify{background:rgba(154,79,44,.14);color:var(--rust)}
.badge.estimate{background:rgba(90,100,114,.14);color:var(--slate)}

/* bucket section header */
.bucket{max-width:1180px;margin:64px auto 0;padding:0 40px;display:flex;align-items:baseline;gap:18px;position:relative;z-index:3}
.bucket h2{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:14px;font-weight:700;color:var(--indigo);white-space:nowrap}
.bucket .rule{flex:1;height:1px;background:var(--line)}
.bucket .count{font-family:'Archivo Narrow',sans-serif;font-size:11.5px;letter-spacing:.1em;color:var(--slate)}

/* card grid */
.dir-grid{max-width:1180px;margin:22px auto 0;padding:0 40px;position:relative;z-index:3;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:780px){.dir-grid{grid-template-columns:1fr}}
.dir-card{background:var(--paper);padding:24px 26px 26px;display:flex;flex-direction:column;gap:12px}
.dir-card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.dir-card .tier{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:10.5px;color:var(--rust);padding-top:3px}
.dir-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;line-height:1.05;letter-spacing:-.01em;color:var(--indigo-ink)}
.dir-card .meta{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--slate);margin-top:-4px}
.dir-card .makes{font-size:13px;line-height:1.55;color:#3c4756}

/* the supply chain mini-line, the heart of the card */
.chainmap{display:flex;flex-wrap:wrap;gap:7px 14px;padding:14px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.step{display:flex;flex-direction:column;gap:2px;min-width:0}
.step .lab{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--slate)}
.step .val{font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;color:var(--indigo)}
.step .val.home{color:#2e6b3e;font-weight:700}
.step .val.fact{color:var(--indigo)}
.step .val.unv{color:var(--slate);font-weight:500;font-style:italic;border-bottom:1px dotted var(--slate)}
.step .val.na{color:var(--line);font-weight:500}
/* weaving is the link that broke most completely: emphasize it */
.step.weave{padding:0 8px;margin:-2px 0;border-left:2px solid var(--rust)}
.step.weave .lab{color:var(--rust)}

.dir-card .foot{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;color:var(--slate)}
.dir-card .foot b{color:var(--indigo);font-weight:600}
.dir-card .why{font-family:'Fraunces',serif;font-style:italic;font-size:13px;line-height:1.5;color:#4a4030;border-top:1px solid var(--line);padding-top:12px}
.dir-card .sources{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--slate)}
.dir-card .sources a{display:inline-block;color:var(--rust);text-decoration:none;border:1px solid var(--line);border-radius:2px;padding:1px 6px;margin-left:4px}
.dir-card .sources a:hover{background:var(--rust);color:var(--ecru);border-color:var(--rust)}

/* method note */
.dir-note{max-width:1180px;margin:60px auto 0;padding:0 40px;position:relative;z-index:3}
.dir-note .inner{background:var(--ecru-dim);border-radius:2px;padding:24px 26px;font-size:13.5px;line-height:1.62;color:var(--slate)}
.dir-note .inner b{display:block;font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;color:var(--indigo);margin-bottom:8px}
