/* Fifteen Layer 1 & 2 compositions. Scoped; other service pages keep their layout. */
body.service-layer-page main[data-bp-kind="layer1"]{--bp-wash:#e1f7fb;--bp-second:#eae9ff;--bp-edge:#a8cede;--bp-accent:#217d9d;--bp-angle:125deg}
body.service-layer-page main[data-bp-kind="bridge"]{--bp-wash:#ddfaf7;--bp-second:#f3e5fb;--bp-edge:#a7d8d7;--bp-accent:#267e96;--bp-angle:105deg}
body.service-layer-page main[data-bp-kind="availability"]{--bp-wash:#e2f0ff;--bp-second:#e5faf6;--bp-edge:#b3cde7;--bp-accent:#426fa4;--bp-angle:155deg}
body.service-layer-page main[data-bp-kind="eth-scaling"]{--bp-wash:#e8e9ff;--bp-second:#e3f9fb;--bp-edge:#c1bee8;--bp-accent:#5d67a7;--bp-angle:135deg}
body.service-layer-page main[data-bp-kind="layer2"]{--bp-wash:#e5f9f2;--bp-second:#e9edff;--bp-edge:#afd6cc;--bp-accent:#297d7b;--bp-angle:165deg}
body.service-layer-page main[data-bp-kind="raas"]{--bp-wash:#e5f3ff;--bp-second:#f2e7fb;--bp-edge:#b1d2e5;--bp-accent:#3f72a0;--bp-angle:115deg}
body.service-layer-page main[data-bp-kind="crossdex"]{--bp-wash:#e3faf6;--bp-second:#eae4ff;--bp-edge:#add6d7;--bp-accent:#21878b;--bp-angle:145deg}
body.service-layer-page main[data-bp-kind="l2-token"]{--bp-wash:#eee5ff;--bp-second:#dff8fc;--bp-edge:#c9bae8;--bp-accent:#7754a3;--bp-angle:125deg}
body.service-layer-page main[data-bp-kind="l2-marketing"]{--bp-wash:#fae7f4;--bp-second:#e5f0ff;--bp-edge:#dfbdd9;--bp-accent:#945d91;--bp-angle:155deg}
body.service-layer-page main[data-bp-kind="l2-crypto"]{--bp-wash:#e0f5fc;--bp-second:#f2eafa;--bp-edge:#a7cfe0;--bp-accent:#307ca3;--bp-angle:130deg}
body.service-layer-page main[data-bp-kind="l2-games"]{--bp-wash:#f0e7ff;--bp-second:#e1f9f4;--bp-edge:#c6bde7;--bp-accent:#755bad;--bp-angle:110deg}
body.service-layer-page main[data-bp-kind="web3-games"]{--bp-wash:#e5edff;--bp-second:#fbe8f7;--bp-edge:#bbc9e8;--bp-accent:#5a6dad;--bp-angle:145deg}
body.service-layer-page main[data-bp-kind="optimistic"]{--bp-wash:#f8e8f3;--bp-second:#e7f6fb;--bp-edge:#dcbdd6;--bp-accent:#936084;--bp-angle:135deg}
body.service-layer-page main[data-bp-kind="zk"]{--bp-wash:#e4f8f5;--bp-second:#ebe8ff;--bp-edge:#acd9d2;--bp-accent:#287f89;--bp-angle:170deg}
body.service-layer-page main[data-bp-kind="bitcoin-l2"]{--bp-wash:#e0f4fb;--bp-second:#f0eaff;--bp-edge:#b0d2e1;--bp-accent:#337e9a;--bp-angle:120deg}
body.service-layer-page main.blueprint-main .lp-spotlight{padding:28px;border:1px solid var(--bp-edge);border-radius:22px;background:linear-gradient(var(--bp-angle),#fff,var(--bp-wash));box-shadow:inset 0 1px #fff;min-width:0}
body.service-layer-page .lp-spotlight>header{max-width:780px;margin:0 0 24px}
body.service-layer-page main.blueprint-main .lp-spotlight h2{margin:12px 0;line-height:1.25}
body.service-layer-page main.blueprint-main .lp-spotlight h3{font-size:18px;line-height:1.35;margin:0 0 8px}
body.service-layer-page main.blueprint-main .lp-spotlight p{font-size:15px;line-height:1.55;margin:0;color:#456e86}
body.service-layer-page .lp-topic-icon{display:grid;place-items:center;width:44px;height:44px;background:linear-gradient(135deg,#fff,var(--bp-second));border:1px solid var(--bp-edge);border-radius:12px;color:var(--bp-accent)}
body.service-layer-page .lp-topic-icon svg{width:25px;height:25px}
body.service-layer-page .lp-path{list-style:none;display:grid;gap:16px;padding:0;margin:0}
body.service-layer-page .lp-path>li,body.service-layer-page .lp-module-grid>article,body.service-layer-page .lp-ecosystem-map>article{position:relative;min-width:0;padding:23px;border:1px solid var(--bp-edge);border-radius:16px;background:#ffffffda;box-shadow:inset 0 1px #fff;transition:transform .22s ease,box-shadow .22s ease}
body.service-layer-page .lp-path>li:nth-child(even),body.service-layer-page .lp-module-grid>article:nth-child(even),body.service-layer-page .lp-ecosystem-map>article:nth-child(even){background:linear-gradient(135deg,#fff,var(--bp-second))}
body.service-layer-page .lp-node-number{display:block;font:700 23px/1.2 Inconsolata,monospace;color:var(--bp-accent);margin-bottom:18px}
body.service-layer-page .lp-module-grid{display:grid;gap:18px}
/* Foundation: a progressively wider architectural stack beside the explanation. */
@media(min-width:901px){
 body.service-layer-page main.blueprint-main .lp-foundation{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:40px;align-items:center}
 body.service-layer-page .lp-foundation>header{margin:0}
 body.service-layer-page .lp-foundation .lp-path>li{display:flex;gap:22px;align-items:center;padding:20px 24px}
 body.service-layer-page .lp-foundation .lp-path>li:nth-child(1){margin-inline:12%}
 body.service-layer-page .lp-foundation .lp-path>li:nth-child(2){margin-inline:8%}
 body.service-layer-page .lp-foundation .lp-path>li:nth-child(3){margin-inline:4%}
 body.service-layer-page .lp-foundation .lp-node-number{margin:0;flex:none}
}
/* Bridge: linked, ordered transfer stations. */
body.service-layer-page .lp-bridge .lp-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
body.service-layer-page .lp-bridge .lp-path>li:not(:last-child)::after{content:'→';position:absolute;right:-24px;top:45%;color:var(--bp-accent);font-size:23px}
body.service-layer-page .lp-bridge .lp-path>li:first-child{border-radius:28px 12px 12px 28px;background:var(--bp-wash)}
body.service-layer-page .lp-bridge .lp-path>li:last-child{border-radius:12px 28px 28px 12px;background:var(--bp-second)}
/* Availability: data cells with a numbered coordinate-style header. */
body.service-layer-page .lp-availability .lp-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.service-layer-page .lp-availability .lp-path>li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;border-radius:8px;border-top:3px solid var(--bp-edge)}
body.service-layer-page .lp-availability .lp-node-number{font-size:17px;border:1px solid var(--bp-edge);border-radius:7px;width:36px;height:36px;display:grid;place-items:center;margin:0;background:var(--bp-wash)}
/* Ethereum scaling: a readable comparison ledger rather than another card grid. */
body.service-layer-page main.blueprint-main .lp-comparison{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:30px;align-items:center;background:linear-gradient(110deg,var(--bp-second),#fff)}
body.service-layer-page .lp-comparison-list{display:grid;gap:0;margin:0;border:1px solid var(--bp-edge);border-radius:16px;overflow:hidden}
body.service-layer-page .lp-comparison-list>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);background:#fff;padding:22px;gap:20px;border-bottom:1px solid var(--bp-edge)}
body.service-layer-page .lp-comparison-list>div:nth-child(even){background:var(--bp-wash)}
body.service-layer-page .lp-comparison-list>div:last-child{border-bottom:0}
body.service-layer-page .lp-comparison-list dt{font-weight:700;line-height:1.5;color:#1e5378}
body.service-layer-page .lp-comparison-list dt>span{display:inline-block;margin-right:10px;color:var(--bp-accent)}
body.service-layer-page .lp-comparison-list dd{margin:0;font-size:15px;line-height:1.5;color:#456e86}
/* Layer 2: three editorial choice panels. */
body.service-layer-page .lp-choices .lp-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.service-layer-page .lp-choices .lp-module-grid>article{border-radius:24px 24px 8px 8px;padding-top:28px;border-bottom:4px solid var(--bp-edge)}
body.service-layer-page .lp-choices .lp-node-number{font-size:42px;font-weight:400}
/* RaaS: component inventory, with no fictitious live status indicators. */
body.service-layer-page main.blueprint-main .lp-operations{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.4fr);gap:28px;background:linear-gradient(120deg,var(--bp-second),var(--bp-wash))}
body.service-layer-page .lp-operations .lp-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.service-layer-page .lp-operations .lp-module-grid>article{border-radius:9px;padding:20px;border-left:4px solid var(--bp-edge)}
body.service-layer-page .lp-operations .lp-node-number{float:right;margin:0 0 10px 14px;font-size:15px}
/* Cross-L2: endpoints frame a pair of routing steps. */
body.service-layer-page .lp-routing .lp-path{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
body.service-layer-page .lp-routing .lp-path>li:nth-child(1),body.service-layer-page .lp-routing .lp-path>li:nth-child(4){min-height:230px;background:linear-gradient(140deg,var(--bp-wash),var(--bp-second));display:flex;flex-direction:column;justify-content:center;border-width:2px}
body.service-layer-page .lp-routing .lp-path>li:nth-child(2),body.service-layer-page .lp-routing .lp-path>li:nth-child(3){border-style:dashed;min-height:175px}
/* Token: issuance timeline with compact milestones. */
body.service-layer-page .lp-issuance .lp-path{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
body.service-layer-page .lp-issuance .lp-path>li{border-top:4px solid var(--bp-edge);padding:20px 16px}
body.service-layer-page .lp-issuance .lp-node-number{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--bp-second);font-size:17px}
/* Marketing: editorial calendar columns. */
body.service-layer-page .lp-campaign .lp-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.service-layer-page .lp-campaign .lp-path>li{padding:0;overflow:hidden;border-radius:16px}
body.service-layer-page .lp-campaign .lp-node-number{margin:0;padding:13px 20px;border-bottom:1px solid var(--bp-edge);background:var(--bp-second);font-size:16px}
body.service-layer-page .lp-campaign .lp-path>li>div{padding:22px}
/* Currency: three separated responsibility columns. */
body.service-layer-page main.blueprint-main .lp-currency{background:#fff}
body.service-layer-page .lp-currency .lp-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--bp-edge);border-radius:20px;overflow:hidden}
body.service-layer-page .lp-currency .lp-module-grid>article{border:0;border-radius:0;padding:30px;background:var(--bp-wash);border-right:1px solid var(--bp-edge)}
body.service-layer-page .lp-currency .lp-module-grid>article:nth-child(2){background:var(--bp-second)}
body.service-layer-page .lp-currency .lp-module-grid>article:last-child{border:0;background:#f8fcff}
/* Blockchain game: a compact two-by-two loop. */
body.service-layer-page main.blueprint-main .lp-gameplay{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr);gap:30px;align-items:center}
body.service-layer-page .lp-gameplay .lp-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:15px;border:1px dashed var(--bp-edge);border-radius:35px}
body.service-layer-page .lp-gameplay .lp-path>li{border-radius:22px;padding:22px}
body.service-layer-page .lp-gameplay .lp-node-number{font-size:18px}
/* Web3 gaming: hub and partner cards with deliberately shared interfaces. */
body.service-layer-page .lp-ecosystem-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.service-layer-page .lp-map-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:25px;border:2px solid var(--bp-edge);border-radius:28px;background:linear-gradient(135deg,var(--bp-second),var(--bp-wash));color:#205e86;text-align:center}
body.service-layer-page .lp-map-center svg{width:45px;height:45px;color:var(--bp-accent)}
body.service-layer-page .lp-ecosystem-map>article{display:flex;flex-direction:column;justify-content:center}
@media(min-width:901px){
 body.service-layer-page .lp-map-center{grid-column:2;grid-row:1/span 2;min-height:250px}
 body.service-layer-page .lp-ecosystem-map>article:last-child{grid-column:1/-1;display:grid;grid-template-columns:40px minmax(150px,.4fr) minmax(0,1fr);align-items:center;gap:20px}
 body.service-layer-page .lp-ecosystem-map>article:last-child :is(.lp-node-number,h3){margin:0}
}
body.service-layer-page :is(.lp-map-center,.lp-comparison-list>div){transition:box-shadow .22s ease,background-color .22s ease}
/* Optimistic rollup: highlight the challenge interval between claims and completion. */
body.service-layer-page .lp-challenge .lp-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.service-layer-page .lp-challenge .lp-path>li{border-radius:9px;padding:23px 20px}
body.service-layer-page .lp-challenge .lp-path>li:nth-child(3){border:2px dashed var(--bp-accent);background:var(--bp-second)}
body.service-layer-page .lp-challenge .lp-node-number{border-bottom:2px solid var(--bp-edge);padding-bottom:14px}
/* ZK: input lanes feed the prover, then the verifier. */
body.service-layer-page .lp-proof .lp-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.service-layer-page .lp-proof .lp-path>li:nth-child(1){grid-column:1;grid-row:1}
body.service-layer-page .lp-proof .lp-path>li:nth-child(2){grid-column:1;grid-row:2}
body.service-layer-page .lp-proof .lp-path>li:nth-child(3){grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;justify-content:center;border:2px solid var(--bp-edge);background:var(--bp-second);border-radius:35px}
body.service-layer-page .lp-proof .lp-path>li:nth-child(4){grid-column:3;grid-row:1/span 2;display:flex;flex-direction:column;justify-content:center;background:var(--bp-wash)}
/* Bitcoin: channel capacity and payment steps in offset paired lanes. */
body.service-layer-page main.blueprint-main .lp-channels{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:28px;align-items:center}
body.service-layer-page .lp-channels .lp-path{grid-template-columns:repeat(2,minmax(0,1fr))}
body.service-layer-page .lp-channels .lp-path>li:nth-child(odd){border-left:4px solid var(--bp-accent);background:var(--bp-wash)}
body.service-layer-page .lp-channels .lp-path>li:nth-child(even){border-bottom:4px solid var(--bp-edge);background:#fff}
/* Unique page-specific framing around shared service content. */
@media(min-width:1101px){
 body.service-layer-page main[data-layer-layout="data"] .fs-services .fs-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.service-layer-page main[data-layer-layout="data"] .fs-services .fs-service-grid article{grid-column:auto;grid-row:auto}
 body.service-layer-page main[data-layer-layout="data"] .fs-services .fs-service-grid article:nth-child(6){display:flex;gap:0;align-items:flex-start}
 body.service-layer-page main[data-layer-layout="foundation"] .fs-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 body.service-layer-page main[data-layer-layout="connection"] .fs-service-grid article{border-radius:24px 8px 24px 8px}
 body.service-layer-page main[data-layer-layout="operations"] .bp-stack{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr)}
 body.service-layer-page main[data-layer-layout="issuance"] .fs-service-grid article{border-radius:50px 16px 16px 16px}
 body.service-layer-page main[data-layer-layout="campaign"] .fs-services .fs-section-head{text-align:center;max-width:850px;margin-inline:auto}
 body.service-layer-page main[data-layer-layout="currency"] .fs-service-grid article{border-left:0;border-top:4px solid var(--bp-edge)}
 body.service-layer-page main[data-layer-layout="gameplay"] .fs-service-grid article{border-radius:25px}
 body.service-layer-page main[data-layer-layout="ecosystem"] .bp-faq{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body.service-layer-page main[data-layer-layout="challenge"] .bp-stack{grid-template-columns:1fr}
 body.service-layer-page main[data-layer-layout="challenge"] .bp-stack ul{grid-template-columns:repeat(6,minmax(0,1fr))}
 body.service-layer-page main[data-layer-layout="proof"] .fs-service-grid article{border-radius:8px 22px 8px 22px}
}
@media(hover:hover){body.service-layer-page :is(.lp-path>li,.lp-module-grid>article,.lp-ecosystem-map>article):hover{transform:translateY(-3px);box-shadow:0 10px 24px #26778d15}body.service-layer-page :is(.lp-map-center,.lp-comparison-list>div):hover{box-shadow:inset 0 0 0 2px var(--bp-edge)}}
@media(max-width:1100px){
 body.service-layer-page main.blueprint-main :is(.lp-comparison,.lp-operations,.lp-gameplay,.lp-channels){grid-template-columns:1fr;gap:22px}
 body.service-layer-page .lp-spotlight>header{margin-bottom:20px}
 body.service-layer-page .lp-issuance .lp-path{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.service-layer-page .lp-bridge .lp-path,body.service-layer-page .lp-routing .lp-path,body.service-layer-page .lp-campaign .lp-path,body.service-layer-page .lp-challenge .lp-path{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.service-layer-page .lp-bridge .lp-path>li::after{display:none}
}
@media(max-width:900px){
 body.service-layer-page .lp-availability .lp-path{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.service-layer-page .lp-ecosystem-map{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.service-layer-page .lp-ecosystem-map>article:last-child{grid-column:1/-1}
 body.service-layer-page .lp-map-center{grid-column:1/-1;min-height:140px}
 body.service-layer-page .lp-currency .lp-module-grid>article{padding:23px}
 body.service-layer-page .lp-choices .lp-module-grid{grid-template-columns:1fr}
 body.service-layer-page .lp-choices .lp-module-grid>article{display:grid;grid-template-columns:70px minmax(0,1fr);gap:0 18px}
 body.service-layer-page .lp-choices .lp-node-number{grid-row:span 2;margin:0}
}
@media(max-width:700px){
 body.service-layer-page main.blueprint-main .lp-spotlight{padding:22px 20px;border-radius:18px}
 body.service-layer-page .lp-availability .lp-path>li{display:block}
 body.service-layer-page .lp-availability .lp-node-number{margin-bottom:14px}
 body.service-layer-page .lp-proof .lp-path{grid-template-columns:1fr}
 body.service-layer-page .lp-proof .lp-path>li:nth-child(n){grid-row:auto;grid-column:auto;border-radius:16px}
 body.service-layer-page .lp-comparison-list>div{grid-template-columns:1fr;gap:8px;padding:18px}
 body.service-layer-page .lp-currency .lp-module-grid{grid-template-columns:1fr}
 body.service-layer-page .lp-currency .lp-module-grid>article{border-right:0;border-bottom:1px solid var(--bp-edge)}
}
@media(max-width:540px){
 body.service-layer-page .lp-path,body.service-layer-page .lp-spotlight .lp-path,
 body.service-layer-page .lp-spotlight .lp-module-grid,body.service-layer-page .lp-ecosystem-map{grid-template-columns:1fr}
 body.service-layer-page .lp-map-center{grid-column:auto}
 body.service-layer-page .lp-path>li,body.service-layer-page .lp-module-grid>article,body.service-layer-page .lp-ecosystem-map>article{padding:20px}
 body.service-layer-page .lp-spotlight .lp-path>li{min-height:0}
 body.service-layer-page .lp-spotlight .lp-node-number{font-size:18px;margin-bottom:12px}
 body.service-layer-page .lp-campaign .lp-path>li{padding:0}
 body.service-layer-page .lp-campaign .lp-node-number{margin:0}
 body.service-layer-page .lp-gameplay .lp-path{padding:10px;border-radius:24px}
 body.service-layer-page .lp-choices .lp-module-grid>article{display:block}
 body.service-layer-page .lp-challenge .lp-path>li:nth-child(3){border-width:2px}
}
@media(prefers-reduced-motion:reduce){body.service-layer-page :is(.lp-path>li,.lp-module-grid>article,.lp-ecosystem-map>article){transition:none;transform:none!important}}
