@font-face {
    font-family: 'Instrument Sans';
    src: url('../font/InstrumentSans-Variable.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Instrument Sans';
    src: url('../font/InstrumentSans-Italic-Variable.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/* Final specificity pass for the Figma product summary. */
.boomwow-product-detail-page .boomwow-product-detail-summary { width: min(100%, 28.5rem); padding-top: 0; }
.boomwow-product-detail-page .boomwow-product-detail-heading h1 { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.12; letter-spacing: 0; }
.boomwow-product-detail-page .boomwow-product-detail-tagline { margin-top: 0.2rem; font-size: 1rem; line-height: 1.2; }
.boomwow-product-detail-page .boomwow-product-detail-tagline-color { color: var(--boomwow-tagline-color, #cd0700); }
.boomwow-product-detail-page .boomwow-product-detail-why-copy-color { color: var(--boomwow-why-copy-color, #cd0700); }
.boomwow-product-detail-page .boomwow-product-detail-moments-copy-color { color: var(--boomwow-moments-copy-color, #cd0700); }
.boomwow-product-detail-page .boomwow-product-detail-description { max-width: 27rem; margin: 0.8rem 0 2.1rem; color: #767676; font-size: 0.75rem; line-height: 1.48; text-align: justify; }
.boomwow-product-detail-page .boomwow-product-detail-description p + p { margin-top: 0.15rem; }
.boomwow-product-detail-page .boomwow-product-detail-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; align-items: start; }
.boomwow-product-detail-page .boomwow-product-detail-spec { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); column-gap: 0.5rem; align-items: center; min-width: 0; min-height: 3.4rem; padding: 0; margin: 0; border: 0; }
.boomwow-product-detail-page .boomwow-product-detail-spec legend { grid-column: 1 / -1; width: 100%; padding: 0; margin: 0 0 0.7rem; color: #111; font-size: 0.625rem; font-weight: 500; line-height: 1; }
.boomwow-product-detail-page .boomwow-product-detail-spec p { margin: 0; color: #222; font-size: 0.5625rem; line-height: 1.3; white-space: nowrap; }
.boomwow-product-detail-page .boomwow-product-detail-inquiry { grid-column: 1 / -1; min-height: 2.25rem; margin-top: 2.4rem; font-size: 0.875rem; font-weight: 600; }

@media (max-width: 47.9375rem) {
    .boomwow-product-detail-page .boomwow-product-detail-summary { width: 100%; }
    .boomwow-product-detail-page .boomwow-product-detail-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.35rem; }
    .boomwow-product-detail-page .boomwow-product-detail-spec p { font-size: 0.5rem; }
    .boomwow-product-detail-page .boomwow-product-detail-inquiry { grid-column: 1 / -1; margin-top: 1.9rem; }
}

/* Product Red desktop geometry from Figma canvas 4:206 / 4:309 (1920px artboard). */
@media (min-width: 64rem) {
    .boomwow-product-detail-page main > .boomwow-product-detail-overview {
        grid-template-columns: 42.25rem 30.9375rem;
        column-gap: 13.75rem;
        align-items: start;
        padding-top: 10.25rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-gallery {
        grid-template-columns: 9.1875rem 31.25rem;
        gap: 2rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-thumbnails {
        height: 33.75rem;
        align-content: stretch;
        justify-content: space-between;
        gap: 0;
    }

    .boomwow-product-detail-page .boomwow-product-detail-thumbnails button {
        width: 9.1875rem;
        height: 10.125rem;
        aspect-ratio: auto;
    }

    .boomwow-product-detail-page .boomwow-product-detail-main-image {
        width: 31.25rem;
        min-height: 0;
        height: 33.75rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-summary {
        width: 30.9375rem;
        margin: 0;
    }

    .boomwow-product-detail-page .boomwow-product-detail-heading h1 {
        font-size: 2rem !important;
        line-height: 1.2;
    }

    .boomwow-product-detail-page .boomwow-product-detail-tagline {
        margin-top: 0;
        font-size: 1.5rem;
        line-height: 1.2;
    }

    .boomwow-product-detail-page .boomwow-product-detail-description,
    .boomwow-product-detail-page .boomwow-product-detail-description p {
        font-size: 1rem !important;
        line-height: 1.625;
        text-align: left;
    }

    .boomwow-product-detail-page .boomwow-product-detail-description {
        margin: 1rem 0 3.5rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-options {
        grid-template-columns: 3.25rem 5.875rem 6.375rem 7.3125rem;
        column-gap: 2.6rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-spec {
        min-height: 3.75rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-spec legend {
        margin-bottom: 0.85rem;
        font-size: 0.75rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-spec p {
        font-size: 0.75rem !important;
        line-height: 1.25;
    }

    .boomwow-product-detail-page .boomwow-product-detail-inquiry {
        width: 31.0625rem;
        min-height: 3.125rem;
        height: 3.125rem;
        margin-top: 2.95rem;
        font-size: 1rem;
    }
}

/* product-detail: match Figma node 4:309 specification panel */
.boomwow-product-detail-summary {
    width: min(100%, 28.5rem);
    padding-top: 0;
}

.boomwow-product-detail-heading h1 {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0;
}

.boomwow-product-detail-tagline {
    margin-top: 0.2rem;
    color: var(--boomwow-site-red);
    font-size: 1rem;
    line-height: 1.2;
}

.boomwow-product-detail-description {
    max-width: 27rem;
    margin: 0.8rem 0 2.1rem;
    color: #767676;
    font-size: 0.75rem;
    line-height: 1.48;
    text-align: justify;
}

.boomwow-product-detail-description p + p { margin-top: 0.15rem; }

.boomwow-product-detail-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    align-items: start;
}

.boomwow-product-detail-spec {
    display: grid;
    grid-template-columns: 1.75rem minmax(0, 1fr);
    column-gap: 0.5rem;
    align-items: center;
    min-width: 0;
    min-height: 3.4rem;
    padding: 0;
    margin: 0;
    border: 0;
}

.boomwow-product-detail-spec legend {
    grid-column: 1 / -1;
    width: 100%;
    padding: 0;
    margin: 0 0 0.7rem;
    color: #111;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1;
}

.boomwow-product-detail-spec p {
    margin: 0;
    color: #222;
    font-size: 0.5625rem;
    line-height: 1.3;
    white-space: nowrap;
}

.boomwow-product-detail-spec input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.boomwow-product-detail-spec-color {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.boomwow-product-detail-spec-image {
    display: block;
    width: auto;
    max-width: 1.75rem;
    height: auto;
    max-height: 1.625rem;
    object-fit: contain;
}

.boomwow-product-detail-spec-color:focus-within { outline: 2px solid rgba(230, 25, 25, 0.35); outline-offset: 3px; }

.boomwow-product-detail-inquiry {
    grid-column: 1 / -1;
    min-height: 2.25rem;
    margin-top: 2.4rem;
    color: #fff;
    background: var(--boomwow-site-red);
    border: 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.boomwow-product-detail-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 47.9375rem) {
    .boomwow-product-detail-summary { width: 100%; }
    .boomwow-product-detail-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.35rem; }
    .boomwow-product-detail-spec p { font-size: 0.5rem; }
    .boomwow-product-detail-inquiry { grid-column: 1 / -1; margin-top: 1.9rem; }
}

/* boomwow-index: page foundation */
.boomwow-index-page {
    --boomwow-red: #cd0700;
    --boomwow-blue: #86c8ff;
    --boomwow-orange: #f06d2f;
    --boomwow-yellow: #f4d63c;
    --boomwow-pink: #f487b3;
    --boomwow-green: #3d9f69;
    --boomwow-ink: #111111;
    --boomwow-muted: #686868;
    --boomwow-paper: #ffffff;
    --boomwow-gutter: clamp(1.5rem, 6.25vw, 7.5rem);
    margin: 0;
    color: var(--boomwow-ink);
    background: var(--boomwow-paper);
    font-family: 'Instrument Sans', Arial, sans-serif;
    line-height: 1.35;
    overflow-x: clip;
}

.boomwow-index-page button,
.boomwow-index-page input,
.boomwow-index-page summary {
    font: inherit;
}

.boomwow-index-page button,
.boomwow-index-page summary {
    cursor: pointer;
}

.boomwow-index-page img {
    display: block;
    width: 100%;
}

.boomwow-index-page main > section,
.boomwow-index-footer {
    scroll-margin-top: 5.25rem;
}

.boomwow-index-page :focus-visible {
    outline: 0.1875rem solid var(--boomwow-yellow);
    outline-offset: 0.25rem;
}

.boomwow-index-visually-hidden {
    position: absolute !important;
    width: 0.0625rem !important;
    height: 0.0625rem !important;
    padding: 0 !important;
    margin: -0.0625rem !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.boomwow-index-skip {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 1000;
    padding: 0.75rem 1rem;
    color: var(--boomwow-ink);
    background: var(--boomwow-paper);
    transform: translateY(-150%);
    transition: transform 0.2s ease;
}

.boomwow-index-skip:focus {
    transform: translateY(0);
}

/* boomwow-index: header */
.boomwow-index-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5.25rem;
    padding: 0 var(--boomwow-gutter);
    color: var(--boomwow-paper);
    background: transparent;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.boomwow-index-header.is-scrolled,
.boomwow-index-header.is-menu-open {
    background: rgba(17, 17, 17, 0.96);
    box-shadow: 0 0.0625rem 0 rgba(255, 255, 255, 0.18);
}

.boomwow-index-header-logo {
    position: relative;
    z-index: 2;
    display: block;
    width: 10.25rem;
}

.boomwow-index-header-logo img {
    height: auto;
}

.boomwow-index-navigation-list {
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 2.7vw, 3.25rem);
}

.boomwow-index-navigation-link {
    position: relative;
    display: block;
    padding: 0.5rem 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: inherit;
}

.boomwow-index-navigation-link::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0.2rem;
    left: 0;
    height: 0.0625rem;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.25s ease;
}

.boomwow-index-navigation-link:hover::after,
.boomwow-index-navigation-link[aria-current='page']::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.boomwow-index-menu-toggle {
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
}

.boomwow-index-menu-toggle-icon,
.boomwow-index-menu-toggle-icon::before,
.boomwow-index-menu-toggle-icon::after {
    display: block;
    width: 1.5rem;
    height: 0.125rem;
    margin: auto;
    background: currentColor;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.boomwow-index-menu-toggle-icon {
    position: relative;
}

.boomwow-index-menu-toggle-icon::before,
.boomwow-index-menu-toggle-icon::after {
    content: '';
    position: absolute;
    left: 0;
}

.boomwow-index-menu-toggle-icon::before {
    top: -0.4375rem;
}

.boomwow-index-menu-toggle-icon::after {
    top: 0.4375rem;
}

.boomwow-index-menu-toggle[aria-expanded='true'] .boomwow-index-menu-toggle-icon {
    background: transparent;
}

.boomwow-index-menu-toggle[aria-expanded='true'] .boomwow-index-menu-toggle-icon::before {
    transform: translateY(0.4375rem) rotate(45deg);
}

.boomwow-index-menu-toggle[aria-expanded='true'] .boomwow-index-menu-toggle-icon::after {
    transform: translateY(-0.4375rem) rotate(-45deg);
}

/* boomwow-index: hero */
.boomwow-index-hero {
    position: relative;
    z-index: 0;
    isolation: isolate;
    min-height: 100dvh;
    background: #2a160e;
}

.boomwow-index-hero-sticky,
.boomwow-index-hero-media {
    width: 100%;
    min-height: 100dvh;
}

.boomwow-index-hero-media {
    overflow: hidden;
}

.boomwow-index-hero-media video,
.boomwow-index-hero-media img {
    width: 100%;
    height: 100dvh;
    object-fit: cover;
    object-position: center center;
}

.boomwow-index-hero-video {
    display: block;
}

.boomwow-index-page .boomwow-index-hero-image {
    display: none;
}

.boomwow-index-page.is-motion-ready .boomwow-index-hero {
    min-height: 220dvh;
}

.boomwow-index-page.is-motion-ready .boomwow-index-hero-sticky {
    position: sticky;
    top: 0;
    height: 100dvh;
}

/* boomwow-index: story */
.boomwow-index-story {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(30rem, 0.8fr);
    gap: clamp(3rem, 6vw, 7.5rem);
    min-height: 82rem;
    padding: 8rem 0 8rem max(var(--boomwow-gutter), calc((100% - 80rem) / 2));
    background: var(--boomwow-paper);
}

.boomwow-index-story::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    background: var(--boomwow-paper);
    transform: translateX(-50%);
}

.boomwow-index-story-copy {
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    max-width: 44rem;
    min-height: 64rem;
}

.boomwow-index-story-heading h2 {
    max-width: 44rem;
    font-size: 3rem;
    line-height: 0.98;
    font-weight: 700;
}
.boomwow-index-story-heading span {
    max-width: 44rem;
    font-size: 2.5rem;
    line-height: 0.98;
    font-weight: normal;
}
.boomwow-index-story-swatches {
    display: flex;
    align-items: flex-start;
    padding-top: 1.25rem;
}

.boomwow-index-story-swatch {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    margin-right: -1rem;
    color: var(--boomwow-swatch-color);
    background: currentColor;
    border-radius: 50%;
    transform-origin: center bottom;
    will-change: transform;
}

.boomwow-index-story-swatch::after {
    content: '';
    position: absolute;
    inset: -0.35rem;
    border: 0.1rem solid currentColor;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

.boomwow-index-story-swatches.is-popped .boomwow-index-story-swatch {
    animation: boomwow-story-swatch-wave 4.8s cubic-bezier(0.34, 1.56, 0.64, 1) infinite;
}

.boomwow-index-story-swatches.is-popped .boomwow-index-story-swatch::after {
    animation: boomwow-story-swatch-ring 0.72s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.boomwow-index-story-swatch:nth-child(2) { animation-delay: 0.1s; }
.boomwow-index-story-swatch:nth-child(3) { animation-delay: 0.2s; }
.boomwow-index-story-swatch:nth-child(4) { animation-delay: 0.3s; }
.boomwow-index-story-swatch:nth-child(5) { animation-delay: 0.4s; }
.boomwow-index-story-swatch:nth-child(6) { animation-delay: 0.5s; }

.boomwow-index-story-swatch:nth-child(2)::after { animation-delay: 0.08s; }
.boomwow-index-story-swatch:nth-child(3)::after { animation-delay: 0.16s; }
.boomwow-index-story-swatch:nth-child(4)::after { animation-delay: 0.24s; }
.boomwow-index-story-swatch:nth-child(5)::after { animation-delay: 0.32s; }
.boomwow-index-story-swatch:nth-child(6)::after { animation-delay: 0.4s; }

.boomwow-index-story-swatch-blue { --boomwow-swatch-color: var(--boomwow-blue); }
.boomwow-index-story-swatch-orange { --boomwow-swatch-color: var(--boomwow-orange); }
.boomwow-index-story-swatch-yellow { --boomwow-swatch-color: var(--boomwow-yellow); }
.boomwow-index-story-swatch-pink { --boomwow-swatch-color: var(--boomwow-pink); }
.boomwow-index-story-swatch-red { --boomwow-swatch-color: #ed1535; }
.boomwow-index-story-swatch-green { --boomwow-swatch-color: var(--boomwow-green); }

@keyframes boomwow-story-swatch-ring {
    0% { opacity: 0.7; transform: scale(0.45); }
    100% { opacity: 0; transform: scale(1.55); }
}

@keyframes boomwow-story-swatch-wave {
    0%, 68%, 100% { transform: translateY(0) scale(1); }
    73% { transform: translateY(-0.55rem) scale(1.08); }
    78% { transform: translateY(0.08rem) scale(0.98); }
    83% { transform: translateY(0) scale(1); }
}

.boomwow-index-story-description {
    max-width: 28rem;
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
}

.boomwow-index-text-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding-bottom: 0.25rem;
    border-bottom: 0.0625rem solid currentColor;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
}

.boomwow-index-story-figure {
    align-self: start;
    width: 100%;
    height: 66rem;
    overflow: hidden;
}

.boomwow-index-story-figure img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* boomwow-index: about editorial */
.boomwow-index-about {
    padding: 0 0 7rem;
    background: var(--boomwow-paper);
}

.boomwow-index-about-editorial {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(23rem, 0.9fr);
    gap: 1.25rem;
    width: min(82%, 98rem);
    margin: 0 auto;
}

.boomwow-index-about-figure {
    height: 54rem;
    overflow: hidden;
}

.boomwow-index-about-figure-blue {
    height: 50rem;
    align-self: end;
}

.boomwow-index-about-figure img {
    height: 100%;
    object-fit: cover;
}

.boomwow-index-about-figure-red img {
    object-position: center center;
}

.boomwow-index-about-figure-blue img {
    object-position: center center;
}

.boomwow-index-about-statement {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8rem var(--boomwow-gutter) 4rem;
    text-align: center;
}

.boomwow-index-about-wordmark {
    display: inline-flex;
    align-items: flex-start;
    color: var(--boomwow-ink);
    font-size: 3rem;
    font-weight: 900;
    line-height: 0.8;
    white-space: nowrap;
}

.boomwow-index-about-wordmark sup {
    margin: -0.12em 0 0 0.3em;
    font-size: 0.26em;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.boomwow-index-about-description {
    max-width: 35rem;
    margin-top: 1.25rem;
    font-size: 1.25rem;
    font-weight: 600;
}

/* boomwow-index: color stories */
.boomwow-index-color-stories {
    position: relative;
    min-height: 0;
    background: var(--boomwow-paper);
}

.boomwow-index-color-stories-sticky {
    position: relative;
    width: 100%;
    height: auto;
    overflow: visible;
}

.boomwow-index-page.is-motion-ready .boomwow-index-color-stories {
    min-height: 240dvh;
}

.boomwow-index-page.is-motion-ready .boomwow-index-color-stories-sticky {
    position: sticky;
    top: 0;
    height: 100dvh;
    min-height: 42rem;
    overflow: hidden;
}

.boomwow-index-color-story {
    position: relative;
    width: 100%;
    height: 60rem;
    background: var(--boomwow-paper);
}

.boomwow-index-color-story-blue {
    opacity: 1;
    visibility: visible;
}

.boomwow-index-page.is-motion-ready .boomwow-index-color-story {
    position: absolute;
    inset: 0;
    height: 100%;
}

.boomwow-index-page.is-motion-ready .boomwow-index-color-story-blue {
    opacity: 0;
    visibility: hidden;
}

.boomwow-index-color-story.is-active {
    opacity: 1;
    visibility: visible;
}

.boomwow-index-color-story-figure {
    position: absolute;
    inset: 3rem 16% 0;
    overflow: hidden;
}

.boomwow-index-color-story-figure img {
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.boomwow-index-color-story-copy {
    position: absolute;
    top: 8rem;
    z-index: 2;
    width: 22rem;
}

.boomwow-index-color-story-red .boomwow-index-color-story-copy {
    left: var(--boomwow-gutter);
    color: var(--boomwow-red);
}

.boomwow-index-color-story-blue .boomwow-index-color-story-copy {
    right: var(--boomwow-gutter);
    color: var(--boomwow-blue);
}

.boomwow-index-color-story-heading h3 {
    max-width: 18rem;
    font-size: 3rem;
    line-height: 0.98;
    font-weight: 700;
}

.boomwow-index-color-stories-controls {
    position: absolute;
    right: 50%;
    bottom: 2.25rem;
    z-index: 3;
    display: none;
    gap: 0.625rem;
    transform: translateX(50%);
}

.boomwow-index-color-story-control {
    position: relative;
    width: 3rem;
    height: 2.75rem;
    padding: 0;
    overflow: hidden;
    color: transparent;
    background: transparent;
    border: 0;
}

.boomwow-index-color-story-control::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 0.3125rem;
    background: #dddddd;
    transform: translateY(-50%);
}

.boomwow-index-color-story-control[aria-pressed='true']::before {
    background: var(--boomwow-red);
}

.boomwow-index-color-story-control[data-boomwow-scene-control='blue'][aria-pressed='true']::before {
    background: var(--boomwow-blue);
}

.boomwow-index-color-stories-progress {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    z-index: 3;
    width: 12rem;
    height: 0.125rem;
    overflow: hidden;
    background: #e1e1e1;
    transform: translateX(-50%);
    display: none;
}

.boomwow-index-page.is-motion-ready .boomwow-index-color-stories-controls {
    display: flex;
}

.boomwow-index-page.is-motion-ready .boomwow-index-color-stories-progress {
    display: block;
}

.boomwow-index-color-stories-progress-value {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--boomwow-red);
    transform: scaleX(0);
    transform-origin: left center;
}

/* boomwow-index: color strip */
.boomwow-index-colors {
    padding: 8rem 0 10rem;
    background: var(--boomwow-paper);
}

.boomwow-index-colors-swiper {
    position: relative;
    width: min(82%, 98rem);
    margin: 0 auto;
    overflow: hidden;
}

.boomwow-index-colors-track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    transform: none;
}

.boomwow-index-colors-slide {
    width: auto;
    aspect-ratio: 0.72;
    overflow: hidden;
}

.boomwow-index-colors-slide img {
    height: 100%;
    object-fit: cover;
}

.boomwow-index-colors-previous,
.boomwow-index-colors-next {
    display: none;
}

/* boomwow-index: news */
.boomwow-index-news {
    padding: 2rem var(--boomwow-gutter) 0rem;
    background: var(--boomwow-paper);
}

.boomwow-index-news-heading,
.boomwow-index-reviews-heading {
    margin-bottom: 4.5rem;
    text-align: center;
}

.boomwow-index-news-heading h2,
.boomwow-index-reviews-heading h2 {
    font-size: 3rem;
    line-height: 1;
    font-weight: 700;
}

.boomwow-index-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    max-width: 100rem;
    margin: 0 auto;
}

.boomwow-index-news-card {
    min-width: 0;
}

.boomwow-index-news-figure {
    aspect-ratio: 31 / 20;
    margin-bottom: 1rem;
    overflow: hidden;
    background: #f0f0f0;
}

.boomwow-index-news-figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.boomwow-index-news-card:nth-child(1) .boomwow-index-news-figure img {
    object-position: center 38%;
}

.boomwow-index-news-date {
    margin-bottom: 0.75rem;
    color: var(--boomwow-muted);
    font-size: 0.8125rem;
    text-transform: uppercase;
}

.boomwow-index-news-card-heading h3 {
    max-width: 30rem;
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 600;
}

/* boomwow-index: reviews */
.boomwow-index-reviews {
    padding: 3rem var(--boomwow-gutter) 9rem;
    background: var(--boomwow-paper);
}

.boomwow-index-reviews-swiper {
    position: relative;
    max-width: 100rem;
    margin: 0 auto;
    overflow: hidden;
}

.boomwow-index-reviews-track {
    display: flex;
    width: 100%;
}

.boomwow-index-review-slide {
    flex-shrink: 0;
    aspect-ratio: 0.62;
    overflow: hidden;
    background: #eeeeee;
}

.boomwow-index-review-slide img {
    height: 100%;
    object-fit: cover;
}

.boomwow-index-reviews-previous,
.boomwow-index-reviews-next {
    display: none;
}

/* boomwow-index: footer */
.boomwow-index-footer {
    position: relative;
    min-height: 57rem;
    padding: 7rem var(--boomwow-gutter) 2.5rem;
    color: var(--boomwow-paper);
    background: var(--boomwow-ink);
}

.boomwow-index-footer-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(22rem, 0.65fr);
    align-items: end;
    gap: 6rem;
    padding-bottom: 6rem;
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.38);
}

.boomwow-index-footer-heading h2 {
    font-size: 5rem;
    line-height: 0.92;
    font-weight: 700;
}

.boomwow-index-subscription-label {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.boomwow-index-subscription-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    border-bottom: 0.0625rem solid var(--boomwow-paper);
}

.boomwow-index-subscription-field input {
    width: 100%;
    min-height: 3.5rem;
    padding: 0.75rem 0;
    color: var(--boomwow-paper);
    background: transparent;
    border: 0;
    border-radius: 0;
}

.boomwow-index-subscription-field input::placeholder {
    color: rgba(255, 255, 255, 0.62);
}

.boomwow-index-subscription-submit {
    min-width: 7rem;
    padding: 0.75rem 0;
    color: var(--boomwow-paper);
    background: transparent;
    border: 0;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
}

.boomwow-index-subscription-submit:disabled {
    opacity: 0.58;
    cursor: not-allowed;
}

.boomwow-index-subscription-status,
.boomwow-index-subscription-noscript {
    min-height: 1.5rem;
    padding-top: 0.75rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.8125rem;
}

.boomwow-index-footer-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3rem;
    padding: 4.5rem 0;
}

.boomwow-index-footer-column h3 {
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.boomwow-index-footer-column li + li {
    margin-top: 0.625rem;
}

.boomwow-index-footer-item {
    font-size: 0.9375rem;
}

.boomwow-index-footer-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-top: 2rem;
    border-top: 0.0625rem solid rgba(255, 255, 255, 0.18);
}

.boomwow-index-footer-logo {
    width: min(42rem, 58%);
}

.boomwow-index-footer-legal {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.75rem;
}

.boomwow-index-contact {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 90;
    color: var(--boomwow-paper);
}

.boomwow-index-contact:not([open]) .boomwow-index-contact-panel {
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.5rem) scale(0.96);
}

.boomwow-index-contact:hover .boomwow-index-contact-panel,
.boomwow-index-contact:focus-within .boomwow-index-contact-panel,
.boomwow-index-contact[open] .boomwow-index-contact-panel {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.boomwow-index-contact summary::-webkit-details-marker {
    display: none;
}

.boomwow-index-contact-toggle {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    overflow: hidden;
    color: transparent;
    background: var(--boomwow-red);
    border: 0.0625rem solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    list-style: none;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

.boomwow-index-contact-toggle::before,
.boomwow-index-contact-toggle::after {
    content: '';
    position: absolute;
}

.boomwow-index-contact-toggle::before {
    width: 1.25rem;
    height: 0.875rem;
    border: 0.125rem solid var(--boomwow-paper);
    border-radius: 0.125rem;
}

.boomwow-index-contact-toggle::after {
    width: 0.375rem;
    height: 0.375rem;
    margin: 0.75rem 0 0 -0.75rem;
    background: var(--boomwow-red);
    border-right: 0.125rem solid var(--boomwow-paper);
    border-bottom: 0.125rem solid var(--boomwow-paper);
    transform: rotate(45deg);
}

.boomwow-index-contact-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.75rem);
    width: 13.5rem;
    padding: 0.625rem;
    color: var(--boomwow-ink);
    background: var(--boomwow-paper);
    border: 0.0625rem solid #dddddd;
    border-radius: 0.75rem;
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.16);
    transform-origin: right bottom;
    transition: visibility 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.boomwow-index-contact-panel li + li {
    margin-top: 0.25rem;
}

.boomwow-index-contact-panel-item {
    min-height: 2.75rem;
    padding: 0 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    color: var(--boomwow-ink);
    font-size: 0.875rem;
    font-weight: 600;
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.boomwow-index-contact-panel-item .iconfont {
    width: 1.25rem;
    color: var(--boomwow-red);
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
}

.boomwow-index-contact-panel-item:hover,
.boomwow-index-contact-panel-item:focus-visible {
    color: var(--boomwow-paper);
    background: var(--boomwow-red);
    transform: translateX(-0.125rem);
}

.boomwow-index-contact-panel-item:hover .iconfont,
.boomwow-index-contact-panel-item:focus-visible .iconfont {
    color: var(--boomwow-paper);
}

.boomwow-index-contact-panel-item:focus-visible {
    outline: 0.125rem solid rgba(205, 7, 0, 0.35);
    outline-offset: 0.125rem;
}

/* boomwow-index: reveal preparation */
.js .boomwow-index-page.is-motion-ready [data-boomwow-reveal] {
    overflow: hidden;
}

.js .boomwow-index-page.is-motion-ready [data-boomwow-reveal-item] {
    opacity: 0;
}

/* boomwow-index: tablet */
@media (max-width: 89.9375rem) {
    .boomwow-index-page {
        --boomwow-gutter: clamp(1.5rem, 4.2vw, 4rem);
    }

    .boomwow-index-header {
        min-height: 4.75rem;
    }

    .boomwow-index-header-logo {
        width: 8.75rem;
    }

    .boomwow-index-navigation-list {
        gap: 1.75rem;
    }

    .boomwow-index-story {
        grid-template-columns: minmax(0, 1fr) minmax(26rem, 0.78fr);
        min-height: 70rem;
        padding-top: 6.5rem;
        padding-bottom: 6.5rem;
        padding-left: var(--boomwow-gutter);
    }

    .boomwow-index-story-copy {
        min-height: 57rem;
    }

    .boomwow-index-story-figure {
        height: 58rem;
    }

    .boomwow-index-about-editorial,
    .boomwow-index-colors-swiper {
        width: calc(100% - (var(--boomwow-gutter) * 2));
    }

    .boomwow-index-about-figure {
        height: 47rem;
    }

    .boomwow-index-about-figure-blue {
        height: 43rem;
    }

    .boomwow-index-color-story-heading h3 {
        font-size: 2.5rem;
    }

    .boomwow-index-footer-heading h2 {
        font-size: 5rem;
    }
}

@media (max-width: 63.9375rem) {
    .boomwow-index-navigation-list {
        gap: 1.1rem;
    }

    .boomwow-index-navigation-link {
        font-size: 0.75rem;
    }

    .boomwow-index-story {
        grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.8fr);
        gap: 2.5rem;
        min-height: 58rem;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .boomwow-index-story-copy,
    .boomwow-index-story-figure {
        min-height: 0;
        height: 48rem;
    }

    .boomwow-index-story-heading h2 {
        font-size: 2.75rem;
    }

    .boomwow-index-about-editorial {
        grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.8fr);
    }

    .boomwow-index-about-figure {
        height: 39rem;
    }

    .boomwow-index-about-figure-blue {
        height: 35rem;
    }

    .boomwow-index-color-story {
        height: 48rem;
    }

    .boomwow-index-color-story-figure {
        right: 10%;
        left: 10%;
    }

    .boomwow-index-color-story-copy {
        top: 5rem;
        width: 15rem;
    }

    .boomwow-index-color-story-heading h3 {
        font-size: 2rem;
    }

    .boomwow-index-footer-lead {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .boomwow-index-footer-heading h2 {
        font-size: 4.5rem;
    }

    .boomwow-index-subscription {
        max-width: 34rem;
    }
}

/* boomwow-index: mobile */
@media (max-width: 47.9375rem) {
    .boomwow-index-page {
        --boomwow-gutter: 1.25rem;
    }

    .boomwow-index-header {
        min-height: 4.25rem;
    }

    .boomwow-index-page main > section,
    .boomwow-index-footer {
        scroll-margin-top: 4.25rem;
    }

    .boomwow-index-header-logo {
        width: 7.75rem;
    }

    .boomwow-index-menu-toggle {
        position: relative;
        z-index: 2;
        display: block;
    }

    .boomwow-index-navigation {
        position: fixed;
        inset: 0;
        display: grid;
        align-items: center;
        padding: 6rem var(--boomwow-gutter) 3rem;
        background: var(--boomwow-ink);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-1rem);
        transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
    }

    .boomwow-index-navigation.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .boomwow-index-navigation-list {
        display: block;
    }

    .boomwow-index-navigation-list li + li {
        margin-top: 0.5rem;
    }

    .boomwow-index-navigation-link {
        padding: 0.5rem 0;
        font-size: 2rem;
        line-height: 1.2;
    }

    .boomwow-index-hero,
    .boomwow-index-hero-sticky,
    .boomwow-index-hero-media {
        min-height: 100dvh;
    }

    .boomwow-index-hero-media video,
    .boomwow-index-hero-media img {
        height: 100dvh;
        object-position: 50% center;
    }

    .boomwow-index-hero-video {
        display: none;
    }

    .boomwow-index-page .boomwow-index-hero-image {
        display: block;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-hero {
        min-height: 170dvh;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-hero-sticky {
        height: 100dvh;
        min-height: 100dvh;
    }

    .boomwow-index-story {
        display: flex;
        flex-direction: column;
        gap: 3rem;
        min-height: 0;
        padding: 4.5rem var(--boomwow-gutter);
    }

    .boomwow-index-story-copy {
        display: block;
        min-height: 0;
        height: auto;
    }

    .boomwow-index-story-heading h2 {
        font-size: 2.25rem;
    }

    .boomwow-index-story-heading span {
        font-size: 1.25rem;
    }
    .boomwow-index-story-swatches {
        margin-bottom: 5rem;
    }

    .boomwow-index-story-description {
        margin-bottom: 1rem;
    }

    .boomwow-index-story-figure {
        width: calc(100% + var(--boomwow-gutter));
        height: auto;
        margin-right: calc(var(--boomwow-gutter) * -1);
        aspect-ratio: 0.75;
    }

    .boomwow-index-about {
        padding-bottom: 3.5rem;
    }

    .boomwow-index-about-editorial {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
        width: 100%;
    }

    .boomwow-index-about-figure,
    .boomwow-index-about-figure-blue {
        width: calc(100% - var(--boomwow-gutter));
        height: auto;
        aspect-ratio: 0.76;
    }

    .boomwow-index-about-figure-blue {
        justify-self: end;
        aspect-ratio: 0.8;
    }

    .boomwow-index-about-statement {
        padding: 5rem var(--boomwow-gutter) 2.5rem;
    }

    .boomwow-index-about-wordmark {
        font-size: clamp(2.25rem, 13vw, 3.5rem);
    }

    .boomwow-index-about-description {
        max-width: 22rem;
        font-size: 0.875rem;
    }

    .boomwow-index-color-stories,
    .boomwow-index-color-stories-sticky {
        min-height: 0;
        height: auto;
    }

    .boomwow-index-color-story {
        min-height: 42rem;
        height: 42rem;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories {
        min-height: 180dvh;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories-sticky {
        height: 100dvh;
        min-height: 36rem;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-color-story {
        min-height: 0;
        height: 100%;
    }

    .boomwow-index-color-story-figure {
        inset: 8rem -8% 3rem;
    }

    .boomwow-index-color-story-copy {
        top: 3.5rem;
        width: 10.5rem;
    }

    .boomwow-index-color-story-red .boomwow-index-color-story-copy {
        left: var(--boomwow-gutter);
    }

    .boomwow-index-color-story-blue .boomwow-index-color-story-copy {
        right: var(--boomwow-gutter);
    }

    .boomwow-index-color-story-heading h3 {
        font-size: 1.75rem;
    }

    .boomwow-index-color-stories-progress {
        bottom: 1rem;
        width: 8rem;
    }

    .boomwow-index-color-stories-controls {
        bottom: 1.75rem;
    }

    .boomwow-index-colors {
        padding: 4rem 0 5.5rem;
    }

    .boomwow-index-colors-swiper {
        width: 100%;
        padding-left: var(--boomwow-gutter);
        overflow: visible;
    }

    .boomwow-index-colors-track {
        display: flex;
        width: auto;
        transform: none;
    }

    .boomwow-index-colors-slide {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .boomwow-index-colors-previous,
    .boomwow-index-colors-next {
        top: auto;
        bottom: 0.5rem;
        display: block;
        width: 2.75rem;
        height: 2.75rem;
        margin: 0;
        background-color: rgba(255, 255, 255, 0.9);
        background-size: 1rem 1rem;
        border: 0.0625rem solid rgba(17, 17, 17, 0.18);
        border-radius: 50%;
    }

    .boomwow-index-colors-previous {
        right: 4.5rem;
        left: auto;
    }

    .boomwow-index-colors-next {
        right: 1.25rem;
    }

    .boomwow-index-news {
        padding: 0 0 5.5rem;
        overflow: hidden;
    }

    .boomwow-index-news-heading,
    .boomwow-index-reviews-heading {
        margin-bottom: 2.5rem;
        padding: 0 var(--boomwow-gutter);
    }

    /* .boomwow-index-news-heading h2,
    .boomwow-index-reviews-heading h2 {
        font-size: 2.25rem;
    } */

    .boomwow-index-news-grid {
        display: flex;
        gap: 1rem;
        max-width: none;
        padding: 0 var(--boomwow-gutter) 1rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .boomwow-index-news-grid::-webkit-scrollbar {
        display: none;
    }

    .boomwow-index-news-card {
        flex: 0 0 82vw;
        max-width: 24rem;
        scroll-snap-align: start;
    }

    .boomwow-index-reviews {
        padding: 0 0 6rem;
    }

    .boomwow-index-reviews-swiper {
        max-width: none;
        padding-left: var(--boomwow-gutter);
        overflow: visible;
    }

    .boomwow-index-reviews-track {
        display: flex;
        gap: 0;
        width: auto;
    }

    .boomwow-index-review-slide {
        flex: 0 0 72vw;
        width: 72vw !important;
        max-width: 20rem;
    }

    .boomwow-index-footer {
        min-height: 0;
        padding: 4.5rem var(--boomwow-gutter) 2rem;
    }

    .boomwow-index-footer-lead {
        gap: 2.5rem;
        padding-bottom: 3.5rem;
    }

    .boomwow-index-footer-heading h2 {
        max-width: 21rem;
        font-size: 3.25rem;
    }

    .boomwow-index-footer-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem 1.5rem;
        padding: 3.5rem 0;
    }

    .boomwow-index-footer-bottom {
        display: block;
    }

    .boomwow-index-footer-logo {
        display: block;
        width: 100%;
        margin-bottom: 2rem;
    }

    .boomwow-index-contact {
        right: 1rem;
        bottom: 1rem;
    }
}

/* boomwow-support: Figma page 5:1068 */
.boomwow-support-hero {
    position: relative;
    height: 56.25rem;
    min-height: 92dvh;
    color: #fff;
    overflow: hidden;
    background: #27221e;
}

.boomwow-support-hero-media {
    position: absolute;
    inset: 0;
}

.boomwow-support-hero-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
}

.boomwow-support-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 50%;
}

.boomwow-support-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    place-content: center;
    justify-items: center;
    height: 100%;
    text-align: center;
}

.boomwow-support-hero h1 {
    margin: 0;
    font-size: clamp(2.5rem, 3vw, 3rem) !important;
    line-height: 0.98;
}

.boomwow-support-hero-action a {
    display: grid;
    place-items: center;
    width: 16.25rem;
    min-height: 3.75rem;
    margin-top: 2rem;
    background: var(--boomwow-site-red);
}

.boomwow-support-partnership {
    padding: 5.5rem var(--boomwow-site-gutter) 3.5rem;
}

.boomwow-support-partnership-inner {
    max-width: 66rem;
    margin: auto;
    text-align: center;
}

.boomwow-support-partnership h2 {
    margin: 0;
    font-size: clamp(2rem, 2.25vw, 3.25rem);
    line-height: 1.28;
}

.boomwow-support-partnership-copy { margin-top: 1rem; }
.boomwow-support-partnership-copy p { margin: 0; display: flex; align-items: center; justify-content: flex-end; gap: 1.25rem; }
.boomwow-support-partnership-copy strong { color: #111; font-size: 1.25rem; font-weight: 700; line-height: 1; }
.boomwow-support-partnership-mark { width: 3.25rem; height: 3.25rem; display: grid; place-items: center; flex: 0 0 auto; border: 0.0625rem solid #111; border-radius: 50%; color: #111; font-size: 0.375rem; font-weight: 900; line-height: 1; letter-spacing: -0.04em; }

.boomwow-support-services {
    padding: 1rem var(--boomwow-site-gutter) 6.5rem;
}

.boomwow-support-services-heading { position: absolute; width: 0.0625rem; height: 0.0625rem; overflow: hidden; clip: rect(0 0 0 0); }

.boomwow-support-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(2rem, 8vw, 9.625rem);
    width: min(100%, 102.5rem);
    margin: auto;
}

.boomwow-support-service-icon {
    display: block;
    width: 3rem;
    height: 3rem;
    margin: 0 0 0.75rem;
    object-fit: contain;
}

.boomwow-support-service h3 { min-height: 2.5rem; margin: 0 0 0.5rem; font-size: 1.125rem; }
.boomwow-support-service-copy { color: #555; font-size: 0.875rem; text-align: justify; }
.boomwow-support-service-copy p { margin: 0; }

.boomwow-support-faq {
    display: grid;
    grid-template-columns: minmax(25rem, 31.875rem) minmax(34rem, 39.625rem);
    align-items: center;
    justify-content: center;
    gap: clamp(5rem, 12vw, 16rem);
    padding: 3.5rem var(--boomwow-site-gutter) 7.5rem;
}

.boomwow-support-faq-figure {
    height: 38.125rem;
    margin: 0;
    box-shadow: 1.25rem 1.25rem 2rem rgba(0, 0, 0, 0.25);
}

.boomwow-support-faq-figure img { width: 100%; height: 100%; object-fit: cover; }
.boomwow-support-faq-content { width: 100%; }
.boomwow-support-faq-heading h2 { margin: 0 0 2rem; font-size: 2.5rem; }
.boomwow-support-accordion { border-top: 0.0625rem solid #CECECE; }
.boomwow-support-accordion-item { border-bottom: 0.0625rem solid #CECECE; }
.boomwow-support-accordion-item h3 { margin: 0; }

.boomwow-support-accordion-button {
    position: relative;
    width: 100%;
    min-height: 5.2rem;
    padding: 1.25rem 3rem 1.25rem clamp(5rem, 40%, 16rem);
    color: #111;
    font-size: 1rem;
    font-weight: 500 !important;
    line-height: 1.25;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.boomwow-support-accordion-button::before {
    content: counter(boomwow-faq, decimal-leading-zero);
    position: absolute;
    top: 50%;
    left: 0.15rem;
    color: #111;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
}

.boomwow-support-accordion { counter-reset: boomwow-faq; }
.boomwow-support-accordion-item { counter-increment: boomwow-faq; }

.boomwow-support-accordion-button::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0.45rem;
    width: 0.75rem;
    height: 0.75rem;
    color: #111;
    background:
        linear-gradient(currentColor, currentColor) center / 100% 0.0625rem no-repeat,
        linear-gradient(currentColor, currentColor) center / 0.0625rem 100% no-repeat;
    transform: translateY(-50%) rotate(0deg);

}

.boomwow-support-accordion-button[aria-expanded='true']::after {
    background: linear-gradient(currentColor, currentColor) center / 100% 0.0625rem no-repeat;
}
.boomwow-support-accordion-answer { padding: 0 3rem 1.5rem clamp(5rem, 40%, 16rem); color: #555; font-size: 0.875rem; line-height: 1.45; }
.boomwow-support-accordion-answer p { margin: 0; }

.boomwow-support-testimonials {
    padding: 4rem var(--boomwow-site-gutter) 7rem;
}

.boomwow-support-testimonials-heading { text-align: center; }
.boomwow-support-testimonials-heading h2 { margin: 0 0 4rem; font-size: 2.5rem; }
.boomwow-support-testimonials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem; width: min(100%, 81.5rem); margin: auto; }
.boomwow-support-testimonial { position: relative; min-height: 27.1875rem; margin: 0; padding: 3.25rem 3.25rem 7rem; overflow: hidden; background: #f4f5f7; border-radius: 1rem; }
.boomwow-support-testimonial blockquote { margin: 0; color: #111; font-size: 1.125rem; font-weight: 600; line-height: 1.55; }
.boomwow-support-testimonial blockquote::before { content: '\201C'; display: block; height: 4.25rem; color: #d9dde2; font-size: 7.5rem; font-weight: 700; line-height: 0.8; }
.boomwow-support-testimonial blockquote p { margin: 0; }
.boomwow-support-testimonial figcaption { position: absolute; bottom: 0; left: 0; display: flex; align-items: center; gap: 0.875rem; width: 14.75rem; min-height: 6.125rem; padding: 1.25rem 1rem; color: #111; background: #fff; border-radius: 0 1rem 0 0; }
.boomwow-support-testimonial figcaption img { flex: 0 0 auto; width: 3.125rem; height: 3.125rem; object-fit: cover; border-radius: 50%; }
.boomwow-support-testimonial figcaption span { display: grid; gap: 0.2rem; min-width: 0; }
.boomwow-support-testimonial figcaption strong { font-size: 1rem; font-weight: 600; line-height: 1.15; white-space: nowrap; }
.boomwow-support-testimonial figcaption small { color: #b7b7b7; font-size: 0.75rem; font-weight: 400; line-height: 1.15; }

/* boomwow-news-detail: Figma page 5:1248 */
.boomwow-news-detail-article {
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 75rem);
    margin: 0 auto;
    padding-top: 8.5rem;
}

.boomwow-news-detail-article-header { max-width: 56.5rem; }
.boomwow-news-detail-article-heading h2 { margin: 0; font-size: clamp(3rem, 3vw, 3rem); line-height: 1; }
.boomwow-news-detail-article-subtitle { margin-top: 1rem;  }
.boomwow-news-detail-article-subtitle p { margin: 0; font-size: 1.125rem !important; }

.boomwow-news-detail-hero {
    height: 42.5rem;
    margin: 0 0 4rem;
    overflow: hidden;
}

.boomwow-news-detail-hero img { width: 100%; height: 100%; object-fit: cover; }

.boomwow-news-detail-layout {
    display: grid;
    grid-template-columns: 10.25rem minmax(0, 1fr);
    gap: clamp(4rem, 12vw, 15.5rem);
}

.boomwow-news-detail-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.25rem 0 1.5rem;
    border-bottom: 0.0625rem solid #d7d7d7;
}

.boomwow-news-detail-author-avatar {
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    border: 0.0625rem solid #111;
    border-radius: 50%;
}

.boomwow-news-detail-author-avatar img {
    width: 1.9rem;
    height: auto;
}

.boomwow-news-detail-author-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.boomwow-news-detail-author-copy strong {
    color: #111;
    font-size: 1rem;
    font-weight: 700;
}

.boomwow-news-detail-author-copy time {
    margin-top: 0.25rem;
    color: #929292;
    font-size: 0.875rem;
}
.boomwow-news-detail-share { margin-top: 1rem; }
.boomwow-news-detail-share h2 { margin: 0 0 0.75rem; font-size: 1rem;font-weight: normal !important; }
.boomwow-news-detail-share ul { display: flex; gap: 0.5rem; }
.boomwow-news-detail-share-list { display: flex; flex-wrap: nowrap; gap: 0.4rem; white-space: nowrap; }
.boomwow-news-detail-share-list.a2a_default_style a { display: grid; place-items: center; float: none; padding: 0; }
.boomwow-news-detail-share-list .a2a_svg { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; color: #111; background: transparent !important; border: 0.0625rem solid #111; border-radius: 50% !important; line-height: 1.75rem; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.boomwow-news-detail-share-list .a2a_svg svg { width: 0.9rem; height: 0.9rem; }
.boomwow-news-detail-share-list .a2a_svg svg path { fill: currentColor !important; }
.boomwow-news-detail-share-list > a:hover .a2a_svg,
.boomwow-news-detail-share-list > a:focus-visible .a2a_svg { color: #fff; background: #e1261c !important; border-color: #e1261c; transform: translateY(-0.125rem); }

.boomwow-news-detail-share-button {
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    color: #111;
    background: transparent;
    border: 0.0625rem solid #111;
    border-radius: 50%;
    font-size: 0;
    cursor: pointer;
}

.boomwow-news-detail-share-button .iconfont { font-size: 0.75rem; line-height: 1; }

.boomwow-news-detail-body { min-width: 0; padding-bottom: 10rem; color: #222; font-size: 0.875rem; line-height: 1.7; overflow-wrap: anywhere; }
.boomwow-news-detail-body > :first-child { margin-top: 0; }
.boomwow-news-detail-body > :last-child { margin-bottom: 0; }
.boomwow-news-detail-body section + section { margin-top: 2.5rem; }
.boomwow-news-detail-body h1,
.boomwow-news-detail-body h2,
.boomwow-news-detail-body h3,
.boomwow-news-detail-body h4,
.boomwow-news-detail-body h5,
.boomwow-news-detail-body h6 { margin: 2rem 0 0.75rem; color: #111; font-weight: 700; line-height: 1.25; }
.boomwow-news-detail-body h1 { font-size: 2rem; }
.boomwow-news-detail-body h2 { font-size: 1.25rem; }
.boomwow-news-detail-body h3 { font-size: 1.125rem; }
.boomwow-news-detail-body h4,
.boomwow-news-detail-body h5,
.boomwow-news-detail-body h6 { font-size: 1rem; }
.boomwow-news-detail-body p { margin: 0 0 1.25rem; }
.boomwow-news-detail-body ul,
.boomwow-news-detail-body ol { margin: 0 0 1.25rem; padding-left: 1.5rem; }
.boomwow-news-detail-body li + li { margin-top: 0.4rem; }
.boomwow-news-detail-body a { color: #cd0700; text-decoration: underline; text-underline-offset: 0.15em; }
.boomwow-news-detail-body strong,
.boomwow-news-detail-body b { font-weight: 700; }
.boomwow-news-detail-body blockquote { margin: 1.75rem 0; padding: 0.25rem 0 0.25rem 1.25rem; border-left: 0.1875rem solid #cd0700; color: #555; font-size: 1rem; }
.boomwow-news-detail-body img,
.boomwow-news-detail-body video { max-width: 100%; height: auto; display: block; }
.boomwow-news-detail-body figure { margin: 2rem 0; }
.boomwow-news-detail-body figcaption { margin-top: 0.625rem; color: #777; font-size: 0.75rem; text-align: center; }
.boomwow-news-detail-body iframe { width: 100%; max-width: 100%; border: 0; aspect-ratio: 16 / 9; }
.boomwow-news-detail-body table { width: 100%; margin: 1.75rem 0; border-collapse: collapse; }
.boomwow-news-detail-body th,
.boomwow-news-detail-body td { padding: 0.75rem; border: 0.0625rem solid #d7d7d7; text-align: left; vertical-align: top; }
.boomwow-news-detail-body th { background: #f4f4f4; font-weight: 700; }
.boomwow-news-detail-body hr { margin: 2rem 0; border: 0; border-top: 0.0625rem solid #d7d7d7; }

.boomwow-news-detail-related {
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 82.375rem);
    margin: 0 auto;
    padding: 4rem 0 8rem;
}

.boomwow-news-detail-related-heading { text-align: center; }
.boomwow-news-detail-related-heading h2 { margin: 0 0 4rem; font-size: clamp(2.5rem, 3vw, 3rem); }
.boomwow-news-detail-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.boomwow-news-detail-related-figure { aspect-ratio: 1.53; margin: 0; overflow: hidden; background: #eee; }
.boomwow-news-detail-related-figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.boomwow-news-detail-related-card:hover img { transform: scale(1.03); }
.boomwow-news-detail-related-date { margin-top: 0.75rem; color: #777; font-size: 0.75rem; }
.boomwow-news-detail-related-card h3 { margin: 0.5rem 0 0; font-size: 1rem; line-height: 1.25; color: #000 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }

.boomwow-site-footer > :nth-child(2) > div::before {
    content: '';
    position: absolute;
    top: 0.15rem;
    left: 0;
    width: 1.375rem;
    height: 1.375rem;
    background: var(--boomwow-site-pink);
    border-radius: 50%;
}

.boomwow-site-footer > :nth-child(2) > div:nth-child(2)::before { background: var(--boomwow-site-blue); }
.boomwow-site-footer > :nth-child(2) > div:nth-child(3)::before { background: var(--boomwow-site-orange); }
.boomwow-site-footer > :nth-child(2) > div:nth-child(4)::before { background: var(--boomwow-site-yellow); }
.boomwow-site-footer > :last-child > a { display: none; }
.boomwow-site-footer > :last-child p { margin: 0; }

@media (max-width: 63.9375rem) {
    .boomwow-support-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 2rem; }
    .boomwow-support-faq { grid-template-columns: 0.8fr 1fr; gap: 4rem; }
    .boomwow-news-detail-layout { gap: 5rem; }
}

@media (max-width: 47.9375rem) {
    .boomwow-support-hero { height: 42rem; min-height: 80dvh; }
    .boomwow-support-partnership { padding-top: 4rem; }
    .boomwow-support-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 1.5rem; }
    .boomwow-support-faq { grid-template-columns: 1fr; gap: 3rem; }
    .boomwow-support-accordion-button {
        min-height: 4rem;
        padding: 0.9rem 2rem 0.9rem 3rem;
        font-size: 0.875rem;
    }
    .boomwow-support-accordion-answer { padding: 0 2rem 1.25rem 3rem; }
    .boomwow-support-faq-figure { height: 31rem; }
    .boomwow-support-testimonials-grid { grid-template-columns: 1fr; }
    .boomwow-support-testimonial { min-height: 19rem; }

    .boomwow-news-detail-article { width: calc(100% - 2.5rem); padding-top: 6.5rem; }
    .boomwow-news-detail-hero { height: 21rem; margin: 0 0 3rem; }
    .boomwow-news-detail-layout { grid-template-columns: 1fr; gap: 3rem; }
    .boomwow-news-detail-meta { display: grid; grid-template-columns: 1fr auto; gap: 2rem; }
    .boomwow-news-detail-share { margin-top: 0; }
    .boomwow-news-detail-body { padding-bottom: 6rem; }
    .boomwow-news-detail-related { width: calc(100% - 2.5rem); padding-bottom: 6rem; }
    .boomwow-news-detail-related-grid { grid-template-columns: 1fr; gap: 3.5rem; }
}

@media (max-width: 29.9375rem) {
    .boomwow-index-navigation-link {
        font-size: 1.65rem;
    }

    .boomwow-index-story-heading h2 {
        font-size: 1.9rem;
    }

    .boomwow-index-story-swatch {
        width: 1.75rem;
        height: 1.75rem;
        margin-right: -0.85rem;
    }

    .boomwow-index-color-story-heading h3 {
        font-size: 1.5rem;
    }

    .boomwow-index-footer-heading h2 {
        font-size: 2.75rem;
    }

    .boomwow-index-subscription-field {
        grid-template-columns: 1fr;
    }

    .boomwow-index-subscription-submit {
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .boomwow-index-page *,
    .boomwow-index-page *::before,
    .boomwow-index-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-hero,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories {
        min-height: 0;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-hero-sticky,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories-sticky {
        position: relative;
        top: auto;
        height: auto;
        min-height: 0;
    }

    .js .boomwow-index-page.is-motion-ready [data-boomwow-reveal-item] {
        opacity: 1 !important;
        transform: none !important;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-color-story {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto;
        min-height: 42rem;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .boomwow-index-color-stories-sticky {
        height: auto;
        overflow: visible;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories-controls,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories-progress {
        display: none !important;
    }
}

/* boomwow-about: Figma page 5:889 */
.boomwow-about-hero {
    position: relative;
    height: 62.5rem;
    min-height: 100dvh;
    overflow: hidden;
    background: #7b0d09;
}

.boomwow-about-hero-media,
.boomwow-about-hero-media img {
    width: 100%;
    height: 100%;
}

.boomwow-about-hero-media img {
    object-fit: cover;
    object-position: center 47%;
}

.boomwow-about-hero-caption {
    position: absolute;
    right: var(--boomwow-site-gutter);
    bottom: 2.25rem;
    color: #fff;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.boomwow-about-intro {
    display: grid;
    justify-items: center;
    padding: 5.75rem var(--boomwow-site-gutter) 8rem;
    text-align: center;
}

.boomwow-about-eyebrow {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.boomwow-about-intro h1 {
    margin: 0;
    font-size: 3.75rem;
    line-height: 1;
}

.boomwow-about-intro-copy {
    max-width: 74.5rem;
    margin-top: 2rem;
    font-size: 1.25rem !important;
    line-height: 1.45;
    font-weight: 600 !important;
}

.boomwow-about-intro-copy p { margin: 0; }
.boomwow-about-intro-copy p + p { margin-top: 1rem; }

.boomwow-about-editorial {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 50rem;
}

.boomwow-about-editorial-media {
    min-height: 50rem;
    margin: 0;
    overflow: hidden;
}

.boomwow-about-editorial-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.boomwow-about-editorial-first .boomwow-about-editorial-media img { object-position: center; }
.boomwow-about-editorial-second .boomwow-about-editorial-media img { object-position: center 47%; }

.boomwow-about-editorial-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin:  auto;
}

.boomwow-about-editorial-number {
    margin-bottom: auto;
    font-size: 0.75rem;
}

.boomwow-about-editorial-copy h2 {
    margin: auto 0 1.5rem;
    font-size: 2.25rem;
    line-height: 1.3;
}

.boomwow-about-editorial-copy p {
    max-width: 24rem;
    margin: 0;
    color: #000;
    font-weight: 500;
    font-size: 1.125rem;
}

.boomwow-about-global {
    position: relative;
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 101.625rem);
    min-height: 50.8125rem;
    margin: 6rem auto 4.75rem;
    overflow: hidden;
}

.boomwow-about-global-map {
    position: absolute;
    inset: 0;
    margin: 0;
}

.boomwow-about-global-map img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.boomwow-about-global-copy {
    position: absolute;
    top: 50%;
    left: 2.25rem;
    z-index: 2;
    width: min(32rem, 42%);
    transform: translateY(-50%);
}

.boomwow-about-global-copy h2 {
    margin: 0 0 0.5rem;
    font-size: 3.75rem;
    line-height: 1;
}

.boomwow-about-global-copy p { max-width: 30rem; margin: 0; color: #000; font-weight: 500; font-size: 1.125rem; }

.boomwow-about-global-link {
    display: inline-grid;
    place-items: center;
    min-width: 12.1875rem;
    min-height: 3.375rem;
    margin-top: 2rem;
    color: #fff;
    background: var(--boomwow-site-red);
    font-size: 0.875rem;
}

.boomwow-about-global-stats {
    position: absolute;
    bottom: 4.25rem;
    left: 2.25rem;
    z-index: 2;
    display: flex;
    gap: 6rem;
    margin: 0;
}

.boomwow-about-global-stat dt {
    font-size: clamp(2rem, 3vw, 3.75rem);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.boomwow-about-global-stat [data-boomwow-count] {
    display: inline-block;
    min-width: 2ch;
}

.boomwow-about-global-stat [data-boomwow-count='100'] { min-width: 3ch; }

.boomwow-about-global-stat dd { margin: 0.25rem 0 0; font-size: 0.75rem; }

.boomwow-about-office {
    padding: 0.75rem 0 4rem;
    overflow: hidden;
}

.boomwow-about-office-heading {
    padding: 0 var(--boomwow-site-gutter) 1.5rem;
    text-align: center;
}

.boomwow-about-office-heading h2 {
    margin: 0;
    font-size: 3.75rem;
}

.boomwow-about-office-gallery {
    position: relative;
    width: 100%;
}

.boomwow-about-office-stage {
    position: relative;
    width: min(88.75%, 106.25rem);
    margin: 0 auto;
    overflow: visible;
    aspect-ratio: 3.05 / 1;
}

.boomwow-about-office-stage:focus-visible {
    outline: 0.125rem solid #111;
    outline-offset: 0.5rem;
}

.boomwow-about-office-item {
    position: absolute;
    padding: 0;
    overflow: hidden;
    background: #e8e8e8;
    border: 0;
    cursor: pointer;
    transition:
        left 0.82s cubic-bezier(0.2, 0.78, 0.24, 1),
        top 0.82s cubic-bezier(0.2, 0.78, 0.24, 1),
        width 0.82s cubic-bezier(0.2, 0.78, 0.24, 1),
        height 0.82s cubic-bezier(0.2, 0.78, 0.24, 1),
        opacity 0.5s ease,
        filter 0.5s ease;
    will-change: left, top, width, height;
}

.boomwow-about-office-item[data-boomwow-office-position='center'] {
    top: 0;
    left: 17.85%;
    z-index: 3;
    width: 64.3%;
    height: 100%;
    opacity: 1;
    filter: none;
}

.boomwow-about-office-item[data-boomwow-office-position='left'],
.boomwow-about-office-item[data-boomwow-office-position='right'] {
    top: 12.5%;
    z-index: 1;
    width: 17.5%;
    height: 75%;
    opacity: 0.88;
    filter: saturate(0.9);
}

.boomwow-about-office-item[data-boomwow-office-position='left'] { left: 0; }
.boomwow-about-office-item[data-boomwow-office-position='right'] { left: 82.5%; }

.boomwow-about-office-item picture,
.boomwow-about-office-item img {
    display: block;
    width: 100%;
    height: 100%;
}

.boomwow-about-office-item img {
    object-fit: cover;
    transition: transform 0.82s cubic-bezier(0.2, 0.78, 0.24, 1), filter 0.5s ease;
}

.boomwow-about-office-item[data-boomwow-office-position='center'] img { transform: scale(1); }
.boomwow-about-office-item[data-boomwow-office-position='left'] img,
.boomwow-about-office-item[data-boomwow-office-position='right'] img { transform: scale(1.035); }

.boomwow-about-office-item[data-boomwow-office-position='left']:hover img,
.boomwow-about-office-item[data-boomwow-office-position='right']:hover img {
    filter: saturate(1.08) contrast(1.02);
    transform: scale(1.07);
}

.boomwow-about-office-item:focus-visible {
    outline: 0.125rem solid #111;
    outline-offset: -0.25rem;
}

.boomwow-about-office-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.boomwow-about-office-control {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    color: #111;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    background: #fff;
    border: 0.0625rem solid #111;
    border-radius: 50%;
    transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.boomwow-about-office-control:hover,
.boomwow-about-office-control:focus-visible {
    color: #fff;
    background: #111;
    transform: scale(1.06);
}

.boomwow-about-office-control:focus-visible {
    outline: 0.125rem solid var(--boomwow-red);
    outline-offset: 0.1875rem;
}

.boomwow-about-office-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 4.75rem;
    color: #777;
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.boomwow-about-office-status-current { color: var(--boomwow-red); }
.boomwow-about-office-status-divider { color: #c7c7c7; }

/* boomwow-contact: Figma page 5:981 */
.boomwow-contact-intro {
    padding: 9rem var(--boomwow-site-gutter) 7rem;
}

.boomwow-contact-intro-heading {
    width: min(100%, 83.25rem);
    margin: 0 auto 2.25rem;
}

.boomwow-contact-eyebrow {
    display: block;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.boomwow-contact-intro h1 {
    margin: 0;
    font-size: clamp(3.75rem, 5.2vw, 6rem);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.055em;
}

.boomwow-contact-layout {
    display: grid;
    grid-template-columns: minmax(32rem, 1.45fr) minmax(23rem, 0.9fr);
    align-items: start;
    gap: clamp(2rem, 3.5vw, 4rem);
    width: min(100%, 83.25rem);
    margin: 0 auto;
}

.boomwow-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem 2.5rem;
    align-content: start;
    padding: 3rem 2rem 2.25rem;
    background: #f8f8f8;
}

.boomwow-contact-form-field { display: grid; gap: 0.55rem; }
.boomwow-contact-form-field-message { grid-column: 1 / -1; }

.boomwow-contact-form-field label {
    color: #171717;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1;
}

.boomwow-contact-form-field label span { margin-right: 0.125rem; color: var(--boomwow-site-red); }

.boomwow-contact-form-field input,
.boomwow-contact-form-field select,
.boomwow-contact-form-field textarea {
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    color: #111;
    background: #efefef;
    border: 0.0625rem solid transparent;
    border-radius: 0.75rem;
    outline: 0;
    font: inherit;
    font-size: 0.8125rem;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.boomwow-contact-form-field input::placeholder,
.boomwow-contact-form-field textarea::placeholder { color: #999; opacity: 1; }
.boomwow-contact-form-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #555 50%), linear-gradient(135deg, #555 50%, transparent 50%); background-position: calc(100% - 1rem) 50%, calc(100% - 0.75rem) 50%; background-size: 0.25rem 0.25rem, 0.25rem 0.25rem; background-repeat: no-repeat; }
.boomwow-contact-form-field input:focus,
.boomwow-contact-form-field select:focus,
.boomwow-contact-form-field textarea:focus { border-color: #111; background-color: #fff; box-shadow: 0 0 0 0.1875rem rgba(17, 17, 17, 0.08); }
.boomwow-contact-form-field textarea { min-height: 10.75rem; resize: vertical; }
.boomwow-contact-form-note { display: none; }

.boomwow-contact-form-submit {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 15rem);
    min-height: 3.25rem;
    margin-top: 0.25rem;
    color: #fff;
    background: var(--boomwow-site-red);
    border: 0;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.boomwow-contact-form-submit:hover { background: #a90000; transform: translateY(-0.125rem); }
.boomwow-contact-form-submit:focus-visible { outline: 0.1875rem solid rgba(205, 7, 0, 0.3); outline-offset: 0.1875rem; }

.boomwow-contact-form-status {
    grid-column: 1 / -1;
    min-height: 1rem;
    text-align: center;
    font-size: 0.75rem;
}

.boomwow-contact-product {
    position: relative;
    display: flex;
    flex-direction: column;
}

.boomwow-contact-product-copy { position: absolute; top: -2.45rem; left: 0; max-width: 30rem; margin: 0; }
.boomwow-contact-product-copy h2 { margin: 0 0 0.5rem; font-size: 1.75rem; }
.boomwow-contact-product-copy p { margin: 0; color: #111; font-size: 0.75rem; font-weight: 500; line-height: 1.45; }

.boomwow-contact-product-media {
    height: auto;
    aspect-ratio: 0.83;
    margin: 0;
    overflow: hidden;
    box-shadow: 1.25rem 1.25rem 1.75rem rgba(40, 0, 0, 0.22);
}

.boomwow-contact-product-media img { width: 100%; height: 100%; object-fit: cover; }

.boomwow-contact-celebration {
    position: relative;
    height: 50rem;
    color: #fff;
    overflow: hidden;
}

.boomwow-contact-celebration-media { position: absolute; inset: 0; margin: 0; }
.boomwow-contact-celebration-media::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.58); }
.boomwow-contact-celebration-media img { width: 100%; height: 100%; object-fit: cover; }

.boomwow-contact-celebration-overlay {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 2rem max(var(--boomwow-gutter), calc((100% - 100rem) / 2)) 1rem;
}

.boomwow-contact-celebration-heading { align-self: flex-start; margin-top: auto; }
.boomwow-contact-celebration-heading h2 { margin: 0; font-size: clamp(4rem, 5vw,5rem); line-height: 0.95; }

.boomwow-contact-details {
    position: absolute;
    top: 1.75rem;
    right: 4.75rem;
    left: 4.75rem;
    display: flex;
    justify-content: space-between;
}

.boomwow-contact-detail h3 { margin: 0 0 0.5rem; font-size: 1.125rem; line-height: 1.2; }
.boomwow-contact-detail ul { display: flex; align-items: center; gap: 0.625rem; margin: 0; padding: 0; list-style: none; }
.boomwow-contact-detail li { display: block; }
.boomwow-contact-detail li + li::before { content: none; }
.boomwow-contact-detail li a { width: 1.75rem; height: 1.75rem; display: grid; place-items: center; color: #111; background: #fff; border-radius: 50%; transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease; }
.boomwow-contact-detail li a:hover { color: #fff; background: var(--boomwow-site-red); transform: translateY(-0.125rem); }
.boomwow-contact-detail li a:focus-visible { outline: 0.1875rem solid rgba(255, 255, 255, 0.65); outline-offset: 0.1875rem; }
.boomwow-contact-detail li .iconfont { font-size: 0.875rem; line-height: 1; }

/* boomwow-products: Figma page 4:215 */
.boomwow-products-page main {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(19rem, 1fr);
    column-gap: 5rem;
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 87.5rem);
    margin: 0 auto;
    padding-top: 10.75rem;
}

.boomwow-products-hero { min-height: 36rem; }
.boomwow-products-hero-heading > span { font-size: clamp(2rem, 4.5vw, 4.5rem); font-weight: 700; line-height: 1.0; }

.boomwow-products-hero h1 {
    margin: 0;
    color: #ff1515;
    font-size: clamp(2rem, 4vw, 4rem) !important;
}

.boomwow-products-hero-gallery {
    display: grid;
    grid-template-columns: 14.625rem minmax(18rem, 29.5rem);
    gap: 0.75rem;
    margin-top: 3rem;
}

.boomwow-products-hero-figure { height: 19.75rem; margin: 0; overflow: hidden; }
.boomwow-products-hero-figure img { width: 100%; height: 100%; object-fit: cover; }

.boomwow-products-design {
    align-self: center;
    padding-bottom: 4rem;
}

.boomwow-products-design-kicker { margin-bottom: 1.5rem; font-size: 0.75rem; }
.boomwow-products-design-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.boomwow-products-design-heading h2 { margin: 0; font-size: 1.25rem; }
.boomwow-products-design-heading ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.boomwow-products-design-heading li { font-size: 0.75rem; font-weight: 600; line-height: 1.8; }
.boomwow-products-design-copy { font-size: 0.875rem; color: #444; text-align: justify; }
.boomwow-products-design-copy h3 { margin: 0 0 0.875rem; color: #0b0b0b; font-size: 0.875rem; font-weight: 400; }
.boomwow-products-design-copy p { margin: 0; }
.boomwow-products-design-copy p + p { margin-top: 1rem; }

.boomwow-products-manifesto {
    grid-column: 1 / -1;
    padding: 1.75rem 4rem 4rem;
    text-align: center;
}


.boomwow-products-catalog { grid-column: 1 / -1; }

.boomwow-products-catalog-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.5rem 0;
    border-bottom: 0.0625rem solid #d8d8d8;
}

.boomwow-products-catalog-heading { display: none; }
.boomwow-products-catalog-tools { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.boomwow-products-filter { display: flex; gap: 2.5rem; }
.boomwow-products-filter button { padding: 0; color: #aaa; background: transparent; border: 0; cursor: pointer; }
.boomwow-products-filter button[aria-pressed='true'] { color: #111; }
.boomwow-products-sorting { display: flex; align-items: center; gap: 0.5rem; }
.boomwow-products-sorting label { font-size: 0.875rem; }
.boomwow-products-sorting select { padding: 0.5rem 1.75rem 0.5rem 0.5rem; background: #fff; border: 0; }

.boomwow-products-series {
    display: grid;
    grid-template-columns: 19rem minmax(0, 1fr);
    gap: 3.5rem;
    padding: 3.75rem 0 6rem;
    border-bottom: 0.0625rem solid #d8d8d8;
}

.boomwow-products-series-intro > span { color: var(--boomwow-site-red); font-size: 1.5rem !important; font-weight: 600; }
.boomwow-products-series-intro h3 { margin: 0.5rem 0 1.25rem; font-size: 2.25rem; line-height: 1.25; }
.boomwow-products-series-copy { color: #666; font-size: 0.875rem; }
.boomwow-products-series-copy p { margin: 0; }
.boomwow-products-series-link { display: inline-block; margin-top: 2rem; padding-bottom: 0.25rem; border-bottom: 0.0625rem solid #111; font-size: 0.75rem; }

.boomwow-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.boomwow-products-card a { position: relative; display: block; color: #111; background: #f8f8f8; }
.boomwow-products-card figure { display: grid; place-items: center; aspect-ratio: 1; margin: 0; background: #f8f8f8; overflow: hidden; }
.boomwow-products-card figure img { width: 40%; height: 76%; object-fit: cover; transition: transform 0.45s ease; }
.boomwow-products-card-media { position: relative; }
.boomwow-products-series[data-boomwow-products-series='series-01'] .boomwow-products-card-media { aspect-ratio: 316 / 394; }
.boomwow-products-series[data-boomwow-products-series='series-02'] .boomwow-products-card-media { aspect-ratio: 314 / 401; }
.boomwow-products-card-media .boomwow-products-card-hover-image {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 0;
    transform: none;
    transition: opacity 0.28s ease;
    pointer-events: none;
}
.boomwow-products-card-media.is-hovering .boomwow-products-card-hover-image { opacity: 1; }
.boomwow-products-card-media.is-hovering > img:first-child { opacity: 0; }
.boomwow-products-card-media > img:first-child { transition: opacity 0.28s ease; }
.boomwow-products-card:hover .boomwow-products-card-media img { transform: none; }
.boomwow-products-card:hover figure img { transform: translateY(-0.3rem); }
.boomwow-products-card-copy { position: absolute; right: 1rem; bottom: 0.9rem; left: 1rem; padding: 0; }
.boomwow-products-card-copy span { display: block; color: #111; font-size: 0.6875rem; line-height: 1.35; }
.boomwow-products-card-copy h4 { display: none; }
.boomwow-products-grid-cans .boomwow-products-card figure img { width: 72%; height: 64%; }

/* boomwow-product-detail: Figma page 4:309 */
.boomwow-product-detail-page main > section {
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 87.5rem);
    margin-right: auto;
    margin-left: auto;
}

.boomwow-product-detail-overview {
    display: grid;
    grid-template-columns: minmax(34rem, 1.5fr) minmax(27rem, 1fr);
    gap: 5.5rem;
    padding-top: 10.25rem;
    padding-bottom: 4rem;
}

.boomwow-product-detail-gallery {
    display: grid;
    grid-template-columns: 9.375rem minmax(0, 1fr);
    gap: 2rem;
}

.boomwow-product-detail-thumbnails { display: grid; align-content: start; gap: 1rem; }
.boomwow-product-detail-thumbnails button { aspect-ratio: 0.9; padding: 0; background: #f7f7f7; border: 0.0625rem solid transparent; cursor: pointer; }
.boomwow-product-detail-thumbnails button[aria-pressed='true'] { border-color: var(--boomwow-site-red); }
.boomwow-product-detail-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.boomwow-product-detail-main-image { min-height: 33.75rem; margin: 0; background: #fafafa; }
.boomwow-product-detail-main-image img { width: 100%; height: 100%; object-fit: contain; }

.boomwow-product-detail-summary { padding-top: 0.25rem; }
.boomwow-product-detail-heading > span { color: #777; font-size: 0.75rem; }
.boomwow-product-detail-heading h1 { margin: 0.35rem 0; font-size: 2.25rem; }
.boomwow-product-detail-tagline { color: var(--boomwow-site-red); font-size: 0.875rem; }
.boomwow-product-detail-description { margin: 1.25rem 0 2rem; color: #555; font-size: 0.875rem; }
.boomwow-product-detail-description p { margin: 0; }

.boomwow-product-detail-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; }
.boomwow-product-detail-option-group { min-width: 0; padding: 0.75rem 0; margin: 0; border: 0; border-top: 0.0625rem solid #ddd; }
.boomwow-product-detail-option-group legend { padding: 0; font-size: 0.75rem; font-weight: 700; }
.boomwow-product-detail-color-options,
.boomwow-product-detail-choice-options { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.boomwow-product-detail-color-options label,
.boomwow-product-detail-choice-options label { position: relative; }
.boomwow-product-detail-color-options input,
.boomwow-product-detail-choice-options input { position: absolute; opacity: 0; }
.boomwow-product-detail-color-options span,
.boomwow-product-detail-choice-options span { display: grid; place-items: center; min-height: 2.25rem; padding: 0.35rem 0.75rem; border: 0.0625rem solid #ccc; font-size: 0.6875rem; cursor: pointer; }
.boomwow-product-detail-color-options input:checked + span,
.boomwow-product-detail-choice-options input:checked + span { color: #fff; background: var(--boomwow-site-red); border-color: var(--boomwow-site-red); }
.boomwow-product-detail-inquiry { grid-column: 1 / -1; min-height: 3.125rem; color: #fff; background: var(--boomwow-site-red); border: 0; cursor: pointer; }

.boomwow-product-detail-why,
.boomwow-product-detail-moments,
.boomwow-product-detail-motion,
.boomwow-product-detail-season { padding-top: 3rem; padding-bottom: 5rem; }

.boomwow-product-detail-why-heading span,
.boomwow-product-detail-moments-heading span,
.boomwow-product-detail-season-heading span { font-size: 0.75rem; color: #777; }

.boomwow-product-detail-why-heading h2,
.boomwow-product-detail-moments-heading h2,
.boomwow-product-detail-motion-heading h2,
.boomwow-product-detail-season-heading h2 { margin: 0.35rem 0; font-size: clamp(2.5rem, 3.5vw, 4.5rem); line-height: 0.95; }

.boomwow-product-detail-why-copy { margin: 0.75rem 0 3rem; color: var(--boomwow-site-red); font-size: 1.25rem; font-weight: 700; }
.boomwow-product-detail-why-copy p { margin: 0; }
.boomwow-product-detail-why-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.boomwow-product-detail-why-gallery figure { aspect-ratio: 1.08; margin: 0; overflow: hidden; }
.boomwow-product-detail-why-gallery img { width: 100%; height: 100%; object-fit: cover; }

.boomwow-product-detail-moments-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.boomwow-product-detail-moments-grid figure { margin: 0; }
.boomwow-product-detail-moments-grid img { width: 100%; aspect-ratio: 0.84; object-fit: cover; }
.boomwow-product-detail-moments-grid figcaption { margin-top: 0.75rem; font-size: 1.25rem; font-weight: 700; line-height: 1.2; }
.boomwow-product-detail-moments-grid figure > p { margin: 0.25rem 0 0; color: #777; font-size: 0.85rem;  }

.boomwow-product-detail-motion-heading { margin-bottom: 2rem; }
.boomwow-product-detail-motion-media { position: relative; aspect-ratio: 1.9; margin: 0; overflow: hidden; }
.boomwow-product-detail-motion-media img { width: 100%; height: 100%; object-fit: cover; }
.boomwow-product-detail-motion-media img[data-boomwow-product-video] { cursor: pointer; }
.boomwow-product-detail-motion-media.is-playing img { animation: boomwow-detail-motion-preview 2.6s ease-in-out infinite alternate; }
.boomwow-product-detail-video-modal[hidden] { display: none; }
.boomwow-product-detail-video-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 2rem; }
.boomwow-product-detail-video-backdrop { position: absolute; inset: 0; background: rgba(15, 15, 15, .82); }
.boomwow-product-detail-video-dialog { position: relative; z-index: 1; width: min(960px, 100%); aspect-ratio: 16 / 9; background: #000; box-shadow: 0 1rem 3rem rgba(0, 0, 0, .35); }
.boomwow-product-detail-video-dialog iframe { display: block; width: 100%; height: 100%; border: 0; }
.boomwow-product-detail-video-close { position: absolute; z-index: 2; top: -2.75rem; right: 0; width: 2rem; height: 2rem; padding: 0; color: #fff; background: transparent; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; }
.boomwow-product-video-open { overflow: hidden; }

@keyframes boomwow-detail-motion-preview {
    from { transform: scale(1); }
    to { transform: scale(1.045); }
}

.boomwow-product-detail-season-heading { margin-bottom: 2.5rem; }
.boomwow-product-detail-season-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.boomwow-product-detail-season-card > a { position: relative; display: block; color: #111; background: #f7f7f7; }
.boomwow-product-detail-season-card figure { display: grid; place-items: center; aspect-ratio: 0.8; margin: 0; background: #f7f7f7; }
.boomwow-product-detail-season-card img { width: 100%; height: 100%; object-fit: contain; }
.boomwow-product-detail-season-card > a > div { position: absolute; right: 1rem; bottom: 0.9rem; left: 1rem; padding: 0; }
.boomwow-product-detail-season-card span { display: block; color: #111; font-size: 0.6875rem; line-height: 1.35; }
.boomwow-product-detail-season-card h3 { margin: 0; color: #111; font-size: 0.6875rem !important; font-weight: 400; line-height: 1.35; }
.boomwow-product-detail-season-action { margin-top: 2rem; text-align: right; }
.boomwow-product-detail-season-action a { padding-bottom: 0.25rem; border-bottom: 0.0625rem solid #111; }

@media (max-width: 63.9375rem) {
    .boomwow-about-editorial-copy { padding: 4rem; }
    .boomwow-about-global-copy { width: 50%; }
    .boomwow-contact-layout { grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.8fr); }
    .boomwow-products-page main { grid-template-columns: 1.7fr 1fr; column-gap: 2.5rem; }
    .boomwow-products-series { grid-template-columns: 15rem minmax(0, 1fr); gap: 2rem; }
    .boomwow-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .boomwow-product-detail-overview { grid-template-columns: 1fr 0.8fr; gap: 3rem; }
    .boomwow-product-detail-gallery { grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; }
}

@media (max-width: 47.9375rem) {
    .boomwow-about-hero { height: 42rem; min-height: 75dvh; }
    .boomwow-about-intro { padding-top: 4.5rem; padding-bottom: 5rem; }
    .boomwow-about-intro-copy { font-size: 1.25rem; }
    .boomwow-about-editorial { grid-template-columns: 1fr; min-height: 0; }
    .boomwow-about-editorial-second .boomwow-about-editorial-copy { order: 2; }
    .boomwow-about-editorial-media { min-height: 31rem; }
    .boomwow-about-editorial-copy { min-height: 26rem; padding: 2.5rem 1.25rem; }
    .boomwow-about-global { width: calc(100% - 2.5rem); min-height: 40rem; margin-top: 3rem; }
    .boomwow-about-global-copy { top: 3rem; left: 0; width: 100%; transform: none; }
    .boomwow-about-global-stats { bottom: 1rem; left: 0; gap: 2.5rem; }
    .boomwow-about-office { padding-top: 3rem; }
    .boomwow-about-office-gallery { min-height: 0; padding-bottom: 0; }
    .boomwow-about-office-stage { width: calc(100% - 2.5rem); overflow: hidden; aspect-ratio: 4 / 3; }
    .boomwow-about-office-item[data-boomwow-office-position='center'] {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .boomwow-about-office-item[data-boomwow-office-position='left'],
    .boomwow-about-office-item[data-boomwow-office-position='right'] {
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 0.35;
    }
    .boomwow-about-office-item[data-boomwow-office-position='left'] { left: -105%; }
    .boomwow-about-office-item[data-boomwow-office-position='right'] { left: 105%; }
    .boomwow-about-office-status { min-width: 4.5rem; }

    .boomwow-contact-intro { padding-top: 7rem; padding-bottom: 5rem; }
    .boomwow-contact-intro-heading { margin-bottom: 2rem; }
    .boomwow-contact-intro h1 { font-size: clamp(3.25rem, 16vw, 4.75rem); }
    .boomwow-contact-layout { grid-template-columns: 1fr; }
    .boomwow-contact-form { grid-template-columns: 1fr; padding: 2rem 1.25rem; }
    .boomwow-contact-form-field-message,
    .boomwow-contact-form-submit,
    .boomwow-contact-form-status { grid-column: auto; }
    .boomwow-contact-product { margin-top: 0.5rem; }
    .boomwow-contact-product-copy { position: static; max-width: none; margin-bottom: 1.25rem; }
    .boomwow-contact-product-media { width: 100%; height: auto; aspect-ratio: 0.82; }
    .boomwow-contact-celebration { height: 38rem; }
    .boomwow-contact-celebration-overlay { padding: 1.25rem; }
    .boomwow-contact-details { top: 1.25rem; right: 1.25rem; left: 1.25rem; }

    .boomwow-products-page main { display: block; width: calc(100% - 2.5rem); padding-top: 8.5rem; }
    .boomwow-products-hero { min-height: 0; }
    .boomwow-products-hero-gallery { grid-template-columns: 0.7fr 1.3fr; }
    .boomwow-products-hero-figure { height: 15rem; }
    .boomwow-products-design { padding: 3rem 0; }
    .boomwow-products-manifesto { padding: 2.5rem 0; }
    .boomwow-products-catalog-tools { align-items: flex-start; gap: 1rem; }
    .boomwow-products-filter { gap: 1rem; overflow-x: auto; }
    .boomwow-products-series { grid-template-columns: 1fr; padding-top: 3rem; }
    .boomwow-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .boomwow-product-detail-page main > section { width: calc(100% - 2.5rem); }
    .boomwow-product-detail-overview { grid-template-columns: 1fr; padding-top: 8.5rem; }
    .boomwow-product-detail-gallery { grid-template-columns: 4.5rem minmax(0, 1fr); }
    .boomwow-product-detail-main-image { min-height: 25rem; }
    .boomwow-product-detail-options { grid-template-columns: 1fr; }
    .boomwow-product-detail-inquiry { grid-column: auto; }
    .boomwow-product-detail-why-gallery { grid-template-columns: 1fr; }
    .boomwow-product-detail-moments-grid,
    .boomwow-product-detail-season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0.75rem; }
    .boomwow-product-detail-motion-media { aspect-ratio: 1.15; }
}

/* boomwow-site: shared inner-page foundation */
.boomwow-site-page {
    --boomwow-site-red: #f61632;
    --boomwow-site-blue: #8DC8FD;
    --boomwow-site-orange: #FF6B00;
    --boomwow-site-yellow: #FFD53C;
    --boomwow-site-pink: #FF8CBB;
    --boomwow-site-ink: #0b0b0b;
    --boomwow-site-paper: #ffffff;
    --boomwow-site-soft: #f5f5f5;
    --boomwow-site-muted: #6e6e6e;
    --boomwow-site-gutter: clamp(1.5rem, 7.8vw, 9.375rem);
    margin: 0;
    color: var(--boomwow-site-ink);
    background: var(--boomwow-site-paper);
    font-family: 'Instrument Sans', Arial, sans-serif;
    line-height: 1.35;
    overflow-x: clip;
}

.boomwow-site-page *,
.boomwow-site-page *::before,
.boomwow-site-page *::after {
    box-sizing: border-box;
}

.boomwow-site-page img {
    display: block;
    max-width: 100%;
}

.boomwow-site-page a {
    color: var(--boomwow-site-paper);
    text-decoration: none;
}

.boomwow-site-page ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.boomwow-site-page button,
.boomwow-site-page input,
.boomwow-site-page textarea,
.boomwow-site-page select {
    font: inherit;
}

.boomwow-site-page :focus-visible {
    outline: 0.1875rem solid var(--boomwow-site-yellow);
    outline-offset: 0.25rem;
}

.boomwow-site-skip {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 1000;
    padding: 0.75rem 1rem;
    color: #000;
    background: #fff;
    transform: translateY(-160%);
    transition: transform 0.2s ease;
}

.boomwow-site-skip:focus {
    transform: translateY(0);
}

/* boomwow-site: header */
.boomwow-site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5.25rem;
    padding: 0 var(--boomwow-site-gutter);
    color: #111;
    transition: color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.boomwow-about-page .boomwow-site-header:not(.is-scrolled),
.boomwow-support-page .boomwow-site-header:not(.is-scrolled),
.boomwow-site-header.is-overlay:not(.is-scrolled) {
    color: #fff;
}

.boomwow-site-header.is-scrolled,
.boomwow-site-header.is-menu-open {
    color: #111;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(0.625rem);
}

.boomwow-news-detail-page .boomwow-news-detail-header {
    color: #111;
}

.boomwow-news-detail-page .boomwow-news-detail-header-logo img {
    filter: brightness(0);
}

.boomwow-site-logo,
.boomwow-site-header > a:first-child {
    position: relative;
    z-index: 2;
    display: block;
    width: 10.875rem;
}

.boomwow-site-logo img,
.boomwow-site-header > a:first-child img {
    width: 100%;
    height: auto;
}

.boomwow-site-header.is-scrolled > a:first-child img,
.boomwow-site-header.is-menu-open > a:first-child img {
    filter: brightness(0);
}

.boomwow-site-navigation ul,
.boomwow-site-navigation-list {
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 2.7vw, 3.25rem);
}

.boomwow-site-navigation a {
    position: relative;
    display: block;
    padding: 0.5rem 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.boomwow-site-navigation a::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0.2rem;
    left: 0;
    height: 0.0625rem;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.25s ease;
}

.boomwow-site-navigation a:hover::after,
.boomwow-site-navigation a[aria-current='page']::after {
    transform: scaleX(1);
    transform-origin: left;
}

.boomwow-site-menu-toggle {
    position: relative;
    z-index: 2;
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    color: currentColor;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.boomwow-site-menu-toggle > span,
.boomwow-site-menu-toggle > span::before,
.boomwow-site-menu-toggle > span::after {
    display: block;
    width: 1.5rem;
    height: 0.125rem;
    margin: auto;
    background: currentColor;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.boomwow-site-menu-toggle > span {
    position: relative;
}

.boomwow-site-menu-toggle > span::before,
.boomwow-site-menu-toggle > span::after {
    content: '';
    position: absolute;
    left: 0;
}

.boomwow-site-menu-toggle > span::before { top: -0.4375rem; }
.boomwow-site-menu-toggle > span::after { top: 0.4375rem; }

.boomwow-site-menu-toggle[aria-expanded='true'] > span { background: transparent; }
.boomwow-site-menu-toggle[aria-expanded='true'] > span::before { transform: translateY(0.4375rem) rotate(45deg); }
.boomwow-site-menu-toggle[aria-expanded='true'] > span::after { transform: translateY(-0.4375rem) rotate(-45deg); }

/* boomwow-site: footer */
.boomwow-site-footer {
    display: grid;
    grid-template-columns: minmax(28rem, 1.1fr) minmax(34rem, 0.9fr);
    gap: clamp(3rem, 7vw, 8.5rem);
    padding: 5.25rem var(--boomwow-site-gutter) 0;
    color: #080808;
    background: #fff;
    border-top: 0.0625rem solid #d8d8d8;
}

.boomwow-site-footer-lead h2,
.boomwow-site-footer > :first-child h2,
.boomwow-site-footer-title {
    max-width: 46rem;
    margin: 0 0 3.75rem;
    font-size: clamp(3.25rem, 5.1vw, 6.875rem);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: 0;
}

.boomwow-site-subscription {
    width: min(100%, 20.25rem);
}

.boomwow-site-subscription label {
    display: block;
    margin-bottom: 1.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.boomwow-site-subscription > div {
    display: grid;
    grid-template-columns: 1fr;
}

.boomwow-site-subscription input {
    min-width: 0;
    padding: 0.75rem 0;
    color: #111;
    background: transparent;
    border: 0;
    border-bottom: 0.0625rem solid #222;
    border-radius: 0;
}

.boomwow-site-subscription button {
    min-height: 3.125rem;
    margin-top: 1.25rem;
    color: #fff;
    background: var(--boomwow-site-red);
    border: 0;
    cursor: pointer;
}

.boomwow-site-subscription output {
    display: block;
    min-height: 1.25rem;
    margin-top: 0.5rem;
    font-size: 0.75rem;
}

.boomwow-site-footer-links,
.boomwow-site-footer > :nth-child(2) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.75rem;
    align-self: end;
    padding-bottom: 4.75rem;
}

.boomwow-site-footer-links > div,
.boomwow-site-footer > :nth-child(2) > div {
    position: relative;
    padding-left: 2.25rem;
}

.boomwow-site-footer-links i {
    position: absolute;
    top: 0.15rem;
    left: 0;
    width: 1.375rem;
    height: 1.375rem;
    background: #111;
    border-radius: 50%;
}

.boomwow-site-footer-links i.is-pink { background: var(--boomwow-site-pink); }
.boomwow-site-footer-links i.is-blue { background: var(--boomwow-site-blue); }
.boomwow-site-footer-links i.is-orange { background: var(--boomwow-site-orange); }
.boomwow-site-footer-links i.is-yellow { background: var(--boomwow-site-yellow); }

.boomwow-site-footer-links h3,
.boomwow-site-footer > :nth-child(2) h3 {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.boomwow-site-footer-links li + li,
.boomwow-site-footer > :nth-child(2) li + li { margin-top: 0.55rem; }
.boomwow-site-footer-links a,
.boomwow-site-footer > :nth-child(2) a,
.boomwow-site-footer > :nth-child(2) li { font-size: 0.75rem; }
.boomwow-site-footer-links a:hover,
.boomwow-site-footer > :nth-child(2) a:hover { text-decoration: underline; }

.boomwow-site-footer-bottom,
.boomwow-site-footer > :last-child {
    grid-column: 1 / -1;
    padding: 1.25rem 0;
    font-size: 0.75rem;
    text-align: center;
    border-top: 0.0625rem solid #d8d8d8;
}

/* boomwow-news: editorial news index */
.boomwow-news-masthead {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.35fr);
    align-items: end;
    gap: 3rem;
    min-height: 42rem;
    padding: 10rem var(--boomwow-site-gutter) 4.5rem;
    border-bottom: 0.0625rem solid #111;
}

.boomwow-news-masthead-copy span,
.boomwow-news-masthead-note {
    font-size: 0.875rem;
}

.boomwow-news-masthead h1 {
    margin: 1.5rem 0 0;
    font-size: clamp(5rem, 11vw, 13rem);
    line-height: 0.78;
    letter-spacing: 0;
}

.boomwow-news-masthead-note {
    max-width: 19rem;
    padding-bottom: 0.75rem;
}

.boomwow-news-filters {
    display: flex;
    gap: clamp(1.25rem, 3vw, 3.5rem);
    padding: 1.5rem var(--boomwow-site-gutter);
    overflow-x: auto;
    border-bottom: 0.0625rem solid #d8d8d8;
}

.boomwow-news-filters a {
    flex: 0 0 auto;
    font-size: 0.875rem;
    color: #777;
}

.boomwow-news-filters a[aria-current='page'],
.boomwow-news-filters a:hover { color: #111; }

.boomwow-news-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(22rem, 0.55fr);
    gap: clamp(2.5rem, 5vw, 6.25rem);
    padding: 6.25rem var(--boomwow-site-gutter) 8rem;
}

.boomwow-news-feature-media {
    display: block;
    aspect-ratio: 1.6;
    overflow: hidden;
}

.boomwow-news-feature-media img,
.boomwow-news-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.boomwow-news-feature-media:hover img,
.boomwow-news-card-media:hover img { transform: scale(1.035); }

.boomwow-news-feature-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 0.5rem;
}

.boomwow-news-feature-copy > div:first-child,
.boomwow-news-card-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.75rem;
    color: #6f6f6f;
}

.boomwow-news-feature-copy h2 {
    margin: 1.5rem 0;
    font-size: clamp(2.25rem, 3.1vw, 4rem);
    line-height: 1.02;
}

.boomwow-news-feature-copy > div:nth-of-type(2) {
    color: #4f4f4f;
    font-size: 0.9375rem;
}

.boomwow-news-read-more {
    align-self: flex-start;
    margin-top: 2.25rem;
    padding-bottom: 0.35rem;
    font-size: 0.875rem;
    border-bottom: 0.0625rem solid currentColor;
}

.boomwow-news-read-more span { color: var(--boomwow-site-red); }

.boomwow-news-archive {
    padding: 0 var(--boomwow-site-gutter) 10rem;
}

.boomwow-news-archive-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 2rem 0;
    border-top: 0.0625rem solid #111;
}

.boomwow-news-archive-heading h2 {
    margin: 0;
    font-size: clamp(2.75rem, 5vw, 6rem);
}

.boomwow-news-archive-heading span { font-size: 0.75rem; }

.boomwow-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.boomwow-news-card-media {
    display: block;
    aspect-ratio: 0.86;
    overflow: hidden;
    background: #eee;
}

.boomwow-news-card-media.is-landscape img { object-position: center; }
.boomwow-news-card-meta { margin-top: 1rem; }

.boomwow-news-card h3 {
    margin: 0.75rem 0 0;
    font-size: clamp(1.25rem, 1.6vw, 1.75rem);
    line-height: 1.12;
}

@media (max-width: 63.9375rem) {
    .boomwow-site-footer {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .boomwow-site-footer-links { align-self: auto; }
    .boomwow-news-masthead { grid-template-columns: 1fr; }
    .boomwow-news-feature { grid-template-columns: 1fr; }
    .boomwow-news-feature-copy { max-width: 42rem; }
}

@media (max-width: 47.9375rem) {
    .boomwow-site-page { --boomwow-site-gutter: 1.25rem; }

    .boomwow-site-header {
        min-height: 4.5rem;
        padding: 0 var(--boomwow-site-gutter);
    }

    .boomwow-site-logo,
    .boomwow-site-header > a:first-child { width: 8.5rem; }

    .boomwow-site-menu-toggle { display: block; }

    .boomwow-site-navigation {
        position: fixed;
        inset: 0;
        display: grid;
        align-items: center;
        padding: 6rem 1.5rem 2rem;
        color: #111;
        background: #fff;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-1rem);
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    }

    .boomwow-site-navigation.is-open {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .boomwow-site-navigation ul,
    .boomwow-site-navigation-list {
        display: grid;
        gap: 0;
    }

    .boomwow-site-navigation li { border-bottom: 0.0625rem solid #ddd; }
    .boomwow-site-navigation a { padding: 1rem 0; font-size: 1.5rem; }

    .boomwow-site-footer {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding-top: 3.75rem;
    }

    .boomwow-site-footer-lead h2,
    .boomwow-site-footer > :first-child h2,
    .boomwow-site-footer-title { font-size: 3.25rem; }

    .boomwow-site-footer-links,
    .boomwow-site-footer > :nth-child(2) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem 1.25rem;
        padding-bottom: 3rem;
    }

    .boomwow-news-masthead {
        min-height: 32rem;
        padding-top: 8rem;
    }

    .boomwow-news-masthead h1 { font-size: clamp(4rem, 21vw, 6rem); }
    .boomwow-news-feature { padding-top: 3.5rem; padding-bottom: 5rem; }
    .boomwow-news-feature-media { aspect-ratio: 1.15; }
    .boomwow-news-archive { padding-bottom: 6rem; }
    .boomwow-news-grid { grid-template-columns: 1fr; gap: 3.75rem; }
    .boomwow-news-card-media { aspect-ratio: 1.05; }
}

@media (prefers-reduced-motion: reduce) {
    .boomwow-site-page *,
    .boomwow-site-page *::before,
    .boomwow-site-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Instrument Sans', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    background: #fff;
    overflow-x: hidden;
    min-height: 100vh;
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

body::-webkit-scrollbar {
    display: none;
}
/* wow.js 动画元素初始样式 - 修复滚动到底部出现空白的问题 */
.wow {
    visibility: hidden;
    overflow: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

/* 灰度图片效果 */
.grayscale {
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}

.grayscale:hover {
    filter: grayscale(0);
}
.grayscale-index1 {
    z-index: 1;
}
.grayscale-index2 {
    z-index: 2;
}
.container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 7.4375rem;
    box-sizing: border-box;
}

/* sljy-index-header */
.sljy-index-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.95);
    transition: all 0.3s ease;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.05);
}

.sljy-index-header.scrolled {
    background: #fff;
    box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}

.sljy-index-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 6.25rem;
    padding: 0 8.8125rem;
}

.sljy-index-hd-l {
    flex: 0 0 auto;
}

.sljy-index-hd-logo {
    position: relative;
    height: 3.125rem;
    width: auto;
}

.sljy-index-hd-logo .logo-default,
.sljy-index-hd-logo .logo-scrolled {
    height: 3.125rem;
    width: auto;
    display: block;
}

.sljy-index-hd-nav {
    display: flex;
    align-items: center;
}

.sljy-index-hd-nav ul {
    display: flex;
    gap: 2.8125rem;
    font-size: 1.125rem;
    line-height: 2.1875rem;
}

.sljy-index-hd-nav li a {
    font-weight: 600;
    color: #333;
    transition: color 0.3s;
    font-size: 1rem;
    letter-spacing: 0.0625rem;
}

.sljy-index-hd-nav li a:hover,
.sljy-index-hd-nav li a.active {
    color: #0066cc;
}

/* sljy-index-hd-submenu */
.sljy-index-hd-has-submenu {
    position: relative;
}

.sljy-index-hd-has-submenu > a {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.sljy-index-hd-has-submenu > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 0.3125rem solid transparent;
    border-right: 0.3125rem solid transparent;
    border-top: 0.3125rem solid #333;
    margin-left: 0.25rem;
    transition: transform 0.3s ease, border-top-color 0.3s ease;
}

.sljy-index-hd-has-submenu:hover > a::after {
    transform: rotate(180deg);
    border-top-color: #0066cc;
}

.sljy-index-hd-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 0.75rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 200;
}

.sljy-index-hd-has-submenu:hover .sljy-index-hd-submenu {
    opacity: 1;
    visibility: visible;
}

.sljy-index-hd-submenu-inner {
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.12);
    padding: 0.5rem 0;
    min-width: 22rem;
    animation: sljySubmenuFadeIn 0.3s ease;
}

@keyframes sljySubmenuFadeIn {
    from {
        opacity: 0;
        transform: translateY(-0.5rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sljy-index-hd-submenu-item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.75rem 1.25rem;
    transition: background 0.2s ease;
}

.sljy-index-hd-submenu-item:hover {
    background: #f5f7fa;
}

.sljy-index-hd-submenu-icon {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f4f8;
    border-radius: 0.5rem;
    transition: background 0.3s ease;
}

.sljy-index-hd-submenu-item:hover .sljy-index-hd-submenu-icon {
    background: #e6f0ff;
}

.sljy-index-hd-submenu-icon img {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}

.sljy-index-hd-submenu-text {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.sljy-index-hd-submenu-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.sljy-index-hd-submenu-item:hover .sljy-index-hd-submenu-title {
    color: #0066cc;
}

.sljy-index-hd-submenu-desc {
    font-size: 0.75rem;
    color: #999;
    line-height: 1.4;
}

/* sljy-index-mob-submenu */
.sljy-index-mob-has-submenu > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sljy-index-mob-has-submenu > a .icon-xiangxia {
    font-size: 0.75rem;
    transition: transform 0.3s ease;
}

.sljy-index-mob-has-submenu.open > a .icon-xiangxia {
    transform: rotate(180deg);
}

.sljy-index-mob-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.sljy-index-mob-has-submenu.open .sljy-index-mob-submenu {
    max-height: 25rem;
}

.sljy-index-mob-submenu-item {
    display: block;
    padding: 0.625rem 0 0.625rem 1.5rem;
    color: #666;
    font-size: 0.875rem;
    border-bottom: 0.0625rem solid #f0f0f0;
    transition: color 0.3s ease, padding-left 0.3s ease;
}

.sljy-index-mob-submenu-item:hover {
    color: #0066cc;
    padding-left: 2rem;
}

.sljy-index-hd-r {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.sljy-index-hd-sear {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.sljy-index-hd-sear .icon {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat;
    transition: all 0.3s;
}

.sljy-index-hd-sear:hover .icon {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230066cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") center/contain no-repeat;
}

.sljy-index-hd-sear-box {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 110;
    display: none;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.sljy-index-hd-sear-box.show {
    display: block;
}

.sljy-index-hd-sear-box .box {
    max-width: 50rem;
    line-height: 3.75rem;
    width: 90%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 0.625rem;
    display: flex;
    overflow: hidden;
    box-shadow: 0 0.625rem 2.5rem rgba(0, 0, 0, 0.3);
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from { transform: translate(-50%, -45%); opacity: 0; }
    to { transform: translate(-50%, -50%); opacity: 1; }
}

.sljy-index-hd-sear-box .ipt-txt {
    flex: 1;
    height: 3.75rem;
    padding: 0 1.25rem;
    border: none;
    outline: none;
    font-size: 1rem;
    color: #333;
    font-family: 'Instrument Sans', Arial, sans-serif;
}

.sljy-index-hd-sear-box .submit {
    width: 3.75rem;
    height: 3.75rem;
    border: none;
    cursor: pointer;
    background: #0066cc;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
    background-size: 1.25rem;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-color 0.3s;
}

.sljy-index-hd-sear-box .submit:hover {
    background-color: #0052a3;
}

.sljy-index-hd-lang {
    position: relative;
    padding-left: 1.25rem;
    border-left: 0.0625rem solid #333;
    height: 1.25rem;
}

.sljy-index-hd-lang .font {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #333;
    font-size: 0.875rem;
    margin: -0.3125rem;
}

.sljy-index-hd-lang .font i {
    margin-right: 0.3125rem;
    font-size: 1.25rem;
}

.sljy-index-hd-lang .font::after {
    content: '\e772';
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.3125rem;
    font-family: 'iconfont';
    font-size: 0.75rem;
}

.sljy-index-hd-lang .drop {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 0.625rem;
    display: none;
}

.sljy-index-hd-lang:hover .drop {
    display: block;
    animation: fadeInDown 0.2s ease;
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-0.3125rem); }
    to { opacity: 1; transform: translateY(0); }
}

.sljy-index-hd-lang .dropbox {
    background: #fff;
    padding: 0.625rem;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.2);
    min-width: 6.25rem;
}

.sljy-index-hd-lang .lk {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.625rem;
    color: #333;
    font-size: 0.875rem;
    border-radius: 0.25rem;
    transition: background 0.2s;
}

.sljy-index-hd-lang .lk:hover {
    background: #f0f0f0;
}

.sljy-index-hd-lang .ic {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    border-radius: 50%;
}

.sljy-index-sj-menu {
    display: none;
    font-size: 1.5rem;
    color: #333;
    cursor: pointer;
    z-index: 10;
}
.sljy-index-sj-menu .icon-caidan {
    color: #333;
    font-size: 1.25rem;
}
/* 移动端菜单容器 */
.sljy-index-mob-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 18.75rem;
    height: 100vh;
    background: #fff;
    box-shadow: -0.25rem 0 1.25rem rgba(0, 0, 0, 0.1);
    z-index: 120;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    padding-top: 6.25rem;
}

.sljy-index-mob-nav.show {
    transform: translateX(0);
}

.sljy-index-mob-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-left: 1.5rem;
}

.sljy-index-mob-nav ul li {
    margin-bottom: 0.5rem;
}

.sljy-index-mob-nav ul li a {
    display: block;
    padding: 1rem 0;
    color: #333;
    font-size: 1rem;
    text-decoration: none;
    border-bottom: 0.0625rem solid #eee;
    transition: color 0.3s;
}

.sljy-index-mob-nav ul li a:hover,
.sljy-index-mob-nav ul li a.active {
    color: #0066cc;
}

/* 移动端菜单遮罩 */
.sljy-index-mob-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 110;
    display: none;
}

.sljy-index-mob-overlay.show {
    display: block;
}

@media (max-width: 1200px) {
    .sljy-index-header .container {
        padding: 0 2rem;
    }

    .sljy-index-hd-nav ul {
        gap: 1.25rem;
    }

    .sljy-index-hd-nav li a {
        font-size: 0.75rem;
    }

    .sljy-index-hd-submenu-inner {
        min-width: 18rem;
    }

    .sljy-index-hd-submenu-title {
        font-size: 0.8125rem;
    }

    .sljy-index-hd-submenu-desc {
        font-size: 0.6875rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-hd-nav {
        display: none;
    }

    .sljy-index-sj-menu {
        display: block;
        order: 2;
        margin-left: 1rem;
    }

    .sljy-index-hd-r {
        order: 1;
        margin-left: auto;
        gap: 1rem;
    }
}

@media (max-width: 768px) {
    .sljy-index-header .container {
        padding: 0 1rem;
    }

    .container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0px 1.4375rem;
    box-sizing: border-box;

}
    /* .sljy-index-hd-lang {
        display: none;
    } */

    .sljy-index-hd-r {
        gap: 0.75rem;
    }
    .sljy-index-header-placeholder {
      height: 3rem !important;
     }
}

/* sljy-index-header-placeholder */
.sljy-index-header-placeholder {
    height:2rem;
}

/* sljy-index-hero */
.sljy-index-hero {
    padding: 8.25rem 0;
    background: #fff;
}

.sljy-index-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.sljy-index-hero-left {
    max-width: 37.5rem;
    position: relative;
}

.sljy-index-hero-slides {
    position: relative;
    min-height: 28rem;
}

.sljy-index-hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-2rem);
    transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}

.sljy-index-hero-slide.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    position: relative;
}

.sljy-index-hero-tag {
    display: inline-block;
    background: #ffd100;
    color: #000;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    padding: 0.5rem 1.25rem;
    margin-bottom: 2rem;
    background-color: #ffd700;
    border-radius: 0.25rem;
}

.sljy-index-hero-title {
    font-size: 3.75rem;
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.sljy-index-hero-desc {
    font-size: 1rem;
    color: #383838;
    line-height: 1.8;
    margin-bottom: 2.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 4.8rem;
}

.sljy-index-hero-btns {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 4rem;
}

.sljy-index-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.sljy-index-hero-btn-primary {
    background: #0066cc;
    color: #fff;
    border-radius: 0.25rem;
}

.sljy-index-hero-btn-primary:hover {
    background: #0052a3;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.5rem 1rem rgba(0, 102, 204, 0.3);
}

.sljy-index-hero-btn-secondary {
    background: transparent;
    color: #0066cc;
    border: solid 0.1rem #0066cc;
    font-weight: normal;
    border-radius: 0.25rem;
}

.sljy-index-hero-btn-secondary:hover {
    background: #0066cc;
    color: #fff;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.5rem 1rem rgba(0, 102, 204, 0.3);
}

.sljy-index-hero-stats {
    display: flex;
    gap: 8rem;
}

.sljy-index-hero-stat {
    text-align: left;
}

.sljy-index-hero-stat-num {
    display: block;
    font-size: 2.5rem;
    font-weight: 900;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}

.sljy-index-hero-stat-text {
    display: block;
    font-size: 0.75rem;
    color: #999;
    text-transform: capitalize;
}

.sljy-index-hero-right {
    display: flex;
    justify-content: flex-end;
}

.sljy-index-hero-img-wrapper {
    position: relative;
    width: 100%;
    max-width: 40rem;
}

.sljy-index-hero-img-slides {
    position: relative;
    width: 100%;
    height: 48rem;
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.15);
}

.sljy-index-hero-img-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.sljy-index-hero-img-slide.active {
    opacity: 1;
    visibility: visible;
}

.sljy-index-hero-img-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sljy-index-hero-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 2rem;
}

.sljy-index-hero-prev,
.sljy-index-hero-next {
    width: 3rem;
    height: 3rem;
    background: #f5f5f5;
    border: none;
    border-radius: 50%;
    color: #1a1a1a;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.sljy-index-hero-prev:hover,
.sljy-index-hero-next:hover {
    background: #0066cc;
    color: #fff;
    transform: scale(1.1);
}

.sljy-index-hero-dots {
    display: flex;
    gap: 0.75rem;
}

.sljy-index-hero-dot {
    width: 0.75rem;
    height: 0.75rem;
    background: #ddd;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sljy-index-hero-dot.active {
    background: #0066cc;
    transform: scale(1.2);
}

.sljy-index-hero-dot:hover {
    background: #0066cc;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-hero-content {
        gap: 3rem;
    }

    .sljy-index-hero-title {
        font-size: 3rem;
    }

    .sljy-index-hero-stats {
        gap: 3rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-hero-content {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }

    .sljy-index-hero-left {
        max-width: 100%;
    }

    .sljy-index-hero-right {
        justify-content: center;
    }

    .sljy-index-hero-title {
        font-size: 2.5rem;
    }

    .sljy-index-hero-btns {
        justify-content: center;
        flex-wrap: wrap;
    }

    .sljy-index-hero-stats {
        justify-content: center;
        gap: 3rem;
    }

    .sljy-index-hero-stat {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .sljy-index-hero {
        padding: 8rem 0;
    }

    .sljy-index-hero-title {
        font-size: 2rem;
    }

    .sljy-index-hero-desc {
        font-size: 0.875rem;
    }

    .sljy-index-hero-btn {
        padding: 0.875rem 1.5rem;
        font-size: 0.75rem;
    }

    .sljy-index-hero-stats {
        gap: 2rem;
    }

    .sljy-index-hero-stat-num {
        font-size: 1.75rem;
    }
    .sljy-index-hero-img-box{
        min-height: auto;
    }
    .sljy-index-hero-img-slides{
        height: 26rem;
    }
}

/* sljy-index-applications */
.sljy-index-applications {
    background: #0066cc;
    padding: 5rem 0;
}

.sljy-index-applications-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
}

.sljy-index-applications-left {
    max-width: 50%;
}

.sljy-index-applications-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #ffd100;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-index-applications-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.sljy-index-applications-nav {
    display: flex;
    gap: 0.75rem;
    padding: 0.5rem;
}

.sljy-index-applications-prev,
.sljy-index-applications-next {
    width: 3rem;
    height: 3rem;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.sljy-index-applications-prev:hover,
.sljy-index-applications-next:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.sljy-index-applications-wrapper {
    overflow: hidden;
    position: relative;
}

.sljy-index-applications-track {
    display: flex;
    gap: 1.5rem;
    transition: transform 0.5s ease;
}

.sljy-index-applications-card {
    flex: 0 0 calc((100% - 6.5rem) / 4 - 0.175rem);
    max-width: 26rem;
    height: 36rem;
    border-radius: 0.5rem;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
}

.sljy-index-applications-card:hover {
    transform: translateY(-0.625rem);
}

.sljy-index-applications-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.sljy-index-applications-card-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.sljy-index-applications-card:hover .sljy-index-applications-card-bg img {
    transform: scale(1.1);
}

.sljy-index-applications-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 102, 204, 0.9) 0%, rgba(0, 102, 204, 0.3) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.sljy-index-applications-card:hover .sljy-index-applications-card-overlay {
    opacity: 1;
}

.sljy-index-applications-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
    transform: translateY(2rem);
    transition: transform 0.4s ease, padding 0.4s ease;
}

.sljy-index-applications-card:hover .sljy-index-applications-card-content {
    transform: translateY(0);
    padding-bottom: 2.5rem;
}

.sljy-index-applications-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    margin-bottom: 1rem;
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity 0.4s ease, transform 0.4s ease, background 0.3s ease;
}

.sljy-index-applications-card:hover .sljy-index-applications-card-icon {
    opacity: 1;
    transform: translateY(0);
}

.sljy-index-applications-card-icon i {
    font-size: 1.25rem;
    color: #fff;
    transition: transform 0.3s ease;
}

.sljy-index-applications-card:hover .sljy-index-applications-card-icon:hover i {
    transform: translateX(0.25rem);
}

.sljy-index-applications-card-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.75rem;
    transition: color 0.3s ease;
}

.sljy-index-applications-card-desc {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.sljy-index-applications-card:hover .sljy-index-applications-card-desc {
    opacity: 1;
    transform: translateY(0);
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-applications-card {
        flex: 0 0 calc((100% - 3rem) / 3);
        min-width: 15.625rem;
    }

    .sljy-index-applications-title {
        font-size: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-applications-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .sljy-index-applications-left {
        max-width: 100%;
    }

    .sljy-index-applications-card {
        flex: 0 0 calc((100% - 1.5rem) / 2);
        min-width: 12.5rem;
    }
}

@media (max-width: 768px) {
    .sljy-index-applications {
        padding: 3rem 0;
    }

    .sljy-index-applications-title {
        font-size: 1.5rem;
    }

    .sljy-index-applications-card {
        flex: 0 0 calc(100% - 1rem);
        min-width: 100%;
    }

    .sljy-index-applications-card-img {
        height: 12.5rem;
    }
}

/* sljy-index-production */
.sljy-index-production {
    position: relative;
    padding: 10.25rem 0 6.25rem;
    overflow: hidden;
}

.sljy-index-production-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.sljy-index-production-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sljy-index-production-content {
    position: relative;
    z-index: 1;
}

.sljy-index-production-header {
    display: flex;
    justify-content: space-between;
    align-items: anchor-center;
    margin-bottom: 2rem;
    color: #fff;
}

.sljy-index-production-header-left {
    flex: 1;
}

.sljy-index-production-header-right {
    flex: 1;
    text-align: right;
}

.sljy-index-production-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #ffd700;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-index-production-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.sljy-index-production-desc {
    font-size: 1rem;
    color: #fff;
    line-height: 1.6;
    text-align: left;
}

.sljy-index-production-main {
    display: flex;
    gap: 3rem;
}

.sljy-index-production-left {
    flex: 1;
}

.sljy-index-production-img-wrapper {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
}

.sljy-index-production-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.sljy-index-production-img.active {
    opacity: 1;
    visibility: visible;
    position: relative;
}

.sljy-index-production-img img {
    width: 100%;
    height: 31.25rem;
    object-fit: cover;
}

.sljy-index-production-cert {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    background: #ffd700;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    z-index: 2;
}

.sljy-index-production-cert span {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
}

.sljy-index-production-right {
    flex: 1;
    display: flex;
    align-items: center;
}

.sljy-index-production-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    width: 100%;
}

.sljy-index-production-card {
    backdrop-filter: blur(0.5rem);
    border-radius: 1rem;
    background-color: #4a4a4a;
    padding: 2rem;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 0.125rem solid transparent;
}

.sljy-index-production-card:hover {
    background: rgba(255, 255, 255, 0.15);
}

.sljy-index-production-card.active {
    background: #ffd700;
    border-color: #ffd700;
}

.sljy-index-production-card-icon {
    position: relative;
    width: 2rem;
	height: 2rem;
    margin-bottom: 1.5rem;
}

.sljy-index-production-card-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sljy-index-production-card-icon .active-icon{
    display: block;
}

.sljy-index-production-card-icon .inactive-icon {
    display: none;
}

.sljy-index-production-card-icon.active .active-icon{
    display: none;
}
.sljy-index-production-card-icon.active .active-icon{
    display: block;
}

.sljy-index-production-card-content {
    z-index: 2;
}

.sljy-index-production-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.75rem;
}

.sljy-index-production-card.active .sljy-index-production-card-title {
    color: #1a1a1a;
}

.sljy-index-production-card-desc {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
}

.sljy-index-production-card.active .sljy-index-production-card-desc {
    color: #1a1a1a;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-production-title {
        font-size: 2.5rem;
    }

    .sljy-index-production-img img {
        height: 25rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-production-header {
        flex-direction: column;
        gap: 1.5rem;
    }

    .sljy-index-production-header-right {
        text-align: left;
    }

    .sljy-index-production-main {
        flex-direction: column;
    }

    .sljy-index-production-img img {
        height: 21.875rem;
    }
}

@media (max-width: 768px) {
    .sljy-index-production {
        padding: 7rem 0 4rem;
    }

    .sljy-index-production-title {
        font-size: 2rem;
    }

    .sljy-index-production-cards {
        grid-template-columns: 1fr;
    }

    .sljy-index-production-img img {
        height: 18.75rem;
    }
}

@media (max-width: 480px) {
    .sljy-index-production-title {
        font-size: 1.5rem;
    }

    .sljy-index-production-card {
        padding: 1.5rem;
    }
}

/* sljy-index-products */
.sljy-index-products {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-index-products-header {
    text-align: left;
    margin-bottom: 4rem;
}

.sljy-index-products-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-index-products-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
}

.sljy-index-products-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sljy-index-product-row {
    display: flex;
    gap: 1.5rem;
}

.sljy-index-product-item {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    cursor: pointer;
    transition: transform 0.4s ease;
}

.sljy-index-product-item:hover {
    transform: translateY(-0.5rem);
}

/* 第一行：3张相同大小的卡片 */
.sljy-index-product-row-first .sljy-index-product-item {
    flex: 1;
}

.sljy-index-product-item-large {
    flex: 1;
}

/* 第二行：4张不同大小的卡片 */
.sljy-index-product-row-second .sljy-index-product-item-xl {
    flex: 1.5;
}

.sljy-index-product-row-second .sljy-index-product-item-md {
    flex: 1;
}

.sljy-index-product-row-second .sljy-index-product-item-sm {
    flex: 0.8;
}

.sljy-index-product-img {
    width: 100%;
    height: 18.75rem;
    overflow: hidden;
}

.sljy-index-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.sljy-index-product-item:hover .sljy-index-product-img img {
    transform: scale(1.1);
}

.sljy-index-product-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.6), transparent);
}

.sljy-index-product-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.5rem;
}

.sljy-index-product-desc {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
}

/* Qualification Certificate */
.sljy-index-certificates {
    margin-top: 4rem;
    margin-bottom: -10rem;
    position: relative;
    z-index: 1;
    padding: 0 7.4375rem;
}
.sljy-index-certificates .container{
    background-color: #ffd700;
    border-radius: 1.25rem;
    padding: 4rem ;
}

.sljy-index-certificates-header {
    text-align: left;
    margin-bottom: 3rem;
}

.sljy-index-certificates-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
}

/* 轮播容器 */
.sljy-index-certificates-swiper {
    position: relative;
    overflow: hidden;
}

.sljy-index-certificates-wrapper {
    display: flex;
}

.sljy-index-certificates-slide {
    flex-shrink: 0;
}

.sljy-index-certificates-slide .sljy-index-certificate-item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sljy-index-certificates-slide .sljy-index-certificate-item:hover {
    transform: translateY(-0.375rem);
}

.sljy-index-certificates-slide .sljy-index-certificate-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0.25rem;
}

/* 轮播指示器 */
.sljy-index-certificates-pagination {
    position: absolute;
    bottom: -2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.75rem;
}

.sljy-index-certificates-pagination .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
    background: #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s ease;
}

.sljy-index-certificates-pagination .swiper-pagination-bullet-active {
    background: #0066cc;
}

/* 左右箭头 */
.sljy-index-certificates-prev,
.sljy-index-certificates-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    background: rgba(0, 102, 204, 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease;
    z-index: 10;
}

.sljy-index-certificates-prev:hover,
.sljy-index-certificates-next:hover {
    background: #0066cc;
}

.sljy-index-certificates-prev {
    left: -1.5rem;
}

.sljy-index-certificates-next {
    right: -1.5rem;
}

.sljy-index-certificates-prev::after,
.sljy-index-certificates-next::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
}

.sljy-index-certificates-prev::after {
    border-width: 0.5rem 0.75rem 0.5rem 0;
    border-color: transparent #fff transparent transparent;
}

.sljy-index-certificates-next::after {
    border-width: 0.5rem 0 0.5rem 0.75rem;
    border-color: transparent transparent transparent #fff;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-products-title {
        font-size: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-product-row {
        flex-wrap: wrap;
    }

    .sljy-index-product-row-first .sljy-index-product-item,
    .sljy-index-product-row-second .sljy-index-product-item {
        flex: 0 0 calc(50% - 0.75rem);
    }

    /* 轮播箭头响应式 */
    .sljy-index-certificates-prev {
        left: -1rem;
    }

    .sljy-index-certificates-next {
        right: -1rem;
    }
}

@media (max-width: 768px) {
    .sljy-index-products {
        padding: 3rem 0;
    }

    .sljy-index-products-title {
        font-size: 1.5rem;
    }

    .sljy-index-product-row {
        flex-direction: column;
        gap: 1rem;
    }

    .sljy-index-product-row-first .sljy-index-product-item,
    .sljy-index-product-row-second .sljy-index-product-item {
        flex: 1;
    }

    .sljy-index-product-img {
        height: 15.625rem;
    }

    .sljy-index-certificates {
        padding: 2.5rem 0;
    }

    /* 轮播箭头响应式 */
    .sljy-index-certificates-prev,
    .sljy-index-certificates-next {
        width: 2.5rem;
        height: 2.5rem;
    }

    .sljy-index-certificates-prev {
        left: -0.75rem;
    }

    .sljy-index-certificates-next {
        right: -0.75rem;
    }
}

@media (max-width: 480px) {
    /* 轮播箭头响应式 */
    .sljy-index-certificates-prev,
    .sljy-index-certificates-next {
        width: 2rem;
        height: 2rem;
    }

    .sljy-index-certificates-prev {
        left: -0.5rem;
    }

    .sljy-index-certificates-next {
        right: -0.5rem;
    }

    /* 轮播指示器响应式 */
    .sljy-index-certificates-pagination .swiper-pagination-bullet {
        width: 0.5rem;
        height: 0.5rem;
    }

    /* 证书卡片高度响应式 */
    .sljy-index-certificates-slide .sljy-index-certificate-item {
        height: 6rem;
    }
}

/* sljy-index-global */
.sljy-index-global {
    position: relative;
    padding: 6.25rem 0;
    background: #0066cc;
    overflow: hidden;
}

.sljy-index-global-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.15;
}

.sljy-index-global-bg img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.sljy-index-global-content {
    position: relative;
    z-index: 1;
}

.sljy-index-global-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 3rem;
}

.sljy-index-global-header {
    flex: 1;
}

.sljy-index-global-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #ffd700;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-index-global-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.sljy-index-global-desc {
    flex: 1;
    text-align: left;
    max-width: 37.5rem;
    margin-left: 3rem;
}

.sljy-index-global-desc p {
    font-size: 1rem;
    color: #fff;
    line-height: 1.6;
}

.sljy-index-global-map {
    position: relative;
    height: 25rem;
    margin-bottom: 4rem;
}

.sljy-index-global-bubble {
    position: absolute;
    background: #ffd700;
    border-radius: 50%;
    animation: bubblePulse 3s ease-in-out infinite;
    opacity: 0.6;
}

.sljy-index-global-bubble-1 {
    width: 2.5rem;
    height: 2.5rem;
    top: 25%;
    left: 12%;
    animation-delay: 0s;
}

.sljy-index-global-bubble-2 {
    width: 1.5rem;
    height: 1.5rem;
    top: 10%;
    left: 22%;
    animation-delay: 0.3s;
}

.sljy-index-global-bubble-3 {
    width: 1.25rem;
    height: 1.25rem;
    top: 60%;
    left: 28%;
    animation-delay: 0.6s;
}

.sljy-index-global-bubble-4 {
    width: 1.75rem;
    height: 1.75rem;
    top: 35%;
    left: 48%;
    animation-delay: 0.9s;
}

.sljy-index-global-bubble-5 {
    width: 1rem;
    height: 1rem;
    top: 28%;
    left: 55%;
    animation-delay: 1.2s;
}

.sljy-index-global-bubble-6 {
    width: 2rem;
    height: 2rem;
    top: 18%;
    left: 65%;
    animation-delay: 1.5s;
}

.sljy-index-global-bubble-7 {
    width: 1.5rem;
    height: 1.5rem;
    top: 5%;
    left: 70%;
    animation-delay: 1.8s;
}

.sljy-index-global-bubble-8 {
    width: 2.25rem;
    height: 2.25rem;
    top: 22%;
    left: 82%;
    animation-delay: 2.1s;
}

.sljy-index-global-bubble-9 {
    width: 1.75rem;
    height: 1.75rem;
    top: 55%;
    left: 52%;
    animation-delay: 2.4s;
}

.sljy-index-global-bubble-10 {
    width: 1.25rem;
    height: 1.25rem;
    top: 15%;
    left: 75%;
    animation-delay: 2.7s;
}

.sljy-index-global-bubble-11 {
    width: 1rem;
    height: 1rem;
    top: 30%;
    left: 74%;
    animation-delay: 0.15s;
}

.sljy-index-global-bubble-12 {
    width: 1.375rem;
    height: 1.375rem;
    top: 22%;
    left: 58%;
    animation-delay: 1.35s;
}

@keyframes bubblePulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.4;
    }
    50% {
        transform: scale(1.3);
        opacity: 0.8;
    }
}

@keyframes countUp {
    from {
        opacity: 0;
        transform: translateY(1rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sljy-index-global-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.sljy-index-global-stat {
    text-align: center;
}

.sljy-index-global-stat-value {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffd700;
    margin-bottom: 0.75rem;
}

.sljy-index-global-stat-label {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-global-title {
        font-size: 2.5rem;
    }

    .sljy-index-global-stat-value {
        font-size: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-global-header-row {
        flex-direction: column;
        align-items: center;
    }

    .sljy-index-global-header {
        text-align: center;
        margin-bottom: 1.5rem;
    }

    .sljy-index-global-desc {
        text-align: center;
        margin-left: 0;
        max-width: 100%;
    }

    .sljy-index-global-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .sljy-index-global-map {
        height: 20rem;
    }
}

@media (max-width: 768px) {
    .sljy-index-global {
        padding: 4rem 0;
    }

    .sljy-index-global-title {
        font-size: 2rem;
    }

    .sljy-index-global-map {
        height: 15rem;
    }

    .sljy-index-global-stats {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .sljy-index-global-stat-value {
        font-size: 1.75rem;
    }
}

@media (max-width: 480px) {
    .sljy-index-global-title {
        font-size: 1.5rem;
    }

    .sljy-index-global-map {
        height: 12rem;
    }
}

/* sljy-index-news */
.sljy-index-news {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-index-news-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 4rem;
}

.sljy-index-news-title-wrap {
    flex: 1;
}

.sljy-index-news-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-index-news-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
}

.sljy-index-news-more {
    display: inline-flex;
    align-items: center;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sljy-index-news-more:hover {
    color: #004499;
}

.sljy-index-news-more i {
    margin-left: 0.5rem;
    font-size: 0.75rem;
}

.sljy-index-news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
}

.sljy-index-news-item {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.sljy-index-news-item:hover {
    transform: translateY(-0.5rem);
}

.sljy-index-news-img-wrapper {
    overflow: hidden;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
}

.sljy-index-news-img-wrapper img {
    width: 100%;
    height: 15.625rem;
    object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.sljy-index-news-item:hover .sljy-index-news-img-wrapper img {
    transform: scale(1.05);
}

.sljy-index-news-date {
    display: block;
    font-size: 0.75rem;
    color: #0061ae;
    margin-bottom: 0.75rem;
}

.sljy-index-news-item-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
    margin: 0;
    transition: color 0.3s ease;
}

.sljy-index-news-item:hover .sljy-index-news-item-title {
    color: #0066cc;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-news-title {
        font-size: 2rem;
    }

    .sljy-index-news-grid {
        gap: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-news-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .sljy-index-news-more {
        margin-top: 1.5rem;
    }

    .sljy-index-news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sljy-index-news {
        padding: 4rem 0;
    }

    .sljy-index-news-title {
        font-size: 1.75rem;
    }

    .sljy-index-news-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .sljy-index-news-img-wrapper img {
        height: 12.5rem;
    }
}

@media (max-width: 480px) {
    .sljy-index-news-title {
        font-size: 1.5rem;
    }

    .sljy-index-news-img-wrapper img {
        height: 10rem;
    }
}

/* sljy-index-contact */
.sljy-index-contact {
    padding: 6.25rem 0;
    background: #f5f5f5;
}

.sljy-index-contact-content {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 6.25rem;
}

.sljy-index-contact-left {
    padding-right: 2rem;
}

.sljy-index-contact-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-index-contact-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.sljy-index-contact-desc {
    font-size: 1rem;
    color: #454545;
    line-height: 1.6;
    margin-bottom: 3rem;
}

.sljy-index-contact-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sljy-index-contact-info-item {
    display: flex;
    align-items: center;
    font-size: 0.9375rem;
    color: #333;
}

.sljy-index-contact-info-item i {
    margin-right: 0.75rem;
    color: #0066cc;
    font-size: 1rem;
}

.sljy-index-contact-right {
    background: #fff;
    border-radius: 1.25rem;
    padding: 3.125rem;
    box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, 0.1);
}

.sljy-index-contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sljy-index-contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.sljy-index-contact-form-group {
    display: flex;
    flex-direction: column;
}

.sljy-index-contact-form-group label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #2c2c2c;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.5rem;
}

.sljy-index-contact-form-group input,
.sljy-index-contact-form-group textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 0.375rem;
    font-size: 0.9375rem;
    color: #333;
    background: #fff;
    transition: border-color 0.3s ease;
    font-family: 'Instrument Sans', Arial, sans-serif;
}

.sljy-index-contact-form-group-full {
    grid-column: span 2;
}

.sljy-index-contact-form-group textarea {
    min-height: 10rem;
    resize: vertical;
}

.sljy-index-contact-submit {
    width: 100%;
    padding: 1rem;
    background: #0066cc;
    color: #fff;
    border: none;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    cursor: pointer;
    transition: background 0.3s ease;
}

.sljy-index-contact-submit:hover {
    background: #004499;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-index-contact-content {
        gap: 4rem;
    }

    .sljy-index-contact-title {
        font-size: 2.5rem;
    }
}

@media (max-width: 992px) {
    .sljy-index-contact-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .sljy-index-contact-left {
        padding-right: 0;
    }

    .sljy-index-contact-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .sljy-index-contact {
        padding: 4rem 0;
    }

    .sljy-index-contact-right {
        padding: 2rem;
    }

    .sljy-index-contact-form-row {
        grid-template-columns: 1fr;
    }

    .sljy-index-contact-form-group-full {
        grid-column: span 1;
    }
}

@media (max-width: 480px) {
    .sljy-index-contact-title {
        font-size: 1.75rem;
    }
}

/* sljy-solution-hero */
.sljy-solution-hero {
    padding: 8.25rem 0;
    background: #f8f9fa;
}

.sljy-solution-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6.25rem;
    align-items: center;
}

.sljy-solution-hero-left {
    overflow: hidden;
}

.sljy-solution-hero-img-wrapper {
    border-radius: 1.25rem;
    overflow: hidden;
}

.sljy-solution-hero-img-wrapper img {
    width: 100%;
    height: 37.5rem;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sljy-solution-hero-left:hover .sljy-solution-hero-img-wrapper img {
    transform: scale(1.05);
}

.sljy-solution-hero-right {
    padding-left: 2rem;
}

.sljy-solution-hero-breadcrumb {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

.sljy-solution-hero-breadcrumb a {
    font-size: 0.875rem;
    color: #0066cc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sljy-solution-hero-breadcrumb a:hover {
    color: #004499;
}

.sljy-solution-hero-breadcrumb span {
    margin: 0 0.5rem;
    color: #999;
}

.sljy-solution-hero-title {
    font-size: 3rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.sljy-solution-hero-desc {
    font-size: 1rem;
    color: #000000;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.sljy-solution-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
}

.sljy-solution-hero-tag {
    padding: 0.5rem 1rem;
    background: rgba(0, 102, 204, 0.1);
    color: #0066cc;
    font-size: 0.8125rem;
    font-weight: 500;
    border-radius: 2rem;
    border: 1px solid rgba(0, 102, 204, 0.2);
}

.sljy-solution-hero-btns {
    display: flex;
    gap: 1.25rem;
}

.sljy-solution-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    text-decoration: none;
    border-radius: 0.375rem;
    transition: all 0.3s ease;
}

.sljy-solution-hero-btn-primary {
    background: #0066cc;
    color: #fff;
}

.sljy-solution-hero-btn-primary:hover {
    background: #004499;
}

.sljy-solution-hero-btn-secondary {
    background: #ffd700;
    color: #1a1a1a;
}

.sljy-solution-hero-btn-secondary:hover {
    background: #ffc107;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-solution-hero-content {
        gap: 4rem;
    }

    .sljy-solution-hero-title {
        font-size: 2.5rem;
    }

    .sljy-solution-hero-img-wrapper img {
        height: 31.25rem;
    }
}

@media (max-width: 992px) {
    .sljy-solution-hero-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .sljy-solution-hero-right {
        padding-left: 0;
        text-align: center;
    }

    .sljy-solution-hero-breadcrumb {
        justify-content: center;
    }

    .sljy-solution-hero-tags {
        justify-content: center;
    }

    .sljy-solution-hero-btns {
        justify-content: center;
        flex-wrap: wrap;
    }

    .sljy-solution-hero-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .sljy-solution-hero {
        padding: 8rem 0;
    }

    .sljy-solution-hero-img-wrapper img {
        height: 25rem;
    }

    .sljy-solution-hero-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 480px) {
    .sljy-solution-hero-title {
        font-size: 1.5rem;
    }

    .sljy-solution-hero-img-wrapper img {
        height: 18.75rem;
    }

    .sljy-solution-hero-btn {
        padding: 0.875rem 1.5rem;
        font-size: 0.8125rem;
    }
}

/* sljy-solution-applications */
.sljy-solution-applications {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-solution-applications-header {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-solution-applications-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-solution-applications-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.sljy-solution-applications-desc {
    font-size: 1rem;
    color: #000000;
    max-width: 50rem;
    margin: 0 auto;
}

.sljy-solution-applications-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.sljy-solution-application-card {
    background: #f8f9fa;
    border-radius: 0.75rem;
    padding: 2rem;
    transition: all 0.3s ease;
    border-top: 0.25rem solid transparent;
}

.sljy-solution-application-card-active {
    background: #fff;
    border-top-color: #0066cc;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
}

.sljy-solution-application-card:hover {
    transform: translateY(-0.5rem);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.1);
}

.sljy-solution-application-card-icon {
    width: 4.5rem;
    height: 4.5rem;
    background: #0066cc;
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.sljy-solution-application-card-icon img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.sljy-solution-application-card-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.75rem;
}

.sljy-solution-application-card-desc {
    font-size: 0.9375rem;
    color: #000000;
    line-height: 1.6;
    margin: 0;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-solution-applications-title {
        font-size: 2rem;
    }

    .sljy-solution-applications-grid {
        gap: 1.5rem;
    }
}

@media (max-width: 992px) {
    .sljy-solution-applications-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sljy-solution-applications {
        padding: 4rem 0;
    }

    .sljy-solution-applications-title {
        font-size: 1.75rem;
    }

    .sljy-solution-applications-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .sljy-solution-applications-title {
        font-size: 1.5rem;
    }

    .sljy-solution-application-card {
        padding: 1.5rem;
    }
}

/* sljy-solution-specs */
.sljy-solution-specs {
    padding: 6.25rem 0;
    background: #0066cc;
}

.sljy-solution-specs-header {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-solution-specs-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #ffd700;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-solution-specs-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin: 0;
}

.sljy-solution-specs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.sljy-solution-specs-card {
    background: #fff;
    border-radius: 1rem;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
}

.sljy-solution-specs-card-active {
    background: #ffd700;
}

.sljy-solution-specs-card:hover {
    transform: translateY(-0.5rem);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
}

.sljy-solution-specs-card-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}

.sljy-solution-specs-card-value-lg {
    display: none;
}

.sljy-solution-specs-card-label {
    font-size: 0.875rem;
    color: #000000;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-solution-specs-title {
        font-size: 2rem;
    }

    .sljy-solution-specs-card-value {
        font-size: 1.25rem;
    }
}

@media (max-width: 992px) {
    .sljy-solution-specs-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sljy-solution-specs-card-value {
        font-size: 1.5rem;
    }
}

@media (max-width: 768px) {
    .sljy-solution-specs {
        padding: 4rem 0;
    }

    .sljy-solution-specs-title {
        font-size: 1.75rem;
    }

    .sljy-solution-specs-card-value {
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .sljy-solution-specs-title {
        font-size: 1.5rem;
    }

    .sljy-solution-specs-grid {
        grid-template-columns: 1fr;
    }

    .sljy-solution-specs-card-value {
        font-size: 1.5rem;
    }
}

/* sljy-solution-scenarios */
.sljy-solution-scenarios {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-solution-scenarios-header {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-solution-scenarios-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin: 0;
}

.sljy-solution-scenarios-carousel {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.sljy-solution-scenarios-track {
    display: flex;
    transition: transform 0.5s ease;
}

.sljy-solution-scenarios-slide {
    flex: 0 0 calc(33.333% - 1.333rem);
    margin-right: 2rem;
}

.sljy-solution-scenarios-slide:last-child {
    margin-right: 0;
}

.sljy-solution-scenarios-img-wrapper {
    overflow: hidden;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

.sljy-solution-scenarios-img-wrapper img {
    width: 100%;
    height: 18.75rem;
    object-fit: cover;
    filter: grayscale(100%);
    transition: all 0.3s ease;
}

.sljy-solution-scenarios-slide:hover .sljy-solution-scenarios-img-wrapper img {
    filter: grayscale(0);
    transform: scale(1.05);
}

.sljy-solution-scenarios-desc {
    font-size: 0.9375rem;
    color: #333;
    text-align: center;
    margin: 0;
    font-weight: 500;
}

.sljy-solution-scenarios-dots {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2.5rem;
}

.sljy-solution-scenarios-dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: #ddd;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sljy-solution-scenarios-dot-active {
    background: #0066cc;
    width: 2rem;
    border-radius: 0.375rem;
}

.sljy-solution-scenarios-dot:hover {
    background: #0066cc;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-solution-scenarios-title {
        font-size: 2rem;
    }

    .sljy-solution-scenarios-img-wrapper img {
        height: 15.625rem;
    }
}

@media (max-width: 992px) {
    .sljy-solution-scenarios-slide {
        flex: 0 0 calc(50% - 1rem);
        margin-right: 2rem;
    }
}

@media (max-width: 768px) {
    .sljy-solution-scenarios {
        padding: 4rem 0;
    }

    .sljy-solution-scenarios-title {
        font-size: 1.75rem;
    }

    .sljy-solution-scenarios-slide {
        flex: 0 0 100%;
        margin-right: 2rem;
    }

    .sljy-solution-scenarios-img-wrapper img {
        height: 12.5rem;
    }
}

@media (max-width: 480px) {
    .sljy-solution-scenarios-title {
        font-size: 1.5rem;
    }

    .sljy-solution-scenarios-img-wrapper img {
        height: 10rem;
    }
}

/* sljy-solution-products */
.sljy-solution-products {
    padding: 6.25rem 0;
    background: #f8f9fa;
}

.sljy-solution-products-header {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-solution-products-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin: 0;
}

.sljy-solution-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.sljy-solution-products-card {
    text-align: center;
    transition: all 0.3s ease;
}

.sljy-solution-products-card:hover {
    transform: translateY(-0.5rem);
}

.sljy-solution-products-img-wrapper {
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

.sljy-solution-products-img-wrapper img {
    width: 100%;
    height: 12.5rem;
    object-fit: contain;
    transition: all 0.3s ease;
}

.sljy-solution-products-card:hover .sljy-solution-products-img-wrapper img {
    transform: scale(1.1);
}

.sljy-solution-products-name {
    font-size: 0.9375rem;
    color: #333;
    margin: 0;
    font-weight: 500;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-solution-products-title {
        font-size: 2rem;
    }

    .sljy-solution-products-img-wrapper img {
        height: 10rem;
    }
}

@media (max-width: 992px) {
    .sljy-solution-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sljy-solution-products-img-wrapper img {
        height: 12.5rem;
    }
}

@media (max-width: 768px) {
    .sljy-solution-products {
        padding: 4rem 0;
    }

    .sljy-solution-products-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 480px) {
    .sljy-solution-products-title {
        font-size: 1.5rem;
    }

    .sljy-solution-products-grid {
        grid-template-columns: 1fr;
    }

    .sljy-solution-products-img-wrapper img {
        height: 10rem;
    }
}

/* sljy-about-hero */
.sljy-about-hero {
    position: relative;
    min-height: 31.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}

.sljy-about-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../images/b1.png') center/cover no-repeat;
    /* filter: grayscale(100%) brightness(0.6);
     */
background-color: black;
    }


.sljy-project-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../images/prj.jpg') center/cover no-repeat;
    /* filter: grayscale(100%) brightness(0.6);
     */
background-color: black;
    }
.sljy-catalogue-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../images/矩形 683.png') center/cover no-repeat;
    /* filter: grayscale(100%) brightness(0.6);
     */
background-color: black;
    }
.sljy-product-hero-bg{
   position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../images/矩形 682.png') center/cover no-repeat;
    /* filter: grayscale(100%) brightness(0.6);
     */
    background-color: black;
}


.sljy-about-hero-content {
    position: relative;
    z-index: 1;
    color: #fff;
}

.sljy-about-hero-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.sljy-about-hero-breadcrumb a {
    font-size: 0.875rem;
    color: #ffd700;
    text-decoration: none;

    transition: color 0.3s ease;
}

.sljy-about-hero-breadcrumb a:hover {
    color: #ffc107;
}

.sljy-about-hero-breadcrumb span {
       color: #ffd700;
        margin-left: 0.5rem;

    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sljy-about-hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

.sljy-about-hero-subtitle {
    font-size: 1.75rem;
    font-weight: 300;
    margin-bottom: 1.5rem;
    opacity: 0.9;
}

.sljy-about-hero-desc {
    font-size: 1rem;
    max-width: 50rem;
    margin: 0 auto;
    line-height: 1.7;
    opacity: 0.9;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-about-hero-title {
        font-size: 2.75rem;
    }

    .sljy-about-hero-subtitle {
        font-size: 1.5rem;
    }
}

@media (max-width: 992px) {
    .sljy-about-hero {
        min-height: 25rem;
    }

    .sljy-about-hero-title {
        font-size: 2.25rem;
    }

    .sljy-about-hero-subtitle {
        font-size: 1.25rem;
    }
}

@media (max-width: 768px) {
    .sljy-about-hero {
        min-height: 21.875rem;
        padding: 6rem 0rem 2rem;
    }

    .sljy-about-hero-title {
        font-size: 1.75rem;
    }

    .sljy-about-hero-subtitle {
        font-size: 1.125rem;
    }

    .sljy-about-hero-desc {
        font-size: 0.9375rem;
    }
}

@media (max-width: 480px) {
    .sljy-about-hero-title {
        font-size: 1.5rem;
    }

    .sljy-about-hero-subtitle {
        font-size: 1rem;
    }
}

/* sljy-about-intro */
.sljy-about-intro {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-about-intro-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6.25rem;
    margin-bottom: 5rem;
    align-items: center;
}

.sljy-about-intro-left {
    padding-right: 2rem;
}

.sljy-about-intro-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-about-intro-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.sljy-about-intro-desc {
    font-size: 1rem;
    color: #505050;
    line-height: 1.7;
    margin: 0;
}

.sljy-about-intro-right {
    overflow: hidden;
}

.sljy-about-intro-img-wrapper {
    border-radius: 1rem;
    overflow: hidden;
}

.sljy-about-intro-img-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}

.sljy-about-intro-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
}

.sljy-about-intro-stat {
    text-align: center;
}

.sljy-about-intro-stat-value {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}


.sljy-about-intro-stat-label {
    font-size: 0.875rem;
    color: #3b3b3b;
    font-weight: 500;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-about-intro-content {
        gap: 4rem;
    }

    .sljy-about-intro-title {
        font-size: 2rem;
    }

    .sljy-about-intro-stat-value {
        font-size: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-about-intro-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .sljy-about-intro-left {
        padding-right: 0;
        text-align: center;
    }

    .sljy-about-intro-stats {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .sljy-about-intro {
        padding: 4rem 0;
    }

    .sljy-about-intro-title {
        font-size: 1.75rem;
    }

    .sljy-about-intro-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .sljy-about-intro-stat-value {
        font-size: 1.75rem;
    }
}

@media (max-width: 480px) {
    .sljy-about-intro-title {
        font-size: 1.5rem;
    }

    .sljy-about-intro-stats {
        grid-template-columns: 1fr;
    }

    .sljy-about-intro-stat-value {
        font-size: 1.5rem;
    }
}

/* sljy-about-services */
.sljy-about-services {
    padding: 6.25rem 0;
    background: #f8f9fa;
}

.sljy-about-services-header {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-about-services-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-about-services-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.sljy-about-services-subtitle {
    font-size: 1rem;
    color: #000000;
    margin: 0;
}

.sljy-about-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6rem;
}

.sljy-about-services-card {
    background: #fff;
    border-radius: 1rem;
    padding: 2.5rem;
    text-align: center;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.sljy-about-services-card:hover {
    transform: translateY(-0.5rem);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.1);
}

.sljy-about-services-card-icon {
    width: 5rem;
    height: 5rem;
    background: #0066cc;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}

.sljy-about-services-card-icon img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.sljy-about-services-card-title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin-bottom: 0.75rem;
}

.sljy-about-services-card-desc {
    font-size: 0.9375rem;
    color: #000000;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.sljy-about-services-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.sljy-about-services-card-list li {
    padding: 0.5rem 0;
    font-size: 0.875rem;
    color: #000000;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sljy-about-services-card-list li:last-child {
    border-bottom: none;
}

.sljy-about-services-card-list li img {
    width: 1rem;
    height: 1rem;
    object-fit: contain;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-about-services-title {
        font-size: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-about-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .sljy-about-services {
        padding: 4rem 0;
    }

    .sljy-about-services-title {
        font-size: 1.75rem;
    }

    .sljy-about-services-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media (max-width: 480px) {
    .sljy-about-services-title {
        font-size: 1.5rem;
    }

    .sljy-about-services-card {
        padding: 1.5rem;
    }
}

/* sljy-about-timeline */
.sljy-about-timeline {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-about-timeline-header {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-about-timeline-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    margin-bottom: 1rem;
}

.sljy-about-timeline-title {
    font-size:1.13rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.sljy-about-timeline-subtitle {
    font-size: 1rem;
    color: #000000;
    margin: 0;
}

.sljy-about-timeline-content {
    position: relative;
    max-width: 62.5rem;
    margin: 0 auto;
}

.sljy-about-timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 0.125rem;
    transform: translateX(-50%);
}

.sljy-about-timeline-line-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0066cc;
}

.sljy-about-timeline-events {
    position: relative;
    z-index: 1;
}

.sljy-about-timeline-event {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
    position: relative;
}

.sljy-about-timeline-event:last-child {
    margin-bottom: 0;
}

.sljy-about-timeline-event-right {
    flex-direction: row-reverse;
}

.sljy-about-timeline-dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sljy-about-timeline-dot img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.sljy-about-timeline-card {
    width: calc(50% - 2rem);
    background: #fff;
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
    position: relative;
    transition: all 0.3s ease;
}

.sljy-about-timeline-card:hover {
    background: #FFD700;
    border-color: #FFD700;
}

.sljy-about-timeline-card:hover .sljy-about-timeline-year {
    color: #1a1a1a;
}

.sljy-about-timeline-card:hover .sljy-about-timeline-title {
    color: #1a1a1a;
}

.sljy-about-timeline-card:hover .sljy-about-timeline-desc {
    color: #333;
}

/* 左边卡片的三角箭头（右边） */
.sljy-about-timeline-card::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -0.75rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 0.75rem solid transparent;
    border-bottom: 0.75rem solid transparent;
    border-left: 0.75rem solid transparent;
    transition: border-left-color 0.3s ease;
}

.sljy-about-timeline-card:hover::after {
    border-left-color: #FFD700;
}

.sljy-about-timeline-event-right .sljy-about-timeline-card {
    margin-left: 2rem;
}

/* 右边卡片的三角箭头（左边） */
.sljy-about-timeline-event-right .sljy-about-timeline-card::after {
    right: auto;
    left: -0.75rem;
    border-left: none;
    border-right: 0.75rem solid transparent;
}

.sljy-about-timeline-event-right .sljy-about-timeline-card:hover::after {
    border-right-color: #FFD700;
}

.sljy-about-timeline-card-highlight {
    background: #ffd700;
    border-color: #ffd700;
}

.sljy-about-timeline-card-highlight .sljy-about-timeline-year,
.sljy-about-timeline-card-highlight .sljy-about-timeline-title {
    color: #1a1a1a;
}

.sljy-about-timeline-card-highlight .sljy-about-timeline-desc {
    color: #333;
}

.sljy-about-timeline-year {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0066cc;
    margin-bottom: 0.5rem;
}

.sljy-about-timeline-card-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.75rem;
}

.sljy-about-timeline-desc {
    font-size: 0.875rem;
    color: #373737;
    line-height: 1.6;
    margin: 0;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-about-timeline-title {
        font-size: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-about-timeline-line {
        left: 2rem;
    }

    .sljy-about-timeline-dot {
        left: 2rem;
    }

    .sljy-about-timeline-event {
        flex-direction: column !important;
        align-items: flex-start;
        padding-left: 4rem;
    }

    .sljy-about-timeline-card {
        width: 100%;
        margin-left: 0 !important;
    }

    /* 移动端所有卡片箭头都在左边 */
    .sljy-about-timeline-card::after {
        right: auto !important;
        left: -0.75rem !important;
        border-left: none !important;
        border-right: 0.75rem solid #fff !important;
    }

    .sljy-about-timeline-card:hover::after {
        border-right-color: #FFD700 !important;
    }
}

@media (max-width: 768px) {
    .sljy-about-timeline {
        padding: 4rem 0;
    }

    .sljy-about-timeline-title {
        font-size: 1.75rem;
    }

    .sljy-about-timeline-line {
        left: 1.5rem;
    }

    .sljy-about-timeline-dot {
        left: 1.5rem;
    }

    .sljy-about-timeline-event {
        padding-left: 3.5rem;
    }
}

@media (max-width: 480px) {
    .sljy-about-timeline-title {
        font-size: 1.5rem;
    }

    .sljy-about-timeline-line {
        left: 1rem;
    }

    .sljy-about-timeline-dot {
        left: 1rem;
    }

    .sljy-about-timeline-event {
        padding-left: 3rem;
    }

    .sljy-about-timeline-card {
        padding: 1rem;
    }
}

/* sljy-video-container */
.sljy-video-container {
    padding: 2.25rem 0;
    background: #fff;
}

/* sljy-video-tabs */
.sljy-video-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 3.75rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #eee;
}

.sljy-video-tab {
    padding: 0.875rem 1.75rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #666;
    background: #f5f5f5;
    border-radius: 2rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sljy-video-tab:hover {
    background: #e8e8e8;
    color: #333;
}

.sljy-video-tab.active {
    background: #0066cc;
    color: #fff;
}

/* sljy-video-featured */
.sljy-video-featured {
    margin-bottom: 5rem;
}

.sljy-video-section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 2.5rem;
}

.sljy-video-featured-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.5rem;
}

.sljy-video-featured-thumb {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    cursor: pointer;
}

.sljy-video-featured-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sljy-video-featured-thumb:hover img {
    transform: scale(1.03);
}

.sljy-video-featured-main .sljy-video-featured-thumb {
    height: 31.25rem;
}

.sljy-video-featured-side {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sljy-video-featured-item .sljy-video-featured-thumb {
    height: 15rem;
}

.sljy-video-featured-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5.5rem;
    height: 5.5rem;
    background: #FFD700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.sljy-video-featured-play.sm {
    width: 4rem;
    height: 4rem;
}

.sljy-video-featured-thumb:hover .sljy-video-featured-play {
    transform: translate(-50%, -50%) scale(1.1);
}

.sljy-video-featured-play i {
    font-size: 1.5rem;
    color: #0066cb;
    margin-left: 0.25rem;
}

.sljy-video-featured-play.sm i {
    font-size: 1.125rem;
}

/* sljy-video-category */
.sljy-video-category {
    padding-top: 2.5rem;
    border-top: 1px solid #eee;
}

.sljy-video-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.sljy-video-category-card {
    background: #fff;
    border-radius: 0.75rem;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
    box-shadow: 0px 2px 10px 0px
		rgba(0, 0, 0, 0.2);
}

.sljy-video-category-card:hover {
    transform: translateY(-0.375rem);
}

.sljy-video-category-thumb {
    position: relative;
    overflow: hidden;
}

.sljy-video-category-thumb img {
    width: 100%;
    height: 12.5rem;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sljy-video-category-card:hover .sljy-video-category-thumb img {
    transform: scale(1.05);
}

.sljy-video-category-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3.5rem;
    height: 3.5rem;
    background: #FFD700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.sljy-video-category-card:hover .sljy-video-category-play {
    transform: translate(-50%, -50%) scale(1.1);
}

.sljy-video-category-play i {
    font-size: 1.125rem;
    color: #0066cb;
    margin-left: 0.25rem;
}

.sljy-video-category-title {
    padding: 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.sljy-video-category-card:hover .sljy-video-category-title {
    color: #0066cc;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-video-featured-grid {
        gap: 1.25rem;
    }

    .sljy-video-category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }
}

@media (max-width: 992px) {
    .sljy-video-tab {
        padding: 0.75rem 1.25rem;
        font-size: 0.875rem;
    }

    .sljy-video-featured-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .sljy-video-featured-main .sljy-video-featured-thumb {
        height: 25rem;
    }

    .sljy-video-featured-item .sljy-video-featured-thumb {
        height: 12.5rem;
    }

    .sljy-video-category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

@media (max-width: 768px) {
    .sljy-video-container {
        padding: 4rem 0;
    }

    .sljy-video-tab {
        padding: 0.625rem 1rem;
        font-size: 0.8125rem;
    }

    .sljy-video-section-title {
        font-size: 1.5rem;
    }

    .sljy-video-featured-main .sljy-video-featured-thumb {
        height: 20rem;
    }

    .sljy-video-featured-item .sljy-video-featured-thumb {
        height: 10rem;
    }

    .sljy-video-category-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

@media (max-width: 480px) {
    .sljy-video-container {
        padding: 3rem 0;
    }

    .sljy-video-featured-main .sljy-video-featured-thumb {
        height: 15rem;
    }

    .sljy-video-featured-item .sljy-video-featured-thumb {
        height: 8rem;
    }

    .sljy-video-featured-play {
        width: 4rem;
        height: 4rem;
    }

    .sljy-video-featured-play.sm {
        width: 3rem;
        height: 3rem;
    }

    .sljy-video-featured-play i {
        font-size: 1.125rem;
    }

    .sljy-video-featured-play.sm i {
        font-size: 1rem;
    }

    .sljy-video-category-thumb img {
        height: 10rem;
    }
}

/* sljy-news-detail */
.sljy-news-detail {
   padding: 7.25rem 0;
    background-color: #f5f5f5;
}

.sljy-news-detail .container {
    max-width: 65rem;
    margin: 0 auto;
    padding: 0 2rem;
}

/* 面包屑导航 */
.sljy-news-detail-breadcrumb {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sljy-news-detail-breadcrumb .breadcrumb-item {
    color: #999;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sljy-news-detail-breadcrumb .breadcrumb-item:hover {
    color: #0066cc;
}

.sljy-news-detail-breadcrumb .breadcrumb-item.active {
    color: #0066cc;
    font-weight: 600;
}

.sljy-news-detail-breadcrumb .breadcrumb-separator {
    color: #999;
}

.sljy-news-detail-header {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e0e0e0;
}

.sljy-news-detail-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #333;
    line-height: 1.3;
    margin-bottom: 1.5rem;
}

.sljy-news-detail-date {
    font-size: 0.875rem;
    color: #666666;
}

.sljy-news-detail-content {
    margin-bottom: 4rem;
}

.sljy-news-detail-content p {
    font-size: 1rem;
    line-height: 1.8;
    color: #000000;
    margin-bottom: 1.5rem;
    text-align: justify;
}

.sljy-news-detail-image {
    margin: 3rem 0;
}

.sljy-news-detail-image img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}

.sljy-news-detail-nav {
    display: flex;
    justify-content: space-between;
    padding-top: 2rem;
    border-top: 1px solid #e0e0e0;
}

.sljy-news-detail-prev,
.sljy-news-detail-next {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sljy-news-detail-prev .label,
.sljy-news-detail-next .label {
    font-size: 0.875rem;
    color: #999;
    font-weight: bold;
}

.sljy-news-detail-prev .value {
    font-size: 0.875rem;
    color: #666;
}

.sljy-news-detail-next .value {
    font-size: 0.875rem;
    color: #0066cc;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.sljy-news-detail-next .value:hover {
    color: #004499;
}

@media (max-width: 992px) {
    .sljy-news-detail-title {
        font-size: 2rem;
    }

    .sljy-news-detail-paragraph {
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    .sljy-news-detail {
        padding: 2rem 0;
    }

    .sljy-news-detail .container {
        padding: 0 1.5rem;
    }

    .sljy-news-detail-title {
        font-size: 1.75rem;
    }

    .sljy-news-detail-nav {
        flex-direction: column;
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .sljy-news-detail-title {
        font-size: 1.5rem;
    }

    .sljy-news-detail-paragraph {
        font-size: 0.9375rem;
        line-height: 1.6;
    }
}

/* sljy-product-detail */
.sljy-product-detail {
    padding: 4rem 0;
    background-color: #f5f5f5;
}

.sljy-product-detail .container {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2rem;
}

/* 面包屑导航 */
.sljy-product-detail-breadcrumb {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 3rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sljy-product-detail-breadcrumb .breadcrumb-item {
    color: #999;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sljy-product-detail-breadcrumb .breadcrumb-item:hover {
    color: #0066cc;
}

.sljy-product-detail-breadcrumb .breadcrumb-item.active {
    color: #0066cc;
    font-weight: 600;
}

.sljy-product-detail-breadcrumb .breadcrumb-separator {
    color: #999;
}

/* 主内容区域 */
.sljy-product-detail-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    margin-bottom: 5rem;
}

/* 图片区域 */
.sljy-product-detail-images {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.sljy-product-detail-main-img {
    background: #fff;
    border-radius: 0.5rem;
}

.sljy-product-detail-main-img img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.sljy-product-detail-thumbnails {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: thin;
    scrollbar-color: #0066cc #f0f0f0;
}

.sljy-product-detail-thumbnails::-webkit-scrollbar {
    height: 6px;
}

.sljy-product-detail-thumbnails::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 3px;
}

.sljy-product-detail-thumbnails::-webkit-scrollbar-thumb {
    background: #0066cc;
    border-radius: 3px;
}

.sljy-product-detail-thumbnail {
    flex-shrink: 0;
    width: 8rem;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 0.375rem;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

.sljy-product-detail-thumbnail.active,
.sljy-product-detail-thumbnail:hover {
    border-color: #0066cc;
}

.sljy-product-detail-thumbnail img {
    width: 100%;
    height: 6rem;
    object-fit: cover;
}

/* 产品信息区域 */
.sljy-product-detail-info {
    display: flex;
    flex-direction: column;
}

.sljy-product-detail-category {
    font-size: 0.875rem;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.sljy-product-detail-title {
    font-size: 2.25rem;
    font-weight: bold;
    color: #1a1a1a;
    line-height: 1.3;
    margin-bottom: 1.5rem;
}

.sljy-product-detail-desc {
    font-size: 1rem;
    line-height: 1.7;
    color: #666;
    margin-bottom: 2rem;
}

.sljy-product-detail-section {
    margin-bottom: 2rem;
}

.sljy-product-detail-section-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 1rem;
}

.sljy-product-detail-section p {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #666;
}

.sljy-product-detail-btn {
    align-self: flex-start;
    padding: 1rem 2.5rem;
    background: #0066cc;
    color: #fff;
    border: none;
    border-radius: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s ease;
}

.sljy-product-detail-btn:hover {
    background: #004499;
}

/* DESCRIPTION区域 */
.sljy-product-detail-description {
    background: #fff;
    border-radius: 0.5rem;
    padding: 3rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.05);
}

.sljy-product-detail-description-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 2rem;
    text-transform: uppercase;
}

/* 标签切换 */
.sljy-product-detail-tabs {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e0e0e0;
}

.sljy-product-detail-tab {
    padding: 0.75rem 1.5rem;
    background: transparent;
    border: 2px solid #e0e0e0;
    border-radius: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sljy-product-detail-tab.active,
.sljy-product-detail-tab:hover {
    background: #0066cc;
    border-color: #0066cc;
    color: #fff;
}

/* 内容区域 */
.sljy-product-detail-tab-content {
    color: #555;
    line-height: 1.7;
}

.sljy-product-detail-tab-content h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 1.5rem;
}

.sljy-product-detail-features {
    list-style: none;
    padding: 0;
    margin-bottom: 2.5rem;
}

.sljy-product-detail-features li {
    padding: 0.5rem 0;
    font-size: 0.9375rem;
    color: #555;
}

.sljy-product-detail-section-box {
    margin-bottom: 2.5rem;
}

.sljy-product-detail-section-box:last-child {
    margin-bottom: 0;
}

.sljy-product-detail-section-box h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.sljy-product-detail-section-box p {
    font-size: 0.9375rem;
    color: #555;
    line-height: 1.7;
}

/* 表格样式 */
.sljy-product-detail-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}

.sljy-product-detail-table td {
    padding: 0.75rem 1rem;
    border: 1px solid #e0e0e0;
    font-size: 0.9375rem;
    color: #555;
}

.sljy-product-detail-table tr:first-child td {
    border-top: 2px solid #0066cc;
}

.sljy-product-detail-table tr:last-child td {
    border-bottom: 2px solid #0066cc;
}

/* 响应式布局 */
@media (max-width: 992px) {
    .sljy-product-detail-main {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .sljy-product-detail-title {
        font-size: 1.875rem;
    }
}

@media (max-width: 768px) {
    .sljy-product-detail {
        padding: 2rem 0;
    }

    .sljy-product-detail .container {
        padding: 0 1.5rem;
    }

    .sljy-product-detail-description {
        padding: 2rem 1.5rem;
    }

    .sljy-product-detail-title {
        font-size: 1.625rem;
    }

    .sljy-product-detail-thumbnail img {
        height: 5rem;
    }
}

@media (max-width: 480px) {
    .sljy-product-detail-title {
        font-size: 1.5rem;
    }

    .sljy-product-detail-tabs {
        flex-direction: column;
    }

    .sljy-product-detail-tab {
        width: 100%;
        text-align: center;
    }

    .sljy-product-detail-table td {
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
    }
}

/* sljy-contact-hero */
.sljy-contact-hero {
    padding:10.25rem 0  6.25rem ;
    background: #0066cc;
}

.sljy-contact-hero-content {
    text-align: center;
    margin-bottom: 4rem;
}

.sljy-contact-hero-breadcrumb {
    font-size: 0.875rem;
    color: #FFD700;
    margin-bottom: 1.5rem;
}

.sljy-contact-hero-breadcrumb a {
    color: #FFD700;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sljy-contact-hero-breadcrumb a:hover {
    color: #fff;
}

.sljy-contact-hero-breadcrumb span {
    margin-left:0.5rem;
}

.sljy-contact-hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.5rem;
}

.sljy-contact-hero-desc {
    font-size: 1rem;
    color: #ffffff;
    max-width: 50rem;
    margin: 0 auto;
}

.sljy-contact-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.sljy-contact-info-card {
    background: #fff;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
}

.sljy-contact-info-icon {
    width: 4rem;
    height: 4rem;
    background: #FFD700;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.sljy-contact-info-icon i {
    font-size: 1.5rem;
    color: #1a1a1a;
}

.sljy-contact-info-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 0.9rem;
}

.sljy-contact-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sljy-contact-info-list li {
    font-size: 0.875rem;
    color: #080808;
    line-height: 1.8;
}

/* sljy-catalogue-list */
.sljy-catalogue-list {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-catalogue-list-header {
    text-align: left;
    margin-bottom: 3rem;
}

.sljy-catalogue-list-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 1rem;
}

.sljy-catalogue-list-subtitle {
    font-size: 1rem;
    color: #000000;
    max-width: 50rem;
    line-height: 1.6;
}

.sljy-catalogue-list-items {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sljy-catalogue-item {
    display: flex;
    align-items: center;
    padding: 1.5rem 0;
    border-bottom: 1px solid #e5e5e5;
    transition: all 0.3s ease;
}

.sljy-catalogue-item:first-child {
    border-top: 1px solid #e5e5e5;
}

.sljy-catalogue-item:hover {
    background: #f8f9fa;
    margin: 0 -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.sljy-catalogue-item-icon {
    width: 5.69rem;
    height: 5.69rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.5rem;
    flex-shrink: 0;
}

.sljy-catalogue-item-icon i {
    font-size: 5.69rem;
    color: #999;
}

.sljy-catalogue-item-info {
    flex: 1;
}

.sljy-catalogue-item-date {
    display: block;
    font-size: 0.875rem;
    color: #999;
    margin-bottom: 0.5rem;
}

.sljy-catalogue-item-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

.sljy-catalogue-item-download {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: #0066cc;
    color: #fff;
    text-decoration: none;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.sljy-catalogue-item-download:hover {
    background: #0052a3;
    transform: translateY(-0.125rem);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 102, 204, 0.3);
}

.sljy-catalogue-item-download i {
    font-size: 1rem;
}

/* 响应式 */
@media (max-width: 992px) {
    .sljy-catalogue-list {
        padding: 4rem 0;
    }

    .sljy-catalogue-list-title {
        font-size: 2rem;
    }

    .sljy-catalogue-item {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .sljy-catalogue-item-icon {
        width: 3rem;
        height: 3rem;
        margin-right: 1rem;
    }

    .sljy-catalogue-item-icon i {
        font-size: 2.5rem;
    }

    .sljy-catalogue-item-info {
        width: calc(100% - 4rem);
    }

    .sljy-catalogue-item-download {
        width: 100%;
        justify-content: center;
        margin-top: 0.5rem;
    }
}

@media (max-width: 768px) {
    .sljy-catalogue-list {
        padding: 3rem 0;
    }

    .sljy-catalogue-list-title {
        font-size: 1.75rem;
    }

    .sljy-catalogue-list-subtitle {
        font-size: 0.9375rem;
    }

    .sljy-catalogue-item-title {
        font-size: 1rem;
    }

    .sljy-catalogue-item-download {
        padding: 0.625rem 1.25rem;
        font-size: 0.8125rem;
    }
}

/* sljy-project-list */
.sljy-project-list {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-project-list-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.sljy-project-card {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.sljy-project-card:hover {
    transform: translateY(-0.5rem);
}

.sljy-project-card-img {
    overflow: hidden;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
}

.sljy-project-card-img img {
    width: 100%;
    height: 15.625rem;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sljy-project-card:hover .sljy-project-card-img img {
    transform: scale(1.05);
}

.sljy-project-card-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
    margin: 0;
    transition: color 0.3s ease;
}

.sljy-project-card:hover .sljy-project-card-title {
    color: #0066cc;
}

.sljy-project-card-active .sljy-project-card-title {
    color: #0066cc;
}

.sljy-project-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-project-list-grid {
        gap: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-project-list-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .sljy-project-list {
        padding: 4rem 0;
    }

    .sljy-project-list-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .sljy-project-card-img img {
        height: 12.5rem;
    }
}

@media (max-width: 480px) {
    .sljy-project-card-img img {
        height: 10rem;
    }
}

/* sljy-news-list */
.sljy-news-list {
    padding: 6.25rem 0;
    background: #fff;
}

.sljy-news-list-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-bottom: 4rem;
}

.sljy-news-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.sljy-news-card {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.sljy-news-card:hover {
    transform: translateY(-0.5rem);
}

.sljy-news-card-img {
    overflow: hidden;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
}

.sljy-news-card-img img {
    width: 100%;
    height: 15.625rem;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sljy-news-card:hover .sljy-news-card-img img {
    transform: scale(1.05);
}

.sljy-news-card-date {
    display: block;
    font-size: 0.75rem;
    color: #0061ae;
    margin-bottom: 0.75rem;
}

.sljy-news-card-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
    margin: 0;
    transition: color 0.3s ease;
}

.sljy-news-card:hover .sljy-news-card-title {
    color: #0066cc;
}

.sljy-news-card-active .sljy-news-card-title {
    color: #0066cc;
}

.sljy-news-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-news-list-grid {
        gap: 2rem;
    }
}

@media (max-width: 992px) {
    .sljy-news-list-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .sljy-news-list {
        padding: 4rem 0;
    }

    .sljy-news-list-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .sljy-news-card-img img {
        height: 12.5rem;
    }
}

@media (max-width: 480px) {
    .sljy-news-card-img img {
        height: 10rem;
    }
}

/* sljy-product-showcase */
.sljy-product-showcase {
    padding: 6.25rem 0;
    background: #f8f9fa;
}

.sljy-product-showcase-content {
    display: grid;
    grid-template-columns: 18.75rem 1fr;
    gap: 3rem;
}

/* 左侧分类导航 */
.sljy-product-sidebar {
    background: #fff;
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
    position: sticky;
    top: 8rem;
    height: fit-content;
}

.sljy-product-sidebar-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
}

.sljy-product-sidebar-header h3 {
    font-size: 0.875rem;
    font-weight: 700;
    color: #0066cc;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    margin: 0;
}

.sljy-product-sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sljy-product-sidebar-item {
    position: relative;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.sljy-product-sidebar-item:last-child {
    border-bottom: none;
}

.sljy-product-sidebar-item.active {
    margin: 0 -1.5rem;
    padding: 0.75rem 1.5rem;
}

.sljy-product-sidebar-item.active > a {
    color: #0066cc;
    font-weight: 600;
}

.sljy-product-sidebar-item a {
    font-size: 0.875rem;
    color: #000000;
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: normal;
}

.sljy-product-sidebar-item a:hover {
    color: #0066cc;
}

/* 父级目录 */
.sljy-product-sidebar-parent {
    position: relative;
}

.sljy-product-sidebar-parent-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.sljy-product-sidebar-parent-link::before {
    content: '';
    position: absolute;
    left: -1.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.25rem;
    height: 1.5rem;
    background: #0066cc;
}

.sljy-product-sidebar-parent-link i {
    font-size: 0.75rem;
    color: #0066cc;
    transition: transform 0.3s ease;
}

.sljy-product-sidebar-parent.active .sljy-product-sidebar-parent-link i {
    transform: rotate(180deg);
}

/* 子菜单 */
.sljy-product-sidebar-submenu {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 1.5rem;
    display: none;
}

.sljy-product-sidebar-parent.active .sljy-product-sidebar-submenu {
    display: block;
}

.sljy-product-sidebar-submenu li {
    padding: 0.5rem 0;
    border-bottom: none;
}

.sljy-product-sidebar-submenu li a {
    font-size: 0.8125rem;
    color: #000;
    padding: 0;
    margin: 0;
}

.sljy-product-sidebar-submenu li a:hover {
    color: #0066cc;
}

/* 右侧产品网格 */
.sljy-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    padding: 0.3rem;
}

.sljy-product-card {
    background: #fff;
    border-radius: 0.75rem;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.sljy-product-card:hover {
  border: 1px solid #0066cc;
    box-shadow: 0 0.5rem 1rem rgba(0, 102, 204, 0.2);
    transform: translateY(-0.25rem);
}


.sljy-product-card-img {
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 0.5rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sljy-product-card-img img {
    width: 9.3125rem;
    height: 14.3125rem;
    object-fit: contain;
}

.sljy-product-card-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.sljy-product-card-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}

.sljy-product-card-desc {
    font-size: 0.8125rem;
    color: #000000;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 响应式 */
@media (max-width: 1200px) {
    .sljy-product-showcase-content {
        grid-template-columns: 15.625rem 1fr;
        gap: 2rem;
    }

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

@media (max-width: 992px) {
    .sljy-product-showcase-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .sljy-product-sidebar {
        position: static;
    }

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

@media (max-width: 768px) {
    .sljy-product-showcase {
        padding: 4rem 0;
    }

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

/* sljy-index-footer */
.sljy-index-footer {
    background: #1a1a1a;
    color: #fff;
    padding: 3.75rem 0 1.875rem;
}

.sljy-index-footer-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.75rem;
    padding-bottom: 3.75rem;
    border-bottom: 0.0625rem solid #333;
}

.sljy-index-footer-left {
    max-width: 25rem;
}

.sljy-index-footer-logo {
    margin-bottom: 1.875rem;
}

.sljy-index-footer-logo img {
    height: 3.75rem;
    width: auto;
}

.sljy-index-footer-left p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #fff;
    margin-bottom: 1.875rem;
}

.sljy-index-social-links {
    display: flex;
    gap: 0.625rem;
}

.sljy-index-social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    background: #333;
    color: #fff;
    font-size: 1.125rem;
    border-radius: 0.25rem;
    transition: all 0.3s;
}

.sljy-index-social-links a:hover {
    background: #0066cc;
    transform: translateY(-0.125rem);
}

.sljy-index-footer-nav h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1.875rem;
    color: #fff;
}

.sljy-index-footer-nav .nav-columns {
    display: flex;
    gap: 3.75rem;
}

.sljy-index-footer-nav ul {
    list-style: none;
}

.sljy-index-footer-nav ul li {
    margin-bottom: 0.75rem;
}

.sljy-index-footer-nav ul li a {
    color: #fff;
    font-size: 0.9375rem;
    transition: color 0.3s;
}

.sljy-index-footer-nav ul li a:hover {
    color: #0066cc;
}

.sljy-index-footer-contact h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1.875rem;
    color: #fff;
}

.sljy-index-footer-contact p {
    color: #fff;
    font-size: 0.9375rem;
    line-height: 1.8;
    margin-bottom: 0.625rem;
}

.sljy-index-footer-bottom {
    padding-top: 1.875rem;
    text-align: center;
}

.sljy-index-footer-bottom p {
    color: #fff;
    font-size: 0.8125rem;
}

@media (max-width: 1200px) {
    .sljy-index-footer-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem;
    }

    .sljy-index-footer-left {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .sljy-index-footer-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .sljy-index-footer-nav .nav-columns {
        gap: 2rem;
    }
}

/* sljy-contact-hero 响应式 */
@media (max-width: 1200px) {
    .sljy-contact-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

@media (max-width: 992px) {
    .sljy-contact-hero-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .sljy-contact-hero {
        padding: 4rem 0;
    }

    .sljy-contact-hero-title {
        font-size: 1.75rem;
    }

    .sljy-contact-hero-desc {
        font-size: 0.9375rem;
    }
}

@media (max-width: 480px) {
    .sljy-contact-hero {
        padding: 8.25rem 0;
    }

    .sljy-contact-info-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .sljy-contact-hero-title {
        font-size: 1.5rem;
    }

    .sljy-contact-info-card {
        padding: 1.5rem;
    }

    .sljy-contact-info-icon {
        width: 3.5rem;
        height: 3.5rem;
    }

    .sljy-contact-info-icon i {
        font-size: 1.25rem;
    }
}

/* boomwow-index: final motion override after legacy global rules */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .js .boomwow-index-page.is-motion-ready [data-boomwow-reveal-item] {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* boomwow-index: Figma 1920 x 6669 alignment */
.boomwow-index-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(34rem, 0.9fr);
    grid-template-rows: 1fr auto;
    gap: 0 5rem;
    min-height: 38rem;
    padding: 2rem max(var(--boomwow-gutter), calc((100% - 100rem) / 2)) 1rem;
    color: var(--boomwow-ink);
    background: var(--boomwow-paper);
    border-top: 0.0625rem solid #d8d8d8;
}

.boomwow-index-footer-lead {
    display: block;
    padding: 0;
    border: 0;
}

.boomwow-index-footer-heading h2 {
    font-size: 5rem;
    line-height: 1.3;
}

.boomwow-index-subscription {
    width: min(100%, 20.25rem);
    margin: 4rem 0 0 2.25rem;
}

.boomwow-index-subscription-field {
    border-color: var(--boomwow-ink);
}

.boomwow-index-subscription-field input,
.boomwow-index-subscription-submit {
    color: var(--boomwow-ink);
}

.boomwow-index-subscription-field input::placeholder {
    color: #777;
}

.boomwow-index-subscription-status,
.boomwow-index-subscription-noscript,
.boomwow-index-footer-legal {
    color: #777;
}

.boomwow-index-footer-links {
    align-self: start;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.25rem;
    padding: 15rem 0 0;
}

.boomwow-index-footer-column {
    position: relative;
    padding-left: 2.25rem;
}

.boomwow-index-footer-column::before {
    content: '';
    position: absolute;
    top: 0.1rem;
    left: 0;
    width: 1.375rem;
    height: 1.375rem;
    background: var(--boomwow-pink);
    border-radius: 50%;
}

.boomwow-index-footer-column:nth-child(2)::before { background: var(--boomwow-blue); }
.boomwow-index-footer-column:nth-child(3)::before { background: var(--boomwow-orange); }
.boomwow-index-footer-column:nth-child(4)::before { background: var(--boomwow-yellow); }

.boomwow-index-footer-column h3 {
    margin-bottom: 0.75rem;
    color: var(--boomwow-ink);
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: none;
}

.boomwow-index-footer-column li + li { margin-top: 0.35rem; }
.boomwow-index-footer-item { font-size: 0.75rem; }

.boomwow-index-footer-bottom {
    grid-column: 1 / -1;
    justify-content: center;
    padding-top: 1rem;
    border-color: #d8d8d8;
}

.boomwow-index-footer-logo { display: none; }

@media (min-width: 64rem) {
    .boomwow-index-page.is-motion-ready .boomwow-index-hero { min-height: 145dvh; }

    .boomwow-index-story {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        width: min(calc(100% - (2 * var(--boomwow-gutter))), 87.5rem);
        min-height: clamp(46.875rem, 52.08vw, 62.5rem);
        margin: 0 auto;
        padding: clamp(4.6875rem, 5.2vw, 6.25rem) 0;
    }

    .boomwow-index-story-copy,
    .boomwow-index-story-figure {
        width: 100%;
        min-height: 0;
        height: clamp(37.5rem, 41.67vw, 50rem);
    }

    .boomwow-index-story-heading h2 {
        /* max-width: 31.25rem; */
        /* font-size: clamp(3rem, 3.33vw, 4rem); */
    }
    .boomwow-index-story-action { display: none; }

    .boomwow-index-about { padding: 0; }

    .boomwow-index-about-editorial {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        width: min(calc(100% - (2 * var(--boomwow-gutter))), 87.5rem);
    }

    .boomwow-index-about-figure,
    .boomwow-index-about-figure-blue {
        width: 100%;
        height: clamp(37.5rem, 41.67vw, 50rem);
    }

    .boomwow-index-about-statement {
        min-height: clamp(17rem, 18.49vw, 22.1875rem);
        padding: 3rem var(--boomwow-gutter);
        justify-content: center;
    }

    .boomwow-index-about-logo { max-width: 19.625rem; }
    .boomwow-index-about-description { max-width: 32.375rem; margin-top: 0.8rem; }

    .boomwow-index-color-stories,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories {
        min-height: 0;
    }

    .boomwow-index-color-stories-sticky,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories-sticky {
        position: relative;
        top: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        height: min(48.15vw, 100dvh);
        min-height: 36rem;
        max-height: 57.75rem;
        overflow: hidden;
    }

    .boomwow-index-color-stories-sticky::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        z-index: 1;
        width: 0.0625rem;
        background: #eeeeee;
        transform: translateX(-50%);
        pointer-events: none;
    }

    .boomwow-index-color-story,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-story {
        position: relative;
        inset: auto;
        width: 100%;
        height: 100%;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .boomwow-index-color-story-figure { inset: 0; }
    .boomwow-index-color-story-red .boomwow-index-color-story-figure,
    .boomwow-index-color-story-blue .boomwow-index-color-story-figure {
        bottom: clamp(2rem, 4.8vw, 4.25rem);
    }
    .boomwow-index-color-story-red .boomwow-index-color-story-figure {
        top: clamp(1.5rem, 2.25vw, 2rem);
    }
    .boomwow-index-color-story-figure img { object-position: center bottom; }
    .boomwow-index-color-story-red .boomwow-index-color-story-figure img {
        object-position: right bottom;
    }

    .boomwow-index-color-story-blue .boomwow-index-color-story-figure img {
        position: absolute;
        top: -0.75rem;
        left: -8%;
        width: 120%;
        max-width: none;
        height: auto;
        object-fit: initial;
        object-position: initial;
    }

    .boomwow-index-color-story-copy {
        top: clamp(5rem, 5.55vw, 6.5rem);
        width: min(19rem, 42%);
    }

    .boomwow-index-color-story-red .boomwow-index-color-story-copy {
        right: auto;
        left: clamp(2.5rem, 6vw, 7.25rem);
    }

    .boomwow-index-color-story-blue .boomwow-index-color-story-copy {
        right: auto;
        left: clamp(2.25rem, 3.75vw, 4.5rem);
    }

    .boomwow-index-color-story-heading h3 {
        font-size: clamp(1.75rem, 2.5vw, 2.25rem);
        line-height: 0.95;
    }
    .boomwow-index-color-stories-controls { display: none !important; }
    .boomwow-index-color-stories-progress {
        bottom: clamp(1.5rem, 3vw, 2.75rem);
        display: block;
        width: clamp(8rem, 11.25vw, 13.5625rem);
    }

    .boomwow-index-colors { padding: clamp(7rem, 9.2vw, 11rem) 0 clamp(7rem, 7.5vw, 10rem); }
    .boomwow-index-colors-swiper { width: min(calc(100% - (2 * var(--boomwow-gutter))), 87.5rem); }
    .boomwow-index-colors-slide { height: clamp(17.125rem, 19.01vw, 22.8125rem); aspect-ratio: auto; }

    .boomwow-index-news { padding-top: 0; }
    /* .boomwow-index-news-heading h2 { font-size: 2rem; } */
    .boomwow-index-news-heading { margin-bottom: 4rem; }
    .boomwow-index-news-grid { max-width: 87.5rem; }

    /* .boomwow-index-reviews-heading h2 { font-size: 3rem; } */
    .boomwow-index-reviews-swiper { max-width: 62.5rem; }
    .boomwow-index-review-slide { aspect-ratio: 2 / 3; }
}

@media (max-width: 63.9375rem) {
    .boomwow-index-footer {
        display: block;
        padding: 4.5rem var(--boomwow-gutter) 1.5rem;
    }

    .boomwow-index-footer-heading h2 { font-size:5rem; }
    .boomwow-index-subscription { margin: 3rem 0 0; }
    .boomwow-index-footer-links { padding: 4rem 0 3rem; }
    .boomwow-index-footer-bottom { display: flex; }
}

@media (max-width: 47.9375rem) {
    .boomwow-index-color-stories-sticky,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories-sticky {
        display: grid;
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    .boomwow-index-color-story,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-story {
        position: relative;
        inset: auto;
        width: 100%;
        min-height: 36rem;
        height: 36rem;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories { min-height: 0; }
    .boomwow-index-color-story-figure { inset: 6rem -8% 1rem; }
    .boomwow-index-color-stories-controls,
    .boomwow-index-color-stories-progress { display: none !important; }

    .boomwow-index-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .boomwow-index-footer-bottom { justify-content: center; }
}

/* boomwow-index: floating navigation states */
.boomwow-index-header {
    top: 0.75rem;
    right: auto;
    left: 50%;
    width: calc(100% - 2rem);
    transform: translateX(-50%);
    transition:
        top 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        width 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        min-height 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        padding 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        background-color 0.3s ease,
        border-radius 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        box-shadow 0.3s ease;
}

.boomwow-index-header.is-scrolled {
    top: 0.75rem;
    width: min(46rem, calc(100% - 2rem));
    min-height: 3rem;
    padding: 0.25rem 0.75rem;
    background: rgba(14, 14, 14, 0.92);
    border: 0.0625rem solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.18);
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
}

.boomwow-index-header-logo,
.boomwow-index-navigation-list,
.boomwow-index-navigation-link {
    transition:
        width 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        gap 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        padding 0.3s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.boomwow-index-navigation-list { gap: clamp(0.5rem, 1.25vw, 1.5rem); }

.boomwow-index-navigation-link {
    padding: 0.55rem 1rem;
    border-radius: 0.5rem;
}

.boomwow-index-navigation-link::after { display: none; }

.boomwow-index-navigation-link:hover,
.boomwow-index-navigation-link:focus-visible,
.boomwow-index-navigation-link[aria-current='page'] {
    background: rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.06);
    -webkit-backdrop-filter: blur(0.5rem);
    backdrop-filter: blur(0.5rem);
}

.boomwow-index-header.is-scrolled .boomwow-index-header-logo { width: 6.5rem; }
.boomwow-index-header.is-scrolled .boomwow-index-navigation-list { gap: 0.125rem; }

.boomwow-index-header.is-scrolled .boomwow-index-navigation-link {
    padding: 0.4rem 0.6rem;
    font-size: 0.75rem;
}

.boomwow-index-header.is-scrolled .boomwow-index-navigation-link[aria-current='page'] {
    background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 63.9375rem) {
    .boomwow-index-header {
        width: calc(100% - 1.5rem);
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .boomwow-index-header.is-scrolled {
        width: min(44rem, calc(100% - 1.5rem));
    }
}

@media (max-width: 47.9375rem) {
    .boomwow-index-header {
        top: 0.5rem;
        min-height: 3.75rem;
    }

    .boomwow-index-header.is-scrolled {
        top: 0.5rem;
        min-height: 3.5rem;
        padding: 0.25rem 0.65rem;
        border-radius: 0.875rem;
    }

    .boomwow-index-header.is-scrolled .boomwow-index-header-logo { width: 6.75rem; }

    .boomwow-index-header.is-menu-open {
        background: rgba(14, 14, 14, 0.96);
        border-radius: 0.875rem;
    }

    .boomwow-index-navigation-link {
        padding: 0.75rem 1rem;
        border-radius: 0.5rem;
    }
}

/* boomwow-site: shared floating navigation states */
.boomwow-site-header {
    top: 0.75rem;
    right: auto;
    left: 50%;
    width: calc(100% - 2rem);
    transform: translateX(-50%);
    background: transparent;
    transition:
        top 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        width 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        min-height 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        padding 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        color 0.25s ease,
        background-color 0.3s ease,
        border-radius 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        box-shadow 0.3s ease;
}

.boomwow-site-header.is-scrolled {
    width: min(46rem, calc(100% - 2rem));
    min-height: 3rem;
    padding: 0.25rem 0.75rem;
    color: #fff;
    background: rgba(14, 14, 14, 0.92);
    border: 0.0625rem solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.18);
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
}

.boomwow-site-header.is-scrolled > a:first-child {
    width: 6.5rem;
}

.boomwow-site-header.is-scrolled > a:first-child img {
    filter: brightness(0) invert(1);
}

.boomwow-index-navigation-link,
.boomwow-site-navigation a {
    font-weight: 400;
}

.boomwow-site-header > a:first-child,
.boomwow-site-navigation ul,
.boomwow-site-navigation-list,
.boomwow-site-navigation a {
    transition:
        width 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        gap 0.4s cubic-bezier(0.2, 0.75, 0.25, 1),
        padding 0.3s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.boomwow-site-navigation ul,
.boomwow-site-navigation-list {
    gap: clamp(0.5rem, 1.25vw, 1.5rem);
}

.boomwow-site-navigation a {
    padding: 0.55rem 1rem;
    border-radius: 0.5rem;
}

.boomwow-site-navigation a::after {
    display: none;
}

.boomwow-site-navigation a:hover,
.boomwow-site-navigation a:focus-visible,
.boomwow-site-navigation a[aria-current='page'] {
    background: rgba(17, 17, 17, 0.1);
    box-shadow: inset 0 0 0 0.0625rem rgba(127, 127, 127, 0.1);
}

.boomwow-about-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a:hover,
.boomwow-about-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a:focus-visible,
.boomwow-about-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a[aria-current='page'],
.boomwow-support-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a:hover,
.boomwow-support-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a:focus-visible,
.boomwow-support-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a[aria-current='page'],
.boomwow-site-header.is-overlay:not(.is-scrolled) .boomwow-site-navigation a:hover,
.boomwow-site-header.is-overlay:not(.is-scrolled) .boomwow-site-navigation a:focus-visible,
.boomwow-site-header.is-overlay:not(.is-scrolled) .boomwow-site-navigation a[aria-current='page'] {
    background: rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.06);
}

.boomwow-site-header.is-scrolled .boomwow-site-navigation ul,
.boomwow-site-header.is-scrolled .boomwow-site-navigation-list {
    gap: 0.125rem;
}

.boomwow-site-header.is-scrolled .boomwow-site-navigation a {
    padding: 0.4rem 0.6rem;
    font-size: 0.75rem;
}

.boomwow-site-header.is-scrolled .boomwow-site-navigation a:hover,
.boomwow-site-header.is-scrolled .boomwow-site-navigation a:focus-visible,
.boomwow-site-header.is-scrolled .boomwow-site-navigation a[aria-current='page'] {
    background: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.06);
}

@media (max-width: 63.9375rem) {
    .boomwow-site-header {
        width: calc(100% - 1.5rem);
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .boomwow-site-header.is-scrolled {
        width: min(44rem, calc(100% - 1.5rem));
    }
}

@media (max-width: 47.9375rem) {
    .boomwow-site-header {
        top: 0.5rem;
        min-height: 3.75rem;
    }

    .boomwow-site-header.is-scrolled {
        min-height: 3.5rem;
        padding: 0.25rem 0.65rem;
        border-radius: 0.875rem;
    }

    .boomwow-site-header.is-scrolled > a:first-child {
        width: 6.75rem;
    }

    .boomwow-site-header.is-menu-open {
        color: #fff;
        background: rgba(14, 14, 14, 0.96);
        border-radius: 0.875rem;
    }

    .boomwow-site-header.is-menu-open > a:first-child img {
        filter: brightness(0) invert(1);
    }

    .boomwow-site-navigation a {
        padding: 1rem;
        border-radius: 0.5rem;
    }
}

/* boomwow-index: paired color story carousel */
.boomwow-index-color-stories,
.boomwow-index-page.is-motion-ready .boomwow-index-color-stories {
    min-height: 0;
    padding: clamp(2.5rem, 4.7vw, 5.625rem) 0 clamp(2rem, 3.65vw, 4.375rem);
    overflow: hidden;
    background: #fff;
}

.boomwow-index-color-stories-carousel {
    width: min(100%, 90rem);
    margin: 0 auto;
    overflow: hidden;
}

.boomwow-index-color-stories-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    height: auto;
}

.boomwow-index-color-stories-card {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 15 / 13;
    background: #fff;
}



.boomwow-index-color-stories-card picture,
.boomwow-index-color-stories-card img {
    display: block;
    width: 100%;
    height: 100%;
}

.boomwow-index-color-stories-card img {
    object-fit: cover;
}

.boomwow-index-color-stories-pagination,
.boomwow-index-reviews-pagination,
.boomwow-index-reviews-pagination.swiper-pagination-lock,
.boomwow-index-color-stories-pagination.swiper-pagination-lock {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: auto;
    min-height: 2.75rem;
    margin: clamp(0.5rem, 1vw, 0.875rem) auto 0;
}

.boomwow-index-color-stories-page {
    position: relative;
    width: 3rem;
    height: 2.75rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
}

.boomwow-index-color-stories-page::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 0.125rem;
    background: #d9d9d9;
    transform: translateY(-50%);
    transition: background-color 0.25s ease, height 0.25s ease;
}

.boomwow-index-color-stories-page.is-active::before {
    height: 0.1875rem;
    background: var(--boomwow-red);
}

.boomwow-index-color-stories-page:focus-visible {
    outline: 0.125rem solid #111;
    outline-offset: 0.125rem;
}

@media (max-width: 47.9375rem) {
    .boomwow-index-color-stories,
    .boomwow-index-page.is-motion-ready .boomwow-index-color-stories {
        padding: 1.5rem 0 2rem;
    }

    .boomwow-index-color-stories-group {
        grid-template-columns: 1fr;
    }

    .boomwow-index-color-stories-card + .boomwow-index-color-stories-card {
        border-top: 0.0625rem solid #efefef;
        border-left: 0;
    }

    .boomwow-index-color-stories-pagination,
    .boomwow-index-reviews-pagination,
    .boomwow-index-reviews-pagination.swiper-pagination-lock,
    .boomwow-index-color-stories-pagination.swiper-pagination-lock {
        margin-top: 0.25rem;
    }
}

/* boomwow-site: semantic typography system derived from the approved homepage */
.boomwow-index-page,
.boomwow-site-page {
    --boomwow-type-display: 5rem;
    --boomwow-type-section: 3rem;
    --boomwow-type-feature: 2.5rem;
    --boomwow-type-card: 1.25rem;
    --boomwow-type-body-large: 1.25rem;
    --boomwow-type-body: 0.875rem;
    --boomwow-type-meta: 0.75rem;
    --boomwow-leading-display: 0.98;
    --boomwow-leading-section: 1;
    --boomwow-leading-feature: 1.12;
    --boomwow-leading-card: 1.25;
    --boomwow-leading-body: 1.55;
    --boomwow-weight-display: 700;
    --boomwow-weight-heading: 600;
    --boomwow-weight-copy: 400;
}

.boomwow-site-page {
    --boomwow-red: var(--boomwow-site-red);
    --boomwow-blue: var(--boomwow-site-blue);
    --boomwow-orange: var(--boomwow-site-orange);
    --boomwow-yellow: var(--boomwow-site-yellow);
    --boomwow-pink: var(--boomwow-site-pink);
    --boomwow-ink: var(--boomwow-site-ink);
    --boomwow-paper: var(--boomwow-site-paper);
    --boomwow-muted: var(--boomwow-site-muted);
    --boomwow-gutter: var(--boomwow-site-gutter);
}


.boomwow-index-footer.boomwow-site-footer > .boomwow-index-contact {
    grid-column: auto;
    padding: 0;
    font-size: inherit;
    text-align: left;
    border-top: 0;
}

.boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-heading h2 {
    font-size: 5rem;
    line-height: 1.3;
}

.boomwow-site-page .boomwow-index-footer a {
    color: var(--boomwow-ink);
}

.boomwow-site-page main :is(
    .boomwow-about-eyebrow,
    .boomwow-about-editorial-number,
    .boomwow-about-global-stat dd,
    .boomwow-contact-eyebrow,
    .boomwow-contact-form-field label,
    .boomwow-products-design-kicker,
    .boomwow-products-series-intro > span,
    .boomwow-products-card-copy span,
    .boomwow-product-detail-heading > span,
    .boomwow-product-detail-option-group legend,
    .boomwow-product-detail-season-heading > span,
    .boomwow-news-feature-copy > div:first-child,
    .boomwow-news-card-meta,
    .boomwow-news-detail-related-date
) {
    font-size: var(--boomwow-type-meta);
    line-height: 1.35;
}

@media (max-width: 47.9375rem) {
    .boomwow-index-page,
    .boomwow-site-page {
        --boomwow-type-display: 3rem;
        --boomwow-type-section: 2.25rem;
        --boomwow-type-feature: 1.75rem;
        --boomwow-type-card: 1.125rem;
        --boomwow-type-body-large: 1rem;
        --boomwow-type-body: 0.9375rem;
        --boomwow-leading-display: 1;
        --boomwow-leading-section: 1.05;
        --boomwow-leading-feature: 1.15;
        --boomwow-leading-card: 1.3;
        --boomwow-leading-body: 1.6;
    }

    .boomwow-index-story-heading h2,
    .boomwow-index-news-heading h2,
    .boomwow-index-reviews-heading h2 {
        font-size: var(--boomwow-type-section);
        font-weight: var(--boomwow-weight-display);
        line-height: var(--boomwow-leading-section);
    }

    .boomwow-index-story-heading span {
        font-size: var(--boomwow-type-feature);
        line-height: var(--boomwow-leading-feature);
    }

    .boomwow-index-story-description,
    .boomwow-index-about-description {
        font-size: var(--boomwow-type-body-large);
        font-weight: 500;
        line-height: 1.5;
    }

    .boomwow-index-news-card-heading h3 {
        font-size: var(--boomwow-type-card);
        font-weight: var(--boomwow-weight-heading);
        line-height: var(--boomwow-leading-card);
    }

    .boomwow-site-navigation a {
        font-size: 2rem;
        font-weight: var(--boomwow-weight-copy);
        line-height: 1.2;
    }

    .boomwow-index-footer-heading h2,
    .boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-heading h2 {
        max-width: 21rem;
        font-size: 3.25rem;
        line-height: 0.98;
    }
}

@media (min-width: 48rem) {
    .boomwow-products-page main {
        grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.9fr);
        column-gap: clamp(3rem, 5vw, 5rem);
    }

    .boomwow-products-hero-gallery {
        grid-template-columns: minmax(0, 0.33fr) minmax(0, 0.67fr);
        gap: 0.5rem;
        width: 100%;
    }

    .boomwow-products-hero-figure {
        height: clamp(15rem, 24vw, 19.75rem);
    }

    .boomwow-products-design {
        align-self: start;
        padding-top: clamp(10.5rem, 14vw, 13.25rem);
    }

    .boomwow-products-design-kicker {
        display: none;
    }

    .boomwow-products-design-grid {
        grid-template-columns: minmax(0, 8rem) minmax(0, 1fr);
        gap: clamp(1.25rem, 2.4vw, 2.5rem);
    }

    .boomwow-products-design-heading h2 {
        color: #777;
        font-size: 0.875rem !important;
        font-weight: 400;
        line-height: 1.2;
        white-space: nowrap;
    }

    .boomwow-products-design-heading ul {
        margin-top: 1rem;
    }

    .boomwow-products-page .boomwow-products-design-heading li {
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.9;
    }

    .boomwow-products-design-copy {
        max-width: 15rem;
        color: #222;
        font-size: 0.75rem;
        line-height: 1.5;
    }

    .boomwow-products-page .boomwow-products-design-copy h3 {
        margin-bottom: 1rem;
        color: #777;
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 1.2;
    }

    .boomwow-products-design-copy p + p {
        margin-top: 1rem;
    }
}

/* boomwow-navigation: shared mobile menu matching the approved homepage */
@media (min-width: 48rem) {
    .boomwow-products-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open),
    .boomwow-news-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open),
    .boomwow-contact-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) {
        color: #111;
    }

    .boomwow-products-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) .boomwow-site-navigation a,
    .boomwow-news-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) .boomwow-site-navigation a,
    .boomwow-contact-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) .boomwow-site-navigation a {
        color: #111;
    }

    .boomwow-products-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) > a:first-child img,
    .boomwow-news-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) > a:first-child img,
    .boomwow-contact-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) > a:first-child img {
        filter: none;
    }
}

@media (max-width: 47.9375rem) {
    html.boomwow-site-menu-open {
        overflow: hidden;
    }

    .boomwow-index-header,
    .boomwow-site-header,
    .boomwow-index-header.is-scrolled,
    .boomwow-site-header.is-scrolled,
    .boomwow-index-header.is-menu-open,
    .boomwow-site-header.is-menu-open {
        top: 0.5rem;
        right: 0.75rem;
        left: 0.75rem;
        width: auto;
        min-height: 3.5rem;
        padding: 0.25rem 0.75rem;
        color: #fff;
        border-color: transparent;
        border-radius: 0.875rem;
        transform: none;
    }

    .boomwow-index-header.is-menu-open,
    .boomwow-site-header.is-menu-open {
        background: transparent;
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .boomwow-index-header-logo,
    .boomwow-site-header > a:first-child,
    .boomwow-index-header.is-scrolled .boomwow-index-header-logo,
    .boomwow-site-header.is-scrolled > a:first-child {
        width: 7.75rem;
    }

    .boomwow-index-header.is-menu-open .boomwow-index-header-logo img,
    .boomwow-site-header.is-menu-open > a:first-child img {
        filter: brightness(0) invert(1);
    }

    .boomwow-index-menu-toggle,
    .boomwow-site-menu-toggle {
        display: block;
        color: currentColor;
    }

    .boomwow-index-navigation,
    .boomwow-site-navigation {
        position: fixed;
        inset: 0;
        display: block;
        padding: 5.5rem 1.25rem 2rem;
        overflow-y: auto;
        color: #fff;
        background: rgba(8, 8, 8, 0.82);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-0.75rem);
        transition:
            opacity 0.28s ease,
            visibility 0.28s ease,
            transform 0.32s cubic-bezier(0.2, 0.75, 0.25, 1);
    }

    .boomwow-index-navigation.is-open,
    .boomwow-site-navigation.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .boomwow-index-navigation-list,
    .boomwow-site-navigation ul,
    .boomwow-site-navigation-list {
        display: grid;
        align-content: start;
        gap: 0.25rem;
        width: 100%;
    }

    .boomwow-index-navigation-list li + li {
        margin-top: 0;
    }

    .boomwow-site-navigation li {
        border: 0;
    }

    .boomwow-index-navigation-link,
    .boomwow-site-navigation a,
    .boomwow-site-header.is-scrolled .boomwow-site-navigation a,
    .boomwow-index-header.is-scrolled .boomwow-index-navigation-link {
        display: block;
        width: 100%;
        min-height: 3rem;
        padding: 0.55rem 0.875rem;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 1.2;
        border-radius: 0.5rem;
    }

    .boomwow-index-navigation-link:hover,
    .boomwow-index-navigation-link:focus-visible,
    .boomwow-index-navigation-link[aria-current='page'],
    .boomwow-site-navigation a:hover,
    .boomwow-site-navigation a:focus-visible,
    .boomwow-site-navigation a[aria-current='page'],
    .boomwow-site-header.is-scrolled .boomwow-site-navigation a:hover,
    .boomwow-site-header.is-scrolled .boomwow-site-navigation a:focus-visible,
    .boomwow-site-header.is-scrolled .boomwow-site-navigation a[aria-current='page'] {
        color: #fff;
        background: rgba(255, 255, 255, 0.2);
        box-shadow: inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.05);
    }

    .boomwow-site-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a:hover,
    .boomwow-site-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a:focus-visible,
    .boomwow-site-page .boomwow-site-header:not(.is-scrolled) .boomwow-site-navigation a[aria-current='page'] {
        color: #fff;
        background: rgba(255, 255, 255, 0.2);
    }
}

/* Figma node 4:309 uses a 356px content column inside the product detail rail. */
.boomwow-product-detail-page .boomwow-product-detail-summary {
    width: min(100%, 22.25rem);
    margin: 0 auto;
}

.boomwow-product-detail-page .boomwow-product-detail-heading h1 {
    font-size: 1.45rem !important;
    font-weight: 700;
    line-height: 1.12;
}

.boomwow-product-detail-page .boomwow-product-detail-tagline {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.boomwow-product-detail-page .boomwow-product-detail-description,
.boomwow-product-detail-page .boomwow-product-detail-description p {
    max-width: none;
    font-size: 0.75rem !important;
    font-weight: 400;
    line-height: 1.48;
    letter-spacing: 0;
    word-spacing: normal;
    text-align: left;
}

.boomwow-product-detail-page .boomwow-product-detail-description p { margin: 0; }
.boomwow-product-detail-page .boomwow-product-detail-description p + p { margin-top: 0.15rem; }

.boomwow-product-detail-page .boomwow-product-detail-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
}

.boomwow-product-detail-page .boomwow-product-detail-spec p {
    font-size: 0.5625rem !important;
    font-weight: 400;
    line-height: 1.3;
}

.boomwow-product-detail-page .boomwow-product-detail-inquiry { width: 100%; }

@media (max-width: 47.9375rem) {
    .boomwow-product-detail-page .boomwow-product-detail-summary { width: 100%; }
}

.boomwow-product-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open),
.boomwow-product-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) .boomwow-site-navigation a {
    color: #111;
}

.boomwow-product-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) > a:first-child img {
    filter: none;
}

/* Final specificity pass for the Figma product summary. */
.boomwow-product-detail-page .boomwow-product-detail-summary { width: min(100%, 28.5rem); padding-top: 0; }
.boomwow-product-detail-page .boomwow-product-detail-heading h1 { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.12; letter-spacing: 0; }
.boomwow-product-detail-page .boomwow-product-detail-tagline { margin-top: 0.2rem; font-size: 1rem; line-height: 1.2; }
.boomwow-product-detail-page .boomwow-product-detail-description { max-width: 27rem; margin: 0.8rem 0 2.1rem; color: #767676; font-size: 0.75rem; line-height: 1.48; text-align: justify; }
.boomwow-product-detail-page .boomwow-product-detail-description p + p { margin-top: 0.15rem; }
.boomwow-product-detail-page .boomwow-product-detail-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; align-items: start; }
.boomwow-product-detail-page .boomwow-product-detail-spec { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); column-gap: 0.5rem; align-items: center; min-width: 0; min-height: 3.4rem; padding: 0; margin: 0; border: 0; }
.boomwow-product-detail-page .boomwow-product-detail-spec legend { grid-column: 1 / -1; width: 100%; padding: 0; margin: 0 0 0.7rem; color: #111; font-size: 0.625rem; font-weight: 500; line-height: 1; }
.boomwow-product-detail-page .boomwow-product-detail-spec p { margin: 0; color: #222; font-size: 0.5625rem; line-height: 1.3; white-space: nowrap; }
.boomwow-product-detail-page .boomwow-product-detail-inquiry { grid-column: 1 / -1; min-height: 2.25rem; margin-top: 2.4rem; font-size: 0.875rem; font-weight: 600; }

@media (max-width: 47.9375rem) {
    .boomwow-product-detail-page .boomwow-product-detail-summary { width: 100%; }
    .boomwow-product-detail-page .boomwow-product-detail-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.35rem; }
    .boomwow-product-detail-page .boomwow-product-detail-spec p { font-size: 0.5rem; }
    .boomwow-product-detail-page .boomwow-product-detail-inquiry { grid-column: 1 / -1; margin-top: 1.9rem; }
}

/* Final desktop measurements from Figma Product Red, 1920px artboard. */
@media (min-width: 64rem) {
    .boomwow-product-detail-page main > .boomwow-product-detail-overview { grid-template-columns: 42.25rem 30.9375rem; column-gap: 13.75rem; align-items: start; }
    .boomwow-product-detail-page .boomwow-product-detail-gallery { grid-template-columns: 9.1875rem 31.25rem; gap: 2rem; }
    .boomwow-product-detail-page .boomwow-product-detail-thumbnails { height: 33.75rem; align-content: stretch; justify-content: space-between; gap: 0; }
    .boomwow-product-detail-page .boomwow-product-detail-thumbnails button { width: 9.1875rem; height: 10.125rem; aspect-ratio: auto; }
    .boomwow-product-detail-page .boomwow-product-detail-main-image { width: 31.25rem; min-height: 0; height: 33.75rem; }
    .boomwow-product-detail-page .boomwow-product-detail-summary { width: 30.9375rem; margin: 0; }
    .boomwow-product-detail-page .boomwow-product-detail-heading h1 { font-size: 2rem !important; line-height: 1.2; }
    .boomwow-product-detail-page .boomwow-product-detail-tagline { margin-top: 0; font-size: 1.5rem; line-height: 1.2; }
    .boomwow-product-detail-page .boomwow-product-detail-description,
    .boomwow-product-detail-page .boomwow-product-detail-description p { font-size: 1rem !important; line-height: 1.625; text-align: left; }
    .boomwow-product-detail-page .boomwow-product-detail-description { margin: 1rem 0 3.5rem; }
    .boomwow-product-detail-page .boomwow-product-detail-options { grid-template-columns: 3.25rem 5.875rem 6.375rem 7.3125rem; column-gap: 2.6rem; }
    .boomwow-product-detail-page .boomwow-product-detail-spec { min-height: 3.75rem; }
    .boomwow-product-detail-page .boomwow-product-detail-spec legend { margin-bottom: 0.85rem; font-size: 0.75rem; }
    .boomwow-product-detail-page .boomwow-product-detail-spec p { font-size: 0.75rem !important; line-height: 1.25; }
    .boomwow-product-detail-page .boomwow-product-detail-inquiry { width: 31.0625rem; min-height: 3.125rem; height: 3.125rem; margin-top: 2.95rem; font-size: 1rem; }
}

/* Figma Product Red section typography and Color Season card row. */
@media (min-width: 64rem) {
    .boomwow-product-detail-page .boomwow-product-detail-why-heading h2,
    .boomwow-product-detail-page .boomwow-product-detail-moments-heading h2,
    .boomwow-product-detail-page .boomwow-product-detail-motion-heading h2,
    .boomwow-product-detail-page .boomwow-product-detail-season-heading h2 {
        margin: 0.35rem 0;
        font-size: 2rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .boomwow-product-detail-page .boomwow-product-detail-season-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .boomwow-product-detail-page .boomwow-product-detail-season-card figure {
        aspect-ratio: 340 / 428;
    }
}

/* Figma News01: editorial list page */
.boomwow-news-page .boomwow-news-intro,
.boomwow-news-page .boomwow-news-list {
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 87.5rem);
    margin-right: auto;
    margin-left: auto;
}

.boomwow-news-page .boomwow-news-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
    align-items: end;
    gap: 4rem;
    min-height: 25rem;
    padding-top: 9rem;
    padding-bottom: 4rem;
    border-bottom: 0.0625rem solid #111;
}

.boomwow-news-page .boomwow-news-intro-copy > span,
.boomwow-news-page .boomwow-news-list-heading > span {
    color: #777;
    font-size: 0.75rem;
    line-height: 1.35;
}

.boomwow-news-page .boomwow-news-intro-title {
    margin: 1.25rem 0 0;
    color: #111;
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 700;
    line-height: 0.82;
    letter-spacing: 0;
}

.boomwow-news-page .boomwow-news-intro > p {
    max-width: 19rem;
    margin: 0 0 0.25rem;
    color: #4f4f4f;
    font-size: 0.875rem;
    line-height: 1.5;
}

.boomwow-news-page .boomwow-news-list {
    padding-top: 5rem;
    padding-bottom: 10rem;
}

.boomwow-news-page .boomwow-news-list-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 0.0625rem solid #111;
}

.boomwow-news-page .boomwow-news-list-heading h2 {
    margin: 0;
    color: #111;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.boomwow-news-page .boomwow-news-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    padding-top: 2rem;
}

.boomwow-news-page .boomwow-news-list-card-media {
    display: block;
    aspect-ratio: 450 / 290;
    overflow: hidden;
    background: #eee;
}

.boomwow-news-page .boomwow-news-list-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.boomwow-news-page .boomwow-news-list-card-media:hover img,
.boomwow-news-page .boomwow-news-list-card-media:focus-visible img {
    transform: scale(1.035);
}

.boomwow-news-page .boomwow-news-list-card-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.9rem;
    color: #777;
    font-size: 0.75rem;
    line-height: 1.35;
}

.boomwow-news-page .boomwow-news-list-card h3 {
    margin: 0.65rem 0 0;
    color: #111;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.2;
}

.boomwow-news-page .boomwow-news-list-card h3 a {
    color: inherit;
}

.boomwow-news-page .boomwow-news-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 47.9375rem) {
    .boomwow-news-page .boomwow-news-intro,
    .boomwow-news-page .boomwow-news-list {
        width: calc(100% - 2.5rem);
    }

    .boomwow-news-page .boomwow-news-intro {
        grid-template-columns: 1fr;
        gap: 2rem;
        min-height: 21rem;
        padding-top: 7rem;
        padding-bottom: 3rem;
    }

    .boomwow-news-page .boomwow-news-intro-title {
        font-size: clamp(4rem, 19vw, 6rem);
    }

    .boomwow-news-page .boomwow-news-intro > p {
        max-width: 17rem;
        margin-bottom: 0;
    }

    .boomwow-news-page .boomwow-news-list {
        padding-top: 3rem;
        padding-bottom: 6rem;
    }

    .boomwow-news-page .boomwow-news-list-heading h2 {
        font-size: 1.5rem;
    }

    .boomwow-news-page .boomwow-news-list-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
        padding-top: 1.5rem;
    }

    .boomwow-news-page .boomwow-news-list-card h3 {
        font-size: 1.125rem;
    }
}

/* Figma node 5:1247: News01 article list */
.boomwow-news-page {
    background: #f7f7f7;
}

.boomwow-news-page .boomwow-news-figma-page {
    width: min(calc(100% - (2 * var(--boomwow-site-gutter))), 75rem);
    margin: 0 auto;
}

.boomwow-news-page .boomwow-news-figma-heading {
    padding-top: 11.3125rem;
    padding-bottom: 2.9rem;
    border-bottom: 0.0625rem solid #d5d5d5;
}

.boomwow-news-page .boomwow-news-figma-heading h1 {
    margin: 0;
    color: #111;
    font-size: 3.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}

.boomwow-news-page .boomwow-news-figma-heading p {
    margin: 0.25rem 0 0;
    color: #111;
    font-size: 1rem;
    line-height: 1.2;
}

.boomwow-news-page .boomwow-news-figma-list {
    padding-top: 5.25rem;
    padding-bottom: 4rem;
}

.boomwow-news-page .boomwow-news-figma-feature,
.boomwow-news-page .boomwow-news-figma-card {
    display: grid;
    grid-template-columns: 30.625rem minmax(0, 31.1875rem);
    column-gap: 13.1875rem;
    border-bottom: 0.0625rem solid #d5d5d5;
}

.boomwow-news-page .boomwow-news-figma-feature {
    padding: 3.75rem 0 3.75rem;
}

.boomwow-news-page .boomwow-news-figma-feature-media {
    display: block;
    width: 30.8125rem;
    height: 35.75rem;
    overflow: hidden;
}

.boomwow-news-page .boomwow-news-figma-feature-media img,
.boomwow-news-page .boomwow-news-figma-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.boomwow-news-page .boomwow-news-figma-feature-media:hover img,
.boomwow-news-page .boomwow-news-figma-feature-media:focus-visible img,
.boomwow-news-page .boomwow-news-figma-card-media:hover img,
.boomwow-news-page .boomwow-news-figma-card-media:focus-visible img {
    transform: scale(1.025);
}

.boomwow-news-page .boomwow-news-figma-feature-copy,
.boomwow-news-page .boomwow-news-figma-card-copy {
    min-width: 0;
}

.boomwow-news-page .boomwow-news-figma-feature-copy h2,
.boomwow-news-page .boomwow-news-figma-card-copy h2 {
    margin: 0;
    color: #111;
    font-weight: 700;
    line-height: 1.08;
}

.boomwow-news-page .boomwow-news-figma-feature-copy h2 { font-size: 1.25rem; }
.boomwow-news-page .boomwow-news-figma-card-copy h2 { font-size: 1rem; }

.boomwow-news-page .boomwow-news-figma-feature-copy h2 a,
.boomwow-news-page .boomwow-news-figma-card-copy h2 a { color: inherit; }

.boomwow-news-page .boomwow-news-figma-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.4rem;
}

.boomwow-news-page .boomwow-news-figma-card-copy .boomwow-news-figma-author {
    gap: 0.5rem;
    margin-top: 1rem;
}

.boomwow-news-page .boomwow-news-figma-author-avatar {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    overflow: hidden;
    border: 0.0625rem solid #111;
    border-radius: 50%;
}

.boomwow-news-page .boomwow-news-figma-card-copy .boomwow-news-figma-author-avatar {
    width: 1.75rem;
    height: 1.75rem;
}

.boomwow-news-page .boomwow-news-figma-author-avatar img {
    width: 78%;
    height: auto;
}

.boomwow-news-page .boomwow-news-figma-author div {
    display: grid;
    gap: 0.15rem;
}

.boomwow-news-page .boomwow-news-figma-author strong {
    color: #111;
    font-size: 0.875rem;
    line-height: 1;
}

.boomwow-news-page .boomwow-news-figma-author time {
    color: #777;
    font-size: 0.75rem;
    line-height: 1;
}

.boomwow-news-page .boomwow-news-figma-card-copy .boomwow-news-figma-author strong,
.boomwow-news-page .boomwow-news-figma-card-copy .boomwow-news-figma-author time {
    font-size: 0.6875rem;
}

.boomwow-news-page .boomwow-news-figma-feature-copy > p,
.boomwow-news-page .boomwow-news-figma-card-copy > p {
    margin: 1rem 0 0;
    color: #666;
    font-size: 0.8125rem;
    line-height: 1.52;
}

.boomwow-news-page .boomwow-news-figma-card-copy > p {
    margin-top: 0.9rem;
    font-size: 0.75rem;
    line-height: 1.45;
}

.boomwow-news-page .boomwow-news-figma-read-more {
    display: inline-block;
    margin-top: 1.35rem;
    padding-bottom: 0.25rem;
    color: #777;
    font-size: 0.6875rem;
    line-height: 1;
    border-bottom: 0.0625rem solid #777;
}

.boomwow-news-page .boomwow-news-figma-share {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 1.75rem;
}

.boomwow-news-page .boomwow-news-figma-share > span {
    margin-right: 0.1rem;
    color: #777;
    font-size: 0.75rem;
}

.boomwow-news-page .boomwow-news-figma-share > div {
    display: flex;
    gap: 0.6rem;
    margin-top: 0.7rem;
}

.boomwow-news-page .boomwow-news-figma-share a {
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    color: #111;
    font-size: 0.625rem;
    font-weight: 700;
    border: 0.0625rem solid #111;
    border-radius: 50%;
}

.boomwow-news-page .boomwow-news-figma-share a .iconfont {
    font-size: 0.75rem;
    line-height: 1;
}

.boomwow-news-page .boomwow-news-figma-card {
    padding: 3.75rem 0;
}

.boomwow-news-page .boomwow-news-figma-card-media {
    display: block;
    width: 30.625rem;
    height: 18.75rem;
    overflow: hidden;
}

.boomwow-news-page .boomwow-news-figma-pagination {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
}

.boomwow-news-page .boomwow-news-figma-pagination a {
    color: #111;
    font-size: 0.75rem;
}

.boomwow-news-page .boomwow-news-figma-pagination a[aria-current='page'] {
    font-weight: 700;
}

.boomwow-news-page .boomwow-news-figma-pagination span {
    color: #999;
    font-size: 0.75rem;
}

.boomwow-news-page .boomwow-news-figma-pagination span[aria-disabled='true'] {
    cursor: default;
    opacity: 0.55;
}

.boomwow-news-page .boomwow-news-figma-empty {
    margin: 0;
    padding: 5rem 0;
    color: #777;
    font-size: 0.875rem;
}

.boomwow-news-page .boomwow-news-figma-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 63.9375rem) {
    .boomwow-news-page .boomwow-news-figma-page {
        width: calc(100% - 2.5rem);
    }

    .boomwow-news-page .boomwow-news-figma-list {
        padding-top: 4.5rem;
    }

    .boomwow-news-page .boomwow-news-figma-feature,
    .boomwow-news-page .boomwow-news-figma-card {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 2.5rem;
    }

    .boomwow-news-page .boomwow-news-figma-feature-media { width: 100%; }
    .boomwow-news-page .boomwow-news-figma-card-media { width: 100%; }
}

@media (max-width: 47.9375rem) {
    .boomwow-news-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open),
    .boomwow-news-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open),
    .boomwow-news-page .boomwow-site-header.is-menu-open,
    .boomwow-news-detail-page .boomwow-site-header.is-menu-open {
        color: #111;
    }

    .boomwow-news-page .boomwow-site-header.is-menu-open > a:first-child img,
    .boomwow-news-detail-page .boomwow-site-header.is-menu-open > a:first-child img {
        filter: brightness(0);
    }

    .boomwow-news-page .boomwow-news-figma-page {
        width: calc(100% - 2.5rem);
    }

    .boomwow-news-page .boomwow-news-figma-heading {
        padding-top: 7rem;
        padding-bottom: 2rem;
    }

    .boomwow-news-page .boomwow-news-figma-heading h1 { font-size: 2.75rem; }
    .boomwow-news-page .boomwow-news-figma-heading p { font-size: 0.75rem; }

    .boomwow-news-page .boomwow-news-figma-feature,
    .boomwow-news-page .boomwow-news-figma-card {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 2rem 0;
    }

    .boomwow-news-page .boomwow-news-figma-feature-media,
    .boomwow-news-page .boomwow-news-figma-card-media {
        width: 100%;
        height: auto;
        aspect-ratio: 1.633 / 1;
    }

    .boomwow-news-page .boomwow-news-figma-feature-media { aspect-ratio: 493 / 572; }
    .boomwow-news-page .boomwow-news-figma-feature-copy h2 { font-size: 1.125rem; }
    .boomwow-news-page .boomwow-news-figma-card-copy h2 { font-size: 1rem; }
    .boomwow-news-page .boomwow-news-figma-feature-copy > p,
    .boomwow-news-page .boomwow-news-figma-card-copy > p { font-size: 0.75rem; }
}

/* News detail uses black navigation on its light page background. */
@media (min-width: 48rem) {
    .boomwow-news-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open),
    .boomwow-news-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) .boomwow-site-navigation a {
        color: #111;
    }

    .boomwow-news-detail-page .boomwow-site-header:not(.is-scrolled):not(.is-menu-open) > a:first-child img {
        filter: none;
    }
}

/* boomwow-navigation: final glass state overrides */
.boomwow-index-header.is-scrolled,
.boomwow-site-header.is-scrolled {
    isolation: isolate;
    --boomwow-glass-ink: #111;
    --boomwow-glass-border: rgba(255, 255, 255, 0.68);
    --boomwow-glass-active: rgba(255, 255, 255, 0.28);
    --boomwow-glass-text-shadow: 0 0.0625rem 0.125rem rgba(255, 255, 255, 0.65);
    color: var(--boomwow-glass-ink) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0.18) 48%, rgba(255, 255, 255, 0.08) 100%),
        rgba(255, 255, 255, 0.18) !important;
    border: 0.0625rem solid var(--boomwow-glass-border);
    border-radius: 1.1rem;
    box-shadow:
        0 1.25rem 3rem rgba(24, 30, 42, 0.14),
        0 0.1875rem 0.75rem rgba(24, 30, 42, 0.08),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.78),
        inset 0 -0.0625rem 0 rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(1.25rem) saturate(165%);
    backdrop-filter: blur(1.25rem) saturate(165%);
}

.boomwow-index-header.is-scrolled::before,
.boomwow-site-header.is-scrolled::before {
    position: absolute;
    inset: 0.0625rem;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(105deg, rgba(255, 255, 255, 0.34), transparent 34%, transparent 70%, rgba(255, 255, 255, 0.08));
    content: '';
    pointer-events: none;
}

.boomwow-index-header.is-scrolled .boomwow-index-header-logo img,
.boomwow-site-header.is-scrolled > a:first-child img {
    filter: brightness(0) drop-shadow(0 0.0625rem 0.125rem rgba(255, 255, 255, 0.2)) !important;
}

.boomwow-index-header.is-scrolled .boomwow-index-navigation-link,
.boomwow-site-header.is-scrolled .boomwow-site-navigation a {
    color: var(--boomwow-glass-ink, #fff) !important;
}

.boomwow-index-header.is-scrolled .boomwow-index-navigation-link:hover,
.boomwow-index-header.is-scrolled .boomwow-index-navigation-link:focus-visible,
.boomwow-index-header.is-scrolled .boomwow-index-navigation-link[aria-current='page'],
.boomwow-site-header.is-scrolled .boomwow-site-navigation a:hover,
.boomwow-site-header.is-scrolled .boomwow-site-navigation a:focus-visible,
.boomwow-site-header.is-scrolled .boomwow-site-navigation a[aria-current='page'] {
    color: var(--boomwow-glass-ink, #fff) !important;
    background: var(--boomwow-glass-active, rgba(255, 255, 255, 0.18));
    border: 0.0625rem solid var(--boomwow-glass-border, rgba(255, 255, 255, 0.14));
    border-radius: 0.65rem;
    box-shadow:
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.26),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.12);
    text-shadow: var(--boomwow-glass-text-shadow, 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.28));
    -webkit-backdrop-filter: blur(0.625rem) saturate(150%);
    backdrop-filter: blur(0.625rem) saturate(150%);
}

@media (max-width: 47.9375rem) {
    .boomwow-index-header.is-scrolled,
    .boomwow-site-header.is-scrolled {
        border-radius: 0.95rem;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.1)),
            rgba(255, 255, 255, 0.16) !important;
        border-color: var(--boomwow-glass-border, rgba(255, 255, 255, 0.2));
        box-shadow:
            0 0.875rem 2rem rgba(24, 30, 42, 0.12),
            inset 0 0.0625rem 0 rgba(255, 255, 255, 0.72),
            inset 0 -0.0625rem 0 rgba(255, 255, 255, 0.18);
        -webkit-backdrop-filter: blur(1.1rem) saturate(160%);
        backdrop-filter: blur(1.1rem) saturate(160%);
    }
}

/* Keep the glass surface translucent while preserving black text contrast. */
@supports (background: color-mix(in srgb, currentColor, transparent)) {
    .boomwow-index-header.is-scrolled,
    .boomwow-site-header.is-scrolled {
        background:
            linear-gradient(
                180deg,
                color-mix(in srgb, white 36%, transparent),
                color-mix(in srgb, white 11%, transparent)
            ),
            color-mix(in srgb, white 18%, transparent) !important;
    }
}

/* boomwow-footer: shared footer details */
.boomwow-index-footer,
.boomwow-site-footer {
    --boomwow-footer-dot-size: 0.75rem;
    color: var(--boomwow-ink, var(--boomwow-site-ink));
    background: var(--boomwow-paper, var(--boomwow-site-paper));
}

.boomwow-index-footer-column::before {
    top: 0.2rem;
    width: var(--boomwow-footer-dot-size);
    height: var(--boomwow-footer-dot-size);
    background: var(--boomwow-pink, var(--boomwow-site-pink));
}

.boomwow-index-footer-column:nth-child(2)::before { background: var(--boomwow-blue, var(--boomwow-site-blue)); }
.boomwow-index-footer-column:nth-child(3)::before { background: var(--boomwow-orange, var(--boomwow-site-orange)); }
.boomwow-index-footer-column:nth-child(4)::before { background: var(--boomwow-yellow, var(--boomwow-site-yellow)); }

/* Anchor the dots to the heading itself so they remain visible in every footer layout. */
.boomwow-index-footer-column {
    padding-left: 0;
}

.boomwow-index-footer-column::before {
    display: none;
}

.boomwow-index-footer-column h3 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.boomwow-index-footer-column h3::before {
    flex: 0 0 var(--boomwow-footer-dot-size);
    width: var(--boomwow-footer-dot-size);
    height: var(--boomwow-footer-dot-size);
    background: var(--boomwow-pink, var(--boomwow-site-pink));
    border-radius: 50%;
    content: '';
}

.boomwow-index-footer-column:nth-child(2) h3::before { background: var(--boomwow-blue, var(--boomwow-site-blue)); }
.boomwow-index-footer-column:nth-child(3) h3::before { background: var(--boomwow-orange, var(--boomwow-site-orange)); }
.boomwow-index-footer-column:nth-child(4) h3::before { background: var(--boomwow-yellow, var(--boomwow-site-yellow)); }

.boomwow-index-footer-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: clamp(1.5rem, 3.5vw, 3.5rem);
    row-gap: 2.75rem;
}

/* Keep the navigation columns on the same top baseline as the subscription block. */
.boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-links {
    align-self: start;
}

@media (min-width: 48rem) {
    .boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-links {
        margin-top: 2rem;
    }
}

.boomwow-index-footer-column h3 {
    min-height: 1.125rem;
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.25;
}

.boomwow-index-footer-column ul {
    margin: 0;
    padding: 0 0 0 1.5rem;
}

.boomwow-index-footer-column li + li {
    margin-top: 0.65rem;
}

.boomwow-index-footer-item {
    display: block;
    font-size: 0.875rem;
    line-height: 1.35;
}

@media (max-width: 47.9375rem) {
    .boomwow-index-footer-links {
        column-gap: 1.25rem;
        row-gap: 2.25rem;
    }

    .boomwow-index-footer-column h3 {
        font-size: 0.8125rem;
    }

    .boomwow-index-footer-item {
        font-size: 0.8125rem;
    }
}

.boomwow-index-subscription-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.boomwow-index-subscription-label::before {
    flex: 0 0 var(--boomwow-footer-dot-size);
    width: var(--boomwow-footer-dot-size);
    height: var(--boomwow-footer-dot-size);
    background: var(--boomwow-red, var(--boomwow-site-red));
    border-radius: 50%;
    content: '';
}

.boomwow-index-subscription-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border: 0;
    margin-left: calc(var(--boomwow-footer-dot-size) + 0.75rem);
}

.boomwow-index-subscription-field input {
    min-height: 2.75rem;
    padding: 0.35rem 0 0.65rem;
    border: 0;
    border-bottom: 0.0625rem solid currentColor;
    text-transform: uppercase;
}

.boomwow-index-subscription-field input::placeholder {
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.boomwow-index-subscription-submit {
    width: 100%;
    min-height: 2.75rem;
    margin-top: 1.875rem;
    padding: 0.75rem 1rem;
    color: #fff;
    background: var(--boomwow-red, var(--boomwow-site-red));
    border: 0.0625rem solid var(--boomwow-red, var(--boomwow-site-red));
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.boomwow-index-subscription-status,
.boomwow-index-subscription-noscript {
    margin-left: calc(var(--boomwow-footer-dot-size) + 0.75rem);
}

.boomwow-index-subscription-submit:hover,
.boomwow-index-subscription-submit:focus-visible {
    background: #e10b1f;
    border-color: #e10b1f;
    transform: translateY(-0.0625rem);
}

.boomwow-index-subscription-submit:focus-visible {
    outline: 0.125rem solid rgba(245, 21, 50, 0.35);
    outline-offset: 0.1875rem;
}

/* boomwow-about: use the production wordmark asset instead of rendered text */
.boomwow-index-about-wordmark {
    position: relative;
    display: inline-block;
    width: min(19.625rem, 70vw);
    font-size: 1rem;
    line-height: 0;
}

.boomwow-index-about-logo {
    display: block;
    width: 100%;
    height: auto;
}

.boomwow-index-about-wordmark sup {
    position: absolute;
    top: 0.1rem;
    right: -0.8rem;
    margin: 0;
    font-size: 0.625rem;
    line-height: 1;
}

/* boomwow-navigation: mobile scrolled menu glass state */
@media (max-width: 47.9375rem) {
    .boomwow-index-header.is-scrolled.is-menu-open,
    .boomwow-site-header.is-scrolled.is-menu-open {
        color: #111 !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.14)),
            rgba(255, 255, 255, 0.22) !important;
        border: 0.0625rem solid rgba(255, 255, 255, 0.72);
        border-radius: 0.95rem;
        box-shadow:
            0 0.875rem 2rem rgba(24, 30, 42, 0.14),
            inset 0 0.0625rem 0 rgba(255, 255, 255, 0.82),
            inset 0 -0.0625rem 0 rgba(255, 255, 255, 0.2);
        -webkit-backdrop-filter: blur(1.25rem) saturate(170%);
        backdrop-filter: blur(1.25rem) saturate(170%);
    }

    .boomwow-index-header.is-scrolled.is-menu-open .boomwow-index-header-logo img,
    .boomwow-site-header.is-scrolled.is-menu-open > a:first-child img {
        filter: brightness(0) drop-shadow(0 0.0625rem 0.125rem rgba(255, 255, 255, 0.2)) !important;
    }

    .boomwow-index-header.is-scrolled.is-menu-open .boomwow-index-menu-toggle,
    .boomwow-site-header.is-scrolled.is-menu-open .boomwow-site-menu-toggle {
        color: #111 !important;
    }

    .boomwow-index-navigation.is-open,
    .boomwow-site-navigation.is-open {
        color: #111;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.22)),
            rgba(255, 255, 255, 0.34);
        border: 0.0625rem solid rgba(255, 255, 255, 0.62);
        box-shadow:
            inset 0 0.0625rem 0 rgba(255, 255, 255, 0.72),
            0 1rem 2.5rem rgba(24, 30, 42, 0.12);
        -webkit-backdrop-filter: blur(1.5rem) saturate(175%);
        backdrop-filter: blur(1.5rem) saturate(175%);
    }

    .boomwow-index-navigation.is-open .boomwow-index-navigation-link,
    .boomwow-site-navigation.is-open a {
        color: #111 !important;
        background: transparent;
        border: 0.0625rem solid transparent;
        border-radius: 0.85rem;
        text-shadow: 0 0.0625rem 0.125rem rgba(255, 255, 255, 0.65);
    }

    .boomwow-index-navigation.is-open .boomwow-index-navigation-link:hover,
    .boomwow-index-navigation.is-open .boomwow-index-navigation-link:focus-visible,
    .boomwow-index-navigation.is-open .boomwow-index-navigation-link[aria-current='page'],
    .boomwow-site-navigation.is-open a:hover,
    .boomwow-site-navigation.is-open a:focus-visible,
    .boomwow-site-navigation.is-open a[aria-current='page'] {
        color: #111 !important;
        background: rgba(255, 255, 255, 0.46);
        border-color: rgba(255, 255, 255, 0.7);
        box-shadow:
            inset 0 0.0625rem 0 rgba(255, 255, 255, 0.78),
            0 0.5rem 1.25rem rgba(24, 30, 42, 0.08);
    }
}

/* boomwow-index: continuous full-width color strip */
.boomwow-index-colors-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.boomwow-index-colors {
    padding: clamp(1.5rem, 2.5vw, 3rem) 0 0;
    overflow: hidden;
}

.boomwow-index-colors-swiper {
    width: 100%;
    max-width: none;
    padding: 0;
    overflow: hidden;
}

.boomwow-index-colors-track {
    display: flex;
    grid-template-columns: none;
    width: auto;
}

.boomwow-index-colors-slide {
    flex: 0 0 auto;
    width: auto;
    height: auto;
    max-width: none;
    aspect-ratio: 0.76;
}

.boomwow-index-colors-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.boomwow-index-colors-previous,
.boomwow-index-colors-next {
    display: none !important;
}

.boomwow-index-news,
.boomwow-index-reviews {
    --boomwow-index-heading-space: clamp(2.75rem, 3.5vw, 3.5rem);
    padding-top: 0;
}

.boomwow-index-news {
    padding-bottom: 0;
}

.boomwow-index-news-heading,
.boomwow-index-reviews-heading {
    margin-bottom: 0;
    padding: var(--boomwow-index-heading-space) 0;
}

@media (max-width: 47.9375rem) {
    .boomwow-index-colors {
        padding: 1.25rem 0 0;
    }

    .boomwow-index-news,
    .boomwow-index-reviews {
        --boomwow-index-heading-space: clamp(2.5rem, 10vw, 3rem);
    }

    .boomwow-index-news-heading,
    .boomwow-index-reviews-heading {
        padding: var(--boomwow-index-heading-space) var(--boomwow-gutter);
    }
}

/* Laptop-width safeguards for long service and footer headings. */
@media (min-width: 48rem) {
    .boomwow-support-service h3 {
        white-space: nowrap;
    }
}

@media (min-width: 48rem) and (max-width: 89.9375rem) {
    .boomwow-support-services-grid {
        gap: clamp(1.5rem, 3vw, 2.75rem);
    }

    .boomwow-support-service h3 {
        min-height: 0;
        font-size: clamp(0.9rem, 1.32vw, 1.125rem);
    }
}

@media (min-width: 48rem) {
    .boomwow-index-footer-heading h2,
    .boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-heading h2 {
        max-width: none;
        white-space: nowrap;
    }
}

@media (min-width: 48rem) and (max-width: 89.9375rem) {
    .boomwow-index-footer.boomwow-site-footer {
        display: block;
        padding: 4.5rem var(--boomwow-gutter) 1.5rem;
    }

    .boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-heading h2 {
        font-size: clamp(4rem, 5.85vw, 5rem);
    }

    .boomwow-index-footer.boomwow-site-footer .boomwow-index-subscription {
        margin: 3rem 0 0;
    }

    .boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-links {
        padding: 4rem 0 3rem;
    }

    .boomwow-index-footer.boomwow-site-footer .boomwow-index-footer-bottom {
        display: flex;
    }
}

.boomwow-site-page main h1 { letter-spacing: 0; }
.boomwow-site-page main h3 { letter-spacing: 0; }

.boomwow-site-page main p,
.boomwow-site-page main h4 {
    letter-spacing: 0;
}

/* Keep the mobile menu as a full-screen layer with every link visible at once. */
@media (max-width: 47.9375rem) {
    .boomwow-index-navigation,
    .boomwow-site-navigation {
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
        padding: clamp(4.75rem, 13vh, 6rem) 1.25rem 1.5rem;
        overflow: hidden;
    }

    .boomwow-index-navigation-list,
    .boomwow-site-navigation ul,
    .boomwow-site-navigation-list {
        row-gap: clamp(0.2rem, 1vh, 0.5rem);
    }

    .boomwow-index-navigation-link,
    .boomwow-site-navigation a,
    .boomwow-site-header.is-scrolled .boomwow-site-navigation a,
    .boomwow-index-header.is-scrolled .boomwow-index-navigation-link {
        min-height: clamp(2.35rem, 6.5vh, 3.1rem);
        padding: 0.35rem 0.875rem;
        font-size: clamp(1.4rem, 7vw, 2rem);
        line-height: 1.15;
    }
}
