body.pb-hw {
    --hw-u: clamp(.52px, .045vw, .68px);
    --hw-lower-u: clamp(.56px, .048vw, .72px);
    --hw-ink: #081427;
    --hw-navy: #061729;
    --hw-blue: #0649fa;
    --hw-cyan: #13deff;
    --hw-gold: #ffd489;
    --hw-ice: #e5f1fb;
    --hw-header-height: var(--header-height);
    --hw-beam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1100 220' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop stop-color='%23008af2' stop-opacity='0'/%3E%3Cstop offset='.57' stop-color='%230077ed'/%3E%3Cstop offset='.8' stop-color='%2339e7ff'/%3E%3Cstop offset='1' stop-color='%230f9bff' stop-opacity='.18'/%3E%3C/linearGradient%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='7'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M-30 214C380 185 665 122 1122 4' fill='none' stroke='url(%23g)' stroke-width='16' filter='url(%23b)'/%3E%3Cpath d='M-30 214C380 185 665 122 1122 4' fill='none' stroke='url(%23g)' stroke-width='2'/%3E%3C/svg%3E");
    background: var(--hw-ice);
    color: var(--hw-ink);
}
body.pb-hw .hw-wrap { margin-inline: auto; }
body.pb-hw :is(.hw-hero, .hw-plans, .hw-compare, .hw-setup, .hw-faqs, .hw-close) h2 {
    margin: 0; color: inherit; font-weight: 800; letter-spacing: -.036em; line-height: 1.04;
}

/* Shared Premium Numbers header — no page-specific chrome. */

