/* Omnibus money transmitter page only (loaded after mtb.css when $mtb_hub is set). Generated from CP's omnibus css by Scripts/mtb_css_scope.py minus rules already in mtb.css; every rule is limited to .mtb-page. */
.mtb-page{
    margin:0;
    font-family:'Sora', system-ui, sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.6;
    font-size:16.5px;
    -webkit-font-smoothing:antialiased;
  }
.mtb-page .toc{background:var(--paper-2);border:1px solid var(--rule);padding:20px 24px;margin:28px 0 0;border-radius:2px}
@media (max-width:960px){
.mtb-page .toc ol{columns:1}
}
.mtb-page .hero{
    position:relative;
    padding:64px 0 56px;
    border-bottom:1px solid var(--rule);
    overflow:hidden;
  }
.mtb-page .hero::after{
    content:"";position:absolute;
    right:-160px;top:-80px;
    width:520px;height:520px;border-radius:50%;
    background:radial-gradient(closest-side, rgba(10,79,60,.10), transparent 70%);
    z-index:0;
  }
.mtb-page .hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr .9fr;gap:56px;align-items:center}
.mtb-page .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
    color:var(--accent);font-weight:600;
    display:inline-flex;align-items:center;gap:10px;
    margin-bottom:18px;
  }
.mtb-page h1{
    font-family:'Fraunces',serif;
    font-weight:400;
    font-size:clamp(38px,5.4vw,68px);
    line-height:1.02;
    letter-spacing:-.025em;
    margin:0 0 22px;
    color:var(--ink);
  }
.mtb-page h1 em{font-style:italic;font-weight:300;color:var(--accent)}
.mtb-page .lede{
    font-size:18px;
    color:var(--ink-soft);
    max-width:62ch;
    margin:0 0 28px;
  }
.mtb-page .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 32px;
    font-size:14.5px;font-weight:700;
    font-family:inherit;
    text-decoration:none;
    border-radius:8px;
    border:none;
    cursor:pointer;
    white-space:nowrap;
    transition:background .2s, color .2s, border-color .2s, transform .15s;
  }
.mtb-page .btn-primary{
    background:var(--accent-2);   
    color:var(--ink);              
  }
.mtb-page .btn-primary:hover{
    background:var(--gold-light);
    transform:translateY(-1px);
  }
.mtb-page .btn-ghost{
    background:transparent;
    color:var(--ink);
    border:1px solid var(--rule);
  }
.mtb-page .btn-ghost:hover{
    border-color:var(--accent-2);
    background:var(--gold-pale);
    color:var(--ink);
  }
.mtb-page .contact .btn-ghost:hover{
    border-color:var(--accent-2);
    background:transparent;
    color:var(--accent-2);
  }
.mtb-page .hero-card{
    background:var(--paper);
    border:1px solid var(--rule);
    box-shadow:var(--shadow);
    padding:32px 30px;
    position:relative;
  }
.mtb-page .hero-card::before{
    content:"";position:absolute;top:0;left:0;width:60px;height:3px;background:var(--accent);
  }
.mtb-page .hero-card h3{
    font-family:'Fraunces',serif;font-weight:600;font-size:22px;margin:0 0 18px;letter-spacing:-.01em;
  }
.mtb-page .stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--rule)}
.mtb-page .stat-row:last-child{border-bottom:none}
.mtb-page .stat-num{font-family:'Fraunces',serif;font-size:28px;font-weight:600;color:var(--accent);letter-spacing:-.02em}
.mtb-page .stat-lbl{font-size:13px;color:var(--ink-soft);text-align:right;max-width:60%}
.mtb-page section{padding:72px 0;border-bottom:1px solid var(--rule)}
.mtb-page section.tight{padding:56px 0}
.mtb-page h2{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(28px,3.6vw,42px);
    letter-spacing:-.02em;
    line-height:1.1;
    margin:0 0 14px;
  }
.mtb-page h2 .num{
    font-family:'JetBrains Mono',monospace;
    font-size:13px;font-weight:600;color:var(--accent-2);
    display:block;margin-bottom:10px;letter-spacing:.2em;
  }
.mtb-page h3{
    font-family:'Fraunces',serif;font-weight:600;font-size:22px;letter-spacing:-.01em;
    margin:0 0 12px;
  }
.mtb-page .two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.mtb-page .two-col .label{
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--accent);font-weight:600;
  }
.mtb-page .definition-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;
  }
.mtb-page .def-card{
    background:var(--paper-2);
    border:1px solid var(--rule);
    padding:26px 24px;
    position:relative;
  }
.mtb-page .def-card .ix{
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent-2);font-weight:600;
    letter-spacing:.18em;margin-bottom:14px;display:block;
  }
