/* ==========================================================================
   Payee Global: additions on top of the approved cream mockup (pg-base + pg-site).
   Every value resolves to the cream MASTER tokens (design-system/payeeglobal/MASTER.md).
   New in this file: nav additions, CTAs, parallax ghosts, sticker band + logo wall,
   white-label section, steps, bento, console ring (Recon in-app look, .app scope),
   developer code panel, security band, inner pages (profile, funnel, docs, forms).
   ========================================================================== */
:root{
  --code:#16100F; --code-ink:#F3EDE4; --code-mute:#A89E94; --code-line:rgba(243,237,228,.1);
  --rose:#F0B3AB;
  /* in-app (Recon Engine) tokens, used only inside .app */
  --a-ink:#2B3444; --a-ink-soft:#3C4658; --a-navy:#1A2436; --a-muted:#6B7280; --a-faint:#9AA1AE;
  --a-line:rgba(26,36,54,.10); --a-line-soft:rgba(26,36,54,.055);
  --a-red:#D24B44; --a-red-lite:#E1786F; --a-red-deep:#B23A33; --a-red-wash:rgba(210,75,68,.14);
  --a-pos:#177245; --a-pos-2:#29B06C; --a-pos-wash:rgba(41,176,108,.16); --a-warn:#9A6A00; --a-warn-wash:rgba(224,168,0,.16);
  --a-m1:#C74A42; --a-m2:#AE382F; --a-m3:#97302A;
}
.pg-skip{ position:absolute; left:var(--s3); top:-60px; z-index:80; padding:var(--s3) var(--s4); border-radius:var(--r-btn);
  background:var(--blood); color:var(--cream); font-family:'Plex',monospace; font-size:12px; letter-spacing:.1em; text-decoration:none; }
.pg-skip:focus{ top:var(--s3); }
a.lock{ text-decoration:none; }
main{ display:block; }

/* ---------- nav additions ---------- */
.nvlinks{ gap:22px; }
.nvlinks a[aria-current="page"]:not(.nvcta){ color:var(--cream); }
.nvlinks a[aria-current="page"]:not(.nvcta)::after{ transform:scaleX(1); }
.nvlog{ display:inline-flex; align-items:center; gap:7px; }
@media (max-width:840px){ .nvlog{ display:none; } .pg-menu-open .nvlinks a.nvlog{ display:flex; } }
.nvlog svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
@media (max-width:1060px){ .nvlinks{ gap:16px; } .nvlinks a{ letter-spacing:.12em !important; } }

/* ---------- CTA buttons (same material as .nvcta / .tgchip) ---------- */
.pg-ctas{ display:flex; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s6); }
.pbtn{ position:relative; display:inline-flex; align-items:center; gap:var(--s3); min-height:48px; padding:0 var(--s5);
  font-family:'Plex',monospace; font-weight:600; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  color:var(--blood-deep); background:rgba(140,29,34,.16); border:1px solid rgba(140,29,34,.4); border-radius:var(--r-btn);
  -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 1px 1px rgba(100,20,24,.06), 0 8px 22px rgba(100,20,24,.12), inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform var(--t-hover) var(--ease-hover), box-shadow var(--t-hover) var(--ease-hover), background-color var(--t-hover) var(--ease-hover); cursor:pointer; }
.pbtn svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform var(--t-hover) var(--ease-hover); }
.pbtn:hover{ background:rgba(140,29,34,.24); transform:translateY(-1px); box-shadow:0 2px 2px rgba(100,20,24,.06), 0 12px 30px rgba(100,20,24,.18), inset 0 1px 0 rgba(255,255,255,.7); }
.pbtn:hover svg{ transform:translateX(3px); }
.pbtn:active{ transform:none; background:rgba(140,29,34,.28); }
.pbtn-q{ background:rgba(251,247,242,.42); color:var(--ink); border-color:var(--glass-edge); }
.pbtn-q:hover{ background:rgba(251,247,242,.62); color:var(--blood-deep); }
.pbtn-solid{ background:var(--blood); color:var(--cream); border-color:rgba(255,255,255,.22); }
.pbtn-solid:hover{ background:#7C181D; }
.pbtn[disabled],.pbtn[aria-disabled="true"]{ opacity:.45; cursor:not-allowed; transform:none; }
.pg-link{ display:inline-flex; align-items:center; gap:var(--s2); font-family:'Plex',monospace; font-weight:600; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--blood-deep); text-decoration:none; padding:var(--s2) 0; background:linear-gradient(var(--blood),var(--blood)) 0 100% / 0 1px no-repeat;
  transition:background-size var(--t-micro) var(--ease-hover); }
.pg-link svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pg-link:hover{ background-size:100% 1px; }
.pg-fine{ font-family:'Plex',monospace; font-size:11px; letter-spacing:.04em; line-height:1.6; color:var(--ink-mute); margin-top:var(--s4); }
.lead a,.pg-fine a,.ctanote a,.covnote a{ color:var(--blood-deep); text-underline-offset:3px; }
code{ font-family:'Plex',monospace; font-size:.9em; }

/* ---------- parallax ghosts: decorative outlined type, never under glass ---------- */
[data-psec]{ position:relative; }
.pg-ghost{ position:absolute; pointer-events:none; user-select:none; z-index:0; color:transparent; line-height:.8;
  -webkit-text-stroke:1px rgba(140,29,34,.16); font-variation-settings:'wght' 800,'wdth' 80; will-change:transform; }
.pg-ghost-num{ top:var(--s8); right:max(var(--gutter), calc((100vw - 1180px) / 2)); font-size:clamp(150px,20vw,300px); letter-spacing:-.04em; }
.pg-ghost-word{ bottom:var(--s7); left:calc(var(--gutter) * -.2); font-size:clamp(90px,12vw,184px); letter-spacing:-.03em; -webkit-text-stroke-color:rgba(140,29,34,.12); }
.pg-ghost-hero{ top:18%; right:-2vw; display:flex; font-size:clamp(220px,34vw,560px); letter-spacing:0; font-variation-settings:'wght' 900,'wdth' 125; -webkit-text-stroke:1.2px rgba(140,29,34,.13); }
.pg-ghost-hero span+span{ margin-left:-.05em; -webkit-text-stroke-color:rgba(140,29,34,.2); }
.pg-ghost-band{ top:6%; right:-3%; display:flex; font-size:clamp(200px,30vw,480px); font-variation-settings:'wght' 900,'wdth' 125; -webkit-text-stroke:1.2px rgba(246,241,232,.14); }
.sec > .wrap,.hero > .wrap{ position:relative; z-index:1; }
@media (max-width:760px){ .pg-ghost-num{ font-size:120px; top:var(--s6); } .pg-ghost-hero{ top:auto; bottom:120px; font-size:200px; opacity:.7; } .pg-ghost-word{ font-size:72px; } }

/* ---------- hero additions ---------- */
.hero .pg-ctas{ margin-top:var(--s6); }
.hstat .n.n-sm{ font-size:clamp(22px,2.3vw,32px); padding-top:6px; }
.hstat .n.n-sm span{ color:var(--blood); padding:0 .18em; }

/* ---------- sticker band (hero) ---------- */
.stk-band{ padding:18px 0 !important; overflow:hidden; }
.stk-track{ display:flex; width:max-content; will-change:transform; }
.stk-row{ display:flex; gap:18px; padding-right:18px; align-items:center; }
.stk{ position:relative; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; flex:none;
  height:62px; min-width:108px; padding:12px 20px; border-radius:14px; background:#FFFFFF;
  box-shadow:0 0 0 3px #FFFFFF, 0 0 0 4px rgba(100,20,24,.08), 0 10px 24px -10px rgba(40,6,8,.45);
  transform:rotate(var(--r,0deg)); transition:transform var(--t-hover) var(--ease-hover), box-shadow var(--t-hover) var(--ease-hover); }
.stk img{ display:block; height:30px; width:auto; max-width:132px; object-fit:contain; }
.stk.sq img{ height:36px; }
.stk:hover{ transform:rotate(0deg) translateY(-4px); box-shadow:0 0 0 3px #FFFFFF, 0 0 0 4px rgba(100,20,24,.1), 0 18px 34px -12px rgba(40,6,8,.5); }
.stk-cap{ font-family:'Plex',monospace; font-weight:500; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); }

/* ---------- logo wall (#methods): five columns drifting at different depths ---------- */
.lwall{ display:grid; grid-template-columns:repeat(5,1fr); gap:var(--s5); align-items:start; padding-top:var(--s6); }
.lcol{ display:flex; flex-direction:column; gap:var(--s5); will-change:transform; }
.lcol:nth-child(2n){ padding-top:var(--s8); }
.lcol .stk{ width:100%; height:auto; min-height:118px; padding:var(--s5) var(--s4) var(--s4); }
.lcol .stk img{ height:40px; max-width:150px; }
.lcol .stk.sq img{ height:48px; }
.pg-credit{ font-family:'Plex',monospace; font-size:10.5px; line-height:1.7; color:var(--ink-mute); margin-top:var(--s8); max-width:820px; }
@media (max-width:980px){ .lwall{ grid-template-columns:repeat(3,1fr); } .lcol:nth-child(n+4){ display:contents; } }
@media (max-width:620px){ .lwall{ grid-template-columns:1fr 1fr; gap:var(--s4); } .lcol{ gap:var(--s4); } .lcol:nth-child(2n){ padding-top:0; } .lcol:nth-child(n+3){ display:contents; } .lcol .stk{ min-height:100px; } .lcol .stk img{ height:32px; } }

