/**
 * Summit Peak Labs V10 - Custom CSS
 * Additional styles that complement Tailwind CSS
 */

/* ==========================================================================
   Color Fallbacks (when Tailwind CDN blocked or fails - ad blockers, slow
   networks, different regions). Ensures brand colors still display correctly.
   ========================================================================== */

.bg-\[\#6bb3fb\] { background-color: #6bb3fb !important; }
.bg-\[\#6bb3fb\]:hover, .hover\:bg-\[\#9dcbfd\]:hover { background-color: #9dcbfd !important; }
.bg-\[\#03284f\] { background-color: #03284f !important; }
.bg-\[\#011a2e\] { background-color: #011a2e !important; }
.bg-\[\#0a1628\] { background-color: #0a1628 !important; }
.bg-\[\#064272\] { background-color: #064272 !important; }
.bg-\[\#162d4a\] { background-color: #162d4a !important; }
.bg-\[\#6bb3fb\] { background-color: #6bb3fb !important; }
.text-\[\#011a2e\] { color: #011a2e !important; }
.border-\[\#0a5a9e\] { border-color: #0a5a9e !important; }
.border-\[\#234567\] { border-color: #234567 !important; }

/* Add to cart / CTA buttons */
button.bg-\[\#6bb3fb\],
a.bg-\[\#6bb3fb\] { background-color: #6bb3fb !important; color: #011a2e !important; }

/* ==========================================================================
   Global horizontal-overflow safeguard
   Stops the page from panning sideways on mobile when a viewport-anchored
   element (the fixed mobile add-to-cart bar, or the third-party Omnisend
   popup) reports the document's overflow width and inflates the layout
   viewport. Use overflow-x: clip (NOT hidden) so position: sticky keeps
   working â€” overflow:hidden on html/body would break the sticky header.
   ========================================================================== */
html, body {
    overflow-x: clip;
    max-width: 100%;
    overscroll-behavior-x: none;
}
@supports not (overflow-x: clip) {
    html, body {
        overflow-x: hidden;
    }
}

/* ==========================================================================
   Typography Enhancements
   ========================================================================== */

.font-display {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.font-body {
    font-family: 'Inter', sans-serif;
}

/* ==========================================================================
   Site-wide type scale
   Every new section uses these tokens. Do not invent font sizes.
   Do not restyle header or footer in this pass.
   ========================================================================== */

:root {
    --green: #10b981;
    --accent: #6bb3fb;
    --eyebrow: 14px;
    --h2: 52px;
    --h3: 22px;
    --lead: 19px;
    --body: 17px;
    --small: 15px;
    --label: 13px;
    --step-numeral: 32px;
    --step-numeral-stacked: 56px;
}

@media (max-width: 639px) {
    :root {
        --eyebrow: 13px;
        --h2: 34px;
        --h3: 20px;
        --lead: 17px;
        --body: 16px;
    }
}

.evp-type-eyebrow {
    font-size: var(--eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent);
}

.evp-type-h2 {
    font-size: var(--h2);
    font-weight: 700;
    line-height: 1.08;
}

.evp-type-h3 {
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
}

.evp-type-lead {
    font-size: var(--lead);
    line-height: 1.6;
}

.evp-type-body {
    font-size: var(--body);
    line-height: 1.6;
}

.evp-type-small {
    font-size: var(--small);
    line-height: 1.5;
}

.evp-type-label {
    font-size: var(--label);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.everest-pay-alert {
    display: block;
    width: 100%;
    max-width: 40rem;
    margin: 0 auto 2rem;
    padding: 1.25rem 1.5rem;
    text-align: left;
    background: rgba(107, 179, 251, 0.12);
    border: 1px solid rgba(107, 179, 251, 0.4);
    border-radius: 16px;
}

.everest-pay-alert__eyebrow {
    margin: 0 0 0.5rem;
}

.everest-pay-alert__title {
    margin: 0 0 0.5rem;
    color: #fff;
}

.everest-pay-alert__body {
    margin: 0;
    color: #b8d4ed;
}

.everest-pay-alert__body strong {
    color: #fff;
    font-weight: 700;
}

/* Line Clamp Support */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ==========================================================================
   WooCommerce Overrides
   ========================================================================== */

/* Remove default WooCommerce styles */
.woocommerce-result-count {
    margin: 0 !important;
    padding: 0 !important;
    color: #a3c4d9;
    font-size: 0.875rem;
}

.woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce-ordering select {
    background-color: #162d4a;
    border: 1px solid #234567;
    border-radius: 0.5rem;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    color: #a3c4d9;
    font-size: 0.875rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236a8fa8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    transition: border-color 0.2s ease;
}

.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
    border-color: rgba(40, 183, 217, 0.5);
    outline: none;
}

/* Shop sort control: never overflow the viewport. Native <select>, so its
   option list is rendered by the OS and always stays on-screen; we only need
   to constrain the control itself. Full width on mobile for a clean toolbar. */
.everest-shop-sort,
.everest-shop-sort .woocommerce-ordering,
.everest-shop-sort select.orderby {
    max-width: 100%;
}

@media (max-width: 639px) {
    .everest-shop-sort,
    .everest-shop-sort .woocommerce-ordering,
    .everest-shop-sort select.orderby {
        width: 100%;
    }
}

/* Pagination */
.woocommerce-pagination ul,
.page-numbers {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-pagination ul li,
.page-numbers li {
    margin: 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.page-numbers a,
.page-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    background-color: #162d4a;
    border: 1px solid #234567;
    border-radius: 0.5rem;
    color: #a3c4d9;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.woocommerce-pagination ul li a:hover,
.page-numbers a:hover {
    border-color: #6bb3fb;
    color: #6bb3fb;
}

.woocommerce-pagination ul li span.current,
.page-numbers span.current {
    background-color: #6bb3fb;
    border-color: #6bb3fb;
    color: #0a1628;
}

.woocommerce-pagination ul li .prev,
.woocommerce-pagination ul li .next,
.page-numbers .prev,
.page-numbers .next {
    padding: 0;
}

/* Quantity Input */
.woocommerce .quantity {
    display: flex;
    align-items: center;
}

.woocommerce .quantity .qty {
    width: 4rem;
    padding: 0.5rem;
    text-align: center;
    background-color: #0f2137;
    border: 1px solid #234567;
    border-radius: 0.5rem;
    color: #ffffff;
    font-size: 1rem;
    -moz-appearance: textfield;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce .quantity .qty:focus {
    outline: none;
    border-color: #6bb3fb;
}

/* WooCommerce Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #162d4a !important;
    border: 1px solid #234567 !important;
    border-radius: 0.75rem !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
    color: #a3c4d9 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: #6bb3fb !important;
}

.woocommerce-message {
    border-left: 3px solid #10b981 !important;
}

.woocommerce-message::before {
    color: #10b981 !important;
}

.woocommerce-error {
    border-left: 3px solid #ef4444 !important;
}

.woocommerce-error::before {
    color: #ef4444 !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: #6bb3fb !important;
}

/* ==========================================================================
   Form Styles
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
    background-color: #162d4a;
    border: 1px solid #234567;
    border-radius: 0.75rem;
    padding: 0.875rem 1rem;
    color: #ffffff;
    font-size: 1rem;
    transition: border-color 0.2s ease;
    width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #6bb3fb;
}

input::placeholder,
textarea::placeholder {
    color: #6a8fa8;
}

/* Checkbox & Radio */
input[type="checkbox"],
input[type="radio"] {
    width: 1.25rem;
    height: 1.25rem;
    background-color: #162d4a;
    border: 2px solid #234567;
    border-radius: 0.25rem;
    cursor: pointer;
    appearance: none;
    transition: all 0.2s ease;
}

input[type="radio"] {
    border-radius: 50%;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: #6bb3fb;
    border-color: #6bb3fb;
}

input[type="checkbox"]:checked::after {
    content: '';
    display: block;
    width: 0.375rem;
    height: 0.625rem;
    border: solid #0a1628;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin: 0.125rem auto;
}

input[type="radio"]:checked::after {
    content: '';
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    background-color: #0a1628;
    border-radius: 50%;
    margin: 0.25rem auto;
}

/* Labels */
label {
    display: block;
    margin-bottom: 0.5rem;
    color: #a3c4d9;
    font-size: 0.875rem;
    font-weight: 500;
}

/* ==========================================================================
   Custom Scrollbar
   ========================================================================== */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #0a1628;
}

::-webkit-scrollbar-thumb {
    background: #234567;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #2d5a85;
}

/* ==========================================================================
   Alpine.js Collapse Plugin Fallback
   ========================================================================== */

[x-cloak] {
    display: none !important;
}

/* ==========================================================================
   Prose/Content Styling
   ========================================================================== */

.prose {
    color: #a3c4d9;
    font-size: 1.0625rem;
    line-height: 1.8;
}

/* Tailwind's reset removes paragraph margins entirely â€” without the
   Typography plugin nothing restores them, so long-form pages render
   as one cramped wall of text. Restore comfortable rhythm here. */
.prose p {
    margin-top: 0;
    margin-bottom: 1.25em;
}

/* Notice boxes opt out of paragraph margins via utility classes;
   keep those working since .prose p is more specific. */
.prose p.m-0 {
    margin: 0;
}

.prose p.mb-0 {
    margin-bottom: 0;
}

.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
}

.prose h2 {
    letter-spacing: -0.015em;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid rgba(35, 69, 103, 0.85);
}

.prose h3 {
    letter-spacing: -0.01em;
}

.prose a {
    color: #6bb3fb;
    text-decoration: none;
}

.prose a:hover {
    color: #9dcbfd;
    text-decoration: underline;
}

.prose strong {
    color: #ffffff;
}

.prose code {
    background-color: #162d4a;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-size: 0.875em;
}

.prose pre {
    background-color: #162d4a;
    border: 1px solid #234567;
    border-radius: 0.75rem;
    padding: 1rem;
}

.prose blockquote {
    border-left: 3px solid #6bb3fb;
    padding-left: 1rem;
    color: #6a8fa8;
    font-style: italic;
}

/* Tailwind's reset also sets list-style: none â€” bring back real
   bullets/numbers (type only, so utility classes like list-inside
   still work where templates use them). */
.prose ul {
    list-style-type: disc;
}

.prose ol {
    list-style-type: decimal;
}

.prose ul,
.prose ol {
    margin-top: 0;
    margin-bottom: 1.5em;
    padding-left: 1.5rem;
}

.prose li {
    margin-bottom: 0.55em;
    padding-left: 0.3rem;
}

.prose ul li::marker {
    color: #6bb3fb;
}

.prose ol li::marker {
    color: #6bb3fb;
    font-weight: 600;
}

/* Lists that carry their own icons or check/cross symbols
   shouldn't get a second bullet in front. */
.prose ul.list-none {
    list-style: none;
    padding-left: 0;
}

.prose ol.list-inside {
    padding-left: 0;
}

.prose hr {
    border-color: #234567;
}

.prose table {
    width: 100%;
    border-collapse: collapse;
}

.prose th,
.prose td {
    padding: 0.75rem;
    border: 1px solid #234567;
}

.prose th {
    background-color: #162d4a;
    color: #ffffff;
    font-weight: 600;
    text-align: left;
}

/* ==========================================================================
   Loading Skeleton
   ========================================================================== */

.skeleton {
    background: linear-gradient(
        90deg,
        #162d4a 0%,
        #1c3a5c 50%,
        #162d4a 100%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

/* ==========================================================================
   Selection Styling
   ========================================================================== */

::selection {
    background-color: rgba(40, 183, 217, 0.3);
    color: #ffffff;
}

::-moz-selection {
    background-color: rgba(40, 183, 217, 0.3);
    color: #ffffff;
}

/* ==========================================================================
   Focus Visible (Accessibility)
   ========================================================================== */

:focus-visible {
    outline: 2px solid #6bb3fb;
    outline-offset: 2px;
}

button:focus-visible,
a:focus-visible {
    outline: 2px solid #6bb3fb;
    outline-offset: 2px;
}

/* ==========================================================================
   Image Handling
   ========================================================================== */

.wp-post-image,
.woocommerce-product-gallery__image img,
.attachment-product-card,
.attachment-product-hero {
    object-fit: cover;
}

/* ==========================================================================
   Cart Styles
   ========================================================================== */

.woocommerce-cart-form .product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
}

/* Remove default table styling from cart */
.woocommerce-cart-form table.shop_table {
    border: none;
}

.woocommerce-cart-form table.shop_table td,
.woocommerce-cart-form table.shop_table th {
    border: none;
    padding: 0;
}

/* ==========================================================================
   Mobile Menu Animation
   ========================================================================== */

@media (max-width: 1023px) {
    .mobile-menu-open {
        overflow: hidden;
    }
}

/* ==========================================================================
   Custom Logo Styles
   ========================================================================== */

.custom-logo-link {
    display: flex;
    align-items: center;
}

.custom-logo {
    height: 40px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}

@media (min-width: 640px) {
    .custom-logo {
        height: 48px;
        max-width: 220px;
    }
}

/* ==========================================================================
   Checkout Place Order Button
   ========================================================================== */

#place_order,
.woocommerce-checkout #place_order,
button#place_order {
    width: 100% !important;
    padding: 1.25rem 2rem !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    background: #6bb3fb !important;
    color: #011a2e !important;
    border: none !important;
    border-radius: 0.75rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-top: 1.5rem !important;
}

#place_order:hover,
.woocommerce-checkout #place_order:hover,
button#place_order:hover {
    background: #9dcbfd !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 25px rgba(107, 179, 251, 0.3) !important;
}

#place_order:disabled,
.woocommerce-checkout #place_order:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* Payment methods styling */
.wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1rem 0 !important;
}

.wc_payment_method {
    background: #064272 !important;
    border: 1px solid #0a5a9e !important;
    border-radius: 0.75rem !important;
    margin-bottom: 0.75rem !important;
    overflow: hidden !important;
}

.wc_payment_method label {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
    cursor: pointer !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.wc_payment_method .payment_box {
    padding: 1rem !important;
    background: #03284f !important;
    border-top: 1px solid #0a5a9e !important;
    color: #b8d4ed !important;
    font-size: 0.875rem !important;
}

/* ==========================================================================
   Hide product description in Cart & Checkout (WooCommerce Blocks)
   ========================================================================== */

.wc-block-components-product-metadata__description,
.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-checkout .wc-block-components-product-metadata {
    display: none !important;
}

/* ==========================================================================
   Dosage Variation Buttons (replaces default WooCommerce dropdown)
   ========================================================================== */

/* Hide the native <select> wrapper while keeping it in the DOM */
.everest-native-select-wrap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Button base */
.everest-dosage-btn {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 120px;
    padding: 18px 30px;
    background: #064272;
    border: 2px solid #0a5a9e;
    border-radius: 12px;
    color: #b8d4ed;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.everest-dosage-btn:hover {
    border-color: #6bb3fb;
    color: #ffffff;
    background: #085490;
}

.everest-dosage-btn:focus-visible {
    box-shadow: 0 0 0 3px rgba(107, 179, 251, 0.4);
}

/* Active / selected state */
.everest-dosage-btn.active {
    border-color: #6bb3fb;
    background: rgba(107, 179, 251, 0.10);
    color: #ffffff;
    box-shadow: 0 0 0 1px #6bb3fb, 0 4px 14px rgba(107, 179, 251, 0.18);
}

/* Non-interactive variant â€” used on single-variation variable products
   (e.g. KPV when 10mg is the only dosage). Looks identical to an active
   dosage button, but with no cursor / no hover state since there's
   nothing to choose. */
.everest-dosage-btn--static,
.everest-dosage-btn--static:hover,
.everest-dosage-btn--static:focus,
.everest-dosage-btn--static:focus-visible {
    cursor: default;
    pointer-events: none;
    /* Lock in the active look â€” overrides hover styles. */
    border-color: #6bb3fb;
    background: rgba(107, 179, 251, 0.10);
    color: #ffffff;
    box-shadow: 0 0 0 1px #6bb3fb, 0 4px 14px rgba(107, 179, 251, 0.18);
}

/* Label inside button */
.everest-dosage-btn__label {
    line-height: 1.2;
    letter-spacing: 0.01em;
}

/* ===================================================================
   Product card layout â€” pin Add to Cart / Select Options to the bottom
   ===================================================================
   Variable products (with price ranges that wrap to 2 lines) and
   long product titles (line-clamp-2) used to push the button down by
   different amounts, leaving uneven button positions across a grid row.

   Fix: the card is a flex column that fills its grid row (`height: 100%`),
   the body grows to fill the card, and the button â€” always the last
   child of the body â€” is pinned to the bottom with `margin-top: auto`. */
.everest-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.everest-product-card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.everest-product-card-body > :last-child {
    margin-top: auto;
}

/* Product title â€” reserve EXACTLY 2 lines so 1-line and 2-line titles
   occupy the same height. That keeps the "From", price, and button on
   the same Y position across every card in a row. min-height is in `em`
   (line-height 1.3 Ã— 2 lines = 2.6em) so it tracks the font-size at any
   breakpoint. Medium weight, left-aligned, ellipsis past 2 lines. */
.everest-card-title {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.3;
    min-height: 2.6em;
    margin-bottom: 0.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Category subtitle â€” quiet one-line descriptor under the title.
   Fixed min-height keeps card grids aligned when a product lacks one. */
.everest-card-cat {
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
    min-height: 1.2em;
    margin: 0 0 0.6rem;
    color: #7fa8c9;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Unified product-card price block ("From" label + single price).
   One price only â€” sale-aware, no range, no strikethrough. Any <del>
   WooCommerce might inject is hard-hidden as a safety net. Left-aligned. */
.everest-card-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
    line-height: 1.1;
}

.everest-card-price-from {
    font-size: 0.85rem;
    font-weight: 500;
    color: #7fa8c9;
}

.everest-card-price-value {
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.15;
    color: #6bb3fb;
}

/* "From $17.84 / vial" then "$89.20 / kit (5)" on its own line */
.everest-card-price-unit {
    font-size: var(--small);
    font-weight: 500;
    color: #7fa8c9;
    line-height: 1.3;
}

.everest-card-price-kit {
    flex-basis: 100%;
    font-size: var(--small);
    font-weight: 600;
    color: #b8d4ed;
    line-height: 1.4;
}

.everest-card-price-kit .woocommerce-Price-amount {
    color: #b8d4ed;
}

.everest-card-price-kit span {
    font-weight: 500;
    color: #7fa8c9;
}

/* Struck regular price sits before the sale price */
.everest-card-price-was,
.everest-card-price-was .woocommerce-Price-amount {
    display: inline;
    font-size: var(--small);
    font-weight: 500;
    color: #7fa8c9;
    text-decoration: line-through;
    text-decoration-color: rgba(127, 168, 201, 0.8);
}

/* Discount badge: solid red, same as the product-page and kit "% OFF" badges.
   Red keeps gold free for first-order messaging. Small, top-right. */
.everest-card-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 6px;
    background: #DC2626;
    color: #ffffff;
    font-size: var(--label);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(1, 26, 46, 0.35);
}

/* Product page "% OFF" badge: solid red (Tailwind gradient classes on the span are overridden here). */
.everest-pdp-sale-badge {
    background: #DC2626 !important;
    background-image: none !important;
    color: #ffffff;
}

body.everest-halloween .everest-card-badge,
body.everest-halloween .everest-pdp-sale-badge {
    background: #DC2626;
    box-shadow: 0 2px 8px rgba(1, 26, 46, 0.35);
}

.everest-announcement-bar--hall {
    background: linear-gradient(90deg, #1a0b2e 0%, #3b1c6e 40%, #ea580c 100%);
    color: #fff7ed;
}

.everest-hall {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    padding: 0.7rem 0;
    text-align: center;
}

.everest-hall__kicker {
    display: block;
    font-size: var(--label);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fbbf24;
}

.everest-hall__title {
    display: block;
    font-size: var(--body);
    font-weight: 800;
    color: #fff;
}

.everest-hall__hero {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
}

.everest-hall__pct {
    font-size: var(--h3);
    font-weight: 800;
    line-height: 1;
    color: #fbbf24;
}

.everest-hall__off,
.everest-hall__nocode {
    font-size: var(--small);
    font-weight: 700;
    color: #fff7ed;
}

.everest-hall__gifts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
}

.everest-hall__gifts span {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(251, 191, 36, 0.4);
    background: rgba(9, 4, 20, 0.28);
    font-size: var(--small);
    font-weight: 700;
    line-height: 1.3;
    color: #fff7ed;
}

.everest-hall__cta {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    background: #f59e0b;
    color: #1a0b2e;
    font-size: var(--label);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .everest-hall {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.15rem 0.5rem;
        padding: 0.4rem 0.6rem;
    }

    .everest-hall__kicker {
        display: none;
    }

    .everest-hall__title {
        font-size: var(--body);
        white-space: nowrap;
    }

    .everest-hall__hero {
        flex-direction: row;
        align-items: baseline;
        gap: 0.28rem;
    }

    .everest-hall__pct {
        font-size: var(--h3);
        line-height: 1;
    }

    .everest-hall__off,
    .everest-hall__nocode {
        font-size: var(--small);
        font-weight: 700;
        letter-spacing: 0;
        text-transform: none;
    }

    .everest-hall__nocode {
        color: #fde68a;
    }

    .everest-hall__gifts {
        width: 100%;
        gap: 0.28rem;
    }

    .everest-hall__gifts span {
        padding: 0.12rem 0.42rem;
        font-size: var(--label);
    }

    .everest-hall__cta {
        display: none;
    }
}

.everest-rename {
    margin: 22px 0 0;
}

.everest-rename__bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 16px 18px;
    background: #0f2137;
    border: 1px solid #234567;
    border-left: 4px solid #6bb3fb;
    border-radius: 14px;
}

.everest-rename__kicker {
    display: block;
    font-size: var(--eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6bb3fb;
}

.everest-rename__line {
    margin: 0;
    flex: 1 1 180px;
    font-size: var(--body);
    line-height: 1.6;
    color: #b8d4ed;
}

.everest-rename__open {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: none;
    font-size: var(--body);
    font-weight: 700;
    color: #6bb3fb;
    cursor: pointer;
}

.everest-rename__open svg {
    width: 16px;
    height: 16px;
}

.everest-rename__open:hover {
    color: #fff;
}

body.everest-rename-open {
    overflow: hidden;
}

.everest-rename__layer {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(12px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));
    box-sizing: border-box;
}

.everest-rename__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1, 10, 20, 0.72);
}

.everest-rename__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 520px;
    max-height: 100%;
    padding: 0;
    overflow: hidden;
    background: linear-gradient(180deg, #12263c 0%, #0a1628 100%);
    border: 1px solid #234567;
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.everest-rename__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex: none;
    padding: 18px 16px 0 22px;
}

.everest-rename__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 22px 22px;
}

.everest-rename__close {
    flex: none;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: #0f2137;
    color: #b8d4ed;
    cursor: pointer;
}

.everest-rename__close svg {
    width: 18px;
    height: 18px;
}

.everest-rename__close:hover {
    color: #fff;
}

.everest-rename__title {
    margin: 6px 0 0;
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
}

.everest-rename__lead {
    margin: 12px 0 16px;
    font-size: var(--body);
    line-height: 1.6;
    color: #a3c4d9;
}

.everest-rename__list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.everest-rename__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: #0f2137;
    border: 1px solid #234567;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
}

a.everest-rename__row:hover {
    border-color: #6bb3fb;
}

.everest-rename__old {
    font-size: var(--small);
    line-height: 1.5;
    color: #7fa8c9;
}

.everest-rename__arrow {
    display: grid;
    place-items: center;
    color: #6bb3fb;
}

.everest-rename__arrow svg {
    width: 20px;
    height: 20px;
}

.everest-rename__new {
    font-size: var(--body);
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    text-align: right;
}

@media (max-width: 639px) {
    .everest-rename__layer {
        align-items: flex-end;
        padding: max(8px, env(safe-area-inset-top)) 10px max(8px, env(safe-area-inset-bottom));
    }

    .everest-rename__panel {
        max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        border-radius: 18px;
    }

    .everest-rename__head,
    .everest-rename__scroll {
        padding-left: 16px;
        padding-right: 16px;
    }

    .everest-rename__bar {
        align-items: flex-start;
    }

    .everest-rename__open {
        margin-left: 0;
    }

    .everest-rename__row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .everest-rename__arrow {
        justify-content: flex-start;
        transform: rotate(90deg);
        width: 20px;
    }

    .everest-rename__new {
        text-align: left;
    }
}

.everest-shop-hall {
    margin: 0 0 1.25rem;
    padding: 0.9rem 1.1rem;
    border-radius: 16px;
    background: linear-gradient(90deg, #3b1c6e 0%, #ea580c 100%);
    color: #fff7ed;
}

.everest-shop-hall__pct {
    font-size: var(--h3);
    font-weight: 800;
    color: #fbbf24;
}

.everest-shop-hall p {
    margin: 0.25rem 0 0;
    font-size: var(--body);
    line-height: 1.5;
}

.evp-gift-widget__choose {
    margin: 0 0 0.5rem;
    color: #fbbf24;
}

body.everest-halloween .evp-gift-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.everest-halloween .evp-gift-option {
    flex: 1 1 auto;
    min-width: 7rem;
    border-radius: 999px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    background: #1a0b2e;
    padding: 0.45rem 0.7rem;
}

body.everest-halloween .evp-gift-option--selected {
    border-color: #f59e0b;
    background: rgba(245, 158, 11, 0.18);
}

body.everest-halloween .evp-gift-option .evp-cart-gift__thumb {
    display: none;
}

body.everest-halloween .evp-gift-next__bar span,
body.everest-halloween .evp-gift-card--done {
    background: linear-gradient(90deg, #ea580c, #7c3aed);
}

/* Halloween sale landing page */
.everest-hall-page {
    --hall-night: #090414;
    --hall-indigo: #1a0b2e;
    --hall-plum: #3b1c6e;
    --hall-amber: #f59e0b;
    --hall-gold: #fbbf24;
    --hall-cream: #fff7ed;
    --hall-mist: #e7d7ff;
    position: relative;
    background: var(--hall-night);
    overflow: hidden;
}

.everest-hall-kicker {
    color: var(--hall-gold);
}

.everest-hall-lead {
    color: #fde68a;
}

.everest-hall-sub {
    color: var(--hall-mist);
}

.everest-hall-hero {
    position: relative;
    padding: 4.5rem 0 5.5rem;
    overflow: hidden;
}

.everest-hall-hero--ended {
    padding: 6rem 0;
}

.everest-hall-sky {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 12%, rgba(251, 191, 36, 0.22), transparent 22%),
        radial-gradient(circle at 18% 30%, rgba(234, 88, 12, 0.28), transparent 36%),
        linear-gradient(180deg, #12061f 0%, #2a1050 42%, #090414 100%);
}

.everest-hall-stars {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(1.5px 1.5px at 8% 18%, rgba(255, 247, 237, 0.9), transparent),
        radial-gradient(1.5px 1.5px at 22% 42%, rgba(255, 247, 237, 0.55), transparent),
        radial-gradient(1.5px 1.5px at 36% 12%, rgba(255, 247, 237, 0.8), transparent),
        radial-gradient(1.5px 1.5px at 54% 28%, rgba(255, 247, 237, 0.45), transparent),
        radial-gradient(1.5px 1.5px at 68% 8%, rgba(255, 247, 237, 0.75), transparent),
        radial-gradient(1.5px 1.5px at 84% 36%, rgba(255, 247, 237, 0.5), transparent),
        radial-gradient(1.5px 1.5px at 92% 16%, rgba(255, 247, 237, 0.7), transparent);
    animation: hall-twinkle 4.8s ease-in-out infinite;
}

.everest-hall-moon {
    position: absolute;
    top: 8%;
    right: 11%;
    width: 7.5rem;
    height: 7.5rem;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 34%, #fff7ed 0%, #fde68a 38%, #f59e0b 100%);
    box-shadow:
        0 0 40px 12px rgba(251, 191, 36, 0.35),
        0 0 120px 40px rgba(234, 88, 12, 0.18);
}

.everest-hall-moon::after {
    content: "";
    position: absolute;
    inset: 0.7rem auto auto 1.5rem;
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    background: rgba(18, 6, 31, 0.22);
}

.everest-hall-fog {
    position: absolute;
    left: -10%;
    right: -10%;
    height: 12rem;
    border-radius: 50%;
    filter: blur(36px);
    pointer-events: none;
}

.everest-hall-fog--a {
    bottom: -4rem;
    background: rgba(124, 58, 237, 0.28);
    animation: hall-fog 14s ease-in-out infinite;
}

.everest-hall-fog--b {
    bottom: -1rem;
    background: rgba(234, 88, 12, 0.16);
    animation: hall-fog 18s ease-in-out infinite reverse;
}

.everest-hall-web {
    position: absolute;
    width: 11rem;
    height: 9rem;
    color: rgba(253, 230, 138, 0.18);
    pointer-events: none;
}

.everest-hall-web--l { top: 0; left: 0; }
.everest-hall-web--r { top: 0; right: 0; }

.everest-hall-bat {
    position: absolute;
    width: 1.4rem;
    height: 0.55rem;
    background: #090414;
    border-radius: 50% 50% 40% 40%;
    opacity: 0.55;
    box-shadow: -0.7rem 0 0 -0.08rem #090414, 0.7rem 0 0 -0.08rem #090414;
}

.everest-hall-bat--1 { top: 18%; left: 16%; animation: hall-bat 11s linear infinite; }
.everest-hall-bat--2 { top: 28%; left: 58%; animation: hall-bat 15s linear infinite 2s; }
.everest-hall-bat--3 { top: 14%; left: 40%; animation: hall-bat 13s linear infinite 5s; }

.everest-hall-hero__copy {
    position: relative;
    max-width: 46rem;
    margin: 0 auto;
    text-align: center;
}

.everest-hall-pct {
    margin: 0.75rem 0 0.35rem;
    font-size: 56px;
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: #fbbf24;
    text-shadow:
        0 0 18px rgba(245, 158, 11, 0.75),
        0 0 48px rgba(234, 88, 12, 0.45);
}

.everest-hall-pct span {
    font-size: var(--h2);
    margin-left: 0.08em;
}

.everest-hall-hero__copy .everest-hall-lead { margin: 0.75rem 0 0; }
.everest-hall-hero__copy .everest-hall-sub { margin: 0.75rem 0 0; }

.everest-hall-cd {
    margin: 1.75rem auto 0;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
}

.everest-hall-cd__label {
    color: var(--hall-gold);
}

.everest-hall-cd__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
}

.everest-hall-cd__chip {
    min-width: 4.5rem;
    padding: 0.65rem 0.7rem 0.55rem;
    border-radius: 14px;
    background: rgba(9, 4, 20, 0.55);
    border: 1px solid rgba(245, 158, 11, 0.35);
    box-shadow: inset 0 0 18px rgba(245, 158, 11, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.everest-hall-cd__chip b {
    font-size: var(--h3);
    font-weight: 800;
    line-height: 1.1;
    color: #fff7ed;
}

.everest-hall-cd__chip i {
    font-style: normal;
    color: #fbbf24;
    margin-top: 0.2rem;
}

.everest-hall-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.75rem;
    padding: 1rem 1.75rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 100%);
    color: #1a0b2e;
    font-size: var(--body);
    font-weight: 700;
    line-height: 1.3;
    box-shadow: 0 8px 28px rgba(245, 158, 11, 0.28);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.everest-hall-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(245, 158, 11, 0.4);
    color: #1a0b2e;
}

.everest-hall-cta--ghost {
    margin-left: 0.75rem;
    background: transparent;
    color: #fde68a;
    border: 1px solid rgba(251, 191, 36, 0.45);
    box-shadow: none;
}

.everest-hall-cta--ghost:hover {
    color: #fff7ed;
    box-shadow: 0 0 24px rgba(245, 158, 11, 0.2);
}

.everest-hall-treats {
    position: relative;
    padding: 4.5rem 0;
    background: linear-gradient(180deg, #090414 0%, #140824 100%);
}

.everest-hall-treats__head,
.everest-hall-vault__head {
    max-width: 40rem;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.everest-hall-treats__head .everest-hall-sub,
.everest-hall-vault__head .everest-hall-lead {
    margin-top: 0.75rem;
}

.everest-hall-lanterns,
.everest-hall-doors {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

.everest-hall-lantern {
    position: relative;
    padding: 1.75rem 1.5rem 1.5rem;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(59, 28, 110, 0.55) 0%, rgba(9, 4, 20, 0.92) 100%);
    border: 1px solid rgba(245, 158, 11, 0.28);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.everest-hall-lantern__flame {
    display: block;
    width: 0.7rem;
    height: 1.1rem;
    margin: 0 auto 1rem;
    border-radius: 50% 50% 45% 45%;
    background: radial-gradient(circle at 50% 30%, #fff7ed 0%, #fbbf24 45%, #ea580c 100%);
    box-shadow: 0 0 16px 4px rgba(245, 158, 11, 0.55);
    animation: hall-flicker 1.8s ease-in-out infinite;
}

.everest-hall-lantern__unlock {
    color: var(--hall-gold);
    margin-bottom: 0.45rem;
}

.everest-hall-lantern ul {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.everest-hall-lantern li {
    position: relative;
    padding: 0.35rem 0 0.35rem 1.1rem;
    color: var(--hall-mist);
}

.everest-hall-lantern li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.8rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: #f59e0b;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
}

.everest-hall-lantern--2 { border-color: rgba(234, 88, 12, 0.45); }
.everest-hall-lantern--3 { border-color: rgba(167, 139, 250, 0.45); }

.everest-hall-vault {
    position: relative;
    padding: 4.5rem 0 5.5rem;
    background: linear-gradient(180deg, #140824 0%, #2a1050 40%, #090414 100%);
}

.everest-hall-vault__glow {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 42rem;
    height: 18rem;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(245, 158, 11, 0.22), transparent 68%);
    pointer-events: none;
}

.everest-hall-wax {
    max-width: 46rem;
    margin: 0 auto 1.75rem;
    padding: 1.25rem 1.4rem;
    border-radius: 18px;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(251, 191, 36, 0.4);
    box-shadow: inset 0 0 24px rgba(245, 158, 11, 0.08);
}

.everest-hall-wax .evp-type-label {
    color: var(--hall-gold);
    margin-bottom: 0.4rem;
}

.everest-hall-wax .evp-type-body {
    color: var(--hall-cream);
}

.everest-hall-door {
    position: relative;
    padding: 1.75rem 1.5rem;
    border-radius: 22px;
    background: rgba(9, 4, 20, 0.72);
    border: 1px solid rgba(255, 247, 237, 0.12);
    overflow: hidden;
}

.everest-hall-door::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
}

.everest-hall-door--byte::before { background: linear-gradient(90deg, #7c3aed, #ea580c); }
.everest-hall-door--bank::before { background: linear-gradient(90deg, #10b981, #34d399); }
.everest-hall-door--zelle::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); }

.everest-hall-door__save {
    display: inline-flex;
    margin-bottom: 0.75rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    color: #1a0b2e;
    background: #fbbf24;
}

.everest-hall-door--bank .everest-hall-door__save {
    background: #10b981;
    color: #022c22;
}

.everest-hall-door--zelle .everest-hall-door__save {
    background: #f59e0b;
}

.everest-hall-door__tags {
    color: #fde68a;
    margin: 0.45rem 0 0.75rem;
}

.everest-hall-door .evp-type-body {
    color: var(--hall-mist);
}

.everest-hall-vault__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2.25rem;
}

@keyframes hall-twinkle {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

@keyframes hall-fog {
    0%, 100% { transform: translateX(-4%); }
    50% { transform: translateX(4%); }
}

@keyframes hall-flicker {
    0%, 100% { transform: scaleY(1); opacity: 1; }
    40% { transform: scaleY(0.86); opacity: 0.82; }
    70% { transform: scaleY(1.08); opacity: 1; }
}

@keyframes hall-bat {
    0% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(7rem, -1.4rem) scale(0.85); }
    100% { transform: translate(0, 0) scale(1); }
}

@media (min-width: 768px) {
    .everest-hall-lanterns {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }
    .everest-hall-bogo .everest-hall-lanterns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .everest-hall-doors {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }
}

@media (max-width: 767px) {
    .everest-hall-hero { padding: 3.25rem 0 4rem; }
    .everest-hall-moon { width: 4.75rem; height: 4.75rem; right: 6%; }
    .everest-hall-moon::after { width: 3.6rem; height: 3.6rem; }
    .everest-hall-pct { font-size: 56px; }
    .everest-hall-web { width: 7rem; height: 6rem; }
    .everest-hall-cta--ghost { margin-left: 0; }
    .everest-hall-vault__actions .everest-hall-cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .everest-hall-stars,
    .everest-hall-fog,
    .everest-hall-bat,
    .everest-hall-lantern__flame {
        animation: none;
    }
}

/* Mobile (2-up): scale the price down a touch so it never overflows at
   ~390px, but keep it the dominant element in the lower card. */
@media (max-width: 480px) {
    .everest-card-title {
        font-size: 1rem;
    }
    .everest-card-cat {
        font-size: 0.72rem;
    }
    .everest-card-price-from {
        font-size: 0.78rem;
    }
    .everest-card-price-value {
        font-size: 1.05rem;
    }
}

/* Product-card CTA â€” sleek full pill, slim profile */
.evp-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.65rem 1.25rem;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.015em;
    text-transform: none;
    text-decoration: none;
    text-align: center;
    line-height: 1.2;
    color: #011a2e;
    background: #6bb3fb;
    border: 1px solid transparent;
    border-radius: 9999px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease,
        transform 0.15s ease, box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.evp-card-cta:hover {
    background: #9dcbfd;
    color: #011a2e;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(107, 179, 251, 0.28);
}

.evp-card-cta:active:not(:disabled) {
    transform: scale(0.985);
    box-shadow: none;
}

.evp-card-cta:disabled,
.evp-card-cta.is-loading,
.evp-card-cta.is-added {
    cursor: default;
}

.evp-card-cta.is-added {
    background: #34d399;
    color: #011a2e;
}

.evp-card-cta__label {
    display: inline-block;
}

.evp-card-cta__spin {
    width: 1.15rem;
    height: 1.15rem;
    animation: evp-card-cta-spin 0.7s linear infinite;
}

@keyframes evp-card-cta-spin {
    to { transform: rotate(360deg); }
}

.evp-card-cta--ghost {
    color: #6bb3fb;
    background: rgba(107, 179, 251, 0.1);
    border-color: rgba(107, 179, 251, 0.4);
}

.evp-card-cta--ghost:hover {
    color: #9dcbfd;
    background: rgba(107, 179, 251, 0.18);
    border-color: rgba(107, 179, 251, 0.55);
}

.evp-card-cta--muted {
    color: #7fa8c9;
    background: #085490;
    cursor: not-allowed;
}

.evp-card-cta--muted:hover {
    color: #7fa8c9;
    background: #085490;
    transform: none;
    box-shadow: none;
}

@media (max-width: 480px) {
    .evp-card-cta {
        min-height: 2.6rem;
        font-size: 0.85rem; /* still readable in 2-up grid */
        letter-spacing: 0.01em;
        padding: 0.6rem 0.7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .evp-card-cta,
    .evp-card-cta__spin {
        transition: none;
        animation: none;
    }
}

/* Homepage FAQ accordion â€” hide native disclosure marker (we draw our own chevron) */
.evp-home-faq summary::-webkit-details-marker {
    display: none;
}

.evp-home-faq summary::marker {
    content: '';
}

body.home .evp-home-faq summary {
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
}

body.home .evp-home-faq p,
body.home .evp-body {
    font-size: var(--body);
    line-height: 1.6;
}

body.home .everest-card-title {
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
}

body.home .everest-card-cat,
body.home .everest-card-price-from {
    font-size: var(--small);
    line-height: 1.5;
}

.everest-card-price-value .woocommerce-Price-amount {
    color: #6bb3fb;
}
.everest-card-price--s20 .everest-s20-now .woocommerce-Price-amount {
    color: #10b981 !important;
}
.everest-card-price--s20 .everest-s20-price del .woocommerce-Price-amount {
    color: #7fa8c9 !important;
}

.everest-card-price-value del,
.everest-card-price-value .price del {
    display: none !important;
}
.everest-card-price-value .everest-s20-price del {
    display: inline !important;
}

.everest-card-price-value ins {
    text-decoration: none !important;
}

/* Variable product price range (initial "From $X â€“ $Y" display) */
.everest-variable-price-range .price {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

.everest-variable-price-range .price del {
    color: #7fa8c9 !important;
    font-size: 0.65em !important;
    opacity: 0.7;
}

.everest-variable-price-range .price ins {
    text-decoration: none !important;
}

.everest-variable-price-range .woocommerce-Price-amount {
    color: #6bb3fb;
}

/* Style the WooCommerce variation price area (shown after variation selected) */
.single_variation_wrap .woocommerce-variation-price {
    margin-bottom: 16px;
}

.single_variation_wrap .woocommerce-variation-price .price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #6bb3fb !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.single_variation_wrap .woocommerce-variation-price .price del {
    color: #7fa8c9 !important;
    font-size: 18px !important;
    opacity: 0.7;
}

.single_variation_wrap .woocommerce-variation-price .price ins {
    text-decoration: none !important;
    color: #6bb3fb !important;
}

/* Style the WooCommerce variation description */
.single_variation_wrap .woocommerce-variation-description p {
    color: #b8d4ed;
    font-size: 14px;
    margin-bottom: 12px;
}

/* Style the WooCommerce add-to-cart button for variable products */
.single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 420px;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
    display: flex;
    align-items: stretch;
    height: 52px;
    box-sizing: border-box;
    background: #064272;
    border: 1px solid #0a5a9e;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty-btn {
    width: 46px;
    height: auto;
    min-height: 0;
    flex: 0 0 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #b8d4ed;
    font-size: 18px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
    padding: 0;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty-btn:hover {
    color: #ffffff;
    background: #085490;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty {
    width: 48px;
    height: 100%;
    min-height: 0;
    text-align: center;
    background: transparent;
    border: none;
    border-left: 1px solid #0a5a9e;
    border-right: 1px solid #0a5a9e;
    color: #ffffff;
    font-size: 17px;
    font-weight: 600;
    -moz-appearance: textfield;
    outline: none;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty::-webkit-outer-spin-button,
.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single_variation_wrap .single_add_to_cart_button {
    flex: 1;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    box-sizing: border-box !important;
    padding: 0 24px !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2 !important;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #6bb3fb !important;
    color: #011a2e !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(107, 179, 251, 0.25);
    white-space: nowrap;
    -webkit-appearance: none;
    appearance: none;
}

.single_variation_wrap .single_add_to_cart_button:hover {
    background: #9dcbfd !important;
    box-shadow: 0 6px 20px rgba(107, 179, 251, 0.35);
}

/* Simple product (Alpine row in single-product.php): match qty + ATC height,
   AND cap row width to match variable product (420px) so both layouts look
   consistent regardless of column width. */
.everest-simple-addtocart-row {
    align-items: center;
    max-width: 420px;
}

.everest-simple-addtocart-row .everest-simple-atc {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    line-height: 1.2 !important;
    font-size: 16px !important;
}

/* Availability text styling */
.single_variation_wrap .woocommerce-variation-availability p {
    color: #10b981;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.single_variation_wrap .woocommerce-variation-availability .out-of-stock {
    color: #ef4444;
}

/* Back-in-stock / waitlist plugin forms */
.everest-stock-notifier-slot input[type="email"],
.everest-stock-notifier-slot input[type="text"] {
    width: 100%;
    padding: 12px 16px;
    background: #064272;
    border: 1px solid #0a5a9e;
    border-radius: 10px;
    color: #ffffff;
    font-size: 15px;
    outline: none;
    transition: border-color 0.2s ease;
}

.everest-stock-notifier-slot input[type="email"]:focus,
.everest-stock-notifier-slot input[type="text"]:focus {
    border-color: #6bb3fb;
}

.everest-stock-notifier-slot input[type="submit"],
.everest-stock-notifier-slot button[type="submit"] {
    padding: 12px 24px;
    background: #6bb3fb !important;
    color: #011a2e !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.everest-stock-notifier-slot input[type="submit"]:hover,
.everest-stock-notifier-slot button[type="submit"]:hover {
    background: #9dcbfd !important;
}

.everest-stock-notifier-slot label {
    color: #b8d4ed;
    font-size: 14px;
    margin-bottom: 6px;
    display: block;
}

.everest-stock-notifier-slot p {
    color: #b8d4ed;
    font-size: 14px;
}

/* Coming Soon: panel that frames the notify form on launch pages */
.everest-notify-panel {
    background: linear-gradient(135deg, rgba(107, 179, 251, 0.08), rgba(6, 66, 114, 0.5));
    border: 1px solid rgba(107, 179, 251, 0.35);
    border-radius: 16px;
    padding: 20px;
}

/* CWG "Back In Stock Notifier" â€” its panel/inputs ship with light
   Bootstrap styling that clashes with the dark theme. Flatten the
   panel chrome and let the slot's input/button styles above apply. */
.everest-stock-notifier-slot .cwginstock-panel-heading,
.everest-stock-notifier-slot .cwginstock-panel-body,
.everest-stock-notifier-slot .cwginstock-subscribe-form .panel,
.everest-stock-notifier-slot .cwginstock-subscribe-form .panel-primary,
.everest-stock-notifier-slot .cwginstock-subscribe-form .panel-heading,
.everest-stock-notifier-slot .cwginstock-subscribe-form .panel-body {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.everest-stock-notifier-slot .cwginstock-panel-heading h4,
.everest-stock-notifier-slot .cwginstock-subscribe-form h4 {
    color: #ffffff !important;
    font-weight: 700;
}

.everest-stock-notifier-slot .cwginstock-subscribe-form .form-control {
    width: 100%;
    padding: 12px 16px;
    background: #064272 !important;
    border: 1px solid #0a5a9e !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    font-size: 15px;
    height: auto !important;
    box-shadow: none !important;
}

.everest-stock-notifier-slot .cwginstock-subscribe-form .form-control::placeholder {
    color: #7fa8c9;
}

.everest-stock-notifier-slot .cwginstock-subscribe-form .form-control:focus {
    border-color: #6bb3fb !important;
}

.everest-stock-notifier-slot .cwginstock-subscribe-form button,
.everest-stock-notifier-slot .cwg-btn,
.everest-stock-notifier-slot .cwgbtnbutton {
    padding: 12px 24px;
    background: #6bb3fb !important;
    color: #011a2e !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.everest-stock-notifier-slot .cwginstock-subscribe-form button:hover,
.everest-stock-notifier-slot .cwg-btn:hover,
.everest-stock-notifier-slot .cwgbtnbutton:hover {
    background: #9dcbfd !important;
}

/* YITH WooCommerce Waitlist */
.everest-stock-notifier-slot .yith-wcwtl-msg,
.everest-stock-notifier-slot .yith-wcwtl-form {
    background: transparent !important;
    border: none !important;
    color: #b8d4ed !important;
}

.everest-stock-notifier-slot .yith-wcwtl-form .button,
.everest-stock-notifier-slot .yith-wcwtl-form .button-alt {
    background: #6bb3fb !important;
    color: #011a2e !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700;
}

/* WPForms dark theme styling */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
    color: #6a8fa8 !important;
}

div.wpforms-container-full .wpforms-form .wpforms-required-label {
    color: #6bb3fb !important;
}

/* Full-width fields and layout */
div.wpforms-container-full .wpforms-form,
div.wpforms-container-full .wpforms-form .wpforms-field-container {
    width: 100% !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field {
    padding: 8px 0 !important;
    width: 100% !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row {
    display: flex !important;
    gap: 16px !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row .wpforms-field-row-block {
    flex: 1 !important;
    width: auto !important;
}

div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background-color: #0f2137 !important;
    border: 1px solid #234567 !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    transition: border-color 0.2s ease !important;
    outline: none !important;
}

div.wpforms-container-full .wpforms-form input[type="text"]:focus,
div.wpforms-container-full .wpforms-form input[type="email"]:focus,
div.wpforms-container-full .wpforms-form input[type="tel"]:focus,
div.wpforms-container-full .wpforms-form input[type="url"]:focus,
div.wpforms-container-full .wpforms-form input[type="number"]:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
    border-color: #6bb3fb !important;
    box-shadow: 0 0 0 2px rgba(40, 183, 217, 0.15) !important;
}

div.wpforms-container-full .wpforms-form input::placeholder,
div.wpforms-container-full .wpforms-form textarea::placeholder {
    color: #6a8fa8 !important;
    -webkit-text-fill-color: #6a8fa8 !important;
}

div.wpforms-container-full .wpforms-form select option {
    background: #0f2137;
    color: #ffffff;
}

div.wpforms-container-full .wpforms-form select {
    -webkit-text-fill-color: #ffffff !important;
}

div.wpforms-container-full .wpforms-form textarea {
    min-height: 150px;
    resize: vertical;
}

div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form .wpforms-submit {
    background: #6bb3fb !important;
    color: #0a1628 !important;
    -webkit-text-fill-color: #0a1628 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(40, 183, 217, 0.25) !important;
    width: auto !important;
}

div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:hover {
    background: #9dcbfd !important;
    box-shadow: 0 6px 20px rgba(40, 183, 217, 0.35) !important;
}

div.wpforms-container-full .wpforms-form .wpforms-confirmation-container-full {
    background: rgba(16, 185, 129, 0.1) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    padding: 20px !important;
}

div.wpforms-container-full .wpforms-form .wpforms-confirmation-container-full p {
    color: #b8d4ed !important;
}

div.wpforms-container-full .wpforms-form .wpforms-error,
div.wpforms-container-full .wpforms-form label.wpforms-error {
    color: #ef4444 !important;
    font-size: 13px !important;
}

/* Mobile adjustments */
@media (max-width: 480px) {
    .everest-dosage-btn {
        min-width: 100px;
        padding: 16px 22px;
        font-size: 16px;
    }

    .single_variation_wrap .woocommerce-variation-add-to-cart {
        gap: 12px;
    }

    .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
        height: 46px;
    }

    .single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty-btn {
        width: 36px;
        flex-basis: 36px;
    }

    .single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty {
        width: 36px;
        font-size: 15px;
    }

    .single_variation_wrap .single_add_to_cart_button {
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        padding: 0 16px !important;
        font-size: 15px;
    }

    .everest-simple-addtocart-row .everest-simple-qty {
        height: 46px !important;
    }

    .everest-simple-addtocart-row .everest-simple-atc {
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
    }
}

/* ==========================================================================
   Homepage Hero â€” cinematic mountain background (art-directed)
   ========================================================================== */

.everest-hero__content {
    padding-top: 5.5rem;
    padding-bottom: 3rem;
}

@media (min-width: 640px) {
    .everest-hero__content {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}

@media (min-width: 1024px) {
    .everest-hero__content {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

.everest-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 0 1.35rem;
    padding: 0.45rem 1rem;
    font-size: var(--eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent);
    background: rgba(107, 179, 251, 0.1);
    border: 1px solid rgba(107, 179, 251, 0.3);
    border-radius: 999px;
}

@media (min-width: 640px) {
    .everest-hero__eyebrow {
        margin-bottom: 1.75rem;
    }
}

.everest-hero__title {
    margin: 0 0 1.25rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(2.6rem, 9vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    color: #fff;
}

@media (min-width: 640px) {
    .everest-hero__title {
        font-size: clamp(3.25rem, 6vw, 4.5rem);
        margin-bottom: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .everest-hero__title {
        font-size: clamp(4.25rem, 5.5vw, 5.5rem);
    }
}

.everest-hero__title-accent {
    background-image: linear-gradient(90deg, #6bb3fb, #9dcbfd);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.everest-hero__sub {
    margin: 0 auto 2rem;
    max-width: 36rem;
    font-size: var(--lead);
    line-height: 1.6;
    color: #b8d4ed;
}

@media (min-width: 640px) {
    .everest-hero__sub {
        margin-bottom: 2.5rem;
        max-width: 40rem;
    }
}

/* The section already reserves height (Tailwind min-h-[90vh]), so the
   background image causes no layout shift (CLS). Navy base color shows
   instantly while the image loads. */
.everest-hero-bg {
    /* Navy base = no flash before the image paints (brand #011a2e). */
    background-color: #011a2e;
    background-repeat: no-repeat;
    background-size: cover;

    /* MOBILE-FIRST image (portrait 9:16).
       background-position: tweak the second value to reframe the peak so
       it isn't hidden behind the centered headline. center 30% keeps the
       summit high in frame on tall phones. */
    background-position: center 30%;
    /* JPG fallback first (old browsers), WebP via image-set for the rest. */
    background-image: url('../images/hero-mobile.jpg');
    background-image: -webkit-image-set(url('../images/hero-mobile.webp') 1x);
    background-image: image-set(
        url('../images/hero-mobile.webp') type('image/webp'),
        url('../images/hero-mobile.jpg') type('image/jpeg')
    );
}

/* Navy overlay ON TOP of the image for white-text legibility. Darker at
   the top (behind the nav), lighter mid, slightly darker at the bottom.
   Built from brand navy #011a2e / #03284f. The source file is untouched. */
.everest-hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(1, 26, 46, 0.85) 0%,
        rgba(3, 40, 79, 0.62) 45%,
        rgba(1, 26, 46, 0.78) 100%
    );
}

/* DESKTOP image (landscape 16:9) on >= 768px. */
@media (min-width: 768px) {
    .everest-hero-bg {
        /* Desktop: center keeps the peak visible around the headline.
           Tweak this to reframe. */
        background-position: center center;
        background-image: url('../images/hero-desktop.jpg');
        background-image: -webkit-image-set(url('../images/hero-desktop.webp') 1x);
        background-image: image-set(
            url('../images/hero-desktop.webp') type('image/webp'),
            url('../images/hero-desktop.jpg') type('image/jpeg')
        );
    }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
    body {
        background: white;
        color: black;
    }
    
    header,
    footer,
    .no-print {
        display: none !important;
    }
}

/* =========================================================================
   BUNDLE & SAVE: "Pack size" tiles + summary bar + "from $X / vial" line.
   Brand tokens only (#064272 / #0a5a9e / #6bb3fb, green #10b981 pill).
   Tier numbers are NOT here; see inc/everest-bundle-pricing.php.
   ========================================================================= */
/* Hero price line when bundling is on: "$52.49 / vial", struck regular
   beside it when on sale, "Save up to 15% with packs" note beneath. */
.everest-pdp-from {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 10px;
    font-family: 'Inter', -apple-system, sans-serif;
}

.everest-pdp-from__price,
.everest-pdp-from__price .woocommerce-Price-amount {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #6bb3fb;
}

/* Inside the WooCommerce variation price area (multi-variation products) */
.single_variation_wrap .woocommerce-variation-price .everest-pdp-from {
    margin-bottom: 4px;
}

.everest-pdp-from__unit {
    font-size: 17px;
    font-weight: 600;
    color: #93b4cc;
}

.everest-pdp-from__was {
    font-size: 19px;
    color: #7fa8c9;
}

.everest-pdp-from__was del {
    color: #7fa8c9;
    text-decoration: line-through;
}

.everest-pdp-from__was[hidden] {
    display: none;
}

/* "Save up to 15% with packs" (also used under the variable price range) */
.everest-pdp-from__packs {
    flex-basis: 100%;
    margin-top: 4px;
    font-size: 15px;
    font-weight: 500;
    color: #93b4cc;
}

/* Block wrapper */
.everest-pack {
    margin-bottom: 1.5rem;
    font-family: 'Inter', -apple-system, sans-serif;
}

/* Head row: "Pack size" left, "Save up to 15% in packs" right */
.everest-pack__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.everest-pack__label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
}

.everest-pack__hint {
    font-size: 15px;
    font-weight: 500;
    color: #93b4cc;
    text-align: right;
}

/* Tiles */
.everest-pack__tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.everest-pack__tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    min-height: 112px;
    padding: 14px 12px 12px;
    background: #064272;
    border: 2px solid #0a5a9e;
    border-radius: 12px;
    color: #b8d4ed;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
}

.everest-pack__tile:hover {
    border-color: #6bb3fb;
    background: #085490;
    color: #ffffff;
    transform: translateY(-1px);
}

.everest-pack__tile:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(107, 179, 251, 0.4);
}

.everest-pack__tile.is-selected {
    border-color: #6bb3fb;
    background: rgba(107, 179, 251, 0.12);
    color: #ffffff;
    box-shadow: 0 0 0 1px #6bb3fb, 0 10px 24px rgba(107, 179, 251, 0.22);
}

.everest-pack__tile.is-unavailable {
    opacity: 0.42;
    cursor: not-allowed;
}

.everest-pack__tile.is-unavailable:hover {
    transform: none;
    border-color: inherit;
}

/* Checkmark, top right, only on the selected tile */
.everest-pack__check {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #6bb3fb;
    color: #011a2e;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.everest-pack__check svg {
    width: 12px;
    height: 12px;
}

.everest-pack__tile.is-selected .everest-pack__check {
    opacity: 1;
    transform: scale(1);
}

.everest-pack__name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #b8d4ed;
    padding-right: 24px; /* clear the checkmark */
}

.everest-pack__tile.is-selected .everest-pack__name,
.everest-pack__tile:hover .everest-pack__name {
    color: #ffffff;
}

.everest-pack__total {
    margin-top: 4px;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #ffffff;
}

.everest-pack__per {
    font-size: 15px;
    font-weight: 500;
    color: #93b4cc;
}

.everest-pack__pill {
    display: inline-block;
    margin-top: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.16);
    border: 1px solid rgba(16, 185, 129, 0.45);
    color: #34d399;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

/* Summary bar: TOTAL / PER MG / YOU PAY */
.everest-pack__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
    padding: 12px 4px;
    background: rgba(107, 179, 251, 0.06);
    border: 1px solid rgba(107, 179, 251, 0.22);
    border-radius: 12px;
}

.everest-pack__cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: center;
    text-align: center;
    padding: 0 8px;
    min-width: 0;
}

.everest-pack__cell + .everest-pack__cell {
    border-left: 1px solid rgba(163, 196, 217, 0.14);
}

.everest-pack__k {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #93b4cc;
}

.everest-pack__v {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
    overflow-wrap: anywhere;
}

.everest-pack__v--pay {
    font-size: 22px;
    font-weight: 800;
    color: #6bb3fb;
}

/* Cart / checkout strikethrough (classic cart; WooCommerce applies the
   bundle discount to the line price, we only add the struck original) */
.everest-bundle-price .everest-bundle-orig {
    display: inline-block;
    margin-right: 6px;
    color: #999;
    text-decoration: line-through;
}

.everest-bundle-price .everest-bundle-new {
    text-decoration: none;
    font-weight: 700;
}

.everest-bundle-save {
    display: block;
    margin-top: 2px;
    font-size: 0.8em;
    font-weight: 700;
    color: #1a8f5f;
}

/* Mobile: tiles stack full width; summary bar stays three columns. */
@media (max-width: 480px) {
    .everest-pdp-from__price,
    .everest-pdp-from__price .woocommerce-Price-amount {
        font-size: 34px;
    }
    .everest-pdp-from__unit {
        font-size: 16px;
    }
    .everest-pdp-from__was {
        font-size: 17px;
    }
    .everest-pack__head {
        flex-wrap: wrap;
    }
    .everest-pack__tiles {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .everest-pack__tile {
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "name total"
            "pill per";
        align-items: center;
        column-gap: 12px;
        row-gap: 2px;
        padding: 12px 40px 12px 14px;
    }
    .everest-pack__name { grid-area: name; padding-right: 0; }
    .everest-pack__total { grid-area: total; margin-top: 0; font-size: 20px; text-align: right; }
    .everest-pack__per { grid-area: per; text-align: right; }
    .everest-pack__pill { grid-area: pill; margin-top: 0; justify-self: start; }
    .everest-pack__check {
        top: 50%;
        right: 10px;
        transform: translateY(-50%) scale(0.6);
    }
    .everest-pack__tile.is-selected .everest-pack__check {
        transform: translateY(-50%) scale(1);
    }
    .everest-pack__summary {
        padding: 10px 2px;
    }
    .everest-pack__cell {
        padding: 0 4px;
    }
    .everest-pack__v {
        font-size: 16px;
    }
    .everest-pack__v--pay {
        font-size: 20px;
    }
}

/* =========================================================================
   MOBILE MENU â€” iOS-safe, scroll-independent overlay.
   - Body scroll is locked via position:fixed (JS stores/restores scrollY).
   - Header is pinned to top:0 while open so it never jumps when the banner
     leaves flow; the banner fades out deliberately.
   - Panel height uses dvh/svh so the iOS address bar can't clip the bottom.
   - "Shop All" offset comes from the REAL header height (--everest-header-h),
     so it's identical at the top of the page and after scrolling.
   ========================================================================= */

/* Panel: anchored to the viewport top, dynamic-viewport height (iOS-safe). */
.everest-mobile-menu {
    height: 100vh;   /* fallback for old browsers */
    height: 100svh;  /* safe small viewport */
    height: 100dvh;  /* dynamic â€” tracks the collapsing address bar */
}

/* First item sits a comfortable, consistent distance below the pinned header. */
.everest-mobile-menu__nav {
    padding-top: calc(var(--everest-header-h, 64px) + 1.5rem);
}

/* The announcement banner fades out cleanly when the menu opens (intentional). */
.everest-announcement-bar {
    transition: opacity 0.25s ease;
    max-width: 100%;
    overflow-x: clip;
}

/* Evergreen announcement ticker */
.everest-ticker {
    --ticker-accent: #9ee0ff;
    --ticker-end: #154f8f;
    position: relative;
    display: flex;
    align-items: center;
    height: 40px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    background: linear-gradient(90deg, #154f8f 0%, #1a5fa6 50%, #154f8f 100%);
    border-top: 2px solid rgba(125, 211, 252, 0.7);
    border-bottom: 1px solid rgba(0, 0, 0, 0.35);
}

.everest-ticker::before {
    display: none;
}

.everest-ticker[hidden] {
    display: none;
}

.everest-ticker__viewport {
    flex: 1 1 auto;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 8px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 8px), transparent 100%);
}

.everest-ticker__track {
    display: flex;
    align-items: center;
    width: max-content;
    will-change: transform;
    animation-name: everest-ticker-scroll;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: 80s;
    animation-play-state: paused;
}

.everest-ticker.is-ready .everest-ticker__track {
    animation-play-state: running;
}

.everest-ticker.is-ready:hover .everest-ticker__track,
.everest-ticker.is-ready:focus-within .everest-ticker__track,
.everest-ticker--static .everest-ticker__track {
    animation-play-state: paused;
}

.everest-ticker__copy {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.everest-ticker__msg {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.94);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
}

.everest-ticker__icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--ticker-accent);
}

.everest-ticker__lead {
    color: var(--ticker-accent);
    text-decoration: none;
    transition: text-decoration-color 150ms ease;
}

.everest-ticker__msg:hover .everest-ticker__lead,
.everest-ticker__msg:focus .everest-ticker__lead {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.everest-ticker__msg:focus {
    outline: none;
}

.everest-ticker__msg:focus-visible,
.everest-ticker__dismiss:focus-visible {
    outline: 2px solid #38bdf8;
    outline-offset: 2px;
}

.everest-ticker__sep {
    width: 5px;
    height: 5px;
    margin: 0 40px;
    flex: 0 0 5px;
    background: rgba(255, 255, 255, 0.55);
    transform: rotate(45deg);
}

.everest-ticker__end {
    position: relative;
    z-index: 4;
    flex: 0 0 56px;
    width: 56px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ticker-end);
}

.everest-ticker__dismiss {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
}

.everest-ticker__dismiss:hover {
    color: #fff;
}

.everest-ticker__dismiss svg {
    width: 14px;
    height: 14px;
}

.everest-ticker--static .everest-ticker__track {
    animation: none;
    width: 100%;
    justify-content: center;
    will-change: auto;
}

.everest-ticker--static .everest-ticker__viewport {
    -webkit-mask-image: none;
    mask-image: none;
}

@keyframes everest-ticker-scroll {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 768px) {
    .everest-ticker {
        height: 36px;
    }

    .everest-ticker__end {
        flex-basis: 44px;
        width: 44px;
    }

    .everest-ticker__viewport {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 8px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 8px), transparent 100%);
    }

    .everest-ticker__msg {
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .everest-ticker__track {
        animation: none;
        width: 100%;
        justify-content: center;
        will-change: auto;
    }

    .everest-ticker__viewport {
        -webkit-mask-image: none;
        mask-image: none;
    }
}


@media (max-width: 1023px) {
    /* Body scroll lock. JS sets body.top = -scrollY so the page stays put,
       and restores the exact position on close. */
    html.everest-menu-open,
    html.everest-menu-open body {
        overflow: hidden;
    }

    html.everest-menu-open body {
        position: fixed;
        left: 0;
        right: 0;
        width: 100%;
    }

    /* Pin the header to the very top of the viewport while the menu is open,
       independent of scroll position, so it doesn't jump when the banner is
       removed from flow and the body is locked. Keeps the X + icons in place. */
    html.everest-menu-open header,
    html.everest-menu-open header.sticky {
        position: fixed;
        top: 0 !important;
        left: 0;
        right: 0;
    }

    /* Deliberate, clean hide of the banner (no abrupt removal / dead space). */
    html.everest-menu-open .everest-announcement-bar {
        display: none;
    }
}


/* ==========================================================================
   COA viewer modal â€” in-page PDF viewer for Certificates of Analysis
   ========================================================================== */

.everest-coa-modal {
    position: fixed;
    inset: 0;
    z-index: 10600;
    display: none;
}

.everest-coa-modal.is-open {
    display: block;
}

.everest-coa-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(1, 26, 46, 0.75);
    backdrop-filter: blur(3px);
}

.everest-coa-modal__panel {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    width: min(860px, calc(100vw - 32px));
    height: min(88vh, 1000px);
    background: #0f2137;
    border: 1px solid #234567;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}

.everest-coa-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1.1rem;
    background: #162d4a;
    border-bottom: 1px solid #234567;
    flex-shrink: 0;
}

.everest-coa-modal__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    color: #fff;
    font-family: "Plus Jakarta Sans", Inter, sans-serif;
    font-weight: 800;
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
}

.everest-coa-modal__title svg {
    width: 20px;
    height: 20px;
    color: #6bb3fb;
    flex-shrink: 0;
}

.everest-coa-modal__pages {
    color: #6a8fa8;
    font-weight: 600;
    font-size: 0.8rem;
}

.everest-coa-modal__actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-shrink: 0;
}

.everest-coa-modal__download {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    background: #6bb3fb;
    color: #011a2e;
    font-weight: 700;
    font-size: 0.82rem;
    border-radius: 0.6rem;
    text-decoration: none;
    transition: background 0.2s ease;
}

.everest-coa-modal__download:hover {
    background: #9dcbfd;
}

.everest-coa-modal__download svg {
    width: 15px;
    height: 15px;
}

.everest-coa-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 0.6rem;
    background: transparent;
    color: #a3c4d9;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.everest-coa-modal__close:hover {
    background: #234567;
    color: #fff;
}

.everest-coa-modal__close svg {
    width: 20px;
    height: 20px;
}

.everest-coa-modal__body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 12px;
    background: #0a1628;
}

.everest-coa-modal__page {
    display: block;
    margin: 0 auto 12px;
    background: #fff;
    border-radius: 0.4rem;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
}

.everest-coa-modal__iframe {
    width: 100%;
    height: 100%;
    border: none;
    background: #fff;
    border-radius: 0.4rem;
}

.everest-coa-modal__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.everest-coa-modal__loading span {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(107, 179, 251, 0.25);
    border-top-color: #6bb3fb;
    border-radius: 9999px;
    animation: everestCoaSpin 0.7s linear infinite;
}

@keyframes everestCoaSpin {
    to { transform: rotate(360deg); }
}

html.everest-coa-lock,
html.everest-coa-lock body {
    overflow: hidden !important;
}

/* Mobile: full-screen sheet */
@media (max-width: 639px) {
    .everest-coa-modal__panel {
        left: 0;
        top: auto;
        bottom: 0;
        transform: none;
        width: 100vw;
        height: 94dvh;
        border-radius: 1rem 1rem 0 0;
        border-left: none;
        border-right: none;
        border-bottom: none;
    }

    .everest-coa-modal__title span:not(.everest-coa-modal__pages) {
        font-size: 0.92rem;
    }

    .everest-coa-modal__download span {
        display: none; /* icon-only on small screens */
    }
}

/* ==========================================================================
   Grain / noise overlay (navy surfaces)
   ========================================================================== */

body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9990;
    opacity: 0.035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 180px 180px;
    mix-blend-mode: overlay;
}

@media (prefers-reduced-motion: reduce) {
    body::after {
        opacity: 0.02;
    }
}

/* ==========================================================================
   Typography â€” homepage + COA surfaces
   ========================================================================== */

.evp-display {
    font-family: 'Plus Jakarta Sans', sans-serif;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.evp-display--xl {
    font-size: clamp(2.75rem, 6vw, 4.75rem);
    font-weight: 800;
}

.evp-display--lg {
    font-size: var(--h2);
    font-weight: 700;
    line-height: 1.08;
}

.evp-display--md {
    font-size: var(--h2);
    font-weight: 700;
    line-height: 1.08;
}

.evp-body {
    max-width: 65ch;
    line-height: 1.65;
}

/* ==========================================================================
   Interactive: 1px accent border glow (no lift / card shadows)
   ========================================================================== */

.evp-glow:hover,
.evp-glow:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px #6bb3fb, 0 0 18px rgba(107, 179, 251, 0.35);
}

a.evp-glow:hover,
button.evp-glow:hover,
a.evp-glow:focus-visible,
button.evp-glow:focus-visible {
    transform: none;
}

/* ==========================================================================
   Homepage scroll / load reveals
   ========================================================================== */

/* Hidden state only applies once JS has booted (html.evp-anim). Until then
   content paints immediately â€” a slow connection must never show a blank
   page waiting for the reveal observer. */
html.evp-anim [data-evp-reveal] {
    opacity: 0;
    transform: translate3d(0, 1.35rem, 0);
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 0s;
    will-change: opacity, transform;
}

html.evp-anim [data-evp-reveal].is-in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

[data-evp-reveal][data-evp-delay="1"] { transition-delay: 0.08s; }
[data-evp-reveal][data-evp-delay="2"] { transition-delay: 0.16s; }
[data-evp-reveal][data-evp-delay="3"] { transition-delay: 0.24s; }
[data-evp-reveal][data-evp-delay="4"] { transition-delay: 0.32s; }
[data-evp-reveal][data-evp-delay="5"] { transition-delay: 0.4s; }
[data-evp-reveal][data-evp-delay="6"] { transition-delay: 0.48s; }
[data-evp-reveal][data-evp-delay="7"] { transition-delay: 0.56s; }

html.evp-anim [data-evp-reveal="left"] {
    transform: translate3d(-1.25rem, 0, 0);
}

html.evp-anim [data-evp-reveal="left"].is-in {
    transform: translate3d(0, 0, 0);
}

html.evp-anim [data-evp-reveal="right"] {
    transform: translate3d(1.25rem, 0, 0);
}

html.evp-anim [data-evp-reveal="right"].is-in {
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    [data-evp-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ==========================================================================
   Eyebrow
   ========================================================================== */

.evp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    font-size: var(--eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent);
}

.evp-eyebrow__dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 999px;
    background: #10b981;
}

.evp-eyebrow--on-dark {
    color: #8ec4fc;
}

/* ==========================================================================
   Why researchers choose Everest â€” editorial index
   ========================================================================== */

.evp-why {
    position: relative;
    padding: 4.5rem 0;
    background:
        linear-gradient(180deg, #011a2e 0%, #03203a 48%, #011a2e 100%);
    border-top: 1px solid rgba(10, 90, 158, 0.35);
}

@media (min-width: 1024px) {
    .evp-why {
        padding: 6.5rem 0;
    }
}

.evp-why__head {
    margin-bottom: 3rem;
    max-width: 46rem;
}

@media (min-width: 1024px) {
    .evp-why__head {
        margin-bottom: 4rem;
    }
}

.evp-why__grid {
    display: grid;
    gap: 3rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .evp-why__grid {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
        gap: 4.5rem;
        align-items: stretch;
    }
}

.evp-why__purity {
    position: relative;
    padding: 0 0 0 1.25rem;
    border-left: 2px solid #6bb3fb;
}

.evp-why__purity-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(5rem, 12vw, 8.5rem);
    font-weight: 800;
    letter-spacing: -0.06em;
    line-height: 0.9;
    color: #fff;
}

.evp-why__purity-suffix {
    color: #6bb3fb;
}

.evp-why__purity-label {
    margin: 0.85rem 0 0.75rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: #fff;
}

.evp-why__purity-copy {
    margin: 0;
    max-width: 28ch;
    font-size: var(--body);
    line-height: 1.6;
    color: #9fc0de;
}

.evp-why__index {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(107, 179, 251, 0.22);
}

.evp-why__item {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 1rem;
    padding: 28px 0;
    border-bottom: 1px solid rgba(107, 179, 251, 0.18);
}

@media (min-width: 640px) {
    .evp-why__item {
        grid-template-columns: 64px 1fr;
        gap: 1.35rem;
        padding: 28px 0;
    }
}

.evp-why__num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    width: 64px;
    font-size: var(--step-numeral);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    color: var(--accent);
    opacity: 0.6;
    padding-top: 0;
    align-self: start;
}

.evp-why__title {
    margin: 0 0 0.35rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #fff;
}

.evp-why__text {
    margin: 0;
    max-width: 52ch;
    font-size: var(--body);
    line-height: 1.6;
    color: #9fc0de;
}

/* ==========================================================================
   Vial inspect â€” pinned scroll, leader lines to cap / QR / contents
   ========================================================================== */

.evp-inspect {
    position: relative;
    background:
        linear-gradient(180deg, #011a2e 0%, #010d18 45%, #011a2e 100%);
    border-top: 1px solid rgba(10, 90, 158, 0.22);
    touch-action: pan-y;
}

.evp-inspect__runway {
    min-height: auto;
}

.evp-inspect__pin {
    position: relative;
}

.evp-inspect__inner {
    padding: 3rem 0 3.25rem;
}

.evp-inspect__head {
    margin: 0 0 1.5rem;
    max-width: 34rem;
}

.evp-inspect__head .evp-display {
    margin-top: 0.55rem;
    letter-spacing: -0.035em;
}

.evp-inspect__stage {
    position: relative;
    display: grid;
    gap: 1.35rem;
}

.evp-inspect__svg {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
    z-index: 3;
}

.evp-inspect__svg path {
    fill: none;
    stroke: #6bb3fb;
    stroke-width: 1.15;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.9;
    filter: drop-shadow(0 0 3px rgba(107, 179, 251, 0.55));
}

.evp-inspect__note {
    position: relative;
    padding: 0 0 0 1.05rem;
    border-left: 1px solid rgba(107, 179, 251, 0.32);
}

.evp-inspect__port {
    display: none;
}

.evp-inspect__kicker {
    margin: 0 0 0.3rem;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #6bb3fb;
}

.evp-inspect__title {
    margin: 0 0 0.4rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.025em;
    color: #fff;
}

.evp-inspect__copy {
    margin: 0;
    max-width: 42ch;
    font-size: var(--body);
    line-height: 1.6;
    color: #8fb4d4;
}

.evp-inspect__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    text-decoration: none;
}

.evp-inspect__link:hover {
    color: #9dcbfd;
}

.evp-inspect__figure {
    position: relative;
    order: -1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
}

.evp-inspect__figure::before {
    content: '';
    position: absolute;
    width: 72%;
    height: 64%;
    left: 14%;
    top: 10%;
    background: radial-gradient(ellipse at 50% 44%, rgba(107, 179, 251, 0.28) 0%, rgba(10, 90, 158, 0.1) 46%, transparent 72%);
    pointer-events: none;
    z-index: 0;
}

.evp-inspect__spin {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 260px);
    max-height: 58svh;
    transform: rotateZ(10deg);
    transform-origin: 50% 58%;
}

html.evp-anim .evp-inspect__spin {
    opacity: 0;
    transform: rotateZ(10deg) scale(0.78) translate3d(0, 2.75rem, 0);
    transition:
        transform 0.95s cubic-bezier(0.16, 1.12, 0.3, 1),
        opacity 0.5s ease;
    will-change: transform, opacity;
}

html.evp-anim .evp-inspect.is-in .evp-inspect__spin {
    opacity: 1;
    transform: rotateZ(10deg) scale(1) translate3d(0, 0, 0);
}

.evp-inspect__shot {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 58svh;
    object-fit: contain;
}

.evp-inspect__shot--side {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center;
    opacity: 0;
    pointer-events: none;
}

.evp-inspect__hot {
    display: none;
    position: absolute;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 999px;
    background: #6bb3fb;
    box-shadow:
        0 0 0 4px rgba(107, 179, 251, 0.16),
        0 0 14px rgba(107, 179, 251, 0.75);
    opacity: 0.2;
    transform: scale(0.55);
    transition: opacity 0.4s ease, transform 0.4s ease;
    z-index: 2;
}

.evp-inspect__hot.is-on {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 1023px) {
    .evp-inspect__runway,
    .evp-inspect__pin,
    .evp-inspect__inner,
    .evp-inspect__stage {
        height: auto !important;
        max-height: none !important;
        top: auto !important;
        position: relative !important;
        overflow: visible !important;
    }

    .evp-inspect__inner {
        padding: 1.75rem 0 2.25rem;
        display: block;
    }

    .evp-inspect__head {
        margin-bottom: 0.85rem;
    }

    .evp-inspect__stage {
        display: flex;
        flex-direction: column;
        gap: 1.35rem;
        padding-bottom: 1rem; /* was min(32vh, 220px): left a blank band before the next section */
    }

    .evp-inspect__svg {
        display: block;
        z-index: 5;
    }

    .evp-inspect__svg path {
        stroke-width: 1.35;
        transition: opacity 0.28s ease;
    }

    .evp-inspect__figure {
        order: 0;
        position: sticky;
        top: 4.5rem;
        z-index: 2;
        padding: 0.35rem 0 1.15rem;
        background: linear-gradient(180deg, #011a2e 0%, #010d18 72%, rgba(1, 13, 24, 0.92) 100%);
        overflow: visible;
    }

    .evp-inspect__figure::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1.1rem;
        height: 1.1rem;
        background: linear-gradient(180deg, rgba(1, 13, 24, 0.92), transparent);
        pointer-events: none;
        z-index: 0;
    }

    .evp-inspect__spin {
        width: min(58vw, 220px);
        max-height: none !important;
        overflow: visible;
    }

    .evp-inspect__shot {
        width: 100%;
        height: auto;
        max-height: none !important;
        max-width: 100%;
        transition: opacity 0.5s ease;
    }

    .evp-inspect:not(.is-side) .evp-inspect__shot--front { opacity: 1; }
    .evp-inspect:not(.is-side) .evp-inspect__shot--side { opacity: 0; }
    .evp-inspect.is-side .evp-inspect__shot--front { opacity: 0; }
    .evp-inspect.is-side .evp-inspect__shot--side { opacity: 1; }

    .evp-inspect__hot {
        display: block;
        width: 7px;
        height: 7px;
        margin: -3.5px 0 0 -3.5px;
    }

    .evp-inspect__note {
        position: relative;
        z-index: 4;
        opacity: 0.28;
        transform: none;
        border-left: 1px solid rgba(107, 179, 251, 0.28);
        padding: 0.15rem 0 0.15rem 1.15rem;
        max-width: none;
        text-align: left;
        transition: opacity 0.35s ease;
    }

    .evp-inspect__note.is-on {
        opacity: 1;
    }

    .evp-inspect__note--cap { order: 1; }
    .evp-inspect__note--purity { order: 2; }
    .evp-inspect__note--qr { order: 3; }

    .evp-inspect__port {
        display: block;
        position: absolute;
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background: #6bb3fb;
        box-shadow: 0 0 8px rgba(107, 179, 251, 0.85);
        left: -3px;
        top: 1.15rem;
    }

    .evp-inspect__copy {
        max-width: none;
    }
}

@media (min-width: 1024px) {
    .evp-inspect__runway {
        height: 145vh;
    }

    .evp-inspect__pin {
        position: sticky;
        top: 0;
        height: 100svh;
        max-height: 100svh;
        display: flex;
        align-items: stretch;
        overflow: hidden;
    }

    .evp-inspect__inner {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 1.25rem 0 1rem;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .evp-inspect__head {
        margin-bottom: 0.35rem;
        flex-shrink: 0;
    }

    .evp-inspect__head .evp-display {
        font-size: var(--h2);
        margin-top: 0.4rem;
    }

    .evp-inspect__stage {
        flex: 1;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.2fr);
        grid-template-rows: 1fr 1fr;
        gap: 0;
        align-items: stretch;
        overflow: hidden;
    }

    .evp-inspect__svg {
        display: block;
        grid-column: 1 / -1;
        grid-row: 1 / -1;
    }

    .evp-inspect__figure {
        grid-column: 2;
        grid-row: 1 / -1;
        order: 0;
        min-height: 0;
        height: 100%;
        z-index: 1;
        overflow: hidden;
    }

    .evp-inspect__spin {
        width: auto;
        height: 100%;
        max-height: 100%;
        max-width: 100%;
    }

    .evp-inspect__shot {
        max-height: 100%;
        max-width: 100%;
        height: 100%;
        width: auto;
    }

    .evp-inspect__hot {
        display: block;
    }

    .evp-inspect__note {
        z-index: 4;
        padding: 0;
        border-left: 0;
        opacity: 0.14;
        transform: translate3d(0, 6px, 0);
        transition: opacity 0.7s ease, transform 0.7s ease;
        align-self: center;
        max-width: 26rem;
    }

    .evp-inspect__note.is-on {
        opacity: 1;
        transform: none;
    }

    .evp-inspect__note--cap {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        align-self: end;
        padding-bottom: 10%;
        padding-right: 1.25rem;
        text-align: right;
    }

    .evp-inspect__note--purity {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        align-self: start;
        padding-top: 8%;
        padding-right: 1.25rem;
        text-align: right;
    }

    .evp-inspect__note--qr {
        grid-column: 3;
        grid-row: 1 / -1;
        justify-self: end;
        align-self: center;
        text-align: left;
        padding-left: 1.25rem;
    }

    .evp-inspect__port {
        display: block;
        position: absolute;
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background: #6bb3fb;
        box-shadow: 0 0 8px rgba(107, 179, 251, 0.85);
        top: 0.55rem;
    }

    .evp-inspect__note--cap .evp-inspect__port,
    .evp-inspect__note--purity .evp-inspect__port {
        right: -3px;
        left: auto;
    }

    .evp-inspect__note--qr .evp-inspect__port {
        left: -3px;
        right: auto;
    }

    .evp-inspect__note--cap .evp-inspect__copy,
    .evp-inspect__note--purity .evp-inspect__copy {
        margin-left: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .evp-inspect__runway {
        height: auto !important;
    }
    .evp-inspect__pin {
        position: relative !important;
        height: auto !important;
        top: auto !important;
    }
    .evp-inspect__note {
        opacity: 1 !important;
        transform: none !important;
    }
    html.evp-anim .evp-inspect__spin,
    html.evp-anim .evp-inspect.is-in .evp-inspect__spin {
        opacity: 1 !important;
        transform: rotateZ(10deg) !important;
        transition: none !important;
        will-change: auto;
    }
    .evp-inspect__figure {
        position: relative !important;
        top: auto !important;
        background: transparent !important;
    }
    .evp-inspect.is-side .evp-inspect__shot--front { opacity: 1 !important; }
    .evp-inspect.is-side .evp-inspect__shot--side { opacity: 0 !important; }
}

/* Best sellers — snap side-scroller */
.evp-hscroll {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.evp-hscroll::-webkit-scrollbar { display: none; }
.evp-hscroll__item {
    flex: 0 0 auto;
    width: min(68vw, 260px);
    scroll-snap-align: start;
}
@media (min-width: 1024px) {
    .evp-hscroll { gap: 1.25rem; }
    .evp-hscroll__item { width: 272px; }
}
.evp-hscroll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    color: #b8d4ed;
    border: 1px solid #0a5a9e;
    background: transparent;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.evp-hscroll-btn:hover {
    color: #6bb3fb;
    border-color: #6bb3fb;
}

/* Shop by research area â€” numbered editorial index */
.evp-index {
    padding: 4.5rem 0;
    background: #011a2e;
    border-top: 1px solid rgba(10, 90, 158, 0.35);
}
@media (min-width: 1024px) {
    .evp-index { padding: 6rem 0; }
}
.evp-index__grid {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid rgba(10, 90, 158, 0.4);
}
@media (min-width: 1024px) {
    .evp-index__grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 4.5rem;
    }
}
.evp-index__row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 1.15rem 0.15rem;
    border-bottom: 1px solid rgba(10, 90, 158, 0.4);
    text-decoration: none;
}
.evp-index__num {
    flex-shrink: 0;
    width: 64px;
    font-size: var(--step-numeral);
    font-weight: 800;
    line-height: 1;
    color: var(--accent);
    font-variant-numeric: tabular-nums;
    opacity: 0.6;
}
.evp-index__name {
    flex: 1;
    min-width: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #fff;
    transition: color 0.2s;
}
.evp-index__count {
    flex-shrink: 0;
    font-size: var(--small);
    color: #7fa8c9;
    white-space: nowrap;
}
.evp-index__arrow {
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    align-self: center;
    color: rgba(107, 179, 251, 0.35);
    transition: color 0.2s, transform 0.2s;
}
.evp-index__row:hover .evp-index__name { color: #6bb3fb; }
.evp-index__row:hover .evp-index__arrow {
    color: #6bb3fb;
    transform: translateX(3px);
}

/* COA database â€” quiet hairline strip */
.evp-coa-line {
    background: #011a2e;
    border-top: 1px solid rgba(10, 90, 158, 0.35);
}
.evp-coa-line__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 2.5rem 0;
}
@media (min-width: 768px) {
    .evp-coa-line__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
    }
}
.evp-coa-line__text {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(1.15rem, 2.2vw, 1.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
}
.evp-coa-line__eyebrow {
    display: block;
    margin-bottom: 0.35rem;
    font-family: 'Inter', sans-serif;
    font-size: var(--eyebrow);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent);
}
@media (max-width: 767px) {
    .evp-coa-line__inner a { width: 100%; justify-content: center; }
}

/* ==========================================================================
   In-house fulfillment: copy + proof points, US shipping map
   ========================================================================== */

/* Same rhythm as .evp-why (4.5rem / 6.5rem). The map's own canvas adds a
   little air top and bottom, so the padding is trimmed to compensate. */
.evp-fulfill {
    position: relative;
    padding: 4rem 0;
    background: linear-gradient(180deg, #011a2e 0%, #03203a 50%, #011a2e 100%);
    border-top: 1px solid rgba(10, 90, 158, 0.35);
    overflow-x: clip;
}
@media (min-width: 1024px) {
    .evp-fulfill { padding: 5.5rem 0; }
}

.evp-fulfill__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .evp-fulfill__grid {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 4rem;
    }
}

.evp-fulfill__copy { min-width: 0; }
.evp-fulfill__copy .evp-display {
    margin-top: 1rem;
    margin-bottom: 1.25rem;
    letter-spacing: -0.035em;
}

.evp-fulfill__body {
    margin: 0;
    max-width: 52ch;
    font-size: var(--lead);
    line-height: 1.6;
    color: #9fc0de;
}

.evp-fulfill__proof {
    list-style: none;
    margin: 2rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.9rem;
}

.evp-fulfill__proof-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: var(--body);
    line-height: 1.5;
    color: #dbe9f6;
}

.evp-fulfill__proof-icon {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    color: var(--accent);
}

/* Map */
.evp-fulfill__map {
    position: relative;
    min-width: 0;
}
/* overflow stays hidden: idle movers rest at the SVG origin, which is
   outside the viewBox, so they can never paint even if a class slips. */
.evp-fulfill__svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.evp-fulfill__land { opacity: 0.2; }
.evp-fulfill__outline {
    stroke: rgba(107, 179, 251, 0.45);
    stroke-width: 1;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
/* Interior state borders: barely there, just enough to read as a real map */
.evp-fulfill__states {
    stroke: rgba(107, 179, 251, 0.12);
    stroke-width: 0.5;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}

/* Arcs: 1px, color/opacity come from the per-arc gradient (0% for the 12%
   nearest the hub, full by 20%). Draw-in via dash offset once the map reveals. */
.evp-fulfill__arc {
    stroke-width: 1;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}

/* Destinations: 3px dot at 70% with a resting 8px halo ring at 15%.
   .evp-fulfill__ring is the arrival pulse (8 -> 20px, fades over 600ms). */
.evp-fulfill__dot {
    fill: #9dcbfd;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0.4);
}
.evp-fulfill__halo {
    fill: none;
    stroke: #9dcbfd;
    stroke-width: 1;
    opacity: 0;
    vector-effect: non-scaling-stroke;
}
.evp-fulfill__ring {
    fill: none;
    stroke: #bfe0ff;
    stroke-width: 1.25;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    vector-effect: non-scaling-stroke;
}
.evp-fulfill__dest.is-hit .evp-fulfill__ring {
    animation: evp-fulfill-hit-ring 0.6s ease-out;
}
.evp-fulfill__dest.is-hit .evp-fulfill__dot {
    animation: evp-fulfill-hit-dot 0.6s ease-out;
}

/* Travelling lights are positioned by SMIL animateMotion. Hidden with
   visibility (no transition) between trips so nothing shows at the origin. */
.evp-fulfill__mover {
    pointer-events: none;
    visibility: hidden;
}
.evp-fulfill__mover.is-flying { visibility: visible; }

/* Hub: 6px solid core, 3s expanding ring (scale 1 -> 3.5, 50% -> 0) and a
   ~40px ambient glow at ~20% that breathes over 4s. */
.evp-fulfill__hub-ring {
    fill: none;
    stroke: #6bb3fb;
    stroke-width: 1.5;
    opacity: 0.5;
    transform-box: fill-box;
    transform-origin: center;
    vector-effect: non-scaling-stroke;
}
.evp-fulfill__hub-core { fill: #6bb3fb; }
.evp-fulfill__hub-glow {
    opacity: 0.4;
    transform-box: fill-box;
    transform-origin: center;
}

/* Hub label: below and slightly left of the marker, solid pill so arcs never
   cross the text. --hub-left / --hub-top are set inline from the projection. */
.evp-fulfill__hub-tag {
    position: absolute;
    left: var(--hub-left, 84%);
    top: var(--hub-top, 82%);
    transform: translate(calc(-100% + 14px), 18px);
    white-space: nowrap;
    padding: 5px 11px;
    border-radius: 999px;
    background: #031f38;
    border: 1px solid rgba(107, 179, 251, 0.4);
    font-family: 'Inter', sans-serif;
    font-size: var(--label);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    z-index: 2;
}
/* Small screens: the SVG scales everything down with it; the dot cores get a
   slight bump so they still register, the pill tightens (13px is the floor). */
@media (max-width: 639px) {
    .evp-fulfill__dot { r: 4; }
    .evp-fulfill__hub-core { r: 7; }
    .evp-fulfill__hub-tag {
        padding: 3px 8px;
        letter-spacing: 0.06em;
        transform: translate(calc(-100% + 10px), 12px);
    }
}

/* One-time draw-in once the map scrolls into view (reveal script adds .is-in) */
.evp-fulfill__map.is-in .evp-fulfill__arc {
    animation: evp-fulfill-draw 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(0.25s + var(--i, 0) * 0.05s);
}
.evp-fulfill__map.is-in .evp-fulfill__dot {
    animation: evp-fulfill-pop 0.5s ease-out forwards;
    animation-delay: calc(1s + var(--i, 0) * 0.05s);
}
.evp-fulfill__map.is-in .evp-fulfill__halo {
    animation: evp-fulfill-halo-in 0.6s ease-out forwards;
    animation-delay: calc(1.1s + var(--i, 0) * 0.05s);
}
.evp-fulfill__map.is-in .evp-fulfill__dest.is-hit .evp-fulfill__dot {
    animation: evp-fulfill-hit-dot 0.6s ease-out;
}
/* Continuous hub loops: one ring every 3s, glow breathes over 4s */
.evp-fulfill__map.is-in .evp-fulfill__hub-ring {
    animation: evp-fulfill-pulse 3s ease-out infinite;
}
.evp-fulfill__map.is-in .evp-fulfill__hub-glow {
    animation: evp-fulfill-breathe 4s ease-in-out infinite;
}
/* Section off screen: freeze CSS loops too (JS pauses SMIL + trips) */
.evp-fulfill__map.is-paused .evp-fulfill__hub-ring,
.evp-fulfill__map.is-paused .evp-fulfill__hub-glow,
.evp-fulfill__map.is-paused .evp-fulfill__ring {
    animation-play-state: paused;
}

@keyframes evp-fulfill-draw {
    to { stroke-dashoffset: 0; }
}
@keyframes evp-fulfill-pop {
    to { opacity: 0.7; transform: scale(1); }
}
@keyframes evp-fulfill-halo-in {
    to { opacity: 0.15; }
}
@keyframes evp-fulfill-pulse {
    0%   { transform: scale(1);   opacity: 0.5; }
    100% { transform: scale(3.5); opacity: 0; }
}
@keyframes evp-fulfill-breathe {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50%      { opacity: 0.6; transform: scale(1.12); }
}
@keyframes evp-fulfill-hit-ring {
    0%   { transform: scale(1);   opacity: 0.6; }
    100% { transform: scale(2.5); opacity: 0; }
}
@keyframes evp-fulfill-hit-dot {
    0%   { opacity: 0.7; fill: #9dcbfd; transform: scale(1); }
    30%  { opacity: 1;   fill: #ffffff; transform: scale(1.25); }
    100% { opacity: 0.7; fill: #9dcbfd; transform: scale(1); }
}

/* No reveal script, or motion turned off: show the finished static state */
html:not(.evp-anim) .evp-fulfill__arc { stroke-dashoffset: 0; }
html:not(.evp-anim) .evp-fulfill__dot { opacity: 0.7; transform: none; }
html:not(.evp-anim) .evp-fulfill__halo { opacity: 0.15; }
@media (prefers-reduced-motion: reduce) {
    .evp-fulfill__arc,
    .evp-fulfill__map.is-in .evp-fulfill__arc,
    .evp-fulfill__dot,
    .evp-fulfill__map.is-in .evp-fulfill__dot,
    .evp-fulfill__halo,
    .evp-fulfill__map.is-in .evp-fulfill__halo,
    .evp-fulfill__map.is-in .evp-fulfill__hub-ring,
    .evp-fulfill__map.is-in .evp-fulfill__hub-glow,
    .evp-fulfill__dest.is-hit .evp-fulfill__ring,
    .evp-fulfill__dest.is-hit .evp-fulfill__dot {
        animation: none;
    }
    .evp-fulfill__arc { stroke-dashoffset: 0; }
    .evp-fulfill__dot { opacity: 0.7; transform: none; }
    .evp-fulfill__halo { opacity: 0.15; }
    .evp-fulfill__hub-ring { opacity: 0.35; }
    .evp-fulfill__mover { display: none; }
}
/* ==========================================================================
   Order to door: five-step rail
   Horizontal on desktop, vertical on mobile. On reveal the line draws from
   step 1 to step 5 (--fill total) and each node fills solid as the line
   reaches it. Transform/opacity only.
   ========================================================================== */

.evp-route {
    --fill: 2.8s;                          /* total draw time, 4 segments */
    --slot: calc(var(--fill) / 4);
    --node: 56px;
    --line: 2px;
    --rail: rgba(107, 179, 251, 0.2);
    padding: 4.5rem 0;
    background: #011a2e;
    border-top: 1px solid rgba(10, 90, 158, 0.35);
    overflow-x: clip;
}
@media (min-width: 1024px) {
    .evp-route { padding: 6rem 0; }
}

.evp-route__head {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2.75rem;
}
.evp-route__head .evp-display {
    margin-top: 1rem;
    letter-spacing: -0.035em;
    max-width: 14ch;
}
.evp-route__lead {
    margin: 0;
    max-width: 36ch;
    font-size: var(--lead);
    line-height: 1.6;
    color: #9fc0de;
}
@media (min-width: 1024px) {
    .evp-route__head {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 3rem;
        margin-bottom: 4rem;
    }
    .evp-route__lead { text-align: right; padding-bottom: 0.4rem; }
}

/* ---- Rail ------------------------------------------------------------- */
.evp-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2rem;
}
.evp-steps__item {
    position: relative;
    display: grid;
    grid-template-columns: var(--node) minmax(0, 1fr);
    column-gap: 1.1rem;
    align-items: start;
}
/* segment from this node's center to the next node's center */
.evp-steps__item::before {
    content: "";
    position: absolute;
    left: calc(var(--node) / 2 - var(--line) / 2);
    top: calc(var(--node) / 2);
    bottom: calc(-2rem - var(--node) / 2);
    width: var(--line);
    background: var(--rail);
    border-radius: 2px;
}
/* the fill that draws over it */
.evp-steps__item::after {
    content: "";
    position: absolute;
    left: calc(var(--node) / 2 - var(--line) / 2);
    top: calc(var(--node) / 2);
    bottom: calc(-2rem - var(--node) / 2);
    width: var(--line);
    border-radius: 2px;
    background: linear-gradient(180deg, var(--accent), #9dcbfd);
    transform-origin: top center;
    transform: scaleY(0);
}
.evp-steps__item:last-child::before,
.evp-steps__item:last-child::after { display: none; }

.evp-steps__node {
    position: relative;
    z-index: 1;
    grid-row: 1 / span 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--node);
    height: var(--node);
    border-radius: 999px;
    background: #011a2e;
    border: 1.5px solid rgba(107, 179, 251, 0.45);
    color: var(--accent);
    box-shadow: 0 0 0 6px #011a2e;
    transition:
        background-color 0.35s ease,
        border-color 0.35s ease,
        color 0.35s ease,
        box-shadow 0.35s ease;
}
.evp-steps__icon { width: 24px; height: 24px; }
.evp-steps__label {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin: 0 0 0.3rem;
    padding-top: 0.35rem;
    font-size: var(--label);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7fa8c9;
}
.evp-steps__num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    color: var(--accent);
    font-variant-numeric: tabular-nums;
}
.evp-steps__when::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 999px;
    background: #7fa8c9;
    margin: 0 0.6rem 3px 0;
    vertical-align: middle;
}
.evp-steps__title {
    margin: 0 0 0.3rem;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--h3);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #fff;
}
.evp-steps__text {
    margin: 0;
    max-width: 44ch;
    font-size: var(--body);
    line-height: 1.6;
    color: #9fc0de;
}

/* Desktop: five columns, horizontal rail through the node centers */
@media (min-width: 1024px) {
    .evp-steps {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 2rem;
    }
    .evp-steps__item {
        display: block;
    }
    .evp-steps__item::before,
    .evp-steps__item::after {
        left: calc(var(--node) / 2);
        top: calc(var(--node) / 2 - var(--line) / 2);
        bottom: auto;
        width: calc(100% + 2rem);
        height: var(--line);
    }
    .evp-steps__item::after {
        background: linear-gradient(90deg, var(--accent), #9dcbfd);
        transform-origin: left center;
        transform: scaleX(0);
    }
    .evp-steps__node { margin-bottom: 1.4rem; }
    .evp-steps__label { padding-top: 0; }
    .evp-steps__text {
        font-size: var(--small);
        max-width: none;
        padding-right: 0.75rem;
    }
}

/* ---- Fill-in on reveal (reveal script adds .is-in) ---------------------- */
.evp-anim .evp-steps.is-in .evp-steps__item::after {
    animation: evp-steps-draw var(--slot) cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: calc(0.2s + var(--i, 0) * var(--slot));
}
.evp-anim .evp-steps.is-in .evp-steps__node {
    animation: evp-steps-fill 0.45s ease-out forwards;
    animation-delay: calc(0.2s + var(--i, 0) * var(--slot));
}
.evp-anim .evp-steps.is-in .evp-steps__node::after {
    content: "";
    position: absolute;
    inset: -1.5px;
    border-radius: 999px;
    border: 1.5px solid var(--accent);
    opacity: 0;
    animation: evp-steps-ring 0.9s ease-out forwards;
    animation-delay: calc(0.2s + var(--i, 0) * var(--slot));
}
@keyframes evp-steps-draw {
    to { transform: scaleX(1) scaleY(1); }
}
@keyframes evp-steps-fill {
    to { background-color: var(--accent); border-color: var(--accent); color: #011a2e; }
}
@keyframes evp-steps-ring {
    0%   { opacity: 0.8; transform: scale(1); }
    100% { opacity: 0;   transform: scale(1.7); }
}

/* No reveal script, or reduced motion: show the finished state */
html:not(.evp-anim) .evp-steps__item::after { transform: none; }
html:not(.evp-anim) .evp-steps__node { background: var(--accent); border-color: var(--accent); color: #011a2e; }
@media (prefers-reduced-motion: reduce) {
    .evp-anim .evp-steps.is-in .evp-steps__item::after,
    .evp-anim .evp-steps.is-in .evp-steps__node,
    .evp-anim .evp-steps.is-in .evp-steps__node::after { animation: none; }
    .evp-steps__item::after { transform: none; }
    .evp-steps__node { background: var(--accent); border-color: var(--accent); color: #011a2e; }
}


.evp-coa-band {
    background: #04365f;
    border-top: 1px solid rgba(107, 179, 251, 0.2);
    border-bottom: 1px solid rgba(107, 179, 251, 0.15);
}

.evp-coa-band__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 3rem 0;
}

@media (min-width: 768px) {
    .evp-coa-band__inner {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        padding: 3.5rem 0;
        gap: 2rem;
    }
}

.evp-coa-band__copy {
    max-width: 36rem;
}

.evp-coa-band__text {
    margin: 0.65rem 0 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
    color: #fff;
}

/* Closing CTA â€” stays in the page's base navy; a soft radial glow instead
   of another color slab */
.evp-close {
    padding: 4.5rem 0 5.5rem;
    background:
        radial-gradient(ellipse 65% 90% at 15% 100%, rgba(10, 90, 158, 0.35), transparent 60%),
        #011a2e;
    border-top: 1px solid rgba(10, 90, 158, 0.35);
}

.evp-close__inner {
    max-width: 40rem;
}

/* ==========================================================================
   COA library page
   ========================================================================== */

.evp-coa-page {
    --coa-h2: 36px;
    --coa-h2-weight: 700;
    --coa-h2-lh: 1.15;
    --coa-h3: 22px;
    --coa-h3-weight: 600;
    --coa-h3-lh: 1.3;
    --coa-lead: 19px;
    --coa-lead-lh: 1.6;
    --coa-body: 17px;
    --coa-body-lh: 1.6;
    --coa-small: 15px;
    --coa-label: 13px;
    --coa-label-ls: 0.08em;
    --coa-section-pad: 96px;
    --coa-card-pad: 24px;
    --coa-gap: 24px;
    --coa-radius: 16px;
    --coa-card-bg: rgba(255, 255, 255, 0.03);
    --coa-card-border: 1px solid rgba(56, 189, 248, 0.14);
    --coa-card-border-hover: rgba(56, 189, 248, 0.5);
    --coa-accent: #38bdf8;
    --coa-logo-blue: #2BA6E0;
    --coa-muted: #9fc0de;
    --green: #10b981;
    --coa-green: var(--green);
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 767px) {
    .evp-coa-page {
        --coa-h2: 30px;
        --coa-h3: 20px;
        --coa-lead: 17px;
        --coa-body: 16px;
        --coa-small: 15px;
        --coa-section-pad: 56px;
    }
}

.evp-coa-page a:focus-visible,
.evp-coa-page button:focus-visible,
.evp-coa-page input:focus-visible,
.evp-coa-page select:focus-visible {
    outline: 2px solid var(--coa-accent);
    outline-offset: 3px;
}

.evp-coa-h2 {
    margin: 0 0 16px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--coa-h2);
    font-weight: var(--coa-h2-weight);
    line-height: var(--coa-h2-lh);
    letter-spacing: -0.02em;
    color: #fff;
}

.evp-coa-h3 {
    margin: 0 0 8px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--coa-h3);
    font-weight: var(--coa-h3-weight);
    line-height: var(--coa-h3-lh);
    color: #fff;
}

.evp-coa-lead {
    margin: 0;
    max-width: 60ch;
    font-size: var(--coa-lead);
    font-weight: 400;
    line-height: var(--coa-lead-lh);
    color: var(--coa-muted);
}

.evp-coa-body {
    margin: 0;
    font-size: var(--coa-body);
    line-height: var(--coa-body-lh);
}

.evp-coa-muted {
    color: var(--coa-muted);
}

.evp-coa-label {
    display: block;
    font-size: var(--coa-label);
    font-weight: 700;
    letter-spacing: var(--coa-label-ls);
    text-transform: uppercase;
    color: var(--coa-muted);
}

.evp-coa-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--green);
    flex: 0 0 8px;
}

.evp-coa-hero {
    padding: var(--coa-section-pad) 0 64px;
    background:
        radial-gradient(ellipse 70% 80% at 100% 0%, rgba(107, 179, 251, 0.12), transparent 55%),
        linear-gradient(165deg, #03284f 0%, #0f2137 55%, #0a1628 100%);
    border-bottom: none;
}

.evp-coa-hero__pill {
    margin-bottom: 24px;
}

.evp-coa-hero__pill .everest-hero__eyebrow {
    margin-bottom: 0;
    justify-content: flex-start;
}

.evp-coa-hero__crumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
    font-size: var(--coa-small);
    color: var(--coa-muted);
}

.evp-coa-hero__crumbs a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s ease;
}

.evp-coa-hero__crumbs a:hover {
    color: var(--coa-accent);
}

.evp-coa-hero__grid {
    display: grid;
    gap: var(--coa-gap);
    min-width: 0;
}

@media (min-width: 900px) {
    .evp-coa-hero__grid {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
        gap: 48px;
        align-items: start;
    }
}

.evp-coa-hero__main,
.evp-coa-hero__aside {
    min-width: 0;
}

.evp-coa-hero__aside {
    padding: 24px 0 0;
    border-top: 1px solid rgba(107, 179, 251, 0.28);
}

@media (min-width: 900px) {
    .evp-coa-hero__aside {
        padding: 0 0 0 24px;
        border-top: none;
        border-left: 1px solid rgba(107, 179, 251, 0.28);
    }
}

.evp-coa-hero__aside-num {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: clamp(3rem, 6.2vw, 4.5rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.95;
    color: #6bb3fb;
}

.evp-coa-hero__aside-label {
    margin: 0.5rem 0 1.25rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #fff;
}

.evp-coa-tests {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.evp-coa-tests__tile {
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 10px;
    min-width: 0;
}

.evp-coa-tests__value {
    display: block;
    margin-top: 4px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    white-space: nowrap;
}

.evp-coa-hero__lab {
    margin: 16px 0 0;
}

.evp-coa-hero__lab-now,
.evp-coa-hero__lab-by {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
}

.evp-coa-hero__lab-now {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #fff;
}

.evp-coa-hero__lab-by {
    margin-top: 6px;
    color: var(--coa-muted);
}

.evp-coa-steps {
    padding: 0 0 var(--coa-section-pad);
    background: #0a1628;
}

.evp-coa-steps__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--coa-gap);
}

@media (min-width: 768px) {
    .evp-coa-steps__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.evp-coa-steps__card {
    min-width: 0;
    padding: 32px;
    background: var(--coa-card-bg);
    border: var(--coa-card-border);
    border-radius: var(--coa-radius);
    transition: border-color 150ms ease;
}

.evp-coa-steps__card:hover {
    border-color: var(--coa-card-border-hover);
}

.evp-coa-steps__num {
    display: block;
    margin-bottom: 16px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 56px;
    font-weight: 800;
    line-height: 1;
    color: rgba(56, 189, 248, 0.35);
}

.evp-coa-steps__body {
    margin: 0;
    font-size: var(--coa-body);
    line-height: var(--coa-body-lh);
    color: var(--coa-muted);
}

@media (min-width: 768px) {
    .evp-coa-steps__body {
        max-width: none;
    }
}

.evp-coa-lib {
    padding: var(--coa-section-pad) 0;
    background: #0a1628;
}

.evp-coa-lookup-panel {
    background: var(--coa-card-bg);
    border: var(--coa-card-border);
    border-radius: var(--coa-radius);
    padding: var(--coa-card-pad);
    margin-bottom: 48px;
    max-width: 100%;
    transition: border-color 150ms ease;
}

.evp-coa-lookup-panel:hover {
    border-color: var(--coa-card-border-hover);
}

.evp-coa-lookup-panel .evp-coa-h2 {
    margin-bottom: 8px;
}

.evp-coa-lookup-panel input,
.evp-coa-lookup-panel select {
    max-width: 100%;
    height: 56px;
    font-size: 17px;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.evp-coa-lookup-panel input:hover,
.evp-coa-lookup-panel select:hover,
.evp-coa-lookup-panel input:focus,
.evp-coa-lookup-panel select:focus {
    border-color: var(--coa-accent);
    box-shadow: 0 0 0 1px var(--coa-accent), 0 0 16px rgba(56, 189, 248, 0.3);
}

.evp-coa-libhead {
    margin-bottom: 24px;
}

.evp-coa-libhead .evp-coa-h2 {
    margin-bottom: 8px;
}

.evp-coa-libhead__status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
}

.evp-coa-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 720px) {
    .evp-coa-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .evp-coa-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.evp-coa-card {
    position: relative;
    min-width: 0;
    min-height: 0;
    padding: 24px;
    background: var(--coa-card-bg);
    border: var(--coa-card-border);
    border-radius: var(--coa-radius);
    transition: border-color 150ms ease;
}

.evp-coa-card:hover {
    border-color: var(--coa-card-border-hover);
}

.evp-coa-card__current {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    color: var(--green);
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.3);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
}

.evp-coa-card__name {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: var(--coa-h3);
    font-weight: var(--coa-h3-weight);
    line-height: var(--coa-h3-lh);
    color: #fff;
}

.evp-coa-card__name a {
    color: #fff;
    text-decoration: none;
}

.evp-coa-card__name a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.evp-coa-card__meta {
    margin: 4px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--coa-muted);
}