.mtb-page .def-card h4{
    font-family:'Fraunces',serif;font-weight:600;font-size:19px;margin:0 0 10px;letter-spacing:-.01em;
  }
.mtb-page .def-card p{font-size:14.5px;color:var(--ink-soft);margin:0}
.mtb-page .mtma{
    background:var(--ink);
    color:var(--paper);
    border:none;
    position:relative;
    overflow:hidden;
  }
.mtb-page .mtma::before{
    content:"";position:absolute;top:0;right:-200px;
    width:500px;height:100%;
    background:radial-gradient(closest-side, rgba(200,160,50,.18), transparent 70%);
    pointer-events:none;
  }
.mtb-page .mtma h2{color:var(--paper)}
.mtb-page .mtma h2 .num{color:var(--accent-2)}
.mtb-page .mtma p{color:rgba(251,248,243,.82);max-width:68ch}
.mtb-page .mtma-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.mtb-page .mtma-stat{
    border-top:1px solid rgba(251,248,243,.18);
    padding-top:18px;
  }
.mtb-page .mtma-stat .big{
    font-family:'Fraunces',serif;font-size:42px;font-weight:500;color:var(--accent-2);
    letter-spacing:-.02em;line-height:1;display:block;margin-bottom:8px;
  }
.mtb-page .mtma-stat .small{font-size:13.5px;color:rgba(251,248,243,.7);line-height:1.45}
.mtb-page .mtma-impl{
    margin-top:42px;
    display:grid;grid-template-columns:1fr 1fr;gap:32px 56px;
  }
.mtb-page .mtma-impl h4{
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--accent-2);font-weight:600;margin:0 0 10px;
  }
.mtb-page .mtma-impl p{font-size:14.5px;color:rgba(251,248,243,.78);margin:0}
.mtb-page .scope-list{
    column-count:2;column-gap:48px;
    margin-top:24px;
    font-size:15px;
  }
.mtb-page .scope-list ul{list-style:none;padding:0;margin:0}
.mtb-page .scope-list li{
    padding:10px 0 10px 22px;
    border-bottom:1px dashed var(--rule);
    position:relative;
    break-inside:avoid;
  }
.mtb-page .scope-list li::before{
    content:"§";position:absolute;left:0;top:9px;
    font-family:'Fraunces',serif;color:var(--accent-2);font-weight:600;
  }
.mtb-page .reqs{
    display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-top:30px;
  }
.mtb-page .reqs-block{
    background:var(--paper-2);
    border-left:3px solid var(--accent);
    padding:24px 26px;
  }
.mtb-page .reqs-block h4{
    font-family:'Fraunces',serif;font-weight:600;font-size:18px;margin:0 0 12px;
  }
.mtb-page .reqs-block .threshold{
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);
    letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:10px;font-weight:600;
  }
.mtb-page .reqs-block ul{padding-left:18px;margin:0;font-size:14.5px;color:var(--ink-soft)}
.mtb-page .reqs-block li{margin-bottom:6px}
.mtb-page .states{background:var(--paper-2)}
.mtb-page .states-header{
    display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap;
  }
.mtb-page .states-header h2{margin-bottom:4px}
.mtb-page .states-search{
    position:relative;
    flex:0 0 320px;
  }
.mtb-page .states-search input{
    width:100%;padding:12px 16px 12px 40px;
    font-family:'Sora',sans-serif;font-size:14.5px;
    border:1px solid var(--ink);background:var(--paper);
    border-radius:2px;outline:none;color:var(--ink);
  }
.mtb-page .states-search input:focus{border-color:var(--accent)}
.mtb-page .states-search::before{
    content:"⌕";position:absolute;left:14px;top:50%;transform:translateY(-50%);
    font-size:18px;color:var(--ink-soft);
  }
.mtb-page .state-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:8px;
  }
.mtb-page .state-cell{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 16px;
    border-radius:8px;
    background:var(--paper);
    border:1px solid var(--rule);
    text-decoration:none;
    color:var(--ink);
    font-size:14.5px;
    line-height:1.4;
    font-weight:500;
    transition:all .15s;
  }
.mtb-page .state-cell:hover{
    border-color:var(--accent-2);
    background:var(--gold-pale);
    transform:translateX(3px);
  }
.mtb-page .state-cell .dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--accent-2);
    flex-shrink:0;
  }
.mtb-page .state-cell .ar{
    margin-left:auto;
    font-family:'JetBrains Mono',monospace;
    font-size:13px;
    color:var(--accent-2);
    transition:transform .15s;
    flex-shrink:0;
  }
.mtb-page .state-cell:hover .ar{transform:translateX(2px)}
.mtb-page .state-cell .code{
    margin-left:auto;
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px;font-weight:600;
    color:var(--ink-soft);
    background:var(--paper-2);
    padding:3px 8px;
    border-radius:4px;
    letter-spacing:.04em;
    flex-shrink:0;
  }
