* {
    --index-card-swiper-background: var(--color-surface);
    --index-card-swiper-border: var(--color-border-subtle);
    --index-card-swiper-shadow: rgba(23, 21, 15, 0.07);
    --index-card-swiper-button-background: rgba(0, 0, 0, 0.06);
    --index-card-swiper-button: #000;
    --index-hero-glow-1: rgba(234, 208, 80, 0.5);
    --index-hero-glow-2: rgba(244, 182, 64, 0.32);
    --index-hero-glow-3: rgba(255, 236, 170, 0.55);
}

html[data-theme=dark] * {
    --index-card-swiper-background: var(--color-surface) !important;
    --index-card-swiper-border: var(--color-border-subtle) !important;
    --index-card-swiper-shadow: rgba(0, 0, 0, 0.4) !important;
    --index-card-swiper-button-background: rgba(235, 235, 235, 0.14) !important;
    --index-card-swiper-button: #fff !important;
    --index-hero-glow-1: rgba(234, 199, 15, 0.16) !important;
    --index-hero-glow-2: rgba(180, 120, 20, 0.14) !important;
    --index-hero-glow-3: rgba(90, 70, 10, 0.28) !important;
}

body {
    overflow-x: hidden;
}

/* Set by homeScrollRestore.js when a saved scroll position is replayed:
   keep the page hidden until the inline script at the end of the home page
   has scrolled to it, so the first painted frame is already in place. */
html[data-nm-home-restore="pending"] body {
    visibility: hidden;
}

/* While pending, the header already reaches its final (scrolled) state
   before the page is revealed; suppress its staggered show transitions
   (visibility has a 0.5s delay, and it also delays the inherited visibility
   flip when the page is revealed) or the links would lag behind the reveal.
   The selectors must out-specify header.css's !important transition rules. */
html[data-nm-home-no-transition] #hcont #pageHeader,
html[data-nm-home-no-transition] #hcont #pageHeader * {
    transition: none !important;
}

/* ============ Hero ============ */
.indexHeader {
    position: relative;
    left: 0;
    top: -82px;
    z-index: 0;
    width: 100%;
    height: max(76vh, 560px);
    margin-bottom: -56px;
    overflow: hidden;
}

.indexHeaderBg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(52% 60% at 50% 30%, var(--index-hero-glow-3) 0%, transparent 70%),
        radial-gradient(60% 72% at 82% 12%, var(--index-hero-glow-1) 0%, transparent 66%),
        radial-gradient(56% 64% at 12% 20%, var(--index-hero-glow-2) 0%, transparent 64%),
        radial-gradient(80% 50% at 50% 108%, var(--index-hero-glow-1) 0%, transparent 62%);
    animation: auroraDrift 16s ease-in-out infinite alternate;
}

.indexHeaderBg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 90% at 50% 10%, transparent 55%, var(--color-page-background) 100%);
}

.indexHeaderLogo {
    position: absolute;
    left: 50%;
    top: 40%;
    z-index: 1;
    height: 36%;
    aspect-ratio: 1 / 1;
    background-image: url(data:image/png;base64,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);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transform: translate(-50%, -50%);
    transform-origin: center;
    will-change: transform, opacity;
    animation: logoComing 1.3s var(--motion-ease-out);
}

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

.indexHeaderName {
    position: absolute;
    left: 0;
    right: 0;
    top: 68%;
    z-index: 2;
    font-size: clamp(34px, 6.4vw, 62px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--color-text-primary);
    white-space: nowrap;
    /* Centered by full-width box + text-align instead of translate(-50%):
       WebKit does not re-resolve percentage transforms while letter-spacing
       animates the element's width, which left the wordmark off-center on
       iOS until the entrance animation ended. */
    text-align: center;
    transform-origin: center;
    will-change: transform, opacity;
    animation: nameComing 1.1s var(--motion-ease-out) 0.85s backwards;
}

@keyframes auroraDrift {
    0% {
        background-position: 0% 0%, 0% 0%, 0% 0%, 0% 0%;
        transform: scale(1);
    }

    100% {
        background-position: 0% 0%, 3% 4%, -3% 3%, 0% 0%;
        transform: scale(1.04);
    }
}

@keyframes logoComing {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(2.2) translateY(3%);
        filter: blur(12px);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) translateY(0);
        filter: blur(0);
    }
}

@keyframes nameComing {
    0% {
        opacity: 0;
        letter-spacing: 0.18em;
        transform: translateY(26px);
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        letter-spacing: -0.03em;
        transform: translateY(0);
        filter: blur(0);
    }
}

@media (max-width: 699.99999px) {
    .indexHeader {
        height: max(68vh, 480px);
    }

    .indexHeaderLogo {
        height: 30%;
    }

    .indexHeaderName {
        top: 64%;
    }

}

@media (prefers-reduced-motion: reduce) {
    .indexHeaderBg,
    .indexHeaderLogo {
        animation: none !important;
    }
}

/* ============ Contact pills (legacy pages) ============ */
.contactContainer {
    padding: 5px 10%;
    text-align: center;
}

a.contact {
    display: inline-block;
    background-position-x: 6px;
    background-position-y: 50%;
    background-size: 20px;
    background-repeat: no-repeat;
    padding: 6px;
    max-width: 20px;
    font-size: 300;
    border-radius: 233px;
    box-shadow: var(--shadow-sm);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border-subtle);
    color: var(--color-text-primary) !important;
    overflow: hidden;
    transition: all 1.2s;
    text-decoration: none !important;
}

