/* Purpose-built product storefront */
.product-detail-page {
    --product-accent: #72e5dc;
    --product-bg: #090f1c;
    --product-panel: #101827;
    --product-panel-raised: #151f32;
    --product-border: rgba(255, 255, 255, .1);
    --product-gutter: clamp(24px, 3vw, 64px);
    --product-max-width: 120rem;
    --product-media-width: min(64rem, 88vh);
    --product-muted: rgba(235, 241, 255, .67);
    --product-space-4: var(--hb-space-4);
    --product-space-8: var(--hb-space-8);
    --product-space-12: var(--hb-space-12);
    --product-space-16: var(--hb-space-16);
    --product-space-20: var(--hb-space-20);
    --product-space-24: var(--hb-space-24);
    --product-space-32: var(--hb-space-32);
    --product-space-40: var(--hb-space-40);
    --product-space-48: var(--hb-space-48);
    --product-space-56: var(--hb-space-56);
    --product-space-64: var(--hb-space-64);
    --product-space-72: var(--hb-space-72);
    --product-space-80: var(--hb-space-80);
    --product-space-88: 88px;
    --product-font-12: var(--hb-font-12);
    --product-font-16: var(--hb-font-16);
    --product-font-20: var(--hb-font-20);
    --product-font-24: var(--hb-font-24);
    --product-font-32: var(--hb-font-32);
    --product-font-40: var(--hb-font-40);
    --product-font-48: var(--hb-font-48);
    --product-line-16: var(--hb-line-16);
    --product-line-20: var(--hb-line-20);
    --product-line-24: var(--hb-line-24);
    --product-line-32: var(--hb-line-32);
    --product-line-40: var(--hb-line-40);
    --product-line-48: var(--hb-line-48);
    --product-line-56: var(--hb-line-56);
    --product-radius-8: var(--hb-radius-8);
    --product-radius-12: var(--hb-radius-12);
    --product-media-radius: var(--hb-media-radius);
    --product-media-frame-padding: var(--hb-media-frame-padding);
    --product-media-thumb-padding: var(--hb-media-thumb-padding);
    --product-media-thumb-height: var(--hb-media-thumb-height);
    --product-control-40: var(--hb-control-40);
    --product-control-48: var(--hb-control-48);
    --product-pattern-a: repeating-linear-gradient(
        35deg,
        rgba(114, 229, 220, 0.03) 0,
        rgba(114, 229, 220, 0.03) 1px,
        rgba(0, 0, 0, 0) 1px,
        rgba(0, 0, 0, 0) 14px
    );
    --product-pattern-b: repeating-radial-gradient(
        circle at 2px 2px,
        rgba(255, 255, 255, 0.03) 0,
        rgba(255, 255, 255, 0.03) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 6px
    );
}

.product-detail-page.product-pattern-mesh {
    --product-pattern-a: repeating-linear-gradient(
        35deg,
        rgba(114, 229, 220, 0.035) 0,
        rgba(114, 229, 220, 0.035) 1px,
        rgba(0, 0, 0, 0) 1px,
        rgba(0, 0, 0, 0) 14px
    );
    --product-pattern-b: repeating-radial-gradient(
        circle at 2px 2px,
        rgba(255, 255, 255, 0.035) 0,
        rgba(255, 255, 255, 0.035) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 6px
    );
}

.product-detail-page.product-pattern-isometric {
    --product-pattern-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='112' viewBox='0 0 192 112'%3E%3Cg fill='none' stroke='%2372e5dc' stroke-width='1' stroke-opacity='.026'%3E%3Cpath d='M32 16l32 18.5v37L32 90.5 0 72V35z'/%3E%3Cpath d='M32 16v37l32 18.5M32 53L0 35M32 53v37.5'/%3E%3Cpath d='M96 16l32 18.5v37L96 90.5 64 72V35z'/%3E%3Cpath d='M96 16v37l32 18.5M96 53L64 35M96 53v37.5'/%3E%3Cpath d='M160 16l32 18.5v37l-32 19-32-18.5V35z'/%3E%3Cpath d='M160 16v37l32 18.5M160 53l-32-18M160 53v37.5'/%3E%3Cpath d='M64 72l32-19 32 19M128 35l32-19M64 35l32-19M0 72l32 18.5 32-18.5M128 72l32 18.5 32-18.5'/%3E%3C/g%3E%3Cg fill='none' stroke='%23a664ff' stroke-width='1' stroke-opacity='.018'%3E%3Cpath d='M0 16l32 18.5 32-18.5M32 34.5v37M64 16v37M96 90.5v21.5M128 72v40M160 90.5v21.5'/%3E%3C/g%3E%3C/svg%3E");
    --product-pattern-b: linear-gradient(
        90deg,
        rgba(166, 100, 255, 0.01) 0%,
        rgba(114, 229, 220, 0.007) 48%,
        rgba(14, 181, 255, 0.012) 100%
    );
}

.product-detail-page.product-pattern-dots {
    --product-pattern-a: repeating-radial-gradient(
        circle at 0 0,
        rgba(126, 230, 222, 0.035) 0,
        rgba(126, 230, 222, 0.035) 1.4px,
        rgba(126, 230, 222, 0) 1.4px,
        rgba(126, 230, 222, 0) 7px
    ),
    repeating-radial-gradient(
        circle at 3.5px 3.5px,
        rgba(255, 255, 255, 0.03) 0,
        rgba(255, 255, 255, 0.03) 0.8px,
        rgba(255, 255, 255, 0) 0.8px,
        rgba(255, 255, 255, 0) 6px
    );
    --product-pattern-b: transparent;
}

.product-detail-page.product-pattern-grain {
    --product-pattern-a: repeating-linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.03) 0,
        rgba(255, 255, 255, 0.03) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 2px
    ),
    repeating-linear-gradient(
        180deg,
        rgba(114, 229, 220, 0.02) 0,
        rgba(114, 229, 220, 0.02) 1px,
        rgba(114, 229, 220, 0) 1px,
        rgba(114, 229, 220, 0) 3px
    );
    --product-pattern-b: repeating-linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.02) 0,
        rgba(255, 255, 255, 0.02) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 12px
    );
}

.product-detail-page.product-pattern-waves {
    --product-pattern-a: repeating-radial-gradient(
        ellipse at 20% 20%,
        rgba(126, 230, 222, 0.05) 0,
        rgba(126, 230, 222, 0.05) 4px,
        rgba(126, 230, 222, 0) 5px,
        rgba(126, 230, 222, 0) 20px
    );
    --product-pattern-b: repeating-linear-gradient(
        120deg,
        rgba(255, 255, 255, 0.018) 0,
        rgba(255, 255, 255, 0.018) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 7px
    );
}

.product-detail-page.product-pattern-lattice {
    --product-pattern-a: repeating-linear-gradient(
        0deg,
        rgba(114, 229, 220, 0.03) 0,
        rgba(114, 229, 220, 0.03) 1px,
        rgba(114, 229, 220, 0) 1px,
        rgba(114, 229, 220, 0) 12px
    ),
    repeating-linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.028) 0,
        rgba(255, 255, 255, 0.028) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 11px
    );
    --product-pattern-b: repeating-radial-gradient(
        circle at 50% 50%,
        rgba(255, 255, 255, 0.035) 0,
        rgba(255, 255, 255, 0.035) 0.9px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 6px
    );
}

.product-detail-page.product-pattern-paper {
    --product-pattern-a: repeating-linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.028) 0,
        rgba(255, 255, 255, 0.028) 1px,
        rgba(255, 255, 255, 0) 1px,
        rgba(255, 255, 255, 0) 6px
    );
    --product-pattern-b: repeating-linear-gradient(
        315deg,
        rgba(126, 230, 222, 0.028) 0,
        rgba(126, 230, 222, 0.028) 1px,
        rgba(126, 230, 222, 0) 1px,
        rgba(126, 230, 222, 0) 8px
    );
}

