/* ==========================================================================
   YUBEEN OPTICAL PRODUCT DETAIL TEMPLATE
   Consolidated shared stylesheet — Site Assets v0.27.14

   Source order is preserved from Sections 00–09. Page-specific content and
   media configuration remain in Elementor markup through HTML/data attributes.
   ========================================================================== */


/* ===== SECTION 00 / ORIGINAL STYLE BLOCK 1 ===== */
/*
 * This selector also applies before Section 00 adds its loading class.
 * That prevents the first browser paint from exposing placeholder text.
 */
html:not(.yb-product-data-ready):not(.yb-product-data-error)
[data-yb-model-name],
html:not(.yb-product-data-ready):not(.yb-product-data-error)
[data-yb-model-primary],
html:not(.yb-product-data-ready):not(.yb-product-data-error)
[data-yb-model-secondary],
html:not(.yb-product-data-ready):not(.yb-product-data-error)
[data-yb-field] {
    visibility: hidden !important;
}

/* Reveal successfully bound model identity and specification values. */
html.yb-product-data-ready
[data-yb-model-name],
html.yb-product-data-ready
[data-yb-model-primary],
html.yb-product-data-ready
[data-yb-model-secondary],
html.yb-product-data-ready
[data-yb-field] {
    visibility: visible !important;
}

/* A field not returned by the product API must remain invisible. */
html.yb-product-data-ready
[data-yb-field-missing="true"] {
    visibility: hidden !important;
}

/*
 * On an API failure, never expose technical placeholders. Static page copy,
 * images, controls and navigation links remain available.
 */
html.yb-product-data-error
[data-yb-model-name],
html.yb-product-data-error
[data-yb-model-primary],
html.yb-product-data-error
[data-yb-model-secondary],
html.yb-product-data-error
[data-yb-field] {
    visibility: hidden !important;
}



/* ===== SECTION 00 / ORIGINAL STYLE BLOCK 2 ===== */
/* ==========================================================================
   00. SHARED PAGE TOKENS
   These variables establish the visual direction for the ED3 page.
   Later screens can reuse the same values.
   ========================================================================== */

.yb-ed3-page {
    --ed3-page-bg: #f5f5f7;
    --ed3-surface: rgba(255, 255, 255, 0.82);
    --ed3-surface-solid: #ffffff;
    --ed3-ink: #1d1d1f;
    --ed3-ink-soft: #424245;
    --ed3-muted: #6e6e73;
    --ed3-faint: #8e8e93;
    --ed3-line: rgba(29, 29, 31, 0.10);
    --ed3-line-soft: rgba(29, 29, 31, 0.065);
    --ed3-red: #e31e24;
    --ed3-red-hover: #c9161d;
    --ed3-radius-small: 12px;
    --ed3-radius-medium: 18px;
    --ed3-radius-large: 28px;
    --ed3-shadow-soft:
        0 14px 40px rgba(22, 22, 24, 0.07);
    --ed3-font:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    background: var(--ed3-page-bg);
    color: var(--ed3-ink);
    font-family: var(--ed3-font);
}

:root {
    --ed3-sticky-top: 0px;
    --ed3-anchor-offset: 118px;
}

/* ==========================================================================
   01. ELEMENTOR STICKY SHELL
   The Elementor parent container performs the actual sticky behavior.
   ========================================================================== */

.ed3-product-page,
.ed3-product-page > .e-con-inner {
    overflow: visible !important;
}

.ed3-product-nav-sticky {
    position: sticky !important;
    top: var(--ed3-sticky-top, 0px) !important;
    z-index: 9999 !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    align-self: stretch !important;
    overflow: visible !important;
    background: transparent !important;
}

.ed3-product-nav-sticky > .e-con-inner,
.ed3-product-nav-sticky .elementor-widget-html,
.ed3-product-nav-sticky .elementor-widget-html > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ed3-product-nav-sticky a {
    text-decoration: none;
}

/* ==========================================================================
   02. NAVIGATION SURFACE
   ========================================================================== */

.yb-ed3nav,
.yb-ed3nav * {
    box-sizing: border-box;
}

.yb-ed3nav {
    position: relative;
    width: 100%;
    min-height: 54px;

    border-top: 1px solid rgba(255, 255, 255, 0.58);
    border-bottom: 1px solid rgba(29, 29, 31, 0.085);

    background: rgba(249, 249, 251, 0.83);
    color: #1d1d1f;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    backdrop-filter: blur(22px) saturate(150%);
    -webkit-backdrop-filter: blur(22px) saturate(150%);

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.yb-ed3nav.is-stuck {
    background: rgba(249, 249, 251, 0.94);
    border-bottom-color: rgba(29, 29, 31, 0.11);
    box-shadow:
        0 10px 30px rgba(22, 22, 24, 0.075);
}

.yb-ed3nav__inner {
    width: min(1440px, calc(100% - 64px));
    min-height: 54px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 210px minmax(0, 1fr) 104px;
    align-items: center;
    gap: 24px;
}

/* ==========================================================================
   03. MODEL IDENTITY
   ========================================================================== */

.yb-ed3nav__model {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: 7px;

    color: #1d1d1f;
    white-space: nowrap;
}

.yb-ed3nav__model span {
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.015em;
}

.yb-ed3nav__model small {
    color: #86868b;
    font-size: 9px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

/* ==========================================================================
   04. SECTION LINKS
   ========================================================================== */

.yb-ed3nav__links {
    display: flex;
    min-width: 0;
    height: 54px;
    align-items: stretch;
    justify-content: center;
    gap: clamp(18px, 2vw, 34px);

    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.yb-ed3nav__links::-webkit-scrollbar {
    display: none;
}

.yb-ed3nav__links a {
    display: inline-flex;
    position: relative;
    flex: 0 0 auto;
    align-items: center;

    color: #5f6065;
    font-size: 11px;
    font-weight: 590;
    line-height: 1;
    letter-spacing: -0.005em;
    white-space: nowrap;

    transition:
        color 150ms ease,
        opacity 150ms ease;
}

.yb-ed3nav__links a::after {
    position: absolute;
    right: 18%;
    bottom: -1px;
    left: 18%;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: #e31e24;

    content: "";
    opacity: 0;
    transform: scaleX(0.45);
    transform-origin: center;

    transition:
        opacity 150ms ease,
        transform 180ms ease;
}

.yb-ed3nav__links a:hover,
.yb-ed3nav__links a:focus-visible {
    color: #1d1d1f;
}

.yb-ed3nav__links a:focus-visible {
    outline: 2px solid rgba(227, 30, 36, 0.28);
    outline-offset: -5px;
    border-radius: 8px;
}

.yb-ed3nav__links a.is-active {
    color: #1d1d1f;
    font-weight: 680;
}

.yb-ed3nav__links a.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

/* ==========================================================================
   05. INQUIRY ACTION
   ========================================================================== */

.yb-ed3nav__inquiry {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;

    border: 0;
    border-radius: 999px;
    background: #1d1d1f;
    color: #ffffff;

    font-size: 9.5px;
    font-weight: 680;
    line-height: 1;
    letter-spacing: 0.01em;

    box-shadow:
        0 4px 12px rgba(29, 29, 31, 0.10);

    transition:
        background-color 150ms ease,
        transform 150ms ease,
        box-shadow 150ms ease;
}

.yb-ed3nav__inquiry span {
    font-size: 11px;
    transform: translateY(-0.5px);
}

.yb-ed3nav__inquiry:hover,
.yb-ed3nav__inquiry:focus-visible {
    background: #e31e24;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow:
        0 8px 18px rgba(227, 30, 36, 0.18);
    outline: none;
}

/* ==========================================================================
   06. ANCHOR OFFSET
   ========================================================================== */

#ed3-overview,
#ed3-advantages,
#ed3-technology,
#ed3-optical-advantages,
#ed3-gallery,
#ed3-specifications,
#ed3-accessories,
#ed3-downloads,
#ed3-inquiry,
#product-inquiry {
    scroll-margin-top:
        var(--ed3-anchor-offset, 118px) !important;
}

/* ==========================================================================
   07. RESPONSIVE
   ========================================================================== */

@media (max-width: 1180px) {
    .yb-ed3nav__inner {
        width: min(100% - 40px, 1440px);
        grid-template-columns: 180px minmax(0, 1fr) 96px;
        gap: 16px;
    }

    .yb-ed3nav__links {
        justify-content: flex-start;
        gap: 25px;
    }
}

@media (max-width: 820px) {
    .yb-ed3nav {
        min-height: 50px;
    }

    .yb-ed3nav__inner {
        width: 100%;
        min-height: 50px;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        padding: 0 14px;
    }

    .yb-ed3nav__model {
        grid-column: 1;
        min-height: 50px;
    }

    .yb-ed3nav__inquiry {
        grid-column: 2;
        min-height: 31px;
    }

    .yb-ed3nav__links {
        grid-column: 1 / -1;
        grid-row: 2;
        width: calc(100% + 28px);
        height: 42px;
        margin-left: -14px;
        padding: 0 14px;
        justify-content: flex-start;
        gap: 24px;

        border-top: 1px solid rgba(29, 29, 31, 0.055);
    }

    .yb-ed3nav__links a {
        font-size: 10.5px;
    }
}

@media (max-width: 480px) {
    .yb-ed3nav__model {
        gap: 5px;
    }

    .yb-ed3nav__model span {
        font-size: 11.5px;
    }

    .yb-ed3nav__model small {
        font-size: 7.5px;
    }

    .yb-ed3nav__inquiry {
        padding: 0 12px;
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3nav *,
    .yb-ed3nav *::before,
    .yb-ed3nav *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}


/* ========================================================================== 
   v2.6 MOBILE: MINI iPHONE-STYLE GLASS TOP BUTTON

   Important design logic:
   - The button keeps a 44 px transparent touch target for usability.
   - Only the inner 30 px glass surface is visible, so it does not dominate
     product photography or large typography.
   - The border, blur and shadow are deliberately restrained.
   - The desktop navigation remains unchanged above 900 px.
   ========================================================================== */

.yb-ed3-floating-top {
    display: none;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    font: inherit;
}

@media (max-width: 900px) {
    /*
       Remove all mobile sticky-bar height. The floating button remains fixed
       independently of the Elementor container.
    */
    .ed3-product-nav-sticky,
    .ed3-product-nav-sticky > .e-con-inner,
    .ed3-product-nav-sticky .elementor-widget-html,
    .ed3-product-nav-sticky .elementor-widget-html > .elementor-widget-container {
        position: static !important;
        top: auto !important;
        z-index: auto !important;

        width: 100% !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Remove model name, section links and Inquiry bar on tablet/mobile. */
    .ed3-product-nav-sticky .yb-ed3nav {
        display: none !important;
    }

    /*
       Transparent 44 × 44 px touch target.
       The visible glass surface is the smaller child element below.
    */
    .yb-ed3-floating-top {
        position: fixed;
        right: calc(8px + env(safe-area-inset-right, 0px));
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        z-index: 9998;

        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        padding: 0;
        margin: 0;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border: 0;
        border-radius: 15px;
        background: transparent;
        box-shadow: none;
        color: rgba(29, 29, 31, 0.72);

        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate3d(0, 7px, 0) scale(0.92);

        transition:
            opacity 180ms ease,
            visibility 180ms ease,
            transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    /*
       The visible control. This is intentionally much smaller than the
       clickable area, similar to compact iOS overlay controls.
    */
    .yb-ed3-floating-top__icon {
        width: 30px;
        height: 30px;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border: 1px solid rgba(255, 255, 255, 0.58);
        border-radius: 11px;

        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, 0.66),
                rgba(241, 241, 244, 0.48)
            );

        box-shadow:
            0 4px 13px rgba(20, 22, 28, 0.085),
            0 1px 3px rgba(20, 22, 28, 0.045),
            inset 0 1px 0 rgba(255, 255, 255, 0.68);

        backdrop-filter: blur(16px) saturate(150%);
        -webkit-backdrop-filter: blur(16px) saturate(150%);

        pointer-events: none;

        transition:
            transform 150ms ease,
            background 150ms ease,
            border-color 150ms ease,
            box-shadow 150ms ease;
    }

    .yb-ed3-floating-top__icon svg {
        width: 13px;
        height: 13px;
        display: block;
        overflow: visible;
    }

    .yb-ed3-floating-top__icon path {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
        vector-effect: non-scaling-stroke;
    }

    .yb-ed3-floating-top.is-visible {
        opacity: 0.82;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0) scale(1);
    }

    .yb-ed3-floating-top:active .yb-ed3-floating-top__icon {
        transform: scale(0.91);
        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, 0.78),
                rgba(237, 237, 241, 0.58)
            );
        box-shadow:
            0 2px 7px rgba(20, 22, 28, 0.075),
            inset 0 1px 0 rgba(255, 255, 255, 0.72);
    }

    .yb-ed3-floating-top:focus-visible {
        outline: none;
    }

    .yb-ed3-floating-top:focus-visible .yb-ed3-floating-top__icon {
        border-color: rgba(0, 122, 255, 0.30);
        box-shadow:
            0 0 0 3px rgba(0, 122, 255, 0.12),
            0 4px 13px rgba(20, 22, 28, 0.085),
            inset 0 1px 0 rgba(255, 255, 255, 0.68);
    }

    @media (hover: hover) and (pointer: fine) {
        .yb-ed3-floating-top:hover {
            opacity: 1;
        }

        .yb-ed3-floating-top:hover .yb-ed3-floating-top__icon {
            border-color: rgba(255, 255, 255, 0.76);
            background:
                linear-gradient(
                    145deg,
                    rgba(255, 255, 255, 0.76),
                    rgba(245, 245, 247, 0.58)
                );
            box-shadow:
                0 6px 16px rgba(20, 22, 28, 0.095),
                inset 0 1px 0 rgba(255, 255, 255, 0.76);
            transform: translateY(-1px);
        }
    }

    /* With no mobile secondary bar, anchors only need site-header space. */
    :root {
        --ed3-anchor-offset: 72px;
    }
}

@media (max-width: 420px) {
    .yb-ed3-floating-top {
        right: calc(7px + env(safe-area-inset-right, 0px));
        bottom: calc(8px + env(safe-area-inset-bottom, 0px));

        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
    }

    .yb-ed3-floating-top__icon {
        width: 28px;
        height: 28px;
        border-radius: 10px;
    }

    .yb-ed3-floating-top__icon svg {
        width: 12px;
        height: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-floating-top,
    .yb-ed3-floating-top__icon {
        transition: none;
    }
}



/* ===== SECTION 01 / ORIGINAL STYLE BLOCK 1 ===== */
/* ==========================================================================
   01. ROOT AND PAGE RHYTHM
   ========================================================================== */

#ed3-overview {
    scroll-margin-top:
        var(--ed3-anchor-offset, 118px);
}

.yb-ed3h5,
.yb-ed3h5 * {
    box-sizing: border-box;
}

.yb-ed3h5 {
    --h5-ink: #1d1d1f;
    --h5-ink-soft: #424245;
    --h5-muted: #6e6e73;
    --h5-faint: #86868b;
    --h5-line: rgba(29, 29, 31, 0.10);
    --h5-line-soft: rgba(29, 29, 31, 0.065);
    --h5-red: #e31e24;
    --h5-red-hover: #c9161d;
    --h5-surface: rgba(255, 255, 255, 0.68);
    --h5-font:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 78% 18%,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.48) 25%,
            transparent 52%
        ),
        linear-gradient(
            135deg,
            #f7f7f9 0%,
            #f1f1f4 48%,
            #e9e9ed 100%
        );

    color: var(--h5-ink);
    font-family: var(--h5-font);
}

.yb-ed3h5 button {
    font: inherit;
    -webkit-tap-highlight-color:
        transparent;
}

.yb-ed3h5__ambient {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;

    background:
        radial-gradient(
            ellipse at 71% 74%,
            rgba(91, 96, 108, 0.14),
            transparent 42%
        );
}

.yb-ed3h5__ambient::before {
    position: absolute;
    top: -25%;
    right: 10%;
    width: 420px;
    height: 420px;
    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.90) 0%,
            rgba(255, 255, 255, 0.18) 48%,
            transparent 72%
        );

    content: "";
    filter: blur(8px);
}

/* ==========================================================================
   02. LAYOUT
   ========================================================================== */

.yb-ed3h5__inner {
    position: relative;
    width: min(1440px, calc(100% - 64px));
    min-height: clamp(590px, 42vw, 690px);
    margin: 0 auto;

    display: grid;
    grid-template-columns:
        minmax(350px, 0.78fr)
        minmax(0, 1.42fr);
    align-items: stretch;
}

/* ==========================================================================
   03. LEFT CONTENT
   ========================================================================== */

.yb-ed3h5__content {
    position: relative;
    z-index: 12;
    max-width: 500px;
    padding:
        clamp(62px, 5.6vw, 92px)
        0
        clamp(52px, 4.5vw, 72px);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.yb-ed3h5__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;

    color: #6e6e73;
    font-size: 10px;
    font-weight: 680;
    line-height: 1;
    letter-spacing: 0.105em;
    text-transform: uppercase;
}

.yb-ed3h5__eyebrow span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--h5-red);
    box-shadow:
        0 0 0 4px rgba(227, 30, 36, 0.08);
}

.yb-ed3h5__title {
    margin: 0;
    color: #161617;

    font-size:
        clamp(
            52px,
            5.1vw,
            78px
        );
    font-weight: 735;
    line-height: 0.91;
    letter-spacing: -0.065em;
}

.yb-ed3h5__title span {
    display: block;
}

.yb-ed3h5__title span:last-child {
    margin-top: 6px;
    color: #6e6e73;
    font-size: 0.69em;
    font-weight: 650;
    letter-spacing: -0.045em;
}

.yb-ed3h5__positioning {
    margin: 22px 0 0;
    color: #2b2b2e;

    font-size:
        clamp(
            14px,
            1.05vw,
            17px
        );
    font-weight: 680;
    line-height: 1.34;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.yb-ed3h5__description {
    max-width: 430px;
    margin: 17px 0 0;

    color: var(--h5-muted);
    font-size: 14px;
    line-height: 1.62;
}

/* ==========================================================================
   04. KEY SPECIFICATIONS
   ========================================================================== */

.yb-ed3h5__specs {
    width: min(100%, 488px);
    margin: 27px 0 0;
    padding: 6px;

    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 16px;

    background: rgba(255, 255, 255, 0.40);
    box-shadow:
        0 10px 28px rgba(27, 27, 29, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.76);

    backdrop-filter: blur(20px) saturate(130%);
    -webkit-backdrop-filter:
        blur(20px) saturate(130%);
}

.yb-ed3h5__specs > div {
    min-width: 0;
    padding: 10px 12px;
}

.yb-ed3h5__specs > div + div {
    border-left: 1px solid var(--h5-line-soft);
}

.yb-ed3h5__specs dd {
    margin: 0;
    color: #1d1d1f;

    font-size: 15px;
    font-weight: 710;
    line-height: 1.08;
    letter-spacing: -0.025em;
    white-space: nowrap;
}

.yb-ed3h5__specs dt {
    margin-top: 7px;
    color: #86868b;

    font-size: 8px;
    font-weight: 650;
    line-height: 1.28;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}


/*
 * Dynamic values can be longer than the original ED3 hard-coded labels.
 * Allow controlled wrapping so values such as "First Focal Plane" remain
 * readable without overflowing the glass specification bar.
 */
.yb-ed3h5__specs dd {
    min-height: 1.1em;
    overflow-wrap: anywhere;
}

.yb-ed3h5__spec-value--long {
    font-size: 12.2px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    text-wrap: balance;
}

/*
 * Loading and error states prevent stale technical values from being shown.
 * Marketing copy and product imagery remain visible if the API is unavailable.
 */
.yb-ed3h5[data-yb-product-data-state="loading"]
[data-yb-model-primary],
.yb-ed3h5[data-yb-product-data-state="loading"]
[data-yb-model-secondary],
.yb-ed3h5[data-yb-product-data-state="loading"]
[data-yb-field] {
    opacity: 0.48;
}

.yb-ed3h5[data-yb-product-data-state="ready"]
[data-yb-model-primary],
.yb-ed3h5[data-yb-product-data-state="ready"]
[data-yb-model-secondary],
.yb-ed3h5[data-yb-product-data-state="ready"]
[data-yb-field] {
    opacity: 1;
    transition: opacity 180ms ease;
}

.yb-ed3h5[data-yb-product-data-state="error"]
.yb-ed3h5__specs,
.yb-ed3h5[data-yb-product-data-state="error"]
.yb-ed3h5__positioning {
    display: none;
}

/* ==========================================================================
   06. PRODUCT VISUAL
   ========================================================================== */

.yb-ed3h5__visual {
    position: relative;
    z-index: 3;
    min-width: 0;
    min-height: 100%;
    perspective: 1300px;
}

.yb-ed3h5__background-model {
    position: absolute;
    top: 50%;
    left: 48%;
    z-index: 0;

    color: rgba(116, 116, 121, 0.075);

    font-size:
        clamp(
            230px,
            22vw,
            390px
        );
    font-weight: 740;
    line-height: 0.8;
    letter-spacing: -0.105em;
    white-space: nowrap;

    pointer-events: none;
    user-select: none;

    transform: translate(-50%, -50%);
}

.yb-ed3h5__halo {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;

    width: min(58%, 520px);
    aspect-ratio: 1;
    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.78) 0%,
            rgba(255, 255, 255, 0.34) 34%,
            rgba(186, 188, 195, 0.15) 59%,
            transparent 74%
        );

    filter: blur(6px);
    pointer-events: none;

    transform: translate(-50%, -50%);
}

.yb-ed3h5__stage {
    position: absolute;
    inset: 34px 124px 32px 0;
    z-index: 5;
    isolation: isolate;
    transform-style: preserve-3d;
}

.yb-ed3h5__stage::after {
    position: absolute;
    left: 17%;
    bottom: 11%;
    z-index: 0;

    width: 68%;
    height: 8%;
    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(25, 25, 28, 0.26) 0%,
            rgba(25, 25, 28, 0.12) 42%,
            transparent 74%
        );

    content: "";
    filter: blur(16px);
    opacity: 0.72;
    pointer-events: none;

    transform: scaleX(1.08);
    transition: opacity 220ms ease;
}

.yb-ed3h5__visual:not([data-active-view="0"])
.yb-ed3h5__stage::after {
    opacity: 0.18;
}

.yb-ed3h5__view {
    position: absolute;
    inset: 0;
    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 1;

    opacity: 0;
    visibility: hidden;

    transform:
        translate3d(24px, 0, 0)
        scale(0.97);

    transition:
        opacity 430ms ease,
        visibility 430ms ease,
        transform 680ms
            cubic-bezier(
                0.22,
                1,
                0.36,
                1
            );
}

.yb-ed3h5__view.is-active {
    opacity: 1;
    visibility: visible;

    transform:
        translate3d(0, 0, 0)
        scale(1);
}

.yb-ed3h5__view img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;

    transition:
        transform 180ms ease-out,
        filter 350ms ease;
}

.yb-ed3h5__view--main img {
    width: 97%;
    height: 97%;
    mix-blend-mode: multiply;

    filter:
        contrast(1.025)
        brightness(0.985)
        drop-shadow(
            0 28px 24px
            rgba(29, 29, 31, 0.18)
        );

    transform: translate3d(-4px, 5px, 0);
}

.yb-ed3h5__view--detail,
.yb-ed3h5__view--reticle {
    padding: 48px 54px;
}

.yb-ed3h5__view--detail img {
    width: min(86%, 760px);
    height: 86%;
    object-fit: cover;
    object-position: center;

    border-radius: 24px;
    box-shadow:
        0 26px 70px rgba(24, 24, 26, 0.17);
}

.yb-ed3h5__view--reticle img {
    width: min(74%, 610px);
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center;

    border: 8px solid rgba(255, 255, 255, 0.68);
    border-radius: 50%;
    box-shadow:
        0 28px 72px rgba(24, 24, 26, 0.18);
}

/* ==========================================================================
   07. VIEW SELECTOR
   ========================================================================== */

.yb-ed3h5__selector {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 20;

    width: 102px;

    display: flex;
    flex-direction: column;
    gap: 6px;

    transform: translateY(-50%);
}

.yb-ed3h5__selector button {
    appearance: none;
    -webkit-appearance: none;

    min-height: 101px;
    margin: 0;
    padding: 7px;

    display: grid;
    grid-template-rows:
        66px auto;
    gap: 5px;

    position: relative;

    border: 1px solid rgba(29, 29, 31, 0.075);
    border-radius: 17px;

    background: rgba(255, 255, 255, 0.55);
    color: #5c5c61;

    cursor: pointer;

    box-shadow:
        0 10px 26px rgba(24, 24, 26, 0.055);

    backdrop-filter: blur(16px) saturate(130%);
    -webkit-backdrop-filter:
        blur(16px) saturate(130%);

    transition:
        background-color 170ms ease,
        border-color 170ms ease,
        color 170ms ease,
        transform 170ms ease,
        box-shadow 170ms ease;
}

.yb-ed3h5__selector button:hover,
.yb-ed3h5__selector button:focus-visible,
.yb-ed3h5__selector button.is-active {
    border-color: rgba(29, 29, 31, 0.12);
    background: rgba(255, 255, 255, 0.90);
    color: #1d1d1f;

    transform: translateX(-2px);

    box-shadow:
        0 12px 30px rgba(24, 24, 26, 0.075);
    outline: none;
}

.yb-ed3h5__selector button::after {
    position: absolute;
    right: 14px;
    bottom: -1px;
    left: 14px;

    height: 2px;
    border-radius: 999px 999px 0 0;
    background: var(--h5-red);

    content: "";
    opacity: 0;
    transform: scaleX(0.45);
    transform-origin: center;

    transition:
        opacity 160ms ease,
        transform 180ms ease;
}

.yb-ed3h5__selector button.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.yb-ed3h5__thumbnail {
    display: flex;
    width: 100%;
    height: 66px;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    border-radius: 12px;
    background: rgba(245, 245, 247, 0.72);
}

.yb-ed3h5__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.yb-ed3h5__selector
button:nth-child(2)
.yb-ed3h5__thumbnail img,
.yb-ed3h5__selector
button:nth-child(3)
.yb-ed3h5__thumbnail img {
    object-fit: cover;
    mix-blend-mode: normal;
}

.yb-ed3h5__selector
button:first-child
.yb-ed3h5__thumbnail img {
    transform: scale(1.12);
}

.yb-ed3h5__selector-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 0 2px;
}

.yb-ed3h5__selector-copy small {
    color: #a1a1a6;
    font-size: 7px;
    font-weight: 650;
    letter-spacing: 0.055em;
}

.yb-ed3h5__selector-copy strong {
    color: currentColor;
    font-size: 8px;
    font-weight: 670;
    line-height: 1;
    letter-spacing: 0.005em;
}

.yb-ed3h5__selector
button.is-active
.yb-ed3h5__selector-copy small {
    color: var(--h5-red);
}

/* ==========================================================================
   08. INDICATOR
   ========================================================================== */

.yb-ed3h5__indicator {
    position: absolute;
    right: 41px;
    bottom: 26px;
    z-index: 20;

    display: flex;
    gap: 5px;
}

.yb-ed3h5__indicator span {
    width: 15px;
    height: 2px;
    border-radius: 999px;
    background: rgba(29, 29, 31, 0.16);

    transition:
        width 180ms ease,
        background-color 180ms ease;
}

.yb-ed3h5__indicator span.is-active {
    width: 28px;
    background: var(--h5-red);
}

/* ==========================================================================
   09. RESPONSIVE
   ========================================================================== */

@media (max-width: 1240px) {
    .yb-ed3h5__inner {
        width: min(1180px, calc(100% - 44px));
        grid-template-columns:
            minmax(330px, 0.82fr)
            minmax(0, 1.28fr);
    }

    .yb-ed3h5__content {
        max-width: 465px;
    }

    .yb-ed3h5__stage {
        right: 108px;
    }

    .yb-ed3h5__selector {
        width: 94px;
    }

    .yb-ed3h5__selector button {
        min-height: 94px;
        grid-template-rows:
            60px auto;
    }

    .yb-ed3h5__thumbnail {
        height: 60px;
    }
}

@media (max-width: 980px) {
    .yb-ed3h5__inner {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .yb-ed3h5__content {
        max-width: 680px;
        padding:
            60px 0 24px;
    }

    .yb-ed3h5__visual {
        min-height: 500px;
    }

    .yb-ed3h5__background-model {
        left: 46%;
    }
}

@media (max-width: 680px) {
    .yb-ed3h5__inner {
        width: calc(100% - 28px);
    }

    .yb-ed3h5__content {
        padding:
            44px 0 18px;
    }

    .yb-ed3h5__eyebrow {
        font-size: 8.5px;
    }

    .yb-ed3h5__title {
        font-size:
            clamp(
                46px,
                14.5vw,
                64px
            );
    }

    .yb-ed3h5__positioning {
        margin-top: 18px;
        font-size: 13px;
    }

    .yb-ed3h5__description {
        font-size: 13px;
    }

    .yb-ed3h5__specs {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        border-radius: 16px;
    }

    .yb-ed3h5__specs > div:nth-child(3) {
        border-left: 0;
    }

    .yb-ed3h5__specs > div:nth-child(n + 3) {
        border-top: 1px solid var(--h5-line-soft);
    }

    .yb-ed3h5__visual {
        min-height: 430px;
        margin: 0 -14px;
    }

    .yb-ed3h5__stage {
        inset:
            24px
            76px
            48px
            -4px;
    }

    .yb-ed3h5__background-model {
        top: 46%;
        left: 42%;
        font-size:
            clamp(
                165px,
                58vw,
                245px
            );
    }

    .yb-ed3h5__halo {
        left: 43%;
        width: 78%;
    }

    .yb-ed3h5__selector {
        right: 2px;
        width: 72px;
        gap: 6px;
    }

    .yb-ed3h5__selector button {
        min-height: 78px;
        padding: 5px;
        grid-template-rows:
            51px auto;
        border-radius: 13px;
    }

    .yb-ed3h5__thumbnail {
        height: 51px;
        border-radius: 9px;
    }

    .yb-ed3h5__selector-copy small {
        display: none;
    }

    .yb-ed3h5__selector-copy {
        justify-content: center;
    }

    .yb-ed3h5__selector-copy strong {
        font-size: 6.5px;
    }

    .yb-ed3h5__indicator {
        right: 22px;
        bottom: 18px;
    }

    .yb-ed3h5__view--detail,
    .yb-ed3h5__view--reticle {
        padding: 35px 16px;
    }

    .yb-ed3h5__view--reticle img {
        width: 82%;
        border-width: 5px;
    }
}

@media (max-width: 420px) {

    .yb-ed3h5__specs dd {
        font-size: 14px;
    }

    .yb-ed3h5__visual {
        min-height: 390px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3h5 *,
    .yb-ed3h5 *::before,
    .yb-ed3h5 *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}



/* ===== SECTION 01 / ORIGINAL STYLE BLOCK 2 ===== */
/* ==========================================================
   02. 参数栏：更轻、更薄
   ========================================================== */

.yb-ed3h5 .yb-ed3h5__specs {
    margin-top: 25px;
    padding: 5px;

    border-color: rgba(255, 255, 255, 0.58);
    border-radius: 15px;

    background: rgba(255, 255, 255, 0.32);

    box-shadow:
        0 7px 20px rgba(27, 27, 29, 0.035),
        inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.yb-ed3h5 .yb-ed3h5__specs > div {
    padding-top: 8px;
    padding-bottom: 8px;
}

.yb-ed3h5 .yb-ed3h5__specs > div + div {
    border-left-color: rgba(29, 29, 31, 0.045);
}

.yb-ed3h5 .yb-ed3h5__specs dd {
    font-size: 14.5px;
}

.yb-ed3h5 .yb-ed3h5__specs dt {
    margin-top: 6px;
    color: #8e8e93;
    font-size: 8px;
}


/* ==========================================================
   03. 右侧缩略图：增加右侧留白
   ========================================================== */

.yb-ed3h5 .yb-ed3h5__selector {
    right: 12px;
}

.yb-ed3h5 .yb-ed3h5__indicator {
    right: 48px;
}


/* 中等尺寸桌面和平板 */

@media (max-width: 1240px) {
    .yb-ed3h5 .yb-ed3h5__selector {
        right: 10px;
    }

    .yb-ed3h5 .yb-ed3h5__indicator {
        right: 42px;
    }
}


/* 手机 */

@media (max-width: 680px) {
    .yb-ed3h5 .yb-ed3h5__selector {
        right: 8px;
    }

    .yb-ed3h5 .yb-ed3h5__indicator {
        right: 24px;
    }
}



/* ===== SECTION 02 / ORIGINAL STYLE BLOCK 1 ===== */
/* ==========================================================================
   01. ROOT
   ========================================================================== */

#ed3-advantages {
    scroll-margin-top:
        var(--ed3-anchor-offset, 118px);
}

.yb-ed3-field-v4,
.yb-ed3-field-v4 * {
    box-sizing: border-box;
}

.yb-ed3-field-v4 {
    --field-red: #e31e24;
    --field-ink: #f5f5f7;
    --field-muted: rgba(245, 245, 247, 0.62);
    --field-faint: rgba(245, 245, 247, 0.40);
    --field-line: rgba(255, 255, 255, 0.10);
    --field-line-soft: rgba(255, 255, 255, 0.065);
    --field-surface: #0b0c0f;
    --field-font:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;

    padding:
        clamp(78px, 7vw, 112px)
        0
        clamp(84px, 7.5vw, 120px);

    background:
        radial-gradient(
            circle at 76% 8%,
            rgba(79, 85, 99, 0.16),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #0d0f13 0%,
            #090a0d 100%
        );

    color: var(--field-ink);
    font-family: var(--field-font);
}

.yb-ed3-field-v4::before {
    position: absolute;
    inset: 0;
    z-index: -1;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.022) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px
        );

    background-size:
        88px 88px;

    content: "";
    opacity: 0.28;
    pointer-events: none;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.72),
            transparent 62%
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.72),
            transparent 62%
        );
}

.yb-ed3-field-v4 button {
    font: inherit;
    -webkit-tap-highlight-color:
        transparent;
}

.yb-ed3-field-v4__inner {
    width: min(1440px, calc(100% - 64px));
    margin: 0 auto;
}

/* ==========================================================================
   02. HEADING
   ========================================================================== */

.yb-ed3-field-v4__header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    align-items: end;
    gap: 36px;

    margin-bottom:
        clamp(34px, 3.4vw, 52px);
}

.yb-ed3-field-v4__heading {
    max-width: 820px;
}

.yb-ed3-field-v4__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 17px;

    color: rgba(245, 245, 247, 0.58);
    font-size: 10px;
    font-weight: 660;
    line-height: 1;
    letter-spacing: 0.105em;
    text-transform: uppercase;
}

.yb-ed3-field-v4__eyebrow span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--field-red);
    box-shadow:
        0 0 0 4px rgba(227, 30, 36, 0.10);
}

.yb-ed3-field-v4__heading h2 {
    max-width: 760px;
    margin: 0;

    color: #f5f5f7;
    font-size:
        clamp(
            42px,
            4.5vw,
            68px
        );
    font-weight: 680;
    line-height: 0.98;
    letter-spacing: -0.052em;
}

.yb-ed3-field-v4__heading h2 em {
    display: block;
    margin-top: 5px;
    color: rgba(245, 245, 247, 0.55);
    font-style: normal;
    font-weight: 560;
}

.yb-ed3-field-v4__heading p {
    max-width: 620px;
    margin: 20px 0 0;

    color: var(--field-muted);
    font-size: 14px;
    line-height: 1.62;
}

/* ==========================================================================
   03. CONTROLS
   ========================================================================== */

.yb-ed3-field-v4__controls {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.yb-ed3-field-v4__arrow {
    appearance: none;
    -webkit-appearance: none;

    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;

    display: grid;
    place-items: center;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.045);
    color: rgba(255, 255, 255, 0.72);

    cursor: pointer;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.yb-ed3-field-v4__arrow svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.yb-ed3-field-v4__arrow:hover,
.yb-ed3-field-v4__arrow:focus-visible {
    border-color: rgba(227, 30, 36, 0.42);
    background: rgba(227, 30, 36, 0.13);
    color: #ffffff;
    transform: translateY(-1px);
    outline: none;
}

.yb-ed3-field-v4__counter {
    min-width: 72px;

    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;

    color: rgba(245, 245, 247, 0.42);
}

.yb-ed3-field-v4__counter strong {
    color: #ffffff;
    font-size: 20px;
    font-weight: 640;
    line-height: 1;
    letter-spacing: -0.035em;
}

.yb-ed3-field-v4__counter span {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.055em;
}

/* ==========================================================================
   04. SCENARIO TRACK
   ========================================================================== */

.yb-ed3-field-v4__track {
    display: flex;
    width: 100%;
    min-height:
        clamp(
            510px,
            40vw,
            610px
        );
    gap: 10px;

    overflow: hidden;
}

.yb-ed3-field-v4__panel {
    --panel-focus-x: 50%;
    --panel-focus-y: 50%;

    position: relative;
    isolation: isolate;

    min-width: 0;
    flex: 0.92 1 0;

    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 26px;

    background: #15171b;
    color: #ffffff;

    cursor: pointer;
    outline: none;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035);

    transition:
        flex 760ms
            cubic-bezier(
                0.22,
                1,
                0.36,
                1
            ),
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

.yb-ed3-field-v4__panel.is-active {
    flex: 2.18 1 0;
    border-color: rgba(255, 255, 255, 0.16);

    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.yb-ed3-field-v4__panel:focus-visible {
    border-color: rgba(227, 30, 36, 0.62);
    box-shadow:
        0 0 0 3px rgba(227, 30, 36, 0.13);
}

.yb-ed3-field-v4__panel > img {
    position: absolute;
    inset: 0;
    z-index: -4;

    display: block;
    width: 100%;
    height: 100%;
    max-width: none;

    object-fit: cover;
    object-position:
        var(--field-image-position, 50% 50%);

    filter:
        saturate(0.84)
        contrast(1.06)
        brightness(0.68);

    transform: scale(1.035);

    transition:
        filter 620ms ease,
        transform 900ms
            cubic-bezier(
                0.22,
                1,
                0.36,
                1
            );
}

.yb-ed3-field-v4__panel.is-active > img {
    filter:
        saturate(0.96)
        contrast(1.05)
        brightness(0.84);

    transform: scale(1.01);
}

.yb-ed3-field-v4__shade {
    position: absolute;
    inset: 0;
    z-index: -3;

    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 8, 0.28) 0%,
            rgba(5, 6, 8, 0.04) 36%,
            rgba(5, 6, 8, 0.18) 57%,
            rgba(5, 6, 8, 0.88) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 6, 8, 0.42),
            transparent 54%
        );

    transition:
        background 500ms ease;
}

.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__shade {
    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 8, 0.22) 0%,
            rgba(5, 6, 8, 0.02) 38%,
            rgba(5, 6, 8, 0.13) 58%,
            rgba(5, 6, 8, 0.88) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 6, 8, 0.34),
            transparent 62%
        );
}

/* ==========================================================================
   05. PANEL LABELS
   ========================================================================== */

.yb-ed3-field-v4__topline {
    position: absolute;
    top: 22px;
    right: 22px;
    left: 22px;
    z-index: 4;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.yb-ed3-field-v4__topline span {
    color: var(--field-red);
    font-size: 10px;
    font-weight: 720;
    letter-spacing: 0.055em;
}

.yb-ed3-field-v4__topline small {
    min-height: 26px;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;

    background: rgba(10, 11, 14, 0.34);
    color: rgba(255, 255, 255, 0.68);

    font-size: 7.5px;
    font-weight: 650;
    letter-spacing: 0.075em;
    text-transform: uppercase;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.yb-ed3-field-v4__body {
    position: absolute;
    right: 24px;
    bottom: 26px;
    left: 24px;
    z-index: 5;
}

.yb-ed3-field-v4__metric {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 17px;

    color: rgba(255, 255, 255, 0.54);
}

.yb-ed3-field-v4__metric strong {
    color: #ffffff;
    font-size: 13px;
    font-weight: 680;
    letter-spacing: -0.01em;
}

.yb-ed3-field-v4__metric span {
    font-size: 7px;
    font-weight: 650;
    letter-spacing: 0.065em;
    text-transform: uppercase;
}

.yb-ed3-field-v4__copy {
    max-width: 510px;
}

.yb-ed3-field-v4__copy > small {
    display: block;
    margin-bottom: 8px;

    color: rgba(255, 255, 255, 0.48);
    font-size: 8px;
    font-weight: 650;
    letter-spacing: 0.095em;
    text-transform: uppercase;
}

.yb-ed3-field-v4__copy h3 {
    margin: 0;

    color: #ffffff;
    font-size:
        clamp(
            24px,
            2.1vw,
            36px
        );
    font-weight: 620;
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.yb-ed3-field-v4__copy p {
    max-width: 490px;
    margin: 14px 0 0;

    color: rgba(255, 255, 255, 0.65);
    font-size: 12.5px;
    line-height: 1.58;

    opacity: 0;
    transform: translateY(12px);

    transition:
        opacity 360ms ease 80ms,
        transform 420ms
            cubic-bezier(
                0.22,
                1,
                0.36,
                1
            )
            80ms;
}

.yb-ed3-field-v4__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 16px;

    opacity: 0;
    transform: translateY(10px);

    transition:
        opacity 360ms ease 130ms,
        transform 420ms
            cubic-bezier(
                0.22,
                1,
                0.36,
                1
            )
            130ms;
}

.yb-ed3-field-v4__tags span {
    min-height: 27px;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;

    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.055);
    color: rgba(255, 255, 255, 0.70);

    font-size: 7.5px;
    font-weight: 610;
    letter-spacing: 0.025em;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__copy p,
.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__tags {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================================================
   06. SIMPLIFIED ACTIVE EFFECTS
   ========================================================================== */

.yb-ed3-field-v4__effect {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;

    transition: opacity 320ms ease;
}

.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__effect {
    opacity: 1;
}

/* Woodland focus */
.yb-ed3-field-v4__effect--woodland
.yb-ed3-field-v4__focus-ring,
.yb-ed3-field-v4__effect--woodland
.yb-ed3-field-v4__focus-dot {
    position: absolute;
    top: var(--field-focus-y, 50%);
    left: var(--field-focus-x, 50%);
    border-radius: 50%;

    transform: translate(-50%, -50%);
}

.yb-ed3-field-v4__effect--woodland
.yb-ed3-field-v4__focus-ring {
    width: 84px;
    height: 84px;
    border: 1px solid rgba(255, 255, 255, 0.44);
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.025);

    animation:
        ybEd3FieldFocusPulse
        3.2s
        ease-in-out
        infinite;
}

.yb-ed3-field-v4__effect--woodland
.yb-ed3-field-v4__focus-dot {
    width: 7px;
    height: 7px;
    background: var(--field-red);
    box-shadow:
        0 0 0 5px rgba(227, 30, 36, 0.13);
}

/* Precision reticle */
.yb-ed3-field-v4__effect--precision
.yb-ed3-field-v4__reticle-ring,
.yb-ed3-field-v4__effect--precision
.yb-ed3-field-v4__reticle-horizontal,
.yb-ed3-field-v4__effect--precision
.yb-ed3-field-v4__reticle-vertical {
    position: absolute;
    top: 44%;
    left: 61%;
    transform: translate(-50%, -50%);
}

.yb-ed3-field-v4__reticle-ring {
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 50%;
}

.yb-ed3-field-v4__reticle-horizontal {
    width: 92px;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.42) 18%,
            rgba(255, 255, 255, 0.42) 82%,
            transparent
        );
}

.yb-ed3-field-v4__reticle-vertical {
    width: 1px;
    height: 92px;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(255, 255, 255, 0.42) 18%,
            rgba(255, 255, 255, 0.42) 82%,
            transparent
        );
}

.yb-ed3-field-v4__effect--precision b {
    position: absolute;
    top: calc(44% + 38px);
    left: calc(61% + 39px);

    color: rgba(255, 255, 255, 0.82);
    font-size: 11px;
    font-weight: 650;
    letter-spacing: -0.02em;
}

.yb-ed3-field-v4__effect--precision b small {
    color: rgba(255, 255, 255, 0.48);
    font-size: 7px;
    letter-spacing: 0.04em;
}

/* Carry route */
.yb-ed3-field-v4__effect--carry svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.yb-ed3-field-v4__effect--carry path {
    fill: none;
    stroke: rgba(255, 255, 255, 0.50);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-dasharray: 9 10;

    animation:
        ybEd3FieldRoute
        8s
        linear
        infinite;
}

.yb-ed3-field-v4__effect--carry circle {
    fill: var(--field-red);
    stroke: rgba(255, 255, 255, 0.72);
    stroke-width: 2;
}

.yb-ed3-field-v4__effect--carry > span,
.yb-ed3-field-v4__sealed {
    position: absolute;
    top: 35%;
    right: 13%;

    min-height: 28px;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(8, 9, 12, 0.42);
    color: rgba(255, 255, 255, 0.76);

    font-size: 7.5px;
    font-weight: 650;
    letter-spacing: 0.075em;
    text-transform: uppercase;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.yb-ed3-field-v4__effect--carry > span i,
.yb-ed3-field-v4__sealed i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--field-red);
    box-shadow:
        0 0 0 4px rgba(227, 30, 36, 0.10);
}

/* Weather */
.yb-ed3-field-v4__rain {
    position: absolute;
    inset: -15%;

    background:
        repeating-linear-gradient(
            112deg,
            transparent 0 24px,
            rgba(255, 255, 255, 0.12) 25px,
            transparent 27px 44px
        );

    opacity: 0.42;

    animation:
        ybEd3FieldRain
        3.6s
        linear
        infinite;
}

.yb-ed3-field-v4__sealed {
    top: 29%;
    right: 13%;
}

/* ==========================================================================
   07. FOOTER
   ========================================================================== */

.yb-ed3-field-v4__footer {
    margin-top: 25px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.yb-ed3-field-v4__progress {
    width: min(420px, 42%);
    height: 2px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
}

.yb-ed3-field-v4__progress span {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: var(--field-red);

    transform-origin: left center;

    transition:
        width 520ms
            cubic-bezier(
                0.22,
                1,
                0.36,
                1
            );
}

.yb-ed3-field-v4__swipe {
    display: none;
    align-items: center;
    gap: 8px;

    color: rgba(255, 255, 255, 0.38);
    font-size: 8px;
    font-weight: 650;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.yb-ed3-field-v4__swipe svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ==========================================================================
   08. ANIMATIONS
   ========================================================================== */

@keyframes ybEd3FieldFocusPulse {
    0%,
    100% {
        opacity: 0.58;
        transform:
            translate(-50%, -50%)
            scale(0.96);
    }

    50% {
        opacity: 1;
        transform:
            translate(-50%, -50%)
            scale(1.04);
    }
}

@keyframes ybEd3FieldRoute {
    from {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: -76;
    }
}

@keyframes ybEd3FieldRain {
    from {
        transform: translate3d(0, -2%, 0);
    }

    to {
        transform: translate3d(-3%, 9%, 0);
    }
}

/* ==========================================================================
   09. RESPONSIVE
   ========================================================================== */

@media (max-width: 1180px) {
    .yb-ed3-field-v4__inner {
        width: min(100% - 44px, 1440px);
    }

    .yb-ed3-field-v4__panel {
        flex-basis: 0;
    }

    .yb-ed3-field-v4__panel.is-active {
        flex-grow: 2.35;
    }

    .yb-ed3-field-v4__body {
        right: 20px;
        bottom: 22px;
        left: 20px;
    }
}

@media (max-width: 980px) {
    .yb-ed3-field-v4 {
        padding:
            72px
            0
            84px;
    }

    .yb-ed3-field-v4__header {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 26px;
    }

    .yb-ed3-field-v4__controls {
        justify-self: start;
    }

    .yb-ed3-field-v4__track {
        width: calc(100% + 44px);
        min-height: 560px;
        margin-left: -22px;
        padding:
            0
            22px
            10px;

        gap: 12px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-padding-inline: 22px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .yb-ed3-field-v4__track::-webkit-scrollbar {
        display: none;
    }

    .yb-ed3-field-v4__panel,
    .yb-ed3-field-v4__panel.is-active {
        min-width: min(82vw, 620px);
        flex: 0 0 min(82vw, 620px);

        scroll-snap-align: center;
    }

    .yb-ed3-field-v4__panel
    .yb-ed3-field-v4__copy p,
    .yb-ed3-field-v4__panel
    .yb-ed3-field-v4__tags {
        opacity: 1;
        transform: none;
    }

    .yb-ed3-field-v4__swipe {
        display: inline-flex;
    }

    .yb-ed3-field-v4__progress {
        width: min(360px, 58%);
    }
}

@media (max-width: 620px) {
    .yb-ed3-field-v4 {
        padding:
            58px
            0
            70px;
    }

    .yb-ed3-field-v4__inner {
        width: calc(100% - 28px);
    }

    .yb-ed3-field-v4__heading h2 {
        font-size:
            clamp(
                38px,
                12vw,
                52px
            );
    }

    .yb-ed3-field-v4__heading p {
        font-size: 13px;
    }

    .yb-ed3-field-v4__arrow {
        width: 40px;
        height: 40px;
    }

    .yb-ed3-field-v4__track {
        width: calc(100% + 28px);
        min-height: 520px;
        margin-left: -14px;
        padding:
            0
            14px
            8px;

        scroll-padding-inline: 14px;
    }

    .yb-ed3-field-v4__panel,
    .yb-ed3-field-v4__panel.is-active {
        min-width: 88vw;
        flex-basis: 88vw;
        border-radius: 22px;
    }

    .yb-ed3-field-v4__topline {
        top: 18px;
        right: 18px;
        left: 18px;
    }

    .yb-ed3-field-v4__body {
        right: 18px;
        bottom: 20px;
        left: 18px;
    }

    .yb-ed3-field-v4__copy h3 {
        font-size: 29px;
    }

    .yb-ed3-field-v4__copy p {
        font-size: 12px;
    }

    .yb-ed3-field-v4__footer {
        align-items: flex-end;
    }

    .yb-ed3-field-v4__progress {
        width: 54%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-field-v4 *,
    .yb-ed3-field-v4 *::before,
    .yb-ed3-field-v4 *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* ==========================================================================
   v4.1 COMPACT / BRIGHTER / MORE DYNAMIC OVERRIDES
   These rules intentionally appear last so they override v4.0 safely.
   ========================================================================== */

/* 01. Reduce the total section height. */
.yb-ed3-field-v4 {
    padding:
        clamp(54px, 4.6vw, 72px)
        0
        clamp(58px, 5vw, 78px);
}

.yb-ed3-field-v4__header {
    margin-bottom:
        clamp(24px, 2.3vw, 34px);
}

.yb-ed3-field-v4__eyebrow {
    margin-bottom: 13px;
}

.yb-ed3-field-v4__heading h2 {
    max-width: 690px;
    font-size:
        clamp(
            40px,
            4vw,
            58px
        );
}

.yb-ed3-field-v4__heading p {
    max-width: 670px;
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.55;
}

.yb-ed3-field-v4__track {
    min-height:
        clamp(
            420px,
            31vw,
            480px
        );
}

.yb-ed3-field-v4__footer {
    margin-top: 18px;
}

/* 02. Make the images easier to read. */
.yb-ed3-field-v4__panel > img {
    filter:
        saturate(0.94)
        contrast(1.025)
        brightness(0.82);

    transform: scale(1.055);
}

.yb-ed3-field-v4__panel.is-active > img {
    filter:
        saturate(1.02)
        contrast(1.025)
        brightness(0.98);

    animation:
        ybEd3FieldImageDrift
        7.2s
        ease-in-out
        infinite
        alternate;
}

.yb-ed3-field-v4__shade {
    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 8, 0.18) 0%,
            rgba(5, 6, 8, 0.015) 38%,
            rgba(5, 6, 8, 0.10) 60%,
            rgba(5, 6, 8, 0.76) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 6, 8, 0.24),
            transparent 58%
        );
}

.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__shade {
    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 8, 0.12) 0%,
            rgba(5, 6, 8, 0.00) 40%,
            rgba(5, 6, 8, 0.07) 61%,
            rgba(5, 6, 8, 0.72) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 6, 8, 0.18),
            transparent 66%
        );
}

/* 03. Slightly tighten panel copy for the shorter cards. */
.yb-ed3-field-v4__panel {
    border-radius: 22px;
}

.yb-ed3-field-v4__panel.is-active {
    flex-grow: 2.08;
}

.yb-ed3-field-v4__topline {
    top: 18px;
    right: 18px;
    left: 18px;
}

.yb-ed3-field-v4__body {
    right: 20px;
    bottom: 20px;
    left: 20px;

    text-shadow:
        0 2px 16px rgba(0, 0, 0, 0.30);
}

.yb-ed3-field-v4__metric {
    margin-bottom: 12px;
}

.yb-ed3-field-v4__copy > small {
    margin-bottom: 6px;
}

.yb-ed3-field-v4__copy h3 {
    font-size:
        clamp(
            23px,
            1.85vw,
            32px
        );
}

.yb-ed3-field-v4__copy p {
    max-width: 530px;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.52;
}

.yb-ed3-field-v4__tags {
    margin-top: 12px;
}

.yb-ed3-field-v4__tags span {
    min-height: 25px;
}

/* 04. Strengthen, but do not overcomplicate, the active effects. */
.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__effect {
    opacity: 0.94;
}

.yb-ed3-field-v4__effect--woodland
.yb-ed3-field-v4__focus-ring {
    border-color: rgba(255, 255, 255, 0.62);
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.03),
        0 0 28px rgba(255, 255, 255, 0.08);
}

.yb-ed3-field-v4__effect--woodland
.yb-ed3-field-v4__focus-dot {
    animation:
        ybEd3FieldDotPulse
        1.75s
        ease-in-out
        infinite;
}

.yb-ed3-field-v4__reticle-ring {
    border-color: rgba(255, 255, 255, 0.66);

    animation:
        ybEd3FieldReticleLock
        2.8s
        ease-in-out
        infinite;
}

.yb-ed3-field-v4__reticle-horizontal,
.yb-ed3-field-v4__reticle-vertical {
    animation:
        ybEd3FieldReticleLines
        2.8s
        ease-in-out
        infinite;
}

.yb-ed3-field-v4__effect--carry path {
    stroke: rgba(255, 255, 255, 0.66);
    stroke-width: 1.8;

    animation-duration: 5.2s;
}

.yb-ed3-field-v4__effect--carry circle {
    animation:
        ybEd3FieldRoutePoint
        1.8s
        ease-in-out
        infinite;
}

.yb-ed3-field-v4__effect--carry circle:nth-of-type(2) {
    animation-delay: 0.3s;
}

.yb-ed3-field-v4__effect--carry circle:nth-of-type(3) {
    animation-delay: 0.6s;
}

.yb-ed3-field-v4__rain {
    opacity: 0.54;
    animation-duration: 2.55s;
}

/* 05. New restrained motion. */
@keyframes ybEd3FieldImageDrift {
    from {
        transform:
            translate3d(-0.35%, 0.15%, 0)
            scale(1.025);
    }

    to {
        transform:
            translate3d(0.65%, -0.45%, 0)
            scale(1.055);
    }
}

@keyframes ybEd3FieldDotPulse {
    0%,
    100% {
        box-shadow:
            0 0 0 4px rgba(227, 30, 36, 0.11);
        transform:
            translate(-50%, -50%)
            scale(0.94);
    }

    50% {
        box-shadow:
            0 0 0 9px rgba(227, 30, 36, 0.03);
        transform:
            translate(-50%, -50%)
            scale(1.12);
    }
}

@keyframes ybEd3FieldReticleLock {
    0%,
    100% {
        opacity: 0.66;
        transform:
            translate(-50%, -50%)
            scale(0.92);
    }

    50% {
        opacity: 1;
        transform:
            translate(-50%, -50%)
            scale(1.04);
    }
}

@keyframes ybEd3FieldReticleLines {
    0%,
    100% {
        opacity: 0.46;
    }

    50% {
        opacity: 0.92;
    }
}

@keyframes ybEd3FieldRoutePoint {
    0%,
    100% {
        opacity: 0.70;
    }

    50% {
        opacity: 1;
        filter:
            drop-shadow(
                0 0 7px
                rgba(227, 30, 36, 0.58)
            );
    }
}

/* 06. Tablet and mobile heights remain compact. */
@media (max-width: 980px) {
    .yb-ed3-field-v4 {
        padding:
            58px
            0
            66px;
    }

    .yb-ed3-field-v4__track {
        min-height: 490px;
    }
}

@media (max-width: 620px) {
    .yb-ed3-field-v4 {
        padding:
            48px
            0
            58px;
    }

    .yb-ed3-field-v4__track {
        min-height: 455px;
    }

    .yb-ed3-field-v4__copy h3 {
        font-size:
            clamp(
                26px,
                8.5vw,
                36px
            );
    }
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-field-v4__panel.is-active > img,
    .yb-ed3-field-v4__effect--woodland
    .yb-ed3-field-v4__focus-dot,
    .yb-ed3-field-v4__reticle-ring,
    .yb-ed3-field-v4__reticle-horizontal,
    .yb-ed3-field-v4__reticle-vertical,
    .yb-ed3-field-v4__effect--carry circle {
        animation: none !important;
    }
}



/* ==========================================================================
   v4.2 FINAL OVERRIDES
   Goals:
   1. Reveal more image detail.
   2. Keep all card titles on one consistent vertical line.
   3. Replace stretched SVG circles with true circular HTML route points.
   4. Preserve readable text without covering the product imagery.
   ========================================================================== */

/* --------------------------------------------------------------------------
   01. BRIGHTER IMAGE TREATMENT
   -------------------------------------------------------------------------- */

.yb-ed3-field-v4__panel > img {
    filter:
        saturate(1.00)
        contrast(1.015)
        brightness(0.96);

    transform: scale(1.045);
}

.yb-ed3-field-v4__panel.is-active > img {
    filter:
        saturate(1.04)
        contrast(1.015)
        brightness(1.10);

    animation:
        ybEd3FieldImageDrift
        7.8s
        ease-in-out
        infinite
        alternate;
}

/* Weather image is naturally dark, so it receives a small extra lift. */
.yb-ed3-field-v4__panel[data-field-effect="weather"] > img {
    filter:
        saturate(0.98)
        contrast(1.01)
        brightness(1.04);
}

.yb-ed3-field-v4__panel[data-field-effect="weather"].is-active > img {
    filter:
        saturate(1.01)
        contrast(1.01)
        brightness(1.16);
}

/* Woodland also needs a slight shadow lift to reveal the product scene. */
.yb-ed3-field-v4__panel[data-field-effect="woodland"] > img {
    filter:
        saturate(1.02)
        contrast(1.01)
        brightness(1.00);
}

.yb-ed3-field-v4__panel[data-field-effect="woodland"].is-active > img {
    filter:
        saturate(1.05)
        contrast(1.01)
        brightness(1.12);
}

/* Use a lighter, more localised bottom gradient. */
.yb-ed3-field-v4__shade {
    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 8, 0.08) 0%,
            rgba(5, 6, 8, 0.00) 47%,
            rgba(5, 6, 8, 0.05) 63%,
            rgba(5, 6, 8, 0.62) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 6, 8, 0.08),
            transparent 58%
        );
}

.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__shade {
    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 8, 0.04) 0%,
            rgba(5, 6, 8, 0.00) 51%,
            rgba(5, 6, 8, 0.03) 66%,
            rgba(5, 6, 8, 0.58) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 6, 8, 0.055),
            transparent 68%
        );
}

/* --------------------------------------------------------------------------
   02. UNIFIED TEXT HEIGHT AND BASELINE
   Every card reserves the same space for metric, label, title, description
   and tags. Hidden text remains in the layout, so titles do not jump.
   -------------------------------------------------------------------------- */

.yb-ed3-field-v4__body {
    right: 18px;
    bottom: 18px;
    left: 18px;

    min-height: 184px;

    display: grid;
    grid-template-rows:
        24px
        minmax(0, 1fr);
    align-content: end;

    text-shadow:
        0 2px 14px rgba(0, 0, 0, 0.34);
}

.yb-ed3-field-v4__metric {
    min-height: 24px;
    margin-bottom: 0;
    align-self: start;
}

.yb-ed3-field-v4__copy {
    width: 100%;
    max-width: 540px;

    display: grid;
    grid-template-rows:
        16px
        68px
        38px
        27px;
    align-content: end;
}

.yb-ed3-field-v4__copy > small {
    margin: 0;
    align-self: end;
}

.yb-ed3-field-v4__copy h3 {
    min-height: 68px;
    margin: 0;

    display: flex;
    align-items: flex-end;

    font-size:
        clamp(
            22px,
            1.72vw,
            30px
        );
    line-height: 1.03;
}

.yb-ed3-field-v4__copy p {
    height: 38px;
    max-width: 535px;
    margin: 0;
    overflow: hidden;

    align-self: start;

    font-size: 11.5px;
    line-height: 1.48;
}

.yb-ed3-field-v4__tags {
    height: 27px;
    margin: 0;
    overflow: hidden;
    align-self: end;
}

/*
 * Inactive descriptions remain invisible but keep their grid space.
 * This is what keeps all title baselines aligned.
 */
.yb-ed3-field-v4__panel:not(.is-active)
.yb-ed3-field-v4__copy p,
.yb-ed3-field-v4__panel:not(.is-active)
.yb-ed3-field-v4__tags {
    visibility: hidden;
}

.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__copy p,
.yb-ed3-field-v4__panel.is-active
.yb-ed3-field-v4__tags {
    visibility: visible;
}

/* --------------------------------------------------------------------------
   03. TRUE CIRCULAR ROUTE POINTS
   These are HTML elements, so panel stretching cannot turn them into ovals.
   -------------------------------------------------------------------------- */

.yb-ed3-field-v4__effect--carry circle {
    display: none !important;
}

.yb-ed3-field-v4__route-point {
    position: absolute;
    z-index: 3;

    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.90);
    border-radius: 50%;

    background: var(--field-red);
    box-shadow:
        0 0 0 5px rgba(227, 30, 36, 0.10),
        0 0 14px rgba(227, 30, 36, 0.28);

    animation:
        ybEd3FieldTruePointPulse
        1.9s
        ease-in-out
        infinite;
}

.yb-ed3-field-v4__route-point.is-one {
    left: 27.6%;
    top: 70.4%;
}

.yb-ed3-field-v4__route-point.is-two {
    left: 56.4%;
    top: 47%;
    animation-delay: 0.3s;
}

.yb-ed3-field-v4__route-point.is-three {
    left: 90%;
    top: 22.4%;
    animation-delay: 0.6s;
}

@keyframes ybEd3FieldTruePointPulse {
    0%,
    100% {
        opacity: 0.78;
        transform:
            translate(-50%, -50%)
            scale(0.90);
    }

    50% {
        opacity: 1;
        transform:
            translate(-50%, -50%)
            scale(1.08);
    }
}

/* --------------------------------------------------------------------------
   04. TOP LABELS AND SMALL TEXT
   -------------------------------------------------------------------------- */

.yb-ed3-field-v4__topline small {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yb-ed3-field-v4__metric span {
    color: rgba(255, 255, 255, 0.70);
}

.yb-ed3-field-v4__copy > small {
    color: rgba(255, 255, 255, 0.68);
}

/* --------------------------------------------------------------------------
   05. RESPONSIVE TEXT GRID
   -------------------------------------------------------------------------- */

@media (max-width: 1180px) {
    .yb-ed3-field-v4__body {
        min-height: 178px;
    }

    .yb-ed3-field-v4__copy {
        grid-template-rows:
            16px
            64px
            38px
            27px;
    }

    .yb-ed3-field-v4__copy h3 {
        min-height: 64px;
        font-size:
            clamp(
                21px,
                1.8vw,
                28px
            );
    }
}

@media (max-width: 980px) {
    .yb-ed3-field-v4__body {
        min-height: 184px;
    }

    .yb-ed3-field-v4__copy {
        grid-template-rows:
            16px
            68px
            40px
            27px;
    }
}

@media (max-width: 620px) {
    .yb-ed3-field-v4__body {
        right: 17px;
        bottom: 17px;
        left: 17px;

        min-height: 188px;
    }

    .yb-ed3-field-v4__copy {
        grid-template-rows:
            16px
            72px
            42px
            27px;
    }

    .yb-ed3-field-v4__copy h3 {
        min-height: 72px;
        font-size:
            clamp(
                25px,
                8vw,
                34px
            );
    }

    .yb-ed3-field-v4__copy p {
        height: 42px;
        font-size: 11.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-field-v4__route-point {
        animation: none !important;
    }
}



/* ==========================================================================
   v4.3 ROUTE POSITION CORRECTION
   The percentages below control the three circular route points.
   left = horizontal position; top = vertical position.
   ========================================================================== */

.yb-ed3-field-v4__route-point.is-one {
    left: 24%;
    top: 73.5%;
}

.yb-ed3-field-v4__route-point.is-two {
    left: 49%;
    top: 61%;
}

.yb-ed3-field-v4__route-point.is-three {
    left: 69%;
    top: 45.5%;
}

/* Place the label beside the hiker/backpack rather than in empty sky. */
.yb-ed3-field-v4__effect--carry > span {
    top: 37%;
    right: 19%;
}

/* Keep the shorter card titles visually balanced. */
.yb-ed3-field-v4__copy h3 {
    letter-spacing: -0.035em;
}

/* Slightly reduce route decoration so it does not compete with the image. */
.yb-ed3-field-v4__effect--carry path {
    stroke: rgba(255, 255, 255, 0.54);
    stroke-width: 1.55;
}

.yb-ed3-field-v4__route-point {
    width: 11px;
    height: 11px;
    box-shadow:
        0 0 0 4px rgba(227, 30, 36, 0.09),
        0 0 12px rgba(227, 30, 36, 0.24);
}



/* ========================================================================== 
   12. SHARED GOOGLE SHEETS DATA STATES — v5.0

   All technical values are filled by window.YBProductPageData from Section 00.
   No network request or plugin call is created by this screen.
   ========================================================================== */

.yb-ed3-field-v4 [hidden] {
    display: none !important;
}

.yb-ed3-field-v4 [data-yb-field],
.yb-ed3-field-v4 [data-yb-model-name] {
    transition: opacity 180ms ease;
}

.yb-ed3-field-v4[data-yb-product-data-state="loading"]
[data-yb-field],
.yb-ed3-field-v4[data-yb-product-data-state="loading"]
[data-yb-model-name] {
    opacity: 0.46;
}

.yb-ed3-field-v4[data-yb-product-data-state="ready"]
[data-yb-field],
.yb-ed3-field-v4[data-yb-product-data-state="ready"]
[data-yb-model-name] {
    opacity: 1;
}

.yb-ed3-field-v4[data-yb-product-data-state="error"]
[data-yb-requires] {
    display: none !important;
}

.yb-ed3-field-v4__heading p [data-yb-model-name],
.yb-ed3-field-v4__copy p [data-yb-field] {
    color: inherit;
    font: inherit;
}

.yb-ed3-field-v4__tags b,
.yb-ed3-field-v4__sealed b {
    color: inherit;
    font: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}

.yb-ed3-field-v4__tags span {
    gap: 0.32em;
}

.yb-ed3-field-v4__effect--precision b[data-yb-field] {
    max-width: 116px;
    text-align: left;
    white-space: nowrap;
}

.yb-ed3-field-v4__sealed b[data-yb-field] {
    max-width: 124px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-field-v4 [data-yb-field],
    .yb-ed3-field-v4 [data-yb-model-name] {
        transition: none;
    }
}



/* ===== SECTION 03 / ORIGINAL STYLE BLOCK 1 ===== */
/* 锚点跳转时，为顶部吸附导航预留空间 */
#ed3-technology {
    scroll-margin-top: 110px;
}


/* 整屏基础设置 */
.yb-ed3-engineering-v3 {
    --yb-ed3-gold: #c9963f;
    --yb-ed3-gold-light: #e8c278;
    --yb-ed3-white: #f7f4ed;
    --yb-ed3-grey: #a9aaa7;
    --yb-ed3-dark: #07090a;

    position: relative;
    width: 100%;
    padding:
        0
        16px
        18px;
    overflow: hidden;

   background:
        radial-gradient(
            circle at 67% 40%,
            rgba(202, 168, 106, 0.075),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            #fbfaf6 0%,
            #f8f5ee 55%,
            #f5f0e6 100%
        );


    font-family:
        Inter,
        "Helvetica Neue",
        Arial,
        sans-serif;
}


.yb-ed3-engineering-v3,
.yb-ed3-engineering-v3 * {
    box-sizing: border-box;
}


/*
 * Google Sheets loading and failure states.
 * Section 00 owns the network request; this screen only reflects its shared state.
 */
.yb-ed3-engineering-v3 [hidden] {
    display: none !important;
}

.yb-ed3-engineering-v3[data-yb-product-data-state="loading"]
[data-yb-field],
.yb-ed3-engineering-v3[data-yb-product-data-state="loading"]
[data-yb-model-name],
.yb-ed3-engineering-v3[data-yb-product-data-state="loading"]
[data-yb-active-title] {
    opacity: 0.48;
}

.yb-ed3-engineering-v3[data-yb-product-data-state="ready"]
[data-yb-field],
.yb-ed3-engineering-v3[data-yb-product-data-state="ready"]
[data-yb-model-name],
.yb-ed3-engineering-v3[data-yb-product-data-state="ready"]
[data-yb-active-title] {
    opacity: 1;
    transition: opacity 180ms ease;
}

.yb-ed3-engineering-v3[data-yb-product-data-state="error"]
[data-yb-requires],
.yb-ed3-engineering-v3[data-yb-product-data-state="error"]
[data-yb-field],
.yb-ed3-engineering-v3[data-yb-product-data-state="error"]
[data-yb-model-name],
.yb-ed3-engineering-v3 [data-yb-field-missing="true"] {
    visibility: hidden;
}

.yb-ed3-engineering-v3 [data-yb-feature-title],
.yb-ed3-engineering-v3 [data-yb-active-title],
.yb-ed3-engineering-mobile__feature strong {
    text-transform: uppercase;
}


.yb-ed3-engineering-v3 button {
    font: inherit;
}


/* 整屏横向舞台 */
.yb-ed3-engineering-v3__stage {
    /*
        热点坐标校准区

        后续需要微调时，只修改这里的百分比。
        不需要修改SVG，也不需要修改JavaScript。

        x 增大向右移动
        x 减小向左移动
        y 增大向下移动
        y 减小向上移动
    */

    --reticle-x: 40.3%;
    --reticle-y: 56.9%;

    --magnification-x: 35.6%;
    --magnification-y: 59.2%;

    --elevation-x: 50.7%;
    --elevation-y: 43.4%;

    --windage-x: 50.4%;
    --windage-y: 61.2%;

    --objective-x: 68.1%;
    --objective-y: 56.5%;


    position: relative;

    width: min(1520px, 100%);

    height:
        clamp(
            430px,
            29.2vw,
            560px
        );

    margin: 0 auto;
    overflow: hidden;
    isolation: isolate;

    background: #07090a;

    border:
        1px solid
        rgba(255, 255, 255, 0.14);

    box-shadow:
        0 25px 70px
        rgba(20, 20, 18, 0.16);
}


/* 完整产品背景图 */
.yb-ed3-engineering-v3__background {
    position: absolute;
    inset: 0;
    z-index: 0;

    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center 57%;

    filter:
        brightness(0.97)
        contrast(1.06)
        saturate(0.9);

    transform:
        translate3d(0, 0, 0)
        scale(1.015);

    transition:
        transform 1.1s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        filter 0.5s ease;

    user-select: none;
    pointer-events: none;
}


/* 左右文字阅读区域遮罩 */
.yb-ed3-engineering-v3__background-shade {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(3, 5, 6, 0.95) 0%,
            rgba(3, 5, 6, 0.84) 15%,
            rgba(3, 5, 6, 0.16) 30%,
            rgba(3, 5, 6, 0.015) 59%,
            rgba(3, 5, 6, 0.19) 73%,
            rgba(3, 5, 6, 0.83) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 5, 6, 0.22) 0%,
            rgba(3, 5, 6, 0) 48%,
            rgba(3, 5, 6, 0.48) 100%
        );

    pointer-events: none;
}


/* 工程网格 */
.yb-ed3-engineering-v3__technical-grid {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0.12;

    background:
        linear-gradient(
            rgba(218, 177, 96, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(218, 177, 96, 0.035) 1px,
            transparent 1px
        );

    background-size: 54px 54px;

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            black 25%,
            black 76%,
            transparent
        );

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent,
            black 25%,
            black 76%,
            transparent
        );

    pointer-events: none;
}


/* 产品中央局部光效 */
.yb-ed3-engineering-v3__ambient-light {
    position: absolute;
    top: 8%;
    left: 34%;
    z-index: 2;

    width: 46%;
    height: 80%;

    border-radius: 50%;
    opacity: 0.22;

    background:
        radial-gradient(
            ellipse,
            rgba(206, 164, 83, 0.16),
            transparent 67%
        );

    filter: blur(30px);
    pointer-events: none;
}


/* 左侧标题区域 */
.yb-ed3-engineering-v3__intro {
    position: absolute;
    top: 50%;

    left:
        clamp(
            34px,
            3.7vw,
            72px
        );

    z-index: 30;

    width:
        clamp(
            210px,
            16.5vw,
            300px
        );

    transform:
        translateY(-50%);
}


.yb-ed3-engineering-v3__eyebrow {
    display: block;
    margin-bottom: 14px;

    color: var(--yb-ed3-gold-light);

    font-size: 8px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: 0.22em;
}


.yb-ed3-engineering-v3__intro h2 {
    margin: 0;

    color: var(--yb-ed3-white);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            34px,
            2.35vw,
            49px
        );

    font-weight: 400;
    line-height: 0.94;
    letter-spacing: -0.045em;
}


.yb-ed3-engineering-v3__intro h2 em {
    display: block;
    margin-top: 8px;

    color: var(--yb-ed3-gold);

    font-size: 0.72em;
    font-style: normal;
    line-height: 1.05;
}


.yb-ed3-engineering-v3__intro-line {
    display: block;

    width: 100%;
    height: 1px;

    margin: 20px 0 16px;

    background:
        linear-gradient(
            90deg,
            var(--yb-ed3-gold),
            rgba(201, 150, 63, 0.05)
        );
}


.yb-ed3-engineering-v3__intro p {
    max-width: 245px;
    margin: 0;

    color:
        rgba(255, 255, 255, 0.69);

    font-size: 10.5px;
    line-height: 1.6;
}


.yb-ed3-engineering-v3__interaction-hint {
    margin-top: 20px;

    display: flex;
    align-items: center;
    gap: 8px;

    color:
        rgba(255, 255, 255, 0.45);

    font-size: 6.5px;
    font-weight: 720;
    letter-spacing: 0.11em;
}


.yb-ed3-engineering-v3__interaction-hint svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: var(--yb-ed3-gold);
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* 自动连接线画布 */
.yb-ed3-engineering-v3__connectors {
    position: absolute;
    inset: 0;
    z-index: 18;

    width: 100%;
    height: 100%;

    overflow: visible;
    pointer-events: none;
}


/* 未激活连接线 */
.yb-ed3-engineering-v3__connector {
    fill: none;

    stroke:
        rgba(201, 150, 63, 0.44);

    stroke-width: 1.1;
    stroke-linecap: round;
    stroke-linejoin: round;

    stroke-dasharray: 5 7;

    opacity: 0.25;

    vector-effect:
        non-scaling-stroke;

    transition:
        opacity 0.3s ease,
        stroke 0.3s ease,
        stroke-width 0.3s ease;
}


/* 激活连接线 */
.yb-ed3-engineering-v3__connector.is-active {
    opacity: 1;

    stroke: var(--yb-ed3-gold-light);
    stroke-width: 1.55;

    filter:
        url(
            #yb-ed3-engineering-v3-glow
        );

    animation:
        ybEd3ConnectorMovement
        6s linear infinite;
}


/* 热点总容器 */
.yb-ed3-engineering-v3__hotspots {
    position: absolute;
    inset: 0;
    z-index: 22;

    pointer-events: none;
}


/* 单个热点 */
.yb-ed3-engineering-v3__hotspot {
    position: absolute;

    width: 14px;
    height: 14px;

    border:
        1px solid
        rgba(230, 190, 113, 0.72);

    border-radius: 50%;

    opacity: 0.28;

    background:
        rgba(201, 150, 63, 0.1);

    transform:
        translate(-50%, -50%)
        scale(0.72);

    transition:
        opacity 0.3s ease,
        transform 0.4s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        background-color 0.3s ease;
}


.yb-ed3-engineering-v3__hotspot::before {
    content: "";

    position: absolute;
    inset: -9px;

    border:
        1px solid
        rgba(230, 190, 113, 0.4);

    border-radius: 50%;
    opacity: 0;
}


.yb-ed3-engineering-v3__hotspot i {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--yb-ed3-gold-light);

    box-shadow:
        0 0 13px
        rgba(229, 184, 97, 0.92);

    transform:
        translate(-50%, -50%);
}


.yb-ed3-engineering-v3__hotspot.is-active {
    opacity: 1;

    background:
        rgba(201, 150, 63, 0.25);

    transform:
        translate(-50%, -50%)
        scale(1);
}


.yb-ed3-engineering-v3__hotspot.is-active::before {
    animation:
        ybEd3HotspotPulse
        1.8s ease-out infinite;
}


/*
    热点实际位置

    这些位置引用舞台顶部的CSS变量。
    后续不要在这里直接改数字。
*/
.hotspot-reticle {
    left: var(--reticle-x);
    top: var(--reticle-y);
}


.hotspot-magnification {
    left: var(--magnification-x);
    top: var(--magnification-y);
}


.hotspot-elevation {
    left: var(--elevation-x);
    top: var(--elevation-y);
}


.hotspot-windage {
    left: var(--windage-x);
    top: var(--windage-y);
}


.hotspot-objective {
    left: var(--objective-x);
    top: var(--objective-y);
}


/* 技术标注总容器 */
.yb-ed3-engineering-v3__callouts {
    position: absolute;
    inset: 0;
    z-index: 32;

    pointer-events: none;
}


/* 单个技术标注 */
.yb-ed3-engineering-v3__callout {
    appearance: none;
    -webkit-appearance: none;

    position: absolute;

    width:
        clamp(
            174px,
            11.8vw,
            226px
        );

    margin: 0;
    padding: 0;

    display: grid;

    grid-template-columns:
        34px
        minmax(0, 1fr);

    gap: 10px;

    border: 0;
    background: transparent;

    color: #ffffff;
    text-align: left;

    cursor: pointer;
    opacity: 0.54;

    pointer-events: auto;

    transition:
        opacity 0.3s ease,
        transform 0.35s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}


.yb-ed3-engineering-v3__callout:hover,
.yb-ed3-engineering-v3__callout:focus-visible,
.yb-ed3-engineering-v3__callout.is-active {
    opacity: 1;
    transform: translateY(-2px);
    outline: none;
}


/* 技术标注编号 */
.yb-ed3-engineering-v3__number {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(201, 150, 63, 0.43);

    background:
        rgba(201, 150, 63, 0.09);

    color: var(--yb-ed3-gold-light);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 17px;
    line-height: 1;

    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


.yb-ed3-engineering-v3__callout.is-active
.yb-ed3-engineering-v3__number {
    border-color: var(--yb-ed3-gold);

    background:
        rgba(201, 150, 63, 0.22);

    color: #ffffff;

    box-shadow:
        0 0 20px
        rgba(201, 150, 63, 0.2);
}


.yb-ed3-engineering-v3__copy {
    min-width: 0;
}


.yb-ed3-engineering-v3__copy strong {
    display: block;

    color:
        rgba(255, 255, 255, 0.95);

    font-size:
        clamp(
            10px,
            0.67vw,
            13px
        );

    font-weight: 780;
    line-height: 1.24;
    letter-spacing: 0.035em;
}


.yb-ed3-engineering-v3__copy small {
    display: block;

    max-width: 190px;
    margin-top: 7px;

    color:
        rgba(255, 255, 255, 0.62);

    font-size:
        clamp(
            8px,
            0.5vw,
            9.6px
        );

    font-weight: 430;
    line-height: 1.48;
}


/*
    五个文字标签的位置

    这里控制的是编号和文字位置。
    不会影响产品上的圆点。
    连接线会自动根据标签位置重新计算。
*/
.callout-reticle {
    top: 5.5%;
    left: 21.2%;
}


.callout-magnification {
    top: 62.5%;
    left: 20.4%;
}


.callout-elevation {
    top: 5.5%;
    left: 45.4%;
}


.callout-windage {
    top: 64.5%;
    left: 59.1%;
}


.callout-objective {
    top: 5.5%;
    left: 66.5%;
}


/* 右侧防水画面 */
.yb-ed3-engineering-v3__waterproof {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 14;

    width: 22.5%;
    overflow: hidden;

    background: #030506;

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.3) 12%,
            black 32%,
            black 100%
        );

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.3) 12%,
            black 32%,
            black 100%
        );
}


.yb-ed3-engineering-v3__waterproof::before {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    left: 16%;

    z-index: 7;

    width: 1px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(218, 177, 96, 0.26),
            transparent
        );

    pointer-events: none;
}


.yb-ed3-engineering-v3__waterproof > img {
    position: absolute;
    top: 50%;
    left: 52%;

    width: 114%;
    height: 114%;
    display: block;

    object-fit: cover;
    object-position: 47% center;

    filter:
        brightness(0.92)
        contrast(1.08)
        saturate(0.95);

    transform:
        translate(-50%, -50%)
        scale(1.02);

    transition:
        transform 1.1s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        filter 0.5s ease;

    user-select: none;
}


.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    filter:
        brightness(0.98)
        contrast(1.07)
        saturate(1);

    transform:
        translate(-50%, -50%)
        scale(1.06);
}


/* 防水区域遮罩 */
.yb-ed3-engineering-v3__waterproof-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;

    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 6, 0.1) 0%,
            transparent 37%,
            rgba(3, 5, 6, 0.68) 100%
        ),
        linear-gradient(
            90deg,
            rgba(3, 5, 6, 0.42),
            transparent 54%
        );

    pointer-events: none;
}


/* 防水区域扫描光 */
.yb-ed3-engineering-v3__waterproof-scan {
    position: absolute;
    top: -45%;
    left: -48%;
    z-index: 4;

    width: 44%;
    height: 190%;

    opacity: 0;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(208, 232, 240, 0.2),
            rgba(255, 255, 255, 0.12),
            transparent
        );

    filter: blur(5px);

    transform:
        skewX(-18deg);

    animation:
        ybEd3WaterproofScan
        7.5s ease-in-out infinite;

    pointer-events: none;
}


/* 防水区域镜片圆环 */
.yb-ed3-engineering-v3__waterproof-ring {
    position: absolute;
    top: 45%;
    left: 58%;
    z-index: 5;

    width: 66%;
    aspect-ratio: 1;

    border:
        1px solid
        rgba(216, 179, 108, 0.21);

    border-radius: 50%;

    transform:
        translate(-50%, -50%);

    pointer-events: none;
}


.yb-ed3-engineering-v3__waterproof-ring::before {
    content: "";

    position: absolute;
    inset: 9%;

    border:
        1px dashed
        rgba(216, 179, 108, 0.16);

    border-radius: 50%;

    animation:
        ybEd3WaterproofRing
        20s linear infinite;
}


.yb-ed3-engineering-v3__waterproof-ring span {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--yb-ed3-gold);

    box-shadow:
        0 0 16px
        rgba(219, 174, 85, 0.84);

    transform:
        translate(-50%, -50%);

    animation:
        ybEd3WaterproofDot
        2.4s ease-out infinite;
}


/* 防水区域文案 */
.yb-ed3-engineering-v3__waterproof-content {
    position: absolute;
    right: 22px;
    bottom: 23px;
    left: 29%;
    z-index: 8;

    color: #ffffff;
}


.yb-ed3-engineering-v3__waterproof-label {
    display: block;
    margin-bottom: 7px;

    color: var(--yb-ed3-gold-light);

    font-size: 6.5px;
    font-weight: 760;
    letter-spacing: 0.16em;
}


.yb-ed3-engineering-v3__waterproof-content h3 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            22px,
            1.55vw,
            31px
        );

    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.035em;
}


.yb-ed3-engineering-v3__waterproof-content h3 em {
    display: block;
    margin-top: 5px;

    color: var(--yb-ed3-gold-light);

    font-style: italic;
    font-weight: 400;
}


.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 230px;
    margin: 11px 0 0;

    color:
        rgba(255, 255, 255, 0.66);

    font-size: 8px;
    line-height: 1.52;
}


.yb-ed3-engineering-v3__sealed {
    margin-top: 13px;

    display: flex;
    align-items: center;
    gap: 7px;

    color:
        rgba(255, 255, 255, 0.78);

    font-size: 6px;
    font-weight: 760;
    letter-spacing: 0.12em;
}


.yb-ed3-engineering-v3__sealed-dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #b8dfe9;

    box-shadow:
        0 0 12px
        rgba(181, 224, 235, 0.95);

    animation:
        ybEd3SealedPulse
        2.1s ease-in-out infinite;
}


/* 当前激活技术状态 */
.yb-ed3-engineering-v3__status {
    position: absolute;
    bottom: 21px;
    left: 34%;
    z-index: 35;

    display: flex;
    align-items: center;
    gap: 11px;

    color: #ffffff;
}


.yb-ed3-engineering-v3__status > span {
    color: var(--yb-ed3-gold-light);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;
}


.yb-ed3-engineering-v3__status small {
    display: block;

    color:
        rgba(255, 255, 255, 0.39);

    font-size: 5px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: 0.14em;
}


.yb-ed3-engineering-v3__status strong {
    display: block;
    margin-top: 4px;

    color:
        rgba(255, 255, 255, 0.82);

    font-size: 7px;
    font-weight: 720;
    letter-spacing: 0.06em;
}


.yb-ed3-engineering-v3__mobile-progress {
    display: none;
}


/* 连接线流动动画 */
@keyframes ybEd3ConnectorMovement {
    from {
        stroke-dashoffset: 100;
    }

    to {
        stroke-dashoffset: 0;
    }
}


/* 热点呼吸动画 */
@keyframes ybEd3HotspotPulse {
    0% {
        opacity: 0.8;
        transform: scale(0.42);
    }

    100% {
        opacity: 0;
        transform: scale(1.7);
    }
}


/* 防水扫描动画 */
@keyframes ybEd3WaterproofScan {
    0%,
    68% {
        left: -48%;
        opacity: 0;
    }

    76% {
        opacity: 0.68;
    }

    100% {
        left: 135%;
        opacity: 0;
    }
}


/* 防水圆环旋转动画 */
@keyframes ybEd3WaterproofRing {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* 防水热点动画 */
@keyframes ybEd3WaterproofDot {
    0% {
        opacity: 0.85;

        box-shadow:
            0 0 0 0
            rgba(219, 174, 85, 0.42);
    }

    100% {
        opacity: 0.25;

        box-shadow:
            0 0 0 18px
            rgba(219, 174, 85, 0);
    }
}


/* 密封状态指示动画 */
@keyframes ybEd3SealedPulse {
    0%,
    100% {
        opacity: 0.65;
        transform: scale(0.86);
    }

    50% {
        opacity: 1;
        transform: scale(1.16);
    }
}


/* 中等桌面适配 */
@media (max-width: 1450px) {

    .yb-ed3-engineering-v3__stage {
        height: 430px;
    }

    .yb-ed3-engineering-v3__intro {
        left: 36px;
        width: 225px;
    }

    .yb-ed3-engineering-v3__intro p {
        font-size: 9px;
    }

    .yb-ed3-engineering-v3__copy strong {
        font-size: 10px;
    }

    .yb-ed3-engineering-v3__copy small {
        font-size: 7.4px;
    }

    .callout-reticle {
        left: 20%;
    }

    .callout-magnification {
        left: 19%;
    }

    .callout-elevation {
        left: 44%;
    }

    .callout-windage {
        left: 58%;
    }

    .callout-objective {
        left: 65.3%;
    }

    .yb-ed3-engineering-v3__waterproof {
        width: 23.5%;
    }
}


/* 平板布局 */
@media (max-width: 1080px) {

    #ed3-technology {
        scroll-margin-top: 100px;
    }

    .yb-ed3-engineering-v3 {
        padding: 12px 0;
    }

    .yb-ed3-engineering-v3__stage {
        height: auto;
        min-height: 820px;
        padding: 25px 22px 22px;
    }

    .yb-ed3-engineering-v3__background {
        top: 80px;
        height: 410px;

        object-position:
            center 58%;

        opacity: 0.95;
    }

    .yb-ed3-engineering-v3__background-shade {
        background:
            linear-gradient(
                180deg,
                rgba(4, 6, 7, 0.86) 0%,
                rgba(4, 6, 7, 0.12) 29%,
                rgba(4, 6, 7, 0.1) 49%,
                rgba(4, 6, 7, 0.94) 67%,
                rgba(4, 6, 7, 1) 100%
            );
    }

    .yb-ed3-engineering-v3__intro {
        position: relative;
        top: auto;
        left: auto;

        width: 50%;
        transform: none;
    }

    .yb-ed3-engineering-v3__intro h2 {
        font-size: 36px;
    }

    .yb-ed3-engineering-v3__interaction-hint {
        display: none;
    }

    .yb-ed3-engineering-v3__waterproof {
        top: 18px;
        right: 20px;
        bottom: auto;

        width: 34%;
        height: 270px;

        border:
            1px solid
            rgba(255, 255, 255, 0.13);

        mask-image: none;
        -webkit-mask-image: none;
    }

    .yb-ed3-engineering-v3__waterproof-content {
        right: 15px;
        bottom: 15px;
        left: 15px;
    }

    .yb-ed3-engineering-v3__waterproof-content p,
    .yb-ed3-engineering-v3__sealed {
        display: none;
    }

    /*
        平板端不显示连接线和热点。
        标签改为规则网格，更适合触控设备。
    */
    .yb-ed3-engineering-v3__connectors,
    .yb-ed3-engineering-v3__hotspots,
    .yb-ed3-engineering-v3__status {
        display: none;
    }

    .yb-ed3-engineering-v3__callouts {
        position: relative;
        inset: auto;

        margin-top: 430px;

        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        border-top:
            1px solid
            rgba(255, 255, 255, 0.13);
    }

    .yb-ed3-engineering-v3__callout {
        position: relative;

        top: auto;
        right: auto;
        bottom: auto;
        left: auto;

        width: auto;
        min-height: 96px;
        padding: 17px 15px;

        opacity: 0.68;

        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.1);
    }

    .yb-ed3-engineering-v3__callout:nth-child(odd) {
        border-right:
            1px solid
            rgba(255, 255, 255, 0.1);
    }

    .yb-ed3-engineering-v3__callout.is-active {
        background:
            linear-gradient(
                90deg,
                rgba(201, 150, 63, 0.12),
                transparent
            );
    }

    .yb-ed3-engineering-v3__copy small {
        max-width: none;
        font-size: 8px;
    }
}


/* 手机布局 */
@media (max-width: 680px) {

    .yb-ed3-engineering-v3__stage {
        min-height: 930px;
        padding: 21px 14px;
    }

    .yb-ed3-engineering-v3__intro {
        width: 100%;
        padding-right: 125px;
    }

    .yb-ed3-engineering-v3__eyebrow {
        margin-bottom: 9px;
        font-size: 6px;
    }

    .yb-ed3-engineering-v3__intro h2 {
        font-size: 28px;
    }

    .yb-ed3-engineering-v3__intro h2 em {
        margin-top: 4px;
        font-size: 0.67em;
    }

    .yb-ed3-engineering-v3__intro-line {
        width: 180px;
        margin: 13px 0 10px;
    }

    .yb-ed3-engineering-v3__intro p {
        display: none;
    }

    .yb-ed3-engineering-v3__background {
        top: 115px;
        height: 280px;

        object-position:
            52% center;
    }

    .yb-ed3-engineering-v3__waterproof {
        top: 17px;
        right: 14px;

        width: 108px;
        height: 108px;

        border-radius: 50%;
    }

    .yb-ed3-engineering-v3__waterproof > img {
        width: 122%;
        height: 122%;
    }

    .yb-ed3-engineering-v3__waterproof-ring,
    .yb-ed3-engineering-v3__waterproof-content,
    .yb-ed3-engineering-v3__waterproof-scan {
        display: none;
    }

    .yb-ed3-engineering-v3__callouts {
        margin-top: 330px;
        grid-template-columns: 1fr;
    }

    .yb-ed3-engineering-v3__callout {
        min-height: 84px;
        padding: 14px 10px;
    }

    .yb-ed3-engineering-v3__callout:nth-child(odd) {
        border-right: 0;
    }

    .yb-ed3-engineering-v3__copy strong {
        font-size: 9px;
    }

    .yb-ed3-engineering-v3__copy small {
        margin-top: 5px;
        font-size: 7.6px;
    }

    .yb-ed3-engineering-v3__mobile-progress {
        position: absolute;
        top: 390px;
        right: 15px;
        left: 15px;
        z-index: 40;

        display: flex;
        gap: 5px;
    }

    .yb-ed3-engineering-v3__mobile-progress span {
        flex: 1;
        height: 2px;

        background:
            rgba(255, 255, 255, 0.14);
    }

    .yb-ed3-engineering-v3__mobile-progress span.is-active {
        background: var(--yb-ed3-gold);
    }
}


/* 用户选择减少动态效果时关闭循环动画 */
@media (prefers-reduced-motion: reduce) {

    .yb-ed3-engineering-v3__connector,
    .yb-ed3-engineering-v3__hotspot::before,
    .yb-ed3-engineering-v3__waterproof-scan,
    .yb-ed3-engineering-v3__waterproof-ring::before,
    .yb-ed3-engineering-v3__waterproof-ring span,
    .yb-ed3-engineering-v3__sealed-dot,
    .yb-ed3-engineering-v3__background,
    .yb-ed3-engineering-v3__waterproof > img {
        animation: none !important;
        transition: none !important;
    }
}



/* ==========================================================================
   v4.0 APPLE GRAPHITE ENGINEERING OVERRIDES
   ========================================================================== */

/* --------------------------------------------------------------------------
   01. SECTION AND STAGE
   -------------------------------------------------------------------------- */

#ed3-technology {
    scroll-margin-top:
        var(--ed3-anchor-offset, 118px);
}

.yb-ed3-engineering-v3 {
    --yb-ed3-gold: #e31e24;
    --yb-ed3-gold-light: #ff4a52;
    --yb-ed3-white: #f5f5f7;
    --yb-ed3-grey: #a1a1a6;
    --yb-ed3-dark: #090b0f;
    --yb-ed3-red: #e31e24;

    padding:
        clamp(52px, 4.6vw, 72px)
        18px
        clamp(58px, 5vw, 78px);

    background:
        linear-gradient(
            180deg,
            #f5f5f7 0%,
            #efeff2 100%
        );

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;
}

.yb-ed3-engineering-v3__stage {
    width: min(1440px, 100%);
    height:
        clamp(
            500px,
            35vw,
            560px
        );

    border:
        1px solid
        rgba(255, 255, 255, 0.10);
    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            #11141a 0%,
            #080a0e 60%,
            #05070a 100%
        );

    box-shadow:
        0 24px 70px
        rgba(22, 22, 24, 0.13);
}

/* --------------------------------------------------------------------------
   02. PRODUCT IMAGE AND ATMOSPHERE
   -------------------------------------------------------------------------- */

.yb-ed3-engineering-v3__background {
    object-position: center 57%;

    filter:
        brightness(1.08)
        contrast(1.025)
        saturate(0.98);

    transform:
        translate3d(0, 0, 0)
        scale(1.012);
}

.yb-ed3-engineering-v3__background-shade {
    background:
        linear-gradient(
            90deg,
            rgba(5, 7, 10, 0.86) 0%,
            rgba(5, 7, 10, 0.64) 15%,
            rgba(5, 7, 10, 0.12) 31%,
            rgba(5, 7, 10, 0.00) 61%,
            rgba(5, 7, 10, 0.06) 76%,
            rgba(5, 7, 10, 0.44) 100%
        ),
        linear-gradient(
            180deg,
            rgba(5, 7, 10, 0.08) 0%,
            rgba(5, 7, 10, 0.00) 52%,
            rgba(5, 7, 10, 0.30) 100%
        );
}

.yb-ed3-engineering-v3__technical-grid {
    opacity: 0.035;

    background:
        linear-gradient(
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px
        );

    background-size:
        64px 64px;
}

.yb-ed3-engineering-v3__ambient-light {
    top: 13%;
    left: 34%;

    width: 43%;
    height: 68%;
    opacity: 0.22;

    background:
        radial-gradient(
            ellipse,
            rgba(255, 255, 255, 0.14),
            transparent 68%
        );

    filter: blur(36px);
}

/* --------------------------------------------------------------------------
   03. INTRO
   -------------------------------------------------------------------------- */

.yb-ed3-engineering-v3__intro {
    left:
        clamp(
            32px,
            3.4vw,
            58px
        );

    width:
        clamp(
            220px,
            17vw,
            292px
        );
}

.yb-ed3-engineering-v3__eyebrow {
    position: relative;

    margin-bottom: 15px;
    padding-left: 14px;

    color:
        rgba(255, 255, 255, 0.58);

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.yb-ed3-engineering-v3__eyebrow::before {
    position: absolute;
    top: 50%;
    left: 0;

    width: 6px;
    height: 6px;
    border-radius: 50%;

    background: var(--yb-ed3-red);
    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.09);

    content: "";
    transform:
        translateY(-50%);
}

.yb-ed3-engineering-v3__intro h2 {
    color: #ffffff;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    font-size:
        clamp(
            35px,
            2.55vw,
            49px
        );

    font-weight: 730;
    line-height: 0.96;
    letter-spacing: -0.055em;
}

.yb-ed3-engineering-v3__intro h2 em {
    margin-top: 8px;

    color: #8e8e93;

    font-size: 0.70em;
    font-style: normal;
    font-weight: 610;
    line-height: 1.08;
}

.yb-ed3-engineering-v3__intro-line {
    width: 76%;
    margin: 19px 0 15px;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.26),
            transparent
        );
}

.yb-ed3-engineering-v3__intro p {
    max-width: 255px;

    color:
        rgba(255, 255, 255, 0.62);

    font-size: 10.5px;
    line-height: 1.55;
}

.yb-ed3-engineering-v3__interaction-hint {
    margin-top: 18px;

    color:
        rgba(255, 255, 255, 0.38);

    font-size: 6.5px;
    letter-spacing: 0.09em;
}

.yb-ed3-engineering-v3__interaction-hint svg {
    width: 17px;
    height: 17px;

    stroke:
        rgba(255, 255, 255, 0.54);
}

/* --------------------------------------------------------------------------
   04. CONNECTORS AND HOTSPOTS
   -------------------------------------------------------------------------- */

.yb-ed3-engineering-v3__connector {
    stroke:
        rgba(255, 255, 255, 0.26);

    stroke-width: 0.85;
    stroke-dasharray: 4 8;

    opacity: 0.08;

    filter: none !important;
}

.yb-ed3-engineering-v3__connector.is-active {
    stroke:
        rgba(227, 30, 36, 0.84);

    stroke-width: 1.15;
    opacity: 0.90;

    filter: none !important;

    animation:
        ybEd3ConnectorMovement
        8s
        linear
        infinite;
}

.yb-ed3-engineering-v3__hotspot {
    width: 10px;
    height: 10px;

    border:
        1px solid
        rgba(255, 255, 255, 0.48);

    background:
        rgba(255, 255, 255, 0.11);

    opacity: 0.40;

    transform:
        translate(-50%, -50%)
        scale(0.82);
}

.yb-ed3-engineering-v3__hotspot::before {
    display: none;
}

.yb-ed3-engineering-v3__hotspot i {
    width: 3px;
    height: 3px;

    background:
        rgba(255, 255, 255, 0.82);

    box-shadow: none;
}

.yb-ed3-engineering-v3__hotspot.is-active {
    width: 11px;
    height: 11px;

    border-color:
        rgba(255, 255, 255, 0.90);

    background:
        var(--yb-ed3-red);

    opacity: 1;

    box-shadow:
        0 0 0 5px
        rgba(227, 30, 36, 0.10),
        0 0 14px
        rgba(227, 30, 36, 0.28);

    transform:
        translate(-50%, -50%)
        scale(1);
}

.yb-ed3-engineering-v3__hotspot.is-active i {
    background: #ffffff;
}

/* --------------------------------------------------------------------------
   05. FEATURE CALLOUTS
   -------------------------------------------------------------------------- */

.yb-ed3-engineering-v3__callout {
    width:
        clamp(
            176px,
            12.2vw,
            220px
        );

    min-height: 58px;
    padding: 9px 10px;

    grid-template-columns:
        29px
        minmax(0, 1fr);

    gap: 9px;

    border:
        1px solid
        rgba(255, 255, 255, 0.065);
    border-radius: 14px;

    background:
        rgba(13, 16, 21, 0.50);

    color: #ffffff;
    opacity: 0.58;

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.025);

    backdrop-filter:
        blur(11px)
        saturate(112%);
    -webkit-backdrop-filter:
        blur(11px)
        saturate(112%);

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.yb-ed3-engineering-v3__callout:hover,
.yb-ed3-engineering-v3__callout:focus-visible {
    border-color:
        rgba(255, 255, 255, 0.12);

    background:
        rgba(22, 26, 33, 0.72);

    opacity: 0.90;
    transform:
        translateY(-1px);
}

.yb-ed3-engineering-v3__callout.is-active {
    border-color:
        rgba(227, 30, 36, 0.32);

    background:
        rgba(22, 25, 31, 0.84);

    opacity: 1;

    box-shadow:
        0 12px 28px
        rgba(0, 0, 0, 0.14),
        inset 3px 0 0
        var(--yb-ed3-red);

    transform:
        translateY(-1px);
}

.yb-ed3-engineering-v3__number {
    width: 27px;
    height: 27px;

    border:
        1px solid
        rgba(255, 255, 255, 0.12);
    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.045);

    color:
        rgba(255, 255, 255, 0.62);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 680;
}

.yb-ed3-engineering-v3__callout.is-active
.yb-ed3-engineering-v3__number {
    border-color:
        rgba(227, 30, 36, 0.48);

    background:
        rgba(227, 30, 36, 0.13);

    color: #ffffff;

    box-shadow: none;
}

.yb-ed3-engineering-v3__copy strong {
    color:
        rgba(255, 255, 255, 0.90);

    font-size:
        clamp(
            9.2px,
            0.63vw,
            11.5px
        );

    font-weight: 690;
    line-height: 1.22;
    letter-spacing: 0.015em;
}

.yb-ed3-engineering-v3__copy small {
    max-width: 184px;
    margin-top: 5px;

    color:
        rgba(255, 255, 255, 0.50);

    font-size:
        clamp(
            7.5px,
            0.46vw,
            8.8px
        );

    line-height: 1.42;
}

/*
 * Desktop callout coordinates.
 * These can be adjusted without editing JavaScript.
 */
.callout-reticle {
    top: 6.5%;
    left: 21.5%;
}

.callout-magnification {
    top: 68%;
    left: 20.5%;
}

.callout-elevation {
    top: 6.5%;
    left: 44.7%;
}

.callout-windage {
    top: 68%;
    left: 57.8%;
}

.callout-objective {
    top: 6.5%;
    left: 65%;
}

/* --------------------------------------------------------------------------
   06. ENVIRONMENTAL PROTECTION CARD
   -------------------------------------------------------------------------- */

.yb-ed3-engineering-v3__waterproof {
    top: 18px;
    right: 18px;
    bottom: 18px;

    width: 20.8%;

    border:
        1px solid
        rgba(255, 255, 255, 0.095);
    border-radius: 21px;

    background: #080a0e;

    box-shadow:
        0 16px 36px
        rgba(0, 0, 0, 0.20),
        inset 0 1px 0
        rgba(255, 255, 255, 0.035);

    mask-image: none;
    -webkit-mask-image: none;
}

.yb-ed3-engineering-v3__waterproof::before {
    display: none;
}

.yb-ed3-engineering-v3__waterproof > img {
    left: 50%;

    width: 108%;
    height: 108%;

    object-position: 48% center;

    filter:
        brightness(1.05)
        contrast(1.02)
        saturate(0.98);

    transform:
        translate(-50%, -50%)
        scale(1.01);
}

.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    filter:
        brightness(1.10)
        contrast(1.02)
        saturate(1);

    transform:
        translate(-50%, -50%)
        scale(1.035);
}

.yb-ed3-engineering-v3__waterproof-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.03) 0%,
            transparent 48%,
            rgba(3, 5, 8, 0.72) 100%
        );
}

.yb-ed3-engineering-v3__waterproof-scan {
    opacity: 0;

    animation-duration: 9s;
}

.yb-ed3-engineering-v3__waterproof-ring {
    display: none;
}

.yb-ed3-engineering-v3__waterproof-content {
    right: 18px;
    bottom: 18px;
    left: 18px;
}

.yb-ed3-engineering-v3__waterproof-label {
    margin-bottom: 7px;

    color:
        rgba(255, 255, 255, 0.52);

    font-size: 6.5px;
    font-weight: 690;
    letter-spacing: 0.13em;
}

.yb-ed3-engineering-v3__waterproof-content h3 {
    color: #ffffff;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-size:
        clamp(
            22px,
            1.55vw,
            30px
        );

    font-weight: 690;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.yb-ed3-engineering-v3__waterproof-content h3 em {
    margin-top: 4px;

    color: #a1a1a6;

    font-style: normal;
    font-weight: 590;
}

.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 235px;
    margin-top: 10px;

    color:
        rgba(255, 255, 255, 0.58);

    font-size: 8.2px;
    line-height: 1.48;
}

.yb-ed3-engineering-v3__sealed {
    width: fit-content;
    min-height: 25px;
    margin-top: 12px;
    padding: 0 10px;

    border:
        1px solid
        rgba(255, 255, 255, 0.10);
    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.055);

    color:
        rgba(255, 255, 255, 0.76);

    font-size: 6px;
    letter-spacing: 0.08em;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.yb-ed3-engineering-v3__sealed-dot {
    width: 5px;
    height: 5px;

    background: var(--yb-ed3-red);

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.08);

    animation:
        ybEd3SealedPulse
        2.4s
        ease-in-out
        infinite;
}

/* --------------------------------------------------------------------------
   07. ACTIVE STATUS
   -------------------------------------------------------------------------- */

.yb-ed3-engineering-v3__status {
    bottom: 18px;
    left: 34%;

    min-height: 38px;
    padding: 7px 11px;

    border:
        1px solid
        rgba(255, 255, 255, 0.07);
    border-radius: 13px;

    background:
        rgba(11, 14, 19, 0.58);

    gap: 9px;

    backdrop-filter:
        blur(12px)
        saturate(115%);
    -webkit-backdrop-filter:
        blur(12px)
        saturate(115%);
}

.yb-ed3-engineering-v3__status > span {
    color: var(--yb-ed3-red);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-size: 16px;
    font-weight: 690;
}

.yb-ed3-engineering-v3__status small {
    color:
        rgba(255, 255, 255, 0.34);

    font-size: 5px;
    letter-spacing: 0.12em;
}

.yb-ed3-engineering-v3__status strong {
    margin-top: 3px;

    color:
        rgba(255, 255, 255, 0.78);

    font-size: 7px;
    font-weight: 650;
    letter-spacing: 0.035em;
}

/* --------------------------------------------------------------------------
   08. TABLET
   -------------------------------------------------------------------------- */

@media (max-width: 1450px) {
    .yb-ed3-engineering-v3__stage {
        height:
            clamp(
                480px,
                35vw,
                535px
            );
    }

    .yb-ed3-engineering-v3__intro {
        left: 32px;
        width: 224px;
    }

    .callout-reticle {
        left: 20.3%;
    }

    .callout-magnification {
        left: 19.3%;
    }

    .callout-elevation {
        left: 43.8%;
    }

    .callout-windage {
        left: 57.2%;
    }

    .callout-objective {
        left: 64.5%;
    }
}

@media (max-width: 1080px) {
    .yb-ed3-engineering-v3 {
        padding:
            52px
            18px
            62px;
    }

    .yb-ed3-engineering-v3__stage {
        height: auto;
        min-height: 760px;
        padding: 24px 20px 20px;

        border-radius: 24px;
    }

    .yb-ed3-engineering-v3__background {
        top: 84px;
        height: 375px;

        filter:
            brightness(1.05)
            contrast(1.02)
            saturate(0.98);
    }

    .yb-ed3-engineering-v3__background-shade {
        background:
            linear-gradient(
                180deg,
                rgba(4, 6, 9, 0.72) 0%,
                rgba(4, 6, 9, 0.04) 30%,
                rgba(4, 6, 9, 0.05) 53%,
                rgba(4, 6, 9, 0.88) 67%,
                rgba(4, 6, 9, 1) 100%
            );
    }

    .yb-ed3-engineering-v3__intro {
        width: 52%;
    }

    .yb-ed3-engineering-v3__intro h2 {
        font-size: 35px;
    }

    .yb-ed3-engineering-v3__waterproof {
        top: 18px;
        right: 18px;
        bottom: auto;

        width: 34%;
        height: 246px;

        border-radius: 19px;
    }

    .yb-ed3-engineering-v3__callouts {
        margin-top: 395px;

        gap: 10px;

        border-top: 0;
    }

    .yb-ed3-engineering-v3__callout {
        min-height: 94px;
        padding: 15px 13px;

        border:
            1px solid
            rgba(255, 255, 255, 0.07);
        border-radius: 14px;

        background:
            rgba(255, 255, 255, 0.025);

        opacity: 0.68;
    }

    .yb-ed3-engineering-v3__callout:nth-child(odd) {
        border-right:
            1px solid
            rgba(255, 255, 255, 0.07);
    }

    .yb-ed3-engineering-v3__callout.is-active {
        background:
            rgba(227, 30, 36, 0.075);
    }

    .yb-ed3-engineering-v3__copy strong {
        font-size: 10px;
    }

    .yb-ed3-engineering-v3__copy small {
        font-size: 8px;
    }
}

/* --------------------------------------------------------------------------
   09. MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 680px) {
    .yb-ed3-engineering-v3 {
        padding:
            44px
            10px
            54px;
    }

    .yb-ed3-engineering-v3__stage {
        min-height: 900px;
        padding: 20px 13px;

        border-radius: 20px;
    }

    .yb-ed3-engineering-v3__intro {
        width: 100%;
        padding-right: 128px;
    }

    .yb-ed3-engineering-v3__eyebrow {
        font-size: 6.5px;
    }

    .yb-ed3-engineering-v3__intro h2 {
        font-size: 28px;
    }

    .yb-ed3-engineering-v3__intro-line {
        width: 165px;
    }

    .yb-ed3-engineering-v3__background {
        top: 110px;
        height: 282px;

        object-position: 52% center;
    }

    .yb-ed3-engineering-v3__waterproof {
        top: 16px;
        right: 13px;

        width: 112px;
        height: 112px;

        border-radius: 20px;
    }

    .yb-ed3-engineering-v3__waterproof-content,
    .yb-ed3-engineering-v3__waterproof-scan {
        display: none;
    }

    .yb-ed3-engineering-v3__callouts {
        margin-top: 326px;
        gap: 8px;
    }

    .yb-ed3-engineering-v3__callout {
        min-height: 82px;
        padding: 13px 10px;
    }

    .yb-ed3-engineering-v3__callout:nth-child(odd) {
        border-right:
            1px solid
            rgba(255, 255, 255, 0.07);
    }

    .yb-ed3-engineering-v3__copy strong {
        font-size: 9px;
    }

    .yb-ed3-engineering-v3__copy small {
        font-size: 7.6px;
    }

    .yb-ed3-engineering-v3__mobile-progress {
        top: 393px;
    }

    .yb-ed3-engineering-v3__mobile-progress
    span.is-active {
        background:
            var(--yb-ed3-red);
    }
}

/* --------------------------------------------------------------------------
   10. REDUCED MOTION
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-engineering-v3__connector,
    .yb-ed3-engineering-v3__sealed-dot {
        animation: none !important;
    }
}



/* ==========================================================================
   v4.1 INTEGRATED GRAPHITE ENGINEERING — FINAL OVERRIDES

   Two calibration areas are intentionally grouped at the beginning:
   A. HOTSPOT ENDPOINT CALIBRATION
   B. CALLOUT CARD POSITION CALIBRATION

   The connector paths are calculated automatically by JavaScript.
   Therefore:
   - Move a hotspot variable to move the line endpoint.
   - Move a callout card to move the line starting point.
   ========================================================================== */


/* ==========================================================================
   A. HOTSPOT ENDPOINT CALIBRATION
   These five X/Y pairs control the endpoint circles on the product image.

   X:
   larger number = move right
   smaller number = move left

   Y:
   larger number = move down
   smaller number = move up
   ========================================================================== */

.yb-ed3-engineering-v3__stage {
    --reticle-x: 37.8%;
    --reticle-y: 56.8%;

    --magnification-x: 35.4%;
    --magnification-y: 58.7%;

    --elevation-x: 50.8%;
    --elevation-y: 43.4%;

    --windage-x: 50.5%;
    --windage-y: 54.8%;

    --objective-x: 68.4%;
    --objective-y: 55.8%;
}


/* ==========================================================================
   B. CALLOUT CARD POSITION CALIBRATION
   These five blocks control the text-card positions.

   top:
   larger number = move down
   smaller number = move up

   left:
   larger number = move right
   smaller number = move left
   ========================================================================== */

.callout-reticle {
    top: 9.5%;
    left: 24.8%;
}

.callout-magnification {
    top: 67%;
    left: 25.2%;
}

.callout-elevation {
    top: 9.5%;
    left: 45.5%;
}

.callout-windage {
    top: 67%;
    left: 56.4%;
}

.callout-objective {
    top: 9.5%;
    left: 64.2%;
}


/* ==========================================================================
   01. FULL-WIDTH SECTION INTEGRATION
   Remove the isolated rounded-card appearance so this section connects
   naturally with the dark sections before and after it.
   ========================================================================== */

#ed3-technology {
    scroll-margin-top:
        var(--ed3-anchor-offset, 118px);
}

.yb-ed3-engineering-v3 {
    padding: 0 !important;

    background:
        linear-gradient(
            180deg,
            #0b0d12 0%,
            #080a0e 100%
        ) !important;

    color: #f5f5f7;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;
}

.yb-ed3-engineering-v3__stage {
    width: min(1600px, 100%) !important;
    height:
        clamp(
            520px,
            34vw,
            610px
        ) !important;

    margin: 0 auto !important;

    border: 0 !important;
    border-top:
        1px solid
        rgba(255, 255, 255, 0.055) !important;
    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.055) !important;

    border-radius: 0 !important;

    background:
        linear-gradient(
            145deg,
            #11141a 0%,
            #090b10 58%,
            #06080b 100%
        ) !important;

    box-shadow: none !important;
}


/* ==========================================================================
   02. PRODUCT IMAGE CLARITY
   ========================================================================== */

.yb-ed3-engineering-v3__background {
    object-position: center 57% !important;

    filter:
        brightness(1.12)
        contrast(1.025)
        saturate(0.98) !important;

    transform:
        translate3d(0, 0, 0)
        scale(1.008) !important;
}

.yb-ed3-engineering-v3__background-shade {
    background:
        linear-gradient(
            90deg,
            rgba(4, 6, 9, 0.82) 0%,
            rgba(4, 6, 9, 0.62) 14%,
            rgba(4, 6, 9, 0.10) 29%,
            rgba(4, 6, 9, 0.00) 61%,
            rgba(4, 6, 9, 0.03) 75%,
            rgba(4, 6, 9, 0.34) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4, 6, 9, 0.06) 0%,
            rgba(4, 6, 9, 0.00) 54%,
            rgba(4, 6, 9, 0.25) 100%
        ) !important;
}

.yb-ed3-engineering-v3__technical-grid {
    opacity: 0.025 !important;

    background:
        linear-gradient(
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px
        ) !important;

    background-size:
        72px 72px !important;
}

.yb-ed3-engineering-v3__ambient-light {
    opacity: 0.15 !important;

    background:
        radial-gradient(
            ellipse,
            rgba(255, 255, 255, 0.13),
            transparent 68%
        ) !important;
}


/* ==========================================================================
   03. FORMAL TYPOGRAPHY
   Strong selectors and !important are used because some WordPress themes
   apply heading and em fonts globally.
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__intro {
    top: 50% !important;
    left:
        clamp(
            36px,
            4vw,
            68px
        ) !important;

    width:
        clamp(
            235px,
            17vw,
            292px
        ) !important;

    transform:
        translateY(-50%) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__eyebrow {
    position: relative;

    margin-bottom: 15px !important;
    padding-left: 14px !important;

    color:
        rgba(255, 255, 255, 0.54) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size: 8px !important;
    font-weight: 720 !important;
    line-height: 1 !important;
    letter-spacing: 0.14em !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__eyebrow::before {
    position: absolute;
    top: 50%;
    left: 0;

    width: 6px;
    height: 6px;
    border-radius: 50%;

    background: #e31e24;

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.09);

    content: "";

    transform:
        translateY(-50%);
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__intro h2 {
    margin: 0 !important;

    color: #ffffff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:
        clamp(
            36px,
            2.65vw,
            50px
        ) !important;

    font-style: normal !important;
    font-weight: 720 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
    text-transform: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__intro h2 em {
    display: block !important;

    margin-top: 8px !important;

    color: #8e8e93 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size: 0.66em !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.10 !important;
    letter-spacing: -0.035em !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__intro-line {
    width: 78% !important;
    margin:
        20px
        0
        16px !important;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.24),
            transparent
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__intro p {
    max-width: 266px !important;

    color:
        rgba(255, 255, 255, 0.61) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size: 10.5px !important;
    font-weight: 420 !important;
    line-height: 1.58 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__interaction-hint {
    margin-top: 18px !important;

    color:
        rgba(255, 255, 255, 0.38) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 6.5px !important;
    letter-spacing: 0.08em !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__interaction-hint svg {
    stroke:
        rgba(255, 255, 255, 0.56) !important;
}


/* ==========================================================================
   04. CONNECTORS AND ENDPOINTS
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__connector {
    stroke:
        rgba(255, 255, 255, 0.26) !important;

    stroke-width: 0.85 !important;
    stroke-dasharray: 4 8 !important;

    opacity: 0.10 !important;

    filter: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__connector.is-active {
    stroke:
        rgba(227, 30, 36, 0.86) !important;

    stroke-width: 1.15 !important;
    opacity: 0.92 !important;

    filter: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__hotspot {
    width: 10px !important;
    height: 10px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.46) !important;
    border-radius: 50% !important;

    background:
        rgba(255, 255, 255, 0.12) !important;

    opacity: 0.42 !important;

    box-shadow: none !important;

    transform:
        translate(-50%, -50%)
        scale(0.84) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__hotspot::before {
    display: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__hotspot i {
    width: 3px !important;
    height: 3px !important;

    background:
        rgba(255, 255, 255, 0.88) !important;

    box-shadow: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__hotspot.is-active {
    width: 11px !important;
    height: 11px !important;

    border-color:
        rgba(255, 255, 255, 0.94) !important;

    background: #e31e24 !important;

    opacity: 1 !important;

    box-shadow:
        0 0 0 5px
        rgba(227, 30, 36, 0.10),
        0 0 14px
        rgba(227, 30, 36, 0.27) !important;

    transform:
        translate(-50%, -50%)
        scale(1) !important;
}


/* ==========================================================================
   05. CALLOUT CARDS
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout {
    width:
        clamp(
            184px,
            12vw,
            216px
        ) !important;

    min-height: 68px !important;
    padding: 11px 12px !important;

    grid-template-columns:
        30px
        minmax(0, 1fr) !important;

    gap: 10px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.065) !important;
    border-radius: 13px !important;

    background:
        rgba(12, 15, 20, 0.60) !important;

    color: #ffffff !important;
    opacity: 0.67 !important;

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.025) !important;

    backdrop-filter:
        blur(12px)
        saturate(112%);
    -webkit-backdrop-filter:
        blur(12px)
        saturate(112%);

    transform: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout:hover,
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout:focus-visible {
    border-color:
        rgba(255, 255, 255, 0.13) !important;

    background:
        rgba(21, 25, 32, 0.82) !important;

    opacity: 0.94 !important;

    transform:
        translateY(-1px) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout.is-active {
    border-color:
        rgba(227, 30, 36, 0.31) !important;

    background:
        rgba(21, 25, 32, 0.91) !important;

    opacity: 1 !important;

    box-shadow:
        0 13px 30px
        rgba(0, 0, 0, 0.16),
        inset 3px 0 0
        #e31e24 !important;

    transform:
        translateY(-1px) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__number {
    width: 28px !important;
    height: 28px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.13) !important;
    border-radius: 50% !important;

    background:
        rgba(255, 255, 255, 0.045) !important;

    color:
        rgba(255, 255, 255, 0.66) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    box-shadow: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout.is-active
.yb-ed3-engineering-v3__number {
    border-color:
        rgba(227, 30, 36, 0.48) !important;

    background:
        rgba(227, 30, 36, 0.13) !important;

    color: #ffffff !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__copy strong {
    display: block !important;

    color:
        rgba(255, 255, 255, 0.93) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size:
        clamp(
            9.3px,
            0.64vw,
            11.4px
        ) !important;

    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.24 !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__copy small {
    display: block !important;

    max-width: 172px !important;
    margin-top: 5px !important;

    color:
        rgba(255, 255, 255, 0.51) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size:
        clamp(
            7.5px,
            0.45vw,
            8.7px
        ) !important;

    font-style: normal !important;
    font-weight: 420 !important;
    line-height: 1.42 !important;
    letter-spacing: 0 !important;
}


/* ==========================================================================
   06. INTEGRATED ENVIRONMENTAL PROTECTION PANEL
   It is no longer a floating rounded card. It becomes the right-hand
   technical slice of the same dark section.
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 21.5% !important;

    border: 0 !important;
    border-left:
        1px solid
        rgba(255, 255, 255, 0.065) !important;
    border-radius: 0 !important;

    background: #080a0e !important;

    box-shadow: none !important;

    mask-image: none !important;
    -webkit-mask-image: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::before {
    display: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof > img {
    left: 50% !important;

    width: 111% !important;
    height: 111% !important;

    object-position:
        48% center !important;

    filter:
        brightness(1.10)
        contrast(1.02)
        saturate(0.98) !important;

    transform:
        translate(-50%, -50%)
        scale(1.015) !important;
}

.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    filter:
        brightness(1.14)
        contrast(1.02)
        saturate(1) !important;

    transform:
        translate(-50%, -50%)
        scale(1.035) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.01) 0%,
            transparent 51%,
            rgba(3, 5, 8, 0.68) 100%
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-ring {
    display: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-scan {
    opacity: 0.10 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content {
    right: 20px !important;
    bottom: 22px !important;
    left: 20px !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-label {
    margin-bottom: 8px !important;

    color:
        rgba(255, 255, 255, 0.52) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 6.5px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 {
    margin: 0 !important;

    color: #ffffff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:
        clamp(
            22px,
            1.45vw,
            29px
        ) !important;

    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 0.99 !important;
    letter-spacing: -0.04em !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 em {
    display: block !important;

    margin-top: 4px !important;

    color: #a1a1a6 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 0.82em !important;
    font-style: normal !important;
    font-weight: 590 !important;
    line-height: 1.04 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 235px !important;
    margin-top: 10px !important;

    color:
        rgba(255, 255, 255, 0.58) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 8.2px !important;
    line-height: 1.48 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__sealed {
    width: fit-content !important;
    min-height: 25px !important;

    margin-top: 12px !important;
    padding:
        0
        10px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.10) !important;
    border-radius: 999px !important;

    background:
        rgba(255, 255, 255, 0.055) !important;

    color:
        rgba(255, 255, 255, 0.76) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 6px !important;
    font-weight: 650 !important;
    letter-spacing: 0.08em !important;
}


/* ==========================================================================
   07. ACTIVE STATUS
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__status {
    bottom: 18px !important;
    left: 37.5% !important;

    min-height: 38px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.07) !important;
    border-radius: 12px !important;

    background:
        rgba(10, 13, 18, 0.68) !important;

    box-shadow: none !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__status > span {
    color: #e31e24 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        Arial,
        sans-serif !important;

    font-size: 15px !important;
    font-weight: 700 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__status small,
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__status strong {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif !important;
}


/* ==========================================================================
   08. TABLET
   ========================================================================== */

@media (max-width: 1080px) {

    .yb-ed3-engineering-v3 {
        padding: 0 !important;
    }

    .yb-ed3-engineering-v3__stage {
        min-height: 760px !important;
        padding:
            24px
            20px
            20px !important;

        border-radius: 0 !important;
    }

    .yb-ed3-engineering-v3__background {
        top: 84px !important;
        height: 375px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__intro {
        left: 28px !important;
        width: 50% !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        top: 18px !important;
        right: 18px !important;
        bottom: auto !important;

        width: 34% !important;
        height: 246px !important;

        border:
            1px solid
            rgba(255, 255, 255, 0.08) !important;
        border-radius: 18px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__callouts {
        margin-top: 395px !important;
        gap: 10px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__callout {
        min-height: 94px !important;
        padding:
            15px
            13px !important;

        opacity: 0.72 !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__copy strong {
        font-size: 10px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__copy small {
        font-size: 8px !important;
    }
}


/* ==========================================================================
   09. MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-engineering-v3__stage {
        min-height: 900px !important;

        padding:
            20px
            13px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__intro {
        left: 13px !important;
        width: 100% !important;
        padding-right: 128px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__intro h2 {
        font-size: 28px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        top: 16px !important;
        right: 13px !important;

        width: 112px !important;
        height: 112px !important;

        border-radius: 18px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__callouts {
        margin-top: 326px !important;
        gap: 8px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__callout {
        min-height: 82px !important;
        padding:
            13px
            10px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__copy strong {
        font-size: 9px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__copy small {
        font-size: 7.6px !important;
    }
}


/* ==========================================================================
   10. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .yb-ed3-engineering-v3__connector,
    .yb-ed3-engineering-v3__sealed-dot {
        animation: none !important;
    }
}



/* ==========================================================================
   11. v4.2 RIGHT-SIDE LENS INTEGRATION PATCH
   Goal:
   - Make the right waterproof / lens image feel like part of the same scene.
   - Remove the hard stitched-panel feeling.
   - Use feathered edges and a continuous gradient blend.
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__stage {
    overflow: hidden !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 22.8% !important;

    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;

    background:
        linear-gradient(
            90deg,
            rgba(8, 10, 14, 0.00) 0%,
            rgba(8, 10, 14, 0.08) 12%,
            rgba(8, 10, 14, 0.28) 30%,
            rgba(8, 10, 14, 0.62) 62%,
            rgba(8, 10, 14, 0.94) 100%
        ) !important;

    isolation: isolate !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::before {
    display: block !important;
    position: absolute !important;
    content: "" !important;
    top: 0 !important;
    left: -90px !important;
    bottom: 0 !important;
    width: 150px !important;
    pointer-events: none !important;
    z-index: 2 !important;

    background:
        linear-gradient(
            90deg,
            rgba(8, 10, 14, 0.00) 0%,
            rgba(8, 10, 14, 0.03) 20%,
            rgba(8, 10, 14, 0.16) 48%,
            rgba(8, 10, 14, 0.44) 78%,
            rgba(8, 10, 14, 0.70) 100%
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof > img {
    left: 44% !important;
    width: 128% !important;
    height: 112% !important;

    object-position: 24% center !important;

    filter:
        brightness(1.08)
        contrast(1.02)
        saturate(0.98) !important;

    opacity: 0.96 !important;

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.20) 8%,
            rgba(0, 0, 0, 0.70) 18%,
            #000 30%,
            #000 100%
        ) !important;
    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.20) 8%,
            rgba(0, 0, 0, 0.70) 18%,
            #000 30%,
            #000 100%
        ) !important;

    transform:
        translate(-50%, -50%)
        scale(1.02) !important;
}

.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    filter:
        brightness(1.11)
        contrast(1.02)
        saturate(0.99) !important;

    transform:
        translate(-50%, -50%)
        scale(1.03) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(3, 5, 8, 0.00) 0%,
            rgba(3, 5, 8, 0.04) 15%,
            rgba(3, 5, 8, 0.24) 40%,
            rgba(3, 5, 8, 0.52) 72%,
            rgba(3, 5, 8, 0.76) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.02) 0%,
            transparent 46%,
            rgba(3, 5, 8, 0.78) 100%
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-scan {
    opacity: 0.06 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content {
    left: 22px !important;
    right: 18px !important;
    bottom: 20px !important;
    z-index: 3 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-label {
    color: rgba(255, 255, 255, 0.50) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 {
    max-width: 210px !important;
    font-size: clamp(20px, 1.36vw, 27px) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 215px !important;
}

@media (max-width: 1080px) {
    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        width: 33% !important;
        background:
            linear-gradient(
                90deg,
                rgba(8, 10, 14, 0.00) 0%,
                rgba(8, 10, 14, 0.12) 18%,
                rgba(8, 10, 14, 0.58) 60%,
                rgba(8, 10, 14, 0.94) 100%
            ) !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof::before {
        left: -60px !important;
        width: 100px !important;
    }
}

@media (max-width: 680px) {
    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        width: 112px !important;
        background: rgba(8, 10, 14, 0.92) !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof::before {
        display: none !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        left: 50% !important;
        width: 126% !important;
        object-position: 36% center !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }
}



/* ==========================================================================
   12. v4.3 ORGANIC LENS MONTAGE INTEGRATION

   Objective:
   - The right lens image must read as part of the same engineering scene.
   - No hard vertical split, no independent panel, no stitched-card feeling.
   - The green lens remains visible, but its saturation and contrast are
     restrained so it does not overpower the central product.
   ========================================================================== */

/* Keep the complete composition clipped as one unified scene. */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__stage {
    overflow: hidden !important;
    isolation: isolate !important;
}

/*
 * The lens montage now begins inside the central scene instead of starting
 * at a hard right-hand boundary.
 */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof {
    top: -1.5% !important;
    right: -1.2% !important;
    bottom: -1.5% !important;
    left: 67.2% !important;

    width: auto !important;

    z-index: 10 !important;

    overflow: hidden !important;

    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;

    /*
     * Feather the complete montage from transparent to fully visible.
     * Increasing 42% makes the blend softer and longer.
     */
    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.10) 9%,
            rgba(0, 0, 0, 0.42) 22%,
            rgba(0, 0, 0, 0.82) 34%,
            #000 42%,
            #000 100%
        ) !important;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.10) 9%,
            rgba(0, 0, 0, 0.42) 22%,
            rgba(0, 0, 0, 0.82) 34%,
            #000 42%,
            #000 100%
        ) !important;
}

/*
 * A broad dark feather sits over the joining area.
 * It hides any remaining difference in exposure between the two images.
 */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::before {
    display: block !important;

    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    z-index: 3 !important;

    width: 46% !important;

    background:
        linear-gradient(
            90deg,
            rgba(8, 10, 14, 0.00) 0%,
            rgba(8, 10, 14, 0.07) 22%,
            rgba(8, 10, 14, 0.22) 52%,
            rgba(8, 10, 14, 0.48) 100%
        ) !important;

    content: "" !important;
    pointer-events: none !important;
}

/*
 * This second layer makes the bottom copy readable without creating
 * a visible rectangular caption box.
 */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::after {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: 4 !important;

    background:
        radial-gradient(
            ellipse at 75% 34%,
            rgba(255, 255, 255, 0.035) 0%,
            transparent 46%
        ),
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.01) 0%,
            rgba(3, 5, 8, 0.00) 48%,
            rgba(3, 5, 8, 0.22) 66%,
            rgba(3, 5, 8, 0.76) 100%
        ) !important;

    content: "" !important;
    pointer-events: none !important;
}

/* Lens image: wider crop, softer colour and lower visual aggression. */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof > img {
    top: 50% !important;
    left: 48% !important;

    z-index: 1 !important;

    width: 126% !important;
    height: 112% !important;

    object-fit: cover !important;
    object-position: 29% center !important;

    opacity: 0.94 !important;

    filter:
        brightness(1.00)
        contrast(1.015)
        saturate(0.82) !important;

    mask-image: none !important;
    -webkit-mask-image: none !important;

    transform:
        translate(-50%, -50%)
        scale(1.015) !important;

    transition:
        transform 900ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        filter 500ms ease,
        opacity 500ms ease !important;
}

.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    opacity: 0.96 !important;

    filter:
        brightness(1.025)
        contrast(1.015)
        saturate(0.86) !important;

    transform:
        translate(-50%, -50%)
        scale(1.027) !important;
}

/* Remove the remaining panel-like overlay boundary. */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-overlay {
    z-index: 2 !important;

    background:
        linear-gradient(
            90deg,
            rgba(5, 7, 10, 0.00) 0%,
            rgba(5, 7, 10, 0.03) 20%,
            rgba(5, 7, 10, 0.13) 45%,
            rgba(5, 7, 10, 0.32) 72%,
            rgba(5, 7, 10, 0.54) 100%
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-scan {
    z-index: 5 !important;
    opacity: 0.035 !important;
}

/* Keep decorative rings removed. */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-ring {
    display: none !important;
}

/*
 * Copy is positioned within the visible part of the montage.
 * It has no card, border or isolated background.
 */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content {
    right: 26px !important;
    bottom: 24px !important;
    left: 34% !important;

    z-index: 8 !important;

    max-width: 245px !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-label {
    margin-bottom: 7px !important;

    color:
        rgba(255, 255, 255, 0.46) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 {
    max-width: 230px !important;

    font-size:
        clamp(
            20px,
            1.34vw,
            27px
        ) !important;

    line-height: 0.98 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 em {
    color:
        rgba(255, 255, 255, 0.64) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 230px !important;
    margin-top: 9px !important;

    color:
        rgba(255, 255, 255, 0.55) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__sealed {
    min-height: 24px !important;
    margin-top: 11px !important;

    border-color:
        rgba(255, 255, 255, 0.085) !important;

    background:
        rgba(12, 15, 20, 0.32) !important;

    backdrop-filter:
        blur(8px)
        saturate(110%) !important;
    -webkit-backdrop-filter:
        blur(8px)
        saturate(110%) !important;
}

/*
 * Pull the objective callout slightly left so it remains clearly inside
 * the central engineering zone, not inside the lens montage.
 */
.callout-objective {
    top: 9.5% !important;
    left: 61.8% !important;
}

/* The objective endpoint stays on the main product objective housing. */
.yb-ed3-engineering-v3__stage {
    --objective-x: 67.2%;
    --objective-y: 55.8%;
}

/* ==========================================================================
   TABLET
   At this width the montage remains integrated, but the feather is shorter.
   ========================================================================== */

@media (max-width: 1080px) {

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        top: 18px !important;
        right: 18px !important;
        bottom: auto !important;
        left: auto !important;

        width: 34% !important;
        height: 246px !important;

        border:
            1px solid
            rgba(255, 255, 255, 0.075) !important;
        border-radius: 18px !important;

        background:
            rgba(8, 10, 14, 0.72) !important;

        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof::before {
        display: none !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        left: 50% !important;

        width: 115% !important;
        height: 115% !important;

        object-position: 38% center !important;

        opacity: 0.96 !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof-content {
        right: 17px !important;
        bottom: 17px !important;
        left: 17px !important;

        max-width: none !important;
    }
}

/* ==========================================================================
   MOBILE
   Preserve the compact square detail image already used on small screens.
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        top: 16px !important;
        right: 13px !important;

        width: 112px !important;
        height: 112px !important;

        border-radius: 18px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof::after {
        background:
            linear-gradient(
                180deg,
                transparent 42%,
                rgba(3, 5, 8, 0.64) 100%
            ) !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        left: 50% !important;

        width: 126% !important;
        object-position: 36% center !important;

        filter:
            brightness(1.03)
            contrast(1.02)
            saturate(0.88) !important;
    }
}



/* ==========================================================================
   13. v4.4 FINAL BALANCE OVERRIDES

   This block is intentionally the final CSS authority for the desktop view.
   It directly applies the approved refinements:
   - reduce the visual weight of the right lens montage;
   - recalibrate all five connector endpoints;
   - improve callout readability;
   - remove the redundant ACTIVE SYSTEM card;
   - reduce excess bottom height;
   - keep the section continuous and restrained.
   ========================================================================== */


/* ==========================================================================
   01. FINAL SECTION HEIGHT
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__stage {
    height:
        clamp(
            490px,
            31vw,
            560px
        ) !important;
}


/* ==========================================================================
   02. FINAL HOTSPOT ENDPOINT CALIBRATION

   These variables are the actual connector endpoints.
   JavaScript automatically redraws every line from its callout card
   to these coordinates.
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__stage {
    /* 01 — reticle / eyepiece optical region */
    --reticle-x: 31.8% !important;
    --reticle-y: 50.5% !important;

    /* 02 — magnification ring */
    --magnification-x: 35.1% !important;
    --magnification-y: 51.8% !important;

    /* 03 — elevation turret */
    --elevation-x: 50.1% !important;
    --elevation-y: 39.8% !important;

    /* 04 — windage turret */
    --windage-x: 50.6% !important;
    --windage-y: 53.6% !important;

    /* 05 — main product objective housing */
    --objective-x: 65.8% !important;
    --objective-y: 51.8% !important;
}


/* ==========================================================================
   03. FINAL CALLOUT READABILITY
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout {
    min-height: 70px !important;
    opacity: 0.74 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__callout.is-active {
    opacity: 1 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__copy strong {
    font-size:
        clamp(
            10px,
            0.68vw,
            12px
        ) !important;

    line-height: 1.25 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__copy small {
    max-width: 178px !important;

    color:
        rgba(255, 255, 255, 0.62) !important;

    font-size:
        clamp(
            8.2px,
            0.49vw,
            9.4px
        ) !important;

    line-height: 1.45 !important;
}


/* ==========================================================================
   04. REMOVE REDUNDANT ACTIVE STATUS CARD
   The selected callout already communicates the active state.
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__status {
    display: none !important;
}


/* ==========================================================================
   05. REDUCE RIGHT LENS VISUAL WEIGHT
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof {
    left: 69.4% !important;
    right: -1.4% !important;

    /*
     * A longer feather makes the detail image appear as part of the
     * engineering background rather than a second independent picture.
     */
    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.06) 10%,
            rgba(0, 0, 0, 0.28) 24%,
            rgba(0, 0, 0, 0.62) 38%,
            rgba(0, 0, 0, 0.88) 47%,
            #000 52%,
            #000 100%
        ) !important;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.06) 10%,
            rgba(0, 0, 0, 0.28) 24%,
            rgba(0, 0, 0, 0.62) 38%,
            rgba(0, 0, 0, 0.88) 47%,
            #000 52%,
            #000 100%
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::before {
    width: 54% !important;

    background:
        linear-gradient(
            90deg,
            rgba(8, 10, 14, 0.00) 0%,
            rgba(8, 10, 14, 0.08) 24%,
            rgba(8, 10, 14, 0.25) 56%,
            rgba(8, 10, 14, 0.54) 100%
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof > img {
    left: 51% !important;

    width: 118% !important;
    height: 108% !important;

    object-position: 31% center !important;

    opacity: 0.89 !important;

    filter:
        brightness(0.98)
        contrast(1.01)
        saturate(0.70) !important;

    transform:
        translate(-50%, -50%)
        scale(1.008) !important;
}

.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    opacity: 0.92 !important;

    filter:
        brightness(1.00)
        contrast(1.01)
        saturate(0.74) !important;

    transform:
        translate(-50%, -50%)
        scale(1.018) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(5, 7, 10, 0.00) 0%,
            rgba(5, 7, 10, 0.05) 22%,
            rgba(5, 7, 10, 0.17) 48%,
            rgba(5, 7, 10, 0.39) 74%,
            rgba(5, 7, 10, 0.60) 100%
        ) !important;
}


/* ==========================================================================
   06. RIGHT-SIDE COPY BALANCE
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content {
    right: 24px !important;
    bottom: 32px !important;
    left: 30% !important;

    max-width: 218px !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 {
    max-width: 215px !important;

    font-size:
        clamp(
            19px,
            1.25vw,
            25px
        ) !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 215px !important;

    font-size: 8.5px !important;
    line-height: 1.46 !important;
}

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__sealed {
    margin-top: 10px !important;
}


/* ==========================================================================
   07. KEEP OBJECTIVE CALLOUT OUTSIDE THE MONTAGE
   ========================================================================== */

.yb-ed3-engineering-v3
.callout-objective {
    top: 9.5% !important;
    left: 60.8% !important;
}


/* ==========================================================================
   08. TABLET AND MOBILE
   Do not apply the desktop montage recalibration to the compact layouts.
   ========================================================================== */

@media (max-width: 1080px) {

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__stage {
        height: auto !important;
        min-height: 760px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        left: auto !important;
        right: 18px !important;

        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        left: 50% !important;

        width: 115% !important;
        height: 115% !important;

        object-position: 38% center !important;

        opacity: 0.96 !important;

        filter:
            brightness(1.04)
            contrast(1.02)
            saturate(0.86) !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__status {
        display: none !important;
    }
}

@media (max-width: 680px) {

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__stage {
        min-height: 900px !important;
    }

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        width: 126% !important;

        object-position: 36% center !important;

        filter:
            brightness(1.03)
            contrast(1.02)
            saturate(0.88) !important;
    }
}



/* ==========================================================================
   14. v4.9 CLASSIC SPLIT PROTECTION PANEL

   Restore the original right-side presentation:
   - independent right technical panel;
   - clear vertical divider;
   - sharp lens image;
   - no feather blending;
   - no mask-image;
   - no attempt to merge the two images;
   - keep the refined typography, hotspots and callout positions from v4.4.
   ========================================================================== */


/* ==========================================================================
   01. RIGHT TECHNICAL PANEL
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof {
    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;

    z-index: 12 !important;

    width: 21.8% !important;
    height: 100% !important;

    overflow: hidden !important;
    pointer-events: none !important;

    border: 0 !important;
    border-left:
        1px solid
        rgba(255, 255, 255, 0.075) !important;
    border-radius: 0 !important;

    background: #080a0e !important;

    box-shadow:
        -18px 0 34px
        rgba(0, 0, 0, 0.12) !important;

    mask-image: none !important;
    -webkit-mask-image: none !important;
}


/* Remove all later blending layers. */
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::before,
.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof::after {
    display: none !important;
    content: none !important;
}


/* ==========================================================================
   02. SHARP LENS IMAGE
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof > img {
    position: absolute !important;

    top: 50% !important;
    left: 50% !important;
    right: auto !important;

    z-index: 1 !important;

    width: 112% !important;
    height: 112% !important;

    display: block !important;

    object-fit: cover !important;
    object-position: 46% center !important;

    opacity: 1 !important;

    filter:
        brightness(1.06)
        contrast(1.02)
        saturate(0.94) !important;

    mix-blend-mode: normal !important;

    mask-image: none !important;
    -webkit-mask-image: none !important;

    image-rendering: auto !important;

    transform:
        translate(-50%, -50%)
        scale(1.00) !important;

    transition:
        transform 850ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        filter 350ms ease !important;

    user-select: none !important;
    pointer-events: none !important;
}


.yb-ed3-engineering-v3__stage:hover
.yb-ed3-engineering-v3__waterproof > img {
    filter:
        brightness(1.09)
        contrast(1.02)
        saturate(0.96) !important;

    transform:
        translate(-50%, -50%)
        scale(1.025) !important;
}


/* ==========================================================================
   03. SIMPLE PANEL OVERLAY
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-overlay {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: 2 !important;

    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.02) 0%,
            rgba(3, 5, 8, 0.00) 48%,
            rgba(3, 5, 8, 0.72) 100%
        ) !important;

    pointer-events: none !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-scan {
    display: block !important;
    opacity: 0.04 !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-ring {
    display: none !important;
}


/* ==========================================================================
   04. RIGHT-PANEL COPY
   ========================================================================== */

.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content {
    position: absolute !important;

    right: 20px !important;
    bottom: 22px !important;
    left: 20px !important;

    z-index: 8 !important;

    width: auto !important;
    max-width: none !important;

    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    text-shadow:
        0 2px 16px
        rgba(0, 0, 0, 0.42) !important;

    transform: none !important;
    pointer-events: none !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-label {
    position: relative !important;

    margin-bottom: 8px !important;
    padding-left: 12px !important;

    color:
        rgba(255, 255, 255, 0.53) !important;

    font-size: 6.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-label::before {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;

    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;

    background: #e31e24 !important;

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.08) !important;

    content: "" !important;

    transform:
        translateY(-50%) !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 {
    margin: 0 !important;

    max-width: 230px !important;

    color: #ffffff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-size:
        clamp(
            21px,
            1.40vw,
            28px
        ) !important;

    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 0.99 !important;
    letter-spacing: -0.04em !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content h3 em {
    display: block !important;

    margin-top: 4px !important;

    color:
        rgba(255, 255, 255, 0.70) !important;

    font-style: normal !important;
    font-weight: 590 !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__waterproof-content p {
    max-width: 226px !important;
    margin-top: 10px !important;

    color:
        rgba(255, 255, 255, 0.59) !important;

    font-size: 8.3px !important;
    line-height: 1.48 !important;
}


.yb-ed3-engineering-v3
.yb-ed3-engineering-v3__sealed {
    width: fit-content !important;
    min-height: 25px !important;

    margin-top: 11px !important;
    padding:
        0
        10px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.10) !important;
    border-radius: 999px !important;

    background:
        rgba(255, 255, 255, 0.055) !important;

    color:
        rgba(255, 255, 255, 0.76) !important;
}


/* ==========================================================================
   05. KEEP MAIN FEATURE CARDS OUTSIDE THE RIGHT PANEL
   ========================================================================== */

.yb-ed3-engineering-v3
.callout-objective {
    top: 9.5% !important;
    left: 59.7% !important;
}


/* ==========================================================================
   06. TABLET
   ========================================================================== */

@media (max-width: 1080px) {

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        top: 18px !important;
        right: 18px !important;
        bottom: auto !important;

        width: 34% !important;
        height: 246px !important;

        border:
            1px solid
            rgba(255, 255, 255, 0.08) !important;
        border-radius: 18px !important;

        box-shadow:
            0 14px 30px
            rgba(0, 0, 0, 0.18) !important;
    }


    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        width: 116% !important;
        height: 116% !important;
    }


    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof-content {
        right: 17px !important;
        bottom: 17px !important;
        left: 17px !important;
    }
}


/* ==========================================================================
   07. MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof {
        top: 16px !important;
        right: 13px !important;

        width: 112px !important;
        height: 112px !important;

        border-radius: 18px !important;
    }


    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof > img {
        width: 126% !important;
        height: 126% !important;
    }


    .yb-ed3-engineering-v3
    .yb-ed3-engineering-v3__waterproof-content {
        display: none !important;
    }
}



/* ========================================================================== 
   v5.2 INDEPENDENT TABLET / MOBILE EDITORIAL LAYOUT
   Desktop uses the original engineering map above 1180 px. Tablet and mobile screens use a separate
   static DOM block, so images are always visible and no hover/absolute layout
   can create blank space.
   ========================================================================== */

.yb-ed3-engineering-mobile {
    display: none;
}

/*
   Hard layout separation:
   - 1181 px and above: original interactive desktop engineering stage.
   - 1180 px and below: independent static tablet/mobile document flow.
   There is no intermediate range in which the desktop absolute-position
   canvas is partially compressed.
*/
@media (min-width: 1181px) {
    .yb-ed3-engineering-v3__stage {
        display: block !important;
    }

    .yb-ed3-engineering-mobile {
        display: none !important;
    }
}

@media (max-width: 1180px) {
    #ed3-technology {
        scroll-margin-top:
            var(--ed3-anchor-offset, 72px) !important;
    }

    .yb-ed3-engineering-v3 {
        width: 100% !important;
        margin: 0 !important;
        padding:
            18px
            10px
            28px !important;

        overflow: visible !important;

        background:
            linear-gradient(
                180deg,
                #07090d 0%,
                #030508 100%
            ) !important;
    }

    /* Completely remove the desktop canvas on mobile. */
    .yb-ed3-engineering-v3__stage {
        display: none !important;
    }

    .yb-ed3-engineering-mobile {
        width: min(760px, 100%);
        margin: 0 auto;
        padding:
            22px
            14px
            16px;

        display: block;

        overflow: hidden;

        border:
            1px solid
            rgba(255, 255, 255, 0.10);
        border-radius: 22px;

        background:
            linear-gradient(
                180deg,
                #0b0e13 0%,
                #07090d 100%
            );

        color: #f5f5f7;

        box-shadow:
            0 18px 44px
            rgba(0, 0, 0, 0.24);

        font-family:
            -apple-system,
            BlinkMacSystemFont,
            "SF Pro Display",
            "SF Pro Text",
            "Helvetica Neue",
            "Segoe UI",
            Arial,
            sans-serif;
    }

    .yb-ed3-engineering-mobile,
    .yb-ed3-engineering-mobile * {
        box-sizing: border-box;
    }

    .yb-ed3-engineering-mobile__intro {
        margin: 0;
        padding: 0;
    }

    .yb-ed3-engineering-mobile__eyebrow {
        display: block;
        margin-bottom: 10px;

        color: #ff555c;

        font-size: 8px;
        font-weight: 760;
        line-height: 1.2;
        letter-spacing: 0.16em;
    }

    .yb-ed3-engineering-mobile__intro h2 {
        margin: 0;

        color: #f5f5f7;

        font-size:
            clamp(
                31px,
                7.8vw,
                46px
            );
        font-weight: 720;
        line-height: 0.99;
        letter-spacing: -0.05em;
    }

    .yb-ed3-engineering-mobile__intro h2 em {
        display: block;
        margin-top: 7px;

        color: #9c9ca2;

        font-size: 0.72em;
        font-style: normal;
        line-height: 1.06;
    }

    .yb-ed3-engineering-mobile__intro p {
        max-width: 620px;
        margin:
            16px
            0
            0;

        color: rgba(245, 245, 247, 0.66);

        font-size: 12px;
        line-height: 1.58;
    }

    /* Product image is a normal image, never an interactive background. */
    .yb-ed3-engineering-mobile__product {
        margin:
            18px
            0
            0;
        padding: 0;

        overflow: hidden;

        border:
            1px solid
            rgba(255, 255, 255, 0.09);
        border-radius: 17px;

        background: #030508;
    }

    .yb-ed3-engineering-mobile__product img {
        width: 100%;
        height: auto;
        max-width: 100%;
        margin: 0;

        display: block;

        object-fit: contain;
        object-position: center;

        opacity: 1;
        filter:
            brightness(0.94)
            contrast(1.05)
            saturate(0.92);

        transform: none;
        transition: none;
    }

    .yb-ed3-engineering-mobile__product figcaption {
        margin: 0;
        padding:
            10px
            12px;

        border-top:
            1px solid
            rgba(255, 255, 255, 0.07);

        color: rgba(245, 245, 247, 0.50);

        font-size: 9px;
        line-height: 1.35;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .yb-ed3-engineering-mobile__features {
        margin-top: 12px;

        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .yb-ed3-engineering-mobile__feature {
        min-width: 0;
        margin: 0;
        padding:
            14px
            14px;

        display: grid;
        grid-template-columns:
            38px
            minmax(0, 1fr);
        gap: 12px;
        align-items: center;

        border:
            1px solid
            rgba(255, 255, 255, 0.095);
        border-radius: 15px;

        background:
            rgba(255, 255, 255, 0.035);

        box-shadow:
            inset 3px 0 0
            rgba(227, 30, 36, 0.82);
    }

    .yb-ed3-engineering-mobile__feature > span {
        width: 38px;
        height: 38px;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border:
            1px solid
            rgba(227, 30, 36, 0.48);
        border-radius: 50%;

        background:
            rgba(227, 30, 36, 0.12);
        color: #ffffff;

        font-size: 10px;
        font-weight: 760;
        line-height: 1;
    }

    .yb-ed3-engineering-mobile__feature strong {
        display: block;

        color: #f5f5f7;

        font-size: 12px;
        font-weight: 720;
        line-height: 1.3;
        letter-spacing: 0.01em;
    }

    .yb-ed3-engineering-mobile__feature p {
        margin:
            5px
            0
            0;

        color: rgba(245, 245, 247, 0.58);

        font-size: 10.5px;
        line-height: 1.48;
    }

    .yb-ed3-engineering-mobile__protection {
        margin:
            14px
            0
            0;
        padding: 0;

        display: grid;
        grid-template-columns: 1fr;

        overflow: hidden;

        border:
            1px solid
            rgba(255, 255, 255, 0.10);
        border-radius: 17px;

        background: #0d1015;
    }

    .yb-ed3-engineering-mobile__protection > img {
        width: 100%;
        height: auto;
        max-width: 100%;
        margin: 0;

        display: block;

        object-fit: contain;
        object-position: center;

        opacity: 1;
        filter:
            brightness(0.90)
            contrast(1.06)
            saturate(0.92);

        transform: none;
        transition: none;
    }

    .yb-ed3-engineering-mobile__protection-copy {
        padding:
            16px
            16px
            17px;
    }

    .yb-ed3-engineering-mobile__protection-copy > span {
        display: block;
        margin-bottom: 7px;

        color: #ff555c;

        font-size: 8px;
        font-weight: 760;
        line-height: 1.25;
        letter-spacing: 0.14em;
    }

    .yb-ed3-engineering-mobile__protection-copy h3 {
        margin: 0;

        color: #f5f5f7;

        font-size: 25px;
        line-height: 1.03;
        letter-spacing: -0.04em;
    }

    .yb-ed3-engineering-mobile__protection-copy p {
        margin:
            10px
            0
            0;

        color: rgba(245, 245, 247, 0.62);

        font-size: 11px;
        line-height: 1.52;
    }

    .yb-ed3-engineering-mobile__protection-copy > strong {
        width: fit-content;
        margin-top: 12px;
        padding:
            7px
            10px;

        display: inline-flex;

        border:
            1px solid
            rgba(227, 30, 36, 0.25);
        border-radius: 999px;

        background:
            rgba(227, 30, 36, 0.08);
        color: #f5f5f7;

        font-size: 9px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.04em;
    }
}

/* Tablet-width compact layout: two feature columns and split protection card. */
@media (min-width: 641px) and (max-width: 1180px) {
    .yb-ed3-engineering-mobile {
        width: min(1040px, 100%);

        padding:
            26px
            20px
            20px;
    }

    .yb-ed3-engineering-mobile__features {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .yb-ed3-engineering-mobile__feature:last-child {
        grid-column: 1 / -1;
    }

    .yb-ed3-engineering-mobile__protection {
        grid-template-columns:
            minmax(0, 1.06fr)
            minmax(260px, 0.94fr);
        align-items: stretch;
    }

    .yb-ed3-engineering-mobile__protection > img {
        width: 100%;
        height: 100%;
        min-height: 250px;
        object-fit: cover;
    }

    .yb-ed3-engineering-mobile__protection-copy {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .yb-ed3-engineering-v3 {
        padding:
            14px
            7px
            22px !important;
    }

    .yb-ed3-engineering-mobile {
        padding:
            19px
            10px
            12px;
        border-radius: 18px;
    }

    .yb-ed3-engineering-mobile__intro h2 {
        font-size:
            clamp(
                29px,
                9vw,
                37px
            );
    }

    .yb-ed3-engineering-mobile__feature {
        padding:
            13px
            11px;
        grid-template-columns:
            34px
            minmax(0, 1fr);
        gap: 10px;
    }

    .yb-ed3-engineering-mobile__feature > span {
        width: 34px;
        height: 34px;
    }
}



/* ===== SECTION 04 / ORIGINAL STYLE BLOCK 1 ===== */
/* ==========================================================================
   00. ELEMENTOR RESET
   ========================================================================== */

:root {
    --ed3-page-background: #f5f5f7;
}

.ed3-optical-advantages-section {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    overflow: visible !important;

    background:
        var(--ed3-page-background) !important;
}

.ed3-optical-advantages-section
.elementor-widget-html,
.ed3-optical-advantages-section
.elementor-widget-html
>
.elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

#ed3-optical-advantages {
    scroll-margin-top:
        var(--ed3-anchor-offset, 118px);
}


/* ==========================================================================
   01. ROOT
   ========================================================================== */

.yb-ed3-optics-v51 {
    --optics-red: #e31e24;
    --optics-white: #f5f5f7;
    --optics-grey: #a1a1a6;
    --optics-dark: #080a0e;

    position: relative;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;

    overflow: hidden;

    background:
        #080a0e;

    color:
        var(--optics-white);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.yb-ed3-optics-v51,
.yb-ed3-optics-v51 * {
    box-sizing: border-box;
}

.yb-ed3-optics-v51 button {
    font: inherit;
}


/* ==========================================================================
   02. STAGE
   ========================================================================== */

.yb-ed3-optics-v51__stage {
    --optics-focus-position: 42%;
    --optics-image-shift: 0px;
    --optics-pointer-x: 0px;
    --optics-pointer-y: 0px;

    position: relative;

    width:
        min(
            1600px,
            100%
        );

    height:
        clamp(
            500px,
            32vw,
            550px
        );

    margin:
        0
        auto;

    overflow: hidden;
    isolation: isolate;

    background:
        linear-gradient(
            145deg,
            #12151b 0%,
            #090b10 61%,
            #05070a 100%
        );

    border-top:
        1px solid
        rgba(255, 255, 255, 0.055);

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.055);
}


/* ==========================================================================
   03. MAIN IMAGE
   ========================================================================== */

.yb-ed3-optics-v51__image {
    position: absolute;

    top: 50%;
    left: 49%;

    z-index: 0;

    width: 80%;
    height: 112%;

    display: block;

    object-fit: cover;
    object-position:
        center
        center;

    filter:
        brightness(1.05)
        contrast(1.02)
        saturate(0.96);

    transform:
        translate3d(
            calc(
                -50% +
                var(--optics-image-shift) +
                var(--optics-pointer-x)
            ),
            calc(
                -50% +
                var(--optics-pointer-y)
            ),
            0
        )
        scale(1.01);

    transition:
        transform
        700ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        filter
        250ms
        ease;

    user-select: none;
    pointer-events: none;
}

.yb-ed3-optics-v51__stage:hover
.yb-ed3-optics-v51__image {
    filter:
        brightness(1.08)
        contrast(1.02)
        saturate(0.98);
}


/* ==========================================================================
   04. READING LAYERS
   ========================================================================== */

.yb-ed3-optics-v51__left-shade {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(5, 7, 10, 0.97) 0%,
            rgba(5, 7, 10, 0.82) 13%,
            rgba(5, 7, 10, 0.36) 25%,
            rgba(5, 7, 10, 0.05) 37%,
            transparent 53%
        ),
        linear-gradient(
            180deg,
            rgba(5, 7, 10, 0.06) 0%,
            transparent 58%,
            rgba(5, 7, 10, 0.27) 100%
        );

    pointer-events: none;
}

.yb-ed3-optics-v51__right-shade {
    position: absolute;

    top: 0;
    right: 0;
    bottom: 0;

    z-index: 2;

    width: 35%;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(5, 7, 10, 0.18) 22%,
            rgba(5, 7, 10, 0.58) 63%,
            rgba(5, 7, 10, 0.86) 100%
        );

    pointer-events: none;
}


/* ==========================================================================
   05. ACTIVE FOCUS
   ========================================================================== */

.yb-ed3-optics-v51__focus {
    position: absolute;

    top: 52%;
    left:
        var(--optics-focus-position);

    z-index: 3;

    width: 14%;
    height: 50%;

    border-radius: 50%;

    opacity: 0.34;

    background:
        radial-gradient(
            ellipse,
            rgba(96, 201, 132, 0.24) 0%,
            rgba(96, 201, 132, 0.09) 43%,
            transparent 72%
        );

    filter:
        blur(23px);

    transform:
        translate(-50%, -50%);

    transition:
        left
        620ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

    pointer-events: none;
}

.yb-ed3-optics-v51__focus-point {
    position: absolute;

    top: 52%;
    left:
        var(--optics-focus-position);

    z-index: 4;

    width: 7px;
    height: 7px;

    border:
        1px solid
        rgba(255, 255, 255, 0.86);
    border-radius: 50%;

    background:
        rgba(100, 201, 135, 0.95);

    box-shadow:
        0 0 0 5px
        rgba(100, 201, 135, 0.07),
        0 0 16px
        rgba(100, 201, 135, 0.36);

    transform:
        translate(-50%, -50%);

    transition:
        left
        620ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

    animation:
        ybEd3OpticsV51PointPulse
        2.8s
        ease-in-out
        infinite;

    pointer-events: none;
}


/* ==========================================================================
   06. INTRO
   ========================================================================== */

.yb-ed3-optics-v51__intro {
    position: absolute;

    top: 50%;
    left:
        clamp(
            34px,
            4vw,
            66px
        );

    z-index: 10;

    width:
        clamp(
            235px,
            18vw,
            300px
        );

    transform:
        translateY(-50%);
}

.yb-ed3-optics-v51__eyebrow {
    position: relative;

    display: block;

    margin-bottom: 17px;
    padding-left: 14px;

    color:
        rgba(255, 255, 255, 0.54);

    font-size: 8px;
    font-weight: 720;
    line-height: 1;
    letter-spacing: 0.15em;
}

.yb-ed3-optics-v51__eyebrow::before {
    position: absolute;

    top: 50%;
    left: 0;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--optics-red);

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.09);

    content: "";

    transform:
        translateY(-50%);
}

.yb-ed3-optics-v51__intro h2 {
    margin: 0;

    color:
        #ffffff;

    font-size:
        clamp(
            37px,
            2.72vw,
            51px
        );

    font-style: normal;
    font-weight: 730;
    line-height: 0.98;
    letter-spacing: -0.058em;
}

.yb-ed3-optics-v51__intro h2 em {
    display: block;

    margin-top: 8px;

    color:
        #8e8e93;

    font-size: 0.66em;
    font-style: normal;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.yb-ed3-optics-v51__intro-line {
    display: block;

    width: 78%;
    height: 1px;

    margin:
        21px
        0
        16px;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.24),
            transparent
        );
}

.yb-ed3-optics-v51__intro p {
    max-width: 272px;

    margin: 0;

    color:
        rgba(255, 255, 255, 0.62);

    font-size: 10.5px;
    font-weight: 420;
    line-height: 1.58;
}


/* ==========================================================================
   07. COMPACT RIGHT PANEL
   ========================================================================== */

.yb-ed3-optics-v51__panel {
    position: absolute;

    top: 50%;
    right:
        clamp(
            24px,
            3.2vw,
            52px
        );

    z-index: 12;

    width:
        clamp(
            330px,
            27vw,
            410px
        );

    padding:
        18px
        18px
        14px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        rgba(255, 255, 255, 0.085);
    border-radius: 22px;

    background:
        rgba(14, 17, 22, 0.76);

    color:
        #f5f5f7;

    box-shadow:
        0 20px 50px
        rgba(0, 0, 0, 0.20),
        inset 0 1px 0
        rgba(255, 255, 255, 0.025);

    backdrop-filter:
        blur(18px)
        saturate(112%);
    -webkit-backdrop-filter:
        blur(18px)
        saturate(112%);

    transform:
        translateY(-50%);
}

.yb-ed3-optics-v51__panel-heading {
    min-height: 48px;

    padding:
        2px
        4px
        14px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.075);
}

.yb-ed3-optics-v51__panel-heading > div {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 6px;
}

.yb-ed3-optics-v51__panel-heading span {
    color:
        rgba(255, 255, 255, 0.82);

    font-size: 8.5px;
    font-weight: 740;
    line-height: 1;
    letter-spacing: 0.14em;
}

.yb-ed3-optics-v51__panel-heading small {
    color:
        rgba(255, 255, 255, 0.42);

    font-size: 8.5px;
    font-weight: 440;
    line-height: 1.4;
}

.yb-ed3-optics-v51__panel-heading strong {
    flex: 0 0 auto;

    color:
        rgba(255, 255, 255, 0.20);

    font-size: 22px;
    font-weight: 650;
    line-height: 0.9;
    letter-spacing: -0.04em;
}


/* ==========================================================================
   08. FEATURE LIST
   ========================================================================== */

.yb-ed3-optics-v51__feature-list {
    display: grid;

    grid-template-rows:
        repeat(
            var(--optics-feature-count, 4),
            minmax(
                0,
                1fr
            )
        );
}

.yb-ed3-optics-v51__feature {
    all: unset;

    box-sizing: border-box;

    position: relative;

    min-width: 0;
    min-height: 73px;

    padding:
        11px
        32px
        11px
        7px;

    display: grid;

    grid-template-columns:
        29px
        minmax(
            0,
            1fr
        );

    align-items: center;
    gap: 12px;

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.065);

    color:
        #f5f5f7;

    cursor: pointer;

    transition:
        background-color
        180ms
        ease,
        transform
        200ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-optics-v51__feature:last-child {
    border-bottom: 0;
}

.yb-ed3-optics-v51__feature::before {
    position: absolute;

    top: 14px;
    bottom: 14px;
    left: -18px;

    width: 3px;

    border-radius:
        0
        999px
        999px
        0;

    background:
        var(--optics-red);

    content: "";

    opacity: 0;
    transform:
        scaleY(0.38);

    transition:
        opacity
        180ms
        ease,
        transform
        200ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-optics-v51__feature:hover,
.yb-ed3-optics-v51__feature:focus-visible,
.yb-ed3-optics-v51__feature.is-active {
    background:
        rgba(255, 255, 255, 0.045);

    transform:
        translateX(3px);

    outline: none;
}

.yb-ed3-optics-v51__feature:hover::before,
.yb-ed3-optics-v51__feature:focus-visible::before,
.yb-ed3-optics-v51__feature.is-active::before {
    opacity: 1;
    transform:
        scaleY(1);
}

.yb-ed3-optics-v51__number {
    width: 28px;
    height: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255, 255, 255, 0.11);
    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.035);

    color:
        rgba(255, 255, 255, 0.46);

    font-size: 8px;
    font-weight: 710;
    line-height: 1;

    transition:
        border-color
        180ms
        ease,
        background-color
        180ms
        ease,
        color
        180ms
        ease;
}

.yb-ed3-optics-v51__feature:hover
.yb-ed3-optics-v51__number,
.yb-ed3-optics-v51__feature:focus-visible
.yb-ed3-optics-v51__number,
.yb-ed3-optics-v51__feature.is-active
.yb-ed3-optics-v51__number {
    border-color:
        rgba(227, 30, 36, 0.34);

    background:
        rgba(227, 30, 36, 0.095);

    color:
        #ffffff;
}

.yb-ed3-optics-v51__feature-copy {
    min-width: 0;
}

.yb-ed3-optics-v51__feature-copy strong {
    display: block;

    color:
        rgba(255, 255, 255, 0.91);

    font-size:
        clamp(
            11.5px,
            0.77vw,
            13.5px
        );

    font-weight: 690;
    line-height: 1.24;
    letter-spacing: -0.01em;
}

.yb-ed3-optics-v51__feature-copy small {
    display: block;

    max-width: 300px;

    margin-top: 5px;

    color:
        rgba(255, 255, 255, 0.50);

    font-size:
        clamp(
            8.4px,
            0.53vw,
            9.7px
        );

    font-weight: 420;
    line-height: 1.42;
}

.yb-ed3-optics-v51__state {
    position: absolute;

    top: 50%;
    right: 6px;

    width: 15px;
    height: 15px;

    border:
        1px solid
        rgba(255, 255, 255, 0.10);
    border-radius: 50%;

    transform:
        translateY(-50%);
}

.yb-ed3-optics-v51__state::before,
.yb-ed3-optics-v51__state::after {
    position: absolute;

    top: 50%;
    left: 50%;

    background:
        rgba(255, 255, 255, 0.44);

    content: "";

    transform:
        translate(-50%, -50%);

    transition:
        background-color
        180ms
        ease,
        transform
        180ms
        ease;
}

.yb-ed3-optics-v51__state::before {
    width: 5px;
    height: 1px;
}

.yb-ed3-optics-v51__state::after {
    width: 1px;
    height: 5px;
}

.yb-ed3-optics-v51__feature.is-active
.yb-ed3-optics-v51__state {
    border-color:
        rgba(227, 30, 36, 0.28);

    background:
        rgba(227, 30, 36, 0.075);
}

.yb-ed3-optics-v51__feature.is-active
.yb-ed3-optics-v51__state::before,
.yb-ed3-optics-v51__feature.is-active
.yb-ed3-optics-v51__state::after {
    background:
        var(--optics-red);
}

.yb-ed3-optics-v51__feature.is-active
.yb-ed3-optics-v51__state::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}


/* ==========================================================================
   09. NOTE
   ========================================================================== */

.yb-ed3-optics-v51__note {
    margin:
        10px
        4px
        0;

    color:
        rgba(255, 255, 255, 0.28);

    font-size: 7px;
    font-weight: 430;
    line-height: 1.42;
}


/* ==========================================================================
   10. ANIMATION
   ========================================================================== */

.yb-ed3-optics-v51.is-switching
.yb-ed3-optics-v51__focus {
    animation:
        ybEd3OpticsV51FocusSwitch
        620ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-optics-v51.is-switching
.yb-ed3-optics-v51__focus-point {
    animation:
        ybEd3OpticsV51PointSwitch
        620ms
        ease-out;
}

@keyframes ybEd3OpticsV51PointPulse {

    0%,
    100% {
        opacity: 0.62;
    }

    50% {
        opacity: 1;
    }

}

@keyframes ybEd3OpticsV51FocusSwitch {

    0% {
        opacity: 0.22;

        transform:
            translate(-50%, -50%)
            scale(0.82);
    }

    55% {
        opacity: 0.55;

        transform:
            translate(-50%, -50%)
            scale(1.16);
    }

    100% {
        opacity: 0.34;

        transform:
            translate(-50%, -50%)
            scale(1);
    }

}

@keyframes ybEd3OpticsV51PointSwitch {

    0% {
        transform:
            translate(-50%, -50%)
            scale(0.70);
    }

    55% {
        box-shadow:
            0 0 0 16px
            rgba(100, 201, 135, 0);

        transform:
            translate(-50%, -50%)
            scale(1.38);
    }

    100% {
        transform:
            translate(-50%, -50%)
            scale(1);
    }

}


/* ==========================================================================
   11. MEDIUM DESKTOP
   ========================================================================== */

@media (max-width: 1260px) {

    .yb-ed3-optics-v51__image {
        left: 47%;
        width: 84%;
    }

    .yb-ed3-optics-v51__panel {
        width: 350px;
        right: 26px;
    }

    .yb-ed3-optics-v51__intro {
        width: 245px;
    }

}


/* ==========================================================================
   12. TABLET
   ========================================================================== */

@media (max-width: 1020px) {

    #ed3-optical-advantages {
        scroll-margin-top:
            var(--ed3-anchor-offset, 104px);
    }

    .yb-ed3-optics-v51__stage {
        height: 790px;
    }

    .yb-ed3-optics-v51__image {
        top: 0;
        left: 0;

        width: 100%;
        height: 390px;

        object-position:
            49%
            62%;

        transform:
            none !important;
    }

    .yb-ed3-optics-v51__left-shade {
        height: 390px;

        background:
            linear-gradient(
                90deg,
                rgba(5, 7, 10, 0.95) 0%,
                rgba(5, 7, 10, 0.62) 36%,
                rgba(5, 7, 10, 0.08) 69%,
                transparent 100%
            ),
            linear-gradient(
                180deg,
                transparent 54%,
                rgba(5, 7, 10, 0.78) 100%
            );
    }

    .yb-ed3-optics-v51__right-shade {
        display: none;
    }

    .yb-ed3-optics-v51__focus,
    .yb-ed3-optics-v51__focus-point {
        top: 215px;
    }

    .yb-ed3-optics-v51__intro {
        top: 194px;
        left: 30px;

        width: 260px;
    }

    .yb-ed3-optics-v51__panel {
        top: 390px;
        right: 0;
        bottom: 0;

        width: 100%;

        padding:
            24px
            28px
            16px;

        border:
            0;
        border-top:
            1px solid
            rgba(255, 255, 255, 0.075);
        border-radius: 0;

        background:
            #0b0d12;

        box-shadow: none;

        backdrop-filter: none;
        -webkit-backdrop-filter: none;

        transform: none;
    }

    .yb-ed3-optics-v51__feature-list {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        grid-template-rows:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

    .yb-ed3-optics-v51__feature:nth-child(odd) {
        border-right:
            1px solid
            rgba(255, 255, 255, 0.065);
    }

}


/* ==========================================================================
   13. MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-optics-v51__stage {
        height: 930px;
    }

    .yb-ed3-optics-v51__image {
        height: 325px;

        object-position:
            47%
            64%;
    }

    .yb-ed3-optics-v51__left-shade {
        height: 325px;
    }

    .yb-ed3-optics-v51__focus,
    .yb-ed3-optics-v51__focus-point {
        top: 180px;
    }

    .yb-ed3-optics-v51__intro {
        top: 160px;
        left: 22px;

        width: 225px;
    }

    .yb-ed3-optics-v51__eyebrow {
        margin-bottom: 13px;

        font-size: 6.5px;
    }

    .yb-ed3-optics-v51__intro h2 {
        font-size: 29px;
    }

    .yb-ed3-optics-v51__intro p {
        max-width: 218px;

        font-size: 8.7px;
    }

    .yb-ed3-optics-v51__intro-line {
        margin:
            16px
            0
            12px;
    }

    .yb-ed3-optics-v51__panel {
        top: 325px;

        padding:
            20px
            17px
            14px;
    }

    .yb-ed3-optics-v51__panel-heading {
        min-height: 43px;
    }

    .yb-ed3-optics-v51__panel-heading small {
        display: none;
    }

    .yb-ed3-optics-v51__panel-heading strong {
        font-size: 19px;
    }

    .yb-ed3-optics-v51__feature-list {
        grid-template-columns:
            1fr;

        grid-template-rows:
            repeat(
                var(--optics-feature-count, 4),
                minmax(
                    0,
                    1fr
                )
            );
    }

    .yb-ed3-optics-v51__feature:nth-child(odd) {
        border-right: 0;
    }

    .yb-ed3-optics-v51__feature {
        min-height: 103px;

        padding:
            11px
            32px
            11px
            7px;
    }

    .yb-ed3-optics-v51__feature-copy strong {
        font-size: 12px;
    }

    .yb-ed3-optics-v51__feature-copy small {
        font-size: 8.7px;
    }

}


/* ==========================================================================
   14. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .yb-ed3-optics-v51__image,
    .yb-ed3-optics-v51__focus,
    .yb-ed3-optics-v51__focus-point,
    .yb-ed3-optics-v51__feature,
    .yb-ed3-optics-v51__feature::before {
        animation: none !important;
        transition: none !important;
    }

}






/* ==========================================================================
   15. DESKTOP IMAGE EDGE BLEND FIX
   作用：
   1. 将图片右侧硬边移动到可视区域之外
   2. 使用蒙版让图片平滑融入舞台背景
   3. 加强右侧暗色层，消除灰色与黑色之间的竖直断层

   仅影响1021px以上的桌面端。
   平板和移动端继续使用原来的独立布局。
   ========================================================================== */

@media (min-width: 1021px) {

    /* 统一根容器与舞台的基础背景色 */
    .yb-ed3-optics-v51,
    .yb-ed3-optics-v51__stage {
        background:
            #080a0e;
    }


    /* 
       原图片只有80%宽，右边缘停在舞台内部。
       现在让图片略微超过舞台宽度，使原始图片边缘移出画面。
    */
    .yb-ed3-optics-v51__image {
        left: 50%;

        width:
            calc(100% + 140px);

        max-width: none;

        /*
           右侧渐隐蒙版：
           0%—84%保持完整显示；
           84%以后逐渐淡出；
           最右端完全透明，露出统一的舞台背景。
        */
        -webkit-mask-image:
            linear-gradient(
                90deg,
                #000000 0%,
                #000000 84%,
                rgba(0, 0, 0, 0.97) 88%,
                rgba(0, 0, 0, 0.78) 93%,
                rgba(0, 0, 0, 0.24) 98%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                90deg,
                #000000 0%,
                #000000 84%,
                rgba(0, 0, 0, 0.97) 88%,
                rgba(0, 0, 0, 0.78) 93%,
                rgba(0, 0, 0, 0.24) 98%,
                transparent 100%
            );

        -webkit-mask-repeat:
            no-repeat;

        mask-repeat:
            no-repeat;

        -webkit-mask-size:
            100% 100%;

        mask-size:
            100% 100%;
    }


    /*
       加强右侧阅读层。
       原代码最右侧只到rgba(..., 0.86)，仍能看到图片硬边。
       现在最右端完全变成#080a0e，与舞台背景完全一致。
    */
    .yb-ed3-optics-v51__right-shade {
        width: 44%;

        background:
            linear-gradient(
                90deg,
                transparent 0%,
                rgba(5, 7, 10, 0.10) 20%,
                rgba(5, 7, 10, 0.38) 52%,
                rgba(5, 7, 10, 0.76) 76%,
                rgba(8, 10, 14, 0.96) 94%,
                #080a0e 100%
            );
    }

}


/* 中等桌面端单独控制，覆盖原来84%宽度的规则 */
@media (min-width: 1021px) and (max-width: 1260px) {

    .yb-ed3-optics-v51__image {
        left: 50%;

        width:
            calc(100% + 110px);
    }

    .yb-ed3-optics-v51__right-shade {
        width: 46%;
    }

}








/* ==========================================================================
   16. GOOGLE SHEETS DATA STATES
   ========================================================================== */

.yb-ed3-optics-v51[data-yb-product-data-state="loading"]
[data-yb-field],
.yb-ed3-optics-v51[data-yb-product-data-state="loading"]
[data-yb-model-name] {
    opacity: 0.48;
}

.yb-ed3-optics-v51[data-yb-product-data-state="ready"]
[data-yb-field],
.yb-ed3-optics-v51[data-yb-product-data-state="ready"]
[data-yb-model-name] {
    opacity: 1;
    transition:
        opacity
        180ms
        ease;
}

.yb-ed3-optics-v51__feature[hidden],
.yb-ed3-optics-v51 [data-yb-requires][hidden] {
    display: none !important;
}

.yb-ed3-optics-v51[data-yb-product-data-state="error"]
[data-yb-field],
.yb-ed3-optics-v51[data-yb-product-data-state="error"]
[data-yb-model-name] {
    opacity: 0.42;
}



/* ===== SECTION 05 / ORIGINAL STYLE BLOCK 1 ===== */
/* ==========================================================================
   00. ELEMENTOR RESET
   ========================================================================== */

:root {
    --ed3-gallery-page: #f5f5f7;
}

.ed3-gallery-section {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;

    overflow: visible !important;

    background:
        var(--ed3-gallery-page) !important;
}

.ed3-gallery-section
.elementor-widget-html,
.ed3-gallery-section
.elementor-widget-html
>
.elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
        transparent !important;
}

#ed3-gallery {
    scroll-margin-top:
        var(--ed3-anchor-offset, 110px);
}


/* ==========================================================================
   01. ROOT
   ========================================================================== */

.yb-ed3-gallery-v5 {
    --gallery-red: #e31e24;
    --gallery-red-soft:
        rgba(227, 30, 36, 0.08);

    --gallery-title: #1d1d1f;
    --gallery-body: #6e6e73;
    --gallery-muted: #8e8e93;

    --gallery-duration: 5800ms;

    position: relative;

    width: 100%;

    margin: 0;
    padding:
        clamp(
            58px,
            5.2vw,
            82px
        )
        clamp(
            12px,
            2vw,
            28px
        )
        clamp(
            30px,
            3.2vw,
            48px
        );

    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(250, 250, 252, 0.80) 31%,
            transparent 61%
        ),
        linear-gradient(
            180deg,
            #f8f8fa 0%,
            #f1f2f5 100%
        );

    color:
        var(--gallery-title);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.yb-ed3-gallery-v5,
.yb-ed3-gallery-v5 * {
    box-sizing: border-box;
}

.yb-ed3-gallery-v5 button {
    font: inherit;
}

.yb-ed3-gallery-v5__sr-only {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


/* ==========================================================================
   02. FRAME AND STAGE
   ========================================================================== */

.yb-ed3-gallery-v5__frame {
    width:
        min(
            1560px,
            100%
        );

    margin:
        0
        auto;
}

.yb-ed3-gallery-v5__stage {
    position: relative;
    isolation: isolate;

    width: 100%;
    height:
        clamp(
            448px,
            30vw,
            520px
        );

    overflow: hidden;

    border-top:
        1px solid
        rgba(29, 29, 31, 0.085);

    border-bottom:
        1px solid
        rgba(29, 29, 31, 0.085);

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.54) 0%,
            rgba(238, 239, 243, 0.78) 100%
        );

    outline: none;

    touch-action: pan-y;
}

.yb-ed3-gallery-v5__stage::before {
    position: absolute;
    inset: 0;

    z-index: 0;

    background:
        radial-gradient(
            ellipse at 50% 50%,
            rgba(255, 255, 255, 0.88) 0%,
            rgba(255, 255, 255, 0.23) 44%,
            transparent 74%
        );

    content: "";

    pointer-events: none;
}

.yb-ed3-gallery-v5__stage::after {
    position: absolute;

    right: 4%;
    bottom: 43px;
    left: 4%;

    z-index: 2;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(29, 29, 31, 0.10),
            transparent
        );

    content: "";

    pointer-events: none;
}


/* ==========================================================================
   03. TOP BAR
   ========================================================================== */

.yb-ed3-gallery-v5__topbar {
    position: absolute;

    top: 19px;
    right:
        clamp(
            18px,
            2.1vw,
            34px
        );
    left:
        clamp(
            18px,
            2.1vw,
            34px
        );

    z-index: 34;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;

    pointer-events: none;
}

.yb-ed3-gallery-v5__heading {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.yb-ed3-gallery-v5__heading > span {
    position: relative;

    padding-left: 14px;

    color:
        var(--gallery-title);

    font-size: 9px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: 0.15em;
}

.yb-ed3-gallery-v5__heading > span::before {
    position: absolute;

    top: 50%;
    left: 0;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--gallery-red);

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.075);

    content: "";

    transform:
        translateY(-50%);
}

.yb-ed3-gallery-v5__heading small {
    color:
        var(--gallery-body);

    font-size: 10px;
    font-weight: 440;
    line-height: 1.42;
}

.yb-ed3-gallery-v5__top-actions {
    display: flex;
    align-items: center;
    gap: 12px;

    pointer-events: auto;
}

.yb-ed3-gallery-v5__counter {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.yb-ed3-gallery-v5__counter strong {
    color:
        var(--gallery-red);

    font-size: 26px;
    font-weight: 650;
    line-height: 0.9;
    letter-spacing: -0.045em;
}

.yb-ed3-gallery-v5__counter span,
.yb-ed3-gallery-v5__counter small {
    color:
        var(--gallery-muted);

    font-size: 9px;
    font-weight: 600;
    line-height: 1;
}

.yb-ed3-gallery-v5__pause {
    appearance: none;
    -webkit-appearance: none;

    width: 38px;
    height: 38px;

    padding: 0;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(29, 29, 31, 0.10);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.78);

    color:
        #3a3a3c;

    box-shadow:
        0 8px 22px
        rgba(0, 0, 0, 0.055);

    cursor: pointer;

    backdrop-filter:
        blur(16px)
        saturate(112%);
    -webkit-backdrop-filter:
        blur(16px)
        saturate(112%);

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 200ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-gallery-v5__pause:hover,
.yb-ed3-gallery-v5__pause:focus-visible {
    color: #ffffff;

    border-color:
        var(--gallery-red);

    background:
        var(--gallery-red);

    transform:
        translateY(-1px)
        scale(1.04);

    outline: none;
}

.yb-ed3-gallery-v5__pause svg {
    width: 14px;
    height: 14px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.yb-ed3-gallery-v5__play-icon {
    display: none;
}

.yb-ed3-gallery-v5.is-user-paused
.yb-ed3-gallery-v5__pause-icon {
    display: none;
}

.yb-ed3-gallery-v5.is-user-paused
.yb-ed3-gallery-v5__play-icon {
    display: block;
}


/* ==========================================================================
   04. SLIDE DECK
   ========================================================================== */

.yb-ed3-gallery-v5__slides {
    position: absolute;
    inset: 0;

    z-index: 5;
}

.yb-ed3-gallery-v5__slide {
    position: absolute;

    top: 57%;
    left: 50%;

    z-index: 0;

    width: 67%;
    height:
        calc(
            100% -
            112px
        );

    overflow: hidden;

    opacity: 0;

    border:
        1px solid
        rgba(255, 255, 255, 0.52);

    border-radius:
        clamp(
            20px,
            1.8vw,
            28px
        );

    background:
        #111318;

    cursor: pointer;

    transform:
        translate(-50%, -50%)
        scale(0.64);

    transition:
        left 700ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        top 700ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        width 700ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        height 700ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        transform 700ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        opacity 360ms ease,
        filter 360ms ease,
        box-shadow 360ms ease;

    outline: none;
}

.yb-ed3-gallery-v5__slide::before {
    position: absolute;
    inset: -28px;

    z-index: 0;

    background-image:
        var(--gallery-image);

    background-position:
        center;

    background-repeat:
        no-repeat;

    background-size:
        cover;

    filter:
        blur(24px)
        brightness(0.63)
        saturate(0.82);

    opacity: 0.58;

    transform:
        scale(1.13);

    content: "";
}

.yb-ed3-gallery-v5__slide.is-center {
    top: 54.5%;
    left: 50%;

    z-index: 10;

    opacity: 1;

    filter: none;

    cursor: zoom-in;

    transform:
        translate(-50%, -50%)
        scale(1);

    box-shadow:
        0 28px 70px
        rgba(0, 0, 0, 0.16),
        0 0 0 1px
        rgba(255, 255, 255, 0.30);
}

.yb-ed3-gallery-v5__slide.is-left {
    top: 59%;
    left: 7%;

    z-index: 4;

    width: 31%;
    height:
        calc(
            100% -
            164px
        );

    opacity: 0.78;

    filter:
        brightness(0.78)
        saturate(0.82);

    transform:
        translate(-50%, -50%)
        scale(0.93);

    box-shadow:
        0 14px 34px
        rgba(0, 0, 0, 0.10);
}

.yb-ed3-gallery-v5__slide.is-right {
    top: 59%;
    left: 93%;

    z-index: 4;

    width: 31%;
    height:
        calc(
            100% -
            164px
        );

    opacity: 0.78;

    filter:
        brightness(0.78)
        saturate(0.82);

    transform:
        translate(-50%, -50%)
        scale(0.93);

    box-shadow:
        0 14px 34px
        rgba(0, 0, 0, 0.10);
}

.yb-ed3-gallery-v5__slide.is-hidden-left {
    top: 60%;
    left: -32%;

    opacity: 0;

    transform:
        translate(-50%, -50%)
        scale(0.60);
}

.yb-ed3-gallery-v5__slide.is-hidden-right {
    top: 60%;
    left: 132%;

    opacity: 0;

    transform:
        translate(-50%, -50%)
        scale(0.60);
}


/* ==========================================================================
   05. IMAGES
   ========================================================================== */

.yb-ed3-gallery-v5__slide > img {
    position: absolute;
    inset: 0;

    z-index: 1;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    filter:
        brightness(1.00)
        contrast(1.025)
        saturate(0.98);

    transform:
        scale(1.045);

    transition:
        transform
        var(--gallery-duration)
        cubic-bezier(
            0.20,
            0.70,
            0.25,
            1
        ),
        filter 360ms ease;

    user-select: none;
    pointer-events: none;
}

.yb-ed3-gallery-v5__slide.is-center > img {
    transform:
        scale(1.01);
}

.yb-ed3-gallery-v5__slide.is-left > img,
.yb-ed3-gallery-v5__slide.is-right > img {
    transform:
        scale(1.065);
}

.yb-ed3-gallery-v5__slide.is-contain-image.is-center > img {
    top: 10px;
    left: 10px;

    width:
        calc(
            100% -
            20px
        );

    height:
        calc(
            100% -
            20px
        );

    object-fit: contain;

    transform:
        scale(1);
}

.yb-ed3-gallery-v5__slide:nth-child(1) > img {
    object-position:
        51%
        52%;
}

.yb-ed3-gallery-v5__slide:nth-child(2) > img {
    object-position:
        39%
        51%;
}

.yb-ed3-gallery-v5__slide:nth-child(3) > img {
    object-position:
        50%
        47%;
}

.yb-ed3-gallery-v5__slide:nth-child(4) > img {
    object-position:
        center;
}

.yb-ed3-gallery-v5__slide:nth-child(5) > img {
    object-position:
        49%
        51%;
}

.yb-ed3-gallery-v5__slide:nth-child(6) > img {
    object-position:
        center
        51%;
}


/* ==========================================================================
   06. CAPTION OVERLAY
   ========================================================================== */

.yb-ed3-gallery-v5__shade {
    position: absolute;
    inset: 0;

    z-index: 2;

    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.01) 0%,
            transparent 46%,
            rgba(3, 5, 8, 0.78) 100%
        );

    pointer-events: none;
}

.yb-ed3-gallery-v5__slide.is-left
.yb-ed3-gallery-v5__shade,
.yb-ed3-gallery-v5__slide.is-right
.yb-ed3-gallery-v5__shade {
    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 8, 0.05) 0%,
            rgba(3, 5, 8, 0.33) 100%
        );
}

.yb-ed3-gallery-v5__number {
    position: absolute;

    top: 18px;
    right: 19px;

    z-index: 6;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 13px;
    font-weight: 650;
    line-height: 1;
}

.yb-ed3-gallery-v5__slide.is-center
.yb-ed3-gallery-v5__number {
    color:
        #ffffff;
}

.yb-ed3-gallery-v5__caption {
    position: absolute;

    right:
        clamp(
            18px,
            2vw,
            28px
        );

    bottom:
        clamp(
            18px,
            1.8vw,
            26px
        );

    left:
        clamp(
            18px,
            2vw,
            28px
        );

    z-index: 7;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;

    color:
        #ffffff;

    opacity: 0;

    transform:
        translateY(12px);

    transition:
        opacity 330ms ease 100ms,
        transform 430ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        100ms;

    pointer-events: none;
}

.yb-ed3-gallery-v5__slide.is-center
.yb-ed3-gallery-v5__caption {
    opacity: 1;

    transform:
        translateY(0);

    pointer-events: auto;
}

.yb-ed3-gallery-v5__caption-copy {
    min-width: 0;
    max-width: 74%;
}

.yb-ed3-gallery-v5__caption-copy small {
    display: block;

    margin-bottom: 7px;

    color:
        #ff5960;

    font-size: 8px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: 0.15em;
}

.yb-ed3-gallery-v5__caption-copy strong {
    display: block;

    color:
        #ffffff;

    font-size:
        clamp(
            24px,
            1.85vw,
            34px
        );

    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.yb-ed3-gallery-v5__caption-copy p {
    margin:
        7px
        0
        0;

    color:
        rgba(255, 255, 255, 0.70);

    font-size:
        clamp(
            9px,
            0.62vw,
            11px
        );

    font-weight: 430;
    line-height: 1.42;
}


/* ==========================================================================
   07. ARROWS
   ========================================================================== */

.yb-ed3-gallery-v5__arrow {
    appearance: none;
    -webkit-appearance: none;

    position: absolute;

    top: 57%;

    z-index: 26;

    width: 43px;
    height: 43px;

    padding: 0;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(29, 29, 31, 0.10);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.82);

    color:
        #2c2c2e;

    box-shadow:
        0 10px 28px
        rgba(0, 0, 0, 0.075);

    cursor: pointer;

    transform:
        translateY(-50%);

    backdrop-filter:
        blur(18px)
        saturate(112%);
    -webkit-backdrop-filter:
        blur(18px)
        saturate(112%);

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 200ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-gallery-v5__arrow:hover,
.yb-ed3-gallery-v5__arrow:focus-visible {
    color:
        #ffffff;

    border-color:
        var(--gallery-red);

    background:
        var(--gallery-red);

    transform:
        translateY(-50%)
        scale(1.05);

    outline: none;
}

.yb-ed3-gallery-v5__arrow svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.yb-ed3-gallery-v5__arrow--previous {
    left:
        clamp(
            8px,
            1.2vw,
            18px
        );
}

.yb-ed3-gallery-v5__arrow--next {
    right:
        clamp(
            8px,
            1.2vw,
            18px
        );
}


/* ==========================================================================
   08. NUMBERED PROGRESS
   ========================================================================== */

.yb-ed3-gallery-v5__navigation {
    position: absolute;

    right: 50%;
    bottom: 8px;

    z-index: 28;

    width:
        min(
            440px,
            56%
        );

    padding-top: 9px;

    display: grid;

    grid-template-columns:
        repeat(
            6,
            minmax(
                0,
                1fr
            )
        );

    gap: 8px;

    transform:
        translateX(50%);
}

.yb-ed3-gallery-v5__navigation-item {
    appearance: none;
    -webkit-appearance: none;

    min-width: 0;

    padding: 0;

    border: 0;

    background:
        transparent;

    color:
        rgba(29, 29, 31, 0.36);

    text-align: left;

    cursor: pointer;

    outline: none;
}

.yb-ed3-gallery-v5__navigation-item span {
    display: block;

    margin-bottom: 5px;

    font-size: 8px;
    font-weight: 700;
    line-height: 1;
}

.yb-ed3-gallery-v5__navigation-item i {
    position: relative;

    height: 2px;

    display: block;

    overflow: hidden;

    background:
        rgba(29, 29, 31, 0.12);
}

.yb-ed3-gallery-v5__navigation-item b {
    position: absolute;
    inset:
        0
        auto
        0
        0;

    width: 0;

    display: block;

    background:
        var(--gallery-red);
}

.yb-ed3-gallery-v5__navigation-item:hover,
.yb-ed3-gallery-v5__navigation-item:focus-visible,
.yb-ed3-gallery-v5__navigation-item.is-active {
    color:
        var(--gallery-red);
}

.yb-ed3-gallery-v5.is-playing
.yb-ed3-gallery-v5__navigation-item.is-active b {
    animation:
        ybEd3GalleryV5Progress
        var(--gallery-duration)
        linear
        forwards;
}

.yb-ed3-gallery-v5.is-paused
.yb-ed3-gallery-v5__navigation-item.is-active b {
    animation-play-state:
        paused;
}

@keyframes ybEd3GalleryV5Progress {

    from {
        width: 0;
    }

    to {
        width: 100%;
    }

}


/* ==========================================================================
   09. LIGHTBOX
   ========================================================================== */

.yb-ed3-gallery-v5__lightbox {
    width:
        min(
            1420px,
            calc(
                100vw -
                84px
            )
        );

    height:
        min(
            860px,
            calc(
                100vh -
                64px
            )
        );

    max-width: none;
    max-height: none;

    padding: 0;

    overflow: visible;

    border: 0;

    background:
        transparent;

    color:
        #ffffff;
}

.yb-ed3-gallery-v5__lightbox::backdrop {
    background:
        rgba(5, 7, 10, 0.94);

    backdrop-filter:
        blur(16px);
    -webkit-backdrop-filter:
        blur(16px);
}

.yb-ed3-gallery-v5__lightbox-figure {
    width: 100%;
    height: 100%;

    margin: 0;

    display: grid;

    grid-template-rows:
        minmax(
            0,
            1fr
        )
        auto;
}

.yb-ed3-gallery-v5__lightbox-figure > img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption {
    min-height: 82px;

    padding-top: 17px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption small {
    display: block;

    margin-bottom: 7px;

    color:
        #ff5960;

    font-size: 8px;
    font-weight: 760;
    letter-spacing: 0.15em;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption strong {
    display: block;

    font-size:
        clamp(
            18px,
            1.7vw,
            30px
        );

    font-weight: 680;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption p {
    margin:
        5px
        0
        0;

    color:
        rgba(255, 255, 255, 0.62);

    font-size: 10px;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption > span {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption > span strong {
    color:
        #ffffff;

    font-size: 22px;
}

.yb-ed3-gallery-v5__lightbox-figure figcaption > span i {
    color:
        rgba(255, 255, 255, 0.42);

    font-size: 8px;
    font-style: normal;
}

.yb-ed3-gallery-v5__lightbox-close,
.yb-ed3-gallery-v5__lightbox-arrow {
    appearance: none;
    -webkit-appearance: none;

    position: absolute;

    z-index: 10;

    padding: 0;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(255, 255, 255, 0.28);

    border-radius: 50%;

    background:
        rgba(13, 15, 20, 0.62);

    color:
        #ffffff;

    cursor: pointer;

    backdrop-filter:
        blur(12px);
    -webkit-backdrop-filter:
        blur(12px);

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 200ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-gallery-v5__lightbox-close:hover,
.yb-ed3-gallery-v5__lightbox-arrow:hover,
.yb-ed3-gallery-v5__lightbox-close:focus-visible,
.yb-ed3-gallery-v5__lightbox-arrow:focus-visible {
    border-color:
        var(--gallery-red);

    background:
        var(--gallery-red);

    outline: none;
}

.yb-ed3-gallery-v5__lightbox-close {
    top: 0;
    right: 0;

    width: 42px;
    height: 42px;
}

.yb-ed3-gallery-v5__lightbox-close:hover {
    transform:
        rotate(4deg)
        scale(1.04);
}

.yb-ed3-gallery-v5__lightbox-close svg,
.yb-ed3-gallery-v5__lightbox-arrow svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.yb-ed3-gallery-v5__lightbox-arrow {
    top: 50%;

    width: 47px;
    height: 47px;

    transform:
        translateY(-50%);
}

.yb-ed3-gallery-v5__lightbox-arrow:hover {
    transform:
        translateY(-50%)
        scale(1.05);
}

.yb-ed3-gallery-v5__lightbox-arrow--previous {
    left: -62px;
}

.yb-ed3-gallery-v5__lightbox-arrow--next {
    right: -62px;
}

body.yb-ed3-gallery-v5-lock {
    overflow:
        hidden !important;
}


/* ==========================================================================
   10. MEDIUM DESKTOP
   ========================================================================== */

@media (max-width: 1200px) {

    .yb-ed3-gallery-v5__slide {
        width: 70%;
    }

    .yb-ed3-gallery-v5__slide.is-left {
        left: 4%;
        width: 36%;
    }

    .yb-ed3-gallery-v5__slide.is-right {
        left: 96%;
        width: 36%;
    }

}


/* ==========================================================================
   11. TABLET
   ========================================================================== */

@media (max-width: 1050px) {

    #ed3-gallery {
        scroll-margin-top:
            var(--ed3-anchor-offset, 100px);
    }

    .yb-ed3-gallery-v5 {
        padding:
            52px
            0
            32px;
    }

    .yb-ed3-gallery-v5__stage {
        height: 445px;
    }

    .yb-ed3-gallery-v5__slide {
        width: 74%;
        height:
            calc(
                100% -
                116px
            );
    }

    .yb-ed3-gallery-v5__slide.is-left {
        left: 0;
        width: 40%;
        height:
            calc(
                100% -
                166px
            );
    }

    .yb-ed3-gallery-v5__slide.is-right {
        left: 100%;
        width: 40%;
        height:
            calc(
                100% -
                166px
            );
    }

    .yb-ed3-gallery-v5__slide.is-hidden-left {
        left: -52%;
    }

    .yb-ed3-gallery-v5__slide.is-hidden-right {
        left: 152%;
    }

    .yb-ed3-gallery-v5__navigation {
        width:
            min(
                390px,
                63%
            );
    }

    .yb-ed3-gallery-v5__lightbox {
        width:
            calc(
                100vw -
                76px
            );
    }

    .yb-ed3-gallery-v5__lightbox-arrow--previous {
        left: -47px;
    }

    .yb-ed3-gallery-v5__lightbox-arrow--next {
        right: -47px;
    }

}


/* ==========================================================================
   12. MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-gallery-v5 {
        padding:
            42px
            0
            28px;
    }

    .yb-ed3-gallery-v5__stage {
        height: 415px;
    }

    .yb-ed3-gallery-v5__topbar {
        top: 13px;
        right: 14px;
        left: 14px;
    }

    .yb-ed3-gallery-v5__heading > span {
        font-size: 7px;
    }

    .yb-ed3-gallery-v5__heading small {
        display: none;
    }

    .yb-ed3-gallery-v5__counter strong {
        font-size: 22px;
    }

    .yb-ed3-gallery-v5__pause {
        width: 34px;
        height: 34px;
    }

    .yb-ed3-gallery-v5__slide {
        width: 87%;
        height:
            calc(
                100% -
                102px
            );

        border-radius: 20px;
    }

    .yb-ed3-gallery-v5__slide.is-center {
        top: 54%;
    }

    .yb-ed3-gallery-v5__slide.is-left {
        left: -8%;
        width: 56%;
        height:
            calc(
                100% -
                166px
            );

        opacity: 0.72;
    }

    .yb-ed3-gallery-v5__slide.is-right {
        left: 108%;
        width: 56%;
        height:
            calc(
                100% -
                166px
            );

        opacity: 0.72;
    }

    .yb-ed3-gallery-v5__slide.is-hidden-left {
        left: -86%;
    }

    .yb-ed3-gallery-v5__slide.is-hidden-right {
        left: 186%;
    }

    .yb-ed3-gallery-v5__caption {
        right: 16px;
        bottom: 16px;
        left: 16px;
    }

    .yb-ed3-gallery-v5__caption-copy {
        max-width: 82%;
    }

    .yb-ed3-gallery-v5__caption-copy strong {
        font-size: 23px;
    }

    .yb-ed3-gallery-v5__caption-copy p {
        display: none;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 56%;

        width: 36px;
        height: 36px;
    }

    .yb-ed3-gallery-v5__arrow--previous {
        left: 5px;
    }

    .yb-ed3-gallery-v5__arrow--next {
        right: 5px;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 6px;

        width:
            calc(
                100% -
                74px
            );

        gap: 5px;
    }

    .yb-ed3-gallery-v5__navigation-item span {
        font-size: 5.5px;
    }

    .yb-ed3-gallery-v5__lightbox {
        width:
            calc(
                100vw -
                24px
            );

        height:
            calc(
                100vh -
                24px
            );
    }

    .yb-ed3-gallery-v5__lightbox-arrow {
        top: auto;
        bottom: 78px;

        width: 41px;
        height: 41px;

        transform: none;
    }

    .yb-ed3-gallery-v5__lightbox-arrow:hover {
        transform:
            scale(1.04);
    }

    .yb-ed3-gallery-v5__lightbox-arrow--previous {
        left: 0;
    }

    .yb-ed3-gallery-v5__lightbox-arrow--next {
        right: 0;
    }

    .yb-ed3-gallery-v5__lightbox-figure figcaption {
        min-height: 110px;

        padding:
            14px
            50px
            0;
    }

    .yb-ed3-gallery-v5__lightbox-figure figcaption > span {
        display: none;
    }

}


/* ==========================================================================
   13. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide > img,
    .yb-ed3-gallery-v5__caption,
    .yb-ed3-gallery-v5__navigation-item b {
        animation: none !important;
        transition: none !important;
    }

    .yb-ed3-gallery-v5__navigation-item.is-active b {
        width: 100%;
    }

}



/* ==========================================================================
   14. v6.1 EDITORIAL PRODUCT GALLERY — FINAL OVERRIDES

   Design goals:
   - make the centre image the clear visual priority;
   - reduce side previews to restrained edge previews;
   - strengthen the chapter heading;
   - reduce unnecessary top whitespace;
   - move arrows to the main image edges;
   - remove the duplicate number inside the image;
   - simplify and strengthen the numbered progress navigation.
   ========================================================================== */


/* ==========================================================================
   01. SECTION DENSITY
   ========================================================================== */

.yb-ed3-gallery-v5 {
    padding:
        clamp(
            34px,
            3.2vw,
            48px
        )
        clamp(
            12px,
            2vw,
            28px
        )
        clamp(
            24px,
            2.7vw,
            38px
        ) !important;
}


.yb-ed3-gallery-v5__stage {
    height:
        clamp(
            570px,
            36vw,
            650px
        ) !important;

    background:
        radial-gradient(
            ellipse at 50% 43%,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(250, 250, 252, 0.54) 42%,
            transparent 76%
        ),
        linear-gradient(
            180deg,
            #fafafd 0%,
            #f0f1f4 100%
        ) !important;
}


.yb-ed3-gallery-v5__stage::after {
    display: none !important;
}


/* ==========================================================================
   02. STRONGER EDITORIAL HEADING
   ========================================================================== */

.yb-ed3-gallery-v5__topbar {
    top:
        clamp(
            22px,
            2vw,
            30px
        ) !important;

    right:
        clamp(
            24px,
            3vw,
            48px
        ) !important;

    left:
        clamp(
            24px,
            3vw,
            48px
        ) !important;

    align-items: flex-start !important;
}


.yb-ed3-gallery-v5__heading {
    max-width:
        clamp(
            340px,
            34vw,
            540px
        ) !important;

    gap: 0 !important;
}


.yb-ed3-gallery-v5__heading > span {
    margin-bottom: 13px !important;

    font-size: 8.5px !important;
}


.yb-ed3-gallery-v5__heading strong {
    display: block !important;

    color:
        var(--gallery-title) !important;

    font-size:
        clamp(
            30px,
            2.6vw,
            43px
        ) !important;

    font-style: normal !important;
    font-weight: 720 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.052em !important;
}


.yb-ed3-gallery-v5__heading strong [data-yb-model-primary] {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
}

.yb-ed3-gallery-v5__heading strong [data-yb-model-primary]::before {
    content: none !important;
}

.yb-ed3-gallery-v5__heading strong em {
    display: inline !important;

    color:
        #86868b !important;

    font-style: normal !important;
    font-weight: 590 !important;
}


.yb-ed3-gallery-v5__heading small {
    max-width: 410px !important;

    margin-top: 10px !important;

    color:
        var(--gallery-body) !important;

    font-size:
        clamp(
            10.5px,
            0.75vw,
            12.5px
        ) !important;

    line-height: 1.48 !important;
}


/* ==========================================================================
   03. TOP CONTROLS
   ========================================================================== */

.yb-ed3-gallery-v5__top-actions {
    margin-top: 1px !important;
}


.yb-ed3-gallery-v5__counter strong {
    font-size:
        clamp(
            25px,
            2vw,
            32px
        ) !important;
}


.yb-ed3-gallery-v5__pause {
    width: 42px !important;
    height: 42px !important;

    background:
        rgba(255, 255, 255, 0.86) !important;

    box-shadow:
        0 9px 25px
        rgba(0, 0, 0, 0.06) !important;
}


/* ==========================================================================
   04. CENTRAL IMAGE DOMINANCE
   ========================================================================== */

.yb-ed3-gallery-v5__slide {
    top: 59% !important;

    width: 76% !important;
    height:
        calc(
            100% -
            178px
        ) !important;

    border-radius:
        clamp(
            24px,
            2vw,
            30px
        ) !important;
}


.yb-ed3-gallery-v5__slide.is-center {
    top: 59% !important;
    left: 50% !important;

    width: 76% !important;
    height:
        calc(
            100% -
            178px
        ) !important;

    box-shadow:
        0 28px 66px
        rgba(0, 0, 0, 0.14),
        0 0 0 1px
        rgba(255, 255, 255, 0.34) !important;
}


/*
 * The side slides are intentionally mostly outside the viewport.
 * Only a narrow edge remains visible as a preview of adjacent content.
 */
.yb-ed3-gallery-v5__slide.is-left {
    top: 59% !important;
    left: -3% !important;

    width: 24% !important;
    height:
        calc(
            100% -
            244px
        ) !important;

    opacity: 0.36 !important;

    filter:
        brightness(0.74)
        saturate(0.68) !important;

    transform:
        translate(-50%, -50%)
        scale(0.93) !important;

    box-shadow:
        0 12px 28px
        rgba(0, 0, 0, 0.07) !important;
}


.yb-ed3-gallery-v5__slide.is-right {
    top: 59% !important;
    left: 103% !important;

    width: 24% !important;
    height:
        calc(
            100% -
            244px
        ) !important;

    opacity: 0.36 !important;

    filter:
        brightness(0.74)
        saturate(0.68) !important;

    transform:
        translate(-50%, -50%)
        scale(0.93) !important;

    box-shadow:
        0 12px 28px
        rgba(0, 0, 0, 0.07) !important;
}


.yb-ed3-gallery-v5__slide.is-hidden-left {
    left: -40% !important;
}


.yb-ed3-gallery-v5__slide.is-hidden-right {
    left: 140% !important;
}


/* The main image keeps a quiet, premium hover movement. */
.yb-ed3-gallery-v5__slide.is-center > img {
    transform:
        scale(1.006) !important;
}


.yb-ed3-gallery-v5__slide.is-center:hover > img {
    transform:
        scale(1.014) !important;
}


/* Side previews should not contain competing text. */
.yb-ed3-gallery-v5__slide.is-left
.yb-ed3-gallery-v5__caption,
.yb-ed3-gallery-v5__slide.is-right
.yb-ed3-gallery-v5__caption {
    display: none !important;
}


/* Remove the repeated image number; the top counter is sufficient. */
.yb-ed3-gallery-v5__number {
    display: none !important;
}


/* ==========================================================================
   05. CAPTION REFINEMENT
   ========================================================================== */

.yb-ed3-gallery-v5__caption {
    right:
        clamp(
            22px,
            2.3vw,
            34px
        ) !important;

    bottom:
        clamp(
            20px,
            2vw,
            30px
        ) !important;

    left:
        clamp(
            22px,
            2.3vw,
            34px
        ) !important;
}


.yb-ed3-gallery-v5__caption-copy {
    max-width: 68% !important;
}


.yb-ed3-gallery-v5__caption-copy small {
    margin-bottom: 8px !important;

    font-size: 8.5px !important;
}


.yb-ed3-gallery-v5__caption-copy strong {
    font-size:
        clamp(
            28px,
            2.15vw,
            39px
        ) !important;

    line-height: 1.00 !important;
}


.yb-ed3-gallery-v5__caption-copy p {
    margin-top: 8px !important;

    color:
        rgba(255, 255, 255, 0.64) !important;

    font-size:
        clamp(
            10px,
            0.72vw,
            12.5px
        ) !important;
}


/* ==========================================================================
   06. ARROWS ATTACHED TO THE MAIN IMAGE
   ========================================================================== */

.yb-ed3-gallery-v5__arrow {
    top: 59% !important;

    width: 46px !important;
    height: 46px !important;

    background:
        rgba(255, 255, 255, 0.90) !important;

    box-shadow:
        0 10px 28px
        rgba(0, 0, 0, 0.10) !important;
}


/*
 * The centre image occupies 76% of the stage width.
 * Its horizontal edges therefore sit at approximately 12% and 88%.
 */
.yb-ed3-gallery-v5__arrow--previous {
    left:
        calc(
            12% -
            23px
        ) !important;
}


.yb-ed3-gallery-v5__arrow--next {
    right:
        calc(
            12% -
            23px
        ) !important;
}


/* ==========================================================================
   07. EDITORIAL PROGRESS NAVIGATION
   ========================================================================== */

.yb-ed3-gallery-v5__navigation {
    right: 50% !important;
    bottom: 10px !important;

    width: auto !important;
    max-width:
        calc(
            100% -
            80px
        ) !important;

    padding-top: 7px !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 8px !important;
}


.yb-ed3-gallery-v5__navigation-item {
    flex:
        0
        0
        44px !important;

    width: 44px !important;

    transition:
        flex-basis
        220ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        width
        220ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ) !important;
}


.yb-ed3-gallery-v5__navigation-item.is-active {
    flex-basis: 72px !important;
    width: 72px !important;
}


.yb-ed3-gallery-v5__navigation-item span {
    margin-bottom: 6px !important;

    font-size: 7px !important;
}


.yb-ed3-gallery-v5__navigation-item i {
    height: 2px !important;

    border-radius: 999px !important;
}


.yb-ed3-gallery-v5__navigation-item b {
    border-radius: 999px !important;
}


/* ==========================================================================
   08. MEDIUM DESKTOP
   ========================================================================== */

@media (max-width: 1200px) {

    .yb-ed3-gallery-v5__stage {
        height: 590px !important;
    }


    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        width: 78% !important;
    }


    .yb-ed3-gallery-v5__arrow--previous {
        left:
            calc(
                11% -
                22px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow--next {
        right:
            calc(
                11% -
                22px
            ) !important;
    }

}


/* ==========================================================================
   09. TABLET
   ========================================================================== */

@media (max-width: 1050px) {

    .yb-ed3-gallery-v5 {
        padding:
            34px
            0
            28px !important;
    }


    .yb-ed3-gallery-v5__stage {
        height: 520px !important;
    }


    .yb-ed3-gallery-v5__topbar {
        top: 18px !important;
    }


    .yb-ed3-gallery-v5__heading strong {
        font-size: 30px !important;
    }


    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 60% !important;

        width: 82% !important;
        height:
            calc(
                100% -
                170px
            ) !important;
    }


    .yb-ed3-gallery-v5__slide.is-left {
        top: 60% !important;
        left: -5% !important;

        width: 27% !important;
        height:
            calc(
                100% -
                226px
            ) !important;
    }


    .yb-ed3-gallery-v5__slide.is-right {
        top: 60% !important;
        left: 105% !important;

        width: 27% !important;
        height:
            calc(
                100% -
                226px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow {
        top: 60% !important;
    }


    .yb-ed3-gallery-v5__arrow--previous {
        left:
            calc(
                9% -
                21px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow--next {
        right:
            calc(
                9% -
                21px
            ) !important;
    }


    .yb-ed3-gallery-v5__navigation {
        max-width:
            calc(
                100% -
                50px
            ) !important;
    }

}


/* ==========================================================================
   10. MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-gallery-v5 {
        padding:
            28px
            0
            22px !important;
    }


    .yb-ed3-gallery-v5__stage {
        height: 500px !important;
    }


    .yb-ed3-gallery-v5__topbar {
        top: 14px !important;
        right: 14px !important;
        left: 14px !important;
    }


    .yb-ed3-gallery-v5__heading {
        max-width: 230px !important;
    }


    .yb-ed3-gallery-v5__heading > span {
        margin-bottom: 9px !important;
    }


    .yb-ed3-gallery-v5__heading strong {
        font-size: 25px !important;
    }


    .yb-ed3-gallery-v5__heading small {
        display: none !important;
    }


    .yb-ed3-gallery-v5__top-actions {
        gap: 8px !important;
    }


    .yb-ed3-gallery-v5__counter strong {
        font-size: 21px !important;
    }


    .yb-ed3-gallery-v5__pause {
        width: 34px !important;
        height: 34px !important;
    }


    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 61% !important;

        width: 88% !important;
        height:
            calc(
                100% -
                170px
            ) !important;

        border-radius: 20px !important;
    }


    .yb-ed3-gallery-v5__slide.is-left {
        top: 61% !important;
        left: -10% !important;

        width: 37% !important;
        height:
            calc(
                100% -
                236px
            ) !important;
    }


    .yb-ed3-gallery-v5__slide.is-right {
        top: 61% !important;
        left: 110% !important;

        width: 37% !important;
        height:
            calc(
                100% -
                236px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow {
        top: 61% !important;

        width: 38px !important;
        height: 38px !important;
    }


    .yb-ed3-gallery-v5__arrow--previous {
        left:
            calc(
                6% -
                15px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow--next {
        right:
            calc(
                6% -
                15px
            ) !important;
    }


    .yb-ed3-gallery-v5__caption-copy {
        max-width: 86% !important;
    }


    .yb-ed3-gallery-v5__caption-copy strong {
        font-size: 24px !important;
    }


    .yb-ed3-gallery-v5__caption-copy p {
        display: none !important;
    }


    .yb-ed3-gallery-v5__navigation {
        bottom: 7px !important;

        gap: 5px !important;
    }


    .yb-ed3-gallery-v5__navigation-item {
        flex-basis: 31px !important;
        width: 31px !important;
    }


    .yb-ed3-gallery-v5__navigation-item.is-active {
        flex-basis: 52px !important;
        width: 52px !important;
    }


    .yb-ed3-gallery-v5__navigation-item span {
        font-size: 5.5px !important;
    }

}



/* ==========================================================================
   15. v6.2 RESERVED HEADER GALLERY — FINAL OVERRIDES

   Main correction:
   The chapter title now occupies a dedicated header zone.
   The image carousel begins lower on the stage, so the text never overlaps
   the main image or loses contrast.

   Additional refinements:
   - shorter, more natural product-gallery title;
   - single-line desktop heading where space allows;
   - clearer separation between heading and imagery;
   - slightly more compact description;
   - consistent image, arrow and progress positions.
   ========================================================================== */


/* ==========================================================================
   01. RESERVED HEADER ZONE
   ========================================================================== */

.yb-ed3-gallery-v5__stage {
    height:
        clamp(
            620px,
            37vw,
            680px
        ) !important;
}


/*
 * The top bar is allowed to occupy the full width, but its content remains
 * above the image zone.
 */
.yb-ed3-gallery-v5__topbar {
    top:
        clamp(
            24px,
            2.1vw,
            32px
        ) !important;

    right:
        clamp(
            28px,
            3.2vw,
            52px
        ) !important;

    left:
        clamp(
            28px,
            3.2vw,
            52px
        ) !important;

    z-index: 40 !important;

    align-items: flex-start !important;
}


/* ==========================================================================
   02. SHORTER, MORE SUITABLE TITLE
   ========================================================================== */

.yb-ed3-gallery-v5__heading {
    width:
        min(
            720px,
            calc(
                100% -
                230px
            )
        ) !important;

    max-width: 720px !important;
}


.yb-ed3-gallery-v5__heading > span {
    margin-bottom: 12px !important;
}


.yb-ed3-gallery-v5__heading strong {
    display: block !important;

    max-width: 720px !important;

    color:
        var(--gallery-title) !important;

    font-size:
        clamp(
            32px,
            2.45vw,
            42px
        ) !important;

    font-weight: 720 !important;
    line-height: 1.00 !important;
    letter-spacing: -0.048em !important;
    white-space: normal !important;
}


.yb-ed3-gallery-v5__heading strong em {
    display: inline !important;

    color:
        #86868b !important;

    font-style: normal !important;
    font-weight: 590 !important;
}


.yb-ed3-gallery-v5__heading small {
    max-width: 460px !important;

    margin-top: 9px !important;

    color:
        var(--gallery-body) !important;

    font-size:
        clamp(
            10.5px,
            0.72vw,
            12px
        ) !important;

    line-height: 1.42 !important;
}


/* ==========================================================================
   03. IMAGE ZONE MOVED BELOW THE HEADER
   ========================================================================== */

/*
 * At a 650 px stage height:
 * - centre line is around 416 px;
 * - main image top is around 199 px;
 * - the complete header remains above the image.
 */
.yb-ed3-gallery-v5__slide,
.yb-ed3-gallery-v5__slide.is-center {
    top: 64% !important;

    height:
        calc(
            100% -
            215px
        ) !important;
}


/*
 * Side previews are also moved lower and shortened.
 */
.yb-ed3-gallery-v5__slide.is-left,
.yb-ed3-gallery-v5__slide.is-right {
    top: 64% !important;

    height:
        calc(
            100% -
            282px
        ) !important;
}


/* ==========================================================================
   04. ARROWS FOLLOW THE MAIN IMAGE
   ========================================================================== */

.yb-ed3-gallery-v5__arrow {
    top: 64% !important;
}


/* ==========================================================================
   05. PROGRESS REMAINS BELOW THE MAIN IMAGE
   ========================================================================== */

.yb-ed3-gallery-v5__navigation {
    bottom: 9px !important;
}


/* ==========================================================================
   06. MEDIUM DESKTOP
   ========================================================================== */

@media (max-width: 1200px) {

    .yb-ed3-gallery-v5__stage {
        height: 620px !important;
    }


    .yb-ed3-gallery-v5__heading {
        width:
            min(
                610px,
                calc(
                    100% -
                    210px
                )
            ) !important;
    }


    .yb-ed3-gallery-v5__heading strong {
        font-size: 35px !important;
    }


    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 64% !important;

        height:
            calc(
                100% -
                210px
            ) !important;
    }


    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 64% !important;

        height:
            calc(
                100% -
                275px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow {
        top: 64% !important;
    }

}


/* ==========================================================================
   07. TABLET
   ========================================================================== */

@media (max-width: 1050px) {

    .yb-ed3-gallery-v5__stage {
        height: 560px !important;
    }


    .yb-ed3-gallery-v5__topbar {
        top: 18px !important;
        right: 22px !important;
        left: 22px !important;
    }


    .yb-ed3-gallery-v5__heading {
        width:
            min(
                510px,
                calc(
                    100% -
                    170px
                )
            ) !important;
    }


    .yb-ed3-gallery-v5__heading strong {
        font-size: 30px !important;
    }


    .yb-ed3-gallery-v5__heading small {
        max-width: 390px !important;
    }


    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 65% !important;

        height:
            calc(
                100% -
                195px
            ) !important;
    }


    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 65% !important;

        height:
            calc(
                100% -
                250px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow {
        top: 65% !important;
    }

}


/* ==========================================================================
   08. MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .yb-ed3-gallery-v5__stage {
        height: 520px !important;
    }


    .yb-ed3-gallery-v5__topbar {
        top: 14px !important;
        right: 14px !important;
        left: 14px !important;
    }


    .yb-ed3-gallery-v5__heading {
        width:
            calc(
                100% -
                118px
            ) !important;

        max-width: none !important;
    }


    .yb-ed3-gallery-v5__heading strong {
        font-size: 25px !important;
        line-height: 1.02 !important;
    }


    .yb-ed3-gallery-v5__heading small {
        display: none !important;
    }


    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 65% !important;

        height:
            calc(
                100% -
                180px
            ) !important;
    }


    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 65% !important;

        height:
            calc(
                100% -
                242px
            ) !important;
    }


    .yb-ed3-gallery-v5__arrow {
        top: 65% !important;
    }

}



/* ==========================================================================
   14. V6.3 — NAVIGATION CLEARANCE FIX

   Problem corrected:
   The numbered navigation and progress bars were positioned at the bottom of
   the same stage used by the centre image. The centre slide extended too far
   downward, so the image edge, number labels and progress bars visually
   collided.

   Solution:
   - Reserve a separate lower navigation rail inside the stage.
   - Shorten and raise the centre image slightly.
   - Keep the numbered progress control below the image instead of on it.
   - Preserve all existing images, autoplay, arrows, swipe and lightbox logic.
   ========================================================================== */

@media (min-width: 681px) {

    .yb-ed3-gallery-v5__stage {
        height:
            clamp(
                460px,
                31vw,
                520px
            );
    }

    .yb-ed3-gallery-v5__slide {
        top: 52%;

        height:
            calc(
                100% -
                156px
            );
    }

    .yb-ed3-gallery-v5__slide.is-center {
        top: 52%;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 54%;

        height:
            calc(
                100% -
                196px
            );
    }

    .yb-ed3-gallery-v5__arrow {
        top: 54%;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 13px;

        padding-top: 0;
    }

    .yb-ed3-gallery-v5__stage::after {
        bottom: 49px;
    }

}


@media (max-width: 680px) {

    .yb-ed3-gallery-v5__stage {
        height: 430px;
    }

    .yb-ed3-gallery-v5__slide {
        top: 52%;

        height:
            calc(
                100% -
                136px
            );
    }

    .yb-ed3-gallery-v5__slide.is-center {
        top: 52%;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 54%;

        height:
            calc(
                100% -
                190px
            );
    }

    .yb-ed3-gallery-v5__arrow {
        top: 54%;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 8px;

        padding-top: 0;
    }

    .yb-ed3-gallery-v5__stage::after {
        bottom: 42px;
    }

}



/* ==========================================================================
   15. V6.4 — FINAL DEDICATED PROGRESS RAIL FIX

   Why v6.3 did not visibly change the page:
   Earlier visual-patch rules already set the slide position and height with
   !important. The first v6.3 override did not use !important, so the browser
   continued to use the earlier values.

   This final patch:
   - uses !important so it wins over the earlier patch layers;
   - raises and shortens the image deck;
   - reserves a real empty rail below the images;
   - keeps the numbered progress controls entirely below the centre image;
   - aligns the arrows with the revised centre image;
   - preserves all HTML and JavaScript interactions.
   ========================================================================== */

@media (min-width: 1201px) {

    .yb-ed3-gallery-v5__stage {
        height:
            clamp(
                570px,
                36vw,
                650px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 58% !important;

        height:
            calc(
                100% -
                245px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 58% !important;

        height:
            calc(
                100% -
                305px
            ) !important;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 58% !important;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 12px !important;

        padding-top: 0 !important;
    }

}


@media (min-width: 681px) and (max-width: 1200px) {

    .yb-ed3-gallery-v5__stage {
        height: 620px !important;
    }

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 58% !important;

        height:
            calc(
                100% -
                240px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 58% !important;

        height:
            calc(
                100% -
                300px
            ) !important;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 58% !important;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 11px !important;

        padding-top: 0 !important;
    }

}


@media (max-width: 680px) {

    .yb-ed3-gallery-v5__stage {
        height: 430px !important;
    }

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 57% !important;

        height:
            calc(
                100% -
                174px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 57% !important;

        height:
            calc(
                100% -
                225px
            ) !important;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 57% !important;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 7px !important;

        padding-top: 0 !important;
    }

}



/* ==========================================================================
   15. V6.5 — LARGER NUMBERED PROGRESS

   This is a visual refinement only.
   It does not change images, slide positions, autoplay, arrows, swipe,
   keyboard controls or lightbox behaviour.

   Changes:
   - Increase the six lower numbers from 8 px to 10 px.
   - Increase inactive-number contrast.
   - Make the progress rails slightly wider and thicker.
   - Keep active and inactive states aligned at the same height.
   ========================================================================== */

.yb-ed3-gallery-v5__navigation {
    width:
        min(
            500px,
            60%
        ) !important;

    gap:
        10px !important;
}


.yb-ed3-gallery-v5__navigation-item {
    color:
        rgba(
            29,
            29,
            31,
            0.48
        ) !important;
}


.yb-ed3-gallery-v5__navigation-item span {
    margin-bottom:
        7px !important;

    font-size:
        10px !important;

    font-weight:
        720 !important;

    letter-spacing:
        0.02em !important;
}


.yb-ed3-gallery-v5__navigation-item i {
    height:
        3px !important;

    border-radius:
        999px !important;

    background:
        rgba(
            29,
            29,
            31,
            0.14
        ) !important;
}


.yb-ed3-gallery-v5__navigation-item b {
    border-radius:
        999px !important;
}


.yb-ed3-gallery-v5__navigation-item.is-active span {
    font-weight:
        800 !important;
}


@media (max-width: 680px) {

    .yb-ed3-gallery-v5__navigation {
        width:
            min(
                360px,
                84%
            ) !important;

        gap:
            7px !important;
    }

    .yb-ed3-gallery-v5__navigation-item span {
        font-size:
            9px !important;
    }

}


/* ==========================================================================
   16. V6.6 — FULL-HEIGHT IMAGE AREA

   Purpose:
   - use more of the visible screen height for the product image;
   - preserve the dedicated heading zone above the image;
   - preserve the numbered progress rail below the image;
   - keep the existing carousel, autoplay, swipe, arrows and lightbox logic.
   ========================================================================== */

/* Reduce outer whitespace so the enlarged stage still fits one screen. */
.yb-ed3-gallery-v5 {
    padding:
        clamp(24px, 2.2vw, 32px)
        clamp(12px, 2vw, 28px)
        clamp(18px, 1.8vw, 24px) !important;
}

/* Large desktop: stage follows the viewport height, with safe limits. */
@media (min-width: 1201px) {

    .yb-ed3-gallery-v5__stage {
        height:
            clamp(
                680px,
                calc(100svh - 66px),
                740px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 59% !important;

        height:
            calc(
                100% -
                218px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 59% !important;

        height:
            calc(
                100% -
                280px
            ) !important;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 59% !important;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 10px !important;
    }

    .yb-ed3-gallery-v5__stage::after {
        bottom: 48px !important;
    }
}

/* Laptop and tablet landscape. */
@media (min-width: 681px) and (max-width: 1200px) {

    .yb-ed3-gallery-v5__stage {
        height:
            clamp(
                600px,
                calc(100svh - 58px),
                680px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 59.5% !important;

        height:
            calc(
                100% -
                205px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 59.5% !important;

        height:
            calc(
                100% -
                262px
            ) !important;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 59.5% !important;
    }

    .yb-ed3-gallery-v5__navigation {
        bottom: 9px !important;
    }

    .yb-ed3-gallery-v5__stage::after {
        bottom: 46px !important;
    }
}

/* Mobile: increase the image without making the section excessively tall. */
@media (max-width: 680px) {

    .yb-ed3-gallery-v5 {
        padding:
            18px
            0
            16px !important;
    }

    .yb-ed3-gallery-v5__stage {
        height:
            clamp(
                500px,
                calc(100svh - 34px),
                590px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide,
    .yb-ed3-gallery-v5__slide.is-center {
        top: 60% !important;

        height:
            calc(
                100% -
                174px
            ) !important;
    }

    .yb-ed3-gallery-v5__slide.is-left,
    .yb-ed3-gallery-v5__slide.is-right {
        top: 60% !important;

        height:
            calc(
                100% -
                225px
            ) !important;
    }

    .yb-ed3-gallery-v5__arrow {
        top: 60% !important;
    }
}



/* ===== SECTION 05 / ORIGINAL STYLE BLOCK 2 ===== */
/* ========================================================================== 
   16. GOOGLE SHEETS DATA STATES
   ========================================================================== */

.yb-ed3-gallery-v5[data-yb-product-data-state="loading"]
[data-yb-model-name],
.yb-ed3-gallery-v5[data-yb-product-data-state="loading"]
[data-yb-field] {
    opacity: 0.48;
}

.yb-ed3-gallery-v5[data-yb-product-data-state="ready"]
[data-yb-model-name],
.yb-ed3-gallery-v5[data-yb-product-data-state="ready"]
[data-yb-field] {
    opacity: 1;
    transition: opacity 180ms ease;
}

.yb-ed3-gallery-v5[data-yb-product-data-state="error"]
[data-yb-model-name],
.yb-ed3-gallery-v5[data-yb-product-data-state="error"]
[data-yb-field] {
    opacity: 0.72;
}

/* Composite values can be longer on other product models. */
.yb-ed3-gallery-v5__heading strong,
.yb-ed3-gallery-v5__caption-copy strong,
.yb-ed3-gallery-v5__caption-copy p,
.yb-ed3-gallery-v5__lightbox-figure figcaption strong,
.yb-ed3-gallery-v5__lightbox-figure figcaption p {
    overflow-wrap: anywhere;
}



/* ===== SECTION 06 / ORIGINAL STYLE BLOCK 1 ===== */
/* ==========================================================================
   01. ROOT
   ========================================================================== */

#yb-ed3-specs-v3 {
    --yb3-bg:
        #f5f5f7;

    --yb3-panel:
        rgba(255, 255, 255, 0.9);

    --yb3-panel-solid:
        #ffffff;

    --yb3-text:
        #1d1d1f;

    --yb3-secondary:
        #6e6e73;

    --yb3-tertiary:
        #8e8e93;

    --yb3-line:
        rgba(29, 29, 31, 0.10);

    --yb3-line-soft:
        rgba(29, 29, 31, 0.065);

    --yb3-red:
        #e31e24;

    --yb3-red-soft:
        rgba(227, 30, 36, 0.07);

    --yb3-green:
        #16803c;

    --yb3-content-width:
        1460px;

    --yb3-radius:
        24px;

    position: relative;

    width: 100%;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 88% 4%,
            rgba(255, 255, 255, 0.94) 0,
            rgba(255, 255, 255, 0) 29%
        ),
        linear-gradient(
            180deg,
            #f7f7f9 0%,
            var(--yb3-bg) 100%
        );

    color:
        var(--yb3-text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;

    isolation: isolate;
}


#yb-ed3-specs-v3 *,
#yb-ed3-specs-v3 *::before,
#yb-ed3-specs-v3 *::after {
    box-sizing: border-box;
}


#yb-ed3-specs-v3 [hidden] {
    display: none !important;
}


body.yb-ed3-compare-open {
    overflow: hidden !important;
}


/* ==========================================================================
   02. MAIN LAYOUT
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__inner {
    width:
        min(
            var(--yb3-content-width),
            calc(100% - 72px)
        );

    margin:
        0
        auto;

    padding:
        clamp(
            52px,
            5vw,
            76px
        )
        0
        clamp(
            54px,
            5vw,
            78px
        );
}


/* ==========================================================================
   03. HEADER
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__header {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 34px;

    margin-bottom: 28px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__heading {
    min-width: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__eyebrow {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 13px;

    color:
        #7f3d40;

    font-size: 10px;

    font-weight: 760;

    letter-spacing:
        0.15em;

    line-height: 1;

    text-transform: uppercase;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__eyebrow-dot {
    width: 7px;
    height: 7px;

    border-radius: 999px;

    background:
        var(--yb3-red);

    box-shadow:
        0 0 0 5px
        rgba(227, 30, 36, 0.08);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__title {
    margin: 0;

    font-size:
        clamp(
            36px,
            4vw,
            58px
        );

    font-weight: 660;

    letter-spacing:
        -0.05em;

    line-height: 0.98;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__intro {
    margin:
        12px
        0
        0;

    color:
        var(--yb3-secondary);

    font-size:
        clamp(
            13px,
            1vw,
            16px
        );

    line-height: 1.5;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__header-actions {
    display: flex;

    align-items: center;

    gap: 12px;

    flex: 0 0 auto;
}


/* ==========================================================================
   04. STATUS AND COMPARE BUTTON
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__status {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    min-height: 42px;

    padding:
        0
        15px;

    border:
        1px solid
        var(--yb3-line);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.74);

    color:
        var(--yb3-secondary);

    font-size: 11px;

    font-weight: 680;

    white-space: nowrap;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__status-dot {
    width: 7px;
    height: 7px;

    border-radius: 999px;

    background:
        #d99a00;
}


#yb-ed3-specs-v3.is-loaded
.yb-ed3-specs-v3__status {
    color:
        var(--yb3-green);
}


#yb-ed3-specs-v3.is-loaded
.yb-ed3-specs-v3__status-dot {
    background:
        var(--yb3-green);

    box-shadow:
        0 0 0 4px
        rgba(22, 128, 60, 0.09);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__compare-open {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 44px;

    padding:
        0
        20px;

    border:
        1px solid
        #1d1d1f;

    border-radius: 999px;

    background:
        #1d1d1f;

    color:
        #ffffff;

    font: inherit;

    font-size: 11px;

    font-weight: 720;

    letter-spacing:
        0.065em;

    cursor: pointer;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__compare-open:hover {
    transform:
        translateY(-1px);

    border-color:
        var(--yb3-red);

    background:
        var(--yb3-red);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__compare-open:disabled {
    opacity: 0.42;

    border-color:
        rgba(29, 29, 31, 0.16);

    background:
        rgba(29, 29, 31, 0.12);

    color:
        var(--yb3-tertiary);

    cursor:
        not-allowed;

    transform:
        none;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__compare-icon {
    color:
        #ffffff;

    font-size: 19px;

    font-weight: 400;

    line-height: 1;
}


/* ==========================================================================
   05. SPECIFICATION PANEL
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__content {
    animation:
        yb-ed3-specs-v3-reveal
        360ms
        ease
        both;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__sections {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    overflow: hidden;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        var(--yb3-radius);

    background:
        var(--yb3-panel);

    box-shadow:
        0 20px 58px
        rgba(0, 0, 0, 0.055);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section {
    min-width: 0;

    padding:
        clamp(
            24px,
            2.4vw,
            36px
        );

    border-right:
        1px solid
        var(--yb3-line);

    border-bottom:
        1px solid
        var(--yb3-line);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-child(2n) {
    border-right: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-last-child(-n + 2) {
    border-bottom: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-head {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 17px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-title-wrap {
    display: flex;

    align-items: baseline;

    gap: 11px;

    min-width: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-index {
    color:
        var(--yb3-red);

    font-size: 10px;

    font-weight: 760;

    letter-spacing:
        0.10em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-title {
    margin: 0;

    font-size:
        clamp(
            18px,
            1.4vw,
            23px
        );

    font-weight: 660;

    letter-spacing:
        -0.03em;

    line-height: 1.15;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-count {
    color:
        var(--yb3-tertiary);

    font-size: 9px;

    font-weight: 700;

    letter-spacing:
        0.08em;

    text-transform: uppercase;

    white-space: nowrap;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    column-gap:
        clamp(
            24px,
            2.5vw,
            40px
        );
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field {
    min-width: 0;

    padding:
        14px
        0
        13px;

    border-top:
        1px solid
        var(--yb3-line-soft);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field-label {
    display: block;

    margin-bottom: 5px;

    color:
        var(--yb3-secondary);

    font-size: 11px;

    font-weight: 520;

    line-height: 1.35;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field-value {
    display: block;

    color:
        var(--yb3-text);

    font-size:
        clamp(
            13px,
            0.95vw,
            15px
        );

    font-weight: 680;

    line-height: 1.32;

    overflow-wrap: anywhere;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__footer {
    display: flex;

    justify-content: space-between;

    gap: 28px;

    padding:
        15px
        4px
        0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__footer span {
    color:
        var(--yb3-tertiary);

    font-size: 9px;

    line-height: 1.45;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__footer span:last-child {
    text-align: right;
}


/* ==========================================================================
   06. MAIN LOADING AND ERROR
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__loading-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    overflow: hidden;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        var(--yb3-radius);

    background:
        var(--yb3-panel);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__loading-block {
    min-height: 250px;

    border-right:
        1px solid
        var(--yb3-line);

    border-bottom:
        1px solid
        var(--yb3-line);

    background:
        linear-gradient(
            100deg,
            rgba(255, 255, 255, 0.18) 20%,
            rgba(255, 255, 255, 0.82) 40%,
            rgba(255, 255, 255, 0.18) 60%
        );

    background-size:
        200% 100%;

    animation:
        yb-ed3-specs-v3-shimmer
        1.45s
        infinite;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__loading-block:nth-child(2n) {
    border-right: 0;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__loading-block:nth-last-child(-n + 2) {
    border-bottom: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__error {
    display: grid;

    grid-template-columns:
        44px
        minmax(
            0,
            1fr
        )
        auto;

    align-items: center;

    gap: 16px;

    padding:
        17px
        18px;

    border:
        1px solid
        rgba(227, 30, 36, 0.18);

    border-radius:
        18px;

    background:
        rgba(255, 255, 255, 0.86);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__error-icon {
    display: grid;

    place-items: center;

    width: 44px;
    height: 44px;

    border-radius: 999px;

    background:
        var(--yb3-red-soft);

    color:
        var(--yb3-red);

    font-size: 20px;

    font-weight: 760;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__error-copy {
    display: flex;

    flex-direction: column;

    gap: 4px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__error-copy strong {
    font-size: 14px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__error-copy span {
    color:
        var(--yb3-secondary);

    font-size: 11px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__retry {
    min-height: 38px;

    padding:
        0
        16px;

    border: 0;

    border-radius: 999px;

    background:
        var(--yb3-red);

    color:
        #ffffff;

    font: inherit;

    font-size: 11px;

    font-weight: 700;

    cursor: pointer;
}


/* ==========================================================================
   07. MODAL SHELL
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
    position: fixed;

    inset: 0;

    z-index: 1000000;

    display: grid;

    place-items: center;

    padding:
        28px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__backdrop {
    position: absolute;

    inset: 0;

    background:
        rgba(8, 9, 12, 0.62);

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog {
    position: relative;

    z-index: 1;

    display: flex;

    flex-direction: column;

    width:
        min(
            1420px,
            94vw
        );

    max-height:
        90vh;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, 0.68);

    border-radius:
        28px;

    background:
        #f7f7f9;

    box-shadow:
        0 34px 100px
        rgba(0, 0, 0, 0.28);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-head {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 30px;

    padding:
        28px
        32px
        24px;

    border-bottom:
        1px solid
        var(--yb3-line);

    background:
        rgba(255, 255, 255, 0.86);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-eyebrow {
    margin-bottom: 8px;

    color:
        var(--yb3-red);

    font-size: 9px;

    font-weight: 760;

    letter-spacing:
        0.14em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-title {
    margin: 0;

    font-size:
        clamp(
            28px,
            2.6vw,
            42px
        );

    font-weight: 660;

    letter-spacing:
        -0.045em;

    line-height: 1.02;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-intro {
    margin:
        10px
        0
        0;

    color:
        var(--yb3-secondary);

    font-size: 13px;

    line-height: 1.45;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-close {
    display: grid;

    place-items: center;

    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    border:
        1px solid
        var(--yb3-line);

    border-radius: 999px;

    background:
        #ffffff;

    color:
        var(--yb3-text);

    font: inherit;

    font-size: 25px;

    line-height: 1;

    cursor: pointer;
}


/* ==========================================================================
   08. PICKER
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker {
    min-height: 0;

    overflow-y: auto;

    padding:
        28px
        32px
        30px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-model {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    min-height: 78px;

    padding:
        18px
        20px;

    border:
        1px solid
        rgba(227, 30, 36, 0.18);

    border-radius:
        18px;

    background:
        rgba(227, 30, 36, 0.045);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-model > div {
    display: flex;

    flex-direction: column;

    gap: 6px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-label {
    color:
        var(--yb3-red);

    font-size: 9px;

    font-weight: 760;

    letter-spacing:
        0.10em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-model strong {
    font-size: 18px;

    letter-spacing:
        -0.02em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__locked {
    padding:
        7px
        10px;

    border-radius: 999px;

    background:
        #1d1d1f;

    color:
        #ffffff;

    font-size: 9px;

    font-weight: 720;

    letter-spacing:
        0.08em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-area {
    margin-top: 20px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-loading,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-message {
    padding:
        30px
        22px;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        18px;

    background:
        rgba(255, 255, 255, 0.76);

    color:
        var(--yb3-secondary);

    font-size: 13px;

    line-height: 1.55;

    text-align: center;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap: 12px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-option {
    position: relative;

    display: flex;

    align-items: center;

    min-height: 88px;

    padding:
        16px
        16px
        16px
        52px;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        17px;

    background:
        rgba(255, 255, 255, 0.82);

    cursor: pointer;

    transition:
        transform 160ms ease,
        border-color 160ms ease,
        background-color 160ms ease;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-option:hover {
    transform:
        translateY(-1px);

    border-color:
        rgba(227, 30, 36, 0.35);
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-option.is-selected {
    border-color:
        var(--yb3-red);

    background:
        var(--yb3-red-soft);
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-option.is-disabled {
    opacity:
        0.42;

    cursor:
        not-allowed;

    transform: none;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-checkbox {
    position: absolute;

    left: 17px;
    top: 50%;

    width: 20px;
    height: 20px;

    transform:
        translateY(-50%);

    accent-color:
        var(--yb3-red);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-copy {
    display: flex;

    flex-direction: column;

    gap: 6px;

    min-width: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-name {
    font-size: 14px;

    font-weight: 680;

    line-height: 1.25;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-code {
    color:
        var(--yb3-secondary);

    font-size: 10px;

    line-height: 1.25;

    overflow-wrap: anywhere;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-footer {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 24px;

    margin-top: 24px;

    padding-top: 20px;

    border-top:
        1px solid
        var(--yb3-line);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__selection-status {
    color:
        var(--yb3-secondary);

    font-size: 12px;

    line-height: 1.4;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-actions {
    display: flex;

    align-items: center;

    gap: 10px;
}


/* ==========================================================================
   09. BUTTONS
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__button-primary,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__button-secondary {
    min-height: 43px;

    padding:
        0
        18px;

    border-radius: 999px;

    font: inherit;

    font-size: 11px;

    font-weight: 720;

    cursor: pointer;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__button-primary {
    border:
        1px solid
        var(--yb3-red);

    background:
        var(--yb3-red);

    color:
        #ffffff;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__button-primary:disabled {
    border-color:
        rgba(29, 29, 31, 0.12);

    background:
        rgba(29, 29, 31, 0.08);

    color:
        var(--yb3-tertiary);

    cursor:
        not-allowed;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__button-secondary {
    border:
        1px solid
        var(--yb3-line);

    background:
        #ffffff;

    color:
        var(--yb3-text);
}


/* ==========================================================================
   10. COMPARISON RESULT
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__result {
    min-height: 0;

    overflow-y: auto;

    padding:
        22px
        26px
        28px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-toolbar {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__selected-models {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__selected-chip {
    padding:
        7px
        10px;

    border:
        1px solid
        var(--yb3-line);

    border-radius: 999px;

    background:
        #ffffff;

    color:
        var(--yb3-text);

    font-size: 10px;

    font-weight: 650;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-loading,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-error {
    padding:
        34px
        22px;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        18px;

    background:
        #ffffff;

    color:
        var(--yb3-secondary);

    font-size: 13px;

    text-align: center;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-error {
    display: flex;

    flex-direction: column;

    gap: 6px;

    color:
        #b42318;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table-wrap {
    overflow: auto;

    max-height:
        calc(90vh - 190px);

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        18px;

    background:
        #ffffff;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table {
    width: 100%;

    min-width: 900px;

    border-collapse: separate;

    border-spacing: 0;

    color:
        var(--yb3-text);

    font-size: 12px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table th,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__table td {
    min-width: 190px;

    padding:
        15px
        16px;

    border-right:
        1px solid
        var(--yb3-line-soft);

    border-bottom:
        1px solid
        var(--yb3-line-soft);

    vertical-align: top;

    line-height: 1.4;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table th:first-child,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__table td:first-child {
    position: sticky;

    left: 0;

    z-index: 3;

    min-width: 220px;

    background:
        #f7f7f9;

    box-shadow:
        1px 0 0
        var(--yb3-line);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table thead th {
    position: sticky;

    top: 0;

    z-index: 4;

    background:
        #ffffff;

    font-size: 12px;

    font-weight: 720;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__table thead th:first-child {
    z-index: 6;

    background:
        #f7f7f9;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table th:last-child,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__table td:last-child {
    border-right: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table tr:last-child td {
    border-bottom: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-row td {
    position: static !important;

    min-width: 0 !important;

    padding:
        11px
        16px !important;

    background:
        #1d1d1f !important;

    color:
        #ffffff;

    font-size: 10px;

    font-weight: 720;

    letter-spacing:
        0.08em;

    text-transform: uppercase;

    box-shadow: none !important;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__parameter-label {
    color:
        var(--yb3-secondary);

    font-weight: 560;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__value-cell {
    font-weight: 650;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__value-cell.is-different {
    background:
        rgba(227, 30, 36, 0.055);
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__value-cell.is-different::before {
    content: "";

    display: inline-block;

    width: 6px;
    height: 6px;

    margin-right: 7px;

    border-radius: 999px;

    background:
        var(--yb3-red);

    vertical-align: 1px;
}


/* ==========================================================================
   11. RESPONSIVE
   ========================================================================== */

@media (max-width: 1100px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__inner {
        width:
            calc(100% - 40px);
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__header {
        align-items: flex-start;

        flex-direction: column;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

}


@media (max-width: 900px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__sections,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__loading-grid {
        grid-template-columns:
            1fr;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__loading-block {
        border-right: 0;

        border-bottom:
            1px solid
            var(--yb3-line);
    }


    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__section:last-child,
    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__loading-block:last-child {
        border-bottom: 0;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog {
        width:
            calc(100vw - 24px);

        max-height:
            calc(100vh - 24px);
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
        padding: 12px;
    }

}


@media (max-width: 640px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__inner {
        width:
            calc(100% - 22px);

        padding:
            40px
            0
            46px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__title {
        font-size:
            clamp(
                34px,
                10vw,
                46px
            );
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__header-actions {
        align-items: stretch;

        flex-direction: column;

        width: 100%;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__status,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__compare-open {
        justify-content: center;

        width: 100%;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section {
        padding:
            22px
            18px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section-head {
        align-items: flex-start;

        flex-direction: column;

        gap: 7px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__field-grid {
        grid-template-columns:
            1fr;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__footer {
        flex-direction: column;

        gap: 5px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__footer span:last-child {
        text-align: left;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-head {
        padding:
            22px
            20px
            18px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__result {
        padding:
            20px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
        grid-template-columns:
            1fr;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-footer,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__result-toolbar {
        align-items: stretch;

        flex-direction: column;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-actions {
        display: grid;

        grid-template-columns:
            1fr
            1fr;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__error {
        grid-template-columns:
            40px
            minmax(
                0,
                1fr
            );
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__retry {
        grid-column:
            1
            /
            -1;

        width: 100%;
    }

}


/* ==========================================================================
   12. ANIMATIONS
   ========================================================================== */

@keyframes yb-ed3-specs-v3-shimmer {
    0% {
        background-position:
            200%
            0;
    }

    100% {
        background-position:
            -200%
            0;
    }
}


@keyframes yb-ed3-specs-v3-reveal {
    from {
        opacity: 0;

        transform:
            translateY(8px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }
}


@media (prefers-reduced-motion: reduce) {

    #yb-ed3-specs-v3 *,
    #yb-ed3-specs-v3 *::before,
    #yb-ed3-specs-v3 *::after {
        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            0.01ms !important;
    }

}


/* ==========================================================================
   13. V3.1 — COMPACT FOUR-COLUMN INITIAL STATE

   Why this override exists:
   The v3.0 desktop panel used a 2 × 2 grid. Because the four sections contain
   different numbers of fields, the shorter sections inherited the height of
   the taller section beside them. This created a large empty area and made the
   specification screen taller than necessary.

   Desktop solution:
   - Use four independent columns in one row.
   - Each section keeps only the height needed by its own fields.
   - Reduce vertical padding without reducing readable font sizes.
   - Keep the comparison modal and comparison table unchanged.

   Responsive solution:
   - Large desktop: four columns.
   - Medium screens: two columns.
   - Mobile: one column.
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__inner {
    padding:
        clamp(
            34px,
            3.4vw,
            52px
        )
        0
        clamp(
            38px,
            3.6vw,
            56px
        );
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__header {
    margin-bottom: 20px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__title {
    font-size:
        clamp(
            34px,
            3.45vw,
            50px
        );
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__intro {
    margin-top: 9px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__sections {
    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    align-items: start;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-child(2n),
#yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-last-child(-n + 2) {
    padding:
        clamp(
            20px,
            1.65vw,
            27px
        );

    border-right:
        1px solid
        var(--yb3-line);

    border-bottom: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section:last-child {
    border-right: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-head {
    align-items: flex-start;

    min-height: 48px;

    margin-bottom: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-title-wrap {
    gap: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-title {
    font-size:
        clamp(
            16px,
            1.18vw,
            20px
        );
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-count {
    margin-top: 3px;

    font-size: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field-grid {
    grid-template-columns:
        1fr;

    column-gap: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field {
    padding:
        9px
        0
        8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field-label {
    margin-bottom: 3px;

    font-size: 10px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__field-value {
    font-size:
        clamp(
            12px,
            0.82vw,
            14px
        );
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__footer {
    padding-top: 11px;
}


@media (max-width: 1180px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__sections {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-child(2n),
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-last-child(-n + 2) {
        border-right:
            1px solid
            var(--yb3-line);

        border-bottom:
            1px solid
            var(--yb3-line);
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-child(2n) {
        border-right: 0;
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__field-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        column-gap: 28px;
    }

}


@media (max-width: 900px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__sections {
        grid-template-columns: 1fr;
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-child(2n),
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:nth-last-child(-n + 2) {
        border-right: 0;

        border-bottom:
            1px solid
            var(--yb3-line);
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__section:last-child {
        border-bottom: 0;
    }

}


@media (max-width: 640px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__inner {
        padding:
            34px
            0
            40px;
    }

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__field-grid {
        grid-template-columns: 1fr;
    }

}



/* ==========================================================================
   14. V4.0 — INLINE FAST COMPARISON

   The comparison workspace now remains in normal page flow:
   - no fixed overlay;
   - no backdrop;
   - no body scroll lock;
   - no internal vertical scrolling;
   - normal page navigation remains available;
   - only horizontal table scrolling is retained where needed.
   ========================================================================== */

body.yb-ed3-compare-open {
    overflow:
        auto !important;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
    position: relative;

    inset: auto;

    z-index: auto;

    display: block;

    place-items: initial;

    width:
        min(
            1440px,
            calc(
                100% -
                56px
            )
        );

    margin:
        clamp(
            26px,
            3vw,
            44px
        )
        auto
        0;

    padding: 0;

    scroll-margin-top:
        var(--ed3-anchor-offset, 92px);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__backdrop {
    display: none;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog {
    position: relative;

    z-index: auto;

    width: 100%;

    max-height: none;

    overflow: visible;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        24px;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.97) 0%,
            rgba(247, 247, 249, 0.99) 100%
        );

    box-shadow:
        0 24px 64px
        rgba(0, 0, 0, 0.075);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-head {
    padding:
        25px
        28px
        21px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-title {
    font-size:
        clamp(
            26px,
            2.3vw,
            38px
        );
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__result {
    min-height: 0;

    overflow: visible;

    padding:
        24px
        28px
        28px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table-wrap {
    max-height: none;

    overflow-x: auto;
    overflow-y: visible;

    overscroll-behavior-inline: contain;

    -webkit-overflow-scrolling: touch;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table thead th {
    position: static;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__compare-open.is-open {
    border-color:
        rgba(227, 30, 36, 0.28);

    background:
        rgba(227, 30, 36, 0.07);

    color:
        var(--yb3-red);
}


@media (max-width: 900px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
        width:
            calc(
                100% -
                32px
            );
    }

}


@media (max-width: 680px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
        width:
            calc(
                100% -
                20px
            );

        margin-top: 22px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog {
        border-radius: 19px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-head,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__result {
        padding:
            20px
            17px;
    }

}



/* ==========================================================================
   15. V5.0 — SINGLE-STAGE COMPACT COMPARISON

   State model:
   1. Current model specifications.
   2. Model selection.
   3. Comparison result.

   Only one state is visible at a time. The comparison workspace replaces the
   original specification panel and never appears underneath it.
   ========================================================================== */

body.yb-ed3-compare-open {
    overflow:
        auto !important;
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__inner {
    padding-bottom: 0;
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__header {
    margin-bottom:
        clamp(
            14px,
            1.5vw,
            20px
        );
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__compare-open {
    border-color:
        rgba(227, 30, 36, 0.34);

    background:
        rgba(227, 30, 36, 0.07);

    color:
        var(--yb3-red);
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__compare-icon {
    color:
        var(--yb3-red);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
    position: relative;

    inset: auto;

    z-index: auto;

    display: block;

    width:
        min(
            var(--yb3-content-width),
            calc(100% - 72px)
        );

    margin:
        0
        auto;

    padding:
        0
        0
        clamp(
            38px,
            4vw,
            58px
        );

    scroll-margin-top:
        var(--ed3-anchor-offset, 90px);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__backdrop,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog-head {
    display: none !important;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog {
    position: relative;

    z-index: auto;

    display: block;

    width: 100%;

    max-height: none;

    overflow: visible;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        var(--yb3-radius);

    background:
        rgba(255, 255, 255, 0.92);

    box-shadow:
        0 20px 58px
        rgba(0, 0, 0, 0.055);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


/* --------------------------------------------------------------------------
   MODEL PICKER — COMPACT REPLACEMENT STATE
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker {
    display: grid;

    grid-template-columns:
        minmax(
            250px,
            0.72fr
        )
        minmax(
            0,
            2.28fr
        );

    align-items: stretch;

    gap: 14px;

    min-height: 0;

    overflow: visible;

    padding:
        18px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-model {
    min-height: 66px;

    padding:
        13px
        15px;

    border-radius:
        15px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-model > div {
    gap: 4px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-label {
    font-size: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__current-model strong {
    font-size: 14px;

    line-height: 1.2;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__locked {
    padding:
        6px
        8px;

    font-size: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-area {
    margin-top: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-loading,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-message {
    height: 100%;

    min-height: 66px;

    padding:
        18px;

    display: grid;

    place-items: center;

    border-radius:
        15px;

    font-size: 11px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap: 9px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-option {
    min-height: 66px;

    padding:
        11px
        12px
        11px
        42px;

    border-radius:
        15px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-checkbox {
    left: 13px;

    width: 17px;
    height: 17px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-copy {
    gap: 3px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-name {
    font-size: 12px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-code {
    font-size: 8.5px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-footer {
    grid-column:
        1
        /
        -1;

    min-height: 46px;

    margin-top: 0;

    padding-top: 12px;

    gap: 16px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__selection-status {
    font-size: 10px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__button-primary,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__button-secondary {
    min-height: 36px;

    padding:
        0
        14px;

    font-size: 9.5px;
}


/* --------------------------------------------------------------------------
   COMPARISON RESULT — DENSE ONE-SCREEN TABLE
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__result {
    min-height: 0;

    overflow: visible;

    padding:
        10px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-toolbar {
    min-height: 36px;

    margin-bottom: 6px;

    padding:
        0
        2px;

    justify-content: flex-end;

    gap: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__selected-models {
    display: none;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-actions {
    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 8px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-loading,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__result-error {
    min-height: 120px;

    padding:
        24px
        18px;

    border-radius:
        14px;

    font-size: 11px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table-wrap {
    max-height: none;

    overflow-x: auto;
    overflow-y: visible;

    border-radius:
        16px;

    overscroll-behavior-inline:
        contain;

    -webkit-overflow-scrolling:
        touch;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table {
    width: 100%;

    min-width: 900px;

    table-layout: auto;

    font-size: 10px;
}


#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table {
    min-width: 0;

    table-layout: fixed;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table th,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__table td {
    min-width: 150px;

    padding:
        5px
        10px;

    vertical-align: middle;

    font-size: 10px;

    line-height: 1.16;
}


#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table th:first-child,
#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table td:first-child {
    width: 31%;

    min-width: 0;
}


#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table th:not(:first-child),
#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table td:not(:first-child) {
    width: 34.5%;

    min-width: 0;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table th:first-child,
#yb-ed3-specs-v3 .yb-ed3-specs-v3__table td:first-child {
    min-width: 190px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__table thead th {
    position: static;

    height: 30px;

    padding:
        6px
        10px;

    font-size: 10px;

    line-height: 1.1;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__section-row td {
    height: 20px;

    padding:
        4px
        10px !important;

    font-size: 8px;

    line-height: 1;

    letter-spacing:
        0.075em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__parameter-label {
    font-size: 9.5px;

    font-weight: 570;

    line-height: 1.12;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__value-cell {
    font-size: 10px;

    font-weight: 650;

    line-height: 1.12;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__value-cell.is-different::before {
    width: 5px;
    height: 5px;

    margin-right: 5px;

    vertical-align: 1px;
}


/* Compact the shared section header while comparing. */

#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__inner {
    padding-top:
        clamp(
            30px,
            3vw,
            44px
        );
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__eyebrow {
    margin-bottom: 8px;
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__title {
    font-size:
        clamp(
            30px,
            3vw,
            44px
        );
}


#yb-ed3-specs-v3.is-compare-mode
.yb-ed3-specs-v3__intro {
    margin-top: 7px;

    font-size:
        clamp(
            11px,
            0.9vw,
            14px
        );
}


/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
        width:
            calc(
                100% -
                40px
            );
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker {
        grid-template-columns:
            1fr;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-footer {
        grid-column: auto;
    }

}


@media (max-width: 680px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__modal {
        width:
            calc(
                100% -
                20px
            );

        padding-bottom: 34px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__dialog {
        border-radius: 19px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker {
        padding:
            13px;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
        grid-template-columns:
            1fr;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-footer,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__result-toolbar {
        align-items: stretch;

        flex-direction: column;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__picker-actions,
    #yb-ed3-specs-v3 .yb-ed3-specs-v3__result-actions {
        display: grid;

        grid-template-columns:
            1fr
            1fr;

        width: 100%;
    }


    #yb-ed3-specs-v3 .yb-ed3-specs-v3__table {
        min-width: 720px;
    }

}



/* ==========================================================================
   16. V5.1 — GROUPED MODEL SELECTION

   READY models are organised automatically by the alphabetic series prefix
   in the model code. Examples:
   PT6-24x50-SF       → PT SERIES
   VX3-18x50-SFIR     → VX SERIES
   MT4-16x44-SFIR-FFP → MT SERIES

   Within each series, models are sorted by the leading model number and then
   by display name. No manual front-end list needs to be maintained.
   ========================================================================== */

#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    align-items: start;

    gap: 11px;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-group {
    min-width: 0;

    overflow: hidden;

    border:
        1px solid
        var(--yb3-line);

    border-radius:
        16px;

    background:
        rgba(255, 255, 255, 0.72);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-group-head {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    min-height: 31px;

    padding:
        0
        12px;

    border-bottom:
        1px solid
        var(--yb3-line);

    background:
        rgba(245, 245, 247, 0.82);
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-group-title {
    color:
        var(--yb3-text);

    font-size: 9px;

    font-weight: 760;

    line-height: 1;

    letter-spacing:
        0.075em;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-group-count {
    color:
        var(--yb3-tertiary);

    font-size: 7.5px;

    font-weight: 690;

    line-height: 1;

    letter-spacing:
        0.055em;

    text-transform: uppercase;
}


#yb-ed3-specs-v3 .yb-ed3-specs-v3__model-group-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 0;

    padding:
        6px;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-option {
    min-height: 58px;

    margin: 0;

    padding:
        9px
        10px
        9px
        39px;

    border-color:
        transparent;

    border-radius:
        11px;

    background:
        transparent;

    box-shadow: none;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-option
+
.yb-ed3-specs-v3__model-option {
    border-top-color:
        var(--yb3-line);

    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-option.is-selected {
    border-color:
        rgba(227, 30, 36, 0.82);

    border-radius:
        11px;

    background:
        rgba(227, 30, 36, 0.065);
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-option.is-disabled {
    background:
        rgba(247, 247, 249, 0.58);
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-checkbox {
    left: 11px;

    width: 16px;
    height: 16px;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-name {
    font-size: 11.5px;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__model-group
.yb-ed3-specs-v3__model-code {
    font-size: 8px;
}


@media (max-width: 1280px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

}


@media (max-width: 760px) {

    #yb-ed3-specs-v3 .yb-ed3-specs-v3__model-list {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================================
   17. V5.4 — FIXED PARAMETER RAIL + RELIABLE HORIZONTAL COMPARISON

   Goal:
   - "Parameter" stays fixed on the left during horizontal scrolling.
   - Every parameter name stays fixed on the left.
   - Black group labels stay fixed on the left.
   - Model columns move horizontally as one continuous strip.
   - The final model column remains fully reachable.
   - No vertical scroll lock is introduced.
   ========================================================================== */


/* --------------------------------------------------------------------------
   A. SCROLL CONTAINER
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table-wrap {
    position: relative;

    width: 100%;
    max-width: 100%;

    overflow-x: auto;
    overflow-y: visible;

    overscroll-behavior-inline:
        contain;

    -webkit-overflow-scrolling:
        touch;
}


/* --------------------------------------------------------------------------
   B. DETERMINISTIC TABLE WIDTH

   Comparison supports:
   2 models = current + 1 alternative
   3 models = current + 2 alternatives
   4 models = current + 3 alternatives

   Explicit widths prevent tablet browsers from recomputing an auto-layout
   table after a sticky cell is introduced.
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table {
    width: 100%;

    table-layout:
        fixed;
}


#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table {
    min-width:
        100%;
}


#yb-ed3-specs-v3[data-compare-count="3"]
.yb-ed3-specs-v3__table {
    min-width:
        850px;
}


#yb-ed3-specs-v3[data-compare-count="4"]
.yb-ed3-specs-v3__table {
    min-width:
        1070px;
}


/* Standard width of the fixed parameter rail. */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
th:first-child,

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
td:first-child {
    width:
        190px;

    min-width:
        190px;

    max-width:
        190px;
}


/* Standard width of each scrolling model column. */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
th:not(:first-child),

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
td:not(:first-child) {
    width:
        220px;

    min-width:
        220px;
}


/*
 * Two-model comparison can use the whole available width instead of forcing
 * unnecessary horizontal scrolling on large screens.
 */

#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table
th:first-child,

#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table
td:first-child {
    width:
        31%;

    min-width:
        190px;

    max-width:
        none;
}


#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table
th:not(:first-child),

#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__table
td:not(:first-child) {
    width:
        34.5%;

    min-width:
        200px;
}


/* --------------------------------------------------------------------------
   C. FIX ONLY THE LEFT HEADER CELL

   The model headers themselves must scroll horizontally with their columns.
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
thead
th {
    position:
        static !important;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
thead
th:first-child {
    position:
        sticky !important;

    left:
        0;

    z-index:
        12;

    background:
        #f7f7f9 !important;

    box-shadow:
        1px 0 0
        var(--yb3-line),
        10px 0 16px
        rgba(29, 29, 31, 0.04);
}


/* --------------------------------------------------------------------------
   D. FIX PARAMETER-NAME CELLS

   Section rows are excluded here because they receive their own structure
   and stacking rules below.
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__table
tbody
tr:not(.yb-ed3-specs-v3__section-row)
td:first-child {
    position:
        sticky !important;

    left:
        0;

    z-index:
        9;

    background:
        #f7f7f9 !important;

    box-shadow:
        1px 0 0
        var(--yb3-line),
        10px 0 16px
        rgba(29, 29, 31, 0.025);
}


/* --------------------------------------------------------------------------
   E. GROUP / SECTION ROWS

   V5.4 no longer uses one colspan cell.
   Each group row has:
       fixed label cell + one black fill cell for each model.

   This preserves correct table width and keeps the final model column
   reachable while the group name remains visible at the left edge.
   -------------------------------------------------------------------------- */

#yb-ed3-specs-v3
.yb-ed3-specs-v3__section-row
td {
    position:
        static !important;

    height:
        20px;

    padding:
        4px
        10px !important;

    background:
        #1d1d1f !important;

    color:
        #ffffff;

    font-size:
        8px;

    font-weight:
        720;

    line-height:
        1;

    letter-spacing:
        0.075em;

    text-transform:
        uppercase;

    border-right:
        0 !important;

    box-shadow:
        none !important;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__section-row
.yb-ed3-specs-v3__section-label {
    position:
        sticky !important;

    left:
        0;

    z-index:
        11;

    width:
        190px !important;

    min-width:
        190px !important;

    max-width:
        190px !important;

    background:
        #1d1d1f !important;

    color:
        #ffffff !important;

    white-space:
        nowrap;
}


#yb-ed3-specs-v3
.yb-ed3-specs-v3__section-row
.yb-ed3-specs-v3__section-fill {
    width:
        220px !important;

    min-width:
        220px !important;

    background:
        #1d1d1f !important;

    color:
        transparent !important;
}


/* Keep the two-model group row aligned with its percentage-based columns. */

#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__section-row
.yb-ed3-specs-v3__section-label {
    width:
        31% !important;

    min-width:
        190px !important;

    max-width:
        none !important;
}


#yb-ed3-specs-v3[data-compare-count="2"]
.yb-ed3-specs-v3__section-row
.yb-ed3-specs-v3__section-fill {
    width:
        34.5% !important;

    min-width:
        200px !important;
}


/* --------------------------------------------------------------------------
   F. SMALL-SCREEN WIDTHS

   Slightly narrower fixed rail/model columns keep more useful information in
   view while preserving a real horizontal-scroll range.
   -------------------------------------------------------------------------- */

@media (max-width: 640px) {

    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__table
    th:first-child,

    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__table
    td:first-child,

    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__section-row
    .yb-ed3-specs-v3__section-label {
        width:
            168px !important;

        min-width:
            168px !important;

        max-width:
            168px !important;
    }


    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__table
    th:not(:first-child),

    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__table
    td:not(:first-child),

    #yb-ed3-specs-v3
    .yb-ed3-specs-v3__section-row
    .yb-ed3-specs-v3__section-fill {
        width:
            205px !important;

        min-width:
            205px !important;
    }


    #yb-ed3-specs-v3[data-compare-count="3"]
    .yb-ed3-specs-v3__table {
        min-width:
            783px;
    }


    #yb-ed3-specs-v3[data-compare-count="4"]
    .yb-ed3-specs-v3__table {
        min-width:
            988px;
    }

}



/* ===== SECTION 07 / ORIGINAL STYLE BLOCK 1 ===== */
/* ==========================================================================
   00. DESIGN TOKENS AND ROOT
   ========================================================================== */

.yb-ed3-acc-v9 {
    --acc-page: #f5f5f7;
    --acc-card: rgba(255, 255, 255, 0.78);
    --acc-card-solid: #ffffff;

    --acc-title: #1d1d1f;
    --acc-body: #6e6e73;
    --acc-muted: #8e8e93;

    --acc-line:
        rgba(29, 29, 31, 0.085);

    --acc-red: #e31e24;
    --acc-soft-red:
        rgba(227, 30, 36, 0.065);

    position: relative;
    isolation: isolate;

    width: 100%;

    overflow: hidden;

    border-top:
        1px solid
        rgba(29, 29, 31, 0.07);
    border-bottom:
        1px solid
        rgba(29, 29, 31, 0.07);

    background:
        radial-gradient(
            circle at 82% 16%,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.00) 34%
        ),
        linear-gradient(
            180deg,
            #f7f7f9 0%,
            var(--acc-page) 100%
        );

    color:
        var(--acc-title);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.yb-ed3-acc-v9,
.yb-ed3-acc-v9 * {
    box-sizing: border-box;
}

.yb-ed3-acc-v9 button {
    font: inherit;
}


/* ==========================================================================
   01. INNER LAYOUT
   ========================================================================== */

.yb-ed3-acc-v9__inner {
    width:
        min(
            1520px,
            calc(
                100% -
                64px
            )
        );

    margin:
        0
        auto;

    padding:
        clamp(
            58px,
            5vw,
            78px
        )
        0
        clamp(
            42px,
            4vw,
            62px
        );
}


/* ==========================================================================
   02. HEADER
   ========================================================================== */

.yb-ed3-acc-v9__header {
    margin-bottom:
        clamp(
            28px,
            3vw,
            42px
        );

    display: grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        auto;

    align-items: end;
    gap:
        clamp(
            24px,
            4vw,
            72px
        );
}

.yb-ed3-acc-v9__header-copy {
    min-width: 0;
}

.yb-ed3-acc-v9__eyebrow {
    position: relative;

    margin:
        0
        0
        15px;

    padding-left: 15px;

    color:
        #86868b;

    font-size: 9px;
    font-weight: 740;
    line-height: 1;
    letter-spacing: 0.14em;
}

.yb-ed3-acc-v9__eyebrow::before {
    position: absolute;

    top: 50%;
    left: 0;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--acc-red);

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.08);

    content: "";

    transform:
        translateY(-50%);
}

.yb-ed3-acc-v9__title {
    max-width: 850px;

    margin: 0;

    color:
        var(--acc-title);

    font-size:
        clamp(
            40px,
            4vw,
            64px
        );

    font-style: normal;
    font-weight: 730;
    line-height: 0.97;
    letter-spacing: -0.06em;
}

.yb-ed3-acc-v9__title em {
    display: block;

    margin-top: 8px;

    color:
        #86868b;

    font-size: 0.64em;
    font-style: normal;
    font-weight: 590;
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.yb-ed3-acc-v9__intro {
    max-width: 660px;

    margin:
        18px
        0
        0;

    color:
        var(--acc-body);

    font-size:
        clamp(
            12px,
            0.95vw,
            15px
        );

    font-weight: 430;
    line-height: 1.56;
}

.yb-ed3-acc-v9__header-meta {
    min-width: 188px;

    padding-bottom: 3px;

    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 13px;
}

.yb-ed3-acc-v9__count {
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.yb-ed3-acc-v9__count strong {
    color:
        var(--acc-title);

    font-size: 28px;
    font-weight: 670;
    line-height: 1;
    letter-spacing: -0.045em;
}

.yb-ed3-acc-v9__count small {
    color:
        var(--acc-muted);

    font-size: 7px;
    font-weight: 720;
    line-height: 1;
    letter-spacing: 0.11em;
}

.yb-ed3-acc-v9__hint {
    color:
        var(--acc-body);

    font-size: 11px;
    font-weight: 430;
    line-height: 1.35;
    text-align: right;
}


/* ==========================================================================
   03. UNIFIED SHOWCASE
   ========================================================================== */

.yb-ed3-acc-v9__showcase {
    position: relative;

    overflow: hidden;

    border:
        1px solid
        var(--acc-line);
    border-radius:
        clamp(
            24px,
            2.1vw,
            30px
        );

    background:
        var(--acc-card);

    box-shadow:
        0 24px 64px
        rgba(0, 0, 0, 0.065),
        inset 0 1px 0
        rgba(255, 255, 255, 0.80);

    backdrop-filter:
        blur(18px)
        saturate(112%);
    -webkit-backdrop-filter:
        blur(18px)
        saturate(112%);
}

.yb-ed3-acc-v9__grid {
    display: grid;

    grid-template-columns:
        repeat(
            6,
            minmax(
                0,
                1fr
            )
        );
}


/* ==========================================================================
   04. ACCESSORY ITEMS
   ========================================================================== */

.yb-ed3-acc-v9__item {
    --acc-image-max-width: 88%;
    --acc-image-max-height: 188px;

    --acc-image-scale: 1;
    --acc-image-hover-scale: 1.035;
    --acc-image-active-scale: 1.065;

    --acc-enter-delay: 0ms;

    all: unset;

    box-sizing: border-box;

    position: relative;
    isolation: isolate;

    min-width: 0;
    min-height: 286px;

    padding:
        18px
        14px
        18px;

    display: grid;

    grid-template-rows:
        218px
        auto;

    align-items: end;
    gap: 10px;

    border-right:
        1px solid
        var(--acc-line);

    color:
        var(--acc-title);

    cursor: pointer;

    opacity: 0;

    transform:
        translateY(10px);

    animation:
        ybEd3AccV9Enter
        560ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        forwards;

    animation-delay:
        var(--acc-enter-delay);

    transition:
        background-color
        220ms
        ease,
        transform
        260ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

    -webkit-tap-highlight-color:
        transparent;
}

.yb-ed3-acc-v9__item:last-child {
    border-right: 0;
}

.yb-ed3-acc-v9__item:hover,
.yb-ed3-acc-v9__item:focus-visible {
    background:
        rgba(255, 255, 255, 0.54);

    transform:
        translateY(-2px);

    outline: none;
}

.yb-ed3-acc-v9__item.is-active {
    background:
        linear-gradient(
            180deg,
            rgba(227, 30, 36, 0.045) 0%,
            rgba(255, 255, 255, 0.72) 58%,
            rgba(255, 255, 255, 0.48) 100%
        );
}

.yb-ed3-acc-v9__active-bar {
    position: absolute;

    top: 0;
    right: 22%;
    left: 22%;

    z-index: 4;

    height: 3px;

    border-radius:
        0
        0
        999px
        999px;

    background:
        var(--acc-red);

    opacity: 0;

    transform:
        scaleX(0.36);

    transition:
        opacity
        180ms
        ease,
        transform
        260ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
}

.yb-ed3-acc-v9__item.is-active
.yb-ed3-acc-v9__active-bar {
    opacity: 1;

    transform:
        scaleX(1);
}


/* Individual visual balancing for transparent WebP canvases. */

.yb-ed3-acc-v9__item[data-index="0"] {
    --acc-image-max-width: 90%;
    --acc-image-max-height: 194px;

    --acc-image-scale: 1.02;
    --acc-image-hover-scale: 1.055;
    --acc-image-active-scale: 1.09;

    --acc-enter-delay: 40ms;
}

.yb-ed3-acc-v9__item[data-index="1"] {
    --acc-image-max-width: 88%;
    --acc-image-max-height: 188px;

    --acc-image-scale: 1.12;
    --acc-image-hover-scale: 1.16;
    --acc-image-active-scale: 1.20;

    --acc-enter-delay: 80ms;
}

.yb-ed3-acc-v9__item[data-index="2"] {
    --acc-image-max-width: 100%;
    --acc-image-max-height: 188px;

    --acc-image-scale: 1.04;
    --acc-image-hover-scale: 1.075;
    --acc-image-active-scale: 1.11;

    --acc-enter-delay: 120ms;
}

.yb-ed3-acc-v9__item[data-index="3"] {
    --acc-image-max-width: 84%;
    --acc-image-max-height: 160px;

    --acc-image-scale: 1.20;
    --acc-image-hover-scale: 1.25;
    --acc-image-active-scale: 1.30;

    --acc-enter-delay: 160ms;
}

.yb-ed3-acc-v9__item[data-index="4"] {
    --acc-image-max-width: 94%;
    --acc-image-max-height: 168px;

    --acc-image-scale: 1.08;
    --acc-image-hover-scale: 1.12;
    --acc-image-active-scale: 1.16;

    --acc-enter-delay: 200ms;
}

.yb-ed3-acc-v9__item[data-index="5"] {
    --acc-image-max-width: 118%;
    --acc-image-max-height: 126px;

    --acc-image-scale: 1.40;
    --acc-image-hover-scale: 1.46;
    --acc-image-active-scale: 1.52;

    --acc-enter-delay: 240ms;
}


/* ==========================================================================
   05. ACCESSORY MEDIA
   ========================================================================== */

.yb-ed3-acc-v9__media {
    position: relative;

    min-width: 0;
    height: 218px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: visible;
}

.yb-ed3-acc-v9__media::after {
    position: absolute;

    right: 15%;
    bottom: 11px;
    left: 15%;

    height: 18px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(29, 29, 31, 0.15) 0%,
            rgba(29, 29, 31, 0.00) 72%
        );

    content: "";

    opacity: 0.34;

    filter:
        blur(9px);

    transform:
        scaleY(0.42);

    transition:
        opacity
        220ms
        ease,
        transform
        260ms
        ease;

    pointer-events: none;
}

.yb-ed3-acc-v9__item:hover
.yb-ed3-acc-v9__media::after,
.yb-ed3-acc-v9__item:focus-visible
.yb-ed3-acc-v9__media::after,
.yb-ed3-acc-v9__item.is-active
.yb-ed3-acc-v9__media::after {
    opacity: 0.48;

    transform:
        scaleY(0.52)
        scaleX(1.06);
}

.yb-ed3-acc-v9__image {
    position: relative;
    z-index: 2;

    width: auto;
    height: auto;

    max-width:
        var(--acc-image-max-width);
    max-height:
        var(--acc-image-max-height);

    display: block;

    object-fit: contain;
    object-position: center;

    image-rendering: auto;

    filter:
        drop-shadow(
            0
            15px
            16px
            rgba(20, 22, 25, 0.13)
        );

    transform:
        translateY(0)
        scale(
            var(--acc-image-scale)
        );

    transform-origin:
        center
        bottom;

    transition:
        transform
        430ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        ),
        filter
        260ms
        ease,
        opacity
        200ms
        ease;

    user-select: none;
    pointer-events: none;
}

.yb-ed3-acc-v9__item:hover
.yb-ed3-acc-v9__image,
.yb-ed3-acc-v9__item:focus-visible
.yb-ed3-acc-v9__image {
    filter:
        drop-shadow(
            0
            19px
            18px
            rgba(20, 22, 25, 0.16)
        );

    transform:
        translateY(-5px)
        scale(
            var(--acc-image-hover-scale)
        );
}

.yb-ed3-acc-v9__item.is-active
.yb-ed3-acc-v9__image {
    filter:
        drop-shadow(
            0
            22px
            20px
            rgba(20, 22, 25, 0.17)
        );

    transform:
        translateY(-8px)
        scale(
            var(--acc-image-active-scale)
        );
}


/* ==========================================================================
   06. ACCESSORY LABEL
   ========================================================================== */

.yb-ed3-acc-v9__label {
    min-width: 0;
    min-height: 39px;

    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;

    color:
        var(--acc-title);
}

.yb-ed3-acc-v9__label-index {
    flex: 0 0 auto;

    margin-top: 2px;

    color:
        #a1a1a6;

    font-size: 8px;
    font-weight: 720;
    line-height: 1;
    letter-spacing: 0.05em;

    transition:
        color
        180ms
        ease;
}

.yb-ed3-acc-v9__label-name {
    min-width: 0;

    color:
        #56565b;

    font-size:
        clamp(
            10.5px,
            0.75vw,
            12px
        );

    font-weight: 620;
    line-height: 1.28;
    text-align: left;

    transition:
        color
        180ms
        ease;
}

.yb-ed3-acc-v9__item.is-active
.yb-ed3-acc-v9__label-index {
    color:
        var(--acc-red);
}

.yb-ed3-acc-v9__item.is-active
.yb-ed3-acc-v9__label-name {
    color:
        var(--acc-title);
}


/* ==========================================================================
   07. DETAIL PANEL
   ========================================================================== */

.yb-ed3-acc-v9__detail {
    min-height: 126px;

    margin-top:
        clamp(
            16px,
            1.5vw,
            22px
        );

    padding:
        clamp(
            20px,
            2vw,
            28px
        )
        clamp(
            22px,
            2.4vw,
            34px
        );

    display: grid;

    grid-template-columns:
        82px
        minmax(
            210px,
            0.90fr
        )
        minmax(
            300px,
            1.45fr
        )
        minmax(
            270px,
            0.90fr
        );

    align-items: center;
    gap:
        clamp(
            20px,
            2.5vw,
            42px
        );

    border:
        1px solid
        var(--acc-line);
    border-radius:
        clamp(
            20px,
            1.7vw,
            24px
        );

    background:
        rgba(255, 255, 255, 0.72);

    box-shadow:
        0 16px 42px
        rgba(0, 0, 0, 0.045),
        inset 0 1px 0
        rgba(255, 255, 255, 0.76);

    backdrop-filter:
        blur(18px)
        saturate(110%);
    -webkit-backdrop-filter:
        blur(18px)
        saturate(110%);
}

.yb-ed3-acc-v9__detail.is-changing > * {
    animation:
        ybEd3AccV9DetailChange
        360ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        both;
}

.yb-ed3-acc-v9__detail-number {
    display: flex;
    align-items: baseline;
}

.yb-ed3-acc-v9__detail-number > span {
    color:
        var(--acc-red);

    font-size: 31px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.05em;
}

.yb-ed3-acc-v9__detail-number small {
    margin-left: 4px;

    color:
        #a1a1a6;

    font-size: 10px;
    font-weight: 630;
    line-height: 1;
}

.yb-ed3-acc-v9__detail-heading {
    min-width: 0;
}

.yb-ed3-acc-v9__detail-category {
    margin:
        0
        0
        7px;

    color:
        #86868b;

    font-size: 8px;
    font-weight: 740;
    line-height: 1;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.yb-ed3-acc-v9__detail-title {
    margin: 0;

    color:
        var(--acc-title);

    font-size:
        clamp(
            19px,
            1.45vw,
            25px
        );

    font-weight: 690;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.yb-ed3-acc-v9__detail-description {
    margin: 0;

    color:
        var(--acc-body);

    font-size:
        clamp(
            11px,
            0.82vw,
            13px
        );

    font-weight: 430;
    line-height: 1.53;
}

.yb-ed3-acc-v9__detail-meta {
    min-width: 0;

    display: grid;
    gap: 10px;
}

.yb-ed3-acc-v9__meta-row {
    display: grid;

    grid-template-columns:
        88px
        minmax(
            0,
            1fr
        );

    align-items: baseline;
    gap: 11px;
}

.yb-ed3-acc-v9__meta-key {
    color:
        #a1a1a6;

    font-size: 7px;
    font-weight: 720;
    line-height: 1.25;
    letter-spacing: 0.09em;
}

.yb-ed3-acc-v9__meta-value {
    color:
        #4f4f54;

    font-size: 10px;
    font-weight: 590;
    line-height: 1.38;
}


/* ==========================================================================
   08. IMAGE ERROR STATE
   ========================================================================== */

.yb-ed3-acc-v9__item.has-image-error
.yb-ed3-acc-v9__media::before {
    position: absolute;

    inset: 38px 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px dashed
        rgba(29, 29, 31, 0.16);
    border-radius: 16px;

    color:
        #a1a1a6;

    font-size: 9px;
    font-weight: 620;
    letter-spacing: 0.05em;

    content:
        "IMAGE REQUIRED";
}


/* ==========================================================================
   09. RESPONSIVE — TABLET
   ========================================================================== */

@media (max-width: 1180px) {

    .yb-ed3-acc-v9__inner {
        width:
            min(
                1400px,
                calc(
                    100% -
                    40px
                )
            );
    }

    .yb-ed3-acc-v9__grid {
        grid-template-columns:
            repeat(
                3,
                minmax(
                    0,
                    1fr
                )
            );
    }

    .yb-ed3-acc-v9__item {
        border-bottom:
            1px solid
            var(--acc-line);
    }

    .yb-ed3-acc-v9__item:nth-child(3n) {
        border-right: 0;
    }

    .yb-ed3-acc-v9__item:nth-last-child(-n + 3) {
        border-bottom: 0;
    }

    .yb-ed3-acc-v9__detail {
        grid-template-columns:
            72px
            minmax(
                220px,
                0.85fr
            )
            minmax(
                300px,
                1.4fr
            );
    }

    .yb-ed3-acc-v9__detail-meta {
        grid-column:
            2
            /
            -1;

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

}


/* ==========================================================================
   10. RESPONSIVE — SMALL TABLET
   ========================================================================== */

@media (max-width: 780px) {

    .yb-ed3-acc-v9__inner {
        width:
            min(
                680px,
                calc(
                    100% -
                    26px
                )
            );

        padding:
            46px
            0
            42px;
    }

    .yb-ed3-acc-v9__header {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 18px;
    }

    .yb-ed3-acc-v9__header-meta {
        min-width: 0;

        flex-direction: row;
        align-items: center;
        justify-content: space-between;

        width: 100%;
    }

    .yb-ed3-acc-v9__hint {
        text-align: left;
    }

    .yb-ed3-acc-v9__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

    .yb-ed3-acc-v9__item {
        min-height: 238px;

        grid-template-rows:
            178px
            auto;
    }

    .yb-ed3-acc-v9__item:nth-child(3n) {
        border-right:
            1px solid
            var(--acc-line);
    }

    .yb-ed3-acc-v9__item:nth-child(2n) {
        border-right: 0;
    }

    .yb-ed3-acc-v9__item:nth-last-child(-n + 3) {
        border-bottom:
            1px solid
            var(--acc-line);
    }

    .yb-ed3-acc-v9__item:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .yb-ed3-acc-v9__media {
        height: 178px;
    }

    .yb-ed3-acc-v9__item[data-index="0"] {
        --acc-image-max-height: 160px;
    }

    .yb-ed3-acc-v9__item[data-index="1"] {
        --acc-image-max-height: 156px;
    }

    .yb-ed3-acc-v9__item[data-index="2"] {
        --acc-image-max-height: 158px;
    }

    .yb-ed3-acc-v9__item[data-index="3"] {
        --acc-image-max-height: 137px;
    }

    .yb-ed3-acc-v9__item[data-index="4"] {
        --acc-image-max-height: 142px;
    }

    .yb-ed3-acc-v9__item[data-index="5"] {
        --acc-image-max-height: 104px;
    }

    .yb-ed3-acc-v9__detail {
        grid-template-columns:
            58px
            minmax(
                0,
                1fr
            );

        gap:
            16px
            18px;
    }

    .yb-ed3-acc-v9__detail-description,
    .yb-ed3-acc-v9__detail-meta {
        grid-column:
            1
            /
            -1;
    }

    .yb-ed3-acc-v9__detail-meta {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================================
   11. RESPONSIVE — MOBILE
   ========================================================================== */

@media (max-width: 480px) {

    .yb-ed3-acc-v9__inner {
        width:
            calc(
                100% -
                20px
            );

        padding:
            40px
            0
            36px;
    }

    .yb-ed3-acc-v9__title {
        font-size: 35px;
    }

    .yb-ed3-acc-v9__intro {
        margin-top: 14px;

        font-size: 12px;
    }

    .yb-ed3-acc-v9__header-meta {
        align-items: flex-start;
        gap: 12px;
    }

    .yb-ed3-acc-v9__count strong {
        font-size: 24px;
    }

    .yb-ed3-acc-v9__hint {
        max-width: 170px;

        font-size: 9.5px;
    }

    .yb-ed3-acc-v9__item {
        min-height: 214px;

        padding:
            13px
            8px
            14px;

        grid-template-rows:
            160px
            auto;
    }

    .yb-ed3-acc-v9__media {
        height: 160px;
    }

    .yb-ed3-acc-v9__label {
        gap: 6px;
    }

    .yb-ed3-acc-v9__label-name {
        font-size: 10px;
    }

    .yb-ed3-acc-v9__detail {
        padding:
            18px
            16px;

        grid-template-columns:
            50px
            minmax(
                0,
                1fr
            );

        border-radius: 20px;
    }

    .yb-ed3-acc-v9__detail-number > span {
        font-size: 27px;
    }

    .yb-ed3-acc-v9__detail-title {
        font-size: 19px;
    }

}


/* ==========================================================================
   12. ANIMATIONS
   ========================================================================== */

@keyframes ybEd3AccV9Enter {

    from {
        opacity: 0;

        transform:
            translateY(10px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}

@keyframes ybEd3AccV9DetailChange {

    from {
        opacity: 0;

        transform:
            translateY(5px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* ==========================================================================
   13. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .yb-ed3-acc-v9 *,
    .yb-ed3-acc-v9 *::before,
    .yb-ed3-acc-v9 *::after {
        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            0.01ms !important;

        scroll-behavior:
            auto !important;
    }

}



/* ==========================================================================
   14. v9.1 FINAL POLISH — AUTHORITATIVE OVERRIDES

   This final layer keeps the v9.0 structure and interaction, while correcting:
   - excessive upper whitespace;
   - isolated right-side item count;
   - uneven visual scale between the six accessory images;
   - excessive image enlargement in the active state;
   - small text and weak hierarchy in the shared detail panel;
   - excessive separation between the lineup and its detail panel.
   ========================================================================== */


/* ==========================================================================
   01. MORE COMPACT SECTION RHYTHM
   ========================================================================== */

.yb-ed3-acc-v9__inner {
    padding:
        clamp(
            46px,
            4vw,
            58px
        )
        0
        clamp(
            38px,
            3.4vw,
            50px
        ) !important;
}


.yb-ed3-acc-v9__header {
    margin-bottom:
        clamp(
            24px,
            2.2vw,
            30px
        ) !important;

    grid-template-columns:
        minmax(
            0,
            1.42fr
        )
        minmax(
            220px,
            0.58fr
        ) !important;

    gap:
        clamp(
            28px,
            3vw,
            52px
        ) !important;
}


/* Slightly stronger secondary title improves legibility on bright screens. */
.yb-ed3-acc-v9__title em {
    color:
        #74747a !important;
}


.yb-ed3-acc-v9__intro {
    margin-top:
        15px !important;
}


/* ==========================================================================
   02. BETTER-INTEGRATED ITEM COUNT
   ========================================================================== */

.yb-ed3-acc-v9__header-meta {
    width:
        min(
            100%,
            245px
        ) !important;

    min-width: 0 !important;

    justify-self: start !important;
    align-items: flex-start !important;

    padding:
        0
        0
        5px
        clamp(
            8px,
            1.2vw,
            20px
        ) !important;

    gap: 10px !important;
}


.yb-ed3-acc-v9__count strong {
    font-size: 30px !important;
}


.yb-ed3-acc-v9__count small {
    color:
        #86868b !important;

    font-size: 7.5px !important;
}


.yb-ed3-acc-v9__hint {
    max-width: 220px !important;

    color:
        #6e6e73 !important;

    font-size: 11.5px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}


/* ==========================================================================
   03. UNIFIED IMAGE SCALE

   The transparent source canvases contain different amounts of empty space.
   These values balance their visible object sizes without changing the files.
   ========================================================================== */

.yb-ed3-acc-v9__item {
    min-height: 278px !important;

    grid-template-rows:
        210px
        auto !important;
}


.yb-ed3-acc-v9__media {
    height: 210px !important;
}


/* 01 — Objective cover: reduce the previously dominant visual size. */
.yb-ed3-acc-v9__item[data-index="0"] {
    --acc-image-max-width: 86%;
    --acc-image-max-height: 184px;

    --acc-image-scale: 0.96;
    --acc-image-hover-scale: 0.985;
    --acc-image-active-scale: 1.01;
}


/* 02 — Eyepiece cover: slightly reduce and align with item 01. */
.yb-ed3-acc-v9__item[data-index="1"] {
    --acc-image-max-width: 84%;
    --acc-image-max-height: 180px;

    --acc-image-scale: 1.06;
    --acc-image-hover-scale: 1.085;
    --acc-image-active-scale: 1.11;
}


/* 03 — Sunshade: keep close to its current visual weight. */
.yb-ed3-acc-v9__item[data-index="2"] {
    --acc-image-max-width: 98%;
    --acc-image-max-height: 184px;

    --acc-image-scale: 1.02;
    --acc-image-hover-scale: 1.04;
    --acc-image-active-scale: 1.055;
}


/* 04 — Protective cap: enlarge the visible object slightly. */
.yb-ed3-acc-v9__item[data-index="3"] {
    --acc-image-max-width: 88%;
    --acc-image-max-height: 174px;

    --acc-image-scale: 1.26;
    --acc-image-hover-scale: 1.29;
    --acc-image-active-scale: 1.31;
}


/* 05 — Cloth: keep it calm and prevent an oversized active state. */
.yb-ed3-acc-v9__item[data-index="4"] {
    --acc-image-max-width: 92%;
    --acc-image-max-height: 166px;

    --acc-image-scale: 1.04;
    --acc-image-hover-scale: 1.06;
    --acc-image-active-scale: 1.075;
}


/* 06 — Cleaning pen: make the long horizontal object more visible. */
.yb-ed3-acc-v9__item[data-index="5"] {
    --acc-image-max-width: 124%;
    --acc-image-max-height: 138px;

    --acc-image-scale: 1.48;
    --acc-image-hover-scale: 1.52;
    --acc-image-active-scale: 1.55;
}


/* Active and hover movement is now restrained; selection is already clear
   through the red line, red number and pale red background. */
.yb-ed3-acc-v9__item:hover
.yb-ed3-acc-v9__image,
.yb-ed3-acc-v9__item:focus-visible
.yb-ed3-acc-v9__image {
    transform:
        translateY(-3px)
        scale(
            var(--acc-image-hover-scale)
        ) !important;
}


.yb-ed3-acc-v9__item.is-active
.yb-ed3-acc-v9__image {
    transform:
        translateY(-4px)
        scale(
            var(--acc-image-active-scale)
        ) !important;
}


/* Slightly reduce the active background strength. */
.yb-ed3-acc-v9__item.is-active {
    background:
        linear-gradient(
            180deg,
            rgba(227, 30, 36, 0.034) 0%,
            rgba(255, 255, 255, 0.68) 58%,
            rgba(255, 255, 255, 0.44) 100%
        ) !important;
}


/* ==========================================================================
   04. CLEARER LABELS
   ========================================================================== */

.yb-ed3-acc-v9__label-name {
    font-size:
        clamp(
            11px,
            0.78vw,
            12.5px
        ) !important;
}


.yb-ed3-acc-v9__label-index {
    font-size: 8.3px !important;
}


/* ==========================================================================
   05. DETAIL PANEL CLOSER TO THE LINEUP
   ========================================================================== */

.yb-ed3-acc-v9__detail {
    min-height: 138px !important;

    margin-top:
        clamp(
            12px,
            1.1vw,
            16px
        ) !important;

    padding:
        clamp(
            23px,
            2vw,
            30px
        )
        clamp(
            24px,
            2.4vw,
            36px
        ) !important;

    grid-template-columns:
        76px
        minmax(
            245px,
            0.95fr
        )
        minmax(
            380px,
            1.48fr
        )
        minmax(
            300px,
            0.94fr
        ) !important;

    gap:
        clamp(
            20px,
            2.1vw,
            34px
        ) !important;

    box-shadow:
        0 12px 32px
        rgba(0, 0, 0, 0.035),
        inset 0 1px 0
        rgba(255, 255, 255, 0.76) !important;
}


/* ==========================================================================
   06. STRONGER DETAIL TYPOGRAPHY
   ========================================================================== */

.yb-ed3-acc-v9__detail-number > span {
    font-size: 33px !important;
}


.yb-ed3-acc-v9__detail-number small {
    font-size: 10.5px !important;
}


.yb-ed3-acc-v9__detail-category {
    margin-bottom: 8px !important;

    font-size: 8.5px !important;
}


.yb-ed3-acc-v9__detail-title {
    font-size:
        clamp(
            21px,
            1.55vw,
            27px
        ) !important;

    line-height: 1.06 !important;
}


.yb-ed3-acc-v9__detail-description {
    color:
        #606066 !important;

    font-size:
        clamp(
            12.5px,
            0.88vw,
            14px
        ) !important;

    line-height: 1.52 !important;
}


.yb-ed3-acc-v9__detail-meta {
    gap: 12px !important;
}


.yb-ed3-acc-v9__meta-row {
    grid-template-columns:
        96px
        minmax(
            0,
            1fr
        ) !important;

    gap: 12px !important;
}


.yb-ed3-acc-v9__meta-key {
    font-size: 7.5px !important;
}


.yb-ed3-acc-v9__meta-value {
    color:
        #45454a !important;

    font-size: 11.2px !important;
    line-height: 1.4 !important;
}


/* ==========================================================================
   07. RESPONSIVE REBALANCING
   ========================================================================== */

@media (max-width: 1180px) {

    .yb-ed3-acc-v9__header {
        grid-template-columns:
            minmax(
                0,
                1fr
            )
            minmax(
                205px,
                0.34fr
            ) !important;
    }


    .yb-ed3-acc-v9__detail {
        grid-template-columns:
            68px
            minmax(
                220px,
                0.88fr
            )
            minmax(
                320px,
                1.38fr
            ) !important;
    }


    .yb-ed3-acc-v9__detail-meta {
        grid-column:
            2
            /
            -1 !important;
    }

}


@media (max-width: 780px) {

    .yb-ed3-acc-v9__header {
        grid-template-columns:
            1fr !important;
    }


    .yb-ed3-acc-v9__header-meta {
        width: 100% !important;

        justify-self: stretch !important;

        padding-left: 0 !important;

        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }


    .yb-ed3-acc-v9__item {
        min-height: 232px !important;

        grid-template-rows:
            172px
            auto !important;
    }


    .yb-ed3-acc-v9__media {
        height: 172px !important;
    }


    .yb-ed3-acc-v9__detail {
        grid-template-columns:
            58px
            minmax(
                0,
                1fr
            ) !important;
    }


    .yb-ed3-acc-v9__detail-description,
    .yb-ed3-acc-v9__detail-meta {
        grid-column:
            1
            /
            -1 !important;
    }

}


@media (max-width: 480px) {

    .yb-ed3-acc-v9__inner {
        padding:
            36px
            0
            32px !important;
    }


    .yb-ed3-acc-v9__item {
        min-height: 208px !important;

        grid-template-rows:
            154px
            auto !important;
    }


    .yb-ed3-acc-v9__media {
        height: 154px !important;
    }


    .yb-ed3-acc-v9__detail {
        min-height: 0 !important;

        padding:
            20px
            17px !important;
    }


    .yb-ed3-acc-v9__detail-description {
        font-size: 12px !important;
    }


    .yb-ed3-acc-v9__meta-value {
        font-size: 10.5px !important;
    }

}



/* ===== SECTION 08 / ORIGINAL STYLE BLOCK 1 ===== */
/* =========================================================
       01. DESIGN TOKENS
       ========================================================= */
    .yb-ed3-doc-v7 {
      --yb-doc-bg: #070908;
      --yb-doc-bg-soft: #0d100e;
      --yb-doc-ink: #f3efe7;
      --yb-doc-soft: #d4d0c7;
      --yb-doc-body: #aaa69d;
      --yb-doc-muted: #817d75;
      --yb-doc-gold: #c58a24;
      --yb-doc-red: #e21f2a;
      --yb-doc-red-dark: #b91620;
      --yb-doc-line: rgba(255, 255, 255, 0.11);
      --yb-doc-line-soft: rgba(255, 255, 255, 0.065);
      --yb-doc-font: Inter, Aptos, "Segoe UI", "Helvetica Neue", Arial, sans-serif;

      position: relative;
      width: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
      color: var(--yb-doc-ink);
      background:
        radial-gradient(circle at 86% 16%, rgba(226, 31, 42, 0.11), transparent 26%),
        radial-gradient(circle at 8% 64%, rgba(51, 88, 65, 0.08), transparent 28%),
        linear-gradient(112deg, #070a08 0%, #090b0a 62%, #0c0809 100%);
      font-family: var(--yb-doc-font);
      -webkit-font-smoothing: antialiased;
      isolation: isolate;
    }

    .yb-ed3-doc-v7 *,
    .yb-ed3-doc-v7 *::before,
    .yb-ed3-doc-v7 *::after {
      box-sizing: border-box;
    }

    .yb-ed3-doc-v7 a {
      color: inherit;
    }

    .yb-ed3-doc-v7__inner {
      width: min(1480px, calc(100% - 56px));
      margin: 0 auto;
      padding: 24px 0 16px;
    }

    /* =========================================================
       02. HEADER
       ========================================================= */
    .yb-ed3-doc-v7__header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 44px;
      align-items: end;
      padding: 0 0 18px;
      border-bottom: 1px solid var(--yb-doc-line);
    }

    .yb-ed3-doc-v7__eyebrow {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 10px;
      color: var(--yb-doc-gold);
      font-size: 10px;
      font-weight: 750;
      line-height: 1;
      letter-spacing: 0.19em;
    }

    .yb-ed3-doc-v7__eyebrow > span {
      width: 24px;
      height: 1px;
      background: var(--yb-doc-gold);
    }

    .yb-ed3-doc-v7__title {
      margin: 0;
      color: var(--yb-doc-ink);
      font-size: clamp(34px, 3vw, 48px);
      font-weight: 720;
      line-height: 1.02;
      letter-spacing: -0.042em;
    }

    .yb-ed3-doc-v7__intro {
      max-width: 720px;
      margin: 10px 0 0;
      color: var(--yb-doc-body);
      font-size: 15px;
      font-weight: 420;
      line-height: 1.58;
    }

    .yb-ed3-doc-v7__model {
      display: grid;
      gap: 5px;
      min-width: 238px;
      padding: 0 0 4px 24px;
      border-left: 1px solid var(--yb-doc-line);
    }

    .yb-ed3-doc-v7__model span {
      color: var(--yb-doc-muted);
      font-size: 9px;
      font-weight: 750;
      line-height: 1;
      letter-spacing: 0.18em;
    }

    .yb-ed3-doc-v7__model strong {
      color: var(--yb-doc-ink);
      font-size: 19px;
      font-weight: 720;
      line-height: 1.18;
      letter-spacing: -0.025em;
    }

    /* =========================================================
       03. MAIN LAYOUT
       ========================================================= */
    .yb-ed3-doc-v7__main {
      display: grid;
      grid-template-columns: minmax(0, 1.85fr) minmax(300px, 0.72fr);
      gap: 0;
      align-items: stretch;
    }

    .yb-ed3-doc-v7__direct {
      min-width: 0;
      padding: 24px 40px 24px 0;
    }

    .yb-ed3-doc-v7__library {
      position: relative;
      min-width: 0;
      padding: 24px 0 24px 40px;
      border-left: 1px solid var(--yb-doc-line);
    }

    .yb-ed3-doc-v7__library::before {
      content: "";
      position: absolute;
      left: -1px;
      top: 24px;
      width: 2px;
      height: 42px;
      background: linear-gradient(180deg, var(--yb-doc-red), rgba(226, 31, 42, 0.16));
    }

    /* =========================================================
       04. DIRECT FILE AREA
       ========================================================= */
    .yb-ed3-doc-v7__section-head {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      align-items: end;
      margin-bottom: 12px;
    }

    .yb-ed3-doc-v7__section-label,
    .yb-ed3-doc-v7__library-label {
      display: block;
      margin-bottom: 7px;
      color: var(--yb-doc-gold);
      font-size: 9px;
      font-weight: 760;
      line-height: 1;
      letter-spacing: 0.18em;
    }

    .yb-ed3-doc-v7__section-head h3,
    .yb-ed3-doc-v7__library h3 {
      margin: 0;
      color: var(--yb-doc-ink);
      font-size: 22px;
      font-weight: 690;
      line-height: 1.15;
      letter-spacing: -0.028em;
    }

    .yb-ed3-doc-v7__count {
      padding-bottom: 2px;
      color: var(--yb-doc-muted);
      font-size: 9px;
      font-weight: 720;
      line-height: 1;
      letter-spacing: 0.16em;
      white-space: nowrap;
    }

    .yb-ed3-doc-v7__files {
      border-top: 1px solid var(--yb-doc-line);
    }

    .yb-ed3-doc-v7__file {
      --yb-file-accent: var(--yb-doc-red);

      position: relative;
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) auto;
      gap: 16px;
      align-items: center;
      min-height: 74px;
      padding: 12px 14px 12px 0;
      border-bottom: 1px solid var(--yb-doc-line-soft);
      color: var(--yb-doc-ink);
      text-decoration: none;
      overflow: hidden;
      cursor: pointer;
      transition:
        background-color 220ms ease,
        padding-left 220ms ease,
        border-color 220ms ease;
    }

    .yb-ed3-doc-v7__file::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background: linear-gradient(90deg, rgba(226, 31, 42, 0.095), transparent 62%);
      opacity: 0;
      transform: translateX(-14px);
      transition: opacity 220ms ease, transform 220ms ease;
    }

    .yb-ed3-doc-v7__file:hover,
    .yb-ed3-doc-v7__file:focus-visible {
      padding-left: 10px;
      border-bottom-color: rgba(255, 255, 255, 0.14);
      outline: none;
    }

    .yb-ed3-doc-v7__file:hover::before,
    .yb-ed3-doc-v7__file:focus-visible::before,
    .yb-ed3-doc-v7__file.is-downloading::before {
      opacity: 1;
      transform: translateX(0);
    }

    .yb-ed3-doc-v7__file-icon {
      position: relative;
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      color: var(--yb-doc-soft);
      border: 1px solid var(--yb-doc-line);
      border-radius: 50%;
      transition:
        color 220ms ease,
        border-color 220ms ease,
        background-color 220ms ease,
        transform 220ms ease;
    }

    .yb-ed3-doc-v7__file:hover .yb-ed3-doc-v7__file-icon,
    .yb-ed3-doc-v7__file:focus-visible .yb-ed3-doc-v7__file-icon {
      color: #fff;
      border-color: rgba(226, 31, 42, 0.48);
      background: rgba(226, 31, 42, 0.08);
      transform: translateY(-2px);
    }

    .yb-ed3-doc-v7__file-icon svg {
      position: absolute;
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.75;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: opacity 180ms ease, transform 260ms ease;
    }

    .yb-ed3-doc-v7__file-check {
      opacity: 0;
      transform: scale(0.62);
    }

    .yb-ed3-doc-v7__file-copy {
      min-width: 0;
    }

    .yb-ed3-doc-v7__file-type {
      display: block;
      margin-bottom: 4px;
      color: var(--yb-doc-gold);
      font-size: 8px;
      font-weight: 760;
      line-height: 1;
      letter-spacing: 0.17em;
    }

    .yb-ed3-doc-v7__file-title {
      display: block;
      overflow: hidden;
      color: var(--yb-doc-ink);
      font-size: 16px;
      font-weight: 650;
      line-height: 1.24;
      letter-spacing: -0.018em;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .yb-ed3-doc-v7__file-meta {
      display: block;
      margin-top: 4px;
      overflow: hidden;
      color: var(--yb-doc-muted);
      font-size: 11px;
      font-weight: 430;
      line-height: 1.35;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .yb-ed3-doc-v7__file-action {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding-left: 20px;
      color: var(--yb-doc-soft);
      font-size: 10px;
      font-weight: 740;
      line-height: 1;
      letter-spacing: 0.12em;
      white-space: nowrap;
      transition: color 200ms ease;
    }

    .yb-ed3-doc-v7__file:hover .yb-ed3-doc-v7__file-action,
    .yb-ed3-doc-v7__file:focus-visible .yb-ed3-doc-v7__file-action {
      color: #fff;
    }

    .yb-ed3-doc-v7__file-action svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: var(--yb-doc-red);
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: transform 220ms ease;
    }

    .yb-ed3-doc-v7__file:hover .yb-ed3-doc-v7__file-action svg,
    .yb-ed3-doc-v7__file:focus-visible .yb-ed3-doc-v7__file-action svg {
      transform: translateY(2px);
    }

    /* Download click animation */
    .yb-ed3-doc-v7__file.is-downloading {
      pointer-events: none;
      border-bottom-color: rgba(226, 31, 42, 0.34);
    }

    .yb-ed3-doc-v7__file.is-downloading .yb-ed3-doc-v7__file-download {
      animation: yb-ed3-doc-v7-arrow-drop 620ms cubic-bezier(0.2, 0.72, 0.2, 1) forwards;
    }

    .yb-ed3-doc-v7__file.is-complete .yb-ed3-doc-v7__file-download {
      opacity: 0;
      transform: translateY(8px) scale(0.72);
    }

    .yb-ed3-doc-v7__file.is-complete .yb-ed3-doc-v7__file-check {
      opacity: 1;
      transform: scale(1);
    }

    .yb-ed3-doc-v7__file.is-complete .yb-ed3-doc-v7__file-icon {
      color: #fff;
      border-color: rgba(226, 31, 42, 0.62);
      background: rgba(226, 31, 42, 0.13);
    }

    @keyframes yb-ed3-doc-v7-arrow-drop {
      0% { opacity: 1; transform: translateY(0); }
      42% { opacity: 0; transform: translateY(8px); }
      43% { opacity: 0; transform: translateY(-7px); }
      100% { opacity: 1; transform: translateY(0); }
    }

    /* No direct files yet */
    .yb-ed3-doc-v7__empty {
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 16px;
      align-items: center;
      min-height: 104px;
      padding: 18px 0;
      border-top: 1px solid var(--yb-doc-line);
      border-bottom: 1px solid var(--yb-doc-line-soft);
    }

    .yb-ed3-doc-v7__empty[hidden] {
      display: none;
    }

    .yb-ed3-doc-v7__empty-icon {
      display: grid;
      place-items: center;
      width: 44px;
      height: 52px;
      color: var(--yb-doc-soft);
      border: 1px solid var(--yb-doc-line);
    }

    .yb-ed3-doc-v7__empty-icon svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.55;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .yb-ed3-doc-v7__empty strong {
      display: block;
      color: var(--yb-doc-soft);
      font-size: 14px;
      font-weight: 620;
      line-height: 1.4;
    }

    .yb-ed3-doc-v7__empty p {
      max-width: 660px;
      margin: 5px 0 0;
      color: var(--yb-doc-muted);
      font-size: 11px;
      line-height: 1.5;
    }

    /* =========================================================
       05. DOWNLOAD CENTER — SECONDARY ENTRY
       ========================================================= */
    .yb-ed3-doc-v7__library h3 {
      max-width: 350px;
      font-size: 21px;
    }

    .yb-ed3-doc-v7__library > p {
      max-width: 360px;
      margin: 12px 0 0;
      color: var(--yb-doc-body);
      font-size: 12px;
      font-weight: 420;
      line-height: 1.58;
    }

    .yb-ed3-doc-v7__library-link {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-top: 20px;
      padding: 9px 0 8px;
      color: var(--yb-doc-soft);
      border-bottom: 1px solid rgba(255, 255, 255, 0.22);
      font-size: 11px;
      font-weight: 720;
      line-height: 1;
      letter-spacing: 0.1em;
      text-decoration: none;
      text-transform: uppercase;
      transition:
        color 200ms ease,
        border-color 200ms ease,
        gap 200ms ease;
    }

    .yb-ed3-doc-v7__library-link svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: var(--yb-doc-red);
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .yb-ed3-doc-v7__library-link:hover,
    .yb-ed3-doc-v7__library-link:focus-visible {
      gap: 17px;
      color: #fff;
      border-color: var(--yb-doc-red);
      outline: none;
    }

    .yb-ed3-doc-v7__library-note {
      margin-top: 14px;
      color: var(--yb-doc-muted);
      font-size: 10px;
      line-height: 1.45;
    }

    /* =========================================================
       06. FOOTER
       ========================================================= */
    .yb-ed3-doc-v7__footer {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      padding-top: 12px;
      border-top: 1px solid var(--yb-doc-line);
      color: var(--yb-doc-muted);
      font-size: 9px;
      line-height: 1.45;
    }

    .yb-ed3-doc-v7__footer a {
      color: var(--yb-doc-soft);
      text-decoration: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .yb-ed3-doc-v7__footer a:hover,
    .yb-ed3-doc-v7__footer a:focus-visible {
      color: #fff;
      border-color: rgba(255, 255, 255, 0.52);
      outline: none;
    }

    /* =========================================================
       07. DOWNLOAD FEEDBACK TOAST
       ========================================================= */
    .yb-ed3-doc-v7__toast {
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 99999;
      display: flex;
      align-items: center;
      gap: 11px;
      max-width: min(360px, calc(100vw - 32px));
      padding: 12px 16px 12px 12px;
      color: #f7f2e9;
      background: rgba(12, 15, 13, 0.96);
      border: 1px solid rgba(255, 255, 255, 0.14);
      box-shadow: 0 18px 55px rgba(0, 0, 0, 0.38);
      font-size: 12px;
      font-weight: 600;
      line-height: 1.35;
      opacity: 0;
      visibility: hidden;
      transform: translateY(12px);
      transition:
        opacity 220ms ease,
        transform 220ms ease,
        visibility 220ms ease;
      pointer-events: none;
    }

    .yb-ed3-doc-v7__toast.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .yb-ed3-doc-v7__toast-icon {
      display: grid;
      place-items: center;
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      color: #fff;
      background: var(--yb-doc-red);
      border-radius: 50%;
      box-shadow: 0 0 0 5px rgba(226, 31, 42, 0.11);
    }

    .yb-ed3-doc-v7__toast-icon svg {
      width: 15px;
      height: 15px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* =========================================================
       08. RESPONSIVE
       ========================================================= */
    @media (max-width: 1080px) {
      .yb-ed3-doc-v7__inner {
        width: min(100%, calc(100% - 36px));
      }

      .yb-ed3-doc-v7__main {
        grid-template-columns: minmax(0, 1.45fr) minmax(270px, 0.72fr);
      }

      .yb-ed3-doc-v7__direct {
        padding-right: 28px;
      }

      .yb-ed3-doc-v7__library {
        padding-left: 28px;
      }
    }

    @media (max-width: 820px) {
      .yb-ed3-doc-v7__inner {
        padding-top: 20px;
      }

      .yb-ed3-doc-v7__header {
        grid-template-columns: 1fr;
        gap: 15px;
        align-items: start;
      }

      .yb-ed3-doc-v7__model {
        min-width: 0;
        padding: 0;
        border-left: 0;
      }

      .yb-ed3-doc-v7__main {
        grid-template-columns: 1fr;
      }

      .yb-ed3-doc-v7__direct {
        padding: 22px 0;
      }

      .yb-ed3-doc-v7__library {
        padding: 22px 0 18px;
        border-top: 1px solid var(--yb-doc-line);
        border-left: 0;
      }

      .yb-ed3-doc-v7__library::before {
        left: 0;
        top: -1px;
        width: 42px;
        height: 2px;
      }
    }

    @media (max-width: 560px) {
      .yb-ed3-doc-v7__inner {
        width: min(100%, calc(100% - 26px));
      }

      .yb-ed3-doc-v7__title {
        font-size: 34px;
      }

      .yb-ed3-doc-v7__intro {
        font-size: 14px;
      }

      .yb-ed3-doc-v7__section-head {
        align-items: start;
      }

      .yb-ed3-doc-v7__file {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
        min-height: 82px;
        padding-right: 0;
      }

      .yb-ed3-doc-v7__file-icon {
        width: 38px;
        height: 38px;
      }

      .yb-ed3-doc-v7__file-title {
        font-size: 14px;
        white-space: normal;
      }

      .yb-ed3-doc-v7__file-meta {
        white-space: normal;
      }

      .yb-ed3-doc-v7__file-action {
        grid-column: 2;
        padding: 0 0 2px;
        font-size: 9px;
      }

      .yb-ed3-doc-v7__footer {
        display: grid;
        gap: 6px;
      }

      .yb-ed3-doc-v7__toast {
        right: 16px;
        bottom: 16px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .yb-ed3-doc-v7 *,
      .yb-ed3-doc-v7 *::before,
      .yb-ed3-doc-v7 *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }

    /* =========================================================
       09. CLICK IMPACT EASTER EGG
       ========================================================= */
/*
   * 每次点击产生的弹孔容器。
   * left/top 由 JavaScript 根据点击位置动态填写。
   */
  .yb-ed3-doc-v7__impact {
    --yb-impact-size: 72px;
    --yb-impact-rotation: 0deg;

    position: absolute;
    left: 0;
    top: 0;
    width: var(--yb-impact-size);
    height: var(--yb-impact-size);
    z-index: 40;

    pointer-events: none;
    user-select: none;

    transform:
      translate(-50%, -50%)
      rotate(var(--yb-impact-rotation))
      scale(0.28);

    opacity: 0;

    animation:
      yb-ed3-impact-enter 360ms cubic-bezier(0.18, 0.78, 0.22, 1.18) forwards,
      yb-ed3-impact-exit 420ms ease 1780ms forwards;

    will-change: transform, opacity;
  }

  /*
   * 弹孔图片本身。
   * drop-shadow 只负责制造轻微贴合深色表面的感觉。
   */
  .yb-ed3-doc-v7__impact-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;

    filter:
      drop-shadow(0 4px 5px rgba(0, 0, 0, 0.42))
      drop-shadow(0 0 7px rgba(0, 0, 0, 0.28));
  }

  /*
   * 点击瞬间出现的品牌红色冲击环。
   * 它会快速扩散和消失，不会持续留在页面上。
   */
  .yb-ed3-doc-v7__impact::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34%;
    aspect-ratio: 1;
    border: 1px solid rgba(226, 31, 42, 0.74);
    border-radius: 50%;

    transform: translate(-50%, -50%) scale(0.45);
    opacity: 0;

    animation: yb-ed3-impact-ring 440ms ease-out forwards;
  }

  /*
   * 非常短暂的中心闪点。
   * 只增加点击反馈，不形成持续发光效果。
   */
  .yb-ed3-doc-v7__impact::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.92);
    box-shadow:
      0 0 10px rgba(255, 255, 255, 0.48),
      0 0 16px rgba(226, 31, 42, 0.34);

    transform: translate(-50%, -50%) scale(0.3);
    opacity: 0;

    animation: yb-ed3-impact-flash 180ms ease-out forwards;
  }

  @keyframes yb-ed3-impact-enter {
    0% {
      opacity: 0;
      transform:
        translate(-50%, -50%)
        rotate(var(--yb-impact-rotation))
        scale(0.28);
    }

    62% {
      opacity: 1;
      transform:
        translate(-50%, -50%)
        rotate(var(--yb-impact-rotation))
        scale(1.08);
    }

    100% {
      opacity: 0.94;
      transform:
        translate(-50%, -50%)
        rotate(var(--yb-impact-rotation))
        scale(1);
    }
  }

  @keyframes yb-ed3-impact-exit {
    0% {
      opacity: 0.94;
      transform:
        translate(-50%, -50%)
        rotate(var(--yb-impact-rotation))
        scale(1);
    }

    100% {
      opacity: 0;
      transform:
        translate(-50%, -50%)
        rotate(var(--yb-impact-rotation))
        scale(0.92);
    }
  }

  @keyframes yb-ed3-impact-ring {
    0% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.45);
    }

    22% {
      opacity: 0.78;
    }

    100% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(2.6);
    }
  }

  @keyframes yb-ed3-impact-flash {
    0% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.25);
    }

    32% {
      opacity: 0.94;
      transform: translate(-50%, -50%) scale(1);
    }

    100% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(1.65);
    }
  }

  /*
   * 手机端稍微缩小视觉尺寸，
   * 避免小屏幕上弹孔占据过大面积。
   */
  @media (max-width: 767px) {
    .yb-ed3-doc-v7__impact {
      max-width: 70px;
      max-height: 70px;
    }
  }

  /*
   * 用户系统要求减少动态效果时，
   * 保留轻微淡入淡出，取消弹性缩放。
   */
  @media (prefers-reduced-motion: reduce) {
    .yb-ed3-doc-v7__impact {
      animation: yb-ed3-impact-simple 1200ms ease forwards;
      transform:
        translate(-50%, -50%)
        rotate(var(--yb-impact-rotation))
        scale(1);
    }

    .yb-ed3-doc-v7__impact::before,
    .yb-ed3-doc-v7__impact::after {
      display: none;
    }
  }

  @keyframes yb-ed3-impact-simple {
    0% {
      opacity: 0;
    }

    15%,
    76% {
      opacity: 0.88;
    }

    100% {
      opacity: 0;
    }
  }


/* ==========================================================================
   10. v9.0 APPLE GRAPHITE DOCUMENT HUB — FINAL OVERRIDES

   Purpose:
   - retain all existing file configuration and download behaviour;
   - remove the gold-heavy visual system;
   - retain the click-impact and sound Easter egg;
   - create a calm graphite utility section with Apple-style surfaces;
   - improve spacing, readability and responsive behaviour.
   ========================================================================== */


/* ==========================================================================
   01. ROOT AND TOKENS
   ========================================================================== */

.yb-ed3-doc-v7 {
    --yb-doc-bg: #0a0c10;
    --yb-doc-bg-soft: #11141a;
    --yb-doc-ink: #f5f5f7;
    --yb-doc-soft: #d2d2d7;
    --yb-doc-body: #a1a1a6;
    --yb-doc-muted: #73737a;

    --yb-doc-gold: #e31e24;
    --yb-doc-red: #e31e24;
    --yb-doc-red-dark: #b9141b;

    --yb-doc-line:
        rgba(
            255,
            255,
            255,
            0.10
        );

    --yb-doc-line-soft:
        rgba(
            255,
            255,
            255,
            0.065
        );

    --yb-doc-font:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(227, 30, 36, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 82%,
            rgba(255, 255, 255, 0.035),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #090b0f 0%,
            #0d1015 58%,
            #120b0e 100%
        ) !important;
}



/* ==========================================================================
   02. MAIN CONTAINER
   ========================================================================== */

.yb-ed3-doc-v7__inner {
    width:
        min(
            1480px,
            calc(
                100% -
                64px
            )
        ) !important;

    padding:
        clamp(
            48px,
            4.2vw,
            64px
        )
        0
        clamp(
            28px,
            2.8vw,
            40px
        ) !important;
}


/* ==========================================================================
   03. HEADER
   ========================================================================== */

.yb-ed3-doc-v7__header {
    align-items: end !important;

    gap:
        clamp(
            28px,
            4vw,
            70px
        ) !important;

    padding:
        0
        0
        28px !important;

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.10) !important;
}


.yb-ed3-doc-v7__eyebrow {
    gap: 10px !important;

    margin-bottom: 14px !important;

    color:
        rgba(255, 255, 255, 0.54) !important;

    font-size: 9px !important;
    letter-spacing: 0.15em !important;
}


.yb-ed3-doc-v7__eyebrow > span {
    width: 7px !important;
    height: 7px !important;

    border-radius: 50% !important;

    background:
        var(--yb-doc-red) !important;

    box-shadow:
        0 0 0 5px
        rgba(227, 30, 36, 0.08) !important;
}


.yb-ed3-doc-v7__title {
    font-size:
        clamp(
            39px,
            3.4vw,
            56px
        ) !important;

    font-weight: 720 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
}


.yb-ed3-doc-v7__intro {
    max-width: 760px !important;

    margin-top: 13px !important;

    color:
        #a1a1a6 !important;

    font-size:
        clamp(
            12px,
            0.92vw,
            15px
        ) !important;

    line-height: 1.56 !important;
}


.yb-ed3-doc-v7__model {
    min-width: 260px !important;

    padding:
        15px
        18px !important;

    gap: 7px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.09) !important;

    border-radius: 16px !important;

    background:
        rgba(255, 255, 255, 0.045) !important;

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.025) !important;
}


.yb-ed3-doc-v7__model span {
    color:
        #7f7f86 !important;

    font-size: 8px !important;
    letter-spacing: 0.14em !important;
}


.yb-ed3-doc-v7__model strong {
    color:
        #f5f5f7 !important;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        ) !important;
}


/* ==========================================================================
   04. TWO-PANEL LAYOUT
   ========================================================================== */

.yb-ed3-doc-v7__main {
    margin-top: 20px !important;

    grid-template-columns:
        minmax(
            0,
            1.72fr
        )
        minmax(
            320px,
            0.78fr
        ) !important;

    gap:
        clamp(
            16px,
            1.6vw,
            22px
        ) !important;
}


.yb-ed3-doc-v7__direct,
.yb-ed3-doc-v7__library {
    min-width: 0 !important;

    padding:
        clamp(
            23px,
            2vw,
            30px
        ) !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.085) !important;

    border-radius: 22px !important;

    background:
        rgba(255, 255, 255, 0.038) !important;

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.025),
        0 18px 44px
        rgba(0, 0, 0, 0.12) !important;
}


.yb-ed3-doc-v7__library {
    border-left:
        1px solid
        rgba(255, 255, 255, 0.085) !important;
}


.yb-ed3-doc-v7__library::before {
    top: 0 !important;
    left: 24px !important;

    width: 56px !important;
    height: 3px !important;

    border-radius:
        0
        0
        999px
        999px !important;

    background:
        var(--yb-doc-red) !important;
}


/* ==========================================================================
   05. SECTION HEADINGS
   ========================================================================== */

.yb-ed3-doc-v7__section-head {
    margin-bottom: 16px !important;
}


.yb-ed3-doc-v7__section-label,
.yb-ed3-doc-v7__library-label {
    margin-bottom: 8px !important;

    color:
        #8b8b92 !important;

    font-size: 8px !important;
    letter-spacing: 0.14em !important;
}


.yb-ed3-doc-v7__section-head h3,
.yb-ed3-doc-v7__library h3 {
    color:
        #f5f5f7 !important;

    font-size:
        clamp(
            19px,
            1.45vw,
            24px
        ) !important;
}


.yb-ed3-doc-v7__count {
    color:
        #7d7d84 !important;

    font-size: 8px !important;
}


/* ==========================================================================
   06. FILE ROWS
   ========================================================================== */

.yb-ed3-doc-v7__files {
    border-top: 0 !important;
}


.yb-ed3-doc-v7__file {
    min-height: 86px !important;

    margin-top: 9px !important;

    padding:
        13px
        14px !important;

    grid-template-columns:
        44px
        minmax(
            0,
            1fr
        )
        auto !important;

    gap: 15px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.07) !important;

    border-radius: 16px !important;

    background:
        rgba(255, 255, 255, 0.025) !important;
}


.yb-ed3-doc-v7__file::before {
    border-radius: 16px !important;

    background:
        linear-gradient(
            90deg,
            rgba(227, 30, 36, 0.10),
            rgba(255, 255, 255, 0.02) 70%,
            transparent
        ) !important;
}


.yb-ed3-doc-v7__file:hover,
.yb-ed3-doc-v7__file:focus-visible {
    padding-left: 14px !important;

    border-color:
        rgba(227, 30, 36, 0.25) !important;

    transform:
        translateY(-2px) !important;
}


.yb-ed3-doc-v7__file-icon {
    width: 44px !important;
    height: 44px !important;

    color:
        #d2d2d7 !important;

    border-color:
        rgba(255, 255, 255, 0.12) !important;

    background:
        rgba(255, 255, 255, 0.025) !important;
}


.yb-ed3-doc-v7__file-type {
    color:
        #8b8b92 !important;

    font-size: 8px !important;
    letter-spacing: 0.13em !important;
}


.yb-ed3-doc-v7__file-title {
    color:
        #f5f5f7 !important;

    font-size:
        clamp(
            14px,
            1vw,
            17px
        ) !important;
}


.yb-ed3-doc-v7__file-meta {
    color:
        #7f7f86 !important;

    font-size:
        10.5px !important;
}


.yb-ed3-doc-v7__file-action {
    min-height: 34px !important;

    padding:
        0
        11px !important;

    gap: 8px !important;

    border:
        1px solid
        rgba(227, 30, 36, 0.20) !important;

    border-radius: 999px !important;

    background:
        rgba(227, 30, 36, 0.07) !important;

    color:
        #f5f5f7 !important;

    font-size: 8px !important;
    letter-spacing: 0.08em !important;
}


.yb-ed3-doc-v7__file:hover
.yb-ed3-doc-v7__file-action,
.yb-ed3-doc-v7__file:focus-visible
.yb-ed3-doc-v7__file-action {
    border-color:
        rgba(227, 30, 36, 0.42) !important;

    background:
        var(--yb-doc-red) !important;

    color:
        #ffffff !important;
}


.yb-ed3-doc-v7__file-action svg {
    width: 14px !important;
    height: 14px !important;

    stroke:
        currentColor !important;
}


/* ==========================================================================
   07. EMPTY STATE
   ========================================================================== */

.yb-ed3-doc-v7__empty {
    min-height: 118px !important;

    padding:
        20px
        4px !important;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.08) !important;

    border-bottom: 0 !important;
}


.yb-ed3-doc-v7__empty-icon {
    border-radius: 14px !important;

    background:
        rgba(255, 255, 255, 0.025) !important;
}


/* ==========================================================================
   08. LIBRARY PANEL
   ========================================================================== */

.yb-ed3-doc-v7__library > p {
    margin-top: 13px !important;

    color:
        #99999f !important;

    font-size: 12px !important;
}


.yb-ed3-doc-v7__library-link {
    min-height: 42px !important;

    margin-top: 22px !important;

    padding:
        0
        15px !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.11) !important;

    border-radius: 999px !important;

    background:
        rgba(255, 255, 255, 0.035) !important;

    color:
        #f5f5f7 !important;

    font-size: 9px !important;
    letter-spacing: 0.08em !important;
}


.yb-ed3-doc-v7__library-link:hover,
.yb-ed3-doc-v7__library-link:focus-visible {
    gap: 12px !important;

    border-color:
        rgba(227, 30, 36, 0.36) !important;

    background:
        rgba(227, 30, 36, 0.09) !important;
}


.yb-ed3-doc-v7__library-note {
    color:
        #707077 !important;

    font-size: 9.5px !important;
}


/* ==========================================================================
   09. FOOTER AND TOAST
   ========================================================================== */

.yb-ed3-doc-v7__footer {
    margin-top: 18px !important;

    padding-top: 16px !important;

    color:
        #6f6f76 !important;

    font-size: 8.5px !important;
}


.yb-ed3-doc-v7__toast {
    border-radius: 14px !important;

    background:
        rgba(18, 21, 27, 0.96) !important;

    font-family:
        var(--yb-doc-font) !important;
}


/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */

@media (max-width: 1080px) {

    .yb-ed3-doc-v7__inner {
        width:
            min(
                100%,
                calc(
                    100% -
                    38px
                )
            ) !important;
    }


    .yb-ed3-doc-v7__main {
        grid-template-columns:
            minmax(
                0,
                1.42fr
            )
            minmax(
                280px,
                0.72fr
            ) !important;
    }

}


@media (max-width: 820px) {

    .yb-ed3-doc-v7__header {
        grid-template-columns:
            1fr !important;
    }


    .yb-ed3-doc-v7__model {
        width: 100% !important;
        min-width: 0 !important;
    }


    .yb-ed3-doc-v7__main {
        grid-template-columns:
            1fr !important;
    }


    .yb-ed3-doc-v7__library {
        border-top:
            1px solid
            rgba(255, 255, 255, 0.085) !important;

        border-left:
            1px solid
            rgba(255, 255, 255, 0.085) !important;
    }


    .yb-ed3-doc-v7__library::before {
        top: 0 !important;
        left: 24px !important;

        width: 56px !important;
        height: 3px !important;
    }

}


@media (max-width: 560px) {

    .yb-ed3-doc-v7__inner {
        width:
            calc(
                100% -
                24px
            ) !important;

        padding:
            38px
            0
            28px !important;
    }


    .yb-ed3-doc-v7__file {
        grid-template-columns:
            40px
            minmax(
                0,
                1fr
            ) !important;
    }


    .yb-ed3-doc-v7__file-action {
        grid-column:
            2
            /
            -1 !important;

        width: max-content !important;

        margin-top: 2px !important;
    }


    .yb-ed3-doc-v7__footer {
        flex-direction: column !important;

        gap: 8px !important;
    }

}



/* ===== SECTION 09 / ORIGINAL STYLE BLOCK 1 ===== */
/* =========================================================
   Yubeen Optical Scope Product Inquiry
========================================================= */

#product-inquiry {
    scroll-margin-top:
        var(
            --ed3-anchor-offset,
            118px
        );
}


.yb-product-inquiry {
    --yb-pi-page-bg: #f5f1e9;
    --yb-pi-card-bg: #fbfaf6;
    --yb-pi-input-bg: #fffdf9;

    --yb-pi-ink: #171712;
    --yb-pi-muted: #716d65;
    --yb-pi-light-muted: #969087;

    --yb-pi-gold: #c7963c;
    --yb-pi-gold-dark: #a97924;
    --yb-pi-gold-light: #e6c37e;

    --yb-pi-green: #315d42;
    --yb-pi-red: #b42318;

    --yb-pi-line:
        rgba(
            31,
            29,
            24,
            0.14
        );

    position: relative;

    width: 100%;
    max-width: none;

    margin: 0;

    padding:
        58px
        16px
        66px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 14% 20%,
            rgba(199, 150, 60, 0.09),
            transparent 31%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(49, 93, 66, 0.045),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #faf8f2 0%,
            var(--yb-pi-page-bg) 55%,
            #f2eee6 100%
        );

    color:
        var(
            --yb-pi-ink
        );

    font-family:
        Inter,
        "Helvetica Neue",
        Arial,
        sans-serif;
}


.yb-product-inquiry,
.yb-product-inquiry * {
    box-sizing: border-box;
}


.yb-product-inquiry [hidden] {
    display: none !important;
}


/* 页面背景光学环 */

.yb-product-inquiry__background {
    position: absolute;
    inset: 0;

    pointer-events: none;
}


.yb-product-inquiry__ring {
    position: absolute;

    border:
        1px solid
        rgba(
            199,
            150,
            60,
            0.1
        );

    border-radius: 50%;
}


.yb-product-inquiry__ring.ring-one {
    top: -155px;
    right: -125px;

    width: 390px;
    height: 390px;
}


.yb-product-inquiry__ring.ring-two {
    top: -93px;
    right: -63px;

    width: 265px;
    height: 265px;
}


.yb-product-inquiry__ring.ring-three {
    bottom: -180px;
    left: -120px;

    width: 350px;
    height: 350px;
}


/* 主布局 */

.yb-product-inquiry__inner {
    position: relative;
    z-index: 2;

    width:
        min(
            1480px,
            100%
        );

    margin:
        0
        auto;

    display: grid;

    grid-template-columns:
        minmax(
            310px,
            0.76fr
        )
        minmax(
            0,
            1.34fr
        );

    gap: 30px;

    align-items: stretch;
}


/* =========================================================
   左侧深色介绍面板
========================================================= */

.yb-product-inquiry__intro {
    position: relative;

    min-width: 0;
    min-height: 610px;

    padding:
        51px
        47px
        43px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.07
        );

    border-radius: 29px;

    background:
        radial-gradient(
            circle at 92% 95%,
            rgba(118, 18, 37, 0.31),
            transparent 43%
        ),
        radial-gradient(
            circle at 12% 0%,
            rgba(199, 150, 60, 0.12),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #070a0e 0%,
            #0d1218 58%,
            #1b0e14 100%
        );

    color: #ffffff;

    box-shadow:
        0
        27px
        70px
        rgba(
            30,
            26,
            21,
            0.15
        );

    isolation: isolate;
}


.yb-product-inquiry__intro::before {
    content: "";

    position: absolute;

    top: -145px;
    right: -155px;

    z-index: -1;

    width: 340px;
    height: 340px;

    border:
        1px solid
        rgba(
            199,
            150,
            60,
            0.13
        );

    border-radius: 50%;
}


.yb-product-inquiry__intro::after {
    content: "";

    position: absolute;

    right: -110px;
    bottom: -138px;

    z-index: -1;

    width: 310px;
    height: 310px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.07
        );

    border-radius: 50%;
}


.yb-product-inquiry__intro-grid {
    position: absolute;
    inset: 0;

    z-index: -2;

    opacity: 0.16;

    background-image:
        linear-gradient(
            rgba(
                255,
                255,
                255,
                0.04
            )
            1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(
                255,
                255,
                255,
                0.04
            )
            1px,
            transparent 1px
        );

    background-size:
        42px
        42px;

    mask-image:
        linear-gradient(
            to bottom,
            black,
            transparent 72%
        );
}


.yb-product-inquiry__intro-top {
    display: flex;
    align-items: center;
    gap: 13px;
}


.yb-product-inquiry__eyebrow {
    color:
        var(
            --yb-pi-gold-light
        );

    font-size: 9px;
    font-weight: 790;
    line-height: 1;
    letter-spacing: 0.2em;
}


.yb-product-inquiry__eyebrow-line {
    width: 48px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(
                --yb-pi-gold
            ),
            transparent
        );
}


.yb-product-inquiry__intro-copy {
    margin-top: 35px;
}


.yb-product-inquiry__model-label {
    display: block;

    margin-bottom: 7px;

    color:
        rgba(
            255,
            255,
            255,
            0.46
        );

    font-size: 8px;
    font-weight: 740;
    letter-spacing: 0.18em;
}


.yb-product-inquiry__model {
    display: block;

    margin-bottom: 28px;

    color:
        var(
            --yb-pi-gold-light
        );

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            18px,
            1.4vw,
            25px
        );

    font-weight: 400;
    line-height: 1.15;
}


.yb-product-inquiry__intro-copy h2 {
    max-width: 390px;

    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            37px,
            3vw,
            57px
        );

    font-weight: 720;
    line-height: 0.98;
    letter-spacing: -0.055em;
}


.yb-product-inquiry__intro-copy h2 em {
    display: block;

    margin-top: 7px;

    color:
        var(
            --yb-pi-gold-light
        );

    font-style: normal;
}


.yb-product-inquiry__intro-copy p {
    max-width: 390px;

    margin:
        26px
        0
        0;

    color:
        rgba(
            255,
            255,
            255,
            0.67
        );

    font-size: 12.5px;
    font-weight: 430;
    line-height: 1.7;
}


.yb-product-inquiry__benefits {
    margin-top: auto;
    padding-top: 45px;

    display: grid;
    gap: 21px;
}


.yb-product-inquiry__benefit {
    display: grid;

    grid-template-columns:
        39px
        minmax(
            0,
            1fr
        );

    gap: 15px;

    align-items: center;
}


.yb-product-inquiry__benefit-icon {
    width: 39px;
    height: 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(
            199,
            150,
            60,
            0.28
        );

    border-radius: 50%;

    background:
        rgba(
            199,
            150,
            60,
            0.075
        );

    color:
        var(
            --yb-pi-gold-light
        );
}


.yb-product-inquiry__benefit-icon svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.yb-product-inquiry__benefit strong {
    display: block;

    margin-bottom: 4px;

    color: #ffffff;

    font-size: 12px;
    font-weight: 680;
}


.yb-product-inquiry__benefit small {
    display: block;

    color:
        rgba(
            255,
            255,
            255,
            0.52
        );

    font-size: 10px;
    line-height: 1.45;
}


.yb-product-inquiry__optic-mark {
    position: absolute;

    right: 28px;
    bottom: 25px;

    width: 45px;
    height: 45px;

    opacity: 0.17;

    border:
        1px solid
        var(
            --yb-pi-gold-light
        );

    border-radius: 50%;
}


.yb-product-inquiry__optic-mark::before,
.yb-product-inquiry__optic-mark::after {
    content: "";

    position: absolute;

    background:
        var(
            --yb-pi-gold-light
        );
}


.yb-product-inquiry__optic-mark::before {
    top: 50%;
    left: -8px;

    width: 59px;
    height: 1px;
}


.yb-product-inquiry__optic-mark::after {
    top: -8px;
    left: 50%;

    width: 1px;
    height: 59px;
}


.yb-product-inquiry__optic-mark span {
    position: absolute;
    inset: 11px;

    border:
        1px solid
        var(
            --yb-pi-gold-light
        );

    border-radius: 50%;
}


.yb-product-inquiry__optic-mark i {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(
            --yb-pi-gold-light
        );

    transform:
        translate(
            -50%,
            -50%
        );
}


/* =========================================================
   右侧表单卡片
========================================================= */

.yb-product-inquiry__form-card {
    min-width: 0;

    padding:
        42px
        45px
        39px;

    border:
        1px solid
        var(
            --yb-pi-line
        );

    border-radius: 29px;

    background:
        rgba(
            255,
            255,
            255,
            0.84
        );

    box-shadow:
        0
        26px
        70px
        rgba(
            35,
            31,
            24,
            0.09
        );

    backdrop-filter:
        blur(
            17px
        );

    -webkit-backdrop-filter:
        blur(
            17px
        );
}


.yb-product-inquiry__form-host,
.yb-product-inquiry__form-host .wpcf7,
.yb-product-inquiry__form-host form {
    width: 100%;
}


.yb-product-inquiry__form-host form {
    margin: 0;
}


/* CF7 表单标题 */

.yb-pi-cf7__heading {
    margin-bottom: 28px;

    display: grid;

    grid-template-columns:
        48px
        minmax(
            0,
            1fr
        );

    gap: 15px;

    align-items: center;
}


.yb-pi-cf7__shield {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(
            199,
            150,
            60,
            0.25
        );

    border-radius: 50%;

    background:
        rgba(
            199,
            150,
            60,
            0.1
        );

    color:
        var(
            --yb-pi-gold-dark
        );
}


.yb-pi-cf7__shield svg {
    width: 23px;
    height: 23px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.yb-pi-cf7__heading h3 {
    margin:
        0
        0
        4px;

    color:
        var(
            --yb-pi-ink
        );

    font-size: 22px;
    font-weight: 740;
    line-height: 1.2;
    letter-spacing: -0.025em;
}


.yb-pi-cf7__heading p {
    margin: 0;

    color:
        var(
            --yb-pi-muted
        );

    font-size: 12.5px;
    line-height: 1.45;
}


/* 字段布局 */

.yb-pi-cf7__grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        18px
        16px;
}


.yb-pi-field {
    min-width: 0;

    display: block;
}


.yb-pi-field--message {
    margin-top: 19px;
}


.yb-pi-label {
    display: block;

    margin-bottom: 7px;

    color:
        var(
            --yb-pi-ink
        );

    font-size: 11.5px;
    font-weight: 680;
    line-height: 1.3;
}


.yb-pi-label em {
    color:
        var(
            --yb-pi-red
        );

    font-style: normal;
}


.yb-pi-label small {
    margin-left: 4px;

    color:
        var(
            --yb-pi-light-muted
        );

    font-size: 9.5px;
    font-weight: 500;
}


.yb-product-inquiry
.wpcf7-form-control-wrap {
    display: block;

    width: 100%;
}


/* 输入框统一样式 */

.yb-product-inquiry
.yb-pi-control {
    width: 100%;

    margin: 0;

    border:
        1px solid
        var(
            --yb-pi-line
        );

    border-radius: 11px;

    background:
        var(
            --yb-pi-input-bg
        );

    color:
        var(
            --yb-pi-ink
        );

    font-family: inherit;
    font-size: 12.5px;

    outline: none;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


.yb-product-inquiry
input.yb-pi-control,
.yb-product-inquiry
select.yb-pi-control {
    height: 50px;

    padding:
        0
        15px;
}


.yb-product-inquiry
select.yb-pi-control {
    padding-right: 42px;

    appearance: none;
    -webkit-appearance: none;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #4c4943 50%
        ),
        linear-gradient(
            135deg,
            #4c4943 50%,
            transparent 50%
        );

    background-position:
        calc(100% - 19px) 21px,
        calc(100% - 14px) 21px;

    background-size:
        5px
        5px,
        5px
        5px;

    background-repeat: no-repeat;
}


.yb-product-inquiry
textarea.yb-pi-control {
    min-height: 137px;

    padding:
        14px
        15px;

    resize: vertical;

    line-height: 1.55;
}


.yb-product-inquiry
.yb-pi-control::placeholder {
    color:
        rgba(
            66,
            63,
            57,
            0.48
        );
}


.yb-product-inquiry
.yb-pi-control:hover {
    border-color:
        rgba(
            169,
            121,
            36,
            0.42
        );
}


.yb-product-inquiry
.yb-pi-control:focus {
    border-color:
        var(
            --yb-pi-gold
        );

    background: #ffffff;

    box-shadow:
        0
        0
        0
        3px
        rgba(
            199,
            150,
            60,
            0.11
        );
}


/* 错误字段 */

.yb-product-inquiry
.wpcf7-not-valid,
.yb-product-inquiry
.yb-pi-client-invalid {
    border-color:
        var(
            --yb-pi-red
        ) !important;

    box-shadow:
        0
        0
        0
        3px
        rgba(
            180,
            35,
            24,
            0.075
        ) !important;
}


.yb-product-inquiry
.wpcf7-not-valid-tip,
.yb-pi-client-tip {
    display: block;

    margin-top: 6px;

    color:
        var(
            --yb-pi-red
        );

    font-size: 10.5px;
    font-weight: 560;
    line-height: 1.4;
}


.yb-pi-message-meta {
    margin-top: 7px;

    display: flex;
    justify-content: space-between;
    gap: 15px;

    color:
        var(
            --yb-pi-muted
        );
}


.yb-pi-message-meta small {
    font-size: 9.8px;
    line-height: 1.35;
}


/* =========================================================
   附件和提交按钮
========================================================= */

.yb-pi-cf7__bottom {
    margin-top: 18px;

    display: grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        auto;

    gap: 18px;

    align-items: end;
}


.yb-pi-file {
    min-width: 0;
}


.yb-pi-file-box {
    position: relative;

    display: block;

    min-height: 50px;

    padding:
        6px
        10px;

    border:
        1px solid
        var(
            --yb-pi-line
        );

    border-radius: 11px;

    background:
        var(
            --yb-pi-input-bg
        );
}


.yb-product-inquiry
.yb-pi-file-control {
    width: 100%;

    min-height: 36px;

    color:
        var(
            --yb-pi-muted
        );

    font-family: inherit;
    font-size: 10px;
}


.yb-product-inquiry
.yb-pi-file-control::file-selector-button {
    height: 36px;

    margin-right: 9px;

    padding:
        0
        14px;

    border:
        1px solid
        rgba(
            199,
            150,
            60,
            0.31
        );

    border-radius: 8px;

    background:
        rgba(
            199,
            150,
            60,
            0.095
        );

    color:
        var(
            --yb-pi-gold-dark
        );

    font-family: inherit;
    font-size: 10px;
    font-weight: 720;

    cursor: pointer;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}


.yb-product-inquiry
.yb-pi-file-control:hover::file-selector-button {
    border-color:
        var(
            --yb-pi-gold
        );

    background:
        var(
            --yb-pi-gold
        );

    color: #ffffff;
}


.yb-pi-file-name {
    display: none;
}


.yb-pi-file-note {
    display: block;

    margin-top: 6px;

    color:
        var(
            --yb-pi-muted
        );

    font-size: 9.5px;
    line-height: 1.35;
}


.yb-pi-submit-area {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}


.yb-product-inquiry
input.yb-pi-submit {
    min-width: 225px;
    height: 50px;

    padding:
        0
        22px;

    border: 0;
    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            var(
                --yb-pi-gold
            ),
            var(
                --yb-pi-gold-dark
            )
        );

    color: #ffffff;

    font-family: inherit;
    font-size: 11.5px;
    font-weight: 760;
    letter-spacing: 0.025em;

    cursor: pointer;

    box-shadow:
        0
        13px
        27px
        rgba(
            169,
            121,
            36,
            0.22
        );

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease;
}


.yb-product-inquiry
input.yb-pi-submit:hover,
.yb-product-inquiry
input.yb-pi-submit:focus-visible {
    transform:
        translateY(
            -2px
        );

    filter:
        brightness(
            1.04
        );

    box-shadow:
        0
        17px
        32px
        rgba(
            169,
            121,
            36,
            0.29
        );

    outline: none;
}


.yb-product-inquiry
input.yb-pi-submit:disabled {
    opacity: 0.62;

    cursor: wait;

    transform: none;
}


.yb-pi-submit-area small {
    margin-top: 7px;

    color:
        var(
            --yb-pi-muted
        );

    font-size: 9.3px;
}


/* 隐私确认 */

.yb-pi-consent {
    margin-top: 19px;

    padding-top: 16px;

    border-top:
        1px solid
        rgba(
            31,
            29,
            24,
            0.09
        );

    color:
        var(
            --yb-pi-muted
        );

    font-size: 10px;
    line-height: 1.55;
}


.yb-pi-consent
.wpcf7-list-item {
    margin: 0;
}


.yb-pi-consent label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}


.yb-pi-consent input {
    width: 15px;
    height: 15px;

    margin:
        1px
        0
        0;

    flex:
        0
        0
        15px;

    accent-color:
        var(
            --yb-pi-gold-dark
        );
}


.yb-pi-consent a {
    color:
        var(
            --yb-pi-gold-dark
        );

    font-weight: 680;
    text-decoration: underline;
    text-underline-offset: 2px;
}


/* =========================================================
   CF7 提交状态
========================================================= */

.yb-product-inquiry
.wpcf7-response-output {
    margin:
        19px
        0
        0 !important;

    padding:
        14px
        16px !important;

    border-width:
        1px !important;

    border-radius: 11px;

    font-size: 11.5px;
    font-weight: 560;
    line-height: 1.5;

    outline: none;
}


.yb-product-inquiry
.wpcf7 form.sent
.wpcf7-response-output {
    border-color:
        rgba(
            49,
            93,
            66,
            0.38
        ) !important;

    background:
        rgba(
            49,
            93,
            66,
            0.075
        );

    color:
        var(
            --yb-pi-green
        );
}


.yb-product-inquiry
.wpcf7 form.invalid
.wpcf7-response-output,
.yb-product-inquiry
.wpcf7 form.unaccepted
.wpcf7-response-output {
    border-color:
        rgba(
            199,
            150,
            60,
            0.45
        ) !important;

    background:
        rgba(
            199,
            150,
            60,
            0.085
        );

    color: #755317;
}


.yb-product-inquiry
.wpcf7 form.failed
.wpcf7-response-output,
.yb-product-inquiry
.wpcf7 form.spam
.wpcf7-response-output,
.yb-product-inquiry
.wpcf7 form.aborted
.wpcf7-response-output {
    border-color:
        rgba(
            180,
            35,
            24,
            0.36
        ) !important;

    background:
        rgba(
            180,
            35,
            24,
            0.065
        );

    color:
        var(
            --yb-pi-red
        );
}


.yb-product-inquiry
.wpcf7-spinner {
    margin:
        0
        0
        0
        10px;

    background-color:
        var(
            --yb-pi-gold-dark
        );
}


/* =========================================================
   中等屏幕
========================================================= */

@media (max-width: 1120px) {

    .yb-product-inquiry {
        padding:
            43px
            16px
            50px;
    }


    .yb-product-inquiry__inner {
        grid-template-columns:
            minmax(
                280px,
                0.67fr
            )
            minmax(
                0,
                1.2fr
            );

        gap: 20px;
    }


    .yb-product-inquiry__intro {
        min-height: 620px;

        padding:
            43px
            31px
            38px;
    }


    .yb-product-inquiry__form-card {
        padding:
            36px
            29px
            34px;
    }


    .yb-pi-cf7__grid {
        grid-template-columns:
            1fr;
    }


    .yb-pi-cf7__bottom {
        grid-template-columns:
            1fr;
    }


    .yb-pi-submit-area {
        align-items: stretch;
    }


    .yb-product-inquiry
    input.yb-pi-submit {
        width: 100%;
        min-width: 0;
    }


    .yb-pi-submit-area small {
        text-align: center;
    }

}


/* =========================================================
   手机端
========================================================= */

@media (max-width: 767px) {

    .yb-product-inquiry {
        padding:
            28px
            12px
            36px;
    }


    .yb-product-inquiry__inner {
        grid-template-columns:
            1fr;

        gap: 15px;
    }


    .yb-product-inquiry__intro {
        min-height: 470px;

        padding:
            35px
            27px
            31px;

        border-radius: 22px;
    }


    .yb-product-inquiry__intro-copy {
        margin-top: 29px;
    }


    .yb-product-inquiry__intro-copy h2 {
        max-width: 330px;

        font-size:
            clamp(
                36px,
                11vw,
                48px
            );
    }


    .yb-product-inquiry__intro-copy p {
        margin-top: 21px;

        font-size: 11.5px;
    }


    .yb-product-inquiry__benefits {
        padding-top: 35px;

        gap: 17px;
    }


    .yb-product-inquiry__form-card {
        padding:
            29px
            19px
            28px;

        border-radius: 22px;
    }


    .yb-pi-cf7__heading {
        grid-template-columns:
            43px
            minmax(
                0,
                1fr
            );

        gap: 12px;
    }


    .yb-pi-cf7__shield {
        width: 43px;
        height: 43px;
    }


    .yb-pi-cf7__heading h3 {
        font-size: 19px;
    }


    .yb-pi-cf7__heading p {
        font-size: 11px;
    }


    .yb-pi-cf7__grid {
        gap: 16px;
    }


    .yb-product-inquiry
    input.yb-pi-control,
    .yb-product-inquiry
    select.yb-pi-control {
        height: 49px;
    }


    .yb-product-inquiry
    textarea.yb-pi-control {
        min-height: 155px;
    }


    .yb-pi-message-meta {
        align-items: flex-start;
    }

}






 
/* =========================================================
   PRODUCT INQUIRY — LAYOUT FIX
   同时兼容旧版和新版 CF7 类名
========================================================= */


/* ---------------------------------------------------------
   1. 清除 CF7 自动生成或主题添加的段落间距
--------------------------------------------------------- */

.yb-product-inquiry .wpcf7-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.yb-product-inquiry .wpcf7-form br {
    display: none !important;
}

.yb-product-inquiry .wpcf7-form label {
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   2. 右侧表单卡片尺寸
--------------------------------------------------------- */

.yb-product-inquiry__form-card {
    min-height: 0 !important;

    padding:
        30px
        34px
        28px !important;
}


/* ---------------------------------------------------------
   3. 表单标题
   兼容：
   .yb-pi-form__heading
   .yb-pi-cf7__heading
--------------------------------------------------------- */

.yb-product-inquiry .yb-pi-form__heading,
.yb-product-inquiry .yb-pi-cf7__heading {
    width: 100%;

    margin:
        0
        0
        20px !important;

    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
        46px
        minmax(0, 1fr) !important;

    gap: 14px !important;

    align-items: center !important;
}


/* 标题图标外框 */

.yb-product-inquiry .yb-pi-form__icon,
.yb-product-inquiry .yb-pi-cf7__shield {
    width: 46px !important;
    height: 46px !important;

    min-width: 46px !important;
    max-width: 46px !important;

    min-height: 46px !important;
    max-height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;

    border:
        1px solid
        rgba(199, 150, 60, 0.25) !important;

    border-radius: 50% !important;

    background:
        rgba(199, 150, 60, 0.10) !important;

    color: #a97924 !important;

    line-height: 1 !important;

    flex:
        0
        0
        46px !important;
}


/* 修复当前巨大的黑色盾牌 */

.yb-product-inquiry .yb-pi-form__icon svg,
.yb-product-inquiry .yb-pi-cf7__shield svg {
    width: 22px !important;
    height: 22px !important;

    min-width: 22px !important;
    max-width: 22px !important;

    min-height: 22px !important;
    max-height: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;

    fill: none !important;
    stroke: currentColor !important;

    stroke-width: 1.6 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}


/* 标题文字 */

.yb-product-inquiry .yb-pi-form__heading h3,
.yb-product-inquiry .yb-pi-cf7__heading h3 {
    margin:
        0
        0
        4px !important;

    padding: 0 !important;

    color: #171712 !important;

    font-size: 21px !important;
    font-weight: 740 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em !important;
}


/* 标题说明 */

.yb-product-inquiry .yb-pi-form__heading p,
.yb-product-inquiry .yb-pi-cf7__heading p {
    margin: 0 !important;
    padding: 0 !important;

    color: #716d65 !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}


/* ---------------------------------------------------------
   4. 表单字段网格
   兼容旧版和新版类名
--------------------------------------------------------- */

.yb-product-inquiry .yb-pi-grid,
.yb-product-inquiry .yb-pi-cf7__grid {
    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        ) !important;

    gap:
        13px
        15px !important;

    align-items: start !important;
}


/*
   CF7 或 WordPress 在网格中额外加入 p 标签时，
   让 p 不破坏 Grid 子元素结构。
*/

.yb-product-inquiry .yb-pi-grid > p,
.yb-product-inquiry .yb-pi-cf7__grid > p {
    display: contents !important;
}


/* 单个字段 */

.yb-product-inquiry .yb-pi-field {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
}


/* 字段名称 */

.yb-product-inquiry .yb-pi-label {
    margin:
        0
        0
        6px !important;

    padding: 0 !important;

    display: block !important;

    color: #171712 !important;

    font-size: 11px !important;
    font-weight: 680 !important;
    line-height: 1.3 !important;
}


/* 输入框包裹 */

.yb-product-inquiry .wpcf7-form-control-wrap {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
}


/* 普通输入框 */

.yb-product-inquiry input.yb-pi-control,
.yb-product-inquiry select.yb-pi-control {
    width: 100% !important;
    height: 46px !important;

    margin: 0 !important;

    padding:
        0
        13px !important;
}


/* Message 区域 */

.yb-product-inquiry .yb-pi-field--full,
.yb-product-inquiry .yb-pi-field--message {
    width: 100%;

    margin:
        14px
        0
        0 !important;

    padding: 0 !important;
}


/* Message 输入框 */

.yb-product-inquiry textarea.yb-pi-control {
    width: 100% !important;

    min-height: 116px !important;
    height: 116px;

    margin: 0 !important;

    padding:
        12px
        13px !important;

    line-height: 1.5 !important;

    resize: vertical;
}


/* Message 下方说明 */

.yb-product-inquiry .yb-pi-field-note,
.yb-product-inquiry .yb-pi-message-meta {
    margin:
        6px
        0
        0 !important;

    padding: 0 !important;

    color: #716d65 !important;

    font-size: 9.5px !important;
    line-height: 1.4 !important;
}


/* ---------------------------------------------------------
   5. 附件和提交区域
--------------------------------------------------------- */

.yb-product-inquiry .yb-pi-bottom,
.yb-product-inquiry .yb-pi-cf7__bottom {
    width: 100%;

    margin:
        14px
        0
        0 !important;

    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto !important;

    gap: 15px !important;

    align-items: end !important;
}


/* 防止自动 p 标签破坏底部 Grid */

.yb-product-inquiry .yb-pi-bottom > p,
.yb-product-inquiry .yb-pi-cf7__bottom > p {
    display: contents !important;
}


.yb-product-inquiry .yb-pi-file {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
}


/* 文件输入框 */

.yb-product-inquiry input[type="file"].yb-pi-file-control {
    width: 100% !important;

    min-height: 44px !important;

    margin: 0 !important;

    padding:
        5px
        7px !important;

    border:
        1px solid
        rgba(31, 29, 24, 0.14) !important;

    border-radius: 10px !important;

    background: #fffdf9 !important;
}


.yb-product-inquiry .yb-pi-file-note {
    margin:
        5px
        0
        0 !important;

    padding: 0 !important;

    display: block !important;

    color: #716d65 !important;

    font-size: 9px !important;
    line-height: 1.35 !important;
}


/* 提交区域 */

.yb-product-inquiry .yb-pi-submit-area {
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;

    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
}


/* 提交按钮 */

.yb-product-inquiry input.yb-pi-submit {
    width: auto !important;

    min-width: 195px !important;
    height: 46px !important;

    margin: 0 !important;

    padding:
        0
        18px !important;
}


/* 按钮下方说明 */

.yb-product-inquiry .yb-pi-submit-area small,
.yb-product-inquiry .yb-pi-submit-note {
    margin:
        6px
        0
        0 !important;

    padding: 0 !important;

    color: #716d65 !important;

    font-size: 9px !important;
    line-height: 1.35 !important;
}


/* ---------------------------------------------------------
   6. 隐私条款
--------------------------------------------------------- */

.yb-product-inquiry .yb-pi-consent {
    width: 100%;

    margin:
        14px
        0
        0 !important;

    padding:
        12px
        0
        0 !important;

    border-top:
        1px solid
        rgba(31, 29, 24, 0.09) !important;

    font-size: 9.5px !important;
    line-height: 1.45 !important;
}


.yb-product-inquiry .yb-pi-consent p {
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   7. 成功与错误消息
--------------------------------------------------------- */

.yb-product-inquiry .wpcf7-response-output {
    margin:
        14px
        0
        0 !important;

    padding:
        11px
        13px !important;
}


/* ---------------------------------------------------------
   8. 解决左侧被异常拉得过长
--------------------------------------------------------- */

.yb-product-inquiry__inner {
    align-items: stretch !important;
}


.yb-product-inquiry__intro {
    min-height: 610px !important;
}


/* =========================================================
   关键修复：
   821px以上仍然保持字段两列
   覆盖原代码 max-width:1120px 的单列规则
========================================================= */

@media (min-width: 821px) {

    .yb-product-inquiry .yb-pi-grid,
    .yb-product-inquiry .yb-pi-cf7__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;
    }


    .yb-product-inquiry .yb-pi-bottom,
    .yb-product-inquiry .yb-pi-cf7__bottom {
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;
    }


    .yb-product-inquiry .yb-pi-submit-area {
        align-items: flex-end !important;
    }


    .yb-product-inquiry input.yb-pi-submit {
        width: auto !important;
        min-width: 195px !important;
    }

}


/* =========================================================
   820px以下才改为上下布局
========================================================= */

@media (max-width: 820px) {

    .yb-product-inquiry__inner {
        grid-template-columns:
            1fr !important;

        gap: 15px !important;
    }


    .yb-product-inquiry__intro {
        min-height: auto !important;
    }


    .yb-product-inquiry .yb-pi-grid,
    .yb-product-inquiry .yb-pi-cf7__grid {
        grid-template-columns:
            1fr !important;
    }


    .yb-product-inquiry .yb-pi-bottom,
    .yb-product-inquiry .yb-pi-cf7__bottom {
        grid-template-columns:
            1fr !important;
    }


    .yb-product-inquiry .yb-pi-submit-area {
        align-items: stretch !important;
    }


    .yb-product-inquiry input.yb-pi-submit {
        width: 100% !important;
        min-width: 0 !important;
    }


    .yb-product-inquiry__form-card {
        padding:
            28px
            22px
            27px !important;
    }

}





/* =========================================================
   PRODUCT INQUIRY — REDUCE VERTICAL SPACE
========================================================= */

.yb-product-inquiry {
    min-height: 0 !important;

    padding:
        24px
        16px
        28px !important;
}


.yb-product-inquiry__inner {
    margin:
        0
        auto !important;

    padding:
        0 !important;
}


/* 清除 HTML Widget 自身可能产生的额外间距 */

.yb-product-inquiry-section,
.yb-product-inquiry-section > .e-con-inner,
.yb-product-inquiry-section .elementor-widget-html,
.yb-product-inquiry-section
.elementor-widget-html
>
.elementor-widget-container {
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;
}


/* 中等屏幕 */

@media (max-width: 1120px) {

    .yb-product-inquiry {
        padding:
            22px
            16px
            25px !important;
    }

}


/* 手机端仍保留适当呼吸空间 */

@media (max-width: 767px) {

    .yb-product-inquiry {
        padding:
            18px
            12px
            22px !important;
    }

}



 /* =========================================================
   MESSAGE 上方间距——精确修复
========================================================= */

/*
   直接在上一组两列字段底部增加空间：
   Country / Market、Inquiry Type
   ↓
   Message / Requirements
*/
.yb-product-inquiry .yb-pi-grid,
.yb-product-inquiry .yb-pi-cf7__grid {
    padding-bottom: 15px !important;
}


/*
   清除 Message 容器自身可能产生的下移或间距叠加
*/
.yb-product-inquiry .yb-pi-field--full,
.yb-product-inquiry .yb-pi-field--message {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/*
   只控制 Message 标题与文本框之间的距离
*/
.yb-product-inquiry
.yb-pi-field--message
.yb-pi-label,
.yb-product-inquiry
.yb-pi-field--full
.yb-pi-label {
    margin-top: 0 !important;
    margin-bottom: 7px !important;
}





/* ==========================================================================
   APPLE GRAPHITE PRODUCT INQUIRY — FINAL OVERRIDES

   Purpose:
   - preserve the existing Contact Form 7 shortcode, validation and JavaScript;
   - replace the beige/gold visual language with cool grey, white, graphite
     and restrained Yubeen red;
   - create a calmer, more premium form layout;
   - maintain all existing field names and form behaviour.
   ========================================================================== */


/* ==========================================================================
   01. SECTION TOKENS AND BACKGROUND
   ========================================================================== */

.yb-product-inquiry {
    --yb-pi-page-bg: #f5f5f7;
    --yb-pi-card-bg: #ffffff;
    --yb-pi-input-bg: #f8f8fa;

    --yb-pi-ink: #1d1d1f;
    --yb-pi-muted: #6e6e73;
    --yb-pi-light-muted: #98989f;

    --yb-pi-gold: #e31e24;
    --yb-pi-gold-dark: #c81820;
    --yb-pi-gold-light: #f5f5f7;

    --yb-pi-green: #2f6f4e;
    --yb-pi-red: #c71920;

    --yb-pi-line:
        rgba(
            29,
            29,
            31,
            0.11
        );

    padding:
        clamp(
            56px,
            5vw,
            74px
        )
        22px
        clamp(
            62px,
            5.5vw,
            82px
        ) !important;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(255, 255, 255, 0.98),
            transparent 34%
        ),
        radial-gradient(
            circle at 7% 88%,
            rgba(227, 30, 36, 0.035),
            transparent 31%
        ),
        linear-gradient(
            180deg,
            #f8f8fa 0%,
            #f3f4f6 100%
        ) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;
}


/* Decorative rings are retained but made neutral and quieter. */
.yb-product-inquiry__ring {
    border-color:
        rgba(29, 29, 31, 0.055) !important;
}


.yb-product-inquiry__ring.ring-one {
    top: -180px !important;
    right: -155px !important;
}


.yb-product-inquiry__ring.ring-two {
    top: -102px !important;
    right: -76px !important;
}


.yb-product-inquiry__ring.ring-three {
    bottom: -210px !important;
    left: -155px !important;

    border-color:
        rgba(227, 30, 36, 0.045) !important;
}


/* ==========================================================================
   02. MAIN LAYOUT
   ========================================================================== */

.yb-product-inquiry__inner {
    width:
        min(
            1480px,
            100%
        ) !important;

    grid-template-columns:
        minmax(
            330px,
            0.72fr
        )
        minmax(
            0,
            1.38fr
        ) !important;

    gap:
        clamp(
            18px,
            1.8vw,
            26px
        ) !important;
}


/* ==========================================================================
   03. GRAPHITE INTRO PANEL
   ========================================================================== */

.yb-product-inquiry__intro {
    min-height: 620px !important;

    padding:
        clamp(
            42px,
            3.6vw,
            54px
        )
        clamp(
            35px,
            3.3vw,
            48px
        )
        clamp(
            36px,
            3vw,
            46px
        ) !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.075) !important;

    border-radius: 28px !important;

    background:
        radial-gradient(
            circle at 90% 92%,
            rgba(227, 30, 36, 0.16),
            transparent 38%
        ),
        radial-gradient(
            circle at 13% 0%,
            rgba(255, 255, 255, 0.055),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #090b0f 0%,
            #10131a 62%,
            #160b0f 100%
        ) !important;

    box-shadow:
        0 26px 70px
        rgba(0, 0, 0, 0.14),
        inset 0 1px 0
        rgba(255, 255, 255, 0.025) !important;
}


.yb-product-inquiry__intro::before,
.yb-product-inquiry__intro::after {
    border-color:
        rgba(255, 255, 255, 0.055) !important;
}


.yb-product-inquiry__intro-grid {
    opacity: 0.10 !important;

    background-size:
        48px
        48px !important;
}


.yb-product-inquiry__eyebrow {
    color:
        rgba(255, 255, 255, 0.60) !important;

    font-size: 8px !important;
    letter-spacing: 0.15em !important;
}


.yb-product-inquiry__eyebrow-line {
    width: 38px !important;

    background:
        linear-gradient(
            90deg,
            var(--yb-pi-gold),
            transparent
        ) !important;
}


.yb-product-inquiry__intro-copy {
    margin-top: 31px !important;
}


.yb-product-inquiry__model-label {
    color:
        rgba(255, 255, 255, 0.38) !important;

    font-size: 7.5px !important;
    letter-spacing: 0.14em !important;
}


.yb-product-inquiry__model {
    margin-bottom: 25px !important;

    color:
        #d2d2d7 !important;

    font-family:
        inherit !important;

    font-size:
        clamp(
            15px,
            1.15vw,
            19px
        ) !important;

    font-weight: 650 !important;
    letter-spacing: -0.02em !important;
}


.yb-product-inquiry__intro-copy h2 {
    max-width: 430px !important;

    font-size:
        clamp(
            39px,
            3.25vw,
            58px
        ) !important;

    line-height: 0.98 !important;
    letter-spacing: -0.06em !important;
}


.yb-product-inquiry__intro-copy h2 em {
    margin-top: 8px !important;

    color:
        #a1a1a6 !important;
}


.yb-product-inquiry__intro-copy p {
    max-width: 410px !important;

    margin-top: 23px !important;

    color:
        rgba(255, 255, 255, 0.62) !important;

    font-size:
        clamp(
            11.5px,
            0.82vw,
            13px
        ) !important;

    line-height: 1.62 !important;
}


/* ==========================================================================
   04. BENEFIT ROWS
   ========================================================================== */

.yb-product-inquiry__benefits {
    padding-top: 38px !important;

    gap: 16px !important;
}


.yb-product-inquiry__benefit {
    grid-template-columns:
        38px
        minmax(
            0,
            1fr
        ) !important;

    gap: 13px !important;
}


.yb-product-inquiry__benefit-icon {
    width: 38px !important;
    height: 38px !important;

    border-color:
        rgba(227, 30, 36, 0.24) !important;

    background:
        rgba(227, 30, 36, 0.07) !important;

    color:
        #ff6a70 !important;
}


.yb-product-inquiry__benefit strong {
    font-size: 11.5px !important;
}


.yb-product-inquiry__benefit small {
    color:
        rgba(255, 255, 255, 0.48) !important;

    font-size: 9.5px !important;
}


.yb-product-inquiry__optic-mark {
    opacity: 0.13 !important;

    border-color:
        #ff6a70 !important;
}


.yb-product-inquiry__optic-mark::before,
.yb-product-inquiry__optic-mark::after,
.yb-product-inquiry__optic-mark i {
    background:
        #ff6a70 !important;
}


.yb-product-inquiry__optic-mark span {
    border-color:
        #ff6a70 !important;
}


/* ==========================================================================
   05. WHITE FORM CARD
   ========================================================================== */

.yb-product-inquiry__form-card {
    padding:
        clamp(
            35px,
            3vw,
            45px
        )
        clamp(
            34px,
            3.1vw,
            47px
        )
        clamp(
            32px,
            2.8vw,
            42px
        ) !important;

    border:
        1px solid
        rgba(29, 29, 31, 0.09) !important;

    border-radius: 28px !important;

    background:
        rgba(255, 255, 255, 0.92) !important;

    box-shadow:
        0 24px 64px
        rgba(0, 0, 0, 0.075),
        inset 0 1px 0
        rgba(255, 255, 255, 0.80) !important;

    backdrop-filter:
        blur(20px)
        saturate(110%) !important;

    -webkit-backdrop-filter:
        blur(20px)
        saturate(110%) !important;
}


/* ==========================================================================
   06. FORM HEADING
   ========================================================================== */

.yb-product-inquiry .yb-pi-cf7__heading {
    margin-bottom: 25px !important;

    grid-template-columns:
        46px
        minmax(
            0,
            1fr
        ) !important;

    gap: 14px !important;
}


.yb-product-inquiry .yb-pi-cf7__shield {
    width: 46px !important;
    height: 46px !important;

    border-color:
        rgba(227, 30, 36, 0.22) !important;

    background:
        rgba(227, 30, 36, 0.065) !important;

    color:
        var(--yb-pi-gold-dark) !important;
}


.yb-product-inquiry .yb-pi-cf7__heading h3 {
    color:
        #1d1d1f !important;

    font-size:
        clamp(
            20px,
            1.45vw,
            24px
        ) !important;
}


.yb-product-inquiry .yb-pi-cf7__heading p {
    color:
        #6e6e73 !important;

    font-size: 12px !important;
}


/* ==========================================================================
   07. FORM GRID AND LABELS
   ========================================================================== */

.yb-product-inquiry .yb-pi-cf7__grid {
    gap:
        16px
        14px !important;
}


.yb-product-inquiry .yb-pi-label {
    margin-bottom: 7px !important;

    color:
        #1d1d1f !important;

    font-size: 11.5px !important;
}


.yb-product-inquiry .yb-pi-label em {
    color:
        var(--yb-pi-red) !important;
}


/* ==========================================================================
   08. INPUTS
   ========================================================================== */

.yb-product-inquiry .yb-pi-control {
    border-color:
        rgba(29, 29, 31, 0.12) !important;

    border-radius: 12px !important;

    background:
        #f8f8fa !important;

    color:
        #1d1d1f !important;

    font-size: 12.5px !important;
}


.yb-product-inquiry input.yb-pi-control,
.yb-product-inquiry select.yb-pi-control {
    height: 49px !important;
}


.yb-product-inquiry textarea.yb-pi-control {
    min-height: 132px !important;
}


.yb-product-inquiry .yb-pi-control::placeholder {
    color:
        rgba(110, 110, 115, 0.58) !important;
}


.yb-product-inquiry .yb-pi-control:hover {
    border-color:
        rgba(29, 29, 31, 0.24) !important;
}


.yb-product-inquiry .yb-pi-control:focus {
    border-color:
        rgba(227, 30, 36, 0.70) !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.075) !important;
}


/* ==========================================================================
   09. FILE INPUT
   ========================================================================== */

.yb-product-inquiry .yb-pi-file-box {
    border-color:
        rgba(29, 29, 31, 0.12) !important;

    border-radius: 12px !important;

    background:
        #f8f8fa !important;
}


.yb-product-inquiry
.yb-pi-file-control::file-selector-button {
    border-color:
        rgba(227, 30, 36, 0.20) !important;

    border-radius: 8px !important;

    background:
        rgba(227, 30, 36, 0.065) !important;

    color:
        var(--yb-pi-gold-dark) !important;
}


.yb-product-inquiry
.yb-pi-file-control:hover::file-selector-button {
    border-color:
        var(--yb-pi-gold) !important;

    background:
        var(--yb-pi-gold) !important;

    color:
        #ffffff !important;
}


/* ==========================================================================
   10. SUBMIT BUTTON
   ========================================================================== */

.yb-product-inquiry input.yb-pi-submit {
    min-width: 218px !important;

    height: 49px !important;

    border-radius: 12px !important;

    background:
        linear-gradient(
            135deg,
            #ee2a32,
            #c9161e
        ) !important;

    box-shadow:
        0 13px 28px
        rgba(227, 30, 36, 0.19) !important;
}


.yb-product-inquiry input.yb-pi-submit:hover,
.yb-product-inquiry input.yb-pi-submit:focus-visible {
    box-shadow:
        0 17px 34px
        rgba(227, 30, 36, 0.25) !important;
}


/* ==========================================================================
   11. CONSENT AND FEEDBACK
   ========================================================================== */

.yb-product-inquiry .yb-pi-consent {
    border-top-color:
        rgba(29, 29, 31, 0.08) !important;

    color:
        #7b7b81 !important;
}


.yb-product-inquiry .yb-pi-consent input {
    accent-color:
        var(--yb-pi-gold-dark) !important;
}


.yb-product-inquiry .yb-pi-consent a {
    color:
        var(--yb-pi-gold-dark) !important;
}


.yb-product-inquiry .wpcf7-spinner {
    background-color:
        var(--yb-pi-gold-dark) !important;
}


/* ==========================================================================
   12. RESPONSIVE
   ========================================================================== */

@media (max-width: 1080px) {

    .yb-product-inquiry__inner {
        grid-template-columns:
            minmax(
                300px,
                0.70fr
            )
            minmax(
                0,
                1.30fr
            ) !important;
    }


    .yb-product-inquiry__intro {
        padding:
            40px
            34px
            36px !important;
    }


    .yb-product-inquiry__form-card {
        padding:
            34px
            32px !important;
    }

}


@media (max-width: 860px) {

    .yb-product-inquiry {
        padding:
            46px
            16px
            58px !important;
    }


    .yb-product-inquiry__inner {
        grid-template-columns:
            1fr !important;
    }


    .yb-product-inquiry__intro {
        min-height: 520px !important;
    }


    .yb-product-inquiry__benefits {
        margin-top: 34px !important;
        padding-top: 0 !important;
    }

}


@media (max-width: 620px) {

    .yb-product-inquiry {
        padding:
            38px
            10px
            48px !important;
    }


    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        border-radius: 22px !important;
    }


    .yb-product-inquiry__intro {
        min-height: 0 !important;

        padding:
            34px
            25px
            30px !important;
    }


    .yb-product-inquiry__form-card {
        padding:
            28px
            20px
            25px !important;
    }


    .yb-product-inquiry .yb-pi-cf7__grid {
        grid-template-columns:
            1fr !important;
    }


    .yb-product-inquiry .yb-pi-cf7__bottom {
        grid-template-columns:
            1fr !important;
    }


    .yb-product-inquiry .yb-pi-submit-area {
        align-items:
            stretch !important;
    }


    .yb-product-inquiry input.yb-pi-submit {
        width: 100% !important;
        min-width: 0 !important;
    }

}



/* ==========================================================================
   v10.1 COMPACT APPLE GRAPHITE FORM — FINAL AUTHORITATIVE OVERRIDES

   This layer is intentionally placed last so it overrides all earlier
   historical layout patches contained in this complete replacement file.
   ========================================================================== */


/* ==========================================================================
   01. REDUCE THE TOTAL SECTION HEIGHT
   ========================================================================== */

.yb-product-inquiry {
    min-height: 0 !important;

    padding:
        clamp(
            30px,
            2.7vw,
            40px
        )
        18px
        clamp(
            34px,
            3.1vw,
            46px
        ) !important;
}


.yb-product-inquiry__inner {
    width:
        min(
            1420px,
            100%
        ) !important;

    grid-template-columns:
        minmax(
            360px,
            0.80fr
        )
        minmax(
            0,
            1.30fr
        ) !important;

    gap:
        clamp(
            16px,
            1.5vw,
            22px
        ) !important;

    align-items: stretch !important;
}


/* ==========================================================================
   02. SHORTER AND BETTER-PROPORTIONED INTRO PANEL
   ========================================================================== */

.yb-product-inquiry__intro {
    min-height: 552px !important;

    padding:
        clamp(
            31px,
            2.5vw,
            38px
        )
        clamp(
            29px,
            2.5vw,
            38px
        )
        clamp(
            25px,
            2.2vw,
            33px
        ) !important;

    border-radius: 26px !important;
}


.yb-product-inquiry__intro-copy {
    margin-top: 23px !important;
}


.yb-product-inquiry__model-label {
    margin-bottom: 6px !important;
}


.yb-product-inquiry__model {
    margin-bottom: 17px !important;

    font-size:
        clamp(
            14px,
            1.05vw,
            17px
        ) !important;
}


.yb-product-inquiry__intro-copy h2 {
    max-width: 430px !important;

    font-size:
        clamp(
            36px,
            2.75vw,
            49px
        ) !important;

    line-height: 0.97 !important;
    letter-spacing: -0.055em !important;
}


.yb-product-inquiry__intro-copy h2 em {
    margin-top: 5px !important;
}


.yb-product-inquiry__intro-copy p {
    max-width: 405px !important;

    margin-top: 16px !important;

    font-size:
        clamp(
            10.8px,
            0.75vw,
            12px
        ) !important;

    line-height: 1.54 !important;
}


/* ==========================================================================
   03. COMPACT BENEFIT AREA
   ========================================================================== */

.yb-product-inquiry__benefits {
    padding-top: 23px !important;

    gap: 11px !important;
}


.yb-product-inquiry__benefit {
    grid-template-columns:
        34px
        minmax(
            0,
            1fr
        ) !important;

    gap: 11px !important;
}


.yb-product-inquiry__benefit-icon {
    width: 34px !important;
    height: 34px !important;
}


.yb-product-inquiry__benefit-icon svg {
    width: 16px !important;
    height: 16px !important;
}


.yb-product-inquiry__benefit strong {
    margin-bottom: 2px !important;

    font-size: 10.8px !important;
}


.yb-product-inquiry__benefit small {
    font-size: 8.8px !important;
    line-height: 1.34 !important;
}


.yb-product-inquiry__optic-mark {
    right: 23px !important;
    bottom: 21px !important;

    width: 41px !important;
    height: 41px !important;
}


/* ==========================================================================
   04. COMPACT FORM CARD
   ========================================================================== */

.yb-product-inquiry__form-card {
    min-height: 552px !important;

    padding:
        clamp(
            25px,
            2.15vw,
            31px
        )
        clamp(
            27px,
            2.45vw,
            35px
        )
        clamp(
            22px,
            2vw,
            29px
        ) !important;

    border-radius: 26px !important;
}


/* ==========================================================================
   05. COMPACT FORM HEADING
   ========================================================================== */

.yb-product-inquiry .yb-pi-cf7__heading {
    margin-bottom: 17px !important;

    grid-template-columns:
        40px
        minmax(
            0,
            1fr
        ) !important;

    gap: 12px !important;
}


.yb-product-inquiry .yb-pi-cf7__shield {
    width: 40px !important;
    height: 40px !important;
}


.yb-product-inquiry .yb-pi-cf7__shield svg {
    width: 19px !important;
    height: 19px !important;
}


.yb-product-inquiry .yb-pi-cf7__heading h3 {
    margin-bottom: 3px !important;

    font-size:
        clamp(
            18px,
            1.25vw,
            21px
        ) !important;
}


.yb-product-inquiry .yb-pi-cf7__heading p {
    font-size: 10.8px !important;
    line-height: 1.36 !important;
}


/* ==========================================================================
   06. REDUCE FIELD HEIGHTS AND GAPS
   ========================================================================== */

.yb-product-inquiry .yb-pi-grid,
.yb-product-inquiry .yb-pi-cf7__grid {
    gap:
        11px
        12px !important;

    padding-bottom: 11px !important;
}


.yb-product-inquiry .yb-pi-label {
    margin-bottom: 5px !important;

    font-size: 10.5px !important;
}


.yb-product-inquiry input.yb-pi-control,
.yb-product-inquiry select.yb-pi-control {
    height: 43px !important;

    padding:
        0
        12px !important;
}


.yb-product-inquiry .yb-pi-control {
    border-radius: 10px !important;

    font-size: 11.5px !important;
}


.yb-product-inquiry .yb-pi-field--full,
.yb-product-inquiry .yb-pi-field--message {
    margin-top: 0 !important;
}


.yb-product-inquiry
.yb-pi-field--message
.yb-pi-label,
.yb-product-inquiry
.yb-pi-field--full
.yb-pi-label {
    margin-bottom: 5px !important;
}


.yb-product-inquiry textarea.yb-pi-control {
    min-height: 102px !important;
    height: 102px !important;

    padding:
        11px
        12px !important;

    line-height: 1.46 !important;
}


.yb-product-inquiry .yb-pi-field-note,
.yb-product-inquiry .yb-pi-message-meta {
    margin-top: 5px !important;

    font-size: 8.8px !important;
}


/* ==========================================================================
   07. COMPACT ATTACHMENT AND SUBMIT AREA
   ========================================================================== */

.yb-product-inquiry .yb-pi-bottom,
.yb-product-inquiry .yb-pi-cf7__bottom {
    margin-top: 11px !important;

    gap: 12px !important;
}


.yb-product-inquiry input[type="file"].yb-pi-file-control {
    min-height: 41px !important;

    padding:
        4px
        6px !important;

    border-radius: 10px !important;
}


.yb-product-inquiry
.yb-pi-file-control::file-selector-button {
    height: 31px !important;

    margin-right: 7px !important;

    padding:
        0
        11px !important;

    border-radius: 7px !important;

    font-size: 9px !important;
}


.yb-product-inquiry .yb-pi-file-note {
    margin-top: 4px !important;

    font-size: 8.3px !important;
}


.yb-product-inquiry input.yb-pi-submit {
    min-width: 196px !important;
    height: 43px !important;

    border-radius: 10px !important;

    font-size: 10.5px !important;
}


.yb-product-inquiry .yb-pi-submit-area small,
.yb-product-inquiry .yb-pi-submit-note {
    margin-top: 4px !important;

    font-size: 8.2px !important;
}


/* ==========================================================================
   08. COMPACT CONSENT AREA
   ========================================================================== */

.yb-product-inquiry .yb-pi-consent {
    margin-top: 10px !important;

    padding-top: 9px !important;

    font-size: 8.8px !important;
    line-height: 1.38 !important;
}


.yb-product-inquiry .wpcf7-response-output {
    margin-top: 10px !important;

    padding:
        9px
        11px !important;
}


/* ==========================================================================
   09. MEDIUM DESKTOP
   ========================================================================== */

@media (max-width: 1180px) {

    .yb-product-inquiry {
        padding:
            28px
            16px
            36px !important;
    }


    .yb-product-inquiry__inner {
        grid-template-columns:
            minmax(
                330px,
                0.76fr
            )
            minmax(
                0,
                1.24fr
            ) !important;
    }


    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        min-height: 540px !important;
    }


    .yb-product-inquiry__intro {
        padding:
            30px
            29px
            26px !important;
    }


    .yb-product-inquiry__form-card {
        padding:
            24px
            27px
            22px !important;
    }


    .yb-product-inquiry__intro-copy h2 {
        font-size:
            clamp(
                34px,
                3.4vw,
                44px
            ) !important;
    }

}


/* ==========================================================================
   10. STACKED TABLET
   ========================================================================== */

@media (max-width: 860px) {

    .yb-product-inquiry {
        padding:
            30px
            14px
            38px !important;
    }


    .yb-product-inquiry__inner {
        grid-template-columns:
            1fr !important;

        gap: 15px !important;
    }


    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        min-height: 0 !important;
    }


    .yb-product-inquiry__intro {
        padding:
            34px
            31px
            30px !important;
    }


    .yb-product-inquiry__benefits {
        margin-top: 28px !important;
        padding-top: 0 !important;
    }


    .yb-product-inquiry__form-card {
        padding:
            27px
            25px
            24px !important;
    }

}


/* ==========================================================================
   11. MOBILE
   ========================================================================== */

@media (max-width: 620px) {

    .yb-product-inquiry {
        padding:
            24px
            9px
            31px !important;
    }


    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        border-radius: 21px !important;
    }


    .yb-product-inquiry__intro {
        padding:
            30px
            22px
            27px !important;
    }


    .yb-product-inquiry__form-card {
        padding:
            24px
            17px
            22px !important;
    }


    .yb-product-inquiry .yb-pi-cf7__heading {
        margin-bottom: 16px !important;
    }


    .yb-product-inquiry textarea.yb-pi-control {
        min-height: 112px !important;
        height: 112px !important;
    }


    .yb-product-inquiry input.yb-pi-submit {
        width: 100% !important;
        min-width: 0 !important;
    }

}




/* ==========================================================================
   v10.2 READABLE COMPACT FORM — FINAL AUTHORITATIVE OVERRIDES

   Purpose:
   The v10.1 layout successfully reduced the total section height, but several
   form labels, field values, helper notes and left-panel details became too
   small on a large desktop monitor.

   This final layer:
   - keeps the compact section height;
   - increases the form-card width and usable reading area;
   - increases labels, controls, placeholders and helper text;
   - improves contrast without making the page visually heavy;
   - keeps the original Contact Form 7 form, validation and redirect workflow.
   ========================================================================== */


/* ==========================================================================
   01. DESKTOP WIDTH AND BALANCE
   ========================================================================== */

.yb-product-inquiry {
    padding:
        clamp(
            32px,
            2.8vw,
            42px
        )
        20px
        clamp(
            36px,
            3.1vw,
            48px
        ) !important;
}


.yb-product-inquiry__inner {
    width:
        min(
            1480px,
            100%
        ) !important;

    grid-template-columns:
        minmax(
            380px,
            0.82fr
        )
        minmax(
            0,
            1.38fr
        ) !important;

    gap:
        clamp(
            18px,
            1.7vw,
            26px
        ) !important;
}


/* ==========================================================================
   02. LEFT INTRODUCTION PANEL — BETTER READABILITY
   ========================================================================== */

.yb-product-inquiry__intro {
    min-height: 566px !important;

    padding:
        clamp(
            34px,
            2.7vw,
            42px
        )
        clamp(
            32px,
            2.7vw,
            42px
        )
        clamp(
            28px,
            2.3vw,
            35px
        ) !important;
}


.yb-product-inquiry__eyebrow,
.yb-product-inquiry__section-label,
.yb-product-inquiry__model-label {
    font-size: 8.5px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.12em !important;
}


.yb-product-inquiry__model {
    font-size:
        clamp(
            15px,
            1.05vw,
            18px
        ) !important;

    line-height: 1.25 !important;
}


.yb-product-inquiry__intro-copy h2 {
    max-width: 455px !important;

    font-size:
        clamp(
            38px,
            2.9vw,
            51px
        ) !important;
}


.yb-product-inquiry__intro-copy p {
    max-width: 430px !important;

    font-size:
        clamp(
            12px,
            0.82vw,
            13.5px
        ) !important;

    line-height: 1.58 !important;
}


.yb-product-inquiry__benefits {
    gap: 13px !important;
}


.yb-product-inquiry__benefit {
    grid-template-columns:
        36px
        minmax(
            0,
            1fr
        ) !important;

    gap: 12px !important;
}


.yb-product-inquiry__benefit-icon {
    width: 36px !important;
    height: 36px !important;
}


.yb-product-inquiry__benefit strong {
    font-size: 12px !important;
    line-height: 1.28 !important;
}


.yb-product-inquiry__benefit small {
    color:
        rgba(255, 255, 255, 0.56) !important;

    font-size: 10px !important;
    line-height: 1.42 !important;
}


/* ==========================================================================
   03. FORM CARD — STRONGER VISUAL SEPARATION
   ========================================================================== */

.yb-product-inquiry__form-card {
    min-height: 566px !important;

    padding:
        clamp(
            28px,
            2.3vw,
            34px
        )
        clamp(
            31px,
            2.65vw,
            39px
        )
        clamp(
            25px,
            2.1vw,
            31px
        ) !important;

    border:
        1px solid
        rgba(29, 29, 31, 0.10) !important;

    background:
        rgba(255, 255, 255, 0.94) !important;

    box-shadow:
        0 22px 55px
        rgba(18, 20, 24, 0.075),
        inset 0 1px 0
        rgba(255, 255, 255, 0.88) !important;
}


/* ==========================================================================
   04. FORM HEADING
   ========================================================================== */

.yb-product-inquiry .yb-pi-cf7__heading {
    margin-bottom: 19px !important;

    grid-template-columns:
        44px
        minmax(
            0,
            1fr
        ) !important;

    gap: 13px !important;
}


.yb-product-inquiry .yb-pi-cf7__shield {
    width: 44px !important;
    height: 44px !important;
}


.yb-product-inquiry .yb-pi-cf7__heading h3 {
    margin-bottom: 4px !important;

    font-size:
        clamp(
            21px,
            1.4vw,
            24px
        ) !important;

    line-height: 1.18 !important;
}


.yb-product-inquiry .yb-pi-cf7__heading p {
    color:
        #626267 !important;

    font-size: 12px !important;
    line-height: 1.46 !important;
}


/* ==========================================================================
   05. LABELS AND REQUIRED MARKS
   ========================================================================== */

.yb-product-inquiry .yb-pi-label {
    margin-bottom: 6px !important;

    color:
        #2f2f33 !important;

    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
}


.yb-product-inquiry .yb-pi-required,
.yb-product-inquiry .required {
    font-size: 12px !important;
}


/* ==========================================================================
   06. INPUTS, SELECTS AND PLACEHOLDERS
   ========================================================================== */

.yb-product-inquiry input.yb-pi-control,
.yb-product-inquiry select.yb-pi-control {
    height: 48px !important;

    padding:
        0
        14px !important;
}


.yb-product-inquiry .yb-pi-control {
    border:
        1px solid
        rgba(29, 29, 31, 0.14) !important;

    border-radius: 11px !important;

    background:
        #f7f7f9 !important;

    color:
        #1d1d1f !important;

    font-size: 13.5px !important;
    line-height: 1.4 !important;
}


.yb-product-inquiry .yb-pi-control::placeholder {
    color:
        #9a9aa0 !important;

    opacity: 1 !important;

    font-size: 13px !important;
}


.yb-product-inquiry select.yb-pi-control {
    color:
        #2f2f33 !important;
}


.yb-product-inquiry .yb-pi-control:hover {
    border-color:
        rgba(29, 29, 31, 0.22) !important;

    background:
        #fafafa !important;
}


.yb-product-inquiry .yb-pi-control:focus {
    border-color:
        rgba(227, 30, 36, 0.72) !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 4px
        rgba(227, 30, 36, 0.08) !important;
}


/* ==========================================================================
   07. GRID SPACING
   ========================================================================== */

.yb-product-inquiry .yb-pi-grid,
.yb-product-inquiry .yb-pi-cf7__grid {
    gap:
        13px
        14px !important;

    padding-bottom: 13px !important;
}


/* ==========================================================================
   08. MESSAGE FIELD
   ========================================================================== */

.yb-product-inquiry textarea.yb-pi-control {
    min-height: 116px !important;
    height: 116px !important;

    padding:
        13px
        14px !important;

    font-size: 13.5px !important;
    line-height: 1.52 !important;
}


.yb-product-inquiry .yb-pi-field-note,
.yb-product-inquiry .yb-pi-message-meta {
    margin-top: 6px !important;

    color:
        #8a8a90 !important;

    font-size: 10px !important;
    line-height: 1.4 !important;
}


/* ==========================================================================
   09. ATTACHMENT AREA
   ========================================================================== */

.yb-product-inquiry .yb-pi-bottom,
.yb-product-inquiry .yb-pi-cf7__bottom {
    margin-top: 13px !important;

    gap: 14px !important;
}


.yb-product-inquiry input[type="file"].yb-pi-file-control {
    min-height: 45px !important;

    padding:
        5px
        7px !important;

    color:
        #67676c !important;

    font-size: 11.5px !important;
}


.yb-product-inquiry
.yb-pi-file-control::file-selector-button {
    height: 34px !important;

    margin-right: 9px !important;

    padding:
        0
        13px !important;

    font-size: 10px !important;
    font-weight: 650 !important;
}


.yb-product-inquiry .yb-pi-file-note {
    margin-top: 5px !important;

    color:
        #929298 !important;

    font-size: 9.5px !important;
    line-height: 1.4 !important;
}


/* ==========================================================================
   10. SUBMIT AREA
   ========================================================================== */

.yb-product-inquiry input.yb-pi-submit {
    min-width: 210px !important;
    height: 46px !important;

    padding:
        0
        20px !important;

    border-radius: 11px !important;

    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}


.yb-product-inquiry .yb-pi-submit-area small,
.yb-product-inquiry .yb-pi-submit-note {
    margin-top: 5px !important;

    color:
        #8c8c92 !important;

    font-size: 9px !important;
    line-height: 1.35 !important;
}


/* ==========================================================================
   11. CONSENT AND PRIVACY TEXT
   ========================================================================== */

.yb-product-inquiry .yb-pi-consent {
    margin-top: 12px !important;

    padding-top: 11px !important;

    color:
        #77777d !important;

    font-size: 10.5px !important;
    line-height: 1.5 !important;
}


.yb-product-inquiry .yb-pi-consent a {
    font-size: inherit !important;
    font-weight: 650 !important;
}


/* Make the checkbox easier to see and operate. */
.yb-product-inquiry .yb-pi-consent input[type="checkbox"],
.yb-product-inquiry input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;

    margin-right: 7px !important;
}


/* ==========================================================================
   12. CONTACT FORM 7 MESSAGES
   ========================================================================== */

.yb-product-inquiry .wpcf7-not-valid-tip {
    margin-top: 4px !important;

    font-size: 10.5px !important;
    line-height: 1.35 !important;
}


.yb-product-inquiry .wpcf7-response-output {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* ==========================================================================
   13. MEDIUM DESKTOP
   ========================================================================== */

@media (max-width: 1180px) {

    .yb-product-inquiry__inner {
        grid-template-columns:
            minmax(
                345px,
                0.78fr
            )
            minmax(
                0,
                1.22fr
            ) !important;
    }


    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        min-height: 558px !important;
    }


    .yb-product-inquiry__intro-copy h2 {
        font-size:
            clamp(
                36px,
                3.5vw,
                46px
            ) !important;
    }


    .yb-product-inquiry .yb-pi-label {
        font-size: 11.5px !important;
    }


    .yb-product-inquiry .yb-pi-control {
        font-size: 13px !important;
    }

}


/* ==========================================================================
   14. TABLET
   ========================================================================== */

@media (max-width: 860px) {

    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        min-height: 0 !important;
    }


    .yb-product-inquiry__intro-copy p {
        font-size: 13px !important;
    }


    .yb-product-inquiry__benefit strong {
        font-size: 12px !important;
    }


    .yb-product-inquiry__benefit small {
        font-size: 10.5px !important;
    }

}


/* ==========================================================================
   15. MOBILE
   ========================================================================== */

@media (max-width: 620px) {

    .yb-product-inquiry__form-card {
        padding:
            25px
            18px
            23px !important;
    }


    .yb-product-inquiry .yb-pi-grid,
    .yb-product-inquiry .yb-pi-cf7__grid {
        gap: 12px !important;
    }


    .yb-product-inquiry .yb-pi-label {
        font-size: 12px !important;
    }


    .yb-product-inquiry .yb-pi-control,
    .yb-product-inquiry .yb-pi-control::placeholder {
        font-size: 14px !important;
    }


    .yb-product-inquiry input.yb-pi-control,
    .yb-product-inquiry select.yb-pi-control {
        height: 49px !important;
    }


    .yb-product-inquiry textarea.yb-pi-control {
        min-height: 126px !important;
        height: 126px !important;
    }


    .yb-product-inquiry .yb-pi-consent {
        font-size: 10.5px !important;
    }

}




/* ==========================================================================
   v10.3 FINAL AUTHORITATIVE RESPONSIVE LAYER
   Problem solved:
   Earlier iterations contain several desktop and compact overrides. On narrow
   screens those rules can compete and leave the introduction panel and form
   card in two squeezed columns. This final layer is intentionally placed last
   and forces a predictable full-width stack.

   Desktop above 960 px is unchanged.
   ========================================================================== */

@media (max-width: 960px) {

    .yb-product-inquiry {
        width: 100% !important;
        max-width: 100% !important;
        padding:
            30px
            14px
            38px !important;

        overflow: hidden !important;
    }

    .yb-product-inquiry__inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: none !important;
        gap: 15px !important;

        align-items: stretch !important;
    }

    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;

        align-self: stretch !important;
    }

    .yb-product-inquiry__intro {
        padding:
            34px
            31px
            30px !important;
    }

    .yb-product-inquiry__benefits {
        margin-top: 28px !important;
        padding-top: 0 !important;
    }

    .yb-product-inquiry__form-card {
        padding:
            27px
            25px
            24px !important;
    }

    /*
       Contact Form 7 and themes often add wrappers with their own minimum
       widths. Reset every important wrapper so no child can force the card
       wider than the phone viewport.
    */
    .yb-product-inquiry__form-host,
    .yb-product-inquiry__form-host .wpcf7,
    .yb-product-inquiry__form-host .wpcf7-form,
    .yb-product-inquiry__form-host form,
    .yb-product-inquiry .yb-pi-grid,
    .yb-product-inquiry .yb-pi-cf7__grid,
    .yb-product-inquiry .yb-pi-bottom,
    .yb-product-inquiry .yb-pi-cf7__bottom,
    .yb-product-inquiry .yb-pi-field,
    .yb-product-inquiry .yb-pi-field--full,
    .yb-product-inquiry .yb-pi-field--message,
    .yb-product-inquiry .yb-pi-submit-area {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .yb-product-inquiry .yb-pi-grid,
    .yb-product-inquiry .yb-pi-cf7__grid,
    .yb-product-inquiry .yb-pi-bottom,
    .yb-product-inquiry .yb-pi-cf7__bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .yb-product-inquiry .yb-pi-submit-area {
        align-items: stretch !important;
    }

    .yb-product-inquiry input.yb-pi-submit {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

@media (max-width: 640px) {

    .yb-product-inquiry {
        padding:
            20px
            10px
            29px !important;
    }

    .yb-product-inquiry__background {
        opacity: 0.62 !important;
    }

    .yb-product-inquiry__ring.ring-one {
        top: -190px !important;
        right: -210px !important;
    }

    .yb-product-inquiry__ring.ring-two {
        top: -120px !important;
        right: -135px !important;
    }

    .yb-product-inquiry__ring.ring-three {
        display: none !important;
    }

    .yb-product-inquiry__inner {
        gap: 13px !important;
    }

    .yb-product-inquiry__intro,
    .yb-product-inquiry__form-card {
        border-radius: 20px !important;
    }

    .yb-product-inquiry__intro {
        padding:
            28px
            21px
            24px !important;
    }

    .yb-product-inquiry__intro-top {
        gap: 10px !important;
    }

    .yb-product-inquiry__eyebrow {
        font-size: 8px !important;
        letter-spacing: 0.15em !important;
    }

    .yb-product-inquiry__eyebrow-line {
        width: 36px !important;
    }

    .yb-product-inquiry__intro-copy {
        margin-top: 24px !important;
    }

    .yb-product-inquiry__model {
        margin-bottom: 20px !important;

        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    .yb-product-inquiry__intro-copy h2 {
        max-width: none !important;

        font-size:
            clamp(
                34px,
                10.8vw,
                44px
            ) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.052em !important;

        overflow-wrap: anywhere !important;
    }

    .yb-product-inquiry__intro-copy p {
        max-width: none !important;
        margin-top: 18px !important;

        font-size: 12px !important;
        line-height: 1.58 !important;
    }

    .yb-product-inquiry__benefits {
        margin-top: 24px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .yb-product-inquiry__benefit {
        grid-template-columns:
            36px
            minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .yb-product-inquiry__benefit strong {
        font-size: 12px !important;
    }

    .yb-product-inquiry__benefit small {
        font-size: 10.5px !important;
        line-height: 1.45 !important;
    }

    .yb-product-inquiry__optic-mark {
        display: none !important;
    }

    .yb-product-inquiry__form-card {
        padding:
            23px
            16px
            21px !important;
    }

    .yb-product-inquiry .yb-pi-cf7__heading,
    .yb-product-inquiry .yb-pi-form__heading {
        width: 100% !important;
        margin:
            0
            0
            17px !important;

        grid-template-columns:
            42px
            minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    .yb-product-inquiry .yb-pi-cf7__shield,
    .yb-product-inquiry .yb-pi-form__icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        flex-basis: 42px !important;
    }

    .yb-product-inquiry .yb-pi-cf7__heading h3,
    .yb-product-inquiry .yb-pi-form__heading h3 {
        margin: 0 0 3px !important;

        font-size: 20px !important;
        line-height: 1.18 !important;

        overflow-wrap: anywhere !important;
    }

    .yb-product-inquiry .yb-pi-cf7__heading p,
    .yb-product-inquiry .yb-pi-form__heading p {
        font-size: 11px !important;
        line-height: 1.42 !important;
    }

    .yb-product-inquiry .yb-pi-grid,
    .yb-product-inquiry .yb-pi-cf7__grid {
        gap: 12px !important;
        padding-bottom: 12px !important;
    }

    .yb-product-inquiry .yb-pi-label {
        margin-bottom: 6px !important;

        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .yb-product-inquiry .wpcf7-form-control-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .yb-product-inquiry input.yb-pi-control,
    .yb-product-inquiry select.yb-pi-control,
    .yb-product-inquiry textarea.yb-pi-control,
    .yb-product-inquiry input[type="file"].yb-pi-file-control {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    .yb-product-inquiry input.yb-pi-control,
    .yb-product-inquiry select.yb-pi-control {
        height: 49px !important;
        padding:
            0
            13px !important;

        font-size: 14px !important;
    }

    .yb-product-inquiry textarea.yb-pi-control {
        min-height: 124px !important;
        height: 124px !important;
        padding:
            12px
            13px !important;

        font-size: 14px !important;
        line-height: 1.48 !important;

        resize: vertical !important;
    }

    .yb-product-inquiry .yb-pi-field-note,
    .yb-product-inquiry .yb-pi-message-meta,
    .yb-product-inquiry .yb-pi-file-note {
        font-size: 10px !important;
        line-height: 1.42 !important;

        overflow-wrap: anywhere !important;
    }

    .yb-product-inquiry .yb-pi-bottom,
    .yb-product-inquiry .yb-pi-cf7__bottom {
        margin-top: 12px !important;
        gap: 12px !important;
    }

    .yb-product-inquiry input[type="file"].yb-pi-file-control {
        min-height: 48px !important;
        padding:
            5px
            6px !important;

        font-size: 11px !important;
        overflow: hidden !important;
    }

    .yb-product-inquiry
    .yb-pi-file-control::file-selector-button {
        height: 35px !important;
        margin-right: 8px !important;
        padding:
            0
            10px !important;

        font-size: 9.5px !important;
    }

    .yb-product-inquiry input.yb-pi-submit {
        height: 48px !important;
        padding:
            0
            16px !important;

        font-size: 12px !important;
    }

    .yb-product-inquiry .yb-pi-submit-area small,
    .yb-product-inquiry .yb-pi-submit-note {
        font-size: 9.5px !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }

    .yb-product-inquiry .yb-pi-consent {
        margin-top: 11px !important;
        padding-top: 11px !important;

        font-size: 10.5px !important;
        line-height: 1.48 !important;

        overflow-wrap: anywhere !important;
    }

    .yb-product-inquiry .wpcf7-response-output {
        margin:
            12px
            0
            0 !important;

        font-size: 11px !important;
        line-height: 1.45 !important;
    }
}

@media (max-width: 380px) {
    .yb-product-inquiry {
        padding:
            16px
            7px
            24px !important;
    }

    .yb-product-inquiry__intro {
        padding:
            25px
            18px
            22px !important;
    }

    .yb-product-inquiry__form-card {
        padding:
            21px
            13px
            19px !important;
    }

    .yb-product-inquiry__intro-copy h2 {
        font-size:
            clamp(
                31px,
                10.5vw,
                38px
            ) !important;
    }
}


/* ==========================================================================\n   2026-08-15 — ED3 FIELD SCENARIO 03 / STATIC DIMENSION REFERENCE\n\n   Scope:\n   - Only applies to the ED3 field-setup panel that uses the new\n     yubeen-ed3-15x50-sfir-ffp-field-03-field-setup.webp asset.\n   - Other optical product pages retain their existing carry-route treatment.\n\n   Intent:\n   - Remove the old animated travel-route graphic, which does not match the\n     handheld product image.\n   - Replace it with a restrained, static measurement-reference line that\n     supports the existing Length / Main Tube editorial content.\n   - No looping animation. The existing panel fade remains the only motion.\n   ========================================================================== */

.yb-ed3-field-v4__panel:has(
    img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
)
.yb-ed3-field-v4__effect--carry svg,
.yb-ed3-field-v4__panel:has(
    img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
)
.yb-ed3-field-v4__route-point {
    display: none !important;
    animation: none !important;
}

/* Static overall-length reference line. */
.yb-ed3-field-v4__panel:has(
    img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
)
.yb-ed3-field-v4__effect--carry::before {
    content: "";
    position: absolute;
    left: 24%;
    top: 57%;
    width: 49%;
    height: 22px;
    transform: translateY(-50%);
    opacity: 0.72;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.08),
            rgba(255, 255, 255, 0.70) 12%,
            rgba(255, 255, 255, 0.70) 88%,
            rgba(255, 255, 255, 0.08)
        ) center / 100% 1px no-repeat,
        linear-gradient(
            180deg,
            transparent 0 18%,
            rgba(255, 255, 255, 0.76) 18% 82%,
            transparent 82% 100%
        ) left center / 1px 100% no-repeat,
        linear-gradient(
            180deg,
            transparent 0 18%,
            rgba(255, 255, 255, 0.76) 18% 82%,
            transparent 82% 100%
        ) right center / 1px 100% no-repeat;
}

/* Small restrained reference node, aligned to the main tube area. */
.yb-ed3-field-v4__panel:has(
    img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
)
.yb-ed3-field-v4__effect--carry::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 57%;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 50%;
    background: var(--field-red);
    box-shadow: 0 0 0 4px rgba(227, 30, 36, 0.10);
    transform: translate(-50%, -50%);
}

/* Reposition the existing Field Setup pill so it reads as the reference label. */
.yb-ed3-field-v4__panel:has(
    img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
)
.yb-ed3-field-v4__effect--carry > span {
    top: 39%;
    right: 14%;
    animation: none !important;
}

.yb-ed3-field-v4__panel:has(
    img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
)
.yb-ed3-field-v4__effect--carry > span i {
    animation: none !important;
}

@media (max-width: 980px) {
    .yb-ed3-field-v4__panel:has(
        img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
    )
    .yb-ed3-field-v4__effect--carry::before {
        left: 20%;
        top: 54%;
        width: 58%;
    }

    .yb-ed3-field-v4__panel:has(
        img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
    )
    .yb-ed3-field-v4__effect--carry::after {
        left: 49%;
        top: 54%;
    }

    .yb-ed3-field-v4__panel:has(
        img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
    )
    .yb-ed3-field-v4__effect--carry > span {
        top: 35%;
        right: 10%;
    }
}

@media (max-width: 620px) {
    /* On narrow cards, keep the picture clean and let the text carry the dimensions. */
    .yb-ed3-field-v4__panel:has(
        img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
    )
    .yb-ed3-field-v4__effect--carry::before,
    .yb-ed3-field-v4__panel:has(
        img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
    )
    .yb-ed3-field-v4__effect--carry::after {
        display: none !important;
    }

    .yb-ed3-field-v4__panel:has(
        img[src*="yubeen-ed3-15x50-sfir-ffp-field-03-field-setup"]
    )
    .yb-ed3-field-v4__effect--carry > span {
        top: 30%;
        right: 8%;
    }
}


/* ========================================================================== 
   2026-08-15 — OPTICAL PRODUCT DETAIL / RETICLE CIRCLE LOCK

   Scope:
   - Shared by every optical product detail page using the Section 01 hero.
   - Keeps the reticle presentation perfectly circular at every viewport size.

   Why:
   - The previous rule used width + aspect-ratio while inheriting max-height
     constraints from the generic hero image rule. On some narrow / short
     viewports the browser could clamp only one axis, visually stretching the
     reticle into an ellipse.
   - This rule assigns an explicit equal width and height per breakpoint, so the
     presentation cannot become elliptical.
   ========================================================================== */

.yb-ed3h5__view--reticle img {
    --yb-optical-reticle-size: clamp(280px, 32vw, 610px);

    width: var(--yb-optical-reticle-size) !important;
    height: var(--yb-optical-reticle-size) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    flex: 0 0 var(--yb-optical-reticle-size) !important;
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 50% !important;
}

@media (max-width: 1180px) {
    .yb-ed3h5__view--reticle img {
        --yb-optical-reticle-size: clamp(270px, 44vw, 500px);
    }
}

@media (max-width: 767px) {
    .yb-ed3h5__view--reticle img {
        --yb-optical-reticle-size: min(78vw, 360px);
    }
}

@media (max-width: 420px) {
    .yb-ed3h5__view--reticle img {
        --yb-optical-reticle-size: min(76vw, 315px);
    }
}


/* ========================================================================== 
   2026-08-15 — BS1-5x24 / SECTION 03 FINAL ENGINEERING LAYOUT

   Scope:
   - Only .yb-ed3-engineering-v3--bs1-5x24.
   - Does not alter ED3, ED5, ET5, PT, VX or any other optical product page.

   Internal compatibility note:
   - The legacy 'windage' data hook is intentionally retained in markup so the
     shared Section 03 JavaScript can keep using the same five-feature runtime.
   - On BS1 the visible item 04 is 'ILLUMINATION CONTROL'.
   ========================================================================== */

@media (min-width: 1181px) {

    /* Left product area + right waterproof detail area: no overlap. */
    .yb-ed3-engineering-v3--bs1-5x24
    .yb-ed3-engineering-v3__background {
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: 54% 56% !important;
        transform: none !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24
    .yb-ed3-engineering-v3__waterproof {
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 21.8% !important;
        height: 100% !important;
        border-left: 1px solid rgba(255,255,255,0.08) !important;
        overflow: hidden !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24
    .yb-ed3-engineering-v3__waterproof > img {
        top: 50% !important;
        left: 50% !important;
        width: 112% !important;
        height: 112% !important;
        object-fit: cover !important;
        object-position: 46% center !important;
        transform: translate(-50%, -50%) !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24
    .yb-ed3-engineering-v3__background-shade {
        right: 21.8% !important;
        background:
            linear-gradient(
                90deg,
                rgba(4,6,9,0.86) 0%,
                rgba(4,6,9,0.62) 14%,
                rgba(4,6,9,0.10) 28%,
                rgba(4,6,9,0.00) 58%,
                rgba(4,6,9,0.02) 82%,
                rgba(4,6,9,0.10) 100%
            ),
            linear-gradient(
                180deg,
                rgba(4,6,9,0.05) 0%,
                rgba(4,6,9,0.00) 56%,
                rgba(4,6,9,0.20) 100%
            ) !important;
    }

    /* User-calibrated BS1 hotspot coordinates. */
    .yb-ed3-engineering-v3--bs1-5x24
    .yb-ed3-engineering-v3__stage {
        --reticle-x: 55% !important;
        --reticle-y: 52% !important;

        --magnification-x: 50% !important;
        --magnification-y: 53% !important;

        --elevation-x: 35% !important;
        --elevation-y: 43% !important;

        /* Legacy variable name; visible feature is Illumination Control. */
        --windage-x: 35% !important;
        --windage-y: 57% !important;

        --objective-x: 15% !important;
        --objective-y: 52% !important;
    }

    /* User-calibrated callout positions. */
    .yb-ed3-engineering-v3--bs1-5x24 .callout-reticle {
        top: 5.5% !important;
        left: 21.2% !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24 .callout-magnification {
        top: 70% !important;
        left: 20.4% !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24 .callout-elevation {
        top: 5.5% !important;
        left: 54.0% !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24 .callout-windage {
        top: 70% !important;
        left: 59.1% !important;
    }

    .yb-ed3-engineering-v3--bs1-5x24 .callout-objective {
        top: 5.5% !important;
        left: 60.5% !important;
    }
}

/* ========================================================================== 
   2026-08-16 — ED5-25x56 SFIR FFP / SECTION 03 FINAL ENGINEERING LAYOUT

   Scope:
   - Only #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp.
   - Does not alter BS1, ED3, ET5, PT, VX or any other optical product page.

   Architecture:
   - Elementor remains Markup Only.
   - Model-specific layout / hotspot / callout calibration lives here because
     every optical model has different physical control locations.
   - The shared Section 03 JavaScript continues to read final DOM positions and
     automatically redraw the connector paths.

   User-calibrated final coordinates migrated from Elementor on 2026-08-16.
   ========================================================================== */

@media (min-width: 1181px) {

    /* ED5-only calibration values. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp {
        --ed5-product-x: 54%;
        --ed5-product-y: 56%;

        --ed5-reticle-x: 70.7%;
        --ed5-reticle-y: 55.5%;

        --ed5-magnification-x: 78%;
        --ed5-magnification-y: 53.8%;

        --ed5-elevation-x: 64.1%;
        --ed5-elevation-y: 42.8%;

        --ed5-windage-x: 60.7%;
        --ed5-windage-y: 56.6%;

        --ed5-objective-x: 20.1%;
        --ed5-objective-y: 51.8%;

        --ed5-reticle-callout-top: 5.5%;
        --ed5-reticle-callout-left: 60.2%;

        --ed5-magnification-callout-top: 70%;
        --ed5-magnification-callout-left: 20.4%;

        --ed5-elevation-callout-top: 5.5%;
        --ed5-elevation-callout-left: 45.4%;

        --ed5-windage-callout-top: 70%;
        --ed5-windage-callout-left: 59.1%;

        --ed5-objective-callout-top: 5.5%;
        --ed5-objective-callout-left: 20.5%;
    }

    /* Stable desktop coordinate system. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage {
        position: relative !important;
        width: 100% !important;
        max-width: 1520px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1520 / 560 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: #07090a !important;
    }

    /* Left ED5 engineering product image. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: var(--ed5-product-x) var(--ed5-product-y) !important;
        transform: none !important;
        transition: none !important;
        pointer-events: none !important;
    }

    /* Left-side readability shade stays inside the product coordinate area. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background-shade {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background:
            linear-gradient(
                90deg,
                rgba(4,6,9,0.86) 0%,
                rgba(4,6,9,0.62) 14%,
                rgba(4,6,9,0.10) 28%,
                rgba(4,6,9,0.00) 58%,
                rgba(4,6,9,0.02) 82%,
                rgba(4,6,9,0.10) 100%
            ),
            linear-gradient(
                180deg,
                rgba(4,6,9,0.05) 0%,
                rgba(4,6,9,0.00) 56%,
                rgba(4,6,9,0.20) 100%
            ) !important;
    }

    /* Right-side existing waterproof / lens detail remains a separate 21.8% panel. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 21.8% !important;
        height: 100% !important;
        max-width: none !important;
        z-index: 14 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        background: #080a0e !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::before,
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::after {
        display: none !important;
        content: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof
    > img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 112% !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: 46% center !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
        transition: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage:hover
    > .yb-ed3-engineering-v3__waterproof
    > img {
        transform: translate(-50%, -50%) !important;
        opacity: 1 !important;
    }

    /* Hotspot canvas shares the exact same 78.2% coordinate space as the product image. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__hotspots {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 22 !important;
        pointer-events: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-reticle {
        left: var(--ed5-reticle-x) !important;
        top: var(--ed5-reticle-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-magnification {
        left: var(--ed5-magnification-x) !important;
        top: var(--ed5-magnification-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-elevation {
        left: var(--ed5-elevation-x) !important;
        top: var(--ed5-elevation-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-windage {
        left: var(--ed5-windage-x) !important;
        top: var(--ed5-windage-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-objective {
        left: var(--ed5-objective-x) !important;
        top: var(--ed5-objective-y) !important;
    }

    /* ED5-only user-calibrated callout positions. */
    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__callout.callout-reticle {
        top: var(--ed5-reticle-callout-top) !important;
        left: var(--ed5-reticle-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__callout.callout-magnification {
        top: var(--ed5-magnification-callout-top) !important;
        left: var(--ed5-magnification-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__callout.callout-elevation {
        top: var(--ed5-elevation-callout-top) !important;
        left: var(--ed5-elevation-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__callout.callout-windage {
        top: var(--ed5-windage-callout-top) !important;
        left: var(--ed5-windage-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--ed5-25x56-sfir-ffp
    .yb-ed3-engineering-v3__callout.callout-objective {
        top: var(--ed5-objective-callout-top) !important;
        left: var(--ed5-objective-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
}

/* ==========================================================================
   2026-08-16 — MT4-16x44 SF FFP / SECTION 02 FINAL FIELD INTERACTION

   Scope:
   - MT4 Section 02 uses root class .yb-ed3-field-v4--mt4-16x44-sf-ffp.
   - The horizontal measurement effect uses MT4-only yb-mt4-* class names.
   - Card 01 target position remains page-specific markup data:
       data-field-focus-x="42%"
       data-field-focus-y="50%"
   - Card 03 replaces the legacy carry-route overlay with a horizontal
     engineering ruler animation that matches the horizontal product image.
   - No shared ED3 / ED5 / BS1 field effect is changed.
   ========================================================================== */

/* ========================================================================
   MT4-16×44 SF FFP
   SECTION 02 / CARD 03
   TEMPORARY HORIZONTAL MEASUREMENT EFFECT
   ======================================================================== */


/* 主动画区域 */
.yb-mt4-field-measure {

    position: absolute;
    inset: 0;

    overflow: hidden;

    pointer-events: none;
}


/* 整套刻度尺组件 */
.yb-mt4-field-measure__assembly {

    position: absolute;

    left: 10%;
    top: 43%;

    width: 80%;
    height: 90px;

    transform: translateY(-50%);
}


/* ================================================================
   主横线
   ================================================================ */

.yb-mt4-field-measure__ruler {

    position: absolute;

    top: 44px;
    left: 0;

    width: 100%;
    height: 24px;

    display: block;

    opacity: 0;

    transform:
        scaleX(0);

    transform-origin:
        left center;
}


/* 当第三张成为 active 时，从左向右展开 */
.yb-ed3-field-v4__panel.is-active
.yb-mt4-field-measure__ruler {

    animation:
        ybMt4MeasureReveal
        1.15s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        forwards;
}


/* 主基准线 + 刻度 */
.yb-mt4-field-measure__ruler::before {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    top: 11px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.10),
            rgba(255,255,255,0.74) 7%,
            rgba(255,255,255,0.74) 93%,
            rgba(255,255,255,0.10)
        );

    box-shadow:
        0 0 16px
        rgba(255,255,255,0.07);
}


/* 密集小刻度 */
.yb-mt4-field-measure__ticks {

    position: absolute;

    inset: 0;

    display: block;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(5% - 1px),
            rgba(255,255,255,0.52)
                calc(5% - 1px),
            rgba(255,255,255,0.52)
                5%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0 20%,
            #000 20% 72%,
            transparent 72% 100%
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0 20%,
            #000 20% 72%,
            transparent 72% 100%
        );

    opacity: 0.72;
}


/* 每 20% 一个稍长的主刻度 */
.yb-mt4-field-measure__ticks::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(20% - 1px),
            rgba(255,255,255,0.88)
                calc(20% - 1px),
            rgba(255,255,255,0.88)
                20%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0 5%,
            #000 5% 88%,
            transparent 88% 100%
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0 5%,
            #000 5% 88%,
            transparent 88% 100%
        );
}


/* ================================================================
   两端定位线
   ================================================================ */

.yb-mt4-field-measure__start,
.yb-mt4-field-measure__end {

    position: absolute;

    top: 2px;

    width: 1px;
    height: 20px;

    display: block;

    background:
        rgba(255,255,255,0.86);
}


.yb-mt4-field-measure__start {
    left: 0;
}


.yb-mt4-field-measure__end {
    right: 0;
}


/* 端点小横杠 */
.yb-mt4-field-measure__start::before,
.yb-mt4-field-measure__end::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 8px;
    height: 1px;

    background:
        rgba(255,255,255,0.82);

    transform:
        translateX(-50%);
}


/* ================================================================
   中央红色参考点
   ================================================================ */

.yb-mt4-field-measure__centre {

    position: absolute;

    left: 50%;
    top: 55px;

    width: 9px;
    height: 9px;

    border:
        1px solid
        rgba(255,255,255,0.88);

    border-radius: 50%;

    background:
        #e31e24;

    opacity: 0;

    transform:
        translate(-50%, -50%)
        scale(0.4);

    box-shadow:
        0 0 0 5px
        rgba(227,30,36,0.11);
}


.yb-ed3-field-v4__panel.is-active
.yb-mt4-field-measure__centre {

    animation:
        ybMt4MeasureCentre
        460ms
        ease-out
        820ms
        forwards;
}


/* ================================================================
   Overall Length 数值
   ================================================================ */

.yb-mt4-field-measure__readout {

    position: absolute;

    top: 0;
    left: 50%;

    min-width: 128px;

    padding:
        8px
        12px;

    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 7px;

    border:
        1px solid
        rgba(255,255,255,0.14);

    border-radius: 999px;

    background:
        rgba(6,8,11,0.50);

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    opacity: 0;

    transform:
        translate(-50%, 8px);

    white-space: nowrap;
}


.yb-mt4-field-measure__readout small {

    color:
        rgba(255,255,255,0.48);

    font-size: 7px;

    font-weight: 680;

    letter-spacing: 0.09em;
}


.yb-mt4-field-measure__readout strong {

    color: #ffffff;

    font-size: 11px;

    font-weight: 720;

    letter-spacing: -0.015em;
}


.yb-ed3-field-v4__panel.is-active
.yb-mt4-field-measure__readout {

    animation:
        ybMt4MeasureReadout
        520ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        520ms
        forwards;
}


/* ================================================================
   ANIMATIONS
   ================================================================ */

@keyframes ybMt4MeasureReveal {

    0% {
        opacity: 0;
        transform:
            scaleX(0);
    }

    15% {
        opacity: 1;
    }

    100% {
        opacity: 0.86;
        transform:
            scaleX(1);
    }
}


@keyframes ybMt4MeasureCentre {

    from {
        opacity: 0;
        transform:
            translate(-50%, -50%)
            scale(0.4);
    }

    to {
        opacity: 1;
        transform:
            translate(-50%, -50%)
            scale(1);
    }
}


@keyframes ybMt4MeasureReadout {

    from {
        opacity: 0;
        transform:
            translate(-50%, 8px);
    }

    to {
        opacity: 1;
        transform:
            translate(-50%, 0);
    }
}


/* ================================================================
   Tablet
   ================================================================ */

@media (max-width: 980px) {

    .yb-mt4-field-measure__assembly {

        left: 8%;
        top: 42%;

        width: 84%;
    }

}


/* ================================================================
   Mobile

   手机端不需要过多技术覆盖，只保留简单标尺。
   ================================================================ */

@media (max-width: 620px) {

    .yb-mt4-field-measure__assembly {

        left: 9%;
        top: 37%;

        width: 82%;
        height: 70px;
    }


    .yb-mt4-field-measure__readout {

        padding:
            6px
            9px;

        min-width: 0;
    }


    .yb-mt4-field-measure__readout small {

        display: none;
    }

}


/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

    .yb-ed3-field-v4__panel.is-active
    .yb-mt4-field-measure__ruler {

        animation: none !important;

        opacity: 0.86;
        transform: scaleX(1);
    }


    .yb-ed3-field-v4__panel.is-active
    .yb-mt4-field-measure__centre,

    .yb-ed3-field-v4__panel.is-active
    .yb-mt4-field-measure__readout {

        animation: none !important;

        opacity: 1;
    }

}

/* ========================================================================== 
   2026-08-16 — MT4-16x44 SF FFP / SECTION 03 FINAL ENGINEERING LAYOUT

   Scope:
   - Only #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp.
   - Does not alter ED5, BS1, ED3, ET5, PT, VX or any other optical page.

   Architecture:
   - Elementor remains Markup Only.
   - MT4 desktop image split, hotspot coordinates and callout coordinates are
     model-specific because physical control locations differ between models.
   - Left 78.2% is the MT4 product image + hotspot coordinate canvas.
   - Right 21.8% retains the existing waterproof / lens detail visual.
   - Shared Section 03 JavaScript continues to read final DOM positions and
     automatically redraw connector paths.

   User-calibrated final coordinates migrated from Elementor on 2026-08-16.
   ========================================================================== */

@media (min-width: 1181px) {

    /* MT4-only final calibration values. */
    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp {
        --mt4-engineering-product-x: 54%;
        --mt4-engineering-product-y: 56%;

        --mt4-engineering-reticle-x: 62.7%;
        --mt4-engineering-reticle-y: 55.5%;

        --mt4-engineering-magnification-x: 70.9%;
        --mt4-engineering-magnification-y: 55.8%;

        --mt4-engineering-elevation-x: 50.1%;
        --mt4-engineering-elevation-y: 42.8%;

        --mt4-engineering-windage-x: 50.7%;
        --mt4-engineering-windage-y: 55.6%;

        --mt4-engineering-objective-x: 20.1%;
        --mt4-engineering-objective-y: 55.8%;

        --mt4-engineering-reticle-callout-top: 5.5%;
        --mt4-engineering-reticle-callout-left: 60.2%;

        --mt4-engineering-magnification-callout-top: 70%;
        --mt4-engineering-magnification-callout-left: 20.4%;

        --mt4-engineering-elevation-callout-top: 5.5%;
        --mt4-engineering-elevation-callout-left: 40.4%;

        --mt4-engineering-windage-callout-top: 70%;
        --mt4-engineering-windage-callout-left: 59.1%;

        --mt4-engineering-objective-callout-top: 5.5%;
        --mt4-engineering-objective-callout-left: 21.5%;
    }

    /* Stable desktop coordinate system. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage {
        position: relative !important;
        width: 100% !important;
        max-width: 1520px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1520 / 560 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: #07090a !important;
    }

    /* Left MT4 engineering product image. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position:
            var(--mt4-engineering-product-x)
            var(--mt4-engineering-product-y)
            !important;
        transform: none !important;
        transition: none !important;
        pointer-events: none !important;
    }

    /* Left readability shade stays inside the MT4 product coordinate area. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background-shade {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background:
            linear-gradient(
                90deg,
                rgba(4,6,9,0.86) 0%,
                rgba(4,6,9,0.62) 14%,
                rgba(4,6,9,0.10) 28%,
                rgba(4,6,9,0.00) 58%,
                rgba(4,6,9,0.02) 82%,
                rgba(4,6,9,0.10) 100%
            ),
            linear-gradient(
                180deg,
                rgba(4,6,9,0.05) 0%,
                rgba(4,6,9,0.00) 56%,
                rgba(4,6,9,0.20) 100%
            ) !important;
    }

    /* Existing waterproof / lens detail remains a separate right 21.8% panel. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 21.8% !important;
        height: 100% !important;
        max-width: none !important;
        z-index: 14 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        background: #080a0e !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::before,
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::after {
        display: none !important;
        content: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof
    > img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 112% !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: 46% center !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
        transition: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage:hover
    > .yb-ed3-engineering-v3__waterproof
    > img {
        transform: translate(-50%, -50%) !important;
        opacity: 1 !important;
    }

    /* Hotspot canvas shares the exact same 78.2% coordinate space as MT4 product image. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__hotspots {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 22 !important;
        pointer-events: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-reticle {
        left: var(--mt4-engineering-reticle-x) !important;
        top: var(--mt4-engineering-reticle-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-magnification {
        left: var(--mt4-engineering-magnification-x) !important;
        top: var(--mt4-engineering-magnification-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-elevation {
        left: var(--mt4-engineering-elevation-x) !important;
        top: var(--mt4-engineering-elevation-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-windage {
        left: var(--mt4-engineering-windage-x) !important;
        top: var(--mt4-engineering-windage-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__hotspot.hotspot-objective {
        left: var(--mt4-engineering-objective-x) !important;
        top: var(--mt4-engineering-objective-y) !important;
    }

    /* MT4-only user-calibrated callout positions. */
    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__callout.callout-reticle {
        top: var(--mt4-engineering-reticle-callout-top) !important;
        left: var(--mt4-engineering-reticle-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__callout.callout-magnification {
        top: var(--mt4-engineering-magnification-callout-top) !important;
        left: var(--mt4-engineering-magnification-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__callout.callout-elevation {
        top: var(--mt4-engineering-elevation-callout-top) !important;
        left: var(--mt4-engineering-elevation-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__callout.callout-windage {
        top: var(--mt4-engineering-windage-callout-top) !important;
        left: var(--mt4-engineering-windage-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--mt4-16x44-sf-ffp
    .yb-ed3-engineering-v3__callout.callout-objective {
        top: var(--mt4-engineering-objective-callout-top) !important;
        left: var(--mt4-engineering-objective-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
}

/* ==========================================================================
   YUBEEN VX3-18×50 SFIR — SECTION 02 FIELD USE MODEL-SPECIFIC RULER
   Finalized from Elementor calibration on 2026-08-16.
   Scope: .yb-ed3-field-v4--vx3-18x50-sfir only.
   Card 01 target location remains page-level data attributes (62% / 48%).
   Card 03 horizontal ruler is model-specific presentation CSS.
   ========================================================================== */

/* ========================================================================
   VX3-18×50 SFIR
   SECTION 02 / CARD 03
   TEMPORARY HORIZONTAL ENGINEERING RULER
   ======================================================================== */

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure {

    position: absolute;
    inset: 0;

    overflow: hidden;
    pointer-events: none;
}


/* 整个标尺组件 */
.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__assembly {

    position: absolute;

    left: 10%;
    top: 43%;

    width: 80%;
    height: 90px;

    transform: translateY(-50%);
}


/* ================================================================
   HORIZONTAL RULER
   ================================================================ */

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__ruler {

    position: absolute;

    top: 44px;
    left: 0;

    width: 100%;
    height: 24px;

    display: block;

    opacity: 0;

    transform: scaleX(0);
    transform-origin: left center;
}


/* Card 03 激活时从左向右展开 */
.yb-ed3-field-v4--vx3-18x50-sfir
.yb-ed3-field-v4__panel.is-active
.yb-vx3-field-measure__ruler {

    animation:
        ybVx3MeasureReveal
        1.15s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;
}


/* 主水平线 */
.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__ruler::before {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 11px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.10),
            rgba(255,255,255,0.74) 7%,
            rgba(255,255,255,0.74) 93%,
            rgba(255,255,255,0.10)
        );

    box-shadow:
        0 0 16px rgba(255,255,255,0.07);
}


/* 小刻度 */
.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__ticks {

    position: absolute;
    inset: 0;

    display: block;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(5% - 1px),
            rgba(255,255,255,0.52) calc(5% - 1px),
            rgba(255,255,255,0.52) 5%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0 20%,
            #000 20% 72%,
            transparent 72% 100%
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0 20%,
            #000 20% 72%,
            transparent 72% 100%
        );

    opacity: 0.72;
}


/* 主刻度 */
.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__ticks::after {

    content: "";

    position: absolute;
    inset: 0;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(20% - 1px),
            rgba(255,255,255,0.88) calc(20% - 1px),
            rgba(255,255,255,0.88) 20%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0 5%,
            #000 5% 88%,
            transparent 88% 100%
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0 5%,
            #000 5% 88%,
            transparent 88% 100%
        );
}


/* ================================================================
   END MARKERS
   ================================================================ */

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__start,

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__end {

    position: absolute;

    top: 2px;

    width: 1px;
    height: 20px;

    display: block;

    background: rgba(255,255,255,0.86);
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__start {
    left: 0;
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__end {
    right: 0;
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__start::before,

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__end::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 8px;
    height: 1px;

    background: rgba(255,255,255,0.82);

    transform: translateX(-50%);
}


/* ================================================================
   CENTRE REFERENCE POINT
   ================================================================ */

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__centre {

    position: absolute;

    left: 50%;
    top: 55px;

    width: 9px;
    height: 9px;

    border: 1px solid rgba(255,255,255,0.88);
    border-radius: 50%;

    background: #e31e24;

    opacity: 0;

    transform:
        translate(-50%, -50%)
        scale(0.4);

    box-shadow:
        0 0 0 5px rgba(227,30,36,0.11);
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-ed3-field-v4__panel.is-active
.yb-vx3-field-measure__centre {

    animation:
        ybVx3MeasureCentre
        460ms
        ease-out
        820ms
        forwards;
}


/* ================================================================
   DYNAMIC LENGTH READOUT
   ================================================================ */

.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__readout {

    position: absolute;

    top: 0;
    left: 50%;

    min-width: 128px;

    padding: 8px 12px;

    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 7px;

    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 999px;

    background: rgba(6,8,11,0.50);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    opacity: 0;

    transform: translate(-50%, 8px);

    white-space: nowrap;
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__readout small {

    color: rgba(255,255,255,0.48);

    font-size: 7px;
    font-weight: 680;
    letter-spacing: 0.09em;
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-vx3-field-measure__readout strong {

    color: #fff;

    font-size: 11px;
    font-weight: 720;
    letter-spacing: -0.015em;
}


.yb-ed3-field-v4--vx3-18x50-sfir
.yb-ed3-field-v4__panel.is-active
.yb-vx3-field-measure__readout {

    animation:
        ybVx3MeasureReadout
        520ms
        cubic-bezier(0.22, 1, 0.36, 1)
        520ms
        forwards;
}


/* ================================================================
   ANIMATIONS
   ================================================================ */

@keyframes ybVx3MeasureReveal {

    0% {
        opacity: 0;
        transform: scaleX(0);
    }

    15% {
        opacity: 1;
    }

    100% {
        opacity: 0.86;
        transform: scaleX(1);
    }
}


@keyframes ybVx3MeasureCentre {

    from {
        opacity: 0;

        transform:
            translate(-50%, -50%)
            scale(0.4);
    }

    to {
        opacity: 1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }
}


@keyframes ybVx3MeasureReadout {

    from {
        opacity: 0;
        transform: translate(-50%, 8px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}


/* ================================================================
   TABLET
   ================================================================ */

@media (max-width: 980px) {

    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-vx3-field-measure__assembly {

        left: 8%;
        top: 42%;

        width: 84%;
    }
}


/* ================================================================
   MOBILE
   ================================================================ */

@media (max-width: 620px) {

    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-vx3-field-measure__assembly {

        left: 9%;
        top: 37%;

        width: 82%;
        height: 70px;
    }


    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-vx3-field-measure__readout {

        min-width: 0;
        padding: 6px 9px;
    }


    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-vx3-field-measure__readout small {

        display: none;
    }
}


/* ================================================================
   REDUCED MOTION
   ================================================================ */

@media (prefers-reduced-motion: reduce) {

    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-ed3-field-v4__panel.is-active
    .yb-vx3-field-measure__ruler {

        animation: none !important;

        opacity: 0.86;
        transform: scaleX(1);
    }


    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-ed3-field-v4__panel.is-active
    .yb-vx3-field-measure__centre,

    .yb-ed3-field-v4--vx3-18x50-sfir
    .yb-ed3-field-v4__panel.is-active
    .yb-vx3-field-measure__readout {

        animation: none !important;
        opacity: 1;
    }
}



/* ==========================================================================
   YUBEEN VX3-18×50 SFIR — SECTION 03 ENGINEERING FINAL CALIBRATION
   Finalized from Elementor calibration on 2026-08-17.
   Scope:
   - Only #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir.
   - Does not alter MT4, ED5, BS1, ED3, ET5, PT, VX or any other optical page.

   Architecture:
   - Elementor remains Markup Only.
   - VX3 desktop image split, hotspot coordinates and callout coordinates are
     model-specific because physical control locations differ between models.
   - Left 78.2% is the VX3 product image + hotspot coordinate canvas.
   - Right 21.8% retains the existing waterproof / lens detail visual.
   - Shared Section 03 JavaScript continues to read final DOM positions and
     automatically redraw connector paths.
   ========================================================================== */

@media (min-width: 1181px) {

    /* VX3-only final calibration values. */
    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir {
        --vx3-engineering-product-x: 54%;
        --vx3-engineering-product-y: 56%;

        --vx3-engineering-reticle-x: 64.7%;
        --vx3-engineering-reticle-y: 57.5%;

        --vx3-engineering-magnification-x: 72.9%;
        --vx3-engineering-magnification-y: 48.8%;

        --vx3-engineering-elevation-x: 50.1%;
        --vx3-engineering-elevation-y: 45.8%;

        --vx3-engineering-windage-x: 50.7%;
        --vx3-engineering-windage-y: 60.6%;

        --vx3-engineering-objective-x: 20.1%;
        --vx3-engineering-objective-y: 55.8%;

        --vx3-engineering-reticle-callout-top: 5.5%;
        --vx3-engineering-reticle-callout-left: 60.2%;

        --vx3-engineering-magnification-callout-top: 70%;
        --vx3-engineering-magnification-callout-left: 20.4%;

        --vx3-engineering-elevation-callout-top: 5.5%;
        --vx3-engineering-elevation-callout-left: 40.4%;

        --vx3-engineering-windage-callout-top: 70%;
        --vx3-engineering-windage-callout-left: 59.1%;

        --vx3-engineering-objective-callout-top: 5.5%;
        --vx3-engineering-objective-callout-left: 21.5%;
    }

    /* Stable desktop coordinate system. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage {
        position: relative !important;
        width: 100% !important;
        max-width: 1520px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1520 / 560 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: #07090a !important;
    }

    /* Left VX3 engineering product image. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position:
            var(--vx3-engineering-product-x)
            var(--vx3-engineering-product-y)
            !important;
        transform: none !important;
        transition: none !important;
        pointer-events: none !important;
    }

    /* Left readability shade stays inside the VX3 product coordinate area. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background-shade {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background:
            linear-gradient(
                90deg,
                rgba(4,6,9,0.86) 0%,
                rgba(4,6,9,0.62) 14%,
                rgba(4,6,9,0.10) 28%,
                rgba(4,6,9,0.00) 58%,
                rgba(4,6,9,0.02) 82%,
                rgba(4,6,9,0.10) 100%
            ),
            linear-gradient(
                180deg,
                rgba(4,6,9,0.05) 0%,
                rgba(4,6,9,0.00) 56%,
                rgba(4,6,9,0.20) 100%
            ) !important;
    }

    /* Existing waterproof / lens detail remains a separate right 21.8% panel. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 21.8% !important;
        height: 100% !important;
        max-width: none !important;
        z-index: 14 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        background: #080a0e !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::before,
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::after {
        display: none !important;
        content: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof
    > img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 112% !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: 46% center !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
        transition: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage:hover
    > .yb-ed3-engineering-v3__waterproof
    > img {
        transform: translate(-50%, -50%) !important;
        opacity: 1 !important;
    }

    /* Hotspot canvas shares the exact same 78.2% coordinate space as VX3 product image. */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx3-18x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__hotspots {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 22 !important;
        pointer-events: none !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__hotspot.hotspot-reticle {
        left: var(--vx3-engineering-reticle-x) !important;
        top: var(--vx3-engineering-reticle-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__hotspot.hotspot-magnification {
        left: var(--vx3-engineering-magnification-x) !important;
        top: var(--vx3-engineering-magnification-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__hotspot.hotspot-elevation {
        left: var(--vx3-engineering-elevation-x) !important;
        top: var(--vx3-engineering-elevation-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__hotspot.hotspot-windage {
        left: var(--vx3-engineering-windage-x) !important;
        top: var(--vx3-engineering-windage-y) !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__hotspot.hotspot-objective {
        left: var(--vx3-engineering-objective-x) !important;
        top: var(--vx3-engineering-objective-y) !important;
    }

    /* VX3-only user-calibrated callout positions. */
    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__callout.callout-reticle {
        top: var(--vx3-engineering-reticle-callout-top) !important;
        left: var(--vx3-engineering-reticle-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__callout.callout-magnification {
        top: var(--vx3-engineering-magnification-callout-top) !important;
        left: var(--vx3-engineering-magnification-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__callout.callout-elevation {
        top: var(--vx3-engineering-elevation-callout-top) !important;
        left: var(--vx3-engineering-elevation-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__callout.callout-windage {
        top: var(--vx3-engineering-windage-callout-top) !important;
        left: var(--vx3-engineering-windage-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }

    #ed3-technology.yb-ed3-engineering-v3--vx3-18x50-sfir
    .yb-ed3-engineering-v3__callout.callout-objective {
        top: var(--vx3-engineering-objective-callout-top) !important;
        left: var(--vx3-engineering-objective-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
}

/* ==========================================================================
   YUBEEN PT6-24×50 SF SFP — SECTION 02 FIELD USE FINAL CALIBRATION
   Finalized from user-approved Elementor calibration on 2026-08-17.
   Card 01 focus remains page-level data attributes: 30% / 42%.
   Card 02 precision reticle and Card 03 diagonal ruler are plugin-integrated.
   Scope: .yb-ed3-field-v4--pt6-24x50-sf only.
   ========================================================================== */

/* ==========================================================================
   PT6-24×50 SF SFP
   SECTION 02 TEMPORARY MODEL CALIBRATION

   Scope:
   .yb-ed3-field-v4--pt6-24x50-sf

   Final values migrated from Elementor into Yubeen Site Assets on 2026-08-17.
   ========================================================================== */


/* ==========================================================================
   A. 主要调整参数
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf {

    /*
     * CARD 02 — PRECISION RETICLE
     *
     * x 大 = 右
     * x 小 = 左
     * y 大 = 下
     * y 小 = 上
     */
    --pt6-precision-x: 45%;
    --pt6-precision-y: 40%;


    /*
     * CARD 03 — DIAGONAL RULER
     *
     * 负角度 = 左下 → 右上
     *
     * -10deg = 比较平
     * -15deg = 轻微倾斜
     * -20deg = 中等倾斜
     * -25deg = 更陡
     * -30deg = 很明显
     */
    --pt6-ruler-angle: -25deg;

    /*
     * 以下三个通常不用动。
     * 如果标尺整体和瞄准镜略微不重合才调整。
     */
    --pt6-ruler-left: 12%;
    --pt6-ruler-top: 56%;
    --pt6-ruler-width: 82%;
}



/* ==========================================================================
   B. CARD 02 — MOVE THE COMPLETE RETICLE AS ONE UNIT
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__effect--precision
.yb-ed3-field-v4__reticle-ring,

.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__effect--precision
.yb-ed3-field-v4__reticle-horizontal,

.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__effect--precision
.yb-ed3-field-v4__reticle-vertical {

    top: var(--pt6-precision-y) !important;
    left: var(--pt6-precision-x) !important;

    transform:
        translate(-50%, -50%)
        !important;
}


/*
 * Click Value 跟着整个准星移动。
 */
.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__effect--precision
b {

    top:
        calc(
            var(--pt6-precision-y)
            + 38px
        )
        !important;

    left:
        calc(
            var(--pt6-precision-x)
            + 39px
        )
        !important;
}



/* ==========================================================================
   C. CARD 03 — EFFECT CANVAS
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure {

    position: absolute;

    inset: 0;

    overflow: hidden;

    pointer-events: none;
}



/* ==========================================================================
   D. DIAGONAL RULER ASSEMBLY
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__assembly {

    position: absolute;

    left:
        var(--pt6-ruler-left);

    top:
        var(--pt6-ruler-top);

    width:
        var(--pt6-ruler-width);

    height: 34px;

    transform:
        translateY(-50%)
        rotate(var(--pt6-ruler-angle));

    transform-origin:
        center center;
}



/* ==========================================================================
   E. MAIN RULER
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__ruler {

    position: absolute;

    top: 5px;
    left: 0;

    width: 100%;
    height: 24px;

    display: block;

    opacity: 0;

    transform:
        scaleX(0);

    transform-origin:
        left center;
}


/*
 * 卡片激活后，从左下方向右上方向展开。
 */
.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__panel.is-active
.yb-pt6-field-measure__ruler {

    animation:
        ybPt6MeasureReveal
        1.15s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        forwards;
}



/* 主线 */
.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__ruler::before {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    top: 11px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.10),
            rgba(255,255,255,0.78) 7%,
            rgba(255,255,255,0.78) 93%,
            rgba(255,255,255,0.10)
        );

    box-shadow:
        0 0 16px
        rgba(255,255,255,0.08);
}



/* ==========================================================================
   F. SMALL TICKS
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__ticks {

    position: absolute;

    inset: 0;

    display: block;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(5% - 1px),

            rgba(255,255,255,0.50)
            calc(5% - 1px),

            rgba(255,255,255,0.50)
            5%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0 20%,
            #000 20% 72%,
            transparent 72% 100%
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0 20%,
            #000 20% 72%,
            transparent 72% 100%
        );

    opacity: 0.72;
}


/* 大刻度 */
.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__ticks::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(20% - 1px),

            rgba(255,255,255,0.88)
            calc(20% - 1px),

            rgba(255,255,255,0.88)
            20%
        );

    mask-image:
        linear-gradient(
            180deg,
            transparent 0 5%,
            #000 5% 88%,
            transparent 88% 100%
        );

    -webkit-mask-image:
        linear-gradient(
            180deg,
            transparent 0 5%,
            #000 5% 88%,
            transparent 88% 100%
        );
}



/* ==========================================================================
   G. START / END MARKERS
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__start,

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__end {

    position: absolute;

    top: 2px;

    width: 1px;
    height: 20px;

    display: block;

    background:
        rgba(255,255,255,0.88);
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__start {

    left: 0;
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__end {

    right: 0;
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__start::before,

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__end::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 8px;
    height: 1px;

    background:
        rgba(255,255,255,0.84);

    transform:
        translateX(-50%);
}



/* ==========================================================================
   H. CENTRE REFERENCE POINT
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__centre {

    position: absolute;

    left: 50%;
    top: 11px;

    width: 9px;
    height: 9px;

    border:
        1px solid
        rgba(255,255,255,0.9);

    border-radius: 50%;

    background:
        #e31e24;

    opacity: 0;

    transform:
        translate(-50%, -50%)
        scale(0.4);

    box-shadow:
        0 0 0 5px
        rgba(227,30,36,0.11);
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__panel.is-active
.yb-pt6-field-measure__centre {

    animation:
        ybPt6MeasureCentre
        460ms
        ease-out
        820ms
        forwards;
}



/* ==========================================================================
   I. DYNAMIC LENGTH LABEL

   标签保持水平，不随着刻度尺一起倾斜，
   阅读性会比把文字也旋转更好。
   ========================================================================== */

.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__readout {

    position: absolute;

    left: 50%;
    top: 33%;

    min-width: 128px;

    padding:
        8px
        12px;

    display: flex;

    align-items: baseline;
    justify-content: center;

    gap: 7px;

    border:
        1px solid
        rgba(255,255,255,0.14);

    border-radius: 999px;

    background:
        rgba(6,8,11,0.50);

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);

    opacity: 0;

    transform:
        translate(-50%, 8px);

    white-space: nowrap;
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__readout small {

    color:
        rgba(255,255,255,0.48);

    font-size: 7px;

    font-weight: 680;

    letter-spacing: 0.09em;
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-pt6-field-measure__readout strong {

    color: #fff;

    font-size: 11px;

    font-weight: 720;

    letter-spacing: -0.015em;
}


.yb-ed3-field-v4--pt6-24x50-sf
.yb-ed3-field-v4__panel.is-active
.yb-pt6-field-measure__readout {

    animation:
        ybPt6MeasureReadout
        520ms
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        )
        520ms
        forwards;
}



/* ==========================================================================
   J. ANIMATIONS
   ========================================================================== */

@keyframes ybPt6MeasureReveal {

    0% {
        opacity: 0;

        transform:
            scaleX(0);
    }

    15% {
        opacity: 1;
    }

    100% {
        opacity: 0.88;

        transform:
            scaleX(1);
    }
}


@keyframes ybPt6MeasureCentre {

    from {
        opacity: 0;

        transform:
            translate(-50%, -50%)
            scale(0.4);
    }

    to {
        opacity: 1;

        transform:
            translate(-50%, -50%)
            scale(1);
    }
}


@keyframes ybPt6MeasureReadout {

    from {
        opacity: 0;

        transform:
            translate(-50%, 8px);
    }

    to {
        opacity: 1;

        transform:
            translate(-50%, 0);
    }
}



/* ==========================================================================
   K. TABLET
   ========================================================================== */

@media (max-width: 980px) {

    .yb-ed3-field-v4--pt6-24x50-sf {

        --pt6-ruler-left: 7%;
        --pt6-ruler-width: 86%;
    }
}



/* ==========================================================================
   L. MOBILE
   ========================================================================== */

@media (max-width: 620px) {

    .yb-ed3-field-v4--pt6-24x50-sf {

        --pt6-ruler-left: 8%;
        --pt6-ruler-width: 84%;
    }


    .yb-ed3-field-v4--pt6-24x50-sf
    .yb-pt6-field-measure__readout {

        min-width: 0;

        padding:
            6px
            9px;
    }


    .yb-ed3-field-v4--pt6-24x50-sf
    .yb-pt6-field-measure__readout small {

        display: none;
    }
}



/* ==========================================================================
   M. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .yb-ed3-field-v4--pt6-24x50-sf
    .yb-ed3-field-v4__panel.is-active
    .yb-pt6-field-measure__ruler {

        animation: none !important;

        opacity: 0.88;

        transform:
            scaleX(1);
    }


    .yb-ed3-field-v4--pt6-24x50-sf
    .yb-ed3-field-v4__panel.is-active
    .yb-pt6-field-measure__centre,

    .yb-ed3-field-v4--pt6-24x50-sf
    .yb-ed3-field-v4__panel.is-active
    .yb-pt6-field-measure__readout {

        animation: none !important;

        opacity: 1;
    }
}


/* ==========================================================================
   YUBEEN PT6-24×50 SF SFP — SECTION 03 ENGINEERING FINAL CALIBRATION
   Finalized from user-approved Elementor calibration on 2026-08-17.
   Scope: #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf only.
   Left 78.2% = PT6 product/hotspot coordinate canvas.
   Right 21.8% = existing waterproof/lens detail panel.
   Shared JS continues to calculate connector paths from final DOM positions.
   ========================================================================== */

@media (min-width: 1181px) {
/* ========================================================================
       YUBEEN PT6-24×50 SF SFP
       SECTION 03 — MODEL-SPECIFIC FINAL CALIBRATION
    
       Final user-calibrated values migrated from Elementor into Yubeen Site Assets on 2026-08-17.
       Elementor now uses Markup Only.
    
       Layout:
       - Left 78.2%  : PT6 engineering product image + hotspot coordinate canvas
       - Right 21.8% : existing ED3 waterproof / lens detail image
       - Connector paths remain controlled by the existing shared JavaScript.
       ======================================================================== */
    
    
    /* ========================================================================
       A. PT6 FINAL CALIBRATION VALUES
       ======================================================================== */
    
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf {
    
        /* Main PT6 product placement inside the locked left area. */
        --pt6-engineering-product-x: 54%;
        --pt6-engineering-product-y: 56%;
    
        /* HOTSPOTS: x larger = right; y larger = down */
        --pt6-engineering-reticle-x: 62.7%;
        --pt6-engineering-reticle-y: 55.5%;
    
        --pt6-engineering-magnification-x: 70.9%;
        --pt6-engineering-magnification-y: 55.8%;
    
        --pt6-engineering-elevation-x: 55.1%;
        --pt6-engineering-elevation-y: 42.8%;
    
        --pt6-engineering-windage-x: 53.7%;
        --pt6-engineering-windage-y: 57.6%;
    
        --pt6-engineering-objective-x: 20.1%;
        --pt6-engineering-objective-y: 55.8%;
    
        /* CALLOUTS: left larger = right; top larger = down */
        --pt6-engineering-reticle-callout-top: 5.5%;
        --pt6-engineering-reticle-callout-left: 60.2%;
    
        --pt6-engineering-magnification-callout-top: 70%;
        --pt6-engineering-magnification-callout-left: 20.4%;
    
        --pt6-engineering-elevation-callout-top: 5.5%;
        --pt6-engineering-elevation-callout-left: 40.4%;
    
        --pt6-engineering-windage-callout-top: 70%;
        --pt6-engineering-windage-callout-left: 59.1%;
    
        --pt6-engineering-objective-callout-top: 5.5%;
        --pt6-engineering-objective-callout-left: 21.5%;
    }
    
    
    /* B. LOCKED DESKTOP STAGE */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage {
        position: relative !important;
        width: 100% !important;
        max-width: 1520px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1520 / 560 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: #07090a !important;
    }
    
    /* C. LEFT PT6 PRODUCT IMAGE */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: var(--pt6-engineering-product-x) var(--pt6-engineering-product-y) !important;
        transform: none !important;
        transition: none !important;
        pointer-events: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background-shade {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background:
            linear-gradient(90deg, rgba(4,6,9,0.86) 0%, rgba(4,6,9,0.62) 14%, rgba(4,6,9,0.10) 28%, rgba(4,6,9,0.00) 58%, rgba(4,6,9,0.02) 82%, rgba(4,6,9,0.10) 100%),
            linear-gradient(180deg, rgba(4,6,9,0.05) 0%, rgba(4,6,9,0.00) 56%, rgba(4,6,9,0.20) 100%) !important;
    }
    
    /* D. RIGHT PANEL — keep the existing waterproof / lens image */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 21.8% !important;
        height: 100% !important;
        max-width: none !important;
        z-index: 14 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        background: #080a0e !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::before,
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::after {
        display: none !important;
        content: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof
    > img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 112% !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: 46% center !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
        transition: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage:hover
    > .yb-ed3-engineering-v3__waterproof
    > img {
        transform: translate(-50%, -50%) !important;
        opacity: 1 !important;
    }
    
    /* E. HOTSPOT CANVAS — same 78.2% coordinate space as the product */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--pt6-24x50-sf
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__hotspots {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 22 !important;
        pointer-events: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__hotspot.hotspot-reticle {
        left: var(--pt6-engineering-reticle-x) !important;
        top: var(--pt6-engineering-reticle-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__hotspot.hotspot-magnification {
        left: var(--pt6-engineering-magnification-x) !important;
        top: var(--pt6-engineering-magnification-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__hotspot.hotspot-elevation {
        left: var(--pt6-engineering-elevation-x) !important;
        top: var(--pt6-engineering-elevation-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__hotspot.hotspot-windage {
        left: var(--pt6-engineering-windage-x) !important;
        top: var(--pt6-engineering-windage-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__hotspot.hotspot-objective {
        left: var(--pt6-engineering-objective-x) !important;
        top: var(--pt6-engineering-objective-y) !important;
    }
    
    /* F. CALLOUT LABEL POSITIONS */
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__callout.callout-reticle {
        top: var(--pt6-engineering-reticle-callout-top) !important;
        left: var(--pt6-engineering-reticle-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__callout.callout-magnification {
        top: var(--pt6-engineering-magnification-callout-top) !important;
        left: var(--pt6-engineering-magnification-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__callout.callout-elevation {
        top: var(--pt6-engineering-elevation-callout-top) !important;
        left: var(--pt6-engineering-elevation-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__callout.callout-windage {
        top: var(--pt6-engineering-windage-callout-top) !important;
        left: var(--pt6-engineering-windage-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--pt6-24x50-sf .yb-ed3-engineering-v3__callout.callout-objective {
        top: var(--pt6-engineering-objective-callout-top) !important;
        left: var(--pt6-engineering-objective-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
}



/* ==========================================================================
   YUBEEN VX5-25×50 SFIR SFP — SECTION 02 FIELD USE FINAL
   User-confirmed calibration migrated from Elementor on 2026-08-17.
   Card 01 target remains page-level data attributes: focus 55% / 42%.
   Card 03 diagonal ruler uses VX5-only class names and variables.
   ========================================================================== */
/* ==========================================================================
   VX5-25×50 SFIR SFP — SECTION 02 FINAL MODEL-SPECIFIC CALIBRATION
   Only affects .yb-ed3-field-v4--vx5-25x50-sfir.
   Finalized from Elementor calibration on 2026-08-17.
   ========================================================================== */

.yb-ed3-field-v4--vx5-25x50-sfir {
    /* CARD 03 — negative angle = left-bottom to right-top */
    --vx5-ruler-angle: -32deg;
    --vx5-ruler-left: 15%;
    --vx5-ruler-top: 56%;
    --vx5-ruler-width: 82%;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__assembly {
    position: absolute;
    left: var(--vx5-ruler-left);
    top: var(--vx5-ruler-top);
    width: var(--vx5-ruler-width);
    height: 34px;
    transform: translateY(-50%) rotate(var(--vx5-ruler-angle));
    transform-origin: center center;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__ruler {
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    height: 24px;
    display: block;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-ed3-field-v4__panel.is-active .yb-vx5-field-measure__ruler {
    animation: ybVx5MeasureReveal 1.15s cubic-bezier(0.22,1,0.36,1) forwards;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__ruler::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 11px;
    height: 1px;
    background: linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.78) 7%,rgba(255,255,255,.78) 93%,rgba(255,255,255,.10));
    box-shadow: 0 0 16px rgba(255,255,255,.08);
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__ticks {
    position: absolute;
    inset: 0;
    display: block;
    background: repeating-linear-gradient(90deg,transparent 0,transparent calc(5% - 1px),rgba(255,255,255,.50) calc(5% - 1px),rgba(255,255,255,.50) 5%);
    mask-image: linear-gradient(180deg,transparent 0 20%,#000 20% 72%,transparent 72% 100%);
    -webkit-mask-image: linear-gradient(180deg,transparent 0 20%,#000 20% 72%,transparent 72% 100%);
    opacity: .72;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__ticks::after {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(255,255,255,.88) calc(20% - 1px),rgba(255,255,255,.88) 20%);
    mask-image: linear-gradient(180deg,transparent 0 5%,#000 5% 88%,transparent 88% 100%);
    -webkit-mask-image: linear-gradient(180deg,transparent 0 5%,#000 5% 88%,transparent 88% 100%);
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__start,
.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__end {
    position: absolute;
    top: 2px;
    width: 1px;
    height: 20px;
    display: block;
    background: rgba(255,255,255,.88);
}
.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__start { left: 0; }
.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__end { right: 0; }

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__start::before,
.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__end::before {
    content: "";
    position: absolute;
    top: 0; left: 50%;
    width: 8px; height: 1px;
    background: rgba(255,255,255,.84);
    transform: translateX(-50%);
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__centre {
    position: absolute;
    left: 50%; top: 11px;
    width: 9px; height: 9px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 50%;
    background: #e31e24;
    opacity: 0;
    transform: translate(-50%,-50%) scale(.4);
    box-shadow: 0 0 0 5px rgba(227,30,36,.11);
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-ed3-field-v4__panel.is-active .yb-vx5-field-measure__centre {
    animation: ybVx5MeasureCentre 460ms ease-out 820ms forwards;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__readout {
    position: absolute;
    left: 50%; top: 33%;
    min-width: 128px;
    padding: 8px 12px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(6,8,11,.50);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    transform: translate(-50%,8px);
    white-space: nowrap;
}

.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__readout small {
    color: rgba(255,255,255,.48);
    font-size: 7px;
    font-weight: 680;
    letter-spacing: .09em;
}
.yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__readout strong {
    color: #fff;
    font-size: 11px;
    font-weight: 720;
    letter-spacing: -.015em;
}
.yb-ed3-field-v4--vx5-25x50-sfir .yb-ed3-field-v4__panel.is-active .yb-vx5-field-measure__readout {
    animation: ybVx5MeasureReadout 520ms cubic-bezier(0.22,1,0.36,1) 520ms forwards;
}

@keyframes ybVx5MeasureReveal {
    0% { opacity:0; transform:scaleX(0); }
    15% { opacity:1; }
    100% { opacity:.88; transform:scaleX(1); }
}
@keyframes ybVx5MeasureCentre {
    from { opacity:0; transform:translate(-50%,-50%) scale(.4); }
    to { opacity:1; transform:translate(-50%,-50%) scale(1); }
}
@keyframes ybVx5MeasureReadout {
    from { opacity:0; transform:translate(-50%,8px); }
    to { opacity:1; transform:translate(-50%,0); }
}

@media (max-width:980px) {
    .yb-ed3-field-v4--vx5-25x50-sfir {
        --vx5-ruler-left: 7%;
        --vx5-ruler-width: 86%;
    }
}
@media (max-width:620px) {
    .yb-ed3-field-v4--vx5-25x50-sfir {
        --vx5-ruler-left: 8%;
        --vx5-ruler-width: 84%;
    }
    .yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__readout {
        min-width: 0;
        padding: 6px 9px;
    }
    .yb-ed3-field-v4--vx5-25x50-sfir .yb-vx5-field-measure__readout small { display:none; }
}

@media (prefers-reduced-motion:reduce) {
    .yb-ed3-field-v4--vx5-25x50-sfir .yb-ed3-field-v4__panel.is-active .yb-vx5-field-measure__ruler {
        animation:none !important;
        opacity:.88;
        transform:scaleX(1);
    }
    .yb-ed3-field-v4--vx5-25x50-sfir .yb-ed3-field-v4__panel.is-active .yb-vx5-field-measure__centre,
    .yb-ed3-field-v4--vx5-25x50-sfir .yb-ed3-field-v4__panel.is-active .yb-vx5-field-measure__readout {
        animation:none !important;
        opacity:1;
    }
}


/* ==========================================================================
   YUBEEN VX5-25×50 SFIR SFP — SECTION 03 ENGINEERING FINAL
   User-confirmed calibration migrated from Elementor on 2026-08-17.
   Left 78.2%: VX5 engineering product + hotspots.
   Right 21.8%: existing waterproof / lens visual.
   Shared JS continues to redraw connector paths from final DOM positions.
   ========================================================================== */
@media (min-width: 1181px) {
/* ========================================================================
       YUBEEN VX5-25×50 SFIR SFP
       SECTION 03 — FINAL MODEL-SPECIFIC CALIBRATION
    
       User-confirmed values migrated from Elementor into Yubeen Site Assets.
    
       Layout:
       - Left 78.2%  : VX5 engineering product image + hotspot coordinate canvas
       - Right 21.8% : existing ED3 waterproof / lens detail image
       - Connector paths remain controlled by the existing shared JavaScript.
       ======================================================================== */
    
    
    /* ========================================================================
       A. FINAL USER-CALIBRATED VALUES
       ======================================================================== */
    
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir {
    
        /* Main VX5 product placement inside the locked left area. */
        --vx5-engineering-product-x: 54%;
        --vx5-engineering-product-y: 56%;
    
        /* HOTSPOTS: x larger = right; y larger = down */
        --vx5-engineering-reticle-x: 62.7%;
        --vx5-engineering-reticle-y: 55.5%;
    
        --vx5-engineering-magnification-x: 70.9%;
        --vx5-engineering-magnification-y: 55.8%;
    
        --vx5-engineering-elevation-x: 55.1%;
        --vx5-engineering-elevation-y: 47.8%;
    
        --vx5-engineering-windage-x: 55.7%;
        --vx5-engineering-windage-y: 58.6%;
    
        --vx5-engineering-objective-x: 25.1%;
        --vx5-engineering-objective-y: 60.8%;
    
        /* CALLOUTS: left larger = right; top larger = down */
        --vx5-engineering-reticle-callout-top: 5.5%;
        --vx5-engineering-reticle-callout-left: 60.2%;
    
        --vx5-engineering-magnification-callout-top: 70%;
        --vx5-engineering-magnification-callout-left: 20.4%;
    
        --vx5-engineering-elevation-callout-top: 5.5%;
        --vx5-engineering-elevation-callout-left: 40.4%;
    
        --vx5-engineering-windage-callout-top: 70%;
        --vx5-engineering-windage-callout-left: 59.1%;
    
        --vx5-engineering-objective-callout-top: 5.5%;
        --vx5-engineering-objective-callout-left: 21.5%;
    }
    
    
    /* B. LOCKED DESKTOP STAGE */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage {
        position: relative !important;
        width: 100% !important;
        max-width: 1520px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1520 / 560 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: #07090a !important;
    }
    
    /* C. LEFT VX5 PRODUCT IMAGE */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: var(--vx5-engineering-product-x) var(--vx5-engineering-product-y) !important;
        transform: none !important;
        transition: none !important;
        pointer-events: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__background-shade {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        background:
            linear-gradient(90deg, rgba(4,6,9,0.86) 0%, rgba(4,6,9,0.62) 14%, rgba(4,6,9,0.10) 28%, rgba(4,6,9,0.00) 58%, rgba(4,6,9,0.02) 82%, rgba(4,6,9,0.10) 100%),
            linear-gradient(180deg, rgba(4,6,9,0.05) 0%, rgba(4,6,9,0.00) 56%, rgba(4,6,9,0.20) 100%) !important;
    }
    
    /* D. RIGHT PANEL — keep the existing waterproof / lens image */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 21.8% !important;
        height: 100% !important;
        max-width: none !important;
        z-index: 14 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        background: #080a0e !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::before,
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof::after {
        display: none !important;
        content: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__waterproof
    > img {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 112% !important;
        height: 112% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: 46% center !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) !important;
        transition: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage:hover
    > .yb-ed3-engineering-v3__waterproof
    > img {
        transform: translate(-50%, -50%) !important;
        opacity: 1 !important;
    }
    
    /* E. HOTSPOT CANVAS — same 78.2% coordinate space as the product */
    #ed3-technology.yb-ed3-engineering-v3.yb-ed3-engineering-v3--vx5-25x50-sfir
    > .yb-ed3-engineering-v3__stage
    > .yb-ed3-engineering-v3__hotspots {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 78.2% !important;
        height: 100% !important;
        z-index: 22 !important;
        pointer-events: none !important;
    }
    
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__hotspot.hotspot-reticle {
        left: var(--vx5-engineering-reticle-x) !important;
        top: var(--vx5-engineering-reticle-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__hotspot.hotspot-magnification {
        left: var(--vx5-engineering-magnification-x) !important;
        top: var(--vx5-engineering-magnification-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__hotspot.hotspot-elevation {
        left: var(--vx5-engineering-elevation-x) !important;
        top: var(--vx5-engineering-elevation-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__hotspot.hotspot-windage {
        left: var(--vx5-engineering-windage-x) !important;
        top: var(--vx5-engineering-windage-y) !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__hotspot.hotspot-objective {
        left: var(--vx5-engineering-objective-x) !important;
        top: var(--vx5-engineering-objective-y) !important;
    }
    
    /* F. CALLOUT LABEL POSITIONS */
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__callout.callout-reticle {
        top: var(--vx5-engineering-reticle-callout-top) !important;
        left: var(--vx5-engineering-reticle-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__callout.callout-magnification {
        top: var(--vx5-engineering-magnification-callout-top) !important;
        left: var(--vx5-engineering-magnification-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__callout.callout-elevation {
        top: var(--vx5-engineering-elevation-callout-top) !important;
        left: var(--vx5-engineering-elevation-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__callout.callout-windage {
        top: var(--vx5-engineering-windage-callout-top) !important;
        left: var(--vx5-engineering-windage-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
    #ed3-technology.yb-ed3-engineering-v3--vx5-25x50-sfir .yb-ed3-engineering-v3__callout.callout-objective {
        top: var(--vx5-engineering-objective-callout-top) !important;
        left: var(--vx5-engineering-objective-callout-left) !important;
        right: auto !important;
        bottom: auto !important;
    }
}