.contact:hover,
.contact:focus-visible {
    max-width: 50vw;
}

.contact b {
    padding-right: 5px;
    padding-left: 25px;
    opacity: 0;
    transition: opacity 0.1s 1.1s;
}

.contact:hover b,
.contact:focus-visible b {
    opacity: 1;
    transition: opacity 0s 0s;
}

/* ============ Card swipers ============ */
.cardSwiper {
    display: flex;
    position: relative;
    justify-content: center;
    overflow: hidden;
    margin: 0 -10vw;
    padding: 0 10vw;
}

.cardSwiper .swiper-wrapper {
    max-width: calc(100% + 20vw);
    flex-shrink: 0;
    flex-grow: 0;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0 -10vw;
    padding: 14px 10vw;
    overflow: auto hidden;
    scrollbar-width: none;
}

.cardSwiper .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.cardSwiper .swiper-slide {
    position: relative;
    flex-shrink: 0;
    width: min(272px, 80vw);
    margin: 10px;
    height: min(360px, 84vh);
    background: var(--index-card-swiper-background);
    border: 1px solid var(--index-card-swiper-border);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 10px var(--index-card-swiper-shadow);
    transition: transform 0.6s var(--motion-ease-out), box-shadow 0.6s var(--motion-ease-out), border-color 0.3s, outline 0s;
}

.cardSwiper .swiper-slide:hover,
.cardSwiper .swiper-slide:focus-visible {
    transform: translateY(-7px);
    box-shadow: 0 18px 44px -12px var(--index-card-swiper-shadow), 0 4px 14px var(--index-card-swiper-shadow);
}

.cardSwiper .swiper-button-prev,
.cardSwiper .swiper-button-next {
    position: absolute;
    top: calc(50% - 13px);
    width: 21px;
    height: 21px;
    margin: 0vw;
    padding: 14px;
    border-radius: 50%;
    background-color: var(--index-card-swiper-button-background);
    color: var(--index-card-swiper-button);
    transition: opacity 0.3s;
}

.cardSwiper .swiper-button-prev:after,
.cardSwiper .swiper-button-next:after {
    font-size: 17px;
}

.productsSwiper .swiper-wrapper .swiper-slide {
    background-repeat: no-repeat;
    background-position: center calc(50% - 36px);
    background-size: auto 56%;
    transition: transform 0.6s var(--motion-ease-out), box-shadow 0.6s var(--motion-ease-out), border-color 0.3s, background-size 0.6s var(--motion-ease-out), outline 0s;
}

.productsSwiper .swiper-wrapper .swiper-slide:hover,
.productsSwiper .swiper-wrapper .swiper-slide:focus-visible {
    background-size: auto 60%;
}

.productsSwiper .swiper-wrapper .swiper-slide p {
    margin: 0;
    padding: 0;
    position: absolute;
    bottom: 12%;
    left: 14px;
    right: 14px;
    color: var(--color-text-primary) !important;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-align: center;
}

#newsSwiperItems center {
    display: block;
    width: 100%;
    margin: 60px 0 20px 0;
    text-align: center;
}

/* Reserve the loaded slides' height (slide height + 20px slide margins +
   28px wrapper padding) while the newsroom AJAX request is in flight, so the
   document does not grow mid-page and the browser can restore the previous
   scroll position on the first attempt. */
.newsSwiper {
    min-height: calc(min(360px, 84vh) + 48px);
}

#newsSwiperItems .swiper-slide,
#newsSwiperItems .swiper-slide * {
    position: relative;
    color: var(--color-text-primary);
    text-decoration: none !important;
    text-decoration-color: #00000000;
    text-align: left;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#newsSwiperItems .swiper-slide .newsImage {
    position: relative;
    width: calc(100% + 2px);
    margin: -1px;
    height: 1px;
    flex-grow: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #00000018;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    transition: transform 0.9s var(--motion-ease-out);
}

#newsSwiperItems .swiper-slide .newsImage::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 90px;
    background-image: linear-gradient(#ffffff00, var(--index-card-swiper-background));
    pointer-events: none;
}

#newsSwiperItems .swiper-slide:hover .newsImage,
#newsSwiperItems .swiper-slide:focus-visible .newsImage {
    transform: scale(1.045);
}

#newsSwiperItems .swiper-slide h3 {
    padding: 14px 22px 0 22px;
    margin: 0;
    font-weight: 700;
    font-size: 17.5px;
    letter-spacing: -0.01em;
    line-height: 1.45;
    flex-shrink: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

#newsSwiperItems .swiper-slide .time {
    padding: 5px 22px 12px 22px;
    margin: 0;
    font-size: 13.5px;
    line-height: 1.4;
    flex-shrink: 0;
    flex-direction: row;
    opacity: 0.55;
}

#newsSwiperItems .swiper-slide .time svg {
    width: 12px;
    height: 12px;
    margin-top: 3px;
    margin-right: 5px;
    fill: var(--color-text-primary);
}

#newsSwiperItems .swiper-slide p {
    padding: 4px 22px 12px 22px;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    flex-shrink: 1;
}

#newsSwiperItems .swiper-slide .cover {
    display: none;
}

.lemonLine {
    display: block;
    width: min(80%, 900px);
    aspect-ratio: 1296 / 393;
    height: auto;
    margin: 24px auto 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