/* ---------- white label (#white-label) ---------- */
.wl-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:var(--s9); align-items:start; }
.wl-head{ position:sticky; top:120px; }
.wl-head .sec-head{ margin-bottom:0; }
.wl-list{ display:flex; flex-direction:column; gap:var(--s5); }
.wl-swap{ border-radius:var(--r); overflow:hidden; background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-edge); box-shadow:var(--shadow); }
.wl-bar{ display:flex; align-items:center; gap:6px; padding:10px 14px; border-bottom:1px solid var(--hair); background:rgba(251,247,242,.5); }
.wl-bar i{ width:8px; height:8px; border-radius:50%; background:rgba(140,29,34,.22); }
.wl-url{ margin-left:var(--s3); font-family:'Plex',monospace; font-size:11px; color:var(--ink-mute); padding:3px 10px; border-radius:999px; background:rgba(255,255,255,.55); }
.wl-url b{ color:var(--ink); font-weight:600; transition:color .6s var(--ease); }
.wl-body{ display:grid; grid-template-columns:92px 1fr; min-height:168px; }
.wl-side{ --wl:#97302A; display:flex; flex-direction:column; align-items:center; gap:10px; padding:16px 12px; background:linear-gradient(158deg, color-mix(in srgb, var(--wl) 82%, #fff), var(--wl)); transition:background 900ms var(--ease); }
.wl-mono{ font-variation-settings:'wght' 900,'wdth' 110; font-size:22px; letter-spacing:-.06em; color:#fff; margin-bottom:6px; transition:opacity .4s; }
.wl-side s{ display:block; width:100%; height:6px; border-radius:3px; background:rgba(255,255,255,.3); }
.wl-side s:first-of-type{ background:rgba(255,255,255,.75); }
.wl-main{ padding:16px; display:flex; flex-direction:column; gap:10px; }
.wl-main s,.wl-tiles s{ display:block; height:8px; border-radius:4px; background:rgba(28,25,23,.08); }
.wl-main .w60{ width:60%; height:10px; } .wl-main .w90{ width:90%; } .wl-main .w75{ width:75%; }
.wl-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.wl-tiles s{ height:44px; border-radius:10px; background:rgba(255,255,255,.6); border:1px solid rgba(28,25,23,.06); }
.wl-rows{ list-style:none; border-radius:var(--r); background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-edge); box-shadow:var(--shadow); padding:var(--s2) var(--s6); }
.wl-rows li{ display:grid; grid-template-columns:28px 1fr; gap:var(--s4); padding:var(--s5) 0; border-bottom:1px solid var(--hair); }
.wl-rows li:last-child{ border-bottom:0; }
.wl-rows svg{ width:24px; height:24px; margin-top:2px; fill:none; stroke:var(--blood); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wl-rows h3{ font-size:19px; letter-spacing:-.015em; margin-bottom:6px; color:var(--ink); font-variation-settings:'wght' 700,'wdth' 95; text-transform:uppercase; }
.wl-rows p{ font-size:15px; line-height:1.55; color:var(--ink-grey); }
@media (max-width:980px){ .wl-grid{ grid-template-columns:1fr; gap:var(--s7); } .wl-head{ position:static; } }
@media (max-width:480px){ .wl-rows{ padding:var(--s1) var(--s4); } .wl-body{ grid-template-columns:72px 1fr; } }

/* ---------- steps (#how): a rail that fills as you scroll ---------- */
.stp{ --p:0; list-style:none; position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:var(--s5); padding-top:var(--s7); }
.stp::before,.stp::after{ content:""; position:absolute; top:13px; left:12px; right:12px; height:2px; border-radius:2px; background:var(--hair); }
.stp::after{ background:var(--blood); transform-origin:left center; transform:scaleX(var(--p)); }
.stp li{ position:relative; }
.stp li::before{ content:""; position:absolute; top:calc(var(--s7) * -1 + 6px); left:0; width:16px; height:16px; border-radius:50%;
  background:var(--cream); border:2px solid var(--line); z-index:1; transition:border-color var(--t-settle) var(--ease), background-color var(--t-settle) var(--ease); }
.stp li.lit::before{ border-color:var(--blood); background:var(--blood); box-shadow:0 0 0 4px rgba(140,29,34,.12); }
.stp-n{ display:block; font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.26em; color:var(--blood-deep); margin-bottom:var(--s3); }
.stp h3{ font-size:22px; letter-spacing:-.02em; margin-bottom:var(--s2); color:var(--ink); font-variation-settings:'wght' 700,'wdth' 95; text-transform:uppercase; }
.stp p{ font-size:14.5px; line-height:1.55; color:var(--ink-grey); }
@media (max-width:900px){
  .stp{ grid-template-columns:1fr; gap:var(--s6); padding-top:0; padding-left:var(--s7); }
  .stp::before,.stp::after{ top:6px; bottom:6px; left:7px; right:auto; width:2px; height:auto; }
  .stp::after{ transform-origin:center top; transform:scaleY(var(--p)); }
  .stp li::before{ top:2px; left:calc(var(--s7) * -1); }
}

/* ---------- bento (#platform) ---------- */
.bento{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--s4); }
.bx{ grid-column:span 4; display:flex; flex-direction:column; min-height:220px; }
.bx-7{ grid-column:span 7; } .bx-5{ grid-column:span 5; } .bx-3{ grid-column:span 3; }
.bx .bic{ width:28px; height:28px; fill:none; stroke:var(--blood); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; margin-bottom:var(--s4); }
.bx h3::before{ display:none !important; }
.bx p{ max-width:46ch; }
.bx-viz{ margin-top:auto; padding-top:var(--s5); }
.bx-rules{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.bx-rules span{ font-family:'Plex',monospace; font-size:11px; letter-spacing:.04em; padding:6px 10px; border-radius:8px; background:rgba(255,255,255,.55); border:1px solid var(--hair); color:var(--ink); }
.bx-rules span.o{ color:var(--blood-deep); background:rgba(140,29,34,.08); border-color:rgba(140,29,34,.2); }
.bx-rules i{ width:18px; height:1px; background:var(--blood); }
.bx-clock{ display:flex; align-items:center; gap:var(--s4); }
.bx-clock svg{ width:64px; height:64px; fill:none; stroke:var(--blood); stroke-width:3; stroke-linecap:round; }
.bx-clock circle{ stroke:var(--line); stroke-width:2; }
.bx-clock .m{ transform-origin:60px 60px; animation:pg-tick 8s linear infinite; }
.bx-clock span{ font-family:'Plex',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--blood-deep); }
@keyframes pg-tick{ to{ transform:rotate(360deg); } }
@media (max-width:980px){ .bx,.bx-7,.bx-5,.bx-3{ grid-column:span 6; } .bx-7{ grid-column:span 12; } }
@media (max-width:620px){ .bento{ grid-template-columns:1fr; } .bx,.bx-7,.bx-5,.bx-3{ grid-column:auto; min-height:0; } }

/* ---------- console ring (#consoles) ---------- */
.pg-consoles{ overflow:hidden; }
.cn-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s6); flex-wrap:wrap; }
.cn-head .sec-head{ margin-bottom:0; max-width:760px; }
.cn-ctl{ display:flex; align-items:center; gap:var(--s3); }
.cn-btn{ width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  background:var(--glass); border:1px solid var(--glass-edge); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  box-shadow:0 6px 18px rgba(100,20,24,.1), inset 0 1px 0 rgba(255,255,255,.8); color:var(--blood-deep); transition:transform var(--t-hover) var(--ease-hover); }
.cn-btn svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cn-btn:hover{ transform:translateY(-1px); }
.cn-cap{ min-width:170px; text-align:center; font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); }
.ring-stage{ --fw:560px; --fh:360px; --rad:calc(var(--fw) * 1.12); position:relative; height:calc(var(--fh) + 180px); margin-top:var(--s6);
  perspective:1800px; perspective-origin:50% 30%; touch-action:pan-y; cursor:grab; user-select:none; }
.ring-stage:active{ cursor:grabbing; }
.ring{ position:absolute; left:50%; top:40px; width:var(--fw); height:var(--fh); margin-left:calc(var(--fw) / -2); transform-style:preserve-3d; will-change:transform;
  transform:translateZ(calc(var(--rad) * -1)) rotateX(var(--tilt,-4deg)) rotateY(var(--ry,0deg)); }
.cfr{ position:absolute; inset:0; margin:0; border-radius:16px; overflow:hidden; backface-visibility:hidden;
  transform:rotateY(calc(var(--i) * (360deg / 7))) translateZ(var(--rad));
  background:#FFFFFF; border:1px solid rgba(255,255,255,.9);
  box-shadow:0 30px 60px -24px rgba(60,12,14,.45), 0 0 0 1px rgba(140,29,34,.08); }
