/* ============================================================
   pages-e.css — compliance, partners, frameworks library, trust index (v12).
   Every rule is scoped by a pe- class. Theme colours only via variables.
   ============================================================ */

/* shared bits */
.pe-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pe-jump a{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink-2);font:540 .82rem var(--sans);text-decoration:none}
.pe-jump a:hover{border-color:var(--amber);color:var(--ink)}
.pe-ico{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--sunken);color:var(--amber);flex:none}
.pe-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pe-ico.live{color:var(--allow)}
.pe-sub{font:600 1rem var(--serif);color:var(--ink);margin:30px 0 12px}
.pe-lib .fwgroup:first-child{margin-top:8px}
.pe-me{margin-top:30px}

/* ---------- compliance: how a control is proved (flow) ---------- */
.pe-flow{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr 1.7fr 1fr 1fr;gap:28px;counter-reset:pe}
.pe-node{position:relative;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper);padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-1)}
.pe-node>b,.pe-split b{font:700 1rem var(--serif);color:var(--ink);margin-top:6px}
.pe-node p{margin:0;font-size:.86rem;color:var(--ink-2);line-height:1.45}
.pe-eg{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line-2);font-size:.8rem;color:var(--ink-3);line-height:1.45}
.pe-node:not(:last-child)::after{content:"";position:absolute;top:34px;right:-24px;width:20px;height:2px;background:var(--amber)}
.pe-node:not(:last-child)::before{content:"";position:absolute;top:30px;right:-26px;border:5px solid transparent;border-left:7px solid var(--amber);border-right:0}
.pe-split{flex-direction:row;gap:0;padding:0}
.pe-split>div{flex:1;display:flex;flex-direction:column;gap:6px;padding:16px;min-width:0}
.pe-split>div+div{border-left:1px dashed var(--line-2)}
@media(max-width:1100px){.pe-flow{grid-template-columns:1fr 1fr;gap:18px}.pe-split{grid-column:1/-1}.pe-node::after,.pe-node::before{display:none}}
@media(max-width:620px){.pe-flow{grid-template-columns:1fr}.pe-split{flex-direction:column}.pe-split>div+div{border-left:0;border-top:1px dashed var(--line-2)}
  .pe-node:not(:last-child)::after{display:block;top:auto;bottom:-16px;right:auto;left:50%;width:2px;height:14px}
  .pe-node:not(:last-child)::before{display:none}}

/* ---------- compliance: regulator-ready evidence ---------- */
.pe-ev{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.pe-evc{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:18px;box-shadow:var(--shadow-1)}
.pe-evc h3{font:700 1.02rem var(--serif);margin:12px 0 6px;color:var(--ink)}
.pe-evc p{margin:0;font-size:.86rem;color:var(--ink-2);line-height:1.5}
@media(max-width:980px){.pe-ev{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pe-ev{grid-template-columns:1fr}}

/* ---------- compliance: notification clock band ---------- */
.pe-clock{margin-top:30px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--paper);padding:22px;box-shadow:var(--shadow-1)}
.pe-start{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.pe-start b{font:700 1rem var(--serif);color:var(--ink)}
.pe-start span:last-child{grid-column:2;font-size:.84rem;color:var(--ink-3)}
.pe-dot{grid-row:1/3;width:16px;height:16px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px color-mix(in srgb,var(--amber) 22%,transparent)}
.pe-band{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1.2fr 2fr 1.2fr;gap:12px;position:relative}
.pe-band::before{content:"";position:absolute;left:0;right:0;top:15px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--amber),var(--flag) 60%,var(--line-3))}
.pe-stop{position:relative;padding-top:38px;min-width:0}
.pe-stop::before{content:"";position:absolute;top:9px;left:0;width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--amber)}
.pe-t{position:absolute;top:0;left:26px;font:600 .9rem var(--sans);color:var(--ink);background:var(--paper);padding:0 6px}
.pe-hot .pe-t{color:var(--amber)}
.pe-regs{display:flex;flex-direction:column;gap:8px}
.pe-reg{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);text-decoration:none;color:var(--ink-2);font-size:.78rem;line-height:1.35}
.pe-reg:hover{border-color:var(--amber)}
.pe-reg img{width:22px;height:16px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px var(--line);flex:none;margin-top:2px}
.pe-reg b{display:block;font:600 .86rem var(--sans);color:var(--ink)}
.pe-hot .pe-regs{display:grid;grid-template-columns:1fr 1fr}
.pe-nofix{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-2)}
.pe-nofix>b{display:block;font:600 .9rem var(--sans);color:var(--ink);margin-bottom:10px}
.pe-nofix .pe-regs{display:grid;grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.pe-band{grid-template-columns:1fr 1fr}.pe-band::before{display:none}.pe-nofix .pe-regs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){
  .pe-clock{padding:16px}
  .pe-band{grid-template-columns:1fr;gap:4px;padding-left:4px}
  .pe-band::before{display:block;left:11px;right:auto;top:6px;bottom:6px;width:3px;height:auto;background:linear-gradient(180deg,var(--amber),var(--line-3))}
  .pe-stop{padding:4px 0 14px 32px}
  .pe-stop::before{top:5px;left:4px}
  .pe-t{position:static;display:block;padding:0;margin-bottom:8px}
  .pe-hot .pe-regs,.pe-nofix .pe-regs{grid-template-columns:1fr}}