.product-detail-page #main {
    background:
        radial-gradient(circle at 90% 5%, rgba(72, 124, 157, .13), transparent 28rem),
        var(--product-pattern-a),
        var(--product-pattern-b),
        linear-gradient(180deg, #0c1422 0%, var(--product-bg) 34rem, #0d1423 100%);
}

.product-detail-page #main > .product-showcase {
    background-color: transparent;
    background-image: none;
    isolation: isolate;
    overflow: hidden;
    padding: 5.5rem var(--product-gutter) 3.5rem;
    position: relative;
    text-align: left;
}

.product-showcase::before {
    background:
        radial-gradient(circle at 45% 12%, rgba(126, 230, 222, .11), transparent 55%),
        var(--product-pattern-a),
        var(--product-pattern-b),
        linear-gradient(115deg, rgba(114, 229, 220, .055), transparent 28%, rgba(240, 72, 61, .035));
    content: '';
    inset: 0;
    opacity: .85;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.product-showcase__inner,
.product-section {
    position: relative;
    margin: 0 auto;
    max-width: var(--product-max-width);
    width: 100%;
}

.product-section::before {
    background:
        radial-gradient(circle at 88% 10%, rgba(126, 230, 222, .11), transparent 58%),
        var(--product-pattern-a),
        var(--product-pattern-b);
    content: '';
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.product-section > * {
    position: relative;
    z-index: 1;
}

.product-showcase__inner {
    z-index: 1;
}

.product-breadcrumbs {
    align-items: center;
    color: rgba(255, 255, 255, .38);
    display: flex;
    flex-wrap: wrap;
    font-size: .69rem;
    gap: .7rem;
    letter-spacing: .12em;
    margin-bottom: 2rem;
    text-transform: uppercase;
    width: 100%;
}

.product-breadcrumbs a {
    border: 0;
    color: rgba(255, 255, 255, .62);
}

.product-breadcrumbs a:hover { color: var(--product-accent); }

.product-showcase__grid {
    align-items: start;
    display: grid;
    gap: clamp(1.5rem, 2.4vw, 3rem);
    grid-template-columns: minmax(0, var(--product-media-width)) clamp(21rem, 22vw, 25rem);
    justify-content: space-between;
    width: 100%;
}

.product-showcase__media { min-width: 0; }

.product-showcase__content {
    align-self: start;
    display: flex;
    flex-direction: column;
    min-width: 0;
    position: sticky;
    top: 7rem;
    text-align: left;
}

.product-showcase__identity {
    align-items: end;
    display: grid;
    gap: clamp(1.5rem, 2.4vw, 3rem);
    grid-template-columns: minmax(0, var(--product-media-width)) clamp(21rem, 22vw, 25rem);
    justify-content: space-between;
    margin: 0 0 1.5rem;
    padding-top: .15rem;
    width: 100%;
}

.product-showcase__title-group { min-width: 0; }

.product-showcase__identity .product-detail-hero__summary {
    grid-column: 2;
    padding: 0 0 .2rem;
}

.product-showcase__identity h2 {
    border: 0;
    font-size: clamp(2.5rem, 3.7vw, 4.25rem) !important;
    letter-spacing: -.018em !important;
    line-height: 1.02;
    margin: 0 0 .75rem;
    padding: 0;
    text-align: left;
    text-transform: none !important;
}

.product-detail-hero__eyebrow {
    color: var(--product-accent) !important;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .2em;
    line-height: 1.5;
    margin: 0 0 1rem;
    text-transform: uppercase;
    text-align: left !important;
}

.product-detail-hero__subtitle {
    color: rgba(255, 255, 255, .92) !important;
    font-size: .78rem !important;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.6;
    margin: 0;
    text-transform: uppercase;
    text-align: left !important;
}

.product-detail-page .product-detail-hero__summary {
    color: var(--product-muted) !important;
    font-size: .9rem !important;
    line-height: 1.75 !important;
    letter-spacing: .01em !important;
    margin: 0;
    text-align: left !important;
    text-transform: none !important;
}

.detail-gallery__stage {
    aspect-ratio: 3 / 2;
    background: #060b14;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 1.15rem;
    box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, .32);
}

.detail-gallery__image img {
    object-fit: contain;
    opacity: 1;
    transform: none;
    transition: opacity .36s ease;
}

.detail-gallery__image img.is-changing { opacity: .18; }

.detail-gallery__arrow {
    align-items: center;
    backdrop-filter: none;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: .65rem;
    box-shadow: none;
    color: rgba(255, 255, 255, .82);
    display: inline-flex;
    height: 2.65rem;
    justify-content: center;
    opacity: 1;
    padding: 0;
    position: static;
    transform: none;
    transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
    width: 2.9rem;
}

.detail-gallery__arrow.is-previous,
.detail-gallery__arrow.is-next { left: auto; right: auto; top: auto; }
.detail-gallery__arrow:hover { background: rgba(114, 229, 220, .12); border-color: rgba(114, 229, 220, .55); color: var(--product-accent); transform: translateY(-1px); }

.detail-gallery__count {
    background: transparent;
    border-radius: 0;
    bottom: auto;
    color: #fff;
    font-weight: 700;
    left: auto;
    letter-spacing: .12em;
    padding: 0;
    position: static;
}

.detail-gallery__expand {
    backdrop-filter: blur(10px);
    background: rgba(6, 11, 20, .72);
    border-radius: 999px;
    bottom: 1rem;
    color: rgba(255, 255, 255, .75);
    font-size: .62rem;
    letter-spacing: .12em;
    opacity: 0;
    padding: .5rem .75rem;
    pointer-events: none;
    position: absolute;
    right: 1rem;
    text-transform: uppercase;
    transition: opacity .3s ease;
}

.detail-gallery__expand .icon { margin-right: .35rem; }
.detail-gallery__stage:hover .detail-gallery__expand { opacity: 1; }

.detail-gallery__toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: .85rem;
}

.detail-gallery__status,
.detail-gallery__controls {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.detail-gallery__fullscreen {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: rgba(255, 255, 255, .5);
    font-size: .6rem;
    height: auto;
    letter-spacing: .11em;
    padding: .4rem .55rem;
    text-transform: uppercase;
}

.detail-gallery__fullscreen:hover { color: var(--product-accent); }
.detail-gallery__fullscreen .icon { margin-right: .35rem; }

.detail-gallery__thumbs {
    gap: .65rem;
    margin-top: .55rem;
    padding: .1rem .1rem .75rem;
    scrollbar-color: rgba(114, 229, 220, .55) rgba(255, 255, 255, .05);
    scrollbar-width: thin;
}

.detail-gallery__thumb {
    border: 1px solid var(--product-border);
    border-radius: .65rem;
    flex-basis: clamp(6.7rem, 10vw, 9.5rem);
    opacity: .58;
    transition: border-color .3s ease, opacity .3s ease, transform .3s ease;
}

.detail-gallery__thumb:hover { opacity: .9; transform: translateY(-2px); }
.detail-gallery__thumb.is-active { border-color: var(--product-accent); box-shadow: 0 0 0 1px var(--product-accent); opacity: 1; }

.product-purchase-card {
    background: linear-gradient(145deg, rgba(21, 32, 51, .98), rgba(13, 21, 35, .98));
    border: 1px solid var(--product-border);
    border-radius: 1rem;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .24);
    display: grid;
    gap: .75rem;
    margin-top: 0;
    padding: 1.4rem;
}

.product-purchase-card__heading { border-bottom: 1px solid var(--product-border); margin-bottom: .35rem; padding-bottom: 1.1rem; }
.product-purchase-card__heading p { color: var(--product-accent) !important; font-size: .59rem; font-weight: 800; letter-spacing: .16em; margin: 0 0 .4rem; text-transform: uppercase; }
.product-purchase-card__heading h3 { font-size: 1.45rem; letter-spacing: -.01em; margin: 0 0 .35rem; text-transform: none; }
.product-purchase-card__heading span { color: rgba(255, 255, 255, .56); font-size: .74rem; line-height: 1.55; }
.product-purchase-card .button { margin: 0; }
.product-purchase-card__assurance { display: flex; gap: .9rem; justify-content: center; padding-top: .4rem; }
.product-purchase-card__assurance > span { color: rgba(255, 255, 255, .48); font-size: .59rem; }
.product-purchase-card__assurance .icon { color: var(--product-accent); margin-right: .3rem; }

