/* AquaRev Global Compliance Map (document). Generated by build.sh from the document master; do not edit by hand. */
#arcd{
  --ground:#F4F7F9; --surface:#FFFFFF; --surface-2:#EAF0F3; --line:#D3DEE5; --line-strong:#AFC0CB;
  --ink:#122736; --ink-2:#3E5364; --ink-3:#6F8494;
  --accent:#0C6F7C; --accent-ink:#FFFFFF; --accent-soft:#D6EBEE;
  --gate-none:#2E7D4F; --gate-none-bg:#DDF0E4;
  --gate-notify:#9A6A10; --gate-notify-bg:#F7EBCB;
  --gate-approve:#A8402C; --gate-approve-bg:#F6DCD5;
  --cert-req:#3B4FA8; --cert-req-bg:#DEE3F7;
  --code-bg:#EEF2F5;
  --shadow:0 1px 2px rgba(18,39,54,.06),0 8px 24px -12px rgba(18,39,54,.18);
}
@media (prefers-color-scheme: dark){
  #arcd{
    --ground:#0E171E; --surface:#152129; --surface-2:#1C2B35; --line:#2A3B47; --line-strong:#3D5261;
    --ink:#E4ECF1; --ink-2:#B4C3CE; --ink-3:#7F92A0;
    --accent:#4FB7C4; --accent-ink:#0B1A1E; --accent-soft:#163A40;
    --gate-none:#7DD3A0; --gate-none-bg:#173526;
    --gate-notify:#E6B95A; --gate-notify-bg:#3A2E12;
    --gate-approve:#F0907C; --gate-approve-bg:#44201A;
    --cert-req:#9FB0F2; --cert-req-bg:#222C4F;
    --code-bg:#1B2831;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);
  }
}
#arcd[data-theme="dark"]{
  --ground:#0E171E; --surface:#152129; --surface-2:#1C2B35; --line:#2A3B47; --line-strong:#3D5261;
  --ink:#E4ECF1; --ink-2:#B4C3CE; --ink-3:#7F92A0;
  --accent:#4FB7C4; --accent-ink:#0B1A1E; --accent-soft:#163A40;
  --gate-none:#7DD3A0; --gate-none-bg:#173526;
  --gate-notify:#E6B95A; --gate-notify-bg:#3A2E12;
  --gate-approve:#F0907C; --gate-approve-bg:#44201A;
  --cert-req:#9FB0F2; --cert-req-bg:#222C4F;
  --code-bg:#1B2831;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);
}
#arcd *{box-sizing:border-box}
#arcd{margin:0;background:var(--ground);color:var(--ink);font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;padding-block:0 96px;padding-inline:clamp(16px,4vw,48px)}
#arcd a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
#arcd a:hover, #arcd a:focus-visible{border-bottom-color:currentColor}
#arcd :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#arcd h1, #arcd h2, #arcd h3, #arcd h4{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-variation-settings:"wdth" 88;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em}
#arcd h1{font-size:clamp(30px,4.2vw,46px);font-weight:700}
#arcd h2{font-size:clamp(22px,2.6vw,28px);font-weight:700;padding-top:6px}
#arcd h3{font-size:18px;font-weight:600}
#arcd h4{font-size:15px;font-weight:600}
#arcd p{margin:0}
#arcd code, #arcd .code{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--code-bg);padding:.08em .35em;border-radius:3px;color:var(--ink)}
#arcd .wrap{max-width:1180px;margin:0 auto}
#arcd .eyebrow{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:var(--ink-3)}
#arcd .lede{font-size:18px;color:var(--ink-2);max-width:68ch}


#arcd .mast{padding-block:44px 28px;border-bottom:2px solid var(--ink);display:grid;gap:18px}
#arcd .mast .meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--ink-3)}
#arcd .mast .meta b{color:var(--ink-2);font-weight:600}
#arcd .mast .back{justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);color:var(--ink);font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 88;font-size:13px;font-weight:600;text-decoration:none}
#arcd .mast .back:hover{border-color:var(--accent);background:var(--surface-2)}


#arcd .profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border:1px solid var(--line);background:var(--surface);margin-top:28px}
#arcd .profile>div{padding:14px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
#arcd .profile .k{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-family:"Archivo",sans-serif;font-weight:600;margin-bottom:4px}
#arcd .profile .v{font-size:15px;color:var(--ink)}


#arcd .layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:20px}
#arcd .layer{background:var(--surface);border:1px solid var(--line);padding:16px 18px;display:grid;gap:6px;align-content:start}
#arcd .layer .n{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--accent);font-weight:500}
#arcd .layer p{font-size:14px;color:var(--ink-2)}