/* ---------- partners: tier comparison ---------- */
.pe-cmp{margin-top:30px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-1)}
.pe-cmp table{width:100%;border-collapse:collapse;font-size:.9rem}
.pe-cmp th,.pe-cmp td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.pe-cmp tbody tr:last-child th,.pe-cmp tbody tr:last-child td{border-bottom:0}
.pe-cmp thead th{background:var(--sunken);vertical-align:bottom}
.pe-cmp thead b{display:block;font:700 1.15rem var(--serif);color:var(--ink)}
.pe-cmp thead span{display:block;font-size:.78rem;font-weight:400;color:var(--ink-3);margin-top:4px}
.pe-cmp tbody th{font-weight:600;color:var(--ink);width:26%}
.pe-cmp td.pe-num{font:600 1.05rem var(--sans);color:var(--ink)}
.pe-cmp .pe-pop{background:color-mix(in srgb,var(--amber) 7%,transparent)}
.pe-cmp thead th.pe-pop{box-shadow:inset 0 3px 0 var(--amber)}
.pe-cmp td.pe-yes{color:var(--ink)}
.pe-cmp td.pe-yes::before{content:"✓";color:var(--allow);font-weight:700;margin-right:8px}
.pe-cmp td.pe-no{color:var(--ink-3)}
.pe-cmp td.pe-no::before{content:"–";margin-right:8px}
.pe-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:700px){
  .pe-cmp table,.pe-cmp tbody,.pe-cmp tr{display:block}
  .pe-cmp thead{display:grid;grid-template-columns:repeat(3,1fr)}
  .pe-cmp thead tr{display:contents}
  .pe-cmp thead th:first-child{display:none}
  .pe-cmp thead th{padding:12px 8px}
  .pe-cmp thead b{font-size:1rem}.pe-cmp thead span{font-size:.7rem}
  .pe-cmp tbody tr{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
  .pe-cmp tbody th{grid-column:1/-1;width:auto;border-bottom:0;padding:10px 8px 2px;font-size:.8rem;color:var(--ink-3)}
  .pe-cmp tbody td{border-bottom:0;padding:4px 8px 10px;font-size:.82rem}
  .pe-cmp td.pe-yes::before,.pe-cmp td.pe-no::before{margin-right:4px}}

/* ---------- partners: plane diagram ---------- */
.pe-plane{margin-top:30px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg);padding:24px;display:flex;flex-direction:column;align-items:stretch}
.pe-pbox{border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper);padding:14px 16px;box-shadow:var(--shadow-1);min-width:0}
.pe-pbox b{display:block;font:700 .98rem var(--serif);color:var(--ink)}
.pe-pbox span{display:block;font-size:.8rem;color:var(--ink-3);line-height:1.4;margin-top:3px}
.pe-console{display:flex;gap:14px;align-items:center;border-color:var(--amber);max-width:560px;width:100%;margin:0 auto}
.pe-link{position:relative;height:56px;display:grid;place-items:center}
.pe-link::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--amber)}
.pe-link span{position:relative;background:var(--bg);padding:2px 10px;font-size:.76rem;color:var(--ink-3);border:1px dashed var(--line-3);border-radius:var(--r-pill)}
.pe-tenants{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative}
.pe-ten{text-align:center;border-style:solid}
.pe-lock{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sunken);color:var(--allow);margin:0 auto 6px}
.pe-lock svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pe-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;position:relative}
.pe-two::before{content:"";position:absolute;left:8%;right:8%;top:-24px;height:24px;border:2px solid var(--line-3);border-bottom:0;border-radius:10px 10px 0 0}
.pe-bar{display:flex;gap:3px;height:12px;margin-top:12px;border-radius:6px;overflow:hidden;background:var(--sunken)}
.pe-bar i{display:block;background:var(--amber)}
.pe-bar i:nth-child(2){opacity:.7}.pe-bar i:nth-child(3){opacity:.45}
.pe-pool small{display:block;margin-top:6px;font-size:.7rem;color:var(--ink-4)}
.pe-evid{border-color:var(--gold)}
@media(max-width:620px){.pe-plane{padding:14px}.pe-tenants{gap:8px}.pe-ten{padding:10px 6px}.pe-ten span{font-size:.72rem}.pe-two{grid-template-columns:1fr}}