.product-purchase-card__support {
    align-items: center;
    background: rgba(255, 255, 255, .025);
    border: 1px solid var(--product-border);
    border-radius: .75rem;
    color: rgba(255, 255, 255, .68);
    display: grid;
    font-size: .7rem;
    gap: .7rem;
    grid-template-columns: auto 1fr auto;
    margin-top: .85rem;
    padding: .85rem 1rem;
}
.product-purchase-card__support > .icon { color: var(--product-accent); }
.product-purchase-card__support span:nth-child(2) { display: flex; flex-direction: column; }
.product-purchase-card__support strong { color: #fff; font-size: .7rem; }
.product-purchase-card__support small { color: rgba(255, 255, 255, .42); font-size: .61rem; margin-top: .15rem; }
.product-purchase-card__support:hover { background: rgba(114, 229, 220, .06); border-color: rgba(114, 229, 220, .35); color: var(--product-accent); }

.product-facts {
    border: 1px solid var(--product-border);
    border-radius: 1rem;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1rem 0 0;
    max-width: none;
    overflow: hidden;
}

.product-facts div {
    background: rgba(255, 255, 255, .025);
    border-bottom: 1px solid var(--product-border);
    padding: .9rem 1rem;
}

.product-facts div:nth-child(odd) { border-right: 1px solid var(--product-border); }
.product-facts div:nth-last-child(-n + 2) { border-bottom: 0; }
.product-facts dt { color: rgba(255, 255, 255, .42); font-size: .59rem; }
.product-facts dd { font-size: .76rem; line-height: 1.4; }

.product-section-nav {
    background: rgba(9, 15, 28, .88);
    backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255, 255, 255, .06);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
    gap: 1.7rem;
    justify-content: center;
    padding: 0 var(--product-gutter);
    top: 3rem;
    z-index: 900;
}

.product-section-nav a { font-size: .63rem; padding: 1rem 0; }
.product-section-nav a:hover { color: var(--product-accent); }

.product-section {
    max-width: var(--product-max-width);
    padding: clamp(4rem, 5vw, 5.5rem) var(--product-gutter);
    scroll-margin-top: 6rem;
}

.product-section + .product-section { border-top-color: rgba(255, 255, 255, .07); }

.product-section__heading { margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.product-detail-page .product-section__heading h3 {
    font-size: clamp(2rem, 3.3vw, 3.4rem);
    letter-spacing: -.018em;
    line-height: 1.08;
    text-transform: none;
}
.product-section__heading > span { color: var(--product-muted); }

.product-section__heading--split {
    align-items: end;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr);
    max-width: none;
}

.product-section__heading--split h3 { margin-bottom: 0; }
.product-section__heading--split > span { line-height: 1.75; padding-bottom: .2rem; }
.product-section__heading--split > .text-link { justify-self: end; padding-bottom: .4rem; }

.product-overview__grid {
    align-items: start;
    gap: clamp(2.5rem, 6vw, 6.5rem);
    grid-template-columns: minmax(0, 1fr) minmax(23rem, .82fr);
}

.product-rich-copy p { color: var(--product-muted); font-size: .92rem; line-height: 1.9; }
.product-rich-copy p:first-child { color: rgba(255, 255, 255, .9); font-size: 1.02rem; }

.product-feature-panel {
    background: var(--product-panel);
    border-color: var(--product-border);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .16);
    padding: clamp(1.6rem, 3vw, 2.4rem);
}

.product-card-label {
    color: var(--product-accent) !important;
    font-size: .63rem !important;
    font-weight: 800;
    letter-spacing: .18em;
    margin-bottom: .65rem !important;
    text-transform: uppercase;
}

.product-feature-panel h4 { font-size: 1.35rem; margin-bottom: 1.5rem; }
.product-detail-page .product-feature-panel h4,
.product-detail-page .product-experience-card h4,
.product-detail-page .related-product-grid h4 {
    letter-spacing: -.01em;
    text-transform: none;
}
.product-feature-panel .feature-list { list-style: none; margin: 0; }
.product-feature-panel .feature-list li { align-items: flex-start; border-top: 1px solid rgba(255, 255, 255, .07); display: flex; gap: .8rem; line-height: 1.6; margin: 0; padding: .85rem 0; }
.product-feature-panel .feature-list .icon { color: var(--product-accent); font-size: .7rem; margin-top: .42rem; }

.product-experience-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-experience-card {
    background: var(--product-panel);
    border: 1px solid var(--product-border);
    border-radius: 1rem;
    min-width: 0;
    overflow: hidden;
    padding: 1rem;
}

.product-experience-card__heading { align-items: center; display: flex; gap: .85rem; padding: .35rem .4rem 1.2rem; }
.product-experience-card__heading > .icon { align-items: center; background: rgba(114, 229, 220, .1); border-radius: .65rem; color: var(--product-accent); display: flex; height: 2.7rem; justify-content: center; width: 2.7rem; }
.product-experience-card__heading p { color: rgba(255, 255, 255, .45) !important; font-size: .59rem; letter-spacing: .14em; margin: 0 0 .15rem; text-transform: uppercase; }
.product-experience-card__heading h4 { font-size: 1rem; margin: 0; }
.product-experience-card .responsive-video { border-radius: .72rem; box-shadow: none; }
.product-experience-card .external-media-card,
.product-experience-card .webgl-preview__placeholder { border: 0; border-radius: .72rem; min-height: 0; padding: clamp(2rem, 5vw, 4rem) 2rem; }
.product-experience-card .webgl-preview iframe { border-radius: .72rem; }
.product-experience-card .text-link { margin-top: 1.2rem; }