.evp-coa-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.evp-coa-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    background: rgba(56, 189, 248, 0.10);
    border: 1px solid rgba(56, 189, 248, 0.25);
    border-radius: 999px;
    text-decoration: none;
    transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.evp-coa-badge:hover {
    background: rgba(56, 189, 248, 0.18);
    border-color: rgba(56, 189, 248, 0.6);
    transform: translateY(-1px);
}

.evp-coa-badge__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--green);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
    flex: 0 0 8px;
}

.evp-coa-badge--muted {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(159, 192, 222, 0.4);
}

.evp-coa-badge__status {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--coa-muted);
}

.evp-coa-badge__label {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

.evp-coa-badge__doc {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--coa-accent);
}

.evp-coa-card__batch {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--coa-muted);
}

.evp-coa-empty {
    text-align: center;
    font-size: var(--coa-body);
    line-height: var(--coa-body-lh);
    color: var(--coa-muted);
    background: var(--coa-card-bg);
    border: var(--coa-card-border);
    border-radius: var(--coa-radius);
    padding: var(--coa-card-pad);
}

@media (min-width: 768px) {
    .evp-coa-card__current {
        position: absolute;
        top: 20px;
        right: 20px;
        margin-bottom: 0;
    }

    .evp-coa-card__name {
        padding-right: 140px;
    }
}

