/***************** 
Base 
*****************/
/* Align the standalone PDP with the viewport-fixed sign-up banner. */
body:has(> .overview-content > .archer-8-ultra) {
    margin: 0;
}

/* Hide the host product summary on the Archer 8 PDP. */
body:has(.archer-8-ultra) .product-info-basic {
    display: none !important;
}

.archer-8-ultra {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #000;
    color: #fff;
    font-family: 'TP-Link Aktiv', Arial, sans-serif;
    -webkit-text-size-adjust: 100%;
}

.archer-8-ultra,
.archer-8-ultra * {
    box-sizing: border-box;
}

.archer-8-ultra :where(h2, p, dl, dt, dd) {
    margin: 0;
    padding: 0;
}

/* Hero video popup */
.archer-8-ultra .hero-video-dialog {
    position: fixed; inset: 0; margin: auto; padding: 0;
    width: min(90vw, calc((96dvh - 120px) * var(--popup-video-ratio, 1.777778)));
    max-width: none; max-height: 96dvh;
    border: 0; background: transparent; color: #fff; overflow: auto;
}
.archer-8-ultra .hero-video-dialog::backdrop { background: rgb(0 0 0 / 85%); }
.archer-8-ultra .hero-video-dialog:not([open]) { display: none; }
.archer-8-ultra .hero-video-close {
    display: flex; align-items: center; justify-content: center;
    width: 64px; height: 64px; padding: 0; margin: 0 auto 20px;
    border: 0; border-radius: 50%; background: #fff; color: #444;
    font: 36px/1 Arial, sans-serif; cursor: pointer;
}
.archer-8-ultra .hero-player {
    position: relative; background: #000;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.archer-8-ultra .hero-popup-video { display: block; width: 100%; max-height: calc(96dvh - 120px); object-fit: contain; }
.archer-8-ultra .hero-video-controls {
    position: absolute; inset: auto 0 0; display: flex; align-items: center; gap: 16px;
    padding: 32px 24px 24px; background: linear-gradient(transparent, rgb(0 0 0 / 45%));
}
.archer-8-ultra .hero-video-controls button {
    display: flex; align-items: center; justify-content: center; flex: 0 0 56px;
    width: 56px; height: 56px; padding: 0; border: 0; border-radius: 50%;
    background: rgb(255 255 255 / 25%); color: #fff; cursor: pointer;
}
.archer-8-ultra .hero-video-toggle span { width: 0; height: 0; border-left: 10px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.archer-8-ultra .hero-video-toggle.is-playing span { width: 10px; height: 14px; border: 0; border-left: 3px solid #fff; border-right: 3px solid #fff; }
.archer-8-ultra .hero-video-mute svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.archer-8-ultra .sound-muted { display: none; }
.archer-8-ultra .hero-video-mute[aria-pressed="true"] .sound-muted { display: inline; }
.archer-8-ultra .hero-video-mute[aria-pressed="true"] .sound-waves { display: none; }
.archer-8-ultra .hero-video-progress { flex: 1; min-width: 0; margin: 0; padding: 0; accent-color: #487bff; cursor: pointer; }
@media (hover: hover) and (pointer: fine) {
    .archer-8-ultra .hero-video-controls {
        opacity: 0; pointer-events: none; transition: opacity 200ms ease;
    }
    .archer-8-ultra .hero-player:hover .hero-video-controls,
    .archer-8-ultra .hero-video-controls:has(:focus-visible) {
        opacity: 1; pointer-events: auto;
    }
}
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .hero-video-controls { transition: none; }
}
.archer-8-ultra .hero-video-status { text-align: center; font-size: 14px; line-height: 1.5; }
.archer-8-ultra .hero-video-dialog :focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 639px) {
    .archer-8-ultra .hero-video-close { width: 44px; height: 44px; margin-bottom: 12px; font-size: 28px; }
    .archer-8-ultra .hero-video-controls { gap: 10px; padding: 20px 12px 12px; }
    .archer-8-ultra .hero-video-controls button { flex-basis: 40px; width: 40px; height: 40px; }
}
/*****************
 Hero 
*****************/
.archer-8-ultra .hero {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    overflow: hidden;
    background: #000;
}

.archer-8-ultra .hero .hero-content > *,
.archer-8-ultra .hero .hero-wifi,
.archer-8-ultra .hero .hero-ifa {
    visibility: hidden;
}

.archer-8-ultra .hero.is-revealed .hero-content > *,
.archer-8-ultra .hero.is-revealed .hero-wifi,
.archer-8-ultra .hero.is-revealed .hero-ifa {
    visibility: visible;
    animation: archer-hero-fade 1500ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--hero-enter-delay, 0ms);
}

.archer-8-ultra .hero-model,
.archer-8-ultra .hero-wifi { --hero-enter-delay: 120ms; }
.archer-8-ultra .hero-description,
.archer-8-ultra .hero-ifa { --hero-enter-delay: 240ms; }

/* All Hero overlays fade in at their final positions without movement. */
@keyframes archer-hero-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.archer-8-ultra .hero.is-static-entry.is-revealed .hero-content > *,
.archer-8-ultra .hero.is-static-entry.is-revealed .hero-wifi,
.archer-8-ultra .hero.is-static-entry.is-revealed .hero-ifa {
    animation: none;
    opacity: 1;
}

/* Hero — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .hero.is-revealed .hero-content > *,
    .archer-8-ultra .hero.is-revealed .hero-wifi,
    .archer-8-ultra .hero.is-revealed .hero-ifa { animation: none; }
}

.archer-8-ultra .hero-video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto 320 / 169;
    object-fit: contain;
}

.archer-8-ultra .hero-ifa {
    position: absolute;
    right: 5.208333%;
    bottom: 7.889546%;
    z-index: 1;
    display: block;
    width: 6.875%;
    height: auto;
}

.archer-8-ultra .hero-content {
    position: absolute;
    top: 16.5%;
    left: 5%;
    z-index: 1;
    width: 90%;
    color: #fff;
    text-align: center;
}

.archer-8-ultra .hero-title {
    margin: 0;
    padding: 0;
    font-size: 4.375vw;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.archer-8-ultra .hero-model {
    display: block;
    width: 15.625vw;
    height: 2.7083vw;
    margin: 1.0417vw auto 0;
    object-fit: contain;
}

.archer-8-ultra .hero-description {
    margin-top: 0.5208vw;
    color: #eee;
    font-size: 1.0417vw;
    font-weight: 700;
    line-height: 1.4;
}

.archer-8-ultra .hero-wifi {
    position: absolute;
    top: 7.889546%;
    right: 5.208333%;
    z-index: 1;
    display: block;
    width: 8.75%;
    height: auto;
}

.archer-8-ultra .hero-actions {
    --hero-enter-delay: 240ms;
    display: flex; justify-content: center; gap: 1vw; margin-top: 3.5vw;
}
.archer-8-ultra .hero-button {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 14.5vw; height: 3.2vw; margin: 0; padding: 0 2vw;
    appearance: none; text-align: center; text-decoration: none;
    border: 1px solid #33cad8; border-radius: 999px;
    background: #33cad8; color: #06171a;
    font: inherit; font-size: 1.1vw; font-weight: 700; line-height: 1;
}
.archer-8-ultra .hero-play { background: transparent; color: #fff; border-color: #fff; cursor: pointer; }
.archer-8-ultra .hero-preorder { display: none; }
.archer-8-ultra .hero-signup { cursor: pointer; }
.archer-8-ultra[data-page-mode="preorder"] .hero-preorder { display: inline-flex; }
.archer-8-ultra[data-page-mode="preorder"] .hero-signup { display: none; }
.archer-8-ultra .hero-button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Hero — Mobile: provisional layout using the desktop video */
@media (max-width: 639px) {
    .archer-8-ultra .hero-actions { gap: 2vw; margin-top: 4vw; }
    .archer-8-ultra .hero-button { min-width: 30vw; height: 8vw; padding: 0 3vw; font-size: 2.9vw; }
    .archer-8-ultra .hero-title {
        font-size: 5.5vw;
    }

    .archer-8-ultra .hero-model {
        margin-top: 1.5vw;
        width: 23vw;
        height: 3.9vw;
    }

    .archer-8-ultra .hero-description {
        margin-top: 1vw;
        font-size: 2.2vw;
    }
}

/*****************
 Power Overview 
*****************/
.archer-8-ultra .power-overview {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    overflow: hidden;
    background: #12161f;
    font-family: 'TP-Link Aktiv', Arial, sans-serif;
}

.archer-8-ultra .power-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.archer-8-ultra .power-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 4.1667vw;
    min-height: 50.2083vw;
    padding: 7.2917vw 18.75vw;
}