.cfr-bar{ height:30px; display:flex; align-items:center; gap:6px; padding:0 12px; background:#F7F2EE; border-bottom:1px solid rgba(26,36,54,.06); }
.cfr-bar i{ width:8px; height:8px; border-radius:50%; background:#E3D6D0; }
.cfr-bar span{ margin-left:10px; font-family:'Plex',monospace; font-size:10px; color:#8A7F78; background:#fff; border-radius:999px; padding:2px 10px; }
@media (max-width:760px){
  .ring-stage{ --fw:300px; --fh:196px; height:auto; perspective:none; margin-top:var(--s5); overflow-x:auto; scroll-snap-type:x mandatory; cursor:auto;
    padding:0 var(--gutter) var(--s5); -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .ring-stage::-webkit-scrollbar{ display:none; }
  .ring{ position:static; margin:0; transform:none !important; display:flex; gap:var(--s4); width:max-content; height:auto; }
  .cfr{ position:relative; inset:auto; transform:none; width:var(--fw); height:var(--fh); flex:none; scroll-snap-align:center; }
  .cn-ctl{ display:none; }
}
.cn-foot{ display:flex; align-items:center; gap:var(--s5); flex-wrap:wrap; }
.cn-foot .pg-fine{ margin:0; max-width:520px; }

/* in-app miniature (Recon Engine look, scaled for a 560x330 body) */
.app{ font-family:'Inter',system-ui,-apple-system,sans-serif; color:var(--a-ink); }
.cfr-app{ position:absolute; top:30px; left:0; right:0; bottom:0; display:grid; grid-template-columns:132px 1fr; gap:10px; padding:10px;
  background:radial-gradient(70% 60% at 100% 0%, rgba(210,75,68,.10), transparent 58%), linear-gradient(180deg,#FFFFFF,#FCFBFB); }
.ca-side{ border-radius:14px; padding:12px 8px; overflow:hidden; color:#fff;
  background:linear-gradient(158deg,var(--a-m1) 0%,var(--a-m2) 52%,var(--a-m3) 100%); box-shadow:0 10px 24px rgba(147,48,43,.32), inset 0 1px 0 rgba(255,255,255,.3); }
.ca-mk{ display:flex; flex-direction:column; align-items:center; margin-bottom:10px; }
.ca-mk span{ font-variation-settings:'wght' 900,'wdth' 110; font-size:18px; letter-spacing:-.08em; line-height:1; }
.ca-mk s{ display:block; width:22px; height:1.5px; background:#fff; margin:5px 0 4px; }
.ca-mk em{ font-style:normal; font-family:'Plex',monospace; font-size:6px; letter-spacing:.3em; opacity:.8; }
.ca-side ul{ list-style:none; display:flex; flex-direction:column; gap:2px; }
.ca-side li{ display:flex; align-items:center; gap:6px; font-size:6.8px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.8); padding:5px 6px; border-radius:7px; white-space:nowrap; }
.ca-side li b{ width:7px; height:7px; border-radius:2px; border:1px solid rgba(255,255,255,.7); flex:none; }
.ca-side li.on{ background:rgba(255,255,255,.16); color:#fff; font-weight:700; }
.ca-main{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.ca-top{ display:flex; align-items:center; justify-content:space-between; padding:7px 10px; border-radius:11px; background:rgba(255,255,255,.7); border:1px solid rgba(26,36,54,.06); }
.ca-crumb{ font-family:'Plex',monospace; font-size:7.5px; letter-spacing:.14em; text-transform:uppercase; color:#5A6273; }
.ca-demo{ font-style:normal; font-family:'Plex',monospace; font-weight:600; font-size:6.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--a-red-deep); background:var(--a-red-wash); border:1px solid rgba(210,75,68,.3); padding:2px 6px; border-radius:5px; }
.cfr s{ display:block; height:6px; border-radius:3px; background:rgba(26,36,54,.09); flex:none; }
.cfr s.sb{ height:13px; margin-top:6px; background:rgba(26,36,54,.12); }
.cfr s.r{ margin-left:auto; }
.cfr s.m{ background:rgba(26,36,54,.06); }
.ctiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.ctiles.two{ grid-template-columns:1fr 1fr; }
.ct{ padding:8px; border-radius:10px; background:linear-gradient(150deg, rgba(255,251,248,.9), rgba(225,120,111,.08)); border:1px solid rgba(26,36,54,.06); }
.ck{ display:block; font-family:'Plex',monospace; font-size:6px; letter-spacing:.14em; text-transform:uppercase; color:var(--a-muted); }
.cmono{ display:block; margin-top:6px; font-family:'Plex',monospace; font-size:8px; color:var(--a-ink); }
.cpanel{ padding:8px; border-radius:10px; background:rgba(255,255,255,.72); border:1px solid rgba(26,36,54,.06); display:flex; flex-direction:column; gap:0; flex:1; min-height:0; overflow:hidden; }
.cchart .cbars{ flex:1; display:flex; align-items:flex-end; gap:5px; padding-top:8px; }
.cbars i{ flex:1; height:var(--h); border-radius:3px 3px 1px 1px; background:rgba(41,176,108,.55); }
.cbars i.o{ background:rgba(210,75,68,.55); margin-right:6px; }
.crow2{ display:flex; align-items:center; gap:8px; padding:6px 2px; border-bottom:1px solid rgba(26,36,54,.05); }
.crow2:last-child{ border-bottom:0; }
.crow2 .av{ width:14px; height:14px; border-radius:50%; background:linear-gradient(160deg,#fff,#FFD9D4); border:1px solid rgba(210,75,68,.25); flex:none; }
.crow2 .dot{ width:6px; height:6px; border-radius:50%; background:var(--a-pos-2); flex:none; }
.pill{ font-style:normal; font-family:'Plex',monospace; font-size:6.5px; letter-spacing:.08em; text-transform:uppercase; padding:2px 6px; border-radius:5px; flex:none; }
.pill.ok{ color:var(--a-pos); background:var(--a-pos-wash); } .pill.bad{ color:var(--a-red-deep); background:var(--a-red-wash); }
.pill.warn{ color:var(--a-warn); background:var(--a-warn-wash); } .pill.mute{ color:var(--a-ink-soft); background:rgba(43,52,68,.08); }
.cbar2{ display:flex; gap:5px; align-items:center; }
.cchip{ font-family:'Plex',monospace; font-size:6.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--a-muted); padding:4px 8px; border-radius:7px; background:rgba(255,255,255,.6); border:1px solid rgba(26,36,54,.06); }
.cchip.on{ color:var(--a-red-deep); background:rgba(255,255,255,.95); }
.cbtn{ margin-left:auto; font-family:'Inter',sans-serif; font-size:6.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--a-red-deep); background:rgba(210,75,68,.18); border:1px solid rgba(210,75,68,.4); padding:4px 8px; border-radius:7px; }
.cbtn.sm{ margin-left:0; padding:2px 6px; }
.crules{ gap:6px; }
.rule{ display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:8px; background:rgba(255,255,255,.8); border:1px solid rgba(26,36,54,.06); }
.rtxt{ font-family:'Plex',monospace; font-size:7.5px; color:var(--a-ink); }
.tg{ margin-left:auto; width:20px; height:11px; border-radius:6px; background:rgba(26,36,54,.14); position:relative; }
.tg::after{ content:""; position:absolute; top:2px; left:2px; width:7px; height:7px; border-radius:50%; background:#fff; }
.tg.on{ background:var(--a-red); } .tg.on::after{ left:11px; }
.split{ display:flex; height:8px; border-radius:4px; overflow:hidden; margin-top:4px; }
.split i:first-child{ background:var(--a-red); } .split i:last-child{ background:var(--a-red-lite); opacity:.6; }
.cbrand{ display:grid; grid-template-columns:1fr 1fr; gap:8px; flex:1; }
.csw{ display:flex; gap:5px; margin:6px 0 10px; }
.csw i{ width:16px; height:16px; border-radius:5px; }
.csw i:first-child{ box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--a-red); }
.clogo{ margin:6px 0 10px; padding:8px; border-radius:8px; border:1px dashed rgba(26,36,54,.2); font-variation-settings:'wght' 800,'wdth' 100; font-size:10px; letter-spacing:.14em; color:var(--a-ink); text-align:center; }
.cpv{ display:grid; grid-template-columns:30px 1fr; gap:8px; margin-top:8px; flex:1; }
.cpv b{ border-radius:7px; background:linear-gradient(158deg,var(--a-m1),var(--a-m3)); }
.cpv div{ display:flex; flex-direction:column; gap:6px; padding-top:4px; }

/* ---------- developers (#developers) ---------- */
.dev-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:var(--s8); align-items:start; }
.dev-cards{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s3); }
.dcard{ padding:var(--s5) !important; }
.dcard h3{ font-size:16px !important; }
.dcard p{ font-size:14px !important; }
.dcard code{ color:var(--blood-deep); }
.pg-code{ position:relative; border-radius:var(--r); background:var(--code); color:var(--code-ink); overflow:hidden;
  box-shadow:0 30px 70px -28px rgba(40,6,8,.55), inset 0 1px 0 rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.06); }
.pc-top{ display:flex; align-items:center; justify-content:space-between; gap:var(--s3); padding:var(--s4) var(--s5); border-bottom:1px solid var(--code-line); }
.pc-ep{ font-family:'Plex',monospace; font-size:12.5px; color:var(--code-ink); }
.pc-ep b{ color:var(--rose); font-weight:600; margin-right:6px; }
.pc-copy{ display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 12px; border-radius:9px; cursor:pointer;
  font-family:'Plex',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--code-ink);
  background:rgba(243,237,228,.06); border:1px solid var(--code-line); transition:background-color var(--t-micro) var(--ease-hover); }
.pc-copy svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; }
.pc-copy:hover{ background:rgba(243,237,228,.12); }
.pc-tabs{ display:flex; gap:var(--s1); padding:0 var(--s4); border-bottom:1px solid var(--code-line); overflow-x:auto; scrollbar-width:none; }
.pc-tabs button{ position:relative; min-height:44px; padding:0 var(--s3); background:none; border:0; cursor:pointer;
  font-family:'Plex',monospace; font-weight:500; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--code-mute); }
.pc-tabs button[aria-selected="true"]{ color:var(--code-ink); }
.pc-tabs button[aria-selected="true"]::after{ content:""; position:absolute; left:var(--s3); right:var(--s3); bottom:-1px; height:2px; border-radius:2px; background:var(--blood-lite); }
.pc-tabs button:focus-visible{ outline:2px solid var(--rose); outline-offset:-4px; }
.pg-code pre{ margin:0; padding:var(--s5); overflow-x:auto; font-family:'Plex',monospace; font-size:12.5px; line-height:1.7; tab-size:2; }
.pc-pane pre{ max-height:360px; }
.pg-code .c{ color:#8F8378; } .pg-code .s{ color:#F2C6A8; } .pg-code .k{ color:var(--rose); } .pg-code .n{ color:#E9D7A5; } .pg-code .f{ color:#C9D7E8; }
.pc-resp{ border-top:1px solid var(--code-line); background:rgba(243,237,228,.03); }
.pc-lbl{ display:block; padding:var(--s3) var(--s5) 0; font-family:'Plex',monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--code-mute); }
.pc-resp pre{ padding-top:var(--s3); }
@media (max-width:980px){ .dev-grid{ grid-template-columns:1fr; } }
@media (max-width:480px){ .dev-cards{ grid-template-columns:1fr; } .pg-code pre{ font-size:11.5px; padding:var(--s4); } }

/* ---------- coverage: ISO chips replace the flag emoji; IN · OUT replaces settlement terms ---------- */
.iso{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:18px; flex:none; border-radius:4px;
  font-family:'Plex',monospace; font-weight:600; font-size:9.5px; letter-spacing:.06em; color:var(--blood-deep); background:rgba(140,29,34,.08); border:1px solid rgba(140,29,34,.18); }
.crow .s{ letter-spacing:.12em; font-size:10.5px; white-space:nowrap; }

/* ---------- closing block ---------- */
.cta-h{ font-size:clamp(38px,5.4vw,72px); line-height:.94; letter-spacing:-.035em; font-variation-settings:'wght' 800,'wdth' 86; color:var(--ink); }
.cta-h em{ font-style:normal; color:var(--blood); }
.pg-reach-cta{ display:flex; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s6); }
.pg-reach-cta .tgchip{ margin-top:0; }
.pg-reach-cta .tgchip .h{ font-size:clamp(18px,2vw,24px); }

/* ---------- footer additions ---------- */
.pg-route a{ color:inherit; text-decoration:none; display:inline-flex; align-items:center; gap:var(--s2); }
.pg-route a:hover{ text-decoration:underline; text-underline-offset:4px; }
.pg-route{ font-size:10px !important; }
.pg-route a::before{ content:""; width:5px; height:5px; border-radius:50%; flex:none; border:1px solid var(--cream); background:var(--blood); box-shadow:inset 0 0 0 1.4px var(--blood), inset 0 0 0 3px var(--cream); }
.pg-route a + a{ flex:1; margin-left:var(--s3); }
.pg-route a + a::after{ content:""; order:-1; flex:1; min-width:16px; height:1px; margin-right:var(--s1); background:linear-gradient(90deg,rgba(246,241,232,.2),rgba(246,241,232,.7),rgba(246,241,232,.2)); }
.ftin a{ color:inherit; }
.pg-entity{ margin-top:var(--s4); font-family:'Plex',monospace; font-size:10.5px; line-height:1.7; letter-spacing:.02em; color:rgba(246,241,232,.62); max-width:900px; }
@media (max-width:620px){ .pg-route{ flex-wrap:wrap; gap:var(--s2) 0; } .pg-route a + a{ flex:none; } .pg-route a + a::after{ display:none; } }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .pg-ghost,.lcol,.stk-track,.ring{ transform:none !important; }
  .stk-track{ flex-wrap:wrap; width:auto; justify-content:center; }
  .stk-track .stk-row[aria-hidden="true"]{ display:none; }
  .stk-row{ flex-wrap:wrap; justify-content:center; row-gap:18px; }
  .bx-clock .m{ animation:none; }
  .stp::after{ transform:none !important; }
  .stk:hover,.pbtn:hover,.scard:hover{ transform:none; }
}