@media (max-width: 767px) {
    .evp-coa-hero {
        padding-bottom: 40px;
    }
}

.evp-coa-footnote {
    margin: 1.25rem 0 0;
    text-align: center;
    font-size: 15px;
    color: var(--coa-muted);
}

.evp-coa-help {
    padding: var(--coa-section-pad) 0;
    background: linear-gradient(160deg, #064272 0%, #03284f 100%);
}

.evp-coa-help__inner {
    max-width: 36rem;
}

/* ==========================================================================
   Mobile polish â€” homepage + COA
   ========================================================================== */

@media (max-width: 639px) {
    .evp-why {
        padding: 3.25rem 0;
    }

    .evp-why__head {
        margin-bottom: 2.25rem;
    }

    .evp-why__purity-num {
        font-size: clamp(4rem, 22vw, 5.5rem);
    }

    .evp-why__purity-copy {
        max-width: none;
    }

    .evp-why__item {
        grid-template-columns: 64px 1fr;
        gap: 0.75rem;
        padding: 28px 0;
    }

    .evp-why__title {
        font-size: var(--h3);
    }

    .evp-coa-band__inner {
        padding: 2.5rem 0;
        gap: 1.25rem;
    }

    .evp-coa-band__inner .evp-glow {
        width: 100%;
        justify-content: center;
    }

    .evp-close {
        padding: 3.25rem 0 4rem;
    }

    .evp-close__inner .evp-glow {
        width: 100%;
        justify-content: center;
    }

    .everest-hero .evp-glow {
        width: 100%;
        max-width: 22rem;
        justify-content: center;
    }

    .evp-coa-hero__aside-num {
        font-size: clamp(3rem, 18vw, 4rem);
    }

    .evp-coa-help__inner .evp-glow {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 390px) {
    .evp-coa-page,
    .evp-coa-page .container,
    .evp-coa-hero__grid,
    .evp-coa-tests,
    .evp-coa-steps__grid,
    .evp-coa-list,
    .evp-coa-card,
    .evp-coa-card__badges,
    .evp-coa-lookup-panel {
        min-width: 0;
        max-width: 100%;
    }
}

/* ==========================================================================
   EVEREST SALE POPUP (currently: 4th of July) Ã¢â‚¬â€ scroll-triggered promo modal
   ========================================================================== */

.everest-sale-popup {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.everest-sale-popup.is-visible {
    opacity: 1;
    visibility: visible;
}

.everest-sale-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1, 26, 46, 0.88);
    backdrop-filter: blur(6px);
}

.everest-sale-popup__panel {
    position: relative;
    width: 100%;
    max-width: 26rem;
    max-height: min(92dvh, 660px);
    overflow-y: auto;
    border-radius: 1.25rem;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(253, 230, 138, 0.15);
    animation: everestSaleSlideUp 0.35s ease-out;
}

@keyframes everestSaleSlideUp {
    from { opacity: 0; transform: translateY(1.25rem) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.everest-sale-popup__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: none;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease;
}

.everest-sale-popup__close:hover {
    background: rgba(255, 255, 255, 0.22);
}

/* Hero Ã¢â‚¬â€ patriotic red -> navy sweep with a subtle star field */
.everest-sale-popup__hero {
    position: relative;
    padding: 2rem 1.5rem 1.35rem;
    text-align: center;
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.14) 0 1.5px, transparent 2px),
        radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.12) 0 1px, transparent 1.5px),
        radial-gradient(circle at 70% 65%, rgba(255, 255, 255, 0.1) 0 1px, transparent 1.5px),
        radial-gradient(circle at 30% 75%, rgba(255, 255, 255, 0.1) 0 1.25px, transparent 1.75px),
        linear-gradient(145deg, #7f1d1d 0%, #b91c1c 40%, #1e3a8a 100%);
    color: #fff;
}