.product-mobile-section { overflow: hidden; }
.mobile-showcase { align-items: stretch; gap: clamp(1rem, 2.5vw, 2rem); justify-content: flex-start; margin: 0 calc(50% - 50vw); padding: 1rem max(2rem, calc((100vw - 88rem) / 2)) 3rem; scroll-snap-type: x proximity; }
.phone-preview { border-width: .4rem; border-radius: 1.8rem; flex-basis: clamp(12rem, 18vw, 16rem); scroll-snap-align: start; transition: border-color .3s ease, transform .4s ease; }
.phone-preview:hover { border-color: #33415a; transform: translateY(-5px); }

.product-help-section {
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.product-help-panel { min-width: 0; scroll-margin-top: 7rem; }
.product-help-panel .product-section__heading { margin-bottom: 1.7rem; }
.product-detail-page .product-help-panel .product-section__heading h3 { font-size: clamp(1.7rem, 2.5vw, 2.35rem); }

.resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resource-card { align-items: center; flex-direction: row; gap: .9rem; min-height: 5.5rem; padding: 1rem; }
.resource-card .icon { align-items: center; background: rgba(114, 229, 220, .09); border-radius: .6rem; display: flex; flex: 0 0 2.6rem; height: 2.6rem; justify-content: center; margin: 0; }
.resource-card > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.resource-card strong { font-size: .8rem; margin: 0; }
.resource-card small { color: rgba(255, 255, 255, .43); font-size: .65rem; margin-top: .2rem; }

.faq-list details { background: var(--product-panel); }
.faq-list summary { font-size: .82rem; line-height: 1.5; }
.faq-list details > div { color: var(--product-muted); font-size: .88rem; line-height: 1.7; }
.section-cta { flex-wrap: wrap; }

.related-product-grid { gap: 1rem; }
.related-product-grid article { background: var(--product-panel); border-radius: 1rem; transition: border-color .3s ease, transform .4s ease; }
.related-product-grid article:hover { border-color: rgba(114, 229, 220, .45); transform: translateY(-4px); }
.related-product-grid img { object-fit: contain; }
.related-product-grid article div { padding: 1.4rem; }
.related-product-grid h4 { font-size: 1.05rem; line-height: 1.4; }

@media screen and (max-width: 1100px) {
    .product-showcase__grid { gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(18rem, 21rem); }
    .product-showcase__identity { grid-template-columns: minmax(0, 1fr) minmax(17rem, .65fr); }
    .product-showcase__identity h2 { font-size: clamp(2.1rem, 4.7vw, 3.4rem); }
    .product-detail-hero__summary { font-size: .92rem; }
}

@media screen and (min-width: 1600px) {
    .product-detail-page {
        --product-gutter: clamp(3rem, 4vw, 5rem);
    }

    .product-showcase__grid,
    .product-showcase__identity { grid-template-columns: minmax(0, var(--product-media-width)) 25rem; }

    .detail-gallery__thumb { flex-basis: clamp(8rem, 8vw, 10.5rem); }
}

@media screen and (max-width: 900px) {
    .product-detail-page { --product-gutter: 1.25rem; }
    .product-showcase__grid { grid-template-columns: 1fr; }
    .product-showcase__content { display: grid; gap: 1rem; grid-template-columns: minmax(17rem, .75fr) minmax(0, 1fr); position: static; }
    .product-showcase__identity { grid-template-columns: 1fr; }
    .product-showcase__identity .product-detail-hero__summary { grid-column: 1; max-width: 46rem; padding: .35rem 0 0; }
    .product-purchase-card { margin-top: 0; }
    .product-facts { margin-top: 0; }
    .product-purchase-card__support { grid-column: 1 / -1; margin-top: 0; }
    .product-section__heading--split { grid-template-columns: 1fr; }
    .product-section__heading--split > .text-link { justify-self: start; }
    .product-overview__grid { grid-template-columns: 1fr; }
    .product-help-section { grid-template-columns: 1fr; }
}

@media screen and (max-width: 736px) {
    .product-detail-page { --product-gutter: 1rem; }
    .product-detail-page #main > .product-showcase { padding-bottom: 2.25rem; padding-top: 5.4rem; }
    .product-breadcrumbs { display: none; }
    .product-showcase__grid { gap: 1.5rem; }
    .product-showcase__content { display: flex; }
    .product-showcase__identity { margin-bottom: 1.6rem; order: -1; }
    .product-showcase__identity h2 { font-size: clamp(2rem, 10vw, 3rem); }
    .product-detail-hero__summary { line-height: 1.65; }
    .detail-gallery__stage { border-radius: var(--product-media-radius); }
    .detail-gallery__arrow { height: 2.45rem; width: 2.7rem; }
    .detail-gallery__expand { display: none; }
    .detail-gallery__fullscreen { font-size: .55rem; padding-left: .25rem; }
    .detail-gallery__thumb { flex-basis: 5.8rem; }
    .product-purchase-card { margin-top: .5rem; }
    .product-section-nav { justify-content: flex-start; top: 3rem; }
    .product-section { padding: 3.75rem 1rem; }
    .product-section__heading { margin-bottom: 1.8rem; }
    .product-section__heading h3 { font-size: 2rem; }
    .product-experience-grid { grid-template-columns: 1fr; }
    .mobile-showcase { padding-left: 1rem; padding-right: 1rem; }
    .product-help-section { gap: 4.5rem; }
    .resource-grid { grid-template-columns: 1fr; }
    .related-product-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .detail-gallery__image img,
    .detail-gallery__thumb,
    .phone-preview,
    .related-product-grid article { transition: none; }
}

/* Keep product detail pages aligned with the homepage design system. */
.product-detail-page #main {
    background:
        radial-gradient(circle at 90% 5%, rgba(72, 124, 157, .13), transparent 28rem),
        var(--product-pattern-a),
        var(--product-pattern-b),
        linear-gradient(180deg, #243049 0%, #11182a 32rem, #0d1423 100%);
}

.product-detail-page #main > .product-showcase {
    background:
        radial-gradient(circle at top, rgba(126, 230, 222, .1), transparent 34%),
        linear-gradient(180deg, #243049 0%, #232b45 52%, #222943 100%);
    padding-bottom: clamp(2.75rem, 4vw, 4rem);
    padding-left: 0;
    padding-right: 0;
    padding-top: 4.75rem;
}

.product-showcase__inner,
.product-section {
    box-sizing: border-box;
    max-width: none;
    padding-left: clamp(1rem, 4vw, 2rem);
    padding-right: clamp(1rem, 4vw, 2rem);
    width: min(calc(100vw - 3rem), 106em);
}

.product-showcase__inner {
    max-width: min(106em, calc(100vw - 3rem));
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.product-section {
    padding-bottom: clamp(4rem, 5vw, 5.5rem);
    padding-top: clamp(4rem, 5vw, 5.5rem);
}

.product-section-nav {
    top: 3.75rem;
}

.product-purchase-card,
.product-facts,
.product-purchase-card__support,
.product-feature-panel,
.product-experience-card,
.resource-card,
.related-product-grid article {
    background: rgba(8, 12, 24, .58);
    border: solid 1px rgba(255, 255, 255, .1);
    border-radius: .8rem;
    box-shadow: 0 20px 46px rgba(4, 7, 16, .2);
}

.product-purchase-card__heading,
.product-facts div {
    border-color: rgba(255, 255, 255, .08);
}

@media screen and (max-width: 736px) {
    .product-detail-page #main > .product-showcase {
        padding-top: 3.25rem;
    }

    .product-showcase__inner,
    .product-section {
        width: calc(100vw - 2rem);
    }
}

/* Featured-style opening panel for product detail pages. */
.product-detail-feature {
    --product-feature-gutter: clamp(1.5em, 2.2vw, 2.25em);
    backdrop-filter: blur(18px) saturate(128%);
    background: rgba(37, 48, 57, .72);
    border: solid 1px rgba(255, 255, 255, .16);
    border-radius: var(--product-radius-12);
    box-shadow:
        0 28px 72px rgba(10, 14, 21, .34),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(28em, 1fr);
    grid-template-rows: 1fr;
    height: auto;
    min-height: 0;
    overflow: hidden;
}

.product-detail-feature__body {
    justify-content: flex-start;
    padding: var(--product-feature-gutter);
}

.product-detail-feature__gallery {
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: .9em;
    margin: var(--product-feature-gutter);
    min-height: 0;
    min-width: 0;
}

.product-detail-feature__media-frame,
.product-detail-feature__thumbnail-frame {
    background: rgba(255, 255, 255, .045);
    border: solid 1px rgba(255, 255, 255, .12);
    border-radius: var(--product-media-radius);
    box-shadow: 0 20px 44px rgba(2, 5, 13, .34);
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    padding: var(--product-media-thumb-padding);
    width: 100%;
}

.product-detail-feature__media-frame {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    min-height: 0;
    padding: var(--product-media-frame-padding);
}

.product-detail-feature__thumbnail-frame {
    align-items: center;
    display: flex;
    flex: 0 0 var(--product-media-thumb-height);
    min-height: 0;
}

.product-detail-feature .detail-gallery__stage {
    aspect-ratio: 3 / 2;
    background: #070b14;
    border: 0;
    border-radius: var(--product-media-radius);
    box-shadow: none;
    min-height: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.product-detail-feature .detail-gallery__image {
    background: transparent;
    border: 0;
    box-shadow: none;
    cursor: zoom-in;
    display: block;
    height: 100%;
    line-height: 0;
    max-width: none;
    overflow: hidden;
    padding: 0;
    text-transform: none;
    white-space: normal;
    width: 100%;
}

.product-detail-feature .detail-gallery__image img {
    display: block;
    height: 100%;
    max-width: none;
    object-fit: contain;
    width: 100%;
}

.product-detail-feature .detail-gallery__count {
    background: transparent;
    border-radius: 0;
    bottom: 1.6em;
    color: #fff;
    font-size: .82em;
    font-weight: 700;
    left: 1.6em;
    letter-spacing: .08em;
    padding: 0;
    position: absolute;
    z-index: 3;
}

.product-detail-feature .detail-gallery__arrow {
    align-items: center;
    background: rgba(6, 11, 20, .58);
    border: solid 1px rgba(255, 255, 255, .18);
    border-radius: 999px;
    box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .18);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    height: 2.7rem;
    justify-content: center;
    opacity: .78;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background .3s ease, border-color .3s ease, opacity .3s ease, transform .3s ease;
    width: 2.7rem;
    z-index: 4;
}

.product-detail-feature .detail-gallery__arrow.is-previous {
    left: 1.2rem;
}

.product-detail-feature .detail-gallery__arrow.is-next {
    right: 1.2rem;
}

.product-detail-feature .detail-gallery__stage:hover .detail-gallery__arrow,
.product-detail-feature .detail-gallery__arrow:focus-visible {
    opacity: 1;
}

.product-detail-feature .detail-gallery__arrow:hover,
.product-detail-feature .detail-gallery__arrow:focus-visible {
    background: rgba(8, 12, 24, .86);
    border-color: rgba(126, 230, 222, .55);
    color: #ffffff;
    transform: translateY(-50%) scale(1.04);
}

.product-detail-feature .detail-gallery__expand {
    display: none;
}

.product-detail-feature .detail-gallery__thumbs {
    align-items: center;
    display: flex;
    gap: .8em;
    height: 100%;
    margin: 0;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: .1em 0 .7em;
    scrollbar-color: rgba(126, 230, 222, .55) rgba(255, 255, 255, .06);
    scrollbar-gutter: stable;
    scrollbar-width: auto;
    width: 100%;
}

.product-detail-feature .detail-gallery__thumb {
    aspect-ratio: 3 / 2;
    background: #070b14;
    border: solid 2px transparent;
    border-radius: var(--product-media-radius);
    box-shadow: none;
    flex: 0 0 auto;
    height: calc(100% - .8em);
    line-height: 0;
    max-height: 100%;
    max-width: none;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    text-transform: none;
    transition: border-color .3s ease, opacity .3s ease, transform .3s ease;
    white-space: normal;
}

.product-detail-feature .detail-gallery__thumb img {
    background: #070b14;
    display: block;
    height: 100%;
    max-width: none;
    object-fit: contain;
    width: 100%;
}

.product-detail-feature .detail-gallery__thumb:not(.is-active) {
    opacity: .58;
}

.product-detail-feature .detail-gallery__thumb.is-active,
.product-detail-feature .detail-gallery__thumb:hover,
.product-detail-feature .detail-gallery__thumb:focus-visible {
    border-color: var(--product-accent);
    box-shadow: 0 0 0 1px rgba(126, 230, 222, .5);
    opacity: 1;
}

.product-detail-feature__body {
    border-left: solid 1px rgba(255, 255, 255, .07);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 0;
    min-width: 0;
    padding: var(--product-feature-gutter);
    text-align: left;
}

.product-detail-feature__copy {
    display: block;
    flex: 0 0 auto;
    min-height: 0;
    width: 100%;
}

.product-detail-feature__kicker {
    color: var(--product-accent) !important;
    font-size: .76em !important;
    font-weight: 700;
    letter-spacing: .18em !important;
    line-height: normal;
    margin: 0 0 1em;
    text-transform: uppercase !important;
}

.product-detail-feature__body h3 {
    border: 0;
    color: #ffffff;
    display: -webkit-box;
    font-size: clamp(1.65em, 2.15vw, 2.35em) !important;
    letter-spacing: .08em !important;
    line-height: 1.08;
    margin: 0 0 .4em;
    overflow: hidden;
    padding: 0;
    text-align: left;
    text-transform: uppercase !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-detail-feature__description {
    color: rgba(255, 255, 255, .72) !important;
    display: block;
    flex: 0 0 auto;
    font-size: .9em !important;
    letter-spacing: .083333em !important;
    line-height: 1.8 !important;
    margin: 0;
    mask-image: none;
    max-height: calc(var(--product-line-24) * 4);
    max-width: 36em;
    min-height: 0;
    overflow: hidden;
    padding-right: 0;
    text-transform: none !important;
}

.product-detail-feature__description p {
    letter-spacing: .035em !important;
    margin: 0;
    text-transform: none !important;
}

.product-detail-feature__description p:last-child {
    margin-bottom: 0;
}

.product-detail-feature__actions {
    display: flex;
    gap: var(--product-space-16);
    margin-top: auto;
    padding-top: var(--product-space-24);
}

.product-detail-feature__actions .button {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    flex: 1 1 0;
    font-size: var(--product-font-12);
    height: var(--product-control-40);
    justify-content: center;
    line-height: var(--product-line-16);
    margin: 0;
    min-width: 0;
    padding-left: var(--product-space-16);
    padding-right: var(--product-space-16);
    text-align: center;
    width: 100%;
}

.product-detail-feature__actions .button:not(.primary) {
    background-color: transparent;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72);
    color: rgba(255, 255, 255, .82) !important;
}

.product-detail-feature__actions .button.primary {
    background-color: #e8483a;
    border-color: #e8483a;
}

.product-detail-feature__actions .button:not(.primary):hover {
    background-color: rgba(144, 144, 144, .25);
}

.product-detail-feature__actions .button:not(.primary):active {
    background-color: rgba(144, 144, 144, .5);
}

@media screen and (max-width: 1280px) {
    .product-detail-feature {
        grid-template-columns: minmax(0, 1.45fr) minmax(24em, .85fr);
    }
}

@media screen and (min-width: 981px) {
    .product-detail-feature__gallery {
        align-self: start;
    }
}

@media screen and (max-width: 980px) {
    .product-detail-feature {
        grid-template-columns: 1fr;
    }

    .product-detail-feature__body {
        border-left: 0;
        border-top: solid 1px rgba(255, 255, 255, .08);
        justify-content: flex-start;
    }

    .product-detail-feature__copy {
        max-width: 48rem;
    }
}

@media screen and (max-width: 736px) {
    .product-detail-feature {
        --product-feature-gutter: 1rem;
        border-radius: .9rem;
    }

    .product-detail-feature__thumbnail-frame {
        padding: .6rem;
    }

    .product-detail-feature .detail-gallery__thumbs {
        min-height: 5.5rem;
    }

    .product-detail-feature .detail-gallery__thumb {
        flex-basis: 7.2rem;
        min-width: 7.2rem;
    }

    .product-detail-feature__body {
        padding: 2rem 1.35rem;
    }

    .product-detail-feature__body h3 {
        font-size: clamp(1.75rem, 8vw, 2.4rem) !important;
    }

    .product-detail-feature__actions {
        align-items: stretch;
        flex-direction: column;
        margin-top: 2rem;
    }

    .product-detail-feature__actions .button {
        box-sizing: border-box;
        width: 100%;
    }
}

/* Normalize the rest of the product page after the featured-style opener. */
.product-detail-page .product-section {
    border-top: solid 1px rgba(255, 255, 255, .08);
    box-shadow: 0 0 0 100vmax #11182a;
    clip-path: inset(0 -100vmax);
    padding-bottom: clamp(3.5rem, 5vw, 5rem);
    padding-top: clamp(3.5rem, 5vw, 5rem);
}

.product-overview {
    background: #242d40;
    box-shadow: 0 0 0 100vmax #242d40 !important;
}

.product-experience-section {
    background:
        linear-gradient(135deg, rgba(17, 25, 43, .98), rgba(10, 15, 29, .98));
    box-shadow: 0 0 0 100vmax #0d1423 !important;
}

.product-mobile-section {
    background:
        linear-gradient(180deg, #353964 0%, #30355d 100%);
    box-shadow: 0 0 0 100vmax #30355d !important;
}

.product-help-section {
    background: #242d40;
    box-shadow: 0 0 0 100vmax #242d40 !important;
}

.related-products-section {
    background:
        linear-gradient(135deg, rgba(17, 25, 43, .98), rgba(10, 15, 29, .98));
    box-shadow: 0 0 0 100vmax #0d1423 !important;
}

.product-detail-page .product-section__heading,
.product-detail-page .product-section__heading--split {
    align-items: start;
    display: block;
    margin-bottom: clamp(1.75rem, 3vw, 2.4rem);
    max-width: 64rem;
}

.product-detail-page .product-section__heading > p,
.product-detail-page .product-section__heading--split p {
    color: var(--product-accent) !important;
    font-size: .72rem !important;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.5;
    margin: 0 0 .85rem;
    text-transform: uppercase;
}

.product-detail-page .product-section__heading h3 {
    border: 0;
    color: #ffffff;
    font-size: clamp(1.55rem, 2.1vw, 2.15rem) !important;
    letter-spacing: .14em;
    line-height: 1.2;
    margin: 0 0 1rem;
    padding: 0;
    text-transform: uppercase;
}

.product-detail-page .product-section__heading > span,
.product-detail-page .product-section__heading--split > span {
    color: rgba(255, 255, 255, .68);
    display: block;
    font-size: .95rem;
    letter-spacing: .045em;
    line-height: 1.8;
    max-width: 48rem;
    padding: 0;
}

.product-detail-page .product-section__heading--split > .text-link {
    display: inline-block;
    justify-self: auto;
    margin-top: 1rem;
    padding: 0;
}

.product-overview__grid {
    gap: clamp(1.25rem, 2vw, 1.75rem);
    grid-template-columns: minmax(0, .95fr) minmax(24rem, 1.05fr);
}

.product-feature-panel,
.product-experience-card,
.product-help-panel,
.related-product-grid article {
    min-width: 0;
}

.product-rich-copy {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.product-rich-copy p {
    color: rgba(255, 255, 255, .72);
    font-size: .95rem;
    line-height: 1.85;
    max-width: 58rem;
}

.product-rich-copy p:first-child {
    color: #ffffff;
    font-size: 1rem;
}

.product-rich-copy p:last-child {
    margin-bottom: 0;
}

.product-feature-panel {
    border-radius: .8rem;
    padding: clamp(1.5rem, 2.2vw, 2rem);
}

.product-feature-panel h4,
.product-experience-card__heading h4,
.external-media-card h4,
.webgl-preview__placeholder h4,
.resource-card strong,
.related-product-grid h4 {
    font-family: inherit;
}

.product-experience-grid {
    gap: clamp(.75rem, 1vw, 1rem);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-experience-card {
    border-radius: .75rem;
    padding: .7rem;
}

.product-experience-card__heading {
    gap: .65rem;
    padding: .2rem .15rem .65rem;
}

.product-experience-card__heading > .icon {
    border-radius: .5rem;
    height: 2rem;
    width: 2rem;
}

.product-experience-card__heading h4 {
    display: -webkit-box;
    font-size: .76rem;
    line-height: 1.25;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-experience-card__heading p {
    font-size: .52rem !important;
    letter-spacing: .11em;
    margin-bottom: .05rem;
}

.product-experience-card .responsive-video {
    border-radius: .55rem;
}

.product-experience-card:only-child {
    display: grid;
    gap: clamp(1.25rem, 2vw, 2rem);
    grid-column: 1 / -1;
    grid-template-columns: minmax(16rem, .42fr) minmax(0, 1fr);
    padding: clamp(1.25rem, 2vw, 1.75rem);
}

.product-experience-card:only-child .product-experience-card__heading {
    align-self: start;
    padding: .25rem 0 0;
}

.product-experience-card__heading {
    padding: .25rem .25rem 1.1rem;
}

.product-experience-card__heading h4 {
    color: #ffffff;
    font-size: 1rem;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.product-experience-card__heading p {
    color: var(--product-accent) !important;
    font-weight: 800;
}

.external-media-card,
.webgl-preview__placeholder {
    background:
        linear-gradient(135deg, rgba(22, 30, 51, .86), rgba(10, 15, 29, .86));
    border: solid 1px rgba(255, 255, 255, .08);
    border-radius: .8rem;
    min-height: 18rem;
    padding: clamp(2rem, 4vw, 3rem);
}

.external-media-card h4,
.webgl-preview__placeholder h4 {
    color: #ffffff;
    font-size: 1.15rem;
    letter-spacing: .08em;
    margin-bottom: .8rem;
    text-transform: uppercase;
}

.external-media-card p,
.webgl-preview__placeholder p {
    color: rgba(255, 255, 255, .72);
    font-size: .92rem;
    line-height: 1.75;
    max-width: 40rem;
}

.external-media-card .button,
.webgl-preview__placeholder .button {
    margin-top: 1rem;
    min-width: 12rem;
}

.mobile-showcase {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.product-help-section {
    gap: clamp(1.5rem, 2.5vw, 2.25rem);
}

.product-help-panel {
    background: rgba(8, 12, 24, .34);
    border: solid 1px rgba(255, 255, 255, .08);
    border-radius: .8rem;
    box-shadow: 0 20px 46px rgba(4, 7, 16, .14);
    padding: clamp(1.4rem, 2vw, 2rem);
}

.product-help-panel .product-section__heading {
    margin-bottom: 1.4rem;
}

.product-detail-page .product-help-panel .product-section__heading h3 {
    font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
}

.resource-grid {
    gap: .85rem;
}

.resource-card {
    border-radius: .7rem;
}

.section-cta {
    gap: .85rem;
}

.related-product-grid {
    display: grid;
    gap: clamp(1rem, 1.5vw, 1.5rem);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.related-product-grid article {
    border-radius: .8rem;
}

.related-product-grid img {
    object-fit: cover;
}

@media screen and (max-width: 980px) {
    .product-overview__grid,
    .product-experience-card:only-child,
    .product-help-section {
        grid-template-columns: 1fr;
    }

    .product-experience-card:only-child .product-experience-card__heading {
        padding-bottom: 0;
    }

    .related-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 736px) {
    .product-detail-page .product-section {
        padding-bottom: 3rem;
        padding-top: 3rem;
    }

    .product-detail-page .product-section__heading h3 {
        font-size: clamp(1.35rem, 7vw, 1.85rem) !important;
        letter-spacing: .08em;
    }

    .product-detail-page .product-section__heading > span,
    .product-detail-page .product-section__heading--split > span {
        font-size: .9rem;
    }

    .external-media-card,
    .webgl-preview__placeholder {
        min-height: 15rem;
        padding: 2rem 1.25rem;
    }

    .external-media-card .button,
    .webgl-preview__placeholder .button,
    .section-cta .button {
        box-sizing: border-box;
        width: 100%;
    }

    .related-product-grid {
        grid-template-columns: 1fr;
    }
}

/* Final product-page theme alignment overrides. */
.product-detail-feature__body {
    justify-content: flex-start;
    padding-top: var(--product-feature-gutter);
}

.product-detail-page .product-section__heading h3 {
    font-size: clamp(1.55rem, 2.1vw, 2.15rem) !important;
    letter-spacing: .14em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.product-overview .product-section__heading,
.product-overview .product-section__heading--split {
    margin-bottom: clamp(1.8rem, 3vw, 2.6rem);
    max-width: none;
}

.product-overview .product-section__heading h3,
.product-overview .product-section__heading--split h3 {
    letter-spacing: .09em !important;
    max-width: none;
}

.product-overview .product-section__heading--split > span {
    font-size: .92rem;
    line-height: 1.75;
    max-width: none;
}

.product-overview__grid {
    gap: clamp(2rem, 3.5vw, 4rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-feature-panel {
    justify-self: start;
    width: 100%;
}

@media screen and (min-width: 981px) {
    .product-overview .product-section__heading,
    .product-overview .product-section__heading--split {
        margin-bottom: clamp(1.6rem, 2.4vw, 2.2rem);
        max-width: none;
    }

    .product-overview__grid {
        align-items: stretch;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-feature-panel {
        align-self: stretch;
        max-width: none;
    }
}

.product-experience-card:only-child {
    grid-template-columns: minmax(16rem, .36fr) minmax(0, 1fr);
}

@media screen and (max-width: 980px) {
    .product-detail-feature__body {
        padding-top: 2.5rem;
    }

    .product-experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-overview__grid {
        grid-template-columns: 1fr;
    }

    .product-feature-panel {
        justify-self: stretch;
        max-width: none;
    }

    .product-experience-card:only-child {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 736px) {
    .product-experience-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 736px) {
    .product-detail-feature__body {
        padding-top: 2rem;
    }
}

/* Compact media row: four small video previews on desktop. */
.product-experience-section .product-experience-grid {
    gap: clamp(.75rem, 1vw, 1rem);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-experience-section .product-experience-card {
    border-radius: .75rem;
    padding: .7rem;
}

.product-experience-section .product-experience-card__heading {
    gap: .65rem;
    padding: .2rem .15rem .65rem;
}

.product-experience-section .product-experience-card__heading > .icon {
    border-radius: .5rem;
    flex: 0 0 2rem;
    height: 2rem;
    width: 2rem;
}

.product-experience-section .product-experience-card__heading h4 {
    display: -webkit-box;
    font-size: .76rem;
    letter-spacing: .08em !important;
    line-height: 1.25;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-experience-section .product-experience-card__heading p {
    font-size: .52rem !important;
    letter-spacing: .11em;
    margin-bottom: .05rem;
}

.product-experience-section .responsive-video {
    border-radius: .55rem;
}

@media screen and (max-width: 980px) {
    .product-experience-section .product-experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 736px) {
    .product-experience-section .product-experience-grid {
        grid-template-columns: 1fr;
    }
}

/* Product page scale normalization.
   Spatial, type, control, and radius values follow 4px/8px steps.
   Opacity, color alpha, transforms, timings, and aspect ratios remain expressive. */
.product-detail-page #main > .product-showcase {
    padding: var(--product-space-88) var(--product-gutter) var(--product-space-56);
}

.product-breadcrumbs {
    font-size: var(--product-font-12);
    gap: var(--product-space-12);
    letter-spacing: var(--product-space-4);
    line-height: var(--product-line-16);
    margin-bottom: var(--product-space-32);
}

.product-showcase__grid,
.product-showcase__identity {
    gap: var(--product-space-48);
}

.product-showcase__identity {
    margin-bottom: var(--product-space-24);
    padding-top: 0;
}

.product-showcase__identity h2 {
    font-size: var(--product-font-48) !important;
    line-height: var(--product-line-56);
    margin-bottom: var(--product-space-12);
}

.product-detail-hero__eyebrow,
.product-detail-hero__subtitle,
.product-card-label,
.product-purchase-card__heading p,
.product-facts dt,
.product-section-nav a {
    font-size: var(--product-font-12) !important;
    letter-spacing: var(--product-space-4);
    line-height: var(--product-line-16);
}

.product-detail-hero__eyebrow {
    margin-bottom: var(--product-space-16);
}

.product-detail-hero__subtitle,
.product-detail-page .product-detail-hero__summary {
    line-height: var(--product-line-24) !important;
}

.product-detail-page .product-detail-hero__summary,
.product-rich-copy p,
.product-section__heading > span,
.product-overview .product-section__heading--split > span {
    font-size: var(--product-font-16) !important;
    line-height: var(--product-line-24) !important;
}

.detail-gallery__stage,
.product-purchase-card,
.product-purchase-card__support,
.product-facts,
.product-feature-panel,
.product-experience-card,
.resource-card,
.related-product-grid article,
.external-media-card,
.webgl-preview__placeholder,
.responsive-video,
.faq-list details,
.help-cta,
.support-form-card,
.support-guidance {
    border-radius: var(--product-radius-12);
}

.detail-gallery__stage {
    border-radius: var(--product-media-radius);
}

.detail-gallery__arrow,
.detail-gallery__count,
.detail-gallery__expand,
.detail-gallery__thumb,
.request-type-card span,
.form-notice {
    border-radius: var(--product-radius-8);
}

.detail-gallery__arrow {
    height: var(--product-control-40);
    width: var(--product-control-48);
}

.detail-gallery__expand {
    font-size: var(--product-font-12);
    letter-spacing: var(--product-space-4);
    padding: var(--product-space-8) var(--product-space-12);
    right: var(--product-space-16);
    bottom: var(--product-space-16);
}

.detail-gallery__toolbar {
    margin-top: var(--product-space-16);
}

.detail-gallery__status,
.detail-gallery__controls,
.detail-gallery__thumbs {
    gap: var(--product-space-8);
}

.detail-gallery__thumbs {
    margin-top: var(--product-space-8);
    padding: var(--product-space-4) var(--product-space-4) var(--product-space-12);
}

.detail-gallery__thumb {
    flex-basis: clamp(104px, 10vw, 152px);
}

.product-purchase-card {
    gap: var(--product-space-12);
    padding: var(--product-space-24);
}

.product-purchase-card__heading {
    margin-bottom: var(--product-space-8);
    padding-bottom: var(--product-space-16);
}

.product-purchase-card__heading h3 {
    font-size: var(--product-font-24);
    line-height: var(--product-line-32);
    margin-bottom: var(--product-space-8);
}

.product-purchase-card__heading span,
.product-purchase-card__support,
.product-purchase-card__support strong,
.product-facts dd {
    font-size: var(--product-font-12);
    line-height: var(--product-line-16);
}

.product-purchase-card__assurance {
    gap: var(--product-space-16);
    padding-top: var(--product-space-8);
}

.product-purchase-card__assurance > span,
.product-purchase-card__support small {
    font-size: var(--product-font-12);
}

.product-purchase-card__support {
    gap: var(--product-space-12);
    margin-top: var(--product-space-16);
    padding: var(--product-space-16);
}

.product-facts {
    margin-top: var(--product-space-16);
}

.product-facts div {
    padding: var(--product-space-16);
}

.product-section-nav {
    gap: var(--product-space-32);
    padding-left: var(--product-gutter);
    padding-right: var(--product-gutter);
    top: var(--product-space-48);
}

.product-section-nav a {
    padding: var(--product-space-16) 0;
}

.product-section {
    padding: var(--product-space-80) var(--product-gutter);
    scroll-margin-top: var(--product-space-96);
}

.product-section__heading,
.product-overview .product-section__heading,
.product-overview .product-section__heading--split {
    margin-bottom: var(--product-space-40);
}

.product-detail-page .product-section__heading h3 {
    font-size: var(--product-font-40);
    line-height: var(--product-line-48);
}

.product-section__heading--split {
    gap: var(--product-space-32);
}

.product-overview__grid {
    gap: var(--product-space-64);
}

.product-feature-panel {
    padding: var(--product-space-32);
}

.product-card-label {
    margin-bottom: var(--product-space-12) !important;
}

.product-feature-panel h4 {
    font-size: var(--product-font-24);
    line-height: var(--product-line-32);
    margin-bottom: var(--product-space-24);
}

.product-feature-panel .feature-list li {
    gap: var(--product-space-12);
    line-height: var(--product-line-24);
    padding: var(--product-space-16) 0;
}

.product-feature-panel .feature-list .icon {
    font-size: var(--product-font-12);
    margin-top: var(--product-space-4);
}

.product-experience-grid {
    gap: var(--product-space-24);
}

.product-experience-card {
    padding: var(--product-space-16);
}

.product-experience-section .product-experience-grid {
    gap: var(--product-space-16);
}

.product-experience-section .product-experience-card {
    border-radius: var(--product-radius-8);
    padding: var(--product-space-12);
}

.product-experience-section .product-experience-card__heading {
    gap: var(--product-space-12);
    padding: var(--product-space-4) var(--product-space-4) var(--product-space-12);
}

.product-experience-section .product-experience-card__heading > .icon {
    border-radius: var(--product-radius-8);
    flex-basis: var(--product-space-32);
    height: var(--product-space-32);
    width: var(--product-space-32);
}

.product-experience-section .product-experience-card__heading h4 {
    font-size: var(--product-font-12);
    letter-spacing: var(--product-space-4) !important;
    line-height: var(--product-line-16);
}

.product-experience-section .product-experience-card__heading p {
    font-size: var(--product-font-12) !important;
    letter-spacing: var(--product-space-4);
    margin-bottom: 0;
}

.product-experience-section .responsive-video {
    border-radius: var(--product-radius-8);
}

.resource-grid,
.related-product-grid {
    gap: var(--product-space-16);
}

.resource-card,
.related-product-grid article div {
    padding: var(--product-space-24);
}

.related-product-grid p,
.resource-card span:last-child {
    font-size: var(--product-font-12);
    letter-spacing: var(--product-space-4);
}

.related-product-grid h4 {
    font-size: var(--product-font-16);
    line-height: var(--product-line-24);
    margin-bottom: var(--product-space-16);
}

.mobile-showcase {
    gap: var(--product-space-32);
    padding: var(--product-space-16) 0 var(--product-space-32);
}

.phone-preview {
    border-radius: var(--product-space-32);
}

.external-media-card,
.webgl-preview__placeholder {
    min-height: 384px;
    padding: var(--product-space-48);
}

.external-media-card .icon,
.webgl-preview__placeholder .icon {
    font-size: var(--product-font-48);
    margin-bottom: var(--product-space-16);
}

.media-lightbox {
    padding: var(--product-space-64);
}

.media-lightbox__close {
    font-size: var(--product-font-40);
    right: var(--product-space-16);
    top: var(--product-space-16);
}

@media screen and (max-width: 980px) {
    .product-detail-feature__body {
        padding-top: var(--product-space-40);
    }

    .product-overview__grid {
        gap: var(--product-space-40);
    }
}

@media screen and (max-width: 736px) {
    .product-detail-page #main > .product-showcase {
        padding: var(--product-space-80) var(--product-space-16) var(--product-space-48);
    }

    .product-showcase__identity h2,
    .product-detail-page .product-section__heading h3 {
        font-size: var(--product-font-32) !important;
        line-height: var(--product-line-40);
    }

    .product-section {
        padding: var(--product-space-56) var(--product-space-16);
    }

    .product-feature-panel,
    .resource-card,
    .related-product-grid article div,
    .external-media-card,
    .webgl-preview__placeholder {
        padding: var(--product-space-24);
    }

    .media-lightbox {
        padding: var(--product-space-16);
    }
}

/* Product-page glass surfaces. */
.product-detail-page {
    --product-glass-bg: rgba(10, 16, 30, 0.2);
    --product-glass-bg-raised: rgba(10, 16, 30, 0.3);
    --product-glass-border: rgba(255, 255, 255, 0.1);
    --product-glass-border-strong: rgba(114, 229, 220, 0.2);
    --product-glass-shadow: 0 14px 34px rgba(4, 7, 16, 0.12);
    --product-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.product-detail-page .featured-product,
.product-detail-page .product-detail-feature,
.product-detail-page .product-feature-panel,
.product-detail-page .product-experience-card,
.product-detail-page .product-help-panel,
.product-detail-page .resource-card,
.product-detail-page .faq-list details,
.product-detail-page .related-product-grid article,
.product-detail-page .product-purchase-card,
.product-detail-page .product-purchase-card__support,
.product-detail-page .external-media-card,
.product-detail-page .webgl-preview__placeholder {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
        var(--product-glass-bg);
    border-color: var(--product-glass-border);
    box-shadow: var(--product-glass-shadow), var(--product-glass-highlight);
}

.product-detail-page .resource-card:hover,
.product-detail-page .related-product-grid article:hover,
.product-detail-page .faq-list details[open],
.product-detail-page .product-purchase-card__support:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)),
        var(--product-glass-bg-raised);
    border-color: var(--product-glass-border-strong);
}

.product-detail-page .featured-product__media-frame,
.product-detail-page .featured-product__thumbnail-frame,
.product-detail-page .featured-product__media,
.product-detail-page .detail-gallery__stage,
.product-detail-page .detail-gallery__thumb,
.product-detail-page .responsive-video,
.product-detail-page .webgl-preview iframe {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: rgba(6, 10, 20, 0.38);
    border-color: rgba(255, 255, 255, 0.11);
}

/* Performance: keep the glass look without live backdrop blurs. */
.product-detail-page .featured-product,
.product-detail-page .product-detail-feature,
.product-detail-page .product-feature-panel,
.product-detail-page .product-experience-card,
.product-detail-page .product-help-panel,
.product-detail-page .resource-card,
.product-detail-page .faq-list details,
.product-detail-page .related-product-grid article,
.product-detail-page .product-purchase-card,
.product-detail-page .product-purchase-card__support,
.product-detail-page .external-media-card,
.product-detail-page .webgl-preview__placeholder,
.product-detail-page .featured-product__media-frame,
.product-detail-page .featured-product__thumbnail-frame,
.product-detail-page .featured-product__media,
.product-detail-page .detail-gallery__stage,
.product-detail-page .detail-gallery__thumb,
.product-detail-page .responsive-video,
.product-detail-page .webgl-preview iframe {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Align product detail pages to the home card system. */
.product-detail-page {
    --product-glass-bg: rgba(20, 31, 48, 1);
    --product-glass-bg-raised: rgba(26, 39, 59, 1);
    --product-glass-border: rgba(126, 230, 222, 0.2);
    --product-glass-border-strong: rgba(126, 230, 222, 0.36);
    --product-glass-shadow: 0 12px 28px rgba(5, 8, 18, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --product-glass-highlight: none;
}

.product-detail-page .product-section {
    background: transparent;
    box-shadow: none !important;
    clip-path: none;
}

.product-detail-page .product-overview,
.product-detail-page .product-help-section {
    background:
        linear-gradient(180deg, rgba(126, 230, 222, 0.035), transparent 42%),
        #2d3650;
}

.product-detail-page .product-experience-section,
.product-detail-page .related-products-section {
    background:
        linear-gradient(180deg, rgba(126, 230, 222, 0.045), transparent 38%),
        #263342;
}

.product-detail-page .product-section::before {
    background-size: 288px 168px, cover;
    opacity: 0.36;
}

.product-detail-page .featured-product,
.product-detail-page .product-detail-feature,
.product-detail-page .product-feature-panel,
.product-detail-page .product-experience-card,
.product-detail-page .product-help-panel,
.product-detail-page .resource-card,
.product-detail-page .faq-list details,
.product-detail-page .related-product-grid article,
.product-detail-page .product-purchase-card,
.product-detail-page .product-purchase-card__support,
.product-detail-page .external-media-card,
.product-detail-page .webgl-preview__placeholder {
    background: var(--product-glass-bg) !important;
    border: 1px solid var(--product-glass-border) !important;
    box-shadow: var(--product-glass-shadow) !important;
    transition:
        background 0.25s var(--hb-ease-smooth),
        border-color 0.25s var(--hb-ease-smooth),
        box-shadow 0.25s var(--hb-ease-smooth),
        transform 0.25s var(--hb-ease-smooth);
}

.product-detail-page .resource-card:hover,
.product-detail-page .related-product-grid article:hover,
.product-detail-page .faq-list details[open],
.product-detail-page .product-purchase-card__support:hover {
    background: var(--product-glass-bg-raised) !important;
    border-color: var(--product-glass-border-strong) !important;
    box-shadow: 0 14px 34px rgba(5, 8, 18, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.product-detail-page .featured-product__media-frame,
.product-detail-page .featured-product__thumbnail-frame,
.product-detail-page .featured-product__media,
.product-detail-page .detail-gallery__stage,
.product-detail-page .detail-gallery__thumb,
.product-detail-page .responsive-video,
.product-detail-page .webgl-preview iframe {
    background-color: rgba(6, 10, 20, 0.48) !important;
    border-color: rgba(126, 230, 222, 0.14) !important;
}