/* ring depth shading + brand swap transition + marketing-page font for the miniatures */
.cfr::after{ content:""; position:absolute; inset:0; pointer-events:none; background:#F6F1E8; opacity:var(--dim,0); transition:opacity 120ms linear; }
.cfr-app{ font-family:'Archivo',system-ui,sans-serif; }
@property --wl{ syntax:'<color>'; inherits:true; initial-value:#97302A; }
.wl-side{ transition:--wl 900ms var(--ease); }
@media (max-width:760px){ .cfr::after{ opacity:0; } }

/* ==========================================================================
   Inner pages (profile, white label, thanks, privacy)
   ========================================================================== */
.pg-inner .hero{ min-height:auto; padding-top:calc(var(--s10) + var(--s4)); padding-bottom:var(--s8); }
.pg-inner .hero h1{ font-size:clamp(44px,6.2vw,92px); }
.pg-inner .hero .kick{ margin-bottom:var(--s4); }
.ph-grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); gap:var(--s8); align-items:end; }
.ph-grid .lead{ margin-top:var(--s5); }
.facts{ position:relative; border-radius:var(--r); padding:var(--s5) var(--s6) var(--s4); background:var(--glass);
  -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-edge); box-shadow:var(--shadow); }
.facts-h{ font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--blood); padding-bottom:var(--s3); border-bottom:1px solid var(--line); }
.facts dl > div{ display:grid; grid-template-columns:128px 1fr; gap:var(--s3); padding:var(--s3) 0; border-bottom:1px solid var(--hair); }
.facts dl > div:last-child{ border-bottom:0; }
.facts dt{ font-family:'Plex',monospace; font-weight:500; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); padding-top:2px; }
.facts dd{ font-size:14.5px; line-height:1.45; color:var(--ink); font-variation-settings:'wght' 560,'wdth' 100; }
.facts a{ color:var(--blood-deep); }
@media (max-width:900px){ .ph-grid{ grid-template-columns:1fr; gap:var(--s7); } }
@media (max-width:420px){ .facts{ padding:var(--s4); } .facts dl > div{ grid-template-columns:1fr; gap:var(--s1); } }

.pf-wrap{ display:grid; grid-template-columns:220px minmax(0,1fr); gap:var(--s8); padding-top:var(--s7); padding-bottom:var(--s10); position:relative; z-index:1; }
.toc{ position:sticky; top:104px; align-self:start; }
.toc-d > summary{ list-style:none; cursor:pointer; font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--blood); padding:var(--s2) 0 var(--s3); }
.toc-d > summary::-webkit-details-marker{ display:none; }
.toc ol{ list-style:none; border-left:1px solid var(--line); }
.toc a{ display:block; padding:7px 0 7px var(--s4); margin-left:-1px; border-left:2px solid transparent; font-size:14px; color:var(--ink-soft); text-decoration:none;
  transition:color var(--t-micro) var(--ease-hover), border-color var(--t-micro) var(--ease-hover); }