.everest-sale-popup__stars {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
    color: #fde68a;
    font-size: 0.8rem;
    letter-spacing: 0.2em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.everest-sale-popup__stars span:nth-child(2),
.everest-sale-popup__stars span:nth-child(4) {
    font-size: 0.6rem;
    align-self: center;
    opacity: 0.85;
}

.everest-sale-popup__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fde68a;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(253, 230, 138, 0.35);
    border-radius: 9999px;
}

.everest-sale-popup__badge-icon {
    width: 0.85rem;
    height: 0.85rem;
}

.everest-sale-popup__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.everest-sale-popup__title {
    margin: 0;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.everest-sale-popup__title span {
    color: #fde68a;
}

.everest-sale-popup__headline {
    margin: 0.75rem 0 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.everest-sale-popup__headline em {
    font-style: normal;
    color: #fde68a;
}

.everest-sale-popup__dates {
    margin: 0.65rem 0 0;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.92);
}

.everest-sale-popup__body {
    padding: 1.25rem 1.5rem 1.5rem;
    background: #0f2137;
}

.everest-sale-popup__perks {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.everest-sale-popup__perks li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #b8d4ed;
    background: #162d4a;
    border: 1px solid #234567;
    border-radius: 0.75rem;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.everest-sale-popup__perk--highlight {
    border-color: rgba(253, 230, 138, 0.4);
    background: linear-gradient(135deg, #162d4a 0%, rgba(185, 28, 28, 0.18) 100%);
}

.everest-sale-popup__perk-icon {
    flex-shrink: 0;
    font-size: 1.1rem;
    line-height: 1.2;
}

.everest-sale-popup__perks strong {
    color: #fff;
}

.everest-sale-popup__countdown-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 1.25rem;
}

.everest-sale-popup__countdown-label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #7fa8c9;
}

.everest-sale-popup__countdown .everest-cd-box {
    background: rgba(185, 28, 28, 0.25);
    border: 1px solid rgba(253, 230, 138, 0.25);
}

.everest-sale-popup__countdown .everest-cd-box b {
    color: #fde68a;
}

.everest-sale-popup__cta {
    display: block;
    width: 100%;
    padding: 0.9rem 1.25rem;
    border: none;
    border-radius: 0.75rem;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #451a03;
    background: linear-gradient(135deg, #fde68a 0%, #fbbf24 100%);
    box-shadow: 0 4px 14px rgba(251, 191, 36, 0.35);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.everest-sale-popup__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(251, 191, 36, 0.45);
}

html.everest-sale-popup-open {
    overflow: hidden;
}

@media (max-width: 639px) {
    .everest-sale-popup {
        padding: 0.75rem;
        align-items: center;
    }

    .everest-sale-popup__panel {
        max-width: 100%;
        max-height: min(94dvh, 100%);
        border-radius: 1rem;
        -webkit-overflow-scrolling: touch;
    }

    .everest-sale-popup__hero {
        padding: 1.35rem 1rem 1rem;
    }

    .everest-sale-popup__title {
        font-size: 1.8rem;
    }

    .everest-sale-popup__headline {
        font-size: 1.2rem;
    }

    .everest-sale-popup__dates {
        font-size: 0.72rem;
        letter-spacing: 0.05em;
    }

    .everest-sale-popup__body {
        padding: 1rem 1rem 1.15rem;
    }

    .everest-sale-popup__perks {
        gap: 0.5rem;
        margin-bottom: 1rem;
    }

    .everest-sale-popup__perks li {
        font-size: 0.8125rem;
        padding: 0.55rem 0.65rem;
        gap: 0.5rem;
    }

    .everest-sale-popup__perk-icon {
        font-size: 1rem;
    }

    .everest-sale-popup__countdown-wrap {
        margin-bottom: 1rem;
    }

    .everest-sale-popup__countdown .everest-cd-box {
        min-width: 1.85rem;
        padding: 0.1rem 0.2rem 0.14rem;
    }

    .everest-sale-popup__countdown .everest-cd-box b {
        font-size: 0.82rem;
    }

    .everest-sale-popup__cta {
        padding: 0.85rem 1rem;
        font-size: 0.9375rem;
    }
}

/* Christmas in July â€” green/crimson hero */
.everest-sale-popup--xmas .everest-sale-popup__hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.14) 0 1.5px, transparent 2px),
        radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.12) 0 1px, transparent 1.5px),
        radial-gradient(circle at 70% 65%, rgba(255, 255, 255, 0.1) 0 1px, transparent 1.5px),
        linear-gradient(145deg, #14532d 0%, #166534 35%, #b91c1c 100%);
}
.everest-sale-popup--xmas .everest-sale-popup__perk--highlight {
    border-color: rgba(253, 230, 138, 0.4);
    background: linear-gradient(135deg, #162d4a 0%, rgba(20, 83, 45, 0.35) 100%);
}
.everest-sale-popup--xmas .everest-sale-popup__countdown .everest-cd-box {
    background: rgba(20, 83, 45, 0.35);
    border: 1px solid rgba(253, 230, 138, 0.25);
}

/* The Summit Sale â€” night-sky hero with a gold sunrise horizon */
.everest-sale-popup--summit .everest-sale-popup__hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.14) 0 1.5px, transparent 2px),
        radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.12) 0 1px, transparent 1.5px),
        radial-gradient(circle at 70% 65%, rgba(255, 255, 255, 0.1) 0 1px, transparent 1.5px),
        radial-gradient(ellipse 90% 55% at 50% 108%, rgba(251, 191, 36, 0.45) 0%, transparent 70%),
        linear-gradient(145deg, #011a2e 0%, #064272 55%, #0a5a9e 100%);
}
.everest-sale-popup--summit .everest-sale-popup__title span {
    color: #fbbf24;
}
.everest-sale-popup--summit .everest-sale-popup__perk--highlight {
    border-color: rgba(251, 191, 36, 0.45);
    background: linear-gradient(135deg, #162d4a 0%, rgba(180, 83, 9, 0.25) 100%);
}
.everest-sale-popup--summit .everest-sale-popup__countdown .everest-cd-box {
    background: rgba(10, 90, 158, 0.35);
    border: 1px solid rgba(251, 191, 36, 0.35);
}
.everest-sale-popup--summit .everest-sale-popup__countdown .everest-cd-box b {
    color: #fbbf24;
}
.everest-sale-popup--summit .everest-sale-popup__badge-icon {
    fill: none;
}

/* End of Summer Sale — sunset hero */
.everest-sale-popup--heat .everest-sale-popup__hero {
    background:
        radial-gradient(ellipse 90% 55% at 50% 108%, rgba(251, 191, 36, 0.5) 0%, transparent 70%),
        linear-gradient(145deg, #7c2d12 0%, #c2410c 50%, #ea580c 100%);
}
.everest-sale-popup--heat .everest-sale-popup__title span {
    color: #fde68a;
}
.everest-sale-popup--heat .everest-sale-popup__perk--highlight {
    border-color: rgba(251, 146, 60, 0.55);
    background: linear-gradient(135deg, #162d4a 0%, rgba(194, 65, 12, 0.35) 100%);
}
.everest-sale-popup--heat .everest-sale-popup__countdown .everest-cd-box {
    background: rgba(124, 45, 18, 0.45);
    border: 1px solid rgba(253, 230, 138, 0.35);
}
.everest-sale-popup--heat .everest-sale-popup__countdown .everest-cd-box b {
    color: #fde68a;
}

/* Flash Sale banner — hot orange/red so it cannot blend into the navy header */
.everest-announcement-bar--flash {
    position: relative;
    color: #fff7ed;
    text-decoration: none;
    overflow: hidden;
    background:
        repeating-linear-gradient(
            -18deg,
            transparent 0 18px,
            rgba(255, 255, 255, 0.06) 18px 19px
        ),
        linear-gradient(90deg, #7f1d1d 0%, #c2410c 28%, #ea580c 50%, #dc2626 72%, #7f1d1d 100%);
    border-bottom: 2px solid #fbbf24;
}
.everest-announcement-bar--flash::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, #fde68a 0%, #f97316 50%, #fde68a 100%);
}
.everest-announcement-bar--flash:hover {
    filter: brightness(1.08);
}
.everest-flash {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.6rem;
    padding: 0.5rem 0;
}
.everest-flash__msg,
.everest-flash__hero,
.everest-flash__how,
.everest-flash__time {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0 1.25rem;
}
.everest-flash__hero,
.everest-flash__how,
.everest-flash__time {
    border-left: 1px solid rgba(255, 237, 213, 0.32);
}
.everest-flash__msg {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
}
.everest-flash__kicker {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fde68a;
    white-space: nowrap;
}
.everest-flash__title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.3;
    color: #ffffff;
    white-space: nowrap;
}
.everest-flash__hero {
    align-items: baseline;
    gap: 0.4rem;
}
.everest-flash__extra {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fde68a;
    align-self: center;
    white-space: nowrap;
}
.everest-flash__pct {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 32px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #fff7ed;
    text-shadow: 0 1px 2px rgba(67, 20, 7, 0.35);
    white-space: nowrap;
}
.everest-flash__off {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
    align-self: center;
    white-space: nowrap;
}
.everest-flash__how {
    align-items: center;
}
.everest-flash__then {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: #fff7ed;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.everest-flash-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.16rem 0.7rem 0.2rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff6d6 0%, #f5d67a 42%, #e8b84a 100%);
    border: 1px solid rgba(120, 53, 15, 0.35);
    color: #1c1917;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 2px 6px rgba(0, 0, 0, 0.28);
}
.everest-flash__endlbl {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fde68a;
    white-space: nowrap;
}
.everest-flash__clock {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.95rem;
    border-radius: 999px;
    background: rgba(67, 20, 7, 0.55);
    border: 1px solid rgba(253, 230, 138, 0.45);
    font-variant-numeric: tabular-nums;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff7ed;
    white-space: nowrap;
}

@media (max-width: 1023px) {
    .everest-flash {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        row-gap: 0.32rem;
        padding: 0.7rem 0.9rem 0.8rem;
        max-width: 100%;
        min-width: 0;
    }
    .everest-flash__msg,
    .everest-flash__hero,
    .everest-flash__how,
    .everest-flash__time {
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        border-left: 0;
        padding: 0;
        box-sizing: border-box;
        text-align: center;
    }
    .everest-flash__kicker {
        font-size: 13px;
    }
    .everest-flash__title {
        font-size: 20px;
        white-space: normal;
    }
    .everest-flash__then {
        justify-content: center;
    }
}

/* Processor cutover sale — yellow on black so it cannot blend into the navy header.
   Sticky with the header so scrolling does not leave an empty banner slot. */
.everest-announcement-bar--hold {
    position: sticky;
    top: 0;
    z-index: 60;
    color: #111111;
    text-decoration: none;
    background: #facc15;
    border-bottom: 3px solid #111111;
}
.everest-announcement-bar--hold:hover {
    filter: brightness(1.04);
}
body.everest-hold-on header.sticky {
    top: var(--everest-hold-h, 56px);
}
html.everest-hold-on,
body.everest-hold-on {
    scroll-padding-top: calc(var(--everest-hold-h, 56px) + var(--everest-header-h, 64px) + 8px);
}
.everest-hold {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    min-height: 52px;
    padding: 8px 16px;
}
.everest-hold__sale {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    color: #111111;
}
.everest-hold__pct {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 32px;
    line-height: 1;
    letter-spacing: -0.03em;
}
.everest-hold__off,
.everest-hold__site {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.everest-hold__cards {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: #7f1d1d;
    color: #fff7ed;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 4px;
}
.everest-hold__pays {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    color: #111111;
}

@media (min-width: 1024px) {
    .everest-hold {
        gap: 16px 22px;
        min-height: 56px;
    }
    .everest-hold__pct {
        font-size: 32px;
    }
}

@media (max-width: 1023px) {
    .everest-hold {
        min-height: 56px;
        padding: 7px 12px;
        gap: 6px 10px;
    }
    .everest-hold__pays {
        width: 100%;
        text-align: center;
        font-size: 15px;
    }
}

/* Labor Day banner — navy field, steel stripe, crimson 25% */
.everest-announcement-bar--labor {
    position: relative;
    color: #f0f7fc;
    text-decoration: none;
    overflow: hidden;
    background:
        repeating-linear-gradient(
            -18deg,
            transparent 0 18px,
            rgba(107, 179, 251, 0.05) 18px 19px
        ),
        linear-gradient(90deg, #011018 0%, #011a2e 22%, #03284f 50%, #011a2e 78%, #011018 100%);
    border-bottom: 2px solid #9f1239;
}
.everest-announcement-bar--labor::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, #fb7185 0%, #9f1239 50%, #fb7185 100%);
}
.everest-announcement-bar--labor:hover {
    filter: brightness(1.08);
}
.everest-labor {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.6rem;
    padding: 0.5rem 0;
}
.everest-labor__msg,
.everest-labor__hero,
.everest-labor__how,
.everest-labor__time {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0 1.25rem;
}
.everest-labor__hero,
.everest-labor__how,
.everest-labor__time {
    border-left: 1px solid rgba(107, 179, 251, 0.28);
}
.everest-labor__msg {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
}
.everest-labor__kicker {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6bb3fb;
    white-space: nowrap;
}
.everest-labor__title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 1.2rem;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #ffffff;
    white-space: nowrap;
}
.everest-labor__hero {
    align-items: baseline;
    gap: 0.4rem;
}
.everest-labor__upto {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #f5d67a;
    align-self: center;
    white-space: nowrap;
}
.everest-labor__pct {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    font-size: 2.2rem;
    line-height: 0.88;
    letter-spacing: -0.04em;
    color: #fda4af;
    text-shadow: 0 0 18px rgba(244, 63, 94, 0.45);
    white-space: nowrap;
}
.everest-labor__off {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    align-self: center;
    white-space: nowrap;
}
.everest-labor__how {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.22rem;
}
.everest-labor__sitewide,
.everest-labor__then {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #dbeafe;
}
.everest-labor__then {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.everest-labor-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.16rem 0.7rem 0.2rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff6d6 0%, #f5d67a 42%, #e8b84a 100%);
    border: 1px solid rgba(120, 53, 15, 0.35);
    color: #1c1917;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 2px 6px rgba(0, 0, 0, 0.28),
        0 0 12px rgba(253, 224, 71, 0.4);
}
.everest-labor__endlbl {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #9dcbfd;
    white-space: nowrap;
}
.everest-labor__clock {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.95rem;
    border-radius: 999px;
    background: rgba(1, 16, 24, 0.75);
    border: 1px solid rgba(107, 179, 251, 0.35);
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #ffffff;
    white-space: nowrap;
}

@media (max-width: 1023px) {
    .everest-labor {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        row-gap: 0.32rem;
        padding: 0.7rem 0.9rem 0.8rem;
        max-width: 100%;
        min-width: 0;
    }
    .everest-labor__msg,
    .everest-labor__hero,
    .everest-labor__how,
    .everest-labor__time {
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        border-left: 0;
        padding: 0;
        box-sizing: border-box;
        text-align: center;
    }
    .everest-labor__msg {
        gap: 0.1rem;
    }
    .everest-labor__hero {
        align-items: baseline;
        gap: 0.38rem;
    }
    .everest-labor__how {
        gap: 0.28rem;
    }
    .everest-labor__then {
        justify-content: center;
        white-space: normal;
    }
    .everest-labor__title {
        font-size: 1.12rem;
        white-space: normal;
    }
    .everest-labor__pct {
        font-size: 2.55rem;
    }
    .everest-labor__off {
        font-size: 1.2rem;
    }
    .everest-labor__time {
        padding-top: 0.1rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .everest-labor__pct {
        font-size: 2.35rem;
    }
}

/* End of Summer banner — 3-column layout, Everest sunset colors */
.everest-announcement-bar--heat {
    color: #fff7ed;
    text-decoration: none;
    background: linear-gradient(90deg, #9a3412 0%, #c2410c 28%, #ea580c 50%, #c2410c 72%, #9a3412 100%);
}
.everest-announcement-bar--heat:hover {
    filter: brightness(1.06);
}
.everest-heat-ext {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    padding: 0.5rem 0;
}
.everest-heat-ext__msg,
.everest-heat-ext__code,
.everest-heat-ext__time {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0 1.35rem;
}
.everest-heat-ext__code,
.everest-heat-ext__time {
    border-left: 1px solid rgba(255, 237, 213, 0.32);
}
.everest-heat-ext__msg {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.06rem;
}
.everest-heat-ext__title {
    font-family: 'Fraunces', 'Plus Jakarta Sans', Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: 1.55rem;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #fff7ed;
    text-shadow: 0 1px 2px rgba(67, 20, 7, 0.35);
    white-space: nowrap;
}
.everest-heat-ext__extended {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fde68a;
    text-shadow: 0 1px 1px rgba(67, 20, 7, 0.3);
    white-space: nowrap;
}
.everest-heat-ext__codelabel,
.everest-heat-ext__stack,
.everest-heat-ext__endlbl {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffedd5;
    text-shadow: 0 1px 1px rgba(67, 20, 7, 0.28);
    white-space: nowrap;
}
.everest-heat-ext__clock {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.95rem;
    border-radius: 999px;
    background: #431407;
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #fde68a;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
}
.everest-heat-code--banner {
    margin: 0;
    padding: 0.32rem 1.15rem 0.36rem;
    font-size: 1.2rem;
    letter-spacing: 0.14em;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.75) inset,
        0 3px 8px rgba(0, 0, 0, 0.32),
        0 0 18px rgba(253, 224, 71, 0.55);
}

@media (max-width: 767px) {
    .everest-heat-ext {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.4rem;
        padding: 0.55rem 0 0.6rem;
    }
    .everest-heat-ext__msg {
        align-items: center;
        width: 100%;
        padding: 0 0.5rem;
    }
    .everest-heat-ext__code,
    .everest-heat-ext__time {
        border-left: 0;
        padding: 0 0.45rem;
        gap: 0.45rem;
    }
    .everest-heat-ext__title {
        font-size: 1.28rem;
    }
    .everest-heat-ext__extended {
        font-size: 0.6rem;
    }
    .everest-heat-code--banner {
        font-size: 1.05rem;
        padding: 0.26rem 0.9rem 0.3rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .everest-heat-ext__title {
        font-size: 1.2rem;
    }
    .everest-heat-ext__extended {
        font-size: 0.58rem;
    }
    .everest-heat-ext__msg,
    .everest-heat-ext__code,
    .everest-heat-ext__time {
        padding: 0 0.7rem;
        gap: 0.5rem;
    }
    .everest-heat-code--banner {
        font-size: 1.05rem;
        padding: 0.26rem 0.85rem 0.3rem;
    }
}

.everest-heat-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0.15rem;
    padding: 0.18rem 0.85rem 0.22rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff6d6 0%, #f5d67a 42%, #e8b84a 100%);
    border: 1px solid rgba(120, 53, 15, 0.35);
    color: #1c1917;
    font-size: 0.95em;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.2;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 2px 6px rgba(0, 0, 0, 0.28),
        0 0 12px rgba(253, 224, 71, 0.45);
    vertical-align: middle;
}

/* Secondary link under the popup CTA */
.everest-sale-popup__link {
    display: block;
    margin-top: 0.7rem;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fbbf24;
    text-decoration: underline;
}
.everest-sale-popup__link:hover {
    color: #fde68a;
}

/* Compliance footnote inside the sale popup (replaces the age gate) */
.everest-sale-popup__legal {
    margin-top: 0.9rem;
    font-size: 0.68rem;
    line-height: 1.5;
    color: #7fa8c9;
    text-align: center;
}
.everest-sale-popup__legal a {
    text-decoration: underline;
    color: inherit;
}

/* Summit banner â€” navy countdown chips on the gold bar */
/* Summit Sale hero â€” living night sky. The two star layers breathe at
   different rhythms so the field shimmers instead of pulsing in sync. */
.evp-stars--a {
    opacity: 0.7;
    animation: evp-twinkle-a 6s ease-in-out infinite;
}
.evp-stars--b {
    animation: evp-twinkle-b 8.5s ease-in-out infinite;
}
@keyframes evp-twinkle-a {
    0%, 100% { opacity: 0.7; }
    50%      { opacity: 0.15; }
}
@keyframes evp-twinkle-b {
    0%, 100% { opacity: 1; }
    40%      { opacity: 0.25; }
    68%      { opacity: 0.7; }
}

/* Shooting star: a streak with a bright leading edge that fires briefly on
   a long loop, then waits dark until the next pass. */
.evp-shooting-star {
    position: absolute;
    width: 110px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.65) 70%, #fff 100%);
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.55));
    opacity: 0;
    pointer-events: none;
    animation: evp-shoot 9s linear infinite;
}
.evp-shooting-star--alt {
    width: 85px;
    animation-name: evp-shoot-alt;
    animation-duration: 12.5s;
}
@keyframes evp-shoot {
    0%, 6%   { opacity: 0; transform: translate3d(0, 0, 0) rotate(22deg); }
    7.5%     { opacity: 1; }
    17%      { opacity: 0; transform: translate3d(44vw, 17vw, 0) rotate(22deg); }
    100%     { opacity: 0; transform: translate3d(44vw, 17vw, 0) rotate(22deg); }
}
@keyframes evp-shoot-alt {
    0%, 4%   { opacity: 0; transform: translate3d(0, 0, 0) rotate(31deg); }
    5.5%     { opacity: 1; }
    13%      { opacity: 0; transform: translate3d(30vw, 18vw, 0) rotate(31deg); }
    100%     { opacity: 0; transform: translate3d(30vw, 18vw, 0) rotate(31deg); }
}