#arcd .chip{display:inline-flex;align-items:center;gap:6px;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 85;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:3px;white-space:nowrap;line-height:1.3}
#arcd .chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
#arcd .g-none{color:var(--gate-none);background:var(--gate-none-bg)}
#arcd .g-notify{color:var(--gate-notify);background:var(--gate-notify-bg)}
#arcd .g-approve{color:var(--gate-approve);background:var(--gate-approve-bg)}
#arcd .c-req{color:var(--cert-req);background:var(--cert-req-bg)}
#arcd .c-none{color:var(--ink-3);background:var(--surface-2)}
#arcd .c-none::before, #arcd .c-req::before{display:none}
#arcd .p-silent{color:var(--gate-none);background:var(--gate-none-bg)}
#arcd .p-clause{color:var(--gate-notify);background:var(--gate-notify-bg)}
#arcd .p-closed{color:var(--gate-approve);background:var(--gate-approve-bg)}
#arcd .trig{font-size:11.5px;color:var(--ink-2);margin-top:4px;max-width:190px;line-height:1.3}
#arcd .trig b{color:var(--gate-approve);font-weight:600}
#arcd .rule{font-size:12.5px;color:var(--ink-2);margin-top:4px;max-width:440px;line-height:1.35}
#arcd .rule a{font-family:"IBM Plex Mono",monospace;font-size:11px}
#arcd td.st{font-weight:600;white-space:nowrap;scroll-margin-top:80px}
#arcd tr[id]{scroll-margin-top:80px}
#arcd tr:target td{background:var(--accent-soft)}
#arcd .conf{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-3);letter-spacing:.02em}
#arcd td .conf{white-space:nowrap}


#arcd section{margin-top:56px}
#arcd .sechead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;border-bottom:1px solid var(--line-strong);padding-bottom:10px;margin-bottom:22px}
#arcd .sechead p{color:var(--ink-3);font-size:14px}


#arcd .controls{position:sticky;top:var(--arcd-sticky-top,0px);z-index:5;background:var(--ground);padding-block:12px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:36px}
#arcd .controls input[type=search]{flex:1 1 260px;min-width:0;font:inherit;font-size:15px;padding:8px 12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:4px}
#arcd .controls .filters{display:flex;flex-wrap:wrap;gap:6px}
#arcd .controls button{font:inherit;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 85;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:3px;cursor:pointer}
#arcd .controls button[aria-pressed="true"]{background:var(--ink);color:var(--ground);border-color:var(--ink)}
#arcd .controls .count{font-size:13px;color:var(--ink-3);margin-left:auto}
#arcd .jump{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;width:100%}
#arcd .jump a{color:var(--ink-2)}


#arcd .tablewrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
#arcd table{border-collapse:collapse;width:100%;min-width:1240px;font-size:14px}
#arcd th{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 85;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);text-align:left;padding:10px 12px;border-bottom:2px solid var(--line-strong);background:var(--surface-2);position:sticky;top:0;white-space:nowrap}
#arcd td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
#arcd tr.region td{background:var(--surface-2);font-family:"Archivo",sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding-block:7px}
#arcd td.num{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}
#arcd td.j{font-weight:600;white-space:nowrap}
#arcd td.j a{color:var(--ink)}
#arcd tbody tr:hover td{background:color-mix(in srgb,var(--accent-soft) 40%,transparent)}
#arcd tr.region:hover td{background:var(--surface-2)}


#arcd .cards{display:grid;gap:18px}
#arcd .card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);scroll-margin-top:96px}
#arcd .card.hidden{display:none}
#arcd .card header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 20px;border-bottom:1px solid var(--line)}
#arcd .card header h3{margin-right:auto}
#arcd .card header .wq{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;background:var(--code-bg);padding:3px 8px;border-radius:3px}
#arcd .rows{display:grid;grid-template-columns:150px 1fr}
#arcd .rows>div{padding:10px 20px;border-bottom:1px solid var(--line);font-size:14.5px}
#arcd .rows>div:nth-last-child(-n+2){border-bottom:0}
#arcd .rows .k{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 85;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:12px}
#arcd .rows .v{color:var(--ink);max-width:90ch}
#arcd .rows .v .conf{margin-left:6px}
#arcd .rows .path{background:var(--accent-soft)}
#arcd .rows .path.v{font-weight:600;color:var(--ink)}
#arcd .rows .path.k{color:var(--accent)}
#arcd .rows .v ul{margin:0;padding-left:18px}
#arcd .rows .v li{margin-bottom:3px}
@media (max-width:640px){#arcd .rows{grid-template-columns:1fr}#arcd .rows .k{padding-bottom:0;border-bottom:0}#arcd .rows .v{padding-top:4px}#arcd .rows>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}#arcd .rows>div:last-child{border-bottom:0}}


#arcd .rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
#arcd .rule{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);padding:16px 18px;display:grid;gap:8px;align-content:start}
#arcd .rule.hard{border-top-color:var(--gate-approve)}
#arcd .rule p, #arcd .rule li{font-size:14.5px;color:var(--ink-2)}
#arcd .rule ul{margin:0;padding-left:18px}
#arcd .floors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px}
#arcd .floors>div{background:var(--surface);padding:10px 12px}
#arcd .floors .n{font-family:"IBM Plex Mono",monospace;font-size:20px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
#arcd .floors .n small{font-size:12px;color:var(--ink-3);margin-left:3px}
#arcd .floors .w{font-size:13px;color:var(--ink-2);line-height:1.35}
#arcd .gaps ol{margin:0;padding-left:22px;display:grid;gap:8px;max-width:90ch}
#arcd .gaps li{color:var(--ink-2)}
#arcd .gaps li b{color:var(--ink)}
#arcd .legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:var(--ink-2);margin-top:14px;align-items:center}
#arcd .foot{margin-top:56px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);max-width:90ch}
#arcd .foot p+p{margin-top:8px}