/* The room, wood reflection, signal and router are separately positioned. */
body.pb-hw .hw-hero {
    position: relative; isolation: isolate; overflow: hidden;
    min-height: min(32.5rem, calc(100svh - var(--header-height))); background: #071728; color: #fbfcff;
}
body.pb-hw .hw-hero-grid {
    width: min(1180px, calc(100% - 4.5rem)); padding-block: 1.6rem 1.35rem;
}
body.pb-hw .hw-hero-copy { position: relative; max-width: calc(662 * var(--hw-u)); }
body.pb-hw .hw-kicker, body.pb-hw .hw-plan-kicker {
    margin: 0; color: var(--hw-gold); font-size: calc(23 * var(--hw-u));
    line-height: calc(29 * var(--hw-u)); font-weight: 700; letter-spacing: .145em; text-transform: uppercase;
}
body.pb-hw .hw-hero h1 {
    margin: .7rem 0 0; color: #f9fbff;
    font-size: clamp(2.4rem, 4vw, 3.35rem); line-height: 1.08;
    font-weight: 800; letter-spacing: -.042em; text-shadow: 0 2px 12px #08152955;
}
body.pb-hw .hw-hero h1 span { display: block; }
body.pb-hw .hw-hero h1 span + span { color: #d5f2ff; }
body.pb-hw .hw-hero-lead {
    margin: calc(25 * var(--hw-u)) 0 0; color: #f0f2fa;
    font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.45; font-weight: 450; letter-spacing: .004em;
}
body.pb-hw .hw-hero-lead span { display: block; }
body.pb-hw .hw-hero-actions { display: flex; gap: calc(19 * var(--hw-u)); margin-top: calc(38 * var(--hw-u)); }
body.pb-hw .hw-btn {
    display: inline-flex; justify-content: center; align-items: center; gap: calc(17 * var(--hw-u));
    min-width: 0; min-height: calc(56 * var(--hw-u)); padding: calc(8 * var(--hw-u)) calc(19 * var(--hw-u));
    border: 1.5px solid transparent; border-radius: calc(14 * var(--hw-u));
    font: inherit; font-size: calc(24 * var(--hw-u)); font-weight: 750; line-height: 1.18;
    text-decoration: none; text-align: center; cursor: pointer;
}
body.pb-hw .hw-btn-primary { background: linear-gradient(105deg, #0647f8, #0640ee); color: #fff; }
body.pb-hw .hw-btn-ghost { border-color: #f5f7ff; background: #05122666; color: #fff; }
body.pb-hw .hw-btn:hover { filter: brightness(1.11); }
body.pb-hw :is(.hw-btn, .hw-text-link):focus-visible { outline: 2px solid #19bdff; outline-offset: 4px; }
body.pb-hw .hw-hero-actions .hw-btn { min-height: 2.85rem; white-space: nowrap; }
body.pb-hw .hw-hero-actions .hw-btn-primary { width: auto; min-width: 13.5rem; padding-inline: 1.15rem; }
body.pb-hw .hw-hero-actions .hw-btn-ghost { width: auto; min-width: 10.5rem; padding-inline: 1.05rem; }
body.pb-hw .hw-btn-arrow::after {
    content: ''; display: block; flex: 0 0 auto; width: 1.13em; height: .8em; background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 20'%3E%3Cpath d='M1 10h25m-9-8 9 8-9 8' fill='none' stroke='%23fff' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.pb-hw .hw-lockup { width: min(14.5rem, 42vw); height: auto; aspect-ratio: 329 / 101; margin-top: 1.15rem; }
body.pb-hw .hw-lockup img { display: block; width: 100%; height: 100%; object-fit: fill; border-radius: calc(14 * var(--hw-u)); }
body.pb-hw .hw-hero-art { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
body.pb-hw .hw-hero-scene { position: absolute; inset: 0; }
body.pb-hw .hw-hero-sky {
    position: absolute; inset: -3% 0 auto; width: 100%; height: 103%; object-fit: fill;
}
body.pb-hw .hw-hero-art::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, #071525 1%, #081729ed 24%, #08182dcc 34%, #08172b42 42%, transparent 48%);
}
body.pb-hw .hw-signal-trace { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
body.pb-hw .hw-signal-reflections { clip-path: url(#hw-wood-desktop); }
body.pb-hw .hw-router-shadow {
    position: absolute; left: 70.63%; top: 79.1%; width: 12.6%; height: 3%;
    transform: translateX(-50%);
    background: radial-gradient(ellipse, #100904de 11%, #100a0655 53%, transparent 72%);
}
body.pb-hw .hw-router-device {
    position: absolute; left: 70.63%; top: 15.86%; width: auto; height: 64.83%;
    max-height: calc(100% - 4.75rem); aspect-ratio: 874 / 1800; transform: translateX(-50%);
    filter: drop-shadow(2px 0 4px #27d7ff8a) drop-shadow(0 3px 2px #1009048c);
}
body.pb-hw .hw-router-face {
    position: absolute; inset: 0; overflow: hidden;
    border-radius: 47% 47% 43% 43% / 4.45% 4.45% 4% 4%;
}
body.pb-hw .hw-hero-router {
    display: block; position: absolute; left: -12.5%; top: -12.5%; width: 125%; height: 125%;
    max-width: none; object-fit: contain;
}
body.pb-hw .hw-router-rim {
    position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, transparent 86%, #32d9ff12 94%, #32d9ff56 98.4%, #a3edffba);
}
body.pb-hw .hw-router-caption {
    position: absolute; inset-inline-end: calc(80 * var(--hw-u)); bottom: calc(39 * var(--hw-u));
    margin: 0; color: #f7f8ff; font-size: calc(16 * var(--hw-u)); font-style: italic; font-weight: 600;
}
body.pb-hw .hw-benefits {
    position: relative; z-index: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center; min-height: calc(96 * var(--hw-u)); margin: 0; padding: 0 calc(81 * var(--hw-u)) 0 calc(66 * var(--hw-u));
    list-style: none; border-block-start: calc(3 * var(--hw-u)) solid #19ecff;
    background: radial-gradient(ellipse at 55% 0%, #0b2c44, #07172b 66%);
    color: #f7fbff; box-shadow: inset 0 9px 15px -10px #17dfff;
}
body.pb-hw .hw-benefits li {
    display: flex; justify-content: center; align-items: center; min-width: 0; min-height: calc(49 * var(--hw-u));
    gap: calc(30 * var(--hw-u)); padding-inline: calc(13 * var(--hw-u));
    font-size: calc(22 * var(--hw-u)); line-height: 1.12; font-weight: 750;
}
body.pb-hw .hw-benefits li + li { border-inline-start: 1px solid #c6d9ed69; }
body.pb-hw .hw-benefits svg { flex: 0 0 auto; width: calc(49 * var(--hw-u)); height: calc(49 * var(--hw-u)); color: #e3faff; }
body.pb-hw .hw-benefits li:nth-child(2) svg { width: calc(60 * var(--hw-u)); }

/* Plan cards and their shared comparison. */
body.pb-hw .hw-plans {
    padding-block: calc(13 * var(--hw-u)) calc(16 * var(--hw-u));
    background: radial-gradient(ellipse at 88% 2%, #cfeafa99, transparent 64%), linear-gradient(115deg, #e4effa, #dcedf9);
}
@media (min-width: 901px) {
    body.pb-hw .hw-plans {
        background:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 620' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.6' stop-color='%23e6fdff' stop-opacity='.64'/%3E%3Cstop offset='1' stop-color='%23efffff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M882 238C1110 150 1329 0 1543-6M902 239C1137 155 1341 48 1543 48' fill='none' stroke='url(%23g)' stroke-width='1.9'/%3E%3C/svg%3E") top / 100% 100% no-repeat,
            radial-gradient(ellipse at 88% 2%, #cfeafa99, transparent 64%), linear-gradient(115deg, #e4effa, #dcedf9);
    }
}
body.pb-hw .hw-plans > .hw-wrap { width: calc(100% - 256 * var(--hw-u)); }
body.pb-hw .hw-plans-head { margin-block-end: calc(28 * var(--hw-u)); padding-inline: calc(13 * var(--hw-u)); }
body.pb-hw .hw-plan-kicker {
    display: flex; align-items: center; gap: calc(17 * var(--hw-u)); color: var(--hw-ink);
    font-size: calc(20 * var(--hw-u)); line-height: calc(26 * var(--hw-u)); letter-spacing: .045em;
}
body.pb-hw .hw-plan-kicker::after, body.pb-hw .hw-setup .hw-kicker::after {
    content: ''; width: calc(98 * var(--hw-u)); height: calc(3 * var(--hw-u)); border-radius: 2px; background: #0be2f7;
}
body.pb-hw .hw-plans-head h2 { margin-top: calc(9 * var(--hw-u)); font-size: calc(60 * var(--hw-u)); }
body.pb-hw .hw-plans-lead {
    margin: calc(5 * var(--hw-u)) 0 0; color: #182740; font-size: calc(24 * var(--hw-u)); line-height: 1.2;
}
body.pb-hw .hw-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(26 * var(--hw-u)); }
body.pb-hw .hw-plan {
    position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column;
    min-width: 0; min-height: calc(405 * var(--hw-u));
    padding: calc(30 * var(--hw-u)) calc(48 * var(--hw-u)) calc(22 * var(--hw-u));
    border: 1.5px solid #0865ff; border-radius: calc(23 * var(--hw-u));
}
body.pb-hw .hw-plan-advance {
    background: radial-gradient(ellipse at 106% 13%, #a6def9ab, transparent 58%), linear-gradient(125deg, #f2f7fb, #e6f1fb 52%, #d3e9f9);
    color: var(--hw-ink); --hw-card-accent: #0752ff;
}
body.pb-hw .hw-plan-premium {
    border-color: #d4a44e #06182e #06182e;
    background: radial-gradient(ellipse at 104% 33%, #073462bd, transparent 53%), linear-gradient(144deg, #0b2138, #041429 70%);
    color: #f8fbff; --hw-card-accent: #ffd07b;
    box-shadow: 0 8px 25px #0b254a18;
}
body.pb-hw .hw-plan-premium::before {
    content: ''; position: absolute; inset: 0 0 auto; height: calc(4 * var(--hw-u));
    background: linear-gradient(90deg, #a46e2f, #ffe5a9 43%, #d9a247 85%, #fff9dc 97%);
}
body.pb-hw .hw-plan-premium::after {
    content: ''; position: absolute; top: calc(-24 * var(--hw-u)); inset-inline-end: calc(-11 * var(--hw-u));
    width: calc(75 * var(--hw-u)); height: calc(58 * var(--hw-u)); pointer-events: none;
    background:
        linear-gradient(90deg, transparent, #fff4c8b8, transparent) center / 96% 1px no-repeat,
        linear-gradient(transparent, #fff4c8cc, transparent) center / 1px 88% no-repeat,
        radial-gradient(ellipse, #fffde9 0 5%, #ffe7a7aa 12%, #fbd68a40 36%, transparent 68%);
}
body.pb-hw .hw-plan-waves { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; }
body.pb-hw .hw-plan-premium .hw-plan-waves { filter: drop-shadow(0 2px 8px #0788ff); }
body.pb-hw .hw-plan-title { display: flex; align-items: center; gap: calc(21 * var(--hw-u)); }
body.pb-hw .hw-plan-icon { flex: 0 0 auto; width: calc(76 * var(--hw-u)); height: calc(66 * var(--hw-u)); color: var(--hw-card-accent); }
body.pb-hw .hw-plan-title h3 { margin: 0; color: inherit; font-size: calc(34 * var(--hw-u)); line-height: .99; font-weight: 800; letter-spacing: -.023em; }
body.pb-hw .hw-price {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: calc(9 * var(--hw-u));
    margin: calc(13 * var(--hw-u)) 0 0; color: inherit;
    font-size: calc(23 * var(--hw-u)); line-height: 1.13; letter-spacing: -.02em;
}
body.pb-hw .hw-price > bdi { display: inline-flex; align-items: baseline; gap: calc(11 * var(--hw-u)); font-size: calc(29 * var(--hw-u)); font-weight: 800; white-space: nowrap; }
body.pb-hw .hw-price strong { font-size: calc(62 * var(--hw-u)); line-height: 1.04; letter-spacing: -.035em; }
body.pb-hw .hw-plan-sub { margin: calc(1 * var(--hw-u)) 0 0; color: inherit; font-size: calc(20 * var(--hw-u)); line-height: 1.3; }
body.pb-hw .hw-plan ul {
    display: grid; gap: calc(7 * var(--hw-u)); margin: calc(14 * var(--hw-u)) 0 calc(16 * var(--hw-u)); padding: 0;
    list-style: none; font-size: calc(20 * var(--hw-u)); line-height: 1.24;
}
body.pb-hw .hw-plan li { display: flex; align-items: baseline; gap: calc(17 * var(--hw-u)); }
body.pb-hw .hw-plan li svg {
    flex: 0 0 auto; align-self: center; width: calc(24 * var(--hw-u)); height: calc(18 * var(--hw-u)); color: var(--hw-card-accent);
}
body.pb-hw .hw-plan .hw-btn { margin: auto calc(-13 * var(--hw-u)) 0; background: #074cfa; color: #fff; border-radius: calc(13 * var(--hw-u)); }
body.pb-hw .hw-plan-premium .hw-btn {
    background: linear-gradient(165deg, #ffe1a0, #e4b65f 95%); color: #101829; border-color: #ffe1a2;
}
body.pb-hw .hw-compare-note { margin: 0; color: #344158; font-size: calc(17 * var(--hw-u)); line-height: 1.33; }
body.pb-hw .hw-plans .hw-compare-note { margin-top: calc(16 * var(--hw-u)); text-align: center; }
body.pb-hw .hw-compare {
    padding-block-end: calc(11 * var(--hw-u)); background: linear-gradient(118deg, #e4f1fc, #dbeefb);
}
body.pb-hw .hw-compare > .hw-wrap {
    width: calc(100% - 230 * var(--hw-u)); padding: calc(12 * var(--hw-u)) calc(26 * var(--hw-u)) calc(23 * var(--hw-u));
    border-radius: calc(15 * var(--hw-u)); background: linear-gradient(130deg, #f5f9fce8, #f0f7fdd6);
}
body.pb-hw .hw-compare h2 { margin-inline: calc(10 * var(--hw-u)); margin-bottom: calc(23 * var(--hw-u)); font-size: calc(42 * var(--hw-u)); }
body.pb-hw .hw-compare-table {
    width: 100%; overflow: hidden; border: 1px solid #748ba9; border-spacing: 0; border-collapse: separate;
    border-radius: calc(12 * var(--hw-u)); color: var(--hw-ink); font-size: calc(22 * var(--hw-u)); line-height: 1.2;
}
body.pb-hw .hw-compare-table :is(th, td) {
    padding: calc(8 * var(--hw-u)) calc(30 * var(--hw-u)); border-block-end: 0;
    background: #f5faffb0; color: var(--hw-ink); text-align: start;
}
body.pb-hw .hw-compare-table thead th { height: calc(51 * var(--hw-u)); background: #dceaf8; font-size: calc(24 * var(--hw-u)); font-weight: 800; }
body.pb-hw .hw-compare-table th:first-child { width: 32.2%; }
body.pb-hw .hw-compare-table th:nth-child(2) { width: 32.8%; }
body.pb-hw .hw-compare-table tbody tr > * { height: calc(44.5 * var(--hw-u)); border-block-start: 1px solid #758ba9b5; }
body.pb-hw .hw-compare-table tbody th { font-weight: 750; }
body.pb-hw .hw-compare-table tr > * + * { border-inline-start: 1px solid #758ba96e; }
body.pb-hw .hw-compare-table tr > :last-child { background: #fff1d7a8; }
body.pb-hw .hw-compare-table thead th:nth-child(n+2)::before {
    content: ''; display: inline-block; margin-inline-end: calc(13 * var(--hw-u)); width: calc(19 * var(--hw-u)); height: calc(19 * var(--hw-u));
    border-radius: 50%; background: #0753fa; vertical-align: -.1em;
}
body.pb-hw .hw-compare-table thead th:last-child::before { background: #e2b765; }
body.pb-hw .hw-cmp-mobile { display: none; }
body.pb-hw .hw-compare-foot {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 22px;
    margin: calc(16 * var(--hw-u)) calc(3 * var(--hw-u)) 0;
}
body.pb-hw .hw-text-link {
    display: inline-flex; align-items: center; gap: .5em; padding: 0; border: 0; background: transparent;
    color: #064afa; font: inherit; font-size: calc(21 * var(--hw-u)); font-weight: 750; line-height: 1.25;
    text-align: start; text-decoration: none; cursor: pointer;
}
body.pb-hw .hw-text-link:hover { color: #0037b9; text-decoration: underline; }

/* The process and enquiry bands use static light traces. */
body.pb-hw :is(.hw-setup, .hw-faqs, .hw-close) > .hw-wrap { width: calc(100% - 132 * var(--hw-lower-u)); }
body.pb-hw :is(.hw-setup, .hw-close) {
    position: relative; isolation: isolate; overflow: hidden; color: #f7faff;
    background: radial-gradient(ellipse at 74% 0%, #0e3d66 0%, #05223e 33%, #06192d 70%);
}
body.pb-hw :is(.hw-setup, .hw-close)::before {
    content: ''; position: absolute; z-index: -1; pointer-events: none; background: var(--hw-beam) center / 100% 100% no-repeat;
}
body.pb-hw .hw-setup { min-height: calc(345 * var(--hw-lower-u)); padding-block: calc(25 * var(--hw-lower-u)) calc(34 * var(--hw-lower-u)); }
body.pb-hw .hw-setup::before { width: 51%; height: 58%; inset-block-start: -11%; inset-inline-end: -6%; }
body.pb-hw .hw-setup .hw-kicker {
    display: flex; align-items: center; gap: calc(20 * var(--hw-lower-u)); color: #ffe29d;
    font-size: calc(20 * var(--hw-lower-u)); line-height: calc(29 * var(--hw-lower-u)); letter-spacing: .125em; font-weight: 600;
}
body.pb-hw .hw-setup .hw-kicker::after { width: calc(81 * var(--hw-lower-u)); height: calc(2 * var(--hw-lower-u)); background: #f8d78a; }
body.pb-hw .hw-setup h2 { font-size: calc(55 * var(--hw-lower-u)); }
body.pb-hw .hw-steps {
    position: relative; display: grid; grid-template-columns: 1.04fr 1fr .91fr; gap: calc(24 * var(--hw-lower-u));
    margin-top: calc(21 * var(--hw-lower-u)); padding-inline-start: calc(24 * var(--hw-lower-u));
}
body.pb-hw .hw-step-track {
    position: absolute; top: 0; left: 0; width: 100%; height: calc(116 * var(--hw-lower-u)); overflow: visible; pointer-events: none;
}
body.pb-hw .hw-step-track > circle { filter: drop-shadow(0 0 6px #00baff); }
body.pb-hw .hw-step {
    position: relative; display: grid; grid-template-columns: calc(58 * var(--hw-lower-u)) minmax(0, 1fr);
    grid-template-rows: calc(116 * var(--hw-lower-u)) auto; align-items: start; column-gap: calc(20 * var(--hw-lower-u));
}
body.pb-hw .hw-step-ico {
    display: block; grid-column: 1 / -1; justify-self: start; margin-inline-start: calc(111 * var(--hw-lower-u));
    width: calc(95 * var(--hw-lower-u)); height: calc(102 * var(--hw-lower-u)); color: #f7fbff;
    filter: drop-shadow(0 4px 5px #129eff63);
}
body.pb-hw .hw-step-router {
    margin-inline-start: calc(132 * var(--hw-lower-u)); width: calc(68 * var(--hw-lower-u)); height: calc(109 * var(--hw-lower-u));
    filter: drop-shadow(0 5px 6px #eabc62b3);
}
body.pb-hw .hw-step-index {
    display: grid; place-items: center; width: calc(58 * var(--hw-lower-u)); height: calc(58 * var(--hw-lower-u));
    border: calc(3 * var(--hw-lower-u)) solid #0e9cff; border-radius: 50%; color: #f9fbff;
    font-size: calc(25 * var(--hw-lower-u)); font-weight: 800; line-height: 1;
}
body.pb-hw .hw-step:last-child .hw-step-index { border-color: #ffda8c; }
body.pb-hw .hw-step h3 { margin: 0; color: #fbfcff; font-size: calc(28 * var(--hw-lower-u)); font-weight: 800; line-height: 1.15; letter-spacing: -.014em; }
body.pb-hw .hw-step p { margin: calc(4 * var(--hw-lower-u)) 0 0; color: #f1f5ff; font-size: calc(17.5 * var(--hw-lower-u)); line-height: 1.3; }
body.pb-hw .hw-faqs {
    padding-block: calc(44 * var(--hw-lower-u)); background: linear-gradient(113deg, #e9f3fc, #e2f0fa); color: var(--hw-ink);
}
body.pb-hw .hw-faqs-grid {
    display: grid; grid-template-columns: calc(440 * var(--hw-lower-u)) minmax(0, 1fr); gap: calc(40 * var(--hw-lower-u));
}
body.pb-hw .hw-faq-intro { padding-inline-end: calc(24 * var(--hw-lower-u)); border-inline-end: 1px solid #9cbfe2; }
body.pb-hw .hw-faqs h2 { font-size: calc(49 * var(--hw-lower-u)); line-height: .98; }
body.pb-hw .hw-faq-intro > p:not(.hw-faq-more) {
    margin: calc(12 * var(--hw-lower-u)) 0 0; font-size: calc(22 * var(--hw-lower-u)); line-height: 1.28; color: var(--hw-ink);
}
body.pb-hw .hw-faq-chips { display: flex; flex-wrap: wrap; gap: calc(7 * var(--hw-lower-u)); margin-block-start: calc(20 * var(--hw-lower-u)); }
body.pb-hw .hw-faq-chips button {
    display: inline-flex; align-items: center; justify-content: center; min-height: calc(35 * var(--hw-lower-u));
    padding: calc(6 * var(--hw-lower-u)) calc(15 * var(--hw-lower-u)); border: 1px solid #a8bfd9;
    border-radius: calc(10 * var(--hw-lower-u)); background: #f1f7fd; color: var(--hw-ink);
    font: inherit; font-size: calc(16 * var(--hw-lower-u)); font-weight: 750; line-height: 1.13; cursor: pointer;
}
body.pb-hw .hw-faq-chips button.is-on { border-color: #4489ed; color: #034f9d; }
body.pb-hw .hw-faq-chips button:focus-visible, body.pb-hw .hw-faq-panel summary:focus-visible { outline: 2px solid var(--hw-blue); outline-offset: -2px; }
body.pb-hw .hw-faq-more { margin: calc(12 * var(--hw-lower-u)) 0 0; }
body.pb-hw .hw-faq-more .hw-text-link { font-size: calc(22 * var(--hw-lower-u)); }
body.pb-hw .hw-faq-panel:not([hidden]) { display: grid; gap: calc(16 * var(--hw-lower-u)); }
body.pb-hw .hw-faq-panel details {
    overflow: hidden; border: 1px solid #a7bdd7; border-radius: calc(13 * var(--hw-lower-u)); background: #f0f7fde6;
}
body.pb-hw .hw-faq-panel details[open] { border-color: #4b82ff; }
body.pb-hw .hw-faq-panel summary {
    display: flex; justify-content: space-between; align-items: center; gap: 1em;
    min-height: calc(58 * var(--hw-lower-u)); padding: calc(8 * var(--hw-lower-u)) calc(30 * var(--hw-lower-u));
    color: var(--hw-ink); font-size: calc(24 * var(--hw-lower-u)); font-weight: 800; line-height: 1.13; letter-spacing: -.02em; cursor: pointer; list-style: none;
}
body.pb-hw .hw-faq-panel summary::-webkit-details-marker { display: none; }
body.pb-hw .hw-faq-panel summary::after {
    content: ''; flex: 0 0 auto; width: .85em; height: .85em; color: var(--hw-ink);
    background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
        linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
}
body.pb-hw .hw-faq-panel details[open] summary { min-height: calc(53 * var(--hw-lower-u)); }
body.pb-hw .hw-faq-panel details[open] summary::after { background-size: 100% 2px, 0 0; }
body.pb-hw .hw-faq-panel p {
    margin: 0; padding: calc(8 * var(--hw-lower-u)) calc(31 * var(--hw-lower-u)) calc(10 * var(--hw-lower-u));
    color: #0c1c30; background: #dceefb; font-size: calc(20 * var(--hw-lower-u)); line-height: 1.19;
}
body.pb-hw .hw-close {
    padding-block: calc(32 * var(--hw-lower-u)); border-block-end: 1px solid #1a4066;
    background: radial-gradient(ellipse at 68% 12%, #0b4390, #05244d 46%, #07182d 86%);
}
body.pb-hw .hw-close::before { inset: -15% 0 -2% 22%; }
body.pb-hw .hw-close > .hw-wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
body.pb-hw .hw-close h2 { font-size: calc(49 * var(--hw-lower-u)); }
body.pb-hw .hw-close .hw-btn {
    min-width: calc(343 * var(--hw-lower-u)); min-height: calc(61 * var(--hw-lower-u));
    border-color: #0e8dff; border-radius: calc(12 * var(--hw-lower-u)); font-size: calc(24 * var(--hw-lower-u));
}

html[dir="rtl"] body.pb-hw :is(.hw-hero-art, .hw-hero-router, .hw-router-leds, .hw-step-track, .hw-plan-waves),
html[dir="rtl"] body.pb-hw .hw-btn-arrow::after,
html[dir="rtl"] body.pb-hw :is(.hw-setup, .hw-close)::before { transform: scaleX(-1); }
html[dir="rtl"] body.pb-hw :is(.hw-hero h1, .hw-plans h2, .hw-compare h2, .hw-setup h2, .hw-faqs h2, .hw-close h2) {
    font-family: Tahoma, system-ui, sans-serif; letter-spacing: 0;
}
html[dir="rtl"] body.pb-hw .hw-hero h1 { font-size: calc(55 * var(--hw-u)); }
html[dir="rtl"] body.pb-hw :is(.hw-hero h1 span, .hw-hero-lead span:first-child) { transform: none; }
html[dir="rtl"] body.pb-hw :is(.hw-kicker, .hw-plan-kicker) { letter-spacing: 0; }
html[dir="rtl"] body.pb-hw .hw-plan-title h3 { max-width: 12ch; }
html[dir="rtl"] body.pb-hw .hw-faq-panel summary { letter-spacing: 0; }
html[lang="en"] body.pb-hw :is(.hw-plans-head h2, .hw-compare h2, .hw-setup h2, .hw-faqs h2, .hw-close h2) {
    -webkit-text-stroke: calc(.39 * var(--hw-u)) currentColor;
}

/* Retain both shared contact actions. Do not shrink the Home Wireless launcher. */
@media (min-width: 901px) {
    html[lang="en"] body.pb-hw :is(.hw-setup h2, .hw-faqs h2, .hw-close h2) { transform-origin: left center; }
    body.pb-hw .hw-step:last-child .hw-step-copy { margin-inline-end: calc(-21 * var(--hw-lower-u)); }
    body.pb-hw .pbz-wc-wa {
        bottom: calc(max(1rem, env(safe-area-inset-bottom)) + var(--pbz-dock-lift, 0px) + 48px + 10px);
    }
    body.pb-hw .pbz-wc-nudge {
        bottom: calc(max(1rem, env(safe-area-inset-bottom)) + var(--pbz-dock-lift, 0px) + 48px + 10px + 48px + 12px);
    }
    html[dir="rtl"] body.pb-hw :is(.pbz-wc-launcher:not(.is-open), .pbz-wc-wa, .pbz-wc-nudge) {
        right: auto; left: max(1rem, env(safe-area-inset-left));
    }
}
@media (min-width: 1321px) {
    html[lang="en"] body.pb-hw .hw-step:last-child p { white-space: nowrap; }
}

@media (max-width: 900px) {
    body.pb-hw {
        --hw-u: clamp(.37px, .11820331vw, 1px);
        --hw-header-height: calc(81 * var(--hw-u));
        --hw-lower-u: max(.67px, var(--hw-u));
    }
    body.pb-hw .hw-hero { min-height: 0; }
    body.pb-hw .hw-hero-grid { width: calc(100% - 126 * var(--hw-u)); padding-block: calc(26 * var(--hw-u)) calc(502 * var(--hw-u)); }
    body.pb-hw .hw-hero-copy { max-width: none; }
    body.pb-hw .hw-kicker { font-size: calc(27 * var(--hw-u)); line-height: calc(33 * var(--hw-u)); }
    body.pb-hw .hw-hero h1 { margin-top: calc(13 * var(--hw-u)); font-size: calc(82 * var(--hw-u)); line-height: calc(73 * var(--hw-u)); }
    body.pb-hw .hw-hero h1 span, body.pb-hw .hw-hero h1 span + span { transform: none; }
    body.pb-hw .hw-hero-lead { margin-top: calc(13 * var(--hw-u)); font-size: calc(30 * var(--hw-u)); line-height: calc(35 * var(--hw-u)); }
        body.pb-hw .hw-hero-actions { margin-top: calc(27 * var(--hw-u)); gap: calc(20 * var(--hw-u)); }
    body.pb-hw .hw-hero-actions .hw-btn {
        min-width: 0; min-height: calc(70 * var(--hw-u)); padding-inline: calc(10 * var(--hw-u)); border-radius: calc(17 * var(--hw-u));
        font-size: calc(27 * var(--hw-u));
    }
    body.pb-hw .hw-hero-actions .hw-btn-primary { width: auto; flex: 394 1 0; min-width: 0; padding-inline: calc(10 * var(--hw-u)); }
    body.pb-hw .hw-hero-actions .hw-btn-ghost { width: auto; flex: 306 1 0; min-width: 0; padding-inline: calc(10 * var(--hw-u)); }
    body.pb-hw .hw-lockup { width: calc(342 * var(--hw-u)); height: calc(98 * var(--hw-u)); margin-top: calc(20 * var(--hw-u)); }
    body.pb-hw .hw-hero-art { inset: auto 0 0; height: calc(574 * var(--hw-u)); }
    body.pb-hw .hw-hero-scene { inset: auto auto 0 calc(-522 * var(--hw-u)); width: calc(100vw + 522 * var(--hw-u)); height: calc(521 * var(--hw-u)); }
    body.pb-hw .hw-hero-sky {
        inset: auto 0 0 calc(-43 * var(--hw-u)); width: calc(100% + 43 * var(--hw-u));
        max-width: none; height: calc(529 * var(--hw-u)); mask-image: linear-gradient(transparent, #000 11%);
    }
    body.pb-hw .hw-hero-art::after { content: none; }
    body.pb-hw .hw-router-device {
        left: 69.23%; top: 7.87%; width: auto; height: 79.08%;
        max-height: calc(100% - 3.25rem); transform: translateX(-50%);
    }
    body.pb-hw .hw-router-shadow { left: 69.23%; top: 85.7%; width: 14.2%; height: 4%; transform: translateX(-50%); }
    body.pb-hw .hw-signal-trace { transform: translateY(calc(26 * var(--hw-u))); }
    body.pb-hw .hw-signal-reflections { clip-path: url(#hw-wood-mobile); }
    body.pb-hw .hw-router-caption {
        width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
    }
    body.pb-hw .hw-benefits {
        grid-template-columns: minmax(0, max-content); justify-content: center; min-height: calc(188 * var(--hw-u));
        padding: calc(14 * var(--hw-u)) calc(56 * var(--hw-u)) calc(14 * var(--hw-u)) calc(30 * var(--hw-u));
    }
    body.pb-hw .hw-benefits li {
        display: grid; grid-template-columns: calc(92 * var(--hw-u)) minmax(0, 1fr); gap: calc(32 * var(--hw-u));
        min-height: calc(50 * var(--hw-u)); justify-content: start; padding: 0; font-size: calc(27 * var(--hw-u));
    }
    body.pb-hw .hw-benefits li + li { border-inline-start: 0; }
    body.pb-hw .hw-benefits li > span { position: relative; }
    body.pb-hw .hw-benefits li > span::before {
        content: ''; position: absolute; inset-inline-start: calc(-32 * var(--hw-u)); inset-block: 50% auto;
        width: 1px; height: calc(35 * var(--hw-u)); transform: translateY(-50%); background: #c6d9ed69;
    }
    body.pb-hw .hw-benefits svg { justify-self: start; }
    body.pb-hw .hw-plans { padding-block: calc(20 * var(--hw-u)) calc(27 * var(--hw-u)); }
    body.pb-hw :is(.hw-plans, .hw-compare, .hw-setup, .hw-faqs, .hw-close) > .hw-wrap { width: calc(100% - 90 * var(--hw-u)); }
    body.pb-hw .hw-plans-head { padding-inline: calc(3 * var(--hw-u)); margin-bottom: calc(18 * var(--hw-u)); }
    body.pb-hw .hw-plans-head h2 { margin: 0; font-size: calc(57 * var(--hw-u)); line-height: calc(64 * var(--hw-u)); }
    html[lang="en"] body.pb-hw .hw-plans-head h2 { transform: none; }
    body.pb-hw :is(.hw-plan-kicker, .hw-plans-lead, .hw-compare-table) { display: none; }
    body.pb-hw .hw-plan-grid { grid-template-columns: 1fr; gap: calc(24 * var(--hw-u)); }
    body.pb-hw .hw-plan { min-height: calc(452 * var(--hw-u)); padding: calc(27 * var(--hw-u)) calc(43 * var(--hw-u)) calc(29 * var(--hw-u)); border-radius: calc(24 * var(--hw-u)); }
    body.pb-hw .hw-plan-title { gap: calc(25 * var(--hw-u)); }
    body.pb-hw .hw-plan-title h3 { font-size: calc(38 * var(--hw-u)); line-height: 1.02; }
    body.pb-hw .hw-plan-icon { width: calc(86 * var(--hw-u)); height: calc(78 * var(--hw-u)); }
    body.pb-hw .hw-price { margin-top: calc(16 * var(--hw-u)); font-size: calc(27 * var(--hw-u)); }
    body.pb-hw .hw-price > bdi { font-size: calc(32 * var(--hw-u)); }
    body.pb-hw .hw-price strong { font-size: calc(72 * var(--hw-u)); }
    body.pb-hw .hw-plan-sub { font-size: calc(25 * var(--hw-u)); }
    body.pb-hw .hw-plan ul { margin-block: calc(21 * var(--hw-u)) calc(23 * var(--hw-u)); gap: calc(10 * var(--hw-u)); font-size: calc(25 * var(--hw-u)); }
    body.pb-hw .hw-plan li { gap: calc(20 * var(--hw-u)); }
    body.pb-hw .hw-plan li svg { width: calc(30 * var(--hw-u)); height: calc(23 * var(--hw-u)); }
    body.pb-hw .hw-plan .hw-btn { min-height: calc(68 * var(--hw-u)); font-size: calc(28 * var(--hw-u)); border-radius: calc(16 * var(--hw-u)); margin-inline: calc(-9 * var(--hw-u)); }
    body.pb-hw .hw-compare-note { font-size: max(12px, calc(20 * var(--hw-u))); }
    body.pb-hw .hw-compare { padding-block-end: calc(45 * var(--hw-u)); }
    body.pb-hw .hw-compare > .hw-wrap { padding: max(14px, calc(22 * var(--hw-u))); }
    body.pb-hw .hw-compare h2 { margin-inline: 0; margin-block-end: max(14px, calc(18 * var(--hw-u))); font-size: max(23px, calc(42 * var(--hw-u))); }
    body.pb-hw .hw-cmp-mobile { display: grid; gap: max(7px, calc(11 * var(--hw-u))); }
    body.pb-hw .hw-cmp-feature { padding: max(9px, calc(14 * var(--hw-u))); border: 1px solid #a9c0d9; border-radius: 10px; }
    body.pb-hw .hw-cmp-feature p { margin: 0 0 6px; font-size: max(14px, calc(24 * var(--hw-u))); color: var(--hw-ink); font-weight: 750; }
    body.pb-hw .hw-cmp-vals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    body.pb-hw .hw-cmp-vals span {
        display: grid; align-content: start; gap: 2px; padding: 7px 8px; min-width: 0;
        border-radius: 7px; background: #e0edfc; overflow-wrap: anywhere; line-height: 1.22;
    }
    body.pb-hw .hw-cmp-vals span:last-child { background: #f8ecd4; }
    body.pb-hw .hw-cmp-vals small { font-size: max(11px, calc(18 * var(--hw-u))); font-weight: 750; color: #344c71; }
    body.pb-hw .hw-cmp-vals strong { font-size: max(13px, calc(22 * var(--hw-u))); font-weight: 650; }
    body.pb-hw .hw-compare-foot { gap: 7px; margin-block-start: 13px; }
    body.pb-hw .hw-text-link { font-size: max(15px, calc(23 * var(--hw-u))); }
    body.pb-hw .hw-setup h2 { font-size: max(28px, calc(48 * var(--hw-u))); }
    body.pb-hw .hw-steps { grid-template-columns: minmax(0, 1fr); gap: max(18px, calc(23 * var(--hw-u))); padding-inline-start: 0; }
    body.pb-hw .hw-steps::before {
        content: ''; position: absolute; inset-block: 8% 13%; inset-inline-start: calc(29 * var(--hw-lower-u));
        width: 1px; background: linear-gradient(#007fc9, #6cdbff 50%, #ffd48d); box-shadow: 0 0 7px #0499e2;
    }
    body.pb-hw .hw-step-track { display: none; }
    body.pb-hw .hw-step {
        grid-template-columns: calc(58 * var(--hw-lower-u)) minmax(0, 1fr) calc(66 * var(--hw-lower-u));
        grid-template-rows: auto; column-gap: max(9px, calc(13 * var(--hw-u))); align-items: center;
    }
    body.pb-hw .hw-step-ico {
        grid-area: 1 / 3; justify-self: center; margin-inline: 0;
        width: calc(65 * var(--hw-lower-u)); height: calc(62 * var(--hw-lower-u));
    }
    body.pb-hw .hw-step-router { width: calc(43 * var(--hw-lower-u)); height: calc(69 * var(--hw-lower-u)); }
    body.pb-hw .hw-step-index { grid-area: 1 / 1; background: #061c31; }
    body.pb-hw .hw-step-copy { grid-area: 1 / 2; }
    body.pb-hw .hw-step h3 { font-size: max(17px, calc(25 * var(--hw-u))); }
    body.pb-hw .hw-step p { font-size: max(13px, calc(21 * var(--hw-u))); }
    body.pb-hw .hw-faqs-grid { grid-template-columns: minmax(0, 1fr); gap: max(16px, calc(22 * var(--hw-u))); }
    body.pb-hw .hw-faq-intro { border: 0; padding: 0; }
    body.pb-hw .hw-faqs h2 { font-size: max(30px, calc(48 * var(--hw-u))); }
    body.pb-hw .hw-faq-intro > p:not(.hw-faq-more) { font-size: max(15px, calc(23 * var(--hw-u))); }
    body.pb-hw .hw-faq-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.pb-hw .hw-faq-chips button { font-size: max(12px, calc(19 * var(--hw-u))); min-height: 35px; text-align: center; }
    body.pb-hw .hw-faq-panel summary { font-size: max(16px, calc(24 * var(--hw-u))); padding-inline: 12px; min-height: 43px; }
    body.pb-hw .hw-faq-panel p { font-size: max(14px, calc(21 * var(--hw-u))); padding-inline: 12px; line-height: 1.36; }
    body.pb-hw .hw-close > .hw-wrap { flex-direction: column; align-items: stretch; gap: 14px; }
    body.pb-hw .hw-close h2 { font-size: max(29px, calc(49 * var(--hw-u))); }
    body.pb-hw .hw-close .hw-btn { min-height: max(43px, calc(61 * var(--hw-u))); min-width: 0; font-size: max(16px, calc(23 * var(--hw-u))); }
    html[dir="rtl"] body.pb-hw .hw-hero h1 { font-size: calc(64 * var(--hw-u)); }
    html[dir="rtl"] body.pb-hw .hw-benefits { padding-inline: calc(30 * var(--hw-u)) calc(56 * var(--hw-u)); }

    html[dir="rtl"] body.pb-hw :is(.pbz-wc-launcher:not(.is-open), .pbz-wc-wa) {
        right: auto; left: max(1rem, env(safe-area-inset-left));
    }
}

/* Router power-on and setup trace. Default CSS is the finished Codex frame. */
body.pb-hw .hw-router-leds { position: absolute; inset: 0; pointer-events: none; }
body.pb-hw .hw-router-leds i {
    position: absolute; left: 50%; width: 5.6%; aspect-ratio: 1;
    margin-inline-start: -2.8%; border-radius: 50%; pointer-events: none;
}
body.pb-hw .hw-router-leds i[data-hw-led="1"] { top: 56.6%; }
body.pb-hw .hw-router-leds i[data-hw-led="2"] { top: 61.8%; }
body.pb-hw .hw-router-leds i[data-hw-led="3"] { top: 67%; }
body.pb-hw .hw-router-led-cover { background: #e7eae6; box-shadow: 0 0 3px 3px #e7eae6; opacity: 0; }
body.pb-hw .hw-router-led {
    background: #3dff7a; box-shadow: 0 0 7px 2px #3dff7ab8; opacity: 0;
}
body.pb-hw .hw-router-device::after {
    content: ''; position: absolute; left: 50%; bottom: 1%; z-index: 2;
    width: 140%; height: 22%; transform: translateX(-50%); pointer-events: none;
    background: radial-gradient(ellipse at center, #4defff88 0%, #19c8ff33 42%, transparent 72%);
    opacity: 0;
}
body.pb-hw .hw-plan-advance:hover, body.pb-hw .hw-plan-advance:focus-within {
    box-shadow: 0 0 0 2px #0752ff, 0 10px 24px #0752ff24;
}
body.pb-hw .hw-plan-premium:hover, body.pb-hw .hw-plan-premium:focus-within {
    box-shadow: 0 0 0 2px #d7ae50, 0 8px 25px #0b254a18;
}

html.hw-motion-arm:not(.hw-motion-done):not(.hw-motion-abort) body.pb-hw .hw-signal-glow,
html.hw-motion-arm:not(.hw-motion-done):not(.hw-motion-abort) body.pb-hw .hw-signal-core {
    stroke-dasharray: 1; stroke-dashoffset: 1;
}
html.hw-motion-arm:not(.hw-motion-done):not(.hw-motion-abort) body.pb-hw .hw-signal-reflections { opacity: 0; }
html.hw-motion-arm:not(.hw-motion-done):not(.hw-motion-abort) body.pb-hw .hw-router-rim { opacity: 0; }
html.hw-motion-arm:not(.hw-motion-done):not(.hw-motion-abort) body.pb-hw .hw-router-led-cover { opacity: 1; }
html.hw-motion-arm:not(.hw-motion-play):not(.hw-motion-done):not(.hw-motion-abort) body.pb-hw .hw-router-device {
    filter: drop-shadow(0 3px 2px #1009048c);
}
html.hw-motion-play body.pb-hw .hw-router-device {
    filter: drop-shadow(2px 0 4px #27d7ff8a) drop-shadow(0 3px 2px #1009048c);
    transition: filter .65s cubic-bezier(.22, .6, .28, 1) .98s;
}

html.hw-motion-play body.pb-hw .hw-router-led[data-hw-led="3"] { animation: hw-led-pulse 1.45s ease-out .2s both; }
html.hw-motion-play body.pb-hw .hw-router-led[data-hw-led="2"] { animation: hw-led-pulse 1.45s ease-out .34s both; }
html.hw-motion-play body.pb-hw .hw-router-led[data-hw-led="1"] { animation: hw-led-pulse 1.45s ease-out .48s both; }
html.hw-motion-play body.pb-hw .hw-router-led-cover[data-hw-led="3"] { animation: hw-led-cover .28s ease-out .18s both; }
html.hw-motion-play body.pb-hw .hw-router-led-cover[data-hw-led="2"] { animation: hw-led-cover .28s ease-out .32s both; }
html.hw-motion-play body.pb-hw .hw-router-led-cover[data-hw-led="1"] { animation: hw-led-cover .28s ease-out .46s both; }
html.hw-motion-play body.pb-hw .hw-signal-core { animation: hw-signal-draw .72s cubic-bezier(.22,.68,.28,1) .58s both; }
html.hw-motion-play body.pb-hw .hw-signal-glow { animation: hw-signal-draw .82s cubic-bezier(.22,.68,.28,1) .86s both; }
html.hw-motion-play body.pb-hw .hw-signal-reflections { animation: hw-wood-on .78s cubic-bezier(.22,.62,.28,1) .62s both; }
html.hw-motion-play body.pb-hw .hw-router-rim { animation: hw-rim-on .7s cubic-bezier(.22,.6,.28,1) .98s both; }
html.hw-motion-play body.pb-hw .hw-router-device::after { animation: hw-base-ripple .62s ease-out .56s both; }

@keyframes hw-led-pulse {
    0% { opacity: 0; transform: scale(.75); }
    16% { opacity: 1; transform: scale(1); }
    62% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(1); }
}
@keyframes hw-led-cover {
    from { opacity: 1; }
    to { opacity: 0; }
}
@keyframes hw-signal-draw {
    from { stroke-dashoffset: 1; }
    to { stroke-dashoffset: 0; }
}
@keyframes hw-wood-on {
    0% { opacity: 0; transform: translateX(-14px); }
    100% { opacity: 1; transform: none; }
}
@keyframes hw-rim-on {
    0% { opacity: 0; filter: brightness(1); }
    42% { opacity: 1; filter: brightness(1.55); }
    100% { opacity: 1; filter: none; }
}
@keyframes hw-base-ripple {
    0% { opacity: 0; transform: translateX(-50%) scale(.45); }
    38% { opacity: .55; }
    100% { opacity: 0; transform: translateX(-50%) scale(1.55); }
}

html.hw-motion-done body.pb-hw .hw-router-led,
html.hw-motion-done body.pb-hw .hw-router-led-cover,
html.hw-motion-abort body.pb-hw .hw-router-led,
html.hw-motion-abort body.pb-hw .hw-router-led-cover { opacity: 0; animation: none; }
html.hw-motion-done body.pb-hw .hw-signal-glow,
html.hw-motion-done body.pb-hw .hw-signal-core,
html.hw-motion-abort body.pb-hw .hw-signal-glow,
html.hw-motion-abort body.pb-hw .hw-signal-core {
    stroke-dasharray: 1; stroke-dashoffset: 0; animation: none;
}
html.hw-motion-done body.pb-hw .hw-signal-reflections,
html.hw-motion-abort body.pb-hw .hw-signal-reflections { opacity: 1; animation: none; }
html.hw-motion-done body.pb-hw .hw-router-rim,
html.hw-motion-abort body.pb-hw .hw-router-rim { opacity: 1; animation: none; filter: none; }
html.hw-motion-done body.pb-hw .hw-router-device,
html.hw-motion-abort body.pb-hw .hw-router-device {
    filter: drop-shadow(2px 0 4px #27d7ff8a) drop-shadow(0 3px 2px #1009048c);
}
html.hw-motion-done body.pb-hw .hw-router-device::after,
html.hw-motion-abort body.pb-hw .hw-router-device::after { opacity: 0; animation: none; }

html.hw-motion-arm:not(.hw-setup-done) body.pb-hw .hw-setup-glow,
html.hw-motion-arm:not(.hw-setup-done) body.pb-hw .hw-setup-core {
    stroke-dasharray: 1; stroke-dashoffset: 1;
}
html.hw-motion-arm:not(.hw-setup-done) body.pb-hw .hw-setup-node { opacity: .25; }
html.hw-setup-play body.pb-hw .hw-setup-core { animation: hw-signal-draw 1.05s cubic-bezier(.22,.7,.28,1) both; }
html.hw-setup-play body.pb-hw .hw-setup-glow { animation: hw-signal-draw 1.12s cubic-bezier(.22,.7,.28,1) .08s both; }
html.hw-setup-play body.pb-hw .hw-setup-node { animation: hw-setup-node .4s ease-out .46s both; }
html.hw-setup-play body.pb-hw .hw-step[data-hw-step="1"] .hw-step-index { animation: hw-step-ping .55s ease-out .04s both; }
html.hw-setup-play body.pb-hw .hw-step[data-hw-step="2"] .hw-step-index { animation: hw-step-ping .55s ease-out .46s both; }
html.hw-setup-play body.pb-hw .hw-step[data-hw-step="3"] .hw-step-index { animation: hw-step-ping-gold .55s ease-out .88s both; }
@keyframes hw-setup-node {
    from { opacity: .25; transform: scale(.6); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes hw-step-ping {
    0% { box-shadow: none; }
    40% { box-shadow: 0 0 0 4px #19e0ff55, 0 0 14px #19e0ff; }
    100% { box-shadow: none; }
}
@keyframes hw-step-ping-gold {
    0% { box-shadow: none; }
    40% { box-shadow: 0 0 0 4px #ffd48d55, 0 0 14px #ffd48d; }
    100% { box-shadow: none; }
}
html.hw-setup-done body.pb-hw .hw-setup-glow,
html.hw-setup-done body.pb-hw .hw-setup-core {
    stroke-dasharray: 1; stroke-dashoffset: 0; animation: none;
}
html.hw-setup-done body.pb-hw .hw-setup-node { opacity: 1; animation: none; }
@media (max-width: 900px) {
    html.hw-motion-arm:not(.hw-setup-done) body.pb-hw .hw-steps::before {
        transform: scaleY(0); transform-origin: top center;
    }
    html.hw-setup-play body.pb-hw .hw-steps::before {
        animation: hw-setup-stem 1.1s cubic-bezier(.22,.7,.28,1) both;
    }
    html[dir="rtl"].hw-setup-play body.pb-hw .hw-steps::before,
    html[dir="rtl"].hw-motion-arm:not(.hw-setup-done) body.pb-hw .hw-steps::before {
        transform-origin: top center;
    }
    @keyframes hw-setup-stem {
        from { transform: scaleY(0); }
        to { transform: scaleY(1); }
    }
    html.hw-setup-done body.pb-hw .hw-steps::before { transform: none; animation: none; }
}
@media (prefers-reduced-motion: reduce) {
    html.hw-motion-arm body.pb-hw :is(.hw-signal-glow, .hw-signal-core, .hw-setup-glow, .hw-setup-core) {
        stroke-dasharray: none !important; stroke-dashoffset: 0 !important; animation: none !important;
    }
    html.hw-motion-arm body.pb-hw :is(.hw-signal-reflections, .hw-router-rim, .hw-setup-node) {
        opacity: 1 !important; animation: none !important;
    }
    html.hw-motion-arm body.pb-hw :is(.hw-router-led, .hw-router-led-cover, .hw-router-device::after) {
        opacity: 0 !important; animation: none !important;
    }
    html.hw-motion-arm body.pb-hw .hw-router-device {
        filter: drop-shadow(2px 0 4px #27d7ff8a) drop-shadow(0 3px 2px #1009048c) !important;
    }
    html.hw-motion-arm body.pb-hw .hw-steps::before { transform: none !important; animation: none !important; }
}

@media (max-width: 430px) {
    body.pb-hw .hw-hero-actions { width: 100%; max-width: 100%; gap: max(8px, calc(14 * var(--hw-u))); }
    body.pb-hw .hw-hero-actions .hw-btn,
    body.pb-hw .hw-hero-actions .hw-btn-primary,
    body.pb-hw .hw-hero-actions .hw-btn-ghost {
        min-width: 0; flex: 1 1 0; padding-inline: max(8px, calc(8 * var(--hw-u)));
    }
}

html:not(.js) body.pb-hw .hw-setup-glow,
html:not(.js) body.pb-hw .hw-setup-core {
    stroke-dasharray: none; stroke-dashoffset: 0; animation: none;
}
html:not(.js) body.pb-hw .hw-setup-node { opacity: 1; animation: none; }
html:not(.js) body.pb-hw .hw-steps::before { transform: none; animation: none; }
html:not(.js) body.pb-hw .hw-signal-glow,
html:not(.js) body.pb-hw .hw-signal-core {
    stroke-dasharray: none; stroke-dashoffset: 0; animation: none;
}
html:not(.js) body.pb-hw .hw-signal-reflections,
html:not(.js) body.pb-hw .hw-router-rim { opacity: 1; animation: none; filter: none; }
html:not(.js) body.pb-hw .hw-router-led,
html:not(.js) body.pb-hw .hw-router-led-cover,
html:not(.js) body.pb-hw .hw-router-device::after { opacity: 0; animation: none; }
html:not(.js) body.pb-hw .hw-router-device {
    filter: drop-shadow(2px 0 4px #27d7ff8a) drop-shadow(0 3px 2px #1009048c);
}