@media (prefers-reduced-motion: reduce) {
    .evp-stars--a,
    .evp-stars--b { animation: none; }
    .evp-shooting-star { display: none; }
}

.everest-announcement-bar--summit .everest-cd-eyebrow {
    color: rgba(1, 26, 46, 0.75);
}
.everest-announcement-bar--summit .everest-cd-box {
    background: rgba(1, 26, 46, 0.9);
    border-color: rgba(1, 26, 46, 0.35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.2);
    /* Quieter than the default chips â€” the Learn More pill is the banner CTA */
    min-width: 1.7rem;
    padding: 0.08rem 0.2rem 0.12rem;
}
.everest-announcement-bar--summit .everest-cd-box b {
    font-size: 0.72rem;
}
.everest-announcement-bar--summit .everest-cd-box i {
    font-size: 0.44rem;
}
.everest-announcement-bar--summit .everest-cd-box b {
    color: #fbbf24;
}
.everest-announcement-bar--summit .everest-cd-box i {
    color: rgba(255, 255, 255, 0.75);
}

/* Banner + popup countdown chips */
.everest-countdown { display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap; }
.everest-cd-eyebrow { font-size: 0.6rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.8); }
.everest-cd-grid { display: inline-flex; align-items: stretch; gap: 0.25rem; }
.everest-cd-box {
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
    min-width: 2.1rem; padding: 0.15rem 0.3rem 0.2rem; border-radius: 0.45rem;
    background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.25);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 1px 2px rgba(0,0,0,0.25); line-height: 1;
}
.everest-cd-box b { font-size: 0.95rem; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: 0.03em; }
.everest-cd-box i { font-style: normal; margin-top: 0.12rem; font-size: 0.5rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.72); }
@media (max-width: 639px) {
    .everest-cd-box { min-width: 1.95rem; padding: 0.12rem 0.25rem 0.16rem; }
    .everest-cd-box b { font-size: 0.88rem; }
}