.mtb-page .state-cell.disabled{
    opacity:.55;
    pointer-events:none;
    background:var(--paper-2);
  }
.mtb-page .state-cell.disabled .dot{background:var(--ink-soft)}
.mtb-page .state-cell.disabled .code{
    background:var(--ink);color:var(--paper);
  }
.mtb-page .state-cell.territory .code{
    background:var(--gold-pale);
    color:#7a5e1a;
  }
.mtb-page .states-footnote{
    margin-top:28px;
    font-size:13px;color:var(--ink-soft);
    display:flex;gap:24px;flex-wrap:wrap;
    padding-top:20px;
    border-top:1px solid var(--rule);
  }
.mtb-page .states-footnote span{display:inline-flex;align-items:center;gap:8px}
.mtb-page .swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--rule)}
.mtb-page .swatch.terr{background:var(--gold-pale);border-color:var(--accent-2)}
.mtb-page .swatch.dis{background:var(--paper-2)}
.mtb-page details{
    border-bottom:1px solid var(--rule);
    padding:22px 0;
  }
.mtb-page summary{
    cursor:pointer;list-style:none;
    font-family:'Fraunces',serif;font-weight:500;font-size:20px;
    color:var(--ink);
    display:flex;justify-content:space-between;align-items:center;gap:20px;
    transition:color .15s;
    letter-spacing:-.01em;
  }
.mtb-page summary::after{
    content:"+";
    font-family:'JetBrains Mono',monospace;font-weight:400;font-size:24px;
    color:var(--accent);
    transition:transform .2s;
  }
.mtb-page details[open] summary::after{content:"−"}
.mtb-page details p{margin-top:14px;font-size:15px;color:var(--ink-soft);max-width:72ch}
.mtb-page .byline{
    margin-top:36px;
    padding-top:20px;
    border-top:1px solid var(--rule);
    font-size:13px;
    color:var(--ink-soft);
    max-width:72ch;
  }
.mtb-page .byline a:hover{color:var(--accent-3)}
.mtb-page .contact{
    background:var(--ink);color:var(--paper);
    border-bottom:none;
  }
.mtb-page .contact h2{color:var(--paper)}
.mtb-page .contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.mtb-page .channels{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.mtb-page .channel{
    background:rgba(251,248,243,.04);
    border:1px solid rgba(251,248,243,.14);
    padding:18px 18px;
    text-decoration:none;color:var(--paper);
    transition:border-color .15s, background .15s;
  }
.mtb-page .channel-wide{grid-column:1 / -1}
.mtb-page .channel-icons{
    grid-column:1 / -1;
    display:flex;gap:10px;
    margin-top:4px;
  }
.mtb-page .channel-icons .ic{
    width:46px;height:46px;
    display:grid;place-items:center;
    border:1px solid rgba(251,248,243,.14);
    background:rgba(251,248,243,.04);
    color:var(--paper);
    border-radius:8px;
    text-decoration:none;
    transition:border-color .15s, background .15s, color .15s, transform .15s;
  }
.mtb-page .channel-icons .ic:hover{
    border-color:var(--accent-2);
    background:rgba(251,248,243,.07);
    color:var(--accent-2);
    transform:translateY(-1px);
  }
@media (max-width: 960px){
.mtb-page .hero .wrap{grid-template-columns:1fr;gap:40px}
.mtb-page .two-col{grid-template-columns:1fr;gap:24px}
.mtb-page .definition-grid{grid-template-columns:1fr}
.mtb-page .mtma-grid{grid-template-columns:repeat(2,1fr)}
.mtb-page .mtma-impl{grid-template-columns:1fr;gap:24px}
.mtb-page .scope-list{column-count:1}
.mtb-page .reqs{grid-template-columns:1fr;gap:24px}
.mtb-page .contact-grid{grid-template-columns:1fr;gap:32px}
.mtb-page section{padding:56px 0}
}
@media (max-width: 520px){
.mtb-page .mtma-grid{grid-template-columns:1fr}
.mtb-page .channels{grid-template-columns:1fr}
.mtb-page h1{font-size:42px}
}
.mtb-page .state-cell.hide{display:none}
/* directory entries that have no page yet: shown, not clickable */
.mtb-page .state-cell.soon{pointer-events:none;cursor:default;opacity:.75}
.mtb-page .state-cell.soon .dot{background:var(--rule)}
/* paper grain CP's page has (his body::before), limited to the page content */
.mtb-page{position:relative}
.mtb-page::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background-image:radial-gradient(rgba(12,26,43,.022) 1px,transparent 1px),radial-gradient(rgba(12,26,43,.018) 1px,transparent 1px);
    background-size:3px 3px,7px 7px}
