/* ==========================================================
   KJRE PRODUCTION SYSTEM  |  Component layer: Explore V1
   Extracted verbatim from explore-parts.html (LOCKED). DO NOT EDIT BY HAND.
   01-tokens.css + 02-system.css concatenate byte-for-byte to
   the Homepage V2 style block. A build check asserts this.
   ========================================================== */
/* ---------- place type badge, the taxonomy made visible ---------- */
.tag{display:inline-flex;align-items:center;font-size:.52rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.45em .72em;border:1px solid var(--rule);color:var(--ink-3);white-space:nowrap}
.tag--city{color:var(--canopy);border-color:rgba(47,67,56,.38)}
.tag--hood{color:var(--brass);border-color:rgba(156,127,78,.42)}
.tag--sub{color:var(--ink-2);border-color:var(--rule)}
.tag--tbd{color:var(--ink-3);border-style:dashed}

/* ---------- content hierarchy diagram ---------- */
.hier{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:clamp(16px,2.1vw,26px);background:var(--paper-2);border:1px solid var(--rule-soft)}
.hier .node{font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.72em 1em;background:var(--paper);border:1px solid var(--rule);color:var(--ink-2)}
.hier .node.is-here{background:var(--canopy);border-color:var(--canopy);color:var(--paper)}
.hier .step-arw{color:var(--brass);font-size:.85rem;line-height:1}

/* ---------- regional pathway blocks ---------- */
.regs{display:flex;flex-direction:column}
.reg{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.05fr);gap:clamp(14px,2.4vw,44px);padding-block:clamp(26px,3.4vw,46px);border-top:1px solid var(--rule)}
.reg:last-child{border-bottom:1px solid var(--rule)}
.reg__no{font-family:var(--kjre-display);font-size:.92rem;color:var(--brass);letter-spacing:.1em;padding-top:.5em}
.reg h3{font-family:var(--kjre-display);font-size:clamp(1.22rem,1.95vw,1.65rem);line-height:1.15;margin:0 0 .6em;font-weight:400}
.reg p{font-size:.92rem;font-weight:300;color:var(--ink-2);max-width:52ch}
.reg__places{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px)}
.pgroup .gk{display:flex;align-items:center;gap:.9em;margin-bottom:.95em}
.pgroup .gk .ln{flex:1;height:1px;background:var(--rule-soft)}
.plist{display:flex;flex-wrap:wrap;gap:8px}
.plist a{font-size:.8rem;font-weight:300;color:var(--ink-2);border:1px solid var(--rule-soft);padding:.52em .88em;transition:border-color .35s var(--ease),color .35s var(--ease)}
.plist a:hover{border-color:var(--canopy);color:var(--canopy)}
.pnote{font-size:.72rem;font-weight:300;color:var(--ink-3);line-height:1.6;margin-top:.9em;max-width:52ch}

/* ---------- filterable location library ---------- */
.filters{display:flex;flex-direction:column;gap:clamp(12px,1.5vw,18px);padding:clamp(18px,2.2vw,26px);background:var(--paper);border:1px solid var(--rule);margin-bottom:clamp(20px,2.6vw,32px)}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.frow .flab{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);flex:0 0 auto;min-width:9.5em}
.fcount{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-top:clamp(10px,1.2vw,14px);border-top:1px solid var(--rule-soft)}
.fcount p{font-size:.78rem;font-weight:300;color:var(--ink-3)}
.fcount button{font-size:.58rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--canopy);border-bottom:1px solid var(--rule);padding-bottom:.3em}
.fcount button:hover{border-bottom-color:var(--canopy)}

.lib{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-soft);border:1px solid var(--rule-soft)}
.lib a{background:var(--paper);padding:clamp(16px,2vw,26px);display:flex;flex-direction:column;gap:.75em;transition:background .4s var(--ease)}
.lib a:hover{background:var(--paper-2)}
.lib .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lib h3{font-family:var(--kjre-display);font-size:1.15rem;line-height:1.2;margin:0;font-weight:400}
.lib .rg{font-size:.72rem;font-weight:300;color:var(--ink-3)}
.lib .dp{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);margin-top:auto;padding-top:1em;border-top:1px solid var(--rule-soft)}
.lib a[hidden]{display:none}
.lib [hidden]{display:none}
.libempty{background:var(--paper);padding:clamp(20px,2.4vw,30px);font-size:.88rem;font-weight:300;color:var(--ink-3);grid-column:1/-1}

/* ---------- guide system demonstration ---------- */
.sys{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-soft);border:1px solid var(--rule-soft)}
.sys > article{background:var(--paper);padding:clamp(20px,2.4vw,34px);display:flex;flex-direction:column;gap:.9em}
.sys h3{font-family:var(--kjre-display);font-size:clamp(1.15rem,1.6vw,1.4rem);margin:0;font-weight:400;line-height:1.18}
.sys > article > p{font-size:.88rem;font-weight:300;color:var(--ink-2)}
.sys ul{list-style:none;margin:.5em 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--rule-soft)}
.sys li{font-size:.86rem;font-weight:300;color:var(--ink-2);padding-block:.72em;border-bottom:1px solid var(--rule-soft)}

@media (max-width:1080px){
  .reg{grid-template-columns:auto minmax(0,1fr);gap:16px 24px}
  .reg__places{grid-column:1/-1;padding-top:clamp(8px,1.4vw,16px)}
  .lib{grid-template-columns:1fr 1fr}
  .sys{grid-template-columns:1fr}
}
@media (max-width:860px){
  .frow .flab{min-width:100%}
}
@media (max-width:620px){
  .reg{grid-template-columns:1fr;gap:10px}
  .reg__no{padding-top:0}
  .lib{grid-template-columns:1fr}
}