.toc a:hover,.toc a[aria-current="true"]{ color:var(--blood-deep); border-left-color:var(--blood); }
.pf-body{ min-width:0; display:flex; flex-direction:column; gap:var(--s9); }
.pf-sec{ scroll-margin-top:110px; }
.pf-sec > .kick{ margin-bottom:var(--s4); }
.pf-sec h2{ margin-bottom:var(--s5); max-width:22ch; }
.pf-sec > p{ font-size:17px; line-height:1.62; color:var(--ink-grey); max-width:68ch; margin-bottom:var(--s4); }
.pf-sec > p b{ color:var(--ink); font-variation-settings:'wght' 700,'wdth' 100; }
.pf-sec > p a,.pf-note a,.pf-caps a,.pf-sec td a{ color:var(--blood-deep); text-underline-offset:3px; }
.pf-h3{ font-size:20px; letter-spacing:-.02em; text-transform:uppercase; color:var(--ink); margin:var(--s7) 0 var(--s4); font-variation-settings:'wght' 700,'wdth' 95; }
.pf-note{ font-family:'Plex',monospace; font-size:11.5px; line-height:1.7; color:var(--ink-mute); margin-top:var(--s4); max-width:78ch; }
.pf-tbl{ padding:var(--s4) var(--s5) var(--s3); overflow-x:auto; }
.pf-tbl table{ min-width:560px; }
.pf-tbl td,.pf-tbl th{ text-align:left !important; vertical-align:top; }
.pf-tbl td{ font-size:14.5px; line-height:1.45; }
.pf-tbl td.us{ background:rgba(140,29,34,.04); font-variation-settings:'wght' 500,'wdth' 100 !important; }
.pf-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s3); }
.pf-cards .kcard{ padding:var(--s5); }
.pf-cards .kcard h3{ font-size:17px; }
.pf-cards .kcard p{ font-size:14.5px; }
.pf-stacks{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); margin-bottom:var(--s6); }
.pf-stacks .kcard{ padding:var(--s5); }
.pf-stacks .kcard h3::before{ display:none; }
.pf-big{ display:block; font-size:56px; line-height:.9; letter-spacing:-.03em; color:var(--blood); font-variation-settings:'wght' 800,'wdth' 110; margin-bottom:var(--s4); }
.pf-big-sm{ font-size:30px; padding:13px 0 0; }
.pf-regions{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5) var(--s6); padding:var(--s5) 0 var(--s6); margin-bottom:var(--s5); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pf-regions h3{ font-family:'Plex',monospace; font-weight:600; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--blood-deep); margin-bottom:var(--s2); }
.pf-regions p{ font-size:15px; line-height:1.5; color:var(--ink); }
.pf-caps{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s6) var(--s7); }
.pf-caps h3{ font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--blood); padding-bottom:var(--s3); margin-bottom:var(--s2); border-bottom:1px solid var(--line); }
.pf-caps ul{ list-style:none; }
.pf-caps li{ font-size:15px; line-height:1.55; color:var(--ink-grey); padding:var(--s3) 0; border-bottom:1px solid var(--hair); }
.pf-caps li b{ color:var(--ink); font-variation-settings:'wght' 700,'wdth' 100; }
.pf-road{ list-style:none; border-top:1px solid var(--line); }
.pf-road li{ display:grid; grid-template-columns:170px 1fr; gap:var(--s4); align-items:baseline; padding:var(--s3) 0; border-bottom:1px solid var(--hair); font-size:15px; line-height:1.5; color:var(--ink); }
.pf-road span{ font-family:'Plex',monospace; font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute); }
.pf-chain{ display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr; align-items:stretch; gap:var(--s2); margin-bottom:var(--s5); }
.pf-node{ padding:var(--s5) var(--s4); border-radius:var(--r-in); background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-edge); box-shadow:var(--shadow); }
.pf-node.hot{ background:rgba(140,29,34,.1); border-color:rgba(140,29,34,.36); }
.pf-node h3{ font-size:17px; text-transform:uppercase; letter-spacing:-.01em; color:var(--ink); margin:var(--s2) 0; font-variation-settings:'wght' 700,'wdth' 95; }
.pf-node p{ font-size:13.5px; line-height:1.5; color:var(--ink-grey); }
.pf-lvl{ display:block; font-family:'Plex',monospace; font-weight:600; font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--blood-deep); }
.pf-arrow{ display:flex; align-items:center; justify-content:center; color:var(--blood); }
.pf-arrow svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.pf-group{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); }
.pf-group .kcard{ padding:var(--s5); }
.pf-group .kcard h3{ margin-top:var(--s2); }
.pf-group .kcard h3::before{ display:none; }
.pf-group a{ color:var(--blood-deep); }
.pf-plain{ list-style:none; border-top:1px solid var(--line); max-width:78ch; }
.pf-plain li{ padding:var(--s3) 0 var(--s3) var(--s5); position:relative; border-bottom:1px solid var(--hair); font-size:15.5px; line-height:1.55; color:var(--ink-grey); }
.pf-plain li::before{ content:""; position:absolute; left:2px; top:1.15em; width:7px; height:7px; background:var(--blood); transform:rotate(45deg); }
@media (max-width:1060px){ .pf-chain{ grid-template-columns:1fr 1fr; } .pf-arrow{ display:none; } }
@media (max-width:980px){
  .pf-wrap{ grid-template-columns:1fr; gap:var(--s6); padding-top:var(--s4); }
  .toc{ position:static; } .toc-d{ border-radius:var(--r-in); background:var(--glass); border:1px solid var(--glass-edge); padding:var(--s2) var(--s4) var(--s3); }
  .toc-d:not([open]) > summary{ padding-bottom:var(--s2); }
  .pf-stacks,.pf-group{ grid-template-columns:1fr; } .pf-regions{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){ .pf-cards,.pf-caps{ grid-template-columns:1fr; } .pf-chain{ grid-template-columns:1fr; } .pf-regions{ grid-template-columns:1fr; } .pf-road li{ grid-template-columns:1fr; gap:var(--s1); } .pf-body{ gap:var(--s8); } }

/* ==========================================================================
   BLOOD PANEL (named pattern, MASTER.md "Blood panel"): a rounded maroon panel floating on the
   cream field, deep shadow, gradient #8B2A2E -> #7A2126 -> #6E1B20, faint outlined PG watermark,
   its own cream constellation (angle per panel) + pg-motion's white overlay, hairline glass cards,
   two-tone headline (cream / rose). Text contrast: cream 8.1:1, body .84 cream 5.1:1, rose 4.75:1
   at the lightest stop. Variants: --bang (gradient angle), .pgw-* (watermark place / scale).
   ========================================================================== */
.pg-bsec{ padding:var(--s7) var(--s3) !important; }
.pg-band{ --bang:158deg; position:relative; overflow:hidden; max-width:1400px; margin:0 auto; border-radius:28px; padding:var(--s9) 0;
  background:linear-gradient(var(--bang), #8B2A2E 0%, #7A2126 52%, #6E1B20 100%); color:var(--cream);
  box-shadow:0 40px 90px -36px rgba(60,10,12,.62), 0 2px 8px rgba(60,10,12,.12), inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(30,4,6,.3); }
.pg-band > .wrap{ position:relative; z-index:2; }
.pg-blines{ position:absolute; left:0; top:-8%; width:100%; height:116%; pointer-events:none; z-index:0; will-change:transform; }
.pg-band .pg-ghost{ z-index:1; -webkit-text-stroke:1.2px rgba(246,241,232,.13); color:transparent; }
.pg-ghost-band{ display:flex; font-size:clamp(200px,30vw,480px); font-variation-settings:'wght' 900,'wdth' 125; line-height:.8; }
.pg-ghost-band span+span{ margin-left:-.05em; -webkit-text-stroke-color:rgba(240,179,171,.2); }
.pgw-tr .pg-ghost-band{ top:4%; right:-3%; }
.pgw-bl .pg-ghost-band{ bottom:-6%; left:-4%; top:auto; font-size:clamp(240px,36vw,560px); }
.pgw-tl .pg-ghost-band{ top:-4%; left:-2%; font-size:clamp(180px,26vw,420px); }
.pgw-c .pg-ghost-band{ top:50%; left:50%; margin:calc(clamp(260px,40vw,640px) * -.42) 0 0 calc(clamp(260px,40vw,640px) * -.62); font-size:clamp(260px,40vw,640px); -webkit-text-stroke-color:rgba(246,241,232,.09); }
.pgw-r .pg-ghost-band{ top:22%; right:-6%; font-size:clamp(160px,22vw,360px); }
.pgw-br .pg-ghost-band{ bottom:-8%; right:-3%; top:auto; font-size:clamp(220px,32vw,500px); }
.pg-band .kick{ color:var(--rose); } .pg-band .kick::after{ background:var(--rose); }
.pg-band h2,.pg-band h3,.pg-band .cta-h{ color:var(--cream); } .pg-band h2 em,.pg-band .cta-h em{ color:var(--rose); }
.pg-band .lead{ color:rgba(246,241,232,.84) !important; } .pg-band .lead b{ color:var(--cream) !important; }
.pg-band :is(.kcard,.rcard,.pcard,.scard){ background:rgba(246,241,232,.07); border:1px solid rgba(246,241,232,.2); border-radius:var(--r);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 18px 40px -24px rgba(30,4,6,.5); -webkit-backdrop-filter:none; backdrop-filter:none; }
html .pg-band :is(.kcard,.rcard,.pcard,.scard):hover{ background:rgba(246,241,232,.12); transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 26px 50px -24px rgba(30,4,6,.6); }
.pg-band :is(.kcard,.rcard,.pcard,.scard) p{ color:rgba(246,241,232,.86) !important; }
.pg-band :is(.kcard,.rcard,.pcard) p b{ color:var(--cream) !important; }
.pg-band :is(.kcard,.rcard,.pcard) h3{ color:var(--cream); }
.pg-band :is(.kcard,.pcard) h3::before{ background:var(--rose); }
.pg-band .rcard .num{ color:var(--rose); }
.pg-band .bul,.pg-band .bul > span{ color:rgba(246,241,232,.86) !important; } .pg-band .bul b{ color:var(--cream) !important; } .pg-band .bul::before{ background:var(--rose); }
.pg-band .pg-glint{ display:none; }
.pg-band .pbtn{ color:var(--cream); background:rgba(246,241,232,.14); border-color:rgba(246,241,232,.42); box-shadow:0 8px 22px rgba(30,4,6,.28), inset 0 1px 0 rgba(255,255,255,.25); -webkit-backdrop-filter:none; backdrop-filter:none; }
.pg-band .pbtn:hover{ background:rgba(246,241,232,.24); }
.pg-band .pbtn-q{ background:transparent; border-color:rgba(246,241,232,.3); }
.pg-band .pg-fine,.pg-band .ctanote{ color:rgba(246,241,232,.74); }
.pg-band .pg-fine a,.pg-band .ctanote a,.pg-band .lead a{ color:var(--rose); }
.pg-band .pg-link{ color:var(--rose); background-image:linear-gradient(var(--rose),var(--rose)); }
.pg-band code{ color:var(--rose); }
.pg-band :focus-visible{ outline-color:var(--cream); }
.pg-band ::selection{ background:rgba(246,241,232,.3); color:var(--cream); }
.pg-band .tgchip{ background:rgba(246,241,232,.12) !important; color:var(--cream) !important; border-color:rgba(246,241,232,.36); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 8px 22px rgba(30,4,6,.3), inset 0 1px 0 rgba(255,255,255,.2); }
.pg-band .tgchip .h{ color:var(--cream); } .pg-band .tgchip:hover{ background:rgba(246,241,232,.2) !important; }
/* security cards */
.sgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s4); }
.scard{ position:relative; padding:var(--s6); transition:transform var(--t-hover) var(--ease-hover), background-color var(--t-hover) var(--ease-hover), box-shadow var(--t-hover) var(--ease-hover); }
.pg-band svg.sic,.scard > svg{ width:28px; height:28px; fill:none; stroke:var(--rose); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; margin-bottom:var(--s4); }
.scard h3{ font-size:19px; letter-spacing:-.015em; margin-bottom:var(--s2); font-variation-settings:'wght' 700,'wdth' 95; text-transform:uppercase; }
.scard p{ font-size:15px; line-height:1.55; }
@media (max-width:980px){ .sgrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .sgrid{ grid-template-columns:1fr; } .pg-band{ padding:var(--s8) 0; border-radius:22px; } .pg-bsec{ padding-left:var(--s2) !important; padding-right:var(--s2) !important; } }
/* white label on a panel */
.pg-band .wl-rows{ background:rgba(246,241,232,.07); border-color:rgba(246,241,232,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); -webkit-backdrop-filter:none; backdrop-filter:none; }
.pg-band .wl-rows li{ border-bottom-color:rgba(246,241,232,.14); }
.pg-band .wl-rows svg{ stroke:var(--rose); } .pg-band .wl-rows h3{ color:var(--cream); } .pg-band .wl-rows p{ color:rgba(246,241,232,.86); }
.pg-band .wl-swap{ background:rgba(251,247,242,.94); -webkit-backdrop-filter:none; backdrop-filter:none; border-color:rgba(255,255,255,.7); box-shadow:0 30px 60px -28px rgba(30,4,6,.6); }
.pg-band .pg-ghost-word{ -webkit-text-stroke-color:rgba(246,241,232,.12); }
/* platform bento on a panel */
.pg-band .bx .bic{ stroke:var(--rose); }
.pg-band .bx-rules span{ background:rgba(246,241,232,.1); border-color:rgba(246,241,232,.22); color:var(--cream); }
.pg-band .bx-rules span.o{ color:var(--rose); background:rgba(240,179,171,.12); border-color:rgba(240,179,171,.3); }
.pg-band .bx-rules i{ background:var(--rose); }
.pg-band .bx-clock svg{ stroke:var(--rose); } .pg-band .bx-clock circle{ stroke:rgba(246,241,232,.25); } .pg-band .bx-clock span{ color:var(--rose); }
/* console ring on a panel */
.pg-band .cn-btn{ background:rgba(246,241,232,.1); border-color:rgba(246,241,232,.3); color:var(--cream); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }
.pg-band .cn-cap{ color:var(--cream); }
.pg-band .cfr::after{ background:#6E1B20; }
.pg-band .cfr{ box-shadow:0 40px 70px -30px rgba(20,2,4,.7), 0 0 0 1px rgba(255,255,255,.3); }
.pg-band .ring-stage{ margin-bottom:var(--s4); }
/* closing CTA on a panel */
.cta-in{ max-width:900px; }
.cta.pg-bsec{ padding-bottom:var(--s8) !important; }

/* ==========================================================================
   Payment loop (#flow): deposit in on a local rail, one balance, pay-out back on the same rail.
   Scroll draws the two paths; a glowing token rides them. Desktop horizontal, <=760 vertical.
   ========================================================================== */
.loop{ position:relative; margin:var(--s6) 0 var(--s7); }
.loop-stage{ position:relative; width:100%; aspect-ratio:1000 / 400; }
.loop-v{ display:none; }
.loop svg.lsvg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.lp-base{ fill:none; stroke:rgba(246,241,232,.16); stroke-width:2; stroke-dasharray:2 7; stroke-linecap:round; }
.lp-draw{ fill:none; stroke-width:2.6; stroke-linecap:round; }
.lp-draw.in{ stroke:var(--cream); }
.lp-draw.out{ stroke:var(--rose); }
.lp-tok{ fill:#FFF6F0; }
.lp-halo{ fill:rgba(255,236,228,.28); }
.lp-lbl{ font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
.lp-lbl.in{ fill:rgba(246,241,232,.9); } .lp-lbl.out{ fill:var(--rose); }
.ln{ position:absolute; left:var(--x); top:var(--y); width:0; height:0; list-style:none; }
.ln-in{ position:absolute; left:0; top:0; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; text-align:center; width:180px; }
.ln-ic{ display:flex; align-items:center; justify-content:center; width:78px; height:78px; border-radius:50%; margin-top:calc(var(--s4) * 0);
  background:rgba(246,241,232,.1); border:1px solid rgba(246,241,232,.32); box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 14px 30px -14px rgba(20,2,4,.6);
  transition:background-color var(--t-settle) var(--ease), box-shadow var(--t-settle) var(--ease), border-color var(--t-settle) var(--ease); }
.ln-ic svg{ width:30px; height:30px; fill:none; stroke:var(--cream); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.ln.lit .ln-ic{ background:rgba(246,241,232,.2); border-color:rgba(246,241,232,.7); box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 6px rgba(246,241,232,.07), 0 14px 30px -14px rgba(20,2,4,.6); }
.ln.hold .ln-ic{ box-shadow:0 0 0 10px rgba(240,179,171,.14), 0 0 36px rgba(255,220,210,.35); }
.ln-t{ position:absolute; top:calc(50% + 50px); left:50%; transform:translateX(-50%); width:190px; }
.ln b{ display:block; font-size:17px; letter-spacing:-.01em; text-transform:uppercase; color:var(--cream); font-variation-settings:'wght' 700,'wdth' 95; }
.ln .ln-s{ display:block; margin-top:4px; font-family:'Plex',monospace; font-weight:500; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(246,241,232,.74); }
.ln-c .ln-t{ top:auto; bottom:calc(50% + 50px); }
.loop-cards{ margin-top:var(--s7) !important; }
.loop-cards .rcard h3{ font-size:19px !important; }
@media (max-width:760px){
  .loop-stage{ aspect-ratio:360 / 860; max-width:420px; margin:0 auto; }
  .loop-h{ display:none; } .loop-v{ display:block; }
  .ln{ left:var(--mx); top:var(--my); }
  .ln-in{ width:auto; }
  .ln-ic{ width:62px; height:62px; } .ln-ic svg{ width:24px; height:24px; }
  .ln-t,.ln-c .ln-t{ top:50%; bottom:auto; left:calc(50% + 44px); transform:translateY(-50%); width:150px; text-align:left; }
  .ln-c .ln-t{ left:calc(50% + 40px); }
  .ln b{ font-size:15px; }
}
@media (prefers-reduced-motion: reduce){ .lp-tok,.lp-halo{ display:none; } }

/* ==========================================================================
   Coverage globe (#coverage) — flagship. Default (no JS) = static; .gl-on = pinned tour;
   .gl-static = reduced motion (flat map + lists). Canvas drawn by pg-globe.js.
   ========================================================================== */
.pg-gsec{ position:relative; padding:var(--s7) 0 var(--s8); }
.pg-gsec::before{ display:none !important; }
.gl-pin{ position:relative; }
.gl-stage{ position:relative; margin:0 var(--s3); max-width:none; padding:0; border-radius:28px; overflow:hidden; }
.gl-canvas{ display:block; width:100%; }
.pg-gsec:not(.gl-ready) .gl-canvas{ display:none; }
.gl-hud{ position:relative; z-index:3; padding:calc(var(--s10) - var(--s4)) max(var(--gutter), calc((100vw - 1180px) / 2)) 0; transition:opacity 420ms var(--ease); }
.gl-hud h2{ color:var(--cream); font-size:clamp(28px,3vw,46px); max-width:none; }
.gl-hud h2 em{ color:var(--rose); }
.gl-count{ display:flex; gap:var(--s7); margin-top:var(--s4); flex-wrap:wrap; }
.gl-count b{ display:block; font-size:clamp(36px,4.2vw,62px); line-height:.9; letter-spacing:-.03em; color:var(--cream); font-variation-settings:'wght' 800,'wdth' 112; font-variant-numeric:tabular-nums; }
.gl-count span{ display:block; margin-top:var(--s2); max-width:15ch; font-family:'Plex',monospace; font-weight:500; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(246,241,232,.78); line-height:1.45; }
.gl-node{ position:absolute; left:0; top:0; z-index:3; pointer-events:none; will-change:transform; }
.gl-node span{ position:absolute; left:18px; top:-30px; white-space:nowrap; font-family:'Plex',monospace; font-weight:600; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--cream);
  padding:4px 8px; border-radius:7px; background:rgba(40,6,8,.35); border:1px solid rgba(246,241,232,.25); }
.pg-gsec:not(.gl-ready) .gl-node{ display:none; }
.gl-rail{ list-style:none; display:none; }
/* panels (static default: a grid of region cards) */
.gl-panels{ position:relative; z-index:3; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--s4); padding:var(--s6) max(var(--gutter), calc((100vw - 1180px) / 2)) var(--s8); }
.gl-panel{ border-radius:var(--r); padding:var(--s5); background:linear-gradient(160deg, rgba(246,241,232,.11), rgba(246,241,232,.05)); border:1px solid rgba(246,241,232,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 24px 50px -28px rgba(20,2,4,.7); color:var(--cream); }
.gl-intro{ display:none; }
.gl-step{ display:block; font-family:'Plex',monospace; font-weight:600; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--rose); margin-bottom:var(--s2); }
.gl-panel h3{ font-size:22px; letter-spacing:-.02em; text-transform:uppercase; color:var(--cream); font-variation-settings:'wght' 700,'wdth' 95; margin-bottom:var(--s3); }
.gl-panel h3 em{ font-style:normal; color:var(--rose); }
.gl-panel p{ font-size:15px; line-height:1.55; color:rgba(246,241,232,.84); }
.gl-panel ul{ list-style:none; }
.gl-panel li{ display:grid; grid-template-columns:28px 1fr auto; gap:var(--s3); align-items:center; padding:var(--s3) 0; border-top:1px solid rgba(246,241,232,.14);
  transition:opacity var(--t-enter) var(--ease), translate var(--t-enter) var(--ease); }
.gl-panel li img{ width:28px; height:21px; border-radius:3px; box-shadow:0 0 0 1.5px #fff, 0 3px 8px rgba(20,2,4,.4); }
.gl-panel li b{ display:block; font-size:16px; color:var(--cream); font-variation-settings:'wght' 700,'wdth' 96; }
.gl-m{ display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.gl-m span{ font-family:'Plex',monospace; font-size:10.5px; line-height:1.3; padding:2px 7px; border-radius:6px; color:rgba(246,241,232,.9); background:rgba(246,241,232,.08); border:1px solid rgba(246,241,232,.18); }
.gl-panel li em{ font-style:normal; font-family:'Plex',monospace; font-weight:600; font-size:9.5px; letter-spacing:.14em; color:var(--rose); white-space:nowrap; padding:3px 7px; border-radius:6px; border:1px solid rgba(240,179,171,.4); }
.gl-more{ position:relative; z-index:1; padding-top:var(--s6); }
.gl-all{ border-radius:var(--r); background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-edge); box-shadow:var(--shadow); }
.gl-all > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:var(--s4); flex-wrap:wrap; padding:var(--s4) var(--s5); min-height:56px; }
.gl-all > summary::-webkit-details-marker{ display:none; }
.gl-all > summary span{ font-family:'Plex',monospace; font-weight:600; font-size:11.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--blood-deep); }
.gl-all > summary span::after{ content:" +"; }
.gl-all[open] > summary span::after{ content:" −"; }
.gl-all > summary em{ font-style:normal; font-family:'Plex',monospace; font-size:11px; color:var(--ink-mute); }
.gl-all .covwrap{ padding:0 var(--s5) var(--s5); }
.gl-all .reg:first-child{ margin-top:var(--s2); }
/* reduced motion: flat map (canvas) above the region cards */
.gl-static .gl-canvas{ aspect-ratio:2 / 1.12; margin-top:var(--s5); }
/* pinned tour */
.gl-on .gl-pin{ height:calc(100svh * (1 + var(--steps) * .6)); }
.gl-on .gl-stage{ position:sticky; top:0; height:100svh; min-height:620px; }
.gl-on .gl-canvas{ position:absolute; inset:0; height:100%; }
.gl-on .gl-hud{ position:absolute; left:0; top:0; padding-top:calc(var(--s9) + var(--s2)); }
.gl-on .gl-panels{ position:absolute; right:max(var(--gutter), calc((100vw - 1180px) / 2)); top:max(30%, 250px); width:min(380px,29vw); padding:0; display:block; }
.gl-on .gl-panel{ position:absolute; left:0; right:0; top:0; opacity:0; translate:0 18px; pointer-events:none; transition:opacity 520ms var(--ease), translate 520ms var(--ease); }
.gl-on .gl-panel.on{ opacity:1; translate:0 0; pointer-events:auto; }
.gl-on .gl-intro{ display:block; }
.gl-on .gl-panel li{ opacity:.35; translate:6px 0; }
.gl-on .gl-panel li.lit{ opacity:1; translate:0 0; }
.gl-on .gl-final{ top:auto; }
.gl-on[data-step="8"] .gl-hud{ opacity:0; }
.gl-on[data-step="8"] .gl-panels{ left:max(var(--gutter), calc((100vw - 1180px) / 2)); right:auto; top:calc(var(--s9) + var(--s2)); width:min(470px,38vw); }
.gl-on .gl-rail{ display:flex; position:absolute; z-index:3; left:max(var(--gutter), calc((100vw - 1180px) / 2)); bottom:var(--s6); gap:var(--s2); flex-wrap:wrap; }
.gl-rail button{ display:inline-flex; align-items:center; gap:var(--s2); min-height:36px; padding:0 var(--s3); border-radius:999px; cursor:pointer; border:1px solid rgba(246,241,232,.2); background:rgba(40,6,8,.22);
  font-family:'Plex',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(246,241,232,.72); transition:background-color var(--t-hover) var(--ease-hover), color var(--t-hover) var(--ease-hover); }
.gl-rail i{ width:6px; height:6px; border-radius:50%; background:rgba(246,241,232,.4); }
.gl-rail li.done button{ color:rgba(246,241,232,.9); } .gl-rail li.done i{ background:var(--rose); }
.gl-rail li.on button{ color:var(--cream); background:rgba(246,241,232,.16); border-color:rgba(246,241,232,.5); } .gl-rail li.on i{ background:var(--cream); box-shadow:0 0 0 3px rgba(246,241,232,.2); }
.gl-rail button:hover{ color:var(--cream); }
@media (max-width:1100px){ .gl-on .gl-panels{ width:min(360px,36vw); } .gl-on .gl-rail span{ display:none; } }
@media (max-width:760px), (max-width:1024px) and (orientation:portrait){
  .gl-stage{ margin:0 var(--s2); border-radius:22px; }
  .gl-on .gl-stage{ min-height:560px; }
  .gl-on .gl-hud{ padding:88px var(--s4) 0; }
  .gl-hud h2{ font-size:24px; max-width:none; }
  .gl-count{ gap:var(--s4); margin-top:var(--s3); }
  .gl-count b{ font-size:28px; } .gl-count span{ font-size:8.5px; max-width:none; margin-top:4px; }
  .gl-count{ flex-wrap:nowrap; } .gl-count > div{ flex:1 1 0; min-width:0; }
  .gl-on .gl-panels{ left:var(--s3); right:var(--s3); width:auto; top:auto; bottom:56px; transform:none; max-height:36%; }
  .gl-on .gl-panel{ top:auto; bottom:0; max-height:100%; overflow:auto; padding:var(--s4); }
  .gl-on[data-step="8"] .gl-panels{ top:auto; }
  .gl-panel h3{ font-size:17px; margin-bottom:var(--s2); }
  .gl-panel li{ padding:var(--s2) 0; grid-template-columns:24px 1fr auto; } .gl-panel li img{ width:24px; height:18px; }
  .gl-panel li b{ font-size:14px; } .gl-m span{ font-size:9.5px; }
  .gl-on .gl-rail{ left:var(--s3); right:var(--s3); bottom:var(--s3); justify-content:center; gap:6px; }
  .gl-rail button{ min-height:30px; padding:0 10px; } .gl-on .gl-rail span{ display:none; }
  .gl-node span{ font-size:9px; left:12px; top:-26px; }
}
@media (prefers-reduced-motion: reduce){ .gl-panel,.gl-panel li{ transition:none !important; } }

.gl-panel.gl-euro ul{ display:grid; grid-template-columns:1fr 1fr; column-gap:var(--s4); }
.gl-panel.gl-euro li{ grid-template-columns:24px 1fr; padding:var(--s2) 0; }
.gl-panel.gl-euro li img{ width:24px; height:18px; }
.gl-panel.gl-euro li b{ font-size:14px; }
.gl-euro-m{ display:flex; flex-wrap:wrap; gap:4px; margin:0 0 var(--s3); }
.gl-on .gl-panel{ max-height:calc(100svh - 360px); overflow:hidden; }
.gl-on .gl-panel li{ padding:10px 0; }
@media (max-width:760px), (max-width:1024px) and (orientation:portrait){ .gl-on .gl-panels{ top:auto; } .gl-on[data-step="8"] .gl-panels{ left:var(--s3); right:var(--s3); width:auto; top:auto; bottom:56px; } .gl-on[data-step="8"] .gl-hud{ opacity:1; } .gl-on .gl-panel{ max-height:100%; overflow:auto; } .gl-panel.gl-euro ul{ grid-template-columns:1fr 1fr 1fr; } .gl-panel.gl-euro li{ grid-template-columns:20px 1fr; gap:6px; } .gl-panel.gl-euro li b{ font-size:12px; } .gl-panel.gl-euro li img{ width:20px; height:15px; } }

@media (max-width:760px), (max-width:1024px) and (orientation:portrait){
  .gl-on .gl-panels{ height:31%; max-height:none; bottom:58px; }
  .gl-on .gl-panel{ top:0; bottom:0; }
  .gl-node span{ left:auto; right:10px; top:12px; }
  .gl-on[data-step="8"] .gl-panels{ height:max(22%, 190px); }
}

@media (min-width:761px) and (max-width:1024px) and (orientation:portrait){
  .gl-hud h2{ font-size:clamp(28px,3vw,46px); } .gl-count b{ font-size:clamp(36px,4.2vw,62px); } .gl-count span{ font-size:10px; }
  .gl-node span{ font-size:10.5px; }
}

/* ==========================================================================
   Logo constellation (#methods). Default (no JS): the method list. .lc-on = pinned pan (desktop);
   .lc-stacked = one canvas per region (mobile, reduced motion). Canvas by pg-logos.js.
   ========================================================================== */
.pg-lc{ padding-bottom:var(--s7); }
.pg-lc .sec-head{ margin-bottom:var(--s5); }
.lc-pin,.lc-stack{ display:none; }
.lc-list{ list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:var(--s5); max-width:1180px; margin:0 auto; padding:0 var(--gutter); }
.lc-list > li > b{ display:block; font-family:'Plex',monospace; font-weight:600; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--blood-deep); margin-bottom:var(--s2); }
.lc-list ul{ list-style:none; } .lc-list ul li{ font-size:14.5px; line-height:1.7; color:var(--ink-soft); }
.lc-on .lc-list,.lc-stacked .lc-list{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.lc-on .lc-pin{ display:block; position:relative; height:calc(100svh + (var(--n) - 1) * 52svh); }
.lc-stage{ position:sticky; top:0; height:100svh; min-height:600px; overflow:hidden; }
.lc-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.lc-hud{ position:absolute; left:max(var(--gutter), calc((100vw - 1180px) / 2)); top:calc(var(--s9) + var(--s1)); z-index:2; pointer-events:none; }
.lc-reg{ display:block; font-size:clamp(24px,2.4vw,34px); letter-spacing:-.02em; color:var(--ink); font-variation-settings:'wght' 800,'wdth' 92; }
.lc-cnt{ display:block; margin-top:6px; font-family:'Plex',monospace; font-weight:600; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--blood-deep); }
.lc-rail{ list-style:none; position:absolute; z-index:2; left:max(var(--gutter), calc((100vw - 1180px) / 2)); bottom:var(--s6); display:flex; gap:var(--s2); flex-wrap:wrap; }
.lc-rail button{ display:inline-flex; align-items:center; gap:var(--s2); min-height:36px; padding:0 var(--s3); border-radius:999px; cursor:pointer;
  font-family:'Plex',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute);
  background:rgba(251,247,242,.55); border:1px solid var(--line); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:color var(--t-hover) var(--ease-hover), background-color var(--t-hover) var(--ease-hover); }
