/* AWS page only. Loaded via `extra: crm, p-aws`. Every class is scoped with .pxaw- */

/* ---------- hero: the architecture blueprint ---------- */
.pxaw-hero .pxaw-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pxaw-hero .crm-sub { max-width: 40ch; }
.pxaw-tops { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; max-width: 580px; }
.pxaw-tops li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 7px 8px; border-radius: 10px; background: #fff; border: 1px solid #DCE7EF; font: 600 13.5px/1.25 var(--f-body); color: #082238; box-shadow: 0 10px 20px -16px rgba(8,34,56,.5); }
.pxaw-tops img, .pxaw-tops svg { flex: none; width: 24px; height: 24px; padding: 3px; border-radius: 7px; background: #EEF3FA; }
.pxaw-tops svg { fill: none; stroke: #1D3F8F; stroke-width: 2; stroke-linecap: round; }
.pxaw-badge img { width: 64px !important; padding: 6px 8px; border-radius: 10px; background: #fff; border: 1px solid #E2E8F0; }

.pxaw-bp { position: relative; margin: 0; padding: 18px 0 22px; will-change: transform; }
.pxaw-bp__sheet { position: relative; padding: 14px 14px 10px; border-radius: 18px; border: 1px solid #CFE0EC; background-color: #F7FBFE; background-image: linear-gradient(rgba(29,63,143,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(29,63,143,.07) 1px, transparent 1px), linear-gradient(rgba(29,63,143,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(29,63,143,.035) 1px, transparent 1px); background-size: 60px 60px, 60px 60px, 12px 12px, 12px 12px; box-shadow: 0 50px 90px -48px rgba(8,34,56,.55), 0 0 0 6px rgba(255,255,255,.7); }
.pxaw-bp__sheet::before { content: ""; position: absolute; inset: 8px; border: 1.5px solid rgba(29,63,143,.22); border-radius: 12px; pointer-events: none; }
.pxaw-bp__svg { display: block; width: 100%; height: auto; overflow: visible; }
.pxaw-t { font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace; fill: #1D3F8F; text-anchor: middle; letter-spacing: .02em; }
.pxaw-t--s { text-anchor: start; }
.pxaw-t--zone { text-anchor: start; font-size: 10.5px; fill: #0A6FA8; letter-spacing: .06em; text-transform: uppercase; }
.pxaw-t--zoho { text-anchor: start; font-size: 10.5px; fill: #B45309; letter-spacing: .06em; text-transform: uppercase; }
.pxaw-t--zoho2 { fill: #92400E; }
.pxaw-t--dim { font-size: 10px; fill: #64748B; }
.pxaw-zone__vpc { fill: rgba(0,163,217,.06); stroke: #00A3D9; stroke-width: 1.5; stroke-dasharray: 6 5; }
.pxaw-zone__zoho { fill: rgba(255,184,28,.08); stroke: #F0A400; stroke-width: 1.5; stroke-dasharray: 6 5; }
.pxaw-w { fill: none; stroke: #1D3F8F; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.pxaw-w--dash { stroke: #64748B; stroke-width: 1.6; }
.pxaw-w--zoho { stroke: #F0A400; stroke-width: 2.4; }
.pxaw-dim path { fill: none; stroke: #94A3B8; stroke-width: 1; }
.pxaw-n__bg { fill: #fff; stroke: #1D3F8F; stroke-width: 1.6; }
.pxaw-n__user { fill: none; stroke: #1D3F8F; stroke-width: 1.8; stroke-linecap: round; }
.pxaw-pkt { fill: #FFB81C; stroke: #fff; stroke-width: 2; opacity: 0; filter: drop-shadow(0 0 6px rgba(255,184,28,.9)); }
.pxaw-bp__block { position: absolute; left: 24px; bottom: 20px; display: grid; grid-template-columns: repeat(2, auto); border: 1.5px solid rgba(29,63,143,.35); border-radius: 6px; background: rgba(255,255,255,.9); font: 600 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; color: #082238; }
.pxaw-bp__block span { padding: 5px 8px; }
.pxaw-bp__block span + span { border-left: 1px solid rgba(29,63,143,.25); }
.pxaw-bp__block b { display: block; font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: #64748B; }

.pxaw-chip { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: #082238; color: #fff; font: 600 12.5px/1 var(--f-body); box-shadow: 0 18px 30px -16px rgba(8,34,56,.7); will-change: transform; }
.pxaw-chip i { width: 8px; height: 8px; border-radius: 50%; background: #FFB81C; box-shadow: 0 0 0 4px rgba(255,184,28,.25); }
.pxaw-chip em { padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,.14); font: 600 10.5px/1 var(--f-body); font-style: normal; color: #BFD3E2; }
.pxaw-chip--sync { left: -18px; top: 0; }
.pxaw-chip--tag { right: -8px; bottom: 0; background: #fff; color: #082238; border: 1px solid #DCE7EF; }
.pxaw-chip--tag i { background: #3FB97A; box-shadow: 0 0 0 4px rgba(63,185,122,.2); }

/* draw-in, run by p-aws.js (adds .is-arm, then .is-draw) */
.pxaw-bp.is-arm .pxaw-w { stroke-dashoffset: 1; }
.pxaw-bp.is-arm .pxaw-n, .pxaw-bp.is-arm .pxaw-zone, .pxaw-bp.is-arm .pxaw-dim { opacity: 0; transform: translateY(6px); }
.pxaw-bp.is-arm .pxaw-chip { opacity: 0; transform: translateY(10px) scale(.9); }
.pxaw-bp .pxaw-w { transition: stroke-dashoffset .7s cubic-bezier(.6,.1,.3,1) calc(var(--i) * .22s + .1s); }
.pxaw-bp .pxaw-n, .pxaw-bp .pxaw-zone, .pxaw-bp .pxaw-dim { transition: opacity .45s ease calc(var(--i) * .22s), transform .5s cubic-bezier(.2,1.4,.4,1) calc(var(--i) * .22s); transform-box: fill-box; }
.pxaw-bp .pxaw-chip { transition: opacity .5s ease 2.3s, transform .6s cubic-bezier(.2,1.4,.4,1) 2.3s; }
.pxaw-bp .pxaw-chip--tag { transition-delay: 2.7s; }
.pxaw-bp.is-draw .pxaw-w { stroke-dashoffset: 0; }
.pxaw-bp.is-draw .pxaw-n, .pxaw-bp.is-draw .pxaw-zone, .pxaw-bp.is-draw .pxaw-dim { opacity: 1; transform: none; }
.pxaw-bp.is-draw .pxaw-chip { opacity: 1; transform: none; }
.pxaw-bp.is-live .pxaw-pkt { opacity: 1; }

/* ---------- 01 edges: spec sheet rows ---------- */
.pxaw-spec { margin: 44px 0 0; padding: 0; list-style: none; border-top: 2px solid #082238; }
.pxaw-spec__row { display: grid; grid-template-columns: 56px 88px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 24px 6px; border-bottom: 1px solid #E2E8F0; transition: background .3s; }
.pxaw-spec__row:hover { background: linear-gradient(90deg, #F3F7F9, rgba(243,247,249,0)); }
.pxaw-spec__n { font: 800 28px/1 var(--f-display); color: transparent; -webkit-text-stroke: 1.2px #00A3D9; letter-spacing: -.02em; }
.pxaw-spec__ic { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 56px; padding: 0 10px; border-radius: 16px; background: #fff; border: 1px solid #DCE7EF; box-shadow: 0 14px 24px -20px rgba(8,34,56,.6); }
.pxaw-spec__ic i { width: 14px; height: 2px; background: repeating-linear-gradient(90deg, #F0A400 0 3px, transparent 3px 5px); }
.pxaw-spec__ic svg { width: 28px; height: 28px; fill: none; stroke: #1D3F8F; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pxaw-spec__row h3 { margin: 0 0 6px; font: 700 19px/1.3 var(--f-display); color: #082238; }
.pxaw-spec__row p { margin: 0; font-size: 15.5px; line-height: 1.6; max-width: 70ch; }
.pxaw-spec__row a { color: #0A6FA8; font-weight: 600; }
.pxaw-spec__chip { justify-self: end; padding: 6px 11px; border-radius: 999px; background: #FFF6DB; border: 1px solid #F8DF9A; font: 700 11.5px/1 var(--f-body); color: #92400E; white-space: nowrap; }

/* ---------- 02 migration runway ---------- */
.pxaw-run__strip { margin-top: 44px; }
.pxaw-runway { position: relative; height: 64px; margin: 0 0 22px; border-radius: 14px; background: #1E293B; overflow: hidden; }
.pxaw-runway::before, .pxaw-runway::after { content: ""; position: absolute; left: 0; right: 0; height: 2px; background: #F8FAFC; opacity: .7; }
.pxaw-runway::before { top: 8px; } .pxaw-runway::after { bottom: 8px; }
.pxaw-runway__line { position: absolute; left: 16px; right: 16px; top: 50%; height: 3px; margin-top: -1.5px; background: repeating-linear-gradient(90deg, #F8FAFC 0 22px, transparent 22px 40px); opacity: .55; }
.pxaw-runway__fill { position: absolute; left: 0; top: 50%; height: 6px; margin-top: -3px; width: var(--p, 10%); background: linear-gradient(90deg, #1D3F8F, #00A3D9, #00B2A9, #3FB97A); border-radius: 0 6px 6px 0; box-shadow: 0 0 18px rgba(0,163,217,.6); transition: width .2s linear; }
.pxaw-runway__jet { position: absolute; top: 50%; left: var(--p, 10%); width: 38px; height: 38px; margin: -19px 0 0 -19px; display: grid; place-items: center; border-radius: 50%; background: #FFB81C; box-shadow: 0 0 0 6px rgba(255,184,28,.25); transition: left .2s linear; }
.pxaw-runway__jet svg { width: 22px; height: 22px; fill: #082238; }
.pxaw-runway__marks { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; pointer-events: none; }
.pxaw-runway__marks li { display: flex; align-items: flex-end; justify-content: center; padding-bottom: 12px; font: 700 10px/1 ui-monospace, Menlo, monospace; color: #94A3B8; letter-spacing: .12em; }
.pxaw-waves { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.pxaw-wave { position: relative; padding: 20px 18px 18px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; transition: border-color .35s, box-shadow .35s, transform .35s; }
.pxaw-wave::before { content: ""; position: absolute; left: 18px; right: 18px; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: #E2E8F0; transition: background .35s; }
.pxaw-wave.is-on { border-color: #9DD3EC; box-shadow: 0 26px 40px -30px rgba(8,34,56,.6); transform: translateY(-4px); }
.pxaw-wave.is-on::before, .pxaw-wave.is-past::before { background: linear-gradient(90deg, #00A3D9, #3FB97A); }
.pxaw-wave__n { margin: 0 0 10px; font: 700 12px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #0A6FA8; }
.pxaw-wave__n em { margin-left: 6px; padding: 3px 7px; border-radius: 999px; background: #EEF5FA; font-style: normal; color: #082238; letter-spacing: .02em; text-transform: none; }
.pxaw-wave h3 { margin: 0 0 8px; font: 700 17px/1.3 var(--f-display); color: #082238; }
.pxaw-wave p { margin: 0; font-size: 14.5px; line-height: 1.55; }
.pxaw-wave__tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 14px 0 0; padding: 0; list-style: none; }
.pxaw-wave__tags li { padding: 4px 8px; border-radius: 6px; background: #F3F7F9; font: 600 11.5px/1 ui-monospace, Menlo, monospace; color: #334155; }

/* ---------- 03 cost shape explorer (dark band) ---------- */
.pxaw-cx__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.pxaw-cx__card { padding: 26px; border-radius: 22px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(6px); color: #DCE8F2; }
.pxaw-cx__h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 18px; font: 700 18px/1.3 var(--f-display); color: #fff; }
.pxaw-cx__h em { font: 600 11.5px/1 var(--f-body); font-style: normal; color: #8FB3CC; }
.pxaw-sl { display: block; margin: 0 0 18px; }
.pxaw-sl > span { display: flex; justify-content: space-between; gap: 10px; font: 600 14px/1.3 var(--f-body); color: #fff; }
.pxaw-sl b { color: #FFB81C; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pxaw-sl small { display: block; margin-top: 4px; font: 400 12.5px/1.4 var(--f-body); color: #8FB3CC; }
.pxaw-sl input[type=range] { width: 100%; margin: 10px 0 0; accent-color: #FFB81C; cursor: pointer; }
.pxaw-bars { display: grid; gap: 10px; margin: 6px 0 16px; padding: 16px 0 0; list-style: none; border-top: 1px dashed rgba(255,255,255,.18); }
.pxaw-bars li { display: grid; grid-template-columns: 104px minmax(0, 1fr) 76px; align-items: center; gap: 10px; font: 600 13px/1 var(--f-body); }
.pxaw-bars i { display: block; height: 12px; width: var(--w, 0%); min-width: 3px; border-radius: 6px; background: linear-gradient(90deg, #00A3D9, #3FB97A); transition: width .35s cubic-bezier(.2,.8,.2,1); }
.pxaw-bars b { text-align: right; color: #fff; font-variant-numeric: tabular-nums; }
.pxaw-cx__tot { margin: 0; padding: 14px 16px; border-radius: 14px; background: rgba(8,34,56,.55); font: 500 15px/1.45 var(--f-body); color: #DCE8F2; }
.pxaw-cx__tot b { font: 800 20px/1 var(--f-display); color: #FFB81C; }
.pxaw-cx__fine { margin: 12px 0 0; font-size: 13.5px; line-height: 1.55; color: #A9C4D8; }
.pxaw-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 4px 0 18px; }
.pxaw-seg label { position: relative; cursor: pointer; }
.pxaw-seg input { position: absolute; opacity: 0; inset: 0; }
.pxaw-seg span { display: block; padding: 11px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.2); font: 600 13.5px/1.25 var(--f-body); color: #DCE8F2; text-align: center; transition: background .2s, border-color .2s, color .2s; }
.pxaw-seg input:checked + span { background: #FFB81C; border-color: #FFB81C; color: #082238; }
.pxaw-seg input:focus-visible + span { outline: 2px solid #5FD3F3; outline-offset: 2px; }
.pxaw-dial { position: relative; height: 44px; margin: 0 0 16px; border-radius: 12px; background: rgba(255,255,255,.07); overflow: hidden; }
.pxaw-dial__od { position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.07) 0 8px, transparent 8px 16px); }
.pxaw-dial__new { position: absolute; left: 0; top: 0; bottom: 0; width: var(--w, 100%); border-radius: 12px; background: linear-gradient(90deg, #1D3F8F, #00A3D9, #00B2A9); transition: width .5s cubic-bezier(.2,.8,.2,1); }
.pxaw-cx__note { margin: 22px 0 0; font-size: 13px; line-height: 1.6; color: #8FB3CC; max-width: 110ch; }

/* ---------- 04 services ---------- */
.pxaw-svc__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin-top: 40px; }
.pxaw-svc__item { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 6px 20px; padding: 24px 0; border-top: 1px solid #E2E8F0; }
.pxaw-svc__ics { grid-row: span 2; display: flex; align-items: center; height: 64px; padding: 0 12px; border-radius: 16px; background: color-mix(in srgb, var(--c) 8%, #fff); border-left: 4px solid var(--c); }
.pxaw-svc__ics img { width: 34px; height: 34px; margin-right: -6px; padding: 3px; border-radius: 9px; background: #fff; box-shadow: 0 4px 10px -6px rgba(8,34,56,.5); }
.pxaw-svc__ics svg { width: 34px; height: 34px; fill: none; stroke: var(--c); stroke-width: 2; stroke-linecap: round; }
.pxaw-svc__item h3 { margin: 0 0 6px; font: 700 19px/1.3 var(--f-display); color: #082238; }
.pxaw-svc__item p { margin: 0; font-size: 15px; line-height: 1.6; }
.pxaw-svc__item .pxaw-svc__for { grid-column: 2; font: 600 13px/1.45 var(--f-body); color: #64748B; }
/* service-page link grid (hub to the 10 AWS service pages) */
.pxaw-svcs__lead { margin: 36px 0 14px; max-width: 72ch; font: 600 15px/1.55 var(--f-body); color: #334155; }
.pxaw-svcs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.pxaw-svcs a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 12px; border-radius: 14px; background: #fff; border: 1px solid #E2E8F0; font: 600 14px/1.25 var(--f-body); color: #082238; text-decoration: none; transition: border-color .25s, transform .25s, box-shadow .25s; }
.pxaw-svcs a:hover, .pxaw-svcs a:focus-visible { border-color: #9DD3EC; transform: translateY(-2px); box-shadow: 0 18px 30px -24px rgba(8,34,56,.6); }
.pxaw-svcs img { flex: none; width: 26px; height: 26px; border-radius: 6px; }
.pxaw-run__more { margin: 28px 0 0; max-width: 80ch; font-size: 15px; line-height: 1.6; color: #334155; }
.pxaw-run__more a, .pxaw-svcs__lead a { color: #0A6FA8; font-weight: 600; }
.pxaw-mig .crm-map td.arr { color: #0A6FA8; }
@media (max-width: 1080px) { .pxaw-svcs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pxaw-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pxaw-svcs a { font-size: 13.5px; } }

/* ---------- 05 Zoho + AWS ---------- */
.pxaw-zx { background: linear-gradient(180deg, #F3F7F9, #fff); }
.pxaw-zx__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.pxaw-zx__tabs { display: grid; gap: 8px; margin: 26px 0 0; }
.pxaw-zx__tab { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 14px; border: 1px solid #DCE7EF; background: #fff; font: 600 15px/1.3 var(--f-body); color: #082238; text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.pxaw-zx__tab::before { content: ""; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #94A3B8; flex: none; }
.pxaw-zx__tab.is-on { border-color: #F0A400; box-shadow: 0 16px 30px -22px rgba(8,34,56,.6); }
.pxaw-zx__tab.is-on::before { border-color: #F0A400; background: #FFB81C; }
.pxaw-zx__tab:focus-visible { outline: 2px solid #00A3D9; outline-offset: 2px; }
.pxaw-zx__more { margin: 20px 0 0; font-size: 14.5px; line-height: 1.6; color: #64748B; }
.pxaw-zx__more a { color: #0A6FA8; font-weight: 600; }
.pxaw-zx__stage { position: relative; padding: 28px; border-radius: 24px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 40px 70px -50px rgba(8,34,56,.6); }
.pxaw-zx__pane { display: none; }
.pxaw-zx__pane.is-on { display: block; }
.pxaw-path { position: relative; display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.pxaw-path::before { content: ""; position: absolute; left: 31px; top: 28px; bottom: 28px; width: 2px; background: repeating-linear-gradient(180deg, #F0A400 0 6px, transparent 6px 11px); background-size: 2px 22px; animation: pxawFlow 1.1s linear infinite; }
.pxaw-path li { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 10px 14px 10px 0; border-radius: 16px; opacity: 0; transform: translateX(14px); animation: pxawIn .5s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: calc(var(--k, 0) * .14s); }
.pxaw-path li:nth-child(2) { --k: 1; } .pxaw-path li:nth-child(3) { --k: 2; } .pxaw-path li:nth-child(4) { --k: 3; }
.pxaw-path img, .pxaw-path svg { grid-row: span 2; justify-self: center; width: 46px; height: 46px; padding: 8px; border-radius: 14px; background: #fff; border: 1px solid #DCE7EF; box-shadow: 0 8px 16px -10px rgba(8,34,56,.5); position: relative; z-index: 1; }
.pxaw-path svg { fill: none; stroke: #1D3F8F; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pxaw-path b { font: 700 16px/1.25 var(--f-display); color: #082238; }
.pxaw-path span { font-size: 14px; line-height: 1.45; color: #64748B; }
.pxaw-zx__why { margin: 18px 0 0; padding: 14px 16px; border-radius: 14px; background: #FFF8E6; font-size: 14.5px; line-height: 1.55; color: #5B4210; }
@keyframes pxawFlow { to { background-position: 0 22px; } }
@keyframes pxawIn { to { opacity: 1; transform: none; } }

/* ---------- 06 pricing levers ---------- */
.pxaw-levers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 40px 0 28px; padding: 0; list-style: none; counter-reset: lv; }
.pxaw-levers li { position: relative; display: flex; flex-direction: column; padding: 22px 20px 18px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; counter-increment: lv; }
.pxaw-levers li::before { content: "0" counter(lv); font: 700 12px/1 ui-monospace, Menlo, monospace; color: #5B6B7F; margin-bottom: 10px; }
.pxaw-levers b { font: 700 19px/1.2 var(--f-display); color: #082238; }
.pxaw-levers p { flex: 1; margin: 8px 0 14px; font-size: 14.5px; line-height: 1.55; }
.pxaw-levers span { align-self: flex-start; padding: 6px 10px; border-radius: 8px; background: #E6F6EE; font: 700 12.5px/1 var(--f-body); color: #166534; }
.pxaw-levers li:first-child span { background: #F3F7F9; color: #475569; }
.pxaw-rates td small { display: block; margin-top: 4px; font-size: 12.5px; line-height: 1.4; color: #64748B; }
.pxaw-rates td b { font: 800 17px/1.2 var(--f-display); color: #082238; }

/* ---------- 07 compare ---------- */
.pxaw-vs__fair { margin-top: 22px; padding: 20px 22px; border-radius: 18px; background: #F3F7F9; border-left: 4px solid #FFB81C; font-size: 15.5px; line-height: 1.6; }
.pxaw-vs__fair p { margin: 0; }
.pxaw-vs__fair a { color: #0A6FA8; font-weight: 600; }

/* ---------- 09 security + AI ---------- */
.pxaw-sec__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 5vw, 64px); align-items: start; }
.pxaw-sec__col .pg-h2 { font-size: clamp(28px, 1rem + 1.5vw, 38px); }
.pxaw-check { display: grid; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.pxaw-check button { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 2px 12px; width: 100%; padding: 13px 14px; border-radius: 14px; border: 1px solid #E2E8F0; background: #fff; text-align: left; cursor: pointer; transition: border-color .2s, background .2s; }
.pxaw-check i { grid-row: span 2; width: 22px; height: 22px; margin-top: 1px; border-radius: 7px; border: 2px solid #94A3B8; transition: background .2s, border-color .2s; }
.pxaw-check b { font: 700 15px/1.3 var(--f-display); color: #082238; }
.pxaw-check span { font: 400 13.5px/1.45 var(--f-body); color: #64748B; }
.pxaw-check button[aria-pressed="true"] { border-color: #3FB97A; background: #F1FBF5; }
.pxaw-check button[aria-pressed="true"] i { border-color: #15803D; background: #15803D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.pxaw-check button:focus-visible { outline: 2px solid #00A3D9; outline-offset: 2px; }
.pxaw-check__score { margin: 14px 0 0; font: 500 14.5px/1.5 var(--f-body); color: #334155; }
.pxaw-check__score b { color: #082238; }
.pxaw-sec__fine { margin: 16px 0 0; padding: 14px 16px; border-radius: 14px; background: #F3F7F9; font-size: 14px; line-height: 1.6; color: #475569; }
.pxaw-ai { padding: clamp(24px, 3vw, 36px); border-radius: 26px; background: linear-gradient(160deg, #F3EEFF, #EAF6FB 60%, #fff); border: 1px solid #E4DCFB; }
.pxaw-ai__list { display: grid; gap: 14px; margin: 24px 0 0; }
.pxaw-ai__list div { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.85); border: 1px solid #E6E9F2; }
.pxaw-ai__list dt { display: flex; align-items: center; gap: 10px; font: 700 16px/1.2 var(--f-display); color: #082238; }
.pxaw-ai__list dd { margin: 6px 0 0 36px; font-size: 14.5px; line-height: 1.55; }
.pxaw-ai__more { margin: 18px 0 0; font-size: 14.5px; line-height: 1.6; }
.pxaw-ai__more a { color: #0A6FA8; font-weight: 600; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .pxaw-waves { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pxaw-levers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .pxaw-hero .pxaw-hero__grid, .pxaw-zx__grid, .pxaw-sec__grid, .pxaw-cx__grid { grid-template-columns: minmax(0, 1fr); }
  .pxaw-bp { max-width: 620px; }
  .pxaw-chip--sync { left: 8px; }
  .pxaw-chip--tag { right: 8px; }
  .pxaw-svc__list { grid-template-columns: minmax(0, 1fr); }
  .pxaw-spec__row { grid-template-columns: 44px 76px minmax(0, 1fr); }
  .pxaw-spec__chip { grid-column: 3; justify-self: start; }
  .pxaw-runway { display: none; }
  .pxaw-waves { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 14px; margin: 0 -2px; }
  .pxaw-wave { flex: 0 0 min(78vw, 300px); scroll-snap-align: start; }
}
@media (max-width: 620px) {
  .pxaw-spec__row { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  .pxaw-spec__n { font-size: 22px; }
  .pxaw-spec__ic { justify-self: start; height: 48px; }
  .pxaw-spec__row > div, .pxaw-spec__chip { grid-column: 1 / -1; }
  .pxaw-levers { grid-template-columns: minmax(0, 1fr); }
  .pxaw-svc__item { grid-template-columns: minmax(0, 1fr); }
  .pxaw-svc__ics { grid-row: auto; justify-self: start; }
  .pxaw-svc__item .pxaw-svc__for { grid-column: 1; }
  .pxaw-seg { grid-template-columns: minmax(0, 1fr); }
  .pxaw-bars li { grid-template-columns: 88px minmax(0, 1fr) 64px; }
  .pxaw-cx__card { padding: 20px 16px; }
  .pxaw-zx__stage { padding: 18px 14px; }
  .pxaw-bp__block { display: none; }
  .pxaw-chip { font-size: 11.5px; padding: 7px 11px; }
  .pxaw-chip--sync em { display: none; }
  .pxaw-chip--sync { top: -4px; } .pxaw-chip--tag { bottom: -2px; }
}
@media (prefers-reduced-motion: reduce) {
  .pxaw-path::before { animation: none; }
  .pxaw-path li { animation: none; opacity: 1; transform: none; }
  .pxaw-bp .pxaw-w, .pxaw-bp .pxaw-n, .pxaw-bp .pxaw-zone, .pxaw-bp .pxaw-chip, .pxaw-wave, .pxaw-runway__fill, .pxaw-runway__jet { transition: none; }
}