.archer-8-ultra .power-intro {
    text-align: center;
}

.archer-8-ultra .power-title {
    margin: 0;
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .power-description {
    margin: 1.0417vw 0 0;
    color: #ccc;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .power-specs {
    position: relative;
    top: clamp(16px, 2vw, 32px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
}

.archer-8-ultra .power-spec {
    display: flex;
    flex-direction: column;
    gap: 0.875vw;
    min-width: 0;
    padding: 2.5vw 1.25vw 1.875vw;
    text-align: left;
}

.archer-8-ultra .power-spec dt {
    margin: 0;
    color: #ccc;
    font-size: 1vw;
    font-weight: 400;
    line-height: 1.45;
}

.archer-8-ultra .power-spec dd {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    align-content: flex-start;
    min-height: 1.05em;
    gap: 0 .4vw;
    order: -1;
    margin: 0;
    color: #fff;
    font-size: 3vw;
    font-weight: 700;
    line-height: 1.05;
}

.archer-8-ultra .power-spec dd > span { white-space: nowrap; }
.archer-8-ultra .power-spec [data-count-to] { font-variant-numeric: tabular-nums; }
.archer-8-ultra .power-spec .power-spec-unit {
    color: #ccc;
    font-size: 1vw;
    line-height: 1.25;
}

.archer-8-ultra .power-spec sup {
    font-size: 0.6em;
    line-height: 0;
    vertical-align: super;
}

/* Power Overview — Staggered Entrance */
@keyframes archer-power-enter {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes archer-intro-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.archer-8-ultra .power-overview.is-text-ready:not(.is-text-visible) .power-title,
.archer-8-ultra .power-overview.is-text-ready:not(.is-text-visible) .power-description {
    opacity: 0;
}

.archer-8-ultra .power-overview.is-text-visible .power-title,
.archer-8-ultra .power-overview.is-text-visible .power-description {
    animation: archer-intro-enter 1000ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--power-enter-delay, 0ms);
}

.archer-8-ultra .power-title {
    --power-enter-delay: 100ms;
}

.archer-8-ultra .power-description {
    --power-enter-delay: 150ms;
}

/* Main introduction text — same timing as Section 2, repeated on viewport entry. */
.archer-8-ultra section .intro-title.intro-enter { color: #ebd299; --intro-delay: 100ms; }
.archer-8-ultra section .intro-description.intro-enter { color: #ccc; --intro-delay: 150ms; }
.archer-8-ultra .ports-enter,
.archer-8-ultra .content-enter { --intro-delay: 200ms; }
.archer-8-ultra .intro-enter:not(.is-intro-visible) { opacity: 0; }
.archer-8-ultra .intro-enter.is-intro-visible {
    animation: archer-intro-enter 1000ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--intro-delay, 100ms);
}
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .intro-enter:not(.is-intro-visible) { opacity: 1; }
    .archer-8-ultra .intro-enter.is-intro-visible { animation: none; }
}

/* Power Overview — Desktop video and simultaneous specification entrance */
@media (min-width: 640px) {
    .archer-8-ultra .power-video { object-fit: contain; }
    .archer-8-ultra .power-overview.is-specs-ready:not(.is-specs-visible) .power-spec {
        opacity: 0;
    }
    .archer-8-ultra .power-overview.is-specs-visible .power-spec {
        animation: archer-power-enter 1500ms cubic-bezier(0.22, 1, 0.36, 1) both;
        animation-delay: 300ms;
    }
}

/* Power Overview — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .power-overview.is-specs-ready:not(.is-specs-visible) .power-spec { opacity: 1; }
    .archer-8-ultra .power-overview.is-specs-visible .power-spec { animation: none; }
    .archer-8-ultra .power-overview.is-text-ready:not(.is-text-visible) .power-title,
    .archer-8-ultra .power-overview.is-text-ready:not(.is-text-visible) .power-description {
        opacity: 1;
    }
    .archer-8-ultra .power-overview.is-text-visible .power-title,
    .archer-8-ultra .power-overview.is-text-visible .power-description {
        animation: none;
    }
}

/* Returning from below: show all copy immediately, without entrance motion. */
.archer-8-ultra .power-overview.is-static-entry.is-text-ready .power-title,
.archer-8-ultra .power-overview.is-static-entry.is-text-ready .power-description,
.archer-8-ultra .power-overview.is-static-entry.is-specs-ready .power-spec {
    opacity: 1;
    transform: none;
    animation: none;
}

/* Power Overview — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .power-content {
        gap: 160px;
        min-height: 680px;
        padding: 56px min(6.25vw, 40px);
    }

    .archer-8-ultra .power-video {
        opacity: 0.65;
    }

    .archer-8-ultra .power-title {
        font-size: clamp(26px, 6.875vw, 40px);
    }

    .archer-8-ultra .power-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .power-description br {
        display: none;
    }

    .archer-8-ultra .power-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
    }

    .archer-8-ultra .power-spec {
        gap: 8px;
        padding: 24px 12px;
        white-space: normal;
    }

    .archer-8-ultra .power-spec dt {
        font-size: 14px;
    }

    .archer-8-ultra .power-spec dd {
        font-size: 5vw;
        gap: 0 6px;
    }
    .archer-8-ultra .power-spec .power-spec-unit { font-size: 2.3vw; }
}

/*****************
 Stability Engine
*****************/
.archer-8-ultra .stability-engine {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    max-width: none;
    min-height: 63.3854vw;
    margin: 0 auto;
    padding: 6.6667vw 18.75vw 3.75vw;
    overflow: hidden;
    /* Approximate the design's brightest background area near the house base. */
    background: linear-gradient(180deg, #19233b 0%, #4e5d85 74%, #19233b 100%);
    color: #ccc;
}

.archer-8-ultra .stability-intro,
.archer-8-ultra .stability-controls {
    position: relative;
    z-index: 1;
    text-align: center;
}

.archer-8-ultra .stability-intro h2 {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .stability-intro sup {
    font-size: 0.5em;
    line-height: 0;
    vertical-align: super;
}

.archer-8-ultra .stability-intro p,
.archer-8-ultra .stability-panel p {
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .stability-intro p {
    margin-top: 1.0417vw;
}

.archer-8-ultra .stability-intro a {
    display: inline-block;
    margin-top: 1.4583vw;
    color: #fff;
    font-size: 0.9375vw;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.archer-8-ultra .stability-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    touch-action: pan-y pinch-zoom;
}

.archer-8-ultra .stability-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.archer-8-ultra .stability-engine [hidden] {
    display: none;
}

.archer-8-ultra .stability-controls {
    margin-top: 30.2083vw;
    touch-action: pan-y pinch-zoom;
}

.archer-8-ultra .stability-tabs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25vw;
    min-height: 3.9583vw;
    padding-bottom: 1.0417vw;
    border-bottom: 1px solid #cccccc80;
}

.archer-8-ultra .stability-tabs button {
    padding: 0;
    border: 0;
    background: none;
    color: #ccc;
    font: inherit;
    font-size: 1.25vw;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
}

.archer-8-ultra .stability-tabs button[aria-selected="true"] {
    color: #ebd299;
    font-size: 1.5625vw;
    font-weight: 700;
}

.archer-8-ultra .stability-tabs button:focus-visible,
.archer-8-ultra .stability-intro a:focus-visible,
.archer-8-ultra .stability-panel:focus-visible {
    outline: 2px solid #ebd299;
    outline-offset: 4px;
}

.archer-8-ultra .stability-panels {
    min-height: 5.4375vw;
    margin-top: 0.8333vw;
}

/* Stability Engine — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .stability-engine {
        min-height: 0;
        padding: 56px 0;
    }

    .archer-8-ultra .stability-intro,
    .archer-8-ultra .stability-controls {
        padding: 0 min(6.25vw, 40px);
    }

    .archer-8-ultra .stability-intro h2 {
        font-size: clamp(26px, 6.875vw, 40px);
    }

    .archer-8-ultra .stability-intro p,
    .archer-8-ultra .stability-panel p {
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .stability-intro p br,
    .archer-8-ultra .stability-panel p br {
        display: none;
    }

    .archer-8-ultra .stability-intro p {
        margin-top: 20px;
    }

    .archer-8-ultra .stability-intro a {
        margin-top: 24px;
        font-size: 14px;
    }

    .archer-8-ultra .stability-media {
        position: relative;
        inset: auto;
        width: 100%;
        aspect-ratio: 3840 / 2434;
        margin-top: 24px;
    }

    .archer-8-ultra .stability-controls {
        margin-top: 24px;
    }

    .archer-8-ultra .stability-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        min-height: 76px;
        padding-bottom: 16px;
    }

    .archer-8-ultra .stability-tabs button,
    .archer-8-ultra .stability-tabs button[aria-selected="true"] {
        min-height: 44px;
        font-size: 14px;
    }

    .archer-8-ultra .stability-panels {
        min-height: 0;
        margin-top: 20px;
    }
}

/*****************
 Bandwidth
*****************/
.archer-8-ultra .bandwidth {
    position: relative;
    width: 100%;
    background: #0c1725;
    color: #ccc;
}

.archer-8-ultra .bandwidth.is-enhanced {
    min-height: calc(var(--bandwidth-stage-height, 100vh) + var(--bandwidth-travel, 200vh));
}

.archer-8-ultra .bandwidth-stage {
    width: 70.9896%;
    margin: 0 0 0 14.84375%;
    padding: 6.6667vw 0 8.2292vw;
}

.archer-8-ultra .bandwidth.is-enhanced .bandwidth-stage {
    position: relative;
    transform: translate3d(0, var(--bandwidth-offset, 0px), 0);
}

.archer-8-ultra .bandwidth-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 25.1042vw;
    gap: 3.5156vw;
}

.archer-8-ultra .bandwidth-intro h2 {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .bandwidth-intro p {
    margin-top: 0.8333vw;
    font-size: 1.25vw;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .bandwidth-chart h3 {
    margin: 0;
    color: #ffe3aa;
    font-size: 2.0833vw;
    font-weight: 700;
    line-height: 1.3;
    text-align: right;
}

.archer-8-ultra .bandwidth-chart > p {
    margin-top: 0.3125vw;
    color: #d0b795;
    font-size: 1.0417vw;
    line-height: 1.45;
    text-align: right;
}

.archer-8-ultra .bandwidth-bars {
    display: grid;
    gap: 0.5208vw;
    margin-top: 2.7083vw;
}

.archer-8-ultra .bandwidth-rate-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1em;
    margin-bottom: 0.3125vw;
    font-size: 0.6771vw;
    line-height: 1.3;
}

.archer-8-ultra .bandwidth-rate-label strong {
    color: #fff;
    font-size: 1.0417vw;
    font-variant-numeric: tabular-nums;
}

.archer-8-ultra .bandwidth-rate-label small {
    font-size: 0.65em;
}

.archer-8-ultra .bandwidth-track {
    height: 0.3125vw;
    border-radius: 999px;
    background: #414141;
}

.archer-8-ultra .bandwidth-fill {
    display: block;
    width: var(--rate-width);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #fbd478, #fff);
    box-shadow: 0.15vw 0 0.4vw #ffffff80;
    transform: scaleX(var(--rate-progress, 1));
    transform-origin: left;
}

.archer-8-ultra .bandwidth-scenes {
    display: grid;
    grid-template-columns: 12.0833vw minmax(0, 1fr);
    gap: 3.75vw;
    margin-top: 5.625vw;
    transition: opacity 350ms ease;
}

.archer-8-ultra .bandwidth.is-enhanced:not(.is-ready) .bandwidth-scenes {
    opacity: 0;
    visibility: hidden;
}

.archer-8-ultra .bandwidth-labels {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6667vw;
    margin: 0;
    padding: 0;
    list-style: none;
}

.archer-8-ultra .bandwidth-labels li {
    max-width: 100%;
    font-size: 1.4583vw;
    font-weight: 700;
    line-height: 1.3;
    transition: color 250ms ease;
}

.archer-8-ultra .bandwidth-labels li.is-active {
    color: #ebd299;
    font-size: 2.5vw;
}

.archer-8-ultra .bandwidth-labels li.is-active::before {
    display: block;
    width: 7.0833vw;
    height: 0.2083vw;
    margin-bottom: 1.25vw;
    background: #ebd299;
    content: '';
}

.archer-8-ultra .bandwidth-images {
    position: relative;
    aspect-ratio: 2118 / 1012;
    overflow: hidden;
    border-radius: 1.0417vw;
}

.archer-8-ultra .bandwidth-images img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transition: opacity 400ms ease, visibility 400ms;
}

.archer-8-ultra .bandwidth-images img.is-active {
    opacity: 1;
    visibility: visible;
}

/* Bandwidth — Desktop Wheel Steps */
@media (min-width: 640px) {
    .archer-8-ultra .bandwidth.is-enhanced {
        height: var(--bandwidth-frame-height, auto);
        min-height: 100vh;
    }

    .archer-8-ultra .bandwidth.is-enhanced .bandwidth-stage {
        transform: none;
    }

    .archer-8-ultra .bandwidth.is-wheel-locked::before {
        position: fixed;
        top: var(--bandwidth-fixed-top);
        left: var(--bandwidth-backdrop-left);
        z-index: 1000;
        width: var(--bandwidth-backdrop-width);
        height: var(--bandwidth-fixed-height);
        background: #0c1725;
        content: '';
    }

    .archer-8-ultra .bandwidth.is-wheel-locked .bandwidth-stage {
        position: fixed;
        top: var(--bandwidth-fixed-top);
        left: var(--bandwidth-fixed-left);
        z-index: 1001;
        width: var(--bandwidth-fixed-width);
        margin: 0;
    }
}

/* Bandwidth — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .bandwidth-stage {
        width: 87.5%;
        margin: 0 auto;
        padding: 48px 0;
    }

    .archer-8-ultra .bandwidth-top,
    .archer-8-ultra .bandwidth-scenes {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .archer-8-ultra .bandwidth-intro h2 {
        font-size: clamp(26px, 6.875vw, 40px);
    }

    .archer-8-ultra .bandwidth-intro p {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .bandwidth-intro p br {
        display: none;
    }

    .archer-8-ultra .bandwidth-chart h3 {
        font-size: 26px;
        text-align: left;
    }

    .archer-8-ultra .bandwidth-chart > p {
        margin-top: 6px;
        font-size: 14px;
        text-align: left;
    }

    .archer-8-ultra .bandwidth-bars {
        gap: 16px;
        margin-top: 24px;
    }

    .archer-8-ultra .bandwidth-rate-label {
        margin-bottom: 6px;
        font-size: 12px;
    }

    .archer-8-ultra .bandwidth-rate-label strong {
        font-size: 18px;
    }

    .archer-8-ultra .bandwidth-track {
        height: 6px;
    }

    .archer-8-ultra .bandwidth-scenes {
        margin-top: 36px;
        gap: 20px;
    }

    .archer-8-ultra .bandwidth-labels {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        gap: 12px;
    }

    .archer-8-ultra .bandwidth-labels li,
    .archer-8-ultra .bandwidth-labels li.is-active {
        font-size: 16px;
    }

    .archer-8-ultra .bandwidth-labels li::before {
        display: block;
        width: 40px;
        height: 3px;
        margin-bottom: 10px;
        background: transparent;
        content: '';
    }

    .archer-8-ultra .bandwidth-labels li.is-active::before {
        width: 40px;
        height: 3px;
        margin-bottom: 10px;
    }

    .archer-8-ultra .bandwidth-images {
        border-radius: 16px;
    }
}

/* Bandwidth — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .bandwidth-scenes,
    .archer-8-ultra .bandwidth-labels li,
    .archer-8-ultra .bandwidth-images img {
        transition: none;
    }
}

/*****************
 Whole-home Coverage
*****************/
.archer-8-ultra .whole-home-coverage {
    width: 100%;
    padding: 6.6667vw 0 9.5833vw;
    background: #0c1725;
    color: #ccc;
    text-align: center;
}

.archer-8-ultra .coverage-intro {
    width: 62.5%;
    margin: 0 auto;
}

.archer-8-ultra .coverage-title {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .coverage-description {
    margin-top: 1.25vw;
    font-size: 1.25vw;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .coverage-description sup {
    font-size: 0.6em;
    line-height: 0;
    vertical-align: super;
}

.archer-8-ultra .coverage-card {
    position: relative;
    width: 69.7917%;
    aspect-ratio: 2680 / 1196;
    margin: 3.75vw auto 0;
    overflow: hidden;
    border-radius: 1.0417vw;
    background: #000;
}

.archer-8-ultra .coverage-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archer-8-ultra .coverage-highlight {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4167vw;
    padding: 0 4%;
    color: #fff;
    text-shadow: 0 2px 12px #0009;
    pointer-events: none;
    transition: opacity 700ms ease, transform 700ms ease;
}

.archer-8-ultra .coverage-highlight strong {
    font-size: 2.8125vw;
    font-weight: 700;
    line-height: 1.25;
}

.archer-8-ultra .coverage-highlight p {
    font-size: 1.25vw;
    line-height: 1.45;
}

.archer-8-ultra .whole-home-coverage.is-enhanced:not(.is-revealed) .coverage-highlight {
    opacity: 0;
    transform: translateY(1.0417vw);
}

/* Whole-home Coverage — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .whole-home-coverage {
        padding: 56px 0;
    }

    .archer-8-ultra .coverage-intro,
    .archer-8-ultra .coverage-card {
        width: 87.5%;
    }

    .archer-8-ultra .coverage-title {
        font-size: clamp(26px, 6.875vw, 40px);
    }

    .archer-8-ultra .coverage-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .coverage-description br {
        display: none;
    }

    .archer-8-ultra .coverage-card {
        aspect-ratio: 16 / 10;
        margin-top: 32px;
        border-radius: 16px;
    }

    .archer-8-ultra .coverage-highlight {
        gap: 8px;
    }

    .archer-8-ultra .coverage-highlight strong {
        font-size: clamp(28px, 7.5vw, 40px);
    }

    .archer-8-ultra .coverage-highlight p {
        font-size: 14px;
    }
}

/* Whole-home Coverage — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .coverage-highlight {
        transition: none;
    }

    .archer-8-ultra .whole-home-coverage.is-enhanced:not(.is-revealed) .coverage-highlight {
        transform: none;
    }
}

/*****************
 Multi-Gig Ports
*****************/
.archer-8-ultra .multi-gig-ports {
    position: relative;
    min-height: 51.4844vw;
    overflow: hidden;
    background: #101e2f;
    color: #ccc;
}

.archer-8-ultra .ports-background {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.archer-8-ultra .ports-content {
    position: relative;
    z-index: 1;
    width: 35%;
    margin-left: 15%;
    padding: 7.2917vw 0 8vw;
}

.archer-8-ultra .ports-title {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.archer-8-ultra .ports-description {
    margin-top: 1.25vw;
    font-size: 1.25vw;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .ports-specs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.2917vw 2.0833vw;
    width: 29.1667vw;
    margin: 6.7708vw 0 0;
    white-space: nowrap;
}

.archer-8-ultra .ports-specs dt {
    font-size: 2.0833vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .ports-specs dd {
    margin: 0.2083vw 0 0;
    font-size: 1.25vw;
    line-height: 1.45;
}

.archer-8-ultra .ports-featured {
    color: #ebd299;
}

/* Multi-Gig Ports — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .multi-gig-ports {
        min-height: 0;
    }

    .archer-8-ultra .ports-content {
        width: 87.5%;
        margin: 0 auto;
        padding: 56px 0 32px;
    }

    .archer-8-ultra .ports-title {
        font-size: clamp(26px, 6.875vw, 40px);
        white-space: normal;
    }

    .archer-8-ultra .ports-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .ports-description br {
        display: none;
    }

    .archer-8-ultra .ports-specs {
        width: 100%;
        margin-top: 32px;
        gap: 24px 12px;
        white-space: normal;
    }

    .archer-8-ultra .ports-specs dt {
        font-size: clamp(20px, 5.2vw, 30px);
    }

    .archer-8-ultra .ports-specs dd {
        margin-top: 4px;
        font-size: 14px;
    }

    .archer-8-ultra .ports-background {
        position: relative;
        height: 85vw;
        object-position: right center;
    }
}

/*****************
 Easy Setup
*****************/
.archer-8-ultra .easy-setup {
    padding: 8.8542vw 0 7.96875vw;
    background: #181c27;
    color: #cccccc;
}

.archer-8-ultra .setup-content {
    display: grid;
    grid-template-columns: 51% 41.625%;
    grid-template-rows: auto 1fr;
    column-gap: 7.375%;
    width: 83.3333%;
    margin: 0 auto;
}

.archer-8-ultra .setup-nfc,
.archer-8-ultra .setup-tether {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1.0417vw;
}

.archer-8-ultra .setup-nfc {
    grid-column: 1;
    grid-row: 1 / 3;
}

.archer-8-ultra .setup-intro {
    grid-column: 2;
    grid-row: 1;
}

.archer-8-ultra .setup-title {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.archer-8-ultra .setup-description {
    margin-top: 1.25vw;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .setup-tether {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
}

.archer-8-ultra .setup-reveal {
    transition: opacity 1500ms ease 200ms, transform 1500ms ease 200ms;
}

.archer-8-ultra .easy-setup.is-enhanced:not(.is-revealed) .setup-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: none;
}

/* Easy Setup — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .easy-setup {
        padding: 56px 0;
    }

    .archer-8-ultra .setup-content {
        width: 87.5%;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        gap: 28px;
    }

    .archer-8-ultra .setup-intro,
    .archer-8-ultra .setup-nfc,
    .archer-8-ultra .setup-tether {
        grid-column: 1;
    }

    .archer-8-ultra .setup-intro {
        grid-row: 1;
    }

    .archer-8-ultra .setup-nfc {
        grid-row: 2;
    }

    .archer-8-ultra .setup-tether {
        grid-row: 3;
    }

    .archer-8-ultra .setup-title {
        font-size: clamp(26px, 6.875vw, 40px);
        white-space: normal;
    }

    .archer-8-ultra .setup-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .setup-description br {
        display: none;
    }

    .archer-8-ultra .setup-nfc,
    .archer-8-ultra .setup-tether {
        border-radius: 16px;
    }
}

/* Easy Setup — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .setup-reveal {
        transition: none;
    }

    .archer-8-ultra .easy-setup.is-enhanced:not(.is-revealed) .setup-reveal {
        opacity: 1;
        transform: none;
    }
}

/*****************
 HomeShield
*****************/
.archer-8-ultra .homeshield {
    padding: 6.4583vw 0 2.9167vw;
    overflow: hidden;
    background: #06090f;
    color: #ccc;
}

.archer-8-ultra .shield-intro {
    width: 70%;
    margin-left: 15%;
}

.archer-8-ultra .shield-title {
    display: flex;
    align-items: baseline;
    gap: 0.7292vw;
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .shield-title img {
    display: block;
    width: 16.5625vw;
    height: auto;
    /* Align the wordmark baseline, allowing for its bottom inset in the image. */
    transform: translateY(13.6%);
}

.archer-8-ultra .shield-description {
    margin-top: 1.25vw;
    font-size: 1.25vw;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .shield-description sup {
    font-size: 0.6em;
    line-height: 0;
    vertical-align: super;
}

.archer-8-ultra .shield-link {
    display: inline-block;
    margin-top: 1.4583vw;
    color: #ccc;
    font-size: 0.9375vw;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.archer-8-ultra .shield-viewport {
    margin: 4.0625vw 0 0 15%;
}

.archer-8-ultra .shield-cards {
    display: flex;
    gap: 0.78125vw;
    touch-action: pan-y pinch-zoom;
    /* Keep the expanded card inside the viewport, with a small right gutter.
       Each preceding collapsed card plus its gap occupies 15.57295vw. */
    transform: translateX(min(0px, calc(100% - 55.625vw - var(--shield-index, 0) * 15.57295vw - 1.0417vw)));
    transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archer-8-ultra .shield-card {
    position: relative;
    flex: 0 0 14.7917vw;
    height: 30vw;
    overflow: hidden;
    border-radius: 1.0417vw;
    background: #111;
    transition: flex-basis 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archer-8-ultra .shield-card.is-active {
    flex-basis: 55.625vw;
}

.archer-8-ultra .shield-video,
.archer-8-ultra .shield-poster {
    position: absolute;
    top: 0;
    left: 50%;
    width: 55.625vw;
    max-width: none;
    height: 100%;
    transform: translateX(-50%);
    object-fit: contain;
    pointer-events: none;
}

.archer-8-ultra .shield-card.is-active.has-video-frame .shield-poster {
    visibility: hidden;
}

.archer-8-ultra .shield-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 55%, #0009), #0005;
    pointer-events: none;
    content: '';
    transition: opacity 700ms ease;
}

.archer-8-ultra .shield-card.is-active::after {
    opacity: 0.55;
}

.archer-8-ultra .shield-select {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    padding: 2.0833vw;
    border: 0;
    background: transparent;
    color: #ccc;
    font: inherit;
    font-size: 1.4583vw;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
}

.archer-8-ultra .shield-select span {
    white-space: nowrap;
}

.archer-8-ultra .shield-card.is-active .shield-select {
    color: #fff;
    padding-right: 5vw;
}

.archer-8-ultra .shield-play,
.archer-8-ultra .shield-nav button {
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #414343;
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.archer-8-ultra .shield-play {
    position: absolute;
    right: 1.7708vw;
    bottom: 1.5625vw;
    z-index: 2;
    width: 2.2917vw;
    height: 2.2917vw;
    font-size: 0.9375vw;
}

.archer-8-ultra .shield-play .pause-icon {
    display: flex;
    gap: 0.25em;
    height: 0.8em;
}

.archer-8-ultra .shield-play .pause-icon::before,
.archer-8-ultra .shield-play .pause-icon::after {
    width: 0.12em;
    height: 100%;
    background: currentColor;
    content: '';
}

.archer-8-ultra .shield-play[hidden] {
    display: none;
}

.archer-8-ultra .shield-nav {
    display: flex;
    gap: 1.1458vw;
    margin: 2.2917vw 0 0 15%;
}

.archer-8-ultra .shield-nav button {
    width: 1.6667vw;
    height: 1.6667vw;
    font-size: 1.0417vw;
}

.archer-8-ultra .shield-nav button:disabled {
    color: #777;
    cursor: default;
}

.archer-8-ultra .homeshield button:focus-visible {
    outline: 2px solid #ebd299;
    outline-offset: -4px;
}

.archer-8-ultra .shield-status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* HomeShield — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .homeshield {
        padding: 56px 0;
    }
    .archer-8-ultra .shield-intro {
        width: 87.5%;
        margin: 0 auto;
    }
    .archer-8-ultra .shield-title {
        flex-wrap: wrap;
        gap: 10px;
        font-size: clamp(26px, 6.875vw, 40px);
    }
    .archer-8-ultra .shield-title img {
        width: 190px;
        max-width: 100%;
    }
    .archer-8-ultra .shield-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }
    .archer-8-ultra .shield-description br {
        display: none;
    }
    .archer-8-ultra .shield-link {
        margin-top: 20px;
        font-size: 14px;
    }
    .archer-8-ultra .shield-viewport {
        width: 87.5%;
        margin: 32px auto 0;
        overflow: hidden;
    }
    .archer-8-ultra .shield-cards {
        gap: 12px;
        transform: translateX(calc(var(--shield-index) * (-100% - 12px)));
        transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    }
    .archer-8-ultra .shield-card,
    .archer-8-ultra .shield-card.is-active {
        flex-basis: 100%;
        height: auto;
        aspect-ratio: 89 / 48;
        border-radius: 16px;
    }
    .archer-8-ultra .shield-video,
    .archer-8-ultra .shield-poster {
        width: 100%;
    }
    .archer-8-ultra .shield-select,
    .archer-8-ultra .shield-card.is-active .shield-select {
        padding: 16px 64px 16px 16px;
        font-size: 16px;
    }
    .archer-8-ultra .shield-select span {
        white-space: normal;
    }
    .archer-8-ultra .shield-play {
        width: 44px;
        height: 44px;
        right: 12px;
        bottom: 12px;
        font-size: 18px;
    }
    .archer-8-ultra .shield-nav {
        margin: 24px 0 0 6.25%;
        gap: 16px;
    }
    .archer-8-ultra .shield-nav button {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }
}

/* HomeShield — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .shield-card,
    .archer-8-ultra .shield-card::after,
    .archer-8-ultra .shield-cards {
        transition: none;
    }
}

/*****************
 Aireal
*****************/
.archer-8-ultra .aireal {
    padding: 6.25vw 0 4.1667vw;
    overflow: hidden;
    background: linear-gradient(180deg, #04060a 0%, #0c1725 35%, #25355e 100%);
    color: #ccc;
}

.archer-8-ultra .aireal-intro {
    width: 62.5%;
    margin: 0 auto;
    text-align: center;
    --aireal-delay: 200ms;
}

.archer-8-ultra .aireal-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625vw;
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .aireal-title img {
    display: block;
    width: 12.2917vw;
    height: auto;
}

.archer-8-ultra .aireal-description {
    margin-top: 1.0417vw;
    font-size: 1.25vw;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .aireal-link {
    display: inline-block;
    margin-top: 1.25vw;
    color: #ccc;
    font-size: 0.9375vw;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.archer-8-ultra .aireal-media {
    width: 60.5469%;
    margin: 2.6042vw auto 0;
    --aireal-delay: 400ms;
}

.archer-8-ultra .aireal-media img {
    display: block;
    width: 100%;
    height: auto;
}

.archer-8-ultra .aireal-features {
    display: grid;
    grid-template-columns: 29% 29% 22%;
    justify-content: space-between;
    width: 60.4167%;
    margin: 2.6042vw auto 0;
}

.archer-8-ultra .aireal-feature h3 {
    margin: 0;
    color: #fff;
    font-size: 1.4583vw;
    font-weight: 700;
    line-height: 1.3;
}

.archer-8-ultra .aireal-feature p {
    margin-top: 1.0417vw;
    font-size: 0.9375vw;
    line-height: 1.45;
    white-space: nowrap;
}

.archer-8-ultra .aireal-feature:nth-child(1) { --aireal-delay: 600ms; }
.archer-8-ultra .aireal-feature:nth-child(2) { --aireal-delay: 800ms; }
.archer-8-ultra .aireal-feature:nth-child(3) { --aireal-delay: 1000ms; }

/* Aireal — Sequential Entrance */
.archer-8-ultra .aireal-reveal {
    transition: opacity 1500ms cubic-bezier(0.22, 1, 0.36, 1), transform 1500ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--aireal-delay, 200ms);
}

.archer-8-ultra .aireal.is-enhanced:not(.is-revealed) .aireal-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: none;
}

/* Aireal — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .aireal { padding: 56px 0; }
    .archer-8-ultra .aireal-intro,
    .archer-8-ultra .aireal-media,
    .archer-8-ultra .aireal-features { width: 87.5%; }
    .archer-8-ultra .aireal-title {
        flex-wrap: wrap;
        gap: 10px;
        font-size: clamp(26px, 6.875vw, 40px);
    }
    .archer-8-ultra .aireal-title img { width: 140px; max-width: 100%; }
    .archer-8-ultra .aireal-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }
    .archer-8-ultra .aireal-description br,
    .archer-8-ultra .aireal-feature p br { display: none; }
    .archer-8-ultra .aireal-link { margin-top: 20px; font-size: 14px; }
    .archer-8-ultra .aireal-media { margin-top: 32px; }
    .archer-8-ultra .aireal-features {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        margin-top: 32px;
    }
    .archer-8-ultra .aireal-feature h3 { font-size: 22px; }
    .archer-8-ultra .aireal-feature p {
        margin-top: 10px;
        font-size: 16px;
        white-space: normal;
    }
}

/* Aireal — Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .aireal-reveal { transition: none; }
    .archer-8-ultra .aireal.is-enhanced:not(.is-revealed) .aireal-reveal {
        opacity: 1;
        transform: none;
    }
}

/*****************
 Performance Refined
*****************/
.archer-8-ultra .performance-refined {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #101e2f;
    color: #ccc;
}

.archer-8-ultra .refined-media {
    position: relative;
    width: 100%;
}

.archer-8-ultra .refined-poster {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #101e2f;
    visibility: hidden;
}

.archer-8-ultra .performance-refined.is-poster-visible .refined-poster { visibility: visible; }
.archer-8-ultra .performance-refined.is-poster-visible .refined-video { visibility: hidden; }

.archer-8-ultra .refined-video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto 3840 / 1977;
    object-fit: contain;
}

.archer-8-ultra .refined-content {
    position: absolute;
    top: 4.1667vw;
    left: 18.75%;
    width: 62.5%;
    text-align: center;
}

.archer-8-ultra .refined-title {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .refined-description {
    margin-top: 1.0417vw;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
}

/* Performance Refined — Mobile: desktop video until mobile asset is supplied */
@media (max-width: 639px) {
    .archer-8-ultra .performance-refined {
        display: flex;
        flex-direction: column;
    }

    .archer-8-ultra .refined-content {
        position: relative;
        top: auto;
        left: auto;
        order: -1;
        width: 87.5%;
        margin: 0 auto;
        padding: 56px 0 32px;
    }

    .archer-8-ultra .refined-title {
        font-size: clamp(26px, 6.875vw, 40px);
    }

    .archer-8-ultra .refined-description {
        margin-top: 20px;
        font-size: 16px;
        white-space: normal;
    }

    .archer-8-ultra .refined-description br {
        display: none;
    }
}

/*****************
 Why TP-Link
*****************/
.archer-8-ultra .why-tp-link {
    padding: 6.25vw 0 6.7708vw;
    background: #191d2c;
    color: #ccc;
}

.archer-8-ultra .trust-intro {
    width: 87%;
    margin: 0 auto;
    text-align: center;
}

.archer-8-ultra .trust-intro h2 {
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .trust-intro p {
    margin-top: 1.25vw;
    color: #fff;
    font-size: 1.25vw;
    line-height: 1.45;
}

.archer-8-ultra .trust-grid {
    display: grid;
    grid-template-columns: 1fr 1.04167fr 1fr;
    grid-template-rows: 1fr 0.566fr 0.394fr;
    gap: 0.625vw;
    width: 86.9792%;
    height: 34.5833vw;
    margin: 4.1667vw auto 0;
}

.archer-8-ultra .trust-card {
    position: relative;
    min-width: 0;
    padding: 1.25vw;
    overflow: hidden;
    border-radius: 1.25vw;
    background-color: #030819;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.archer-8-ultra .trust-card h3 {
    margin: 0;
    color: #ddd;
    font-size: 1.0417vw;
    font-weight: 700;
    line-height: 1.4;
}

.archer-8-ultra .trust-card p {
    margin-top: 0.3125vw;
    font-size: 0.9375vw;
    line-height: 1.5;
}

.archer-8-ultra .trust-leader {
    grid-column: 1;
    grid-row: 1 / 4;
    padding: 1.6667vw 2.0833vw;
    background-image: url('https://static-product.tp-link.com/IFA-2026-temp-spotlight/archer8-ultra/img/11-why-tp-link-no-1.png');
}

.archer-8-ultra .trust-leader h3 {
    font-size: 3.3333vw;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .trust-leader p {
    margin-top: 1.0417vw;
    color: #ddd;
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.4;
}

.archer-8-ultra .trust-worldwide {
    grid-column: 2;
    grid-row: 1;
    background-image: url('https://static-product.tp-link.com/IFA-2026-temp-spotlight/archer8-ultra/img/11-why-tp-link-worldwide.jpg');
}

.archer-8-ultra .trust-worldwide strong {
    font-size: 2.34375vw;
    line-height: 1.15;
}

.archer-8-ultra .trust-privacy {
    grid-column: 2;
    grid-row: 2 / 4;
    display: flex;
    flex-direction: column;
}

.archer-8-ultra .trust-badges {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625vw;
    flex: 1;
    padding: 1.25vw 0;
}

.archer-8-ultra .trust-badges img {
    display: block;
    width: 16.5%;
    height: 4.1667vw;
    object-fit: contain;
}

.archer-8-ultra .trust-sustainability {
    grid-column: 3;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-image: url('https://static-product.tp-link.com/IFA-2026-temp-spotlight/archer8-ultra/img/11-why-tp-link-sustainability.png');
}

.archer-8-ultra .trust-support {
    grid-column: 3;
    grid-row: 2;
}

.archer-8-ultra .trust-support .trust-copy {
    position: relative;
    z-index: 1;
    width: 62%;
}

.archer-8-ultra .trust-support img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 38%;
    height: 100%;
    object-fit: contain;
    object-position: bottom right;
}

.archer-8-ultra .trust-experience {
    grid-column: 3;
    grid-row: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25vw;
}

.archer-8-ultra .trust-experience .trust-copy {
    width: 72%;
}

.archer-8-ultra .trust-experience img {
    flex: none;
    width: 3.3333vw;
    height: auto;
}

/* Why TP-Link — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .why-tp-link { padding: 56px 0; }
    .archer-8-ultra .trust-intro h2 { font-size: clamp(26px, 6.875vw, 40px); }
    .archer-8-ultra .trust-intro p { margin-top: 20px; font-size: 16px; }
    .archer-8-ultra .trust-grid {
        width: 87.5%;
        height: auto;
        margin-top: 32px;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        gap: 16px;
    }
    .archer-8-ultra .trust-card {
        grid-column: auto;
        grid-row: auto;
        padding: 24px;
        border-radius: 20px;
    }
    .archer-8-ultra .trust-card h3 { font-size: 20px; }
    .archer-8-ultra .trust-card p { margin-top: 8px; font-size: 16px; }
    .archer-8-ultra .trust-leader { aspect-ratio: 4 / 5; }
    .archer-8-ultra .trust-leader h3 { font-size: clamp(32px, 8.333vw, 48px); }
    .archer-8-ultra .trust-leader p { margin-top: 20px; font-size: 20px; }
    .archer-8-ultra .trust-worldwide,
    .archer-8-ultra .trust-sustainability { min-height: 280px; }
    .archer-8-ultra .trust-worldwide strong { font-size: 40px; }
    .archer-8-ultra .trust-badges { gap: 10px; padding: 32px 0 8px; }
    .archer-8-ultra .trust-badges img { height: 52px; }
    .archer-8-ultra .trust-support { min-height: 200px; }
    .archer-8-ultra .trust-experience { gap: 16px; }
    .archer-8-ultra .trust-experience .trust-copy { width: auto; flex: 1; }
    .archer-8-ultra .trust-experience img { width: 56px; }
}

/*****************
Section 12 — WiFi FAQ
*****************/
.archer-8-ultra .wifi-faq {
    padding: 6.25vw 0 11.4583vw;
    background: #191d2c;
}

.archer-8-ultra .faq-layout {
    display: grid;
    grid-template-columns: minmax(0, 22vw) minmax(0, 1fr);
    align-items: start;
    gap: 6.3333vw;
    width: 75.4167%;
    margin-left: 14.8333%;
}

.archer-8-ultra .faq-layout h2 {
    margin: 0;
    color: #ebd299;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.archer-8-ultra .faq-list {
    border-top: 1px solid #898a90;
}

.archer-8-ultra .faq-item {
    position: relative;
    border-bottom: 1px solid #898a90;
}

.archer-8-ultra .faq-item summary {
    display: block;
    padding: 1.4583vw 3.125vw 1.4583vw 0;
    color: #f5f5f5;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.45;
    list-style: none;
    cursor: pointer;
}

.archer-8-ultra .faq-item summary::-webkit-details-marker {
    display: none;
}

.archer-8-ultra .faq-item summary::before,
.archer-8-ultra .faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 0.3125vw;
    width: 0.9375vw;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%);
    content: '';
}

.archer-8-ultra .faq-item summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.archer-8-ultra .faq-item[open] summary::after {
    display: none;
}

.archer-8-ultra .faq-item summary:focus-visible {
    outline: 2px solid #ebd299;
    outline-offset: 4px;
}

.archer-8-ultra .faq-item p {
    margin: 0;
    padding: 0 4.6875vw 1.5625vw 0;
    color: #999;
    font-size: 0.9375vw;
    line-height: 1.45;
}

/* WiFi FAQ — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .wifi-faq { padding: 56px 0; }
    .archer-8-ultra .faq-layout {
        width: 87.5%;
        margin: 0 auto;
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }
    .archer-8-ultra .faq-layout h2 { font-size: clamp(26px, 6.875vw, 40px); }
    .archer-8-ultra .faq-item summary { padding: 22px 36px 22px 0; font-size: 18px; }
    .archer-8-ultra .faq-item summary::before,
    .archer-8-ultra .faq-item summary::after { right: 4px; width: 18px; }
    .archer-8-ultra .faq-item p { padding: 0 36px 24px 0; font-size: 16px; }
}

/*****************
Section 13 — Fixed Sign-up Banner
*****************/
.archer-8-ultra .signup-banner {
    position: fixed;
    inset: auto 0 0;
    z-index: 1100;
    display: flex;
    align-items: center;
    gap: 0;
    height: clamp(5rem, 7vw, 8rem);
    padding: 0 6.5278vw;
    background: #242424 url('https://static-product.tp-link.com/IFA-2026-temp-spotlight/archer8-ultra/img/13-signup-background.png') left center / cover no-repeat;
    color: #fff;
    font-size: clamp(1rem, calc(.7143rem + .4464vw), 1.25rem);
    box-sizing: border-box;
}
.archer-8-ultra .signup-banner[hidden] { display: none; }
.archer-8-ultra .signup-banner {
    transform: translateY(0);
    transition: transform 350ms cubic-bezier(.22, 1, .36, 1), visibility 0s;
}
.archer-8-ultra .signup-banner.is-scroll-hidden {
    transform: translateY(100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 350ms cubic-bezier(.22, 1, .36, 1), visibility 0s 350ms;
}
@media (prefers-reduced-motion: reduce) {
    .archer-8-ultra .signup-banner,
    .archer-8-ultra .signup-banner.is-scroll-hidden { transition: none; }
}
.archer-8-ultra .signup-preorder { display: none; }
.archer-8-ultra .signup-action { position: relative; display: flex; flex: none; }
/* Preserve the signup layout dimensions in both modes. */
.archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-field,
.archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-action > button { visibility: hidden; }
.archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-preorder {
    position: absolute; inset: 0;
    display: inline-flex; align-items: center; justify-content: center;
    text-align: center; text-decoration: none; white-space: nowrap;
}
.archer-8-ultra .signup-logo { width: 8.875em; height: auto; flex: none; }
.archer-8-ultra .signup-preorder-brand { display: none; }
.archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-logo { display: none; }
.archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-preorder-brand {
    display: flex; align-items: center; gap: .4em; width: 8.875em; flex: none;
}
.archer-8-ultra .signup-preorder-brand img { display: block; flex: none; width: auto; max-width: none; height: 1.4286em; }
.archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-copy { visibility: hidden; }
.archer-8-ultra .signup-copy { margin-left: 2em; }
.archer-8-ultra .signup-copy h2 { margin: 0; font-size: 1em; line-height: 1.25; font-weight: 700; }
.archer-8-ultra .signup-copy p { margin: .25em 0 0; font-size: .6875em; font-weight: 300; line-height: 1.25; color: #ffffffe0; }
.archer-8-ultra .signup-close {
    position: absolute; top: 12px; right: 16px;
    width: 28px; height: 28px; padding: 0; border: 0;
    background: transparent; color: #fff; cursor: pointer;
}
.archer-8-ultra .signup-close::before,
.archer-8-ultra .signup-close::after {
    content: ''; position: absolute; top: 13px; left: 6px;
    width: 16px; height: 1px; background: currentColor; transform: rotate(45deg);
}
.archer-8-ultra .signup-close::after { transform: rotate(-45deg); }
.archer-8-ultra .signup-form { display: flex; gap: .875em; margin: 0 0 0 auto; padding: 0; align-items: center; flex: none; }
.archer-8-ultra .signup-field { position: relative; width: min(18.26vw, 263px); }
.archer-8-ultra .signup-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.archer-8-ultra .signup-field input {
    box-sizing: border-box; width: 100%; height: clamp(36px, 2.8vw, 44px);
    padding: 0 12px; border: 1px solid #aaa; border-radius: 4px;
    background: #f4f4f4; color: #111; font: inherit; font-size: 14px;
}
.archer-8-ultra .signup-submit {
    min-height: clamp(36px, 2.8vw, 44px); padding: 8px 24px;
    border: 0; border-radius: 999px; background: #33cad8;
    color: #06171a; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.archer-8-ultra .signup-submit:disabled { opacity: .5; cursor: default; }
.archer-8-ultra .signup-banner .signup-submit {
    display: inline-flex; align-items: center; justify-content: center;
    height: clamp(2.25rem, 2.8vw, 2.75rem); min-height: 0;
    min-width: clamp(10rem, calc(7.143rem + 4.464vw), 12.5rem);
    padding: 0 1.25em; font-size: .75em; line-height: 1.25;
    text-align: center; white-space: nowrap;
}
.archer-8-ultra:not([data-page-mode="preorder"]) .signup-banner .signup-preorder { display: none; }
.archer-8-ultra .signup-banner .signup-field input {
    display: block; margin: 0;
    height: clamp(2.25rem, 2.8vw, 2.75rem); padding: 0 .625em;
    border-radius: .25em; font-size: .75em; font-weight: 300; line-height: 1.25;
}
.archer-8-ultra .signup-banner .signup-close { top: 1em; right: 1.25em; width: 1em; height: 1em; }
.archer-8-ultra .signup-banner .signup-close::before,
.archer-8-ultra .signup-banner .signup-close::after { top: 50%; left: 50%; width: .75em; transform: translate(-50%, -50%) rotate(45deg); }
.archer-8-ultra .signup-banner .signup-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.archer-8-ultra .signup-error { display: block; color: #ff9caf; font-size: 12px; }
.archer-8-ultra .signup-banner .signup-error { position: absolute; top: 100%; left: 0; }
.archer-8-ultra.signup-overlay {
    position: fixed; inset: 0; z-index: 1200;
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%; padding: min(10.67vw, 40px) min(4.27vw, 32px);
    overflow-y: auto; background: #181818e6; overscroll-behavior: contain;
}
.archer-8-ultra.signup-overlay[hidden] { display: none; }
.archer-8-ultra .signup-dialog {
    position: relative; inset: auto; flex: none; box-sizing: border-box;
    width: min(45.83vw, 660px); height: auto; min-height: 0; max-width: none; max-height: 90dvh; margin: auto;
    padding: min(1.32vw, 19px) min(2.22vw, 32px) min(1.39vw, 20px); border: 0; border-radius: min(1.53vw, 22px);
    background: #414141; color: #ffffffbf; text-align: center; overflow-y: auto;
    overscroll-behavior: contain; font-family: inherit;
}
/* Preserve native dialog visibility when the host site's reset styles override it. */
.archer-8-ultra .signup-dialog:not([open]) { display: none; }
.archer-8-ultra .signup-dialog[open] { display: block; }
.archer-8-ultra .signup-dialog h2 { margin: 0; color: #fff; font-size: min(1.25vw, 18px); font-weight: 700; line-height: 1.25; }
.archer-8-ultra .signup-dialog p { margin: min(.35vw, 5px) 0 0; color: #ffffffbf; font-size: min(.97vw, 14px); font-weight: 300; line-height: 1.25; }
.archer-8-ultra .signup-dialog .signup-close { top: min(1.11vw, 16px); right: min(1.11vw, 16px); width: min(1.67vw, 24px); height: min(1.67vw, 24px); }
.archer-8-ultra .signup-dialog .signup-close::before,
.archer-8-ultra .signup-dialog .signup-close::after { top: 50%; left: 50%; width: min(1.25vw, 18px); transform: translate(-50%, -50%) rotate(45deg); }
.archer-8-ultra .signup-dialog .signup-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.archer-8-ultra .signup-confirm { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px min(1.74vw, 25px); margin: min(2.57vw, 37px) 0 0; padding: 0; border: 0; }
.archer-8-ultra .signup-confirm .signup-submit { order: 1; flex: none; width: auto; min-width: 6.5625rem; height: min(2.08vw, 30px); min-height: 0; padding: 0 1.25rem; background: linear-gradient(to right, #4acbd6, #36a1ff); color: #000; font-size: min(.97vw, 14px); line-height: 1.25; white-space: nowrap; }
.archer-8-ultra .signup-confirm .signup-submit:disabled { background: #686868; color: #ffffff80; opacity: 1; cursor: not-allowed; }
.archer-8-ultra .signup-confirm .signup-submit[hidden] { display: none; }
.archer-8-ultra .signup-captcha { display: flex; justify-content: center; flex: 0 0 304px; min-height: 78px; }
.archer-8-ultra .signup-captcha[hidden] { display: none; }
.archer-8-ultra .signup-dialog .signup-status { order: 2; flex-basis: 100%; margin: 0; font-size: 12px; }
.archer-8-ultra .signup-dialog .signup-status:empty { display: none; }
.archer-8-ultra .signup-dialog .signup-legal { max-width: min(80vw, 450px); margin: min(1.88vw, 27px) auto 0; color: #ffffffa6; font-size: min(.83vw, 12px); line-height: 1.35; }
.archer-8-ultra .signup-dialog.is-complete { height: min(6.25vw, 90px); padding: 0 min(2.22vw, 32px); }
.archer-8-ultra .signup-dialog.is-complete[open] { display: flex; flex-direction: column; justify-content: center; }
.archer-8-ultra .signup-dialog.is-complete .signup-confirm,
.archer-8-ultra .signup-dialog.is-complete .signup-legal { display: none; }
.archer-8-ultra .signup-legal a { color: inherit; text-decoration: underline; }
.archer-8-ultra .signup-dialog .signup-legal a { color: #33cad8; }
.archer-8-ultra .signup-banner :focus-visible,
.archer-8-ultra .signup-dialog :focus-visible { outline: 2px solid #ebd299; outline-offset: 3px; }

/* Hero signup includes the email field above the shared security check. */
.archer-8-ultra .signup-dialog-email[hidden] { display: none; }
.archer-8-ultra .is-hero-signup .signup-confirm {
    display: grid; grid-template-columns: auto minmax(0, 304px) auto;
    align-items: start; gap: 16px 14px;
}
.archer-8-ultra .is-hero-signup .signup-dialog-email { display: contents; }
.archer-8-ultra .signup-dialog-email label { align-self: start; padding-top: 8px; font-size: 12px; color: #fff; }
.archer-8-ultra .signup-dialog-email input {
    display: block; width: 100%; min-width: 0; height: 32px; margin: 0;
    padding: 0 10px; border: 1px solid #ddd; border-radius: 5px;
    background: #f5f5f5; color: #222; font: 14px/1.3 Arial, sans-serif;
}
.archer-8-ultra .signup-dialog-email .signup-error { text-align: left; margin-top: 5px; font-size: 11px; }
.archer-8-ultra .signup-dialog-email .signup-error:empty { display: none; }
.archer-8-ultra .is-hero-signup .signup-confirm .signup-submit { grid-column: 3; grid-row: 1; order: 0; height: 32px; margin: 0; }
.archer-8-ultra .is-hero-signup .signup-captcha { grid-column: 2; grid-row: 2; }
.archer-8-ultra .is-hero-signup .signup-status { grid-column: 1 / -1; grid-row: 3; }
.archer-8-ultra .signup-dialog.is-hero-signup.is-complete .signup-confirm { display: none; }
@media (min-width: 640px) {
    .archer-8-ultra .signup-dialog.is-hero-signup { width: min(90vw, 700px); }
}
@media (max-width: 639px) {
    .archer-8-ultra .is-hero-signup .signup-confirm { display: flex; flex-direction: column; align-items: center; gap: 12px; }
    .archer-8-ultra .is-hero-signup .signup-dialog-email { display: block; width: 100%; text-align: left; }
    .archer-8-ultra .signup-dialog-email label { display: block; padding: 0 0 6px; }
    .archer-8-ultra .is-hero-signup .signup-confirm .signup-submit { order: 1; margin: 0; }
    .archer-8-ultra .is-hero-signup .signup-status { order: 2; }
}

/* Upward returns display entrance content immediately; looping media is unaffected. */
.archer-8-ultra section.is-static-entry :is(.intro-enter, .setup-reveal, .aireal-reveal, .coverage-highlight) {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}
.archer-8-ultra .bandwidth.is-static-entry .bandwidth-scenes {
    opacity: 1 !important;
    transition: none;
}

/* Fixed Sign-up Banner — Mobile */
@media (max-width: 639px) {
    .archer-8-ultra .signup-banner { flex-direction: column; justify-content: center; text-align: center; height: min(73.7vw, 311px); padding: 0 min(6.16vw, 26px); background-color: #181818; background-position: center; }
    .archer-8-ultra .signup-logo { width: min(33.65vw, 142px); }
    .archer-8-ultra[data-page-mode="preorder"] .signup-banner .signup-preorder-brand { width: min(33.65vw, 142px); justify-content: center; }
    .archer-8-ultra .signup-preorder-brand img { height: min(5.42vw, 22.86px); }
    .archer-8-ultra .signup-copy { margin: min(7.11vw, 30px) 0 0; }
    .archer-8-ultra .signup-copy h2 { font-size: min(3.79vw, 16px); }
    .archer-8-ultra .signup-copy p { max-width: min(71.1vw, 300px); margin: min(2.37vw, 10px) auto 0; font-size: min(3.08vw, 13px); line-height: 1.2; }
    .archer-8-ultra .signup-form { flex-direction: column; width: 100%; gap: min(3.79vw, 16px); margin: min(5.69vw, 24px) 0 0; }
    .archer-8-ultra .signup-field, .archer-8-ultra .signup-action { width: 100%; }
    .archer-8-ultra .signup-banner .signup-field input { height: min(9.48vw, 40px); padding: 0 min(2.37vw, 10px); border-radius: min(.95vw, 4px); font-size: min(3.32vw, 14px); }
    .archer-8-ultra .signup-banner .signup-submit { width: 100%; min-width: 0; height: min(9.48vw, 40px); padding: 0 min(4.74vw, 20px); font-size: min(3.32vw, 14px); }
    .archer-8-ultra .signup-banner .signup-close { top: min(6.16vw, 26px); right: min(6.16vw, 26px); width: min(4.74vw, 20px); height: min(4.74vw, 20px); }
    .archer-8-ultra .signup-banner .signup-close::before,
    .archer-8-ultra .signup-banner .signup-close::after { width: min(3.79vw, 16px); }
    .archer-8-ultra .signup-dialog { padding: min(2.97vw, 19px) min(5vw, 32px) min(3.59vw, 23px); width: min(91.61vw, 660px); border-radius: min(3.44vw, 22px); }
    .archer-8-ultra .signup-dialog h2 { font-size: min(4.38vw, 18px); }
    .archer-8-ultra .signup-dialog p { margin-top: min(1.25vw, 5px); font-size: min(3.44vw, 14px); }
    .archer-8-ultra .signup-dialog .signup-close { top: min(2.5vw, 16px); right: min(2.5vw, 16px); width: min(5vw, 24px); height: min(5vw, 24px); }
    .archer-8-ultra .signup-dialog .signup-close::before,
    .archer-8-ultra .signup-dialog .signup-close::after { width: min(3.75vw, 18px); }
    .archer-8-ultra .signup-confirm { flex-direction: column; margin-top: min(7.19vw, 34px); gap: 0; }
    .archer-8-ultra .signup-captcha { flex: none; width: 304px; min-height: 61px; height: 61px; transform: scale(.78); transform-origin: top center; }
    .archer-8-ultra .signup-confirm .signup-submit { margin-top: min(3.75vw, 16px); height: min(7.03vw, 30px); font-size: min(3.28vw, 14px); }
    .archer-8-ultra .signup-dialog .signup-legal { margin-top: min(5.47vw, 25px); font-size: min(2.81vw, 12px); }
    .archer-8-ultra .signup-dialog.is-complete { height: min(14.06vw, 90px); }
}