/* Gift notices on classic cart page (same cards as side cart) */
.evp-cart-gift {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    margin-bottom: 0.65rem;
    background: linear-gradient(135deg, #14532d 0%, #1c3a5c 100%);
    border: 1px solid rgba(253, 230, 138, 0.35);
    border-radius: 0.75rem;
}
.evp-cart-gift--locked {
    background: linear-gradient(135deg, #162d4a 0%, #1c3a5c 100%);
    border-color: rgba(40, 183, 217, 0.35);
}
.evp-cart-gift__thumb {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #0f2137;
    display: block;
}
.evp-cart-gift__thumb img,
.evp-cart-gift__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.evp-cart-gift__icon { flex-shrink: 0; font-size: 1.35rem; line-height: 1.2; }
.evp-cart-gift__info { flex: 1; min-width: 0; }
.evp-cart-gift__eyebrow {
    margin: 0 0 0.15rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fde68a;
}
.evp-cart-gift--locked .evp-cart-gift__eyebrow { color: #6bb3fb; }
.evp-cart-gift__name {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
}
.evp-cart-gift__name a { color: inherit; text-decoration: none; }
.evp-cart-gift__name a:hover { color: #6bb3fb; }
.evp-cart-gift__text {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    line-height: 1.35;
    color: #b8d4ed;
}
.evp-cart-gift__text strong { color: #fff; }

/* Product tabs: Description / Specifications / Compliance */
.everest-pdp-tabs .prose h3 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
    letter-spacing: -0.01em;
    border-bottom: none;
    padding-bottom: 0;
}
.everest-pdp-tabs .prose h3:first-child {
    margin-top: 0;
}
.everest-pdp-tabs .prose p,
.everest-compliance-copy p {
    font-size: 17px;
    line-height: 1.6;
    color: #b8d4ed;
}
.everest-compliance-copy p + p {
    margin-top: 1rem;
}
.everest-spec-block {
    margin-top: 1.75rem;
}
.everest-spec-block:first-child,
.everest-spec-table--product + .everest-spec-block {
    margin-top: 0;
}
.everest-spec-table--product {
    margin-bottom: 1.75rem;
}
.everest-spec-block h3 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
    margin: 0 0 0.75rem;
}
.everest-spec-table {
    width: 100%;
}
.everest-spec-table th,
.everest-spec-table td {
    padding: 1rem 0;
    border-bottom: 1px solid #0a5a9e;
    vertical-align: top;
}
.everest-spec-table tr:last-child th,
.everest-spec-table tr:last-child td {
    border-bottom: 0;
}
.everest-spec-table th {
    padding-right: 2rem;
    text-align: left;
    color: #fff;
    font-weight: 600;
    width: 40%;
}
.everest-spec-table td {
    color: #b8d4ed;
    font-size: 17px;
    line-height: 1.5;
    word-break: break-word;
}
.everest-spec-table sub {
    font-size: 0.75em;
}
@media (max-width: 767px) {
    .everest-pdp-tabs .prose h3,
    .everest-spec-block h3 {
        font-size: 20px;
    }
    .everest-pdp-tabs .prose p,
    .everest-compliance-copy p,
    .everest-spec-table td {
        font-size: 16px;
    }
    .everest-pdp-tabs__nav button {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