/* ---------- partners: capability cards, apply ---------- */
.pe-caps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:30px}
.pe-cap{border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:var(--r);background:var(--paper);padding:16px;box-shadow:var(--shadow-1)}
.pe-cap h3{font:700 .98rem var(--serif);margin:0 0 6px;color:var(--ink)}
.pe-cap p{margin:0;font-size:.84rem;color:var(--ink-2);line-height:1.45}
@media(max-width:1100px){.pe-caps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.pe-caps{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.pe-caps{grid-template-columns:1fr}}
.pe-apply{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--paper);padding:30px;box-shadow:var(--shadow-1)}
.pe-apply .cta-row{flex-direction:column;align-items:stretch}
.pe-steps{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:pes}
.pe-steps li{counter-increment:pes;font-size:.84rem;color:var(--ink-3);line-height:1.4}
.pe-steps li::before{content:counter(pes);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--amber);color:var(--ink-on);font:700 .8rem var(--sans);margin-bottom:8px}
.pe-steps b{display:block;color:var(--ink);font-weight:600;font-size:.9rem}
@media(max-width:860px){.pe-apply{grid-template-columns:1fr;padding:20px}.pe-apply .cta-row{flex-direction:row;flex-wrap:wrap}}
@media(max-width:520px){.pe-steps{grid-template-columns:1fr}}

/* ---------- trust index ---------- */
.pe-wbar{display:flex;margin-top:30px;height:46px;border-radius:12px;overflow:hidden;font:600 .84rem var(--sans)}
.pe-wbar span{display:flex;align-items:center;padding:0 14px;white-space:nowrap;overflow:hidden;color:var(--ink-on)}
.pe-wbar .pe-ws,.pe-pil.pe-ws{--pc:var(--amber)}
.pe-wbar .pe-wc,.pe-pil.pe-wc{--pc:var(--slate)}
.pe-wbar .pe-wv,.pe-pil.pe-wv{--pc:var(--ink-2)}
.pe-wbar span{background:var(--pc)}
.pe-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.pe-pil{border:1px solid var(--line);border-top:4px solid var(--pc);border-radius:var(--r);background:var(--paper);padding:18px;box-shadow:var(--shadow-1)}
.pe-w{display:block;font:700 2.2rem var(--serif);color:var(--pc);line-height:1}
.pe-pil h3{font:700 1.05rem var(--serif);margin:10px 0 6px;color:var(--ink)}
.pe-pil p{margin:0;font-size:.86rem;color:var(--ink-2);line-height:1.5}
@media(max-width:720px){.pe-pillars{grid-template-columns:1fr}.pe-wbar{font-size:.72rem}.pe-wbar span{padding:0 8px}}
.pe-bands{margin-top:30px}
.pe-scale{display:flex;gap:3px;border-radius:12px;overflow:hidden}
.pe-scale span{display:block;padding:14px 12px;font-size:.78rem;color:var(--ink-2);min-width:0;background:color-mix(in srgb,var(--bc) 16%,var(--paper));border-top:4px solid var(--bc)}
.pe-scale b{display:block;font:700 .95rem var(--serif);color:var(--ink)}
.pe-bc{--bc:var(--block)}.pe-bh{--bc:var(--flag)}.pe-bm{--bc:var(--slate)}.pe-bg{--bc:var(--allow)}
.pe-ticks{position:relative;height:22px;margin-top:6px;font:500 .74rem var(--mono);color:var(--ink-3)}
.pe-ticks span{position:absolute;transform:translateX(-50%)}
.pe-ticks span:first-child{transform:none}.pe-ticks span:last-child{transform:translateX(-100%)}
.pe-unk{display:flex;gap:14px;align-items:center;margin-top:18px;padding:14px 16px;border:1px dashed var(--line-3);border-radius:var(--r);background:var(--paper);font-size:.86rem;color:var(--ink-2)}
.pe-unk>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sunken);color:var(--ink-3);font:700 1rem var(--serif);flex:none}
.pe-unk b{display:block;color:var(--ink)}
@media(max-width:620px){.pe-scale{flex-direction:column}.pe-scale span{flex:auto!important}.pe-ticks{display:none}}
.pe-prom{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.pe-pr{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:18px;box-shadow:var(--shadow-1)}
.pe-pr h3{font:700 1.02rem var(--serif);margin:12px 0 6px;color:var(--ink)}
.pe-pr p{margin:0;font-size:.86rem;color:var(--ink-2);line-height:1.5}
@media(max-width:820px){.pe-prom{grid-template-columns:1fr}}

/* roadmapList (available / roadmap) — long official names: give each row room and put the status under the name */
.pe-rl .fwl{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.pe-rl .fwi{grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:start;row-gap:6px;padding:12px 14px}
.pe-rl .fwi>img,.pe-rl .fwi>.gl{grid-row:1/3;margin-top:2px}
.pe-rl .fwi>span:not(.n){min-width:0}
.pe-rl .fwi span span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;margin-top:2px}
.pe-rl .fwi .n{grid-column:2;white-space:normal;font-family:var(--sans);font-weight:600;font-size:.74rem}
@media(max-width:420px){.pe-rl .fwl{grid-template-columns:1fr}}
.pe-tenants::before{content:"";position:absolute;top:-14px;left:16.66%;right:16.66%;height:14px;border:2px solid var(--amber);border-bottom:0;border-radius:8px 8px 0 0}
.pe-apply .btn{justify-content:center}