.lc-rail i{ width:6px; height:6px; border-radius:50%; background:rgba(140,29,34,.3); }
.lc-rail li.done i{ background:var(--blood-lite); } .lc-rail li.on button{ color:var(--blood-deep); background:rgba(251,247,242,.9); border-color:rgba(140,29,34,.4); } .lc-rail li.on i{ background:var(--blood); box-shadow:0 0 0 3px rgba(140,29,34,.14); }
.lc-rail button:hover{ color:var(--blood-deep); }
.lc-tip{ position:absolute; z-index:5; transform:translate(-50%,-100%); pointer-events:none; display:flex; align-items:center; gap:8px; white-space:nowrap;
  padding:7px 11px; border-radius:11px; background:rgba(251,247,242,.94); border:1px solid rgba(140,29,34,.25); box-shadow:0 12px 30px -12px rgba(100,20,24,.35); }
.lc-tip b{ font-size:13.5px; color:var(--ink); font-variation-settings:'wght' 700,'wdth' 96; }
.lc-tip em{ font-style:normal; font-family:'Plex',monospace; font-size:10.5px; color:var(--ink-mute); }
.pg-lc{ position:relative; }
.lc-stacked .lc-stack{ display:flex; flex-direction:column; gap:var(--s5); max-width:760px; margin:0 auto; padding:0 var(--gutter); }
.lc-block{ position:relative; }
.lc-bh{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s3); padding-bottom:var(--s2); border-bottom:1px solid var(--line); }
.lc-bh b{ font-size:20px; letter-spacing:-.02em; text-transform:uppercase; color:var(--ink); font-variation-settings:'wght' 800,'wdth' 92; }
.lc-bh span{ font-family:'Plex',monospace; font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--blood-deep); }
.lc-block canvas{ display:block; width:100%; }

