/* Wallet Screening page. Builds on platform.css (.fp-*); wallet-specific components use .wh-, .wl- and .wd- prefixes. */
.fp-wallet .fp-hero-copy { grid-column:1 / span 5; }
.fp-wallet .fp-hero-visual { grid-column:6 / span 7; }
.fp-wallet .fp-hero h1 { font-size:clamp(2.75rem,5.2vw,4.5rem); }
.fp-wallet .fp-hero-lead { max-width:520px; }
.fp-wallet .fp-hero .fp-btn { padding:14px 20px; font-size:.9375rem; }

/* ---------- hero wallet report ---------- */
.fu--wallet .fu-body { padding:18px 20px 20px; }
.wh-net { margin-left:auto; display:flex; align-items:center; gap:8px; font-size:.8125rem; color:#dcebe8; font-weight:600; }
.wh-net em { width:9px; height:9px; border-radius:50%; background:#8aa4ff; box-shadow:0 0 8px #8aa4ff; }
.wh-addr { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid #1d4254; }
.wh-addr small, .wh-box-head, .wh-expo-head { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; }
.wh-addr small { display:block; margin-bottom:5px; }
.wh-addr code { display:block; font:600 .9375rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; color:#fff; word-break:break-all; max-width:380px; }
.wh-stamp { text-align:right; flex:none; }
.wh-stamp b { color:#7ee8c8; font-size:.875rem; font-weight:650; white-space:nowrap; }
.wh-top { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; align-items:center; margin-bottom:16px; }
.wh-score { text-align:center; }
.wh-score .fu-ring { width:118px; height:118px; }
.wh-score .fu-ring strong { font-size:2.5rem; }
.wh-level { display:block; margin-top:8px; font-size:1.0625rem; color:#f2a65a; }
.wh-score small { display:block; font-size:.8125rem; color:#8fb0b5; }
.wh-expo-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; }
.wh-expo-head span:last-child { display:flex; align-items:center; gap:6px; text-transform:none; letter-spacing:0; }
.k { display:inline-block; width:10px; height:10px; border-radius:2px; } .k-d { background:#3aa387; } .k-i { background:#5b8ea0; margin-left:8px; }
.wh-expo ul, .wd-bars { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.wh-expo li, .wd-bars li { display:grid; grid-template-columns:104px minmax(0,1fr) 68px; gap:12px; align-items:center; font-size:.875rem; color:#dcebe8; margin:0; }
.wh-expo li div, .wd-bars li div { display:flex; gap:2px; height:9px; background:#16394a; border-radius:2px; overflow:hidden; }
.wh-expo i, .wd-bars i { display:block; height:100%; }
.wh-expo i.d, .wd-bars i.d { background:#3aa387; } .wh-expo i.n, .wd-bars i.n { background:#5b8ea0; }
.wh-expo i.is-hot, .wd-bars i.is-hot { background:#e0685f!important; } .wd-bars i.is-warn { background:#e0a94a!important; }
.wh-expo b, .wd-bars b { text-align:right; color:#fff; font-weight:650; font-size:.8125rem; white-space:nowrap; }
.wh-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.wh-box { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:12px 14px; min-width:0; }
.wh-box-head { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; }
.wh-box-head span:last-child { text-transform:none; letter-spacing:0; font-weight:500; }
.wh-ents { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.wh-ents li { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:10px; align-items:center; font-size:.875rem; margin:0; }
.wh-ents b { font-weight:600; color:#eaf4f2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wh-av { width:30px; height:30px; border-radius:6px; background:#173c4d; color:#cfe3e0; display:grid; place-items:center; font-size:.6875rem; font-weight:700; letter-spacing:.04em; }
.wh-av--w { background:#4a3a1a; color:#f2c777; } .wh-av--h { background:#4a2429; color:#ffb4ad; }
.wh-tx { width:100%; border-collapse:collapse; font-size:.8125rem; color:#dcebe8; }
.wh-tx td { padding:6px 6px 6px 0; border-bottom:1px solid #16394a; white-space:nowrap; }
.wh-tx tr:last-child td { border-bottom:0; }
.wh-flags { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.wh-flags span { padding:5px 12px; border-radius:5px; background:#123a3a; color:#8fe6c6; font-size:.8125rem; font-weight:650; }
.wh-flags .is-hot { background:#4a2429; color:#ffb4ad!important; } .wh-flags .is-warn { background:#4a3a1a; color:#f2c777!important; }

/* ---------- shared icon tile ---------- */
.wl-ico { flex:none; width:60px; height:60px; border-radius:8px; display:grid; place-items:center; background:#0a2a36; color:#18c79b; box-shadow:0 14px 26px -16px rgba(6,40,50,.8); }
.wl-ico svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.wl-ico--sm { width:44px; height:44px; box-shadow:none; } .wl-ico--sm svg { width:22px; height:22px; }
.wl-kicker { display:block; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--em); margin-bottom:8px; }

/* ---------- workflow ---------- */
.wl-flow { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; padding:0; position:relative; }
.wl-flow::before { content:''; position:absolute; left:60px; right:60px; top:30px; height:2px; background:repeating-linear-gradient(90deg,#7fbfa9 0 8px,transparent 8px 14px); }
.wl-step { position:relative; margin:0; }
.wl-node { position:relative; z-index:1; display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.wl-node .wl-ico { box-shadow:0 0 0 7px #fff,0 14px 26px -16px rgba(6,40,50,.8); }
.wl-num { font:700 .9375rem ui-monospace,Consolas,monospace; letter-spacing:.08em; color:#fff; background:var(--navy-2); padding:5px 10px; border-radius:4px; box-shadow:0 0 0 6px #fff; }
.wl-stepcard { background:var(--mint-l); border:1px solid #d3e6de; border-radius:8px; padding:28px; height:calc(100% - 82px); display:flex; flex-direction:column; transition:transform .22s,box-shadow .22s,border-color .22s; }
.wl-step:hover .wl-stepcard { transform:translateY(-3px); border-color:#9fd0c1; box-shadow:0 26px 44px -32px rgba(0,110,90,.5); }
.wl-stepcard h3 { font-size:1.4375rem; line-height:1.25; letter-spacing:-.02em; margin:0 0 12px; }
.wl-stepcard p { font-size:1.0625rem; flex:1; }

/* ---------- demonstration ---------- */
.wd .fu { max-width:none; }
.wd-win { box-shadow:0 60px 110px -40px rgba(0,0,0,.85),0 0 0 1px rgba(24,199,155,.2),0 0 90px -24px rgba(24,199,155,.25); }
.wd-input { display:grid; grid-template-columns:minmax(0,1fr) 230px auto; gap:12px; padding:16px 20px; background:#0a1c28; border-bottom:1px solid #1d4254; }
.wd-field { background:#0c2230; border:1px solid #24485a; border-radius:6px; padding:9px 14px; min-width:0; }
.wd-field small, .wd-card > small, .wd-factors > small, .wd-expo-head small, .wd-foot small, .wd-ents small { display:block; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; margin-bottom:4px; }
.wd-field span { display:flex; justify-content:space-between; gap:10px; font:.9375rem ui-monospace,Consolas,monospace; color:#fff; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wd-field--net span { font-family:inherit; font-weight:600; } .wd-field--net em { font-style:normal; color:#8fb0b5; }
.wd-go { display:grid; place-items:center; padding:0 26px; background:var(--em-b); color:#03241c; border-radius:6px; font-weight:700; font-size:.9375rem; white-space:nowrap; }
.wd-panels { padding:20px; }
.wd-panel[hidden] { display:none; }
.wd-grid3 { display:grid; grid-template-columns:1fr 1.1fr 1.5fr; gap:14px; }
.wd-card { background:#10303f; border:1px solid #1f4557; border-radius:6px; padding:16px 18px; min-width:0; }
.wd-card--score { text-align:center; } .wd-card--score .fu-ring { width:128px; height:128px; margin:8px auto; }
.wd-level { display:block; color:#f2a65a; font-size:1.1875rem; } .wd-card--score > span { color:#b7cccd; font-size:.9375rem; }
.wd-labels { list-style:none; margin:6px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.wd-labels li { margin:0; padding:5px 12px; border-radius:5px; background:#123a3a; color:#8fe6c6; font-size:.8125rem; font-weight:650; }
.wd-labels .is-hot { background:#4a2429; color:#ffb4ad!important; } .wd-labels .is-warn { background:#4a3a1a; color:#f2c777!important; }
.wd-sub { margin-top:14px!important; text-transform:none!important; letter-spacing:0!important; font-weight:500!important; }
.wd-alerts { list-style:none; margin:4px 0 0; padding:0; display:grid; gap:2px; }
.wd-alerts li { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #1a4152; margin:0; }
.wd-alerts li:last-child { border-bottom:0; }
.wd-alerts b { display:block; font-size:.9375rem; color:#fff; font-weight:600; } .wd-alerts span { font-size:.8125rem; color:#8fb0b5; }
.wd-alerts .dot { width:9px; height:9px; border-radius:50%; background:#3fe0a6; } .wd-alerts .dot.is-hot { background:#ff7d73; } .wd-alerts .dot.is-warn { background:#f2c777; }
.wd-alerts em { font-style:normal; }
.wd-factors { margin-top:14px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:14px 18px 18px; }
.wd-factors .wd-bars { margin-top:12px; }
.wd-bars li { grid-template-columns:150px minmax(0,1fr) 78px; font-size:.9375rem; }
.wd-expo { display:grid; grid-template-columns:1.7fr 1fr; gap:14px; }
.wd-expo-main { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:16px 18px 20px; }
.wd-expo-head { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:16px; }
.wd-expo-head span { display:flex; align-items:center; gap:6px; font-size:.8125rem; color:#b7cccd; }
.wd-expo-main .wd-bars { gap:18px; }
.wd-expo-side { display:grid; gap:12px; align-content:start; }
.wd-expo-side strong { display:block; font-size:2rem; line-height:1.1; color:#fff; letter-spacing:-.02em; }
.wd-expo-side span { font-size:.875rem; color:#9db8ba; }
.wd-card--note span { font-size:.9375rem; color:#b7cccd; line-height:1.55; }
.wd-graph { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:14px; }
.wd-graphbox { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:8px; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:32px 32px; }
.wd-graph-svg { display:block; width:100%; height:auto; min-height:280px; }
.wd-ents { list-style:none; margin:0; padding:0; display:grid; gap:10px; align-content:start; }
.wd-ents li { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:12px; align-items:center; background:#10303f; border:1px solid #1f4557; border-radius:6px; padding:10px 12px; margin:0; }
.wd-ents li:first-child { background:none; border:0; padding:0; display:block; }
.wd-ents b { display:block; font-size:.9375rem; color:#fff; } .wd-ents span:not(.wh-av) { font-size:.8125rem; color:#8fb0b5; }
.wd-table td.mono { font-family:ui-monospace,Consolas,monospace; font-size:.875rem; color:#b7cccd; }
.wd-history { margin:14px 0 0!important; font-size:.9375rem!important; color:#a9c2c4!important; } .wd-history b { color:#7ee8c8; margin-right:8px; }
.wd-foot { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 20px; background:#0a1c28; border-top:1px solid #1d4254; }
.wd-foot span { font-size:.9375rem; color:#b7cccd; }
.wd-export { display:inline-flex; align-items:center; gap:10px; padding:11px 20px; border:1px solid var(--em-b); border-radius:6px; color:#19d0a0; font-weight:700; font-size:.9375rem; background:rgba(25,180,140,.1); white-space:nowrap; }
.wd-export svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- checklist ---------- */
.wl-conv { align-items:start; }
.wl-prep { list-style:none; margin:28px 0 0; padding:0; display:grid; gap:0; position:relative; }
.wl-prep::before { content:''; position:absolute; left:17px; top:20px; bottom:20px; width:2px; background:repeating-linear-gradient(180deg,#7fbfa9 0 6px,transparent 6px 11px); }
.wl-prep li { position:relative; display:flex; align-items:center; gap:16px; padding:11px 0; margin:0; font-size:1.125rem; font-weight:600; color:var(--ink); }
.wl-prep li span { position:relative; z-index:1; flex:none; width:36px; height:36px; border-radius:6px; background:var(--navy-2); color:#18c79b; display:grid; place-items:center; font:700 .9375rem ui-monospace,Consolas,monospace; }
.wl-prep-note { margin:14px 0 0!important; font-size:.9375rem!important; }
.wl-check { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:0; }
.wl-check li { margin:0; display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; padding:26px 24px; background:#fff; border:1px solid #cfe1d9; border-top:3px solid var(--em); border-radius:8px; box-shadow:0 26px 44px -36px rgba(6,40,50,.5); transition:transform .22s,box-shadow .22s; }
.wl-check li:hover { transform:translateY(-3px); box-shadow:0 30px 50px -32px rgba(0,110,90,.5); }
.wl-tick { width:48px; height:48px; border-radius:8px; display:grid; place-items:center; background:var(--mint); color:var(--em); border:1px solid #cfe6dd; }
.wl-tick svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.wl-check h3 { font-size:1.25rem; line-height:1.25; letter-spacing:-.015em; margin:0 0 8px; }
.wl-check p { font-size:1rem; margin:0; line-height:1.6; }

/* ---------- coverage ---------- */
.wl-cov { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:24px; }
.wl-cov-title { font-size:.8125rem!important; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--em); margin:0 0 16px!important; }
.wl-net-grid { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:0; }
.wl-net-tile { margin:0; display:grid; gap:6px; align-content:start; padding:24px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.wl-net-tile b { font-size:1.25rem; letter-spacing:-.015em; margin-top:8px; } .wl-net-tile small { font-size:.9375rem; color:var(--mute); line-height:1.5; }
.wl-net-tile em { justify-self:start; margin-top:10px; font-style:normal; font-size:.8125rem; font-weight:700; padding:4px 10px; border-radius:4px; background:var(--mint); color:#0b5b49; }
.wl-net-tile.is-confirm { background:#f6fbf8; border:1px dashed #86b9a8; }
.wl-net-tile.is-confirm em { background:#fdf1dc; color:#8a5a06; }
.wl-dot { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:700; font-size:1.0625rem; }
.wl-dot--btc { background:#f7931a; } .wl-dot--eth { background:#627eea; } .wl-dot--l { background:var(--navy-2); color:#18c79b; font:700 .9375rem ui-monospace,Consolas,monospace; border-radius:8px; }
.wl-cov-col--dark { background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(180deg,#062f3a,#062832); border:1px solid #0f4654; border-radius:8px; padding:26px 26px 12px; box-shadow:0 40px 70px -46px rgba(3,30,38,.8); }
.wl-cov-col--dark .wl-cov-title { color:#6fd6b4; }
.wl-out { list-style:none; margin:0; padding:0; }
.wl-out li { margin:0; display:flex; gap:16px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.wl-out li:last-child { border-bottom:0; }
.wl-out .wl-ico { background:rgba(24,199,155,.12); border:1px solid rgba(24,199,155,.3); box-shadow:none; }
.wl-out b { display:block; color:#fff; font-size:1.0625rem; } .wl-out small { display:block; color:#a9c2c4; font-size:.9375rem; line-height:1.45; }
.wl-cov-note { display:flex; gap:12px; align-items:center; margin:22px 0 0!important; padding:16px 20px; background:var(--mint-l); border:1px solid #cfe1d9; border-left:4px solid var(--em); border-radius:6px; font-size:1rem!important; color:var(--ink)!important; }
.wl-cov-note svg { flex:none; width:22px; height:22px; fill:none; stroke:var(--em); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- capabilities ---------- */
.wl-caps { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0; padding:0; }
.wl-cap { position:relative; margin:0; padding:28px 24px 26px; background:#fff; border:1px solid var(--line); border-radius:8px; transition:transform .22s,border-color .22s,box-shadow .22s; overflow:hidden; }
.wl-cap::before { content:''; position:absolute; left:0; top:0; height:3px; width:44px; background:var(--em); transition:width .3s; }
.wl-cap:hover { transform:translateY(-4px); border-color:#9fd0c1; box-shadow:0 28px 46px -32px rgba(0,110,90,.5); }
.wl-cap:hover::before { width:100%; }
.wl-cap-n { position:absolute; right:20px; top:22px; font:700 .8125rem ui-monospace,Consolas,monospace; letter-spacing:.1em; color:#9db3ab; }
.wl-cap .wl-ico { width:52px; height:52px; margin-bottom:20px; background:#eaf6f1; color:var(--em); border:1px solid #cfe6dd; box-shadow:none; transition:background .22s,color .22s; }
.wl-cap .wl-ico svg { width:25px; height:25px; }
.wl-cap:hover .wl-ico { background:var(--navy-2); color:#18c79b; border-color:var(--navy-2); }
.wl-cap h3 { font-size:1.1875rem; line-height:1.25; letter-spacing:-.015em; margin:0 0 8px; }
.wl-cap p { font-size:1rem; line-height:1.55; margin:0; }

/* ---------- decision output ---------- */
.wl-states { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; margin:0; padding:0; }
.wl-state { position:relative; margin:0; padding:26px 24px 24px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.13); border-radius:8px; display:flex; flex-direction:column; gap:12px; transition:transform .22s,border-color .22s,background .22s; }
.wl-state:hover { transform:translateY(-3px); background:rgba(255,255,255,.07); }
.wl-state:not(:last-child)::after { content:'\2192'; position:absolute; right:-27px; top:50%; transform:translateY(-50%); color:#6fd6b4; font-size:1.25rem; }
.wl-state-n { font:700 .8125rem ui-monospace,Consolas,monospace; letter-spacing:.12em; color:#6f95a0; }
.wl-state-pill { align-self:flex-start; padding:7px 14px; border-radius:5px; font-size:1rem; line-height:1.25; }
.wl-state.is-ok .wl-state-pill { background:rgba(24,199,155,.16); color:#7ee8c8; border:1px solid rgba(24,199,155,.4); }
.wl-state.is-warn .wl-state-pill { background:rgba(242,199,119,.14); color:#f2c777; border:1px solid rgba(242,199,119,.4); }
.wl-state.is-hot .wl-state-pill { background:rgba(255,125,115,.14); color:#ffb4ad; border:1px solid rgba(255,125,115,.4); }
.wl-state.is-done .wl-state-pill { background:#e9f3ee; color:#062832; }
.wl-state p { font-size:1rem!important; line-height:1.6; margin:0; flex:1; }
.wl-state small { display:flex; align-items:center; gap:8px; font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase; color:#8fb0b5; font-weight:650; }
.wl-state small::before { content:''; width:8px; height:8px; border-radius:50%; background:#6fd6b4; }
.wl-decision { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; margin-top:34px; align-items:stretch; }
.wl-stmt { padding:clamp(26px,3vw,40px); background:rgba(24,199,155,.06); border:1px solid rgba(24,199,155,.25); border-left:4px solid #18c79b; border-radius:8px; }
.wl-stmt .wl-ico { margin-bottom:20px; background:rgba(24,199,155,.14); border:1px solid rgba(24,199,155,.35); box-shadow:none; }
.wl-stmt h3 { color:#fff; font-size:1.875rem; line-height:1.2; letter-spacing:-.025em; margin:0 0 14px; }
.wl-stmt p { font-size:1.125rem!important; margin:0; }
.wl-record dl { margin:0; display:grid; }
.wl-record dl > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid #16394a; }
.wl-record dl > div:last-child { border-bottom:0; }
.wl-record dt { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; padding-top:3px; }
.wl-record dd { margin:0; color:#eaf4f2; font-size:1rem; line-height:1.5; }
.wl-record .mono { font-family:ui-monospace,Consolas,monospace; font-size:.9375rem; }

/* ---------- related ---------- */
.wl-related { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding:0; }
.wl-rel { margin:0; }
.wl-rel a { position:relative; display:flex; flex-direction:column; height:100%; padding:30px 28px 26px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--acc); border-radius:8px; text-decoration:none; color:var(--ink); transition:transform .22s,box-shadow .22s,border-color .22s; }
.wl-rel a:hover { transform:translateY(-4px); box-shadow:0 28px 46px -30px color-mix(in srgb,var(--acc) 70%,#0a1f2c); border-color:color-mix(in srgb,var(--acc) 45%,#d3dedb); }
.wl-rel a:focus-visible { outline:3px solid var(--acc); outline-offset:3px; }
.wl-rel .wl-ico { width:52px; height:52px; margin-bottom:20px; background:color-mix(in srgb,var(--acc) 12%,#fff); color:var(--acc); border:1px solid color-mix(in srgb,var(--acc) 28%,#fff); box-shadow:none; }
.wl-rel .wl-ico svg { width:25px; height:25px; }
.wl-rel h3 { font-size:1.375rem; letter-spacing:-.02em; margin:0 0 10px; }
.wl-rel p { font-size:1rem; line-height:1.6; margin:0 0 4px; }
.wl-link { margin:16px 0 20px; padding:14px 16px; background:var(--mint-l); border-left:3px solid var(--acc); border-radius:4px; flex:1; }
.wl-link small { display:block; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--acc); margin-bottom:4px; }
.wl-link p { font-size:.9375rem!important; margin:0!important; color:var(--ink)!important; }
.wl-more { font-weight:700; font-size:1rem; color:var(--acc); } .wl-more span { display:inline-block; transition:transform .2s; } .wl-rel a:hover .wl-more span { transform:translateX(4px); }

/* ---------- CTA ---------- */
.wl-cta { overflow:hidden; }
.wl-cta > .fp-wrap { position:relative; z-index:1; }
.wl-cta-net { position:absolute; inset:-60px -20px; z-index:-1; pointer-events:none; }
.wl-net { display:block; width:100%; height:100%; } .wl-net path { stroke:rgba(24,199,155,.24); stroke-width:1; } .wl-net circle { fill:rgba(24,199,155,.55); } .wl-net .k { fill:#18c79b; filter:drop-shadow(0 0 6px rgba(24,199,155,.7)); }
.wl-cta { isolation:isolate; }

/* ---------- responsive ---------- */
@media(max-width:1100px) {
	.wl-caps { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.wl-states { grid-template-columns:repeat(2,minmax(0,1fr)); } .wl-state:nth-child(2)::after { display:none; }
	.wd-grid3 { grid-template-columns:1fr 1fr; } .wd-grid3 > :last-child { grid-column:1 / -1; }
	.wl-cov { grid-template-columns:1fr; }
	.wd-graph { grid-template-columns:1fr; }
}
@media(max-width:900px) {
	.fp-wallet .fp-hero-copy, .fp-wallet .fp-hero-visual { grid-column:1 / -1; }
	.wl-flow { grid-template-columns:1fr; } .wl-flow::before { display:none; } .wl-stepcard { height:auto; }
	.wl-check { grid-template-columns:1fr; }
	.wl-decision, .wd-expo { grid-template-columns:1fr; }
	.wl-related { grid-template-columns:1fr; }
	.wd-input { grid-template-columns:1fr; } .wd-go { padding:12px; }
	.wh-top { grid-template-columns:1fr; } .wh-cols { grid-template-columns:1fr; }
}
@media(max-width:640px) {
	.wl-caps, .wl-states, .wl-net-grid, .wd-grid3 { grid-template-columns:1fr; }
	.wl-state::after { display:none!important; }
	.wd-bars li, .wh-expo li { grid-template-columns:100px minmax(0,1fr) 66px; }
	.wd-foot { flex-direction:column; align-items:flex-start; }
	.wl-record dl > div { grid-template-columns:1fr; gap:4px; }
	.wh-addr { flex-direction:column; align-items:flex-start; } .wh-stamp { text-align:left; }
	.wd-table { display:block; overflow-x:auto; }
}

.fp-content .wl-decision { margin-top:34px; }
.fp-content .wl-prep { margin-top:28px; }
.fp-content .wl-cov { margin-top:0; }