/* ---------- hero logo band: straight marks, no backgrounds, cream surface, hairline rules, edge fades ---------- */
.mq{ position:relative; margin-top:var(--s8); padding:var(--s4) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); overflow:hidden; }
.mq-row{ overflow:hidden; padding:10px 0; }
.mq-track{ display:flex; width:max-content; will-change:transform; }
.mq-set{ display:flex; align-items:center; gap:56px; padding-right:56px; }
.mq-set img{ display:block; width:auto; flex:none; }
@media (max-width:760px){ .mq{ margin-top:var(--s7); } .mq-set{ gap:40px; padding-right:40px; } .mq-set img{ transform:scale(.86); } }
@media (prefers-reduced-motion: reduce){ .mq-track{ transform:none !important; } .mq-set[aria-hidden="true"]{ display:none; } .mq-set{ flex-wrap:wrap; justify-content:center; row-gap:18px; width:100vw; } }

/* ==========================================================================
   White-label funnel (/white-label/)
   ========================================================================== */
.fsteps{ position:sticky; top:86px; z-index:40; display:flex; justify-content:center; padding:0 var(--gutter); margin-top:calc(var(--s5) * -1); pointer-events:none; }
.fsteps ol{ list-style:none; display:flex; gap:4px; padding:5px; border-radius:999px; pointer-events:auto; overflow-x:auto; scrollbar-width:none; max-width:100%;
  background:rgba(251,247,242,.72); -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); border:1px solid var(--glass-edge); box-shadow:var(--shadow); }
.fsteps ol::-webkit-scrollbar{ display:none; }
.fsteps a{ display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 16px; border-radius:999px; white-space:nowrap; text-decoration:none;
  font-family:'Plex',monospace; font-weight:500; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); transition:background-color var(--t-hover) var(--ease-hover), color var(--t-hover) var(--ease-hover); }
.fsteps a b{ font-weight:600; color:var(--blood); }
.fsteps a:hover{ color:var(--blood-deep); }
.fsteps a[aria-current="step"]{ background:var(--blood); color:var(--cream); }
.fsteps a[aria-current="step"] b{ color:var(--rose); }
.wl-box{ grid-template-columns:repeat(4,1fr); }
.wl-box .bic{ width:26px; height:26px; fill:none; stroke:var(--blood); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; margin-bottom:var(--s3); }
.wl-box .kcard h3::before{ display:none; }
.wl-split{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s8); margin-top:var(--s7); }
.wl-split .pf-h3{ margin-top:0; }
@media (max-width:1060px){ .wl-box{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .wl-box,.wl-split{ grid-template-columns:1fr; } .wl-split{ gap:var(--s6); } .fsteps{ top:80px; } .fsteps a{ padding:0 12px; font-size:10px; } }
.bo-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s8); align-items:center; }
.bo-grid .sec-head{ margin-bottom:0; }
.bo-frame{ position:relative; display:block; border-radius:18px; overflow:hidden; background:#fff; text-decoration:none;
  box-shadow:0 44px 90px -34px rgba(20,2,4,.72), 0 0 0 1px rgba(255,255,255,.4); transition:transform var(--t-hover) var(--ease-hover); }
.bo-frame .cfr-bar{ position:relative; display:flex; }
.bo-view{ position:relative; display:block; height:0; padding-bottom:62.5%; overflow:hidden; background:#FCFBFB; }
.bo-view iframe{ position:absolute; left:0; top:0; width:1440px; height:900px; border:0; transform-origin:0 0; transform:scale(var(--bs,.46)); pointer-events:none; }
.bo-view img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:0 0; display:block; }
.bo-open{ position:absolute; right:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 14px; border-radius:11px;
  font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); background:var(--blood); box-shadow:0 10px 24px -8px rgba(40,6,8,.5); }
.bo-open svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bo-frame:hover{ transform:translateY(-3px); }
.bo-frame:focus-visible{ outline:2px solid var(--cream); outline-offset:4px; }
@media (max-width:980px){ .bo-grid{ grid-template-columns:1fr; } }
/* request form */
.ap-grid{ display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:var(--s8); align-items:start; }
.ap-side{ position:sticky; top:150px; }
.ap-note{ margin-top:var(--s5); padding:var(--s5); border-radius:var(--r-in); border:1px solid var(--line); background:rgba(251,247,242,.5); }
.ap-note h3{ font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--blood-deep); margin-bottom:var(--s2); }
.ap-note p{ font-size:14px; line-height:1.6; color:var(--ink-soft); }
.ap-note a{ color:var(--blood-deep); }
.ap-card{ position:relative; border-radius:var(--r); padding:clamp(20px,3.4vw,40px); background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-edge); box-shadow:var(--shadow); scroll-margin-top:150px; }
.ap-form{ display:flex; flex-direction:column; gap:var(--s5); }
.ap-row.two{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
.fld{ display:flex; flex-direction:column; gap:6px; min-width:0; border:0; }
.fld label,.fld legend{ font-family:'Plex',monospace; font-weight:600; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink); }
.fld .opt{ font-weight:500; color:var(--ink-mute); letter-spacing:.1em; }
.fld input[type=text],.fld input[type=email],.fld select,.fld textarea{ width:100%; min-height:48px; padding:12px 14px; border-radius:12px; font:inherit; font-size:16px; color:var(--ink);
  background:rgba(255,255,255,.62); border:1px solid rgba(28,25,23,.16); transition:border-color var(--t-micro) var(--ease-hover), box-shadow var(--t-micro) var(--ease-hover); }
.fld textarea{ resize:vertical; min-height:110px; line-height:1.5; }
.fld select{ appearance:none; -webkit-appearance:none; padding-right:40px; background-image:linear-gradient(45deg,transparent 50%,var(--blood) 50%),linear-gradient(135deg,var(--blood) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px, calc(100% - 15px) 21px; background-size:5px 5px; background-repeat:no-repeat; }
.fld :is(input,select,textarea):hover{ border-color:rgba(140,29,34,.34); }
.fld :is(input,select,textarea):focus{ outline:none; border-color:var(--blood); box-shadow:0 0 0 3px rgba(140,29,34,.14); }
.fld.bad :is(input,select,textarea){ border-color:var(--blood); background:rgba(140,29,34,.04); }
.err{ min-height:0; font-size:13px; line-height:1.4; color:var(--blood-deep); }
.err:empty{ display:none; }
.ap-markets{ padding:0; margin:0; }
.ap-markets legend{ margin-bottom:var(--s3); }
.mk-g{ display:grid; grid-template-columns:150px 1fr; gap:var(--s3); padding:var(--s3) 0; border-top:1px solid var(--hair); }
.mk-h{ font-family:'Plex',monospace; font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--blood-deep); padding-top:9px; }
.mk-b{ display:flex; flex-wrap:wrap; gap:6px; }
.chk{ display:inline-flex; align-items:flex-start; gap:10px; cursor:pointer; font-family:inherit !important; font-weight:400 !important; font-size:14.5px !important; letter-spacing:0 !important; text-transform:none !important; color:var(--ink-soft) !important; line-height:1.5; }
.chk input{ appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:2px; border-radius:6px; border:1px solid rgba(28,25,23,.28); background:rgba(255,255,255,.7); display:grid; place-content:center; cursor:pointer; }
.chk input::before{ content:""; width:10px; height:10px; transform:scale(0); transition:transform 120ms var(--ease-hover); background:var(--cream); clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%); }
.chk input:checked{ background:var(--blood); border-color:var(--blood); } .chk input:checked::before{ transform:scale(1); }
.chk input:focus-visible{ outline:2px solid var(--blood); outline-offset:2px; }
.chk a{ color:var(--blood-deep); }
.chk.sm{ align-items:center; gap:7px; padding:6px 11px 6px 8px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.45); font-size:13.5px !important; min-height:36px; transition:background-color var(--t-micro), border-color var(--t-micro); }
.chk.sm input{ width:16px; height:16px; margin:0; border-radius:5px; } .chk.sm input::before{ width:8px; height:8px; }
.chk.sm:has(input:checked){ border-color:rgba(140,29,34,.45); background:rgba(140,29,34,.08); color:var(--ink) !important; }
.hp{ position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ap-actions{ display:flex; align-items:center; gap:var(--s4); flex-wrap:wrap; }
.ap-status{ font-size:14px; color:var(--ink-soft); }
.ap-status.bad{ color:var(--blood-deep); }
.pbtn[data-busy="true"]{ opacity:.6; cursor:progress; }
.ap-done{ text-align:left; }
.ap-done:focus{ outline:none; }
.ap-tick{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:var(--blood); margin-bottom:var(--s5); box-shadow:0 0 0 8px rgba(140,29,34,.1); }
.ap-tick svg{ width:26px; height:26px; fill:none; stroke:var(--cream); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.ap-done-h{ font-size:clamp(28px,3vw,40px); margin:var(--s3) 0 var(--s4); }
.ap-done .lead{ margin-bottom:var(--s5); }
.ap-preview{ font-family:'Plex',monospace; font-size:12px; line-height:1.6; color:var(--blood-deep); padding:var(--s3) var(--s4); border-radius:10px; background:rgba(140,29,34,.07); border:1px dashed rgba(140,29,34,.35); margin-bottom:var(--s4); }
@media (max-width:980px){ .ap-grid{ grid-template-columns:1fr; gap:var(--s6); } .ap-side{ position:static; } }
@media (max-width:620px){ .ap-row.two{ grid-template-columns:1fr; } .mk-g{ grid-template-columns:1fr; gap:var(--s2); } .mk-h{ padding-top:0; } }

/* ---------- payment loop on cream (#flow) ---------- */
.pg-flowc{ position:relative; overflow:hidden; }
.pg-ghost-flow{ top:8%; right:-4%; display:flex; font-size:clamp(220px,30vw,480px); font-variation-settings:'wght' 900,'wdth' 125; -webkit-text-stroke:1.2px rgba(196,86,78,.2); }
.pg-ghost-flow span+span{ margin-left:-.05em; }
.pg-flowc .lp-base{ stroke:rgba(140,29,34,.2); }
.pg-flowc .lp-draw.in{ stroke:var(--blood); }
.pg-flowc .lp-draw.out{ stroke:var(--ink); }
.pg-flowc .lp-tok{ fill:var(--blood); }
.pg-flowc .lp-halo{ fill:rgba(140,29,34,.32); }
.pg-flowc .lp-lbl.in{ fill:var(--blood-deep); } .pg-flowc .lp-lbl.out{ fill:var(--ink); }
.pg-flowc .ln-ic{ background:rgba(251,247,242,.72); border:1px solid rgba(140,29,34,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 14px 30px -16px rgba(100,20,24,.35);
  -webkit-backdrop-filter:blur(12px) saturate(150%); backdrop-filter:blur(12px) saturate(150%); }
.pg-flowc .ln-ic svg{ stroke:var(--blood); }
.pg-flowc .ln.lit .ln-ic{ background:rgba(251,247,242,.95); border-color:var(--blood); box-shadow:inset 0 1px 0 #fff, 0 0 0 6px rgba(140,29,34,.08), 0 14px 30px -14px rgba(100,20,24,.4); }
.pg-flowc .ln.hold .ln-ic{ box-shadow:0 0 0 10px rgba(140,29,34,.1), 0 0 34px rgba(140,29,34,.28); }
.pg-flowc .ln b{ color:var(--ink); }
.pg-flowc .ln .ln-s{ color:var(--ink-mute); }
/* European bank payments on a panel */
.pg-band .tile{ background:rgba(246,241,232,.07); border:1px solid rgba(246,241,232,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); -webkit-backdrop-filter:none; backdrop-filter:none; border-radius:var(--r); }
html .pg-band .tile:hover{ background:rgba(246,241,232,.12); }
.pg-band .tile .n{ color:var(--cream); } .pg-band .tile .n span{ color:var(--rose); }
.pg-band .tile .l{ color:rgba(246,241,232,.8); }
.pg-band .covnote{ color:rgba(246,241,232,.74); }
.pg-band .chips span{ color:var(--cream); }
.pg-band .railslist{ color:rgba(246,241,232,.86); }
.pg-band .bankgrid .kick{ color:var(--rose); }

/* reveal safety net: row groups that are not observed reveal targets (inside <details>, profile tables) are
   always visible — pg-site only hides rows of a .covwrap/.tbl that is itself a .rv waiting for .on */
.pg-js .covwrap:not(.rv) .crow,.pg-js .tbl:not(.rv) tbody tr{ opacity:1 !important; }
.gl-all .crow .c{ gap:10px; }
.cflag{ width:22px; height:16.5px; border-radius:2px; box-shadow:0 0 0 1px rgba(28,25,23,.12); flex:none; }
.gl-all .crow .iso{ margin-left:auto; }
.gl-all .crow{ grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) 80px; }
@media (max-width:620px){ .gl-all .covwrap{ grid-template-columns:1fr; gap:0; } .gl-all .crow{ grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 74px; } .gl-all .crow .s{ padding-left:8px; } .gl-all .crow .iso{ display:none; } }

/* thanks + privacy */
.ty-card{ max-width:820px; margin-top:var(--s5); }
.ty-steps{ list-style:none; counter-reset:t; margin:var(--s5) 0 var(--s6); border-top:1px solid var(--line); }
.ty-steps li{ counter-increment:t; position:relative; padding:var(--s3) 0 var(--s3) 44px; border-bottom:1px solid var(--hair); font-size:15.5px; line-height:1.5; color:var(--ink-grey); }
.ty-steps li::before{ content:counter(t, decimal-leading-zero); position:absolute; left:0; top:var(--s3); font-family:'Plex',monospace; font-weight:600; font-size:11px; letter-spacing:.18em; color:var(--blood-deep); padding-top:3px; }
.ty-steps b{ color:var(--ink); font-variation-settings:'wght' 700,'wdth' 100; }
.pv-body{ display:flex; flex-direction:column; gap:var(--s7); padding-bottom:var(--s10); position:relative; z-index:1; max-width:900px !important; }
.pv-body h2{ font-size:clamp(24px,2.4vw,32px); margin-bottom:var(--s4); }

/* ==========================================================================
   Payment methods (#methods): five full-bleed rows, alternating direction, marks with no backgrounds.
   ========================================================================== */
.pg-lr{ overflow:hidden; }
.pg-lr .sec-head{ margin-bottom:var(--s7); }
.lr{ position:relative; width:100%; display:flex; flex-direction:column; gap:var(--s5);
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%); }
.lr-row{ overflow:hidden; padding:6px 0; }
.lr-set{ gap:64px; padding-right:64px; }
.lr-i{ display:inline-flex; align-items:center; flex:none; cursor:default; transition:opacity var(--t-hover) var(--ease-hover); }
.lr-i img{ display:block; width:auto; }
.lr-w{ font-family:'Plex',monospace; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); white-space:nowrap; height:36px; }
.lr-row:hover .lr-i{ opacity:.55; } .lr-row:hover .lr-i:hover{ opacity:1; }
.lr-tip{ position:fixed; z-index:60; left:0; top:0; transform:translate(-50%,calc(-100% - 10px)); pointer-events:none; display:flex; align-items:center; gap:8px; white-space:nowrap;
  padding:6px 10px; border-radius:10px; background:rgba(251,247,242,.96); border:1px solid rgba(140,29,34,.25); box-shadow:0 12px 28px -12px rgba(100,20,24,.35); font-size:13px; color:var(--ink); }
.lr-tip b{ font-variation-settings:'wght' 700,'wdth' 96; } .lr-tip em{ font-style:normal; font-family:'Plex',monospace; font-size:10.5px; color:var(--ink-mute); }
@media (max-width:760px){ .lr{ gap:var(--s4); } .lr-set{ gap:44px; padding-right:44px; } .lr-i img{ transform:scale(.82); transform-origin:center; } .lr-w{ font-size:11.5px; } }
@media (prefers-reduced-motion: reduce){ .lr .mq-track{ transform:none !important; } }

/* links and captions on maroon: always cream (never the inherited dark link colour), visited included */
footer a.pg-parent,footer a.pg-parent:visited{ color:#F6F1E8 !important; }
footer a.pg-parent:hover,footer a.pg-parent:focus-visible{ color:#FFFFFF !important; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
footer a,footer a:visited,.pg-band a:not(.pbtn):not(.tgchip),.pg-band a:not(.pbtn):not(.tgchip):visited{ color:#F6F1E8; }
footer a:hover{ color:#FFFFFF; }
.pg-entity{ color:rgba(246,241,232,.84) !important; }
.pg-band .pg-link,.pg-band .pg-link:visited{ color:var(--rose); }
.pg-band :is(.covnote,.tblnote,.ctanote,.step p,.slrow p,td){ color:rgba(246,241,232,.8) !important; }

/* console ring with real (value-free) renders: 8 frames */
.ring-stage{ --fw:600px; --fh:405px; --rad:calc(var(--fw) * 1.34); }
.cfr{ transform:rotateY(calc(var(--i) * 45deg)) translateZ(var(--rad)); }
.cfr-img{ position:absolute; top:30px; left:0; width:100%; height:calc(100% - 30px); object-fit:cover; object-position:left top; display:block; user-select:none; -webkit-user-drag:none; }
@media (max-width:760px){ .ring-stage{ --fw:320px; --fh:230px; } .cfr{ transform:none; } }
.nf{ position:relative; min-height:52vh; }
.nf-ghost{ top:-40px; right:0; font-size:clamp(160px,26vw,380px); letter-spacing:-.04em; }
