
/* Generated from site theme (preset + YAML overrides). Mobile-first. */

:root {
    --paper: #f4eff4;
    --paper-deep: #f2e8ef;
    --ink: #2d2132;
    --moss: #6d2f7c;
    --moss-deep: #381c46;
    --copper: #b67c36;
    --copper-hot: #e53052;
    --frost: rgba(244, 239, 244, 0.93);
    --shadow: 0 22px 50px rgba(45, 33, 50, 0.140);
    --shadow-sm: 0 8px 24px rgba(45, 33, 50, 0.090);
    --radius: 0.85rem;
    --radius-pill: 999px;
    --font-display: "Libre Baskerville", "Georgia", serif;
    --font-body: "Karla", system-ui, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

body {
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
    background: var(--paper);
    background-image:
        radial-gradient(ellipse 120% 80% at 100% -20%, color-mix(in srgb, var(--copper) 14%, transparent), transparent),
        radial-gradient(ellipse 100% 60% at 0% 100%, color-mix(in srgb, var(--moss) 12%, transparent), transparent);
    color: var(--ink);
    line-height: 1.65;
    padding-top: 86px;
    padding-bottom: 5.5rem;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    body {
        background-image: none;
    }

    .section-intro,
    .rdmt19a8-card-note {
        color: var(--ink);
        opacity: 0.8;
    }

    .rdmt19a8-topnav.rdmt19a8-nav {
        border-bottom: 1px solid var(--paper-deep);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    }

    .rdmt19a8-breadcrumb,
    .page-hero {
        background: var(--paper-deep);
        border-color: var(--paper-deep);
    }

    .nav-link:hover {
        background: var(--paper-deep);
    }

    .rdmt19a8-canvas,
    .feature-tile,
    .stats-band-shell,
    .split-spotlight-shell,
    .cta-band-shell,
    .category-card,
    .rdmt19a8-card,
    .content-panel,
    .info-panel,
    .checkout-order-panel,
    .checkout-form-panel,
    .support-visual-card,
    .support-related-card,
    .footer {
        border-color: var(--paper-deep);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    }

    .stat-card {
        background: rgba(15, 10, 20, 0.88);
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .rdmt19a8-topnav.rdmt19a8-nav,
    .hero-static-caption,
    .hero-section .carousel-caption,
    .hero-static-caption-framed,
    .hero-layout-split .hero-static-caption-panel {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .rdmt19a8-topnav.rdmt19a8-nav {
        background: rgba(255, 255, 255, 0.96);
    }

    .hero-static-caption,
    .hero-section .carousel-caption {
        background: rgba(20, 24, 22, 0.92);
    }

    .hero-static-caption-framed,
    .hero-layout-split .hero-static-caption-panel {
        background: rgba(255, 255, 255, 0.96);
    }
}

main {
    overflow-x: hidden;
    overflow-x: clip;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--moss-deep);
    letter-spacing: -0.02em;
}

.section-header {
    max-width: 42rem;
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.section-header.section-header-left {
    max-width: 44rem;
    margin-left: 0;
    text-align: left;
}

.section-eyebrow {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #7a4a1f;
}

.section-intro {
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.12rem);
    line-height: 1.75;
    color: color-mix(in srgb, var(--ink) 72%, transparent);
}

.skip-link {
    z-index: 2000;
    left: 0.5rem;
    top: 0.5rem;
    padding: 0.35rem 0.65rem;
    background: var(--moss-deep);
    color: #fff !important;
    border-radius: var(--radius);
    text-decoration: none;
}

.rdmt19a8-topnav.rdmt19a8-nav {
    background: var(--frost);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 2px solid color-mix(in srgb, var(--moss) 35%, transparent);
    box-shadow: 0 4px 0 color-mix(in srgb, var(--copper) 25%, transparent);
    padding: 0.55rem 0;
    z-index: 1040;
}

.rdmt19a8-brand {
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 0.95rem + 0.55vw, 1.45rem);
    font-weight: 700;
    color: var(--moss-deep) !important;
    -webkit-text-fill-color: currentColor;
    letter-spacing: -0.03em;
    text-transform: none;
    max-width: min(100%, 20rem);
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.2;
    hyphens: auto;
}

.rdmt19a8-brand:hover {
    color: #7a4a1f !important;
}

.rdmt19a8-topnav .container {
    max-width: 1140px;
}

.rdmt19a8-breadcrumb {
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    background: color-mix(in srgb, var(--paper-deep) 40%, transparent);
    overflow: hidden;
}

.rdmt19a8-topnav .navbar-collapse,
.rdmt19a8-topnav .navbar-nav,
.rdmt19a8-topnav .container,
.rdmt19a8-topnav .nav-item {
    min-width: 0;
}

.page-hero {
    padding-top: clamp(2.75rem, 6vw, 4rem);
    padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--paper-deep) 72%, #fff), transparent),
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--copper) 14%, transparent), transparent 46%);
}

@media (max-width: 991.98px) {
    .rdmt19a8-topnav .navbar-nav .nav-link {
        padding: 0.6rem 0.75rem !important;
        border-radius: 0.5rem;
    }

    .rdmt19a8-btn {
        width: 100%;
        justify-content: center;
        margin-top: 0.35rem;
    }
}

@media (min-width: 992px) {
    .rdmt19a8-topnav .nav-link {
        font-size: 0.8rem;
        text-align: center;
        white-space: normal;
        max-width: 9rem;
        line-height: 1.2;
    }
}

.navbar-nav .nav-item {
    padding: 0 0.1rem;
}

.nav-link {
    color: var(--ink) !important;
    -webkit-text-fill-color: currentColor;
    font-weight: 500;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.5rem 0.65rem !important;
    border-radius: var(--radius-pill);
    transition: background 0.2s ease, color 0.2s ease;
}

.nav-link:hover {
    background: color-mix(in srgb, var(--moss) 14%, transparent);
    color: var(--moss-deep) !important;
}

.nav-link::after {
    display: none;
}

.breadcrumb {
    flex-wrap: wrap;
    row-gap: 0.35rem;
}

.breadcrumb-item,
.breadcrumb-item a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.btn {
    border-radius: var(--radius-pill);
    transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.rdmt19a8-btn {
    background: linear-gradient(145deg, var(--copper), var(--copper-hot));
    border: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    min-height: 2.5rem;
    font-weight: 600;
    font-size: 0.8rem;
    line-height: 1;
    box-shadow: var(--shadow-sm);
    white-space: nowrap;
}

.rdmt19a8-lbl {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.rdmt19a8-btn:hover,
.rdmt19a8-btn:focus-visible {
    filter: brightness(1.06);
    color: #fff;
}

.rdmt19a8-line-txt {
    min-width: 0;
}

.rdmt19a8-thumb {
    width: 56px;
    height: 56px;
    object-fit: contain;
    background: #fff;
    padding: 0.2rem;
    border-radius: var(--radius-sm, 0.35rem);
    flex-shrink: 0;
}

.rdmt19a8-btn .fa-shopping-cart {
    font-size: 1rem;
}

.rdmt19a8-bdg:not(:empty) {
    min-width: 1.25rem;
    padding: 0 0.35rem;
    min-height: 1.25rem;
    border-radius: var(--radius-pill);
    background: var(--moss-deep);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 700;
}

.rdmt19a8-canvas {
    width: min(30rem, 100vw);
    border-left: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
}

.rdmt19a8-kicker {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #7a4a1f;
}

.rdmt19a8-items {
    display: grid;
    gap: 0.95rem;
}

.rdmt19a8-empty {
    padding: 1.2rem;
    border: 1px dashed color-mix(in srgb, var(--moss) 24%, transparent);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--paper-deep) 54%, #fff);
    text-align: center;
}

.rdmt19a8-line {
    padding: 1rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
}

.rdmt19a8-line:first-child {
    padding-top: 0;
}

.rdmt19a8-line:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rdmt19a8-line-top,
.rdmt19a8-line-ctrl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.rdmt19a8-line-ctrl {
    margin-top: 0.85rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.rdmt19a8-line-tot {
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--moss-deep);
    white-space: nowrap;
}

.rdmt19a8-qty-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.rdmt19a8-qty-wrap .btn {
    min-width: 2rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.rdmt19a8-qty-in {
    width: 4.25rem;
    text-align: center;
    border-radius: var(--radius-pill);
}

.rdmt19a8-sum-card {
    padding: 1.2rem;
    border-radius: calc(var(--radius) + 0.05rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.94)),
        radial-gradient(circle at top right, color-mix(in srgb, var(--copper) 16%, transparent), transparent 38%);
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
    box-shadow: var(--shadow-sm);
}

.rdmt19a8-assurance {
    display: grid;
    gap: 0.7rem;
    font-size: 0.93rem;
}

.rdmt19a8-assurance div {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.rdmt19a8-assurance i {
    color: var(--copper);
    margin-top: 0.15rem;
}

.rdmt19a8-sum .btn.disabled,
.rdmt19a8-sum .btn[aria-disabled="true"] {
    pointer-events: none;
    opacity: 0.55;
}

.breadcrumb {
    margin-bottom: 0;
    background: transparent;
    padding: 0.5rem 0;
}

.breadcrumb-item a {
    color: var(--moss);
    -webkit-text-fill-color: currentColor;
    text-decoration: none;
    font-weight: 500;
}

.breadcrumb-item.active {
    color: #7a4a1f;
    font-weight: 600;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: color-mix(in srgb, var(--ink) 40%, transparent);
}

.hero-section {
    position: relative;
    overflow: hidden;
    background: var(--moss-deep);
    border-radius: 0 0 var(--radius) var(--radius);
    width: 100%;
    margin: 0;
}

.hero-section .carousel {
    max-height: 640px;
    max-height: min(72vh, 640px);
    width: 100%;
    position: relative;
    z-index: 1;
}

.hero-section .carousel-inner {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    width: 100%;
}

.hero-section .carousel-item,
.hero-section .carousel-item img {
    width: 100%;
    max-width: 100%;
}

.hero-section .carousel-item img {
    height: 560px;
    height: min(60vh, 560px);
    max-height: 560px;
    max-height: min(60vh, 560px);
    object-fit: cover;
    object-position: center;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    filter: saturate(1.02) contrast(1.02);
}

.hero-static-caption-wrap {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: clamp(1rem, 3vw, 2rem);
    pointer-events: none;
}

.hero-static-caption {
    max-width: min(640px, 92vw);
    padding: clamp(1rem, 2vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
    background: rgba(20, 24, 22, 0.82);
    background: color-mix(in srgb, var(--ink) 78%, transparent);
    border-radius: var(--radius);
    border: 1px solid rgba(255, 255, 255, 0.12);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    pointer-events: auto;
    -webkit-font-smoothing: antialiased;
}

.hero-static-caption h1,
.hero-static-caption h2 {
    color: #f8f6f0;
}

.hero-static-caption .section-eyebrow,
.hero-section .carousel-caption .section-eyebrow {
    color: rgba(248, 246, 240, 0.84) !important;
    opacity: 1;
}

.hero-static-caption p {
    color: #e2dfd8;
}

.hero-static-caption .section-intro,
.hero-section .carousel-caption .section-intro {
    color: #e2dfd8 !important;
    opacity: 1;
}

.hero-static-caption .btn-primary {
    background: linear-gradient(135deg, #8B5A2B, #c73e5c);
    border: none;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.hero-static-caption .btn-primary:hover {
    filter: brightness(1.12);
    color: #fff;
}

.hero-section .carousel-caption {
    bottom: 14%;
    left: 50%;
    transform: translateX(-50%);
    max-width: min(640px, 92vw);
    padding: clamp(1rem, 2vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
    background: rgba(20, 24, 22, 0.82);
    background: color-mix(in srgb, var(--ink) 78%, transparent);
    border-radius: var(--radius);
    border: 1px solid rgba(255, 255, 255, 0.12);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    -webkit-font-smoothing: antialiased;
}

@media (max-width: 575.98px) {
    .hero-static-caption-wrap {
        justify-content: stretch;
        padding: 0.85rem;
        align-items: flex-end;
    }

    .hero-static-caption {
        max-width: none;
        width: 100%;
    }

    .hero-static-caption .display-4 {
        font-size: clamp(1.45rem, 6vw, 2rem);
    }

    .hero-static-caption .lead {
        font-size: 0.95rem;
    }

    .hero-section .carousel-caption {
        left: 0.85rem;
        right: 0.85rem;
        bottom: 10%;
        transform: none;
        max-width: none;
        width: auto;
    }

    .hero-section .carousel-caption .display-4 {
        font-size: clamp(1.45rem, 6vw, 2rem);
    }

    .hero-section .carousel-caption .lead {
        font-size: 0.95rem;
    }
}

.hero-section .carousel-caption h1,
.hero-section .carousel-caption h2 {
    color: #f8f6f0 !important;
}

.hero-section .carousel-caption p {
    color: #e2dfd8 !important;
}

.hero-section .carousel-caption .btn-primary {
    background: linear-gradient(135deg, #8B5A2B, #c73e5c);
    border: none;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.hero-section .carousel-caption .btn-primary:hover {
    filter: brightness(1.12);
    color: #fff;
}

.hero-section .carousel-indicators,
.hero-section .carousel-control-prev,
.hero-section .carousel-control-next {
    z-index: 4;
}

.carousel-indicators {
    bottom: 1.25rem;
    gap: 0.35rem;
}

.carousel-indicators [data-bs-target] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

.carousel-indicators .active {
    background: var(--copper-hot);
    transform: scale(1.25);
}

.carousel-control-prev,
.carousel-control-next {
    width: auto;
    padding: 0 0.75rem;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--radius-pill);
    background: rgba(20, 24, 22, 0.75);
    background: color-mix(in srgb, var(--ink) 75%, transparent);
    border: 1px solid rgba(255, 255, 255, 0.25);
    position: relative;
}

.carousel-control-prev-icon::before,
.carousel-control-next-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.65rem;
    height: 0.65rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(-40%, -50%) rotate(-135deg);
}

.carousel-control-next-icon::before {
    transform: translate(-60%, -50%) rotate(45deg);
}

.home-module {
    position: relative;
}

.feature-grid-section .section-header,
.cta-band-section .section-header,
.split-spotlight-section .section-header {
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.feature-tile {
    position: relative;
    padding: 1.6rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), #fff),
        radial-gradient(circle at top right, color-mix(in srgb, var(--copper) 12%, transparent), transparent 40%);
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
    border-radius: calc(var(--radius) + 0.1rem);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.feature-tile::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background: linear-gradient(90deg, var(--moss), var(--copper));
    opacity: 0.9;
}

.feature-tile-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    background: color-mix(in srgb, var(--moss) 10%, #fff);
    color: var(--copper);
    font-size: 1.15rem;
}

.feature-tile h3 {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
}

.feature-tile p {
    color: color-mix(in srgb, var(--ink) 72%, transparent);
}

.stats-band-shell {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: calc(var(--radius) + 0.25rem);
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--copper) 22%, transparent), transparent 36%),
        linear-gradient(135deg, color-mix(in srgb, var(--moss-deep) 94%, #0e1713), color-mix(in srgb, var(--ink) 88%, #090d0a));
    color: #f7f4ef;
    box-shadow: var(--shadow);
}

.stats-band-eyebrow {
    color: color-mix(in srgb, var(--paper) 86%, #fff);
}

.stat-card {
    height: 100%;
    padding: 1.15rem 1rem;
    border-radius: calc(var(--radius) - 0.05rem);
    background: rgba(15, 10, 20, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.stat-value {
    font-family: var(--font-display);
    font-size: clamp(1.85rem, 1.3rem + 2vw, 2.6rem);
    line-height: 1;
    color: #fff;
    margin-bottom: 0.65rem;
}

.stat-label {
    color: #fff !important;
    font-size: 1rem;
    margin-bottom: 0.45rem;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
    font-weight: 600;
}

.stat-detail {
    color: #fff !important;
    font-size: 0.92rem;
    text-shadow: 0 1px 4px rgba(0,0,0,0.85);
    font-weight: 500;
}

.split-spotlight-shell {
    padding: clamp(1.2rem, 2vw, 1.6rem);
    border-radius: calc(var(--radius) + 0.2rem);
    background: color-mix(in srgb, var(--paper-deep) 64%, #fff);
    box-shadow: var(--shadow-sm);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
}

.split-spotlight-media {
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--radius) + 0.1rem);
    min-height: 100%;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.split-spotlight-media img {
    width: 100%;
    height: clamp(280px, 40vw, 430px);
    object-fit: cover;
}

.split-spotlight-copy {
    padding: clamp(0.4rem, 1vw, 0.75rem);
}

.split-spotlight-points {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.35rem;
}

.split-spotlight-points li {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: color-mix(in srgb, var(--ink) 78%, transparent);
}

.split-spotlight-points i {
    margin-top: 0.2rem;
    color: var(--copper);
}

.cta-band-shell {
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: calc(var(--radius) + 0.25rem);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--paper) 88%, #fff), color-mix(in srgb, var(--paper-deep) 88%, #fff)),
        radial-gradient(circle at top right, color-mix(in srgb, var(--copper) 18%, transparent), transparent 35%);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    box-shadow: var(--shadow-sm);
}

.categories-section,
.categories-banner,
.all-products,
.featured-products {
    padding-top: clamp(2rem, 5vw, 3.5rem);
    padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.featured-products.bg-light,
.all-products.bg-light {
    background: var(--paper-deep) !important;
    background: color-mix(in srgb, var(--paper-deep) 65%, #fff) !important;
    border-radius: var(--radius);
    margin: 1rem 0;
}

.category-card,
.rdmt19a8-card {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--paper-deep);
    border: 1px solid color-mix(in srgb, var(--moss) 15%, transparent);
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.25s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.category-card:hover,
.rdmt19a8-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.category-card .img-fluid {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.rdmt19a8-media {
    display: block;
    padding: clamp(0.8rem, 1.6vw, 1rem);
    background: linear-gradient(180deg, var(--paper-deep), #fff);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--copper) 10%, transparent), transparent 50%),
        linear-gradient(180deg, color-mix(in srgb, var(--paper-deep) 80%, #fff), #fff);
    border-bottom: 1px solid var(--paper-deep);
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 10%, transparent);
    text-decoration: none;
}

.rdmt19a8-media-frame {
    width: 100%;
    aspect-ratio: 5 / 4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: calc(var(--radius) - 0.3rem);
    overflow: hidden;
    box-shadow: inset 0 0 0 1px var(--paper-deep);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--moss) 10%, transparent);
}

@supports not (aspect-ratio: 1 / 1) {
    .rdmt19a8-media-frame {
        min-height: 18rem;
    }

    .featured-layout-spotlight .rdmt19a8-card-lead .rdmt19a8-media-frame {
        min-height: 24rem;
    }
}

.rdmt19a8-media .img-fluid {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 575.98px) {
    .rdmt19a8-media-frame {
        aspect-ratio: 4 / 3;
    }
}

.category-content,
.rdmt19a8-pcontent {
    padding: 1.25rem 1.35rem 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.category-content h2,
.category-content h3,
.rdmt19a8-pcontent h3 {
    font-size: clamp(1.05rem, 1rem + 0.3vw, 1.25rem);
}

.rdmt19a8-pcontent h3 a {
    color: var(--moss-deep);
    -webkit-text-fill-color: currentColor;
    text-decoration: none;
    font-weight: 600;
}

.rdmt19a8-pcontent h3 a:hover,
.rdmt19a8-pcontent h3 a:focus-visible {
    color: #7a4a1f;
    text-decoration: underline;
}

.rdmt19a8-pcontent .price {
    font-family: var(--font-display);
    font-weight: 600;
    color: #7a4a1f;
    font-size: 1.2rem;
    margin-top: auto;
}

.btn-primary {
    background: linear-gradient(135deg, #7a3d8a, #4a2558);
    border: none;
    color: #fff;
    padding: 0.65rem 1.4rem;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    -webkit-appearance: none;
    appearance: none;
}

.btn-primary:visited,
.btn-primary:hover,
.btn-primary:focus-visible {
    background: #8B5A2B;
    color: #fff;
    filter: brightness(1.08);
    text-decoration: none;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.footer {
    background: linear-gradient(180deg, var(--paper-deep), var(--paper));
    border-top: 2px solid color-mix(in srgb, var(--moss) 20%, transparent);
    padding: 3rem 0 2rem;
    margin-top: 2rem;
}

.footer h5 {
    font-family: var(--font-display);
    color: var(--moss-deep);
    font-size: 1.2rem;
}

.footer a {
    color: var(--moss);
    text-decoration: none;
}

.footer a:hover {
    color: #7a4a1f;
    text-decoration: underline;
}

.policy-document {
    max-width: 52rem;
}

.policy-document h1 {
    font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);
}

.policy-section h2 {
    color: var(--moss);
    border-left: 4px solid var(--copper);
    padding-left: 0.85rem;
}

.policy-bullets li {
    margin-bottom: 0.4rem;
}

.product-image {
    background: #fff;
    padding: clamp(1rem, 3vw, 2rem);
    border-radius: var(--radius);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(20rem, 46vw, 38rem);
    max-height: min(78vh, 54rem);
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    max-height: min(72vh, 50rem);
    object-fit: contain;
    object-position: center;
    display: block;
}

.product-purchase-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
}

.rdmt19a8-opt-picker,
.rdmt19a8-sz-picker {
    flex: 1 1 100%;
}

.option-grid,
.size-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.option-chip,
.size-chip {
    min-width: 3.25rem;
    padding: 0.7rem 1rem;
    border-radius: var(--radius-pill);
    border: 1px solid color-mix(in srgb, var(--moss) 20%, transparent);
    background: #fff;
    color: var(--moss-deep);
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.option-chip:hover,
.size-chip:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
    border-color: color-mix(in srgb, var(--copper) 45%, transparent);
}

.rdmt19a8-opt-input:checked + .option-chip,
.product-size-input:checked + .size-chip {
    background: linear-gradient(145deg, var(--copper), var(--copper-hot));
    border-color: transparent;
    color: #fff;
    box-shadow: var(--shadow-sm);
}

.rdmt19a8-opt-picker.is-invalid .option-chip,
.rdmt19a8-sz-picker.is-invalid .size-chip {
    border-color: #dc3545;
}

.product-price-hint,
.product-option-note {
    line-height: 1.55;
}

.rdmt19a8-card-note {
    margin-top: 0.65rem;
    font-size: 0.86rem;
    color: color-mix(in srgb, var(--ink) 66%, transparent);
}

.product-purchase-panel .rdmt19a8-add,
.product-purchase-panel [data-rdmt19a8-go-checkout] {
    min-height: 3.5rem;
}

.site-quantity-control {
    min-width: 8.75rem;
}

.site-quantity-control .form-control {
    border-left: 0;
    border-right: 0;
}

.rdmt19a8-step {
    min-width: 2.7rem;
}

.features li {
    margin-bottom: 0.65rem;
    font-size: 0.95rem;
}

.rdmt19a8-line-meta,
.rdmt19a8-ck-var {
    margin-top: 0.35rem;
}

#Rdmt19a8ClientErr[hidden] {
    display: none !important;
}

.about-page-section {
    padding-top: 0.5rem;
}

.content-panel,
.info-panel {
    background: #fff;
    border-radius: calc(var(--radius) + 0.05rem);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    box-shadow: var(--shadow-sm);
}

.content-panel {
    padding: clamp(1.4rem, 3vw, 2rem);
}

.content-panel p:last-child {
    margin-bottom: 0;
}

.info-panel {
    padding: clamp(1.35rem, 3vw, 1.9rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at top right, color-mix(in srgb, var(--copper) 16%, transparent), transparent 40%);
}

.checkout-page {
    padding-top: 1.5rem;
}

.checkout-order-panel,
.checkout-form-panel,
.checkout-support-panel {
    position: relative;
}

.checkout-order-summary {
    display: grid;
    gap: 1rem;
}

.checkout-empty-state {
    padding: 1.4rem;
    border: 1px dashed color-mix(in srgb, var(--moss) 24%, transparent);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--paper-deep) 58%, #fff);
    text-align: center;
}

.rdmt19a8-ck-line {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 10%, transparent);
}

.rdmt19a8-ck-line:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.rdmt19a8-ck-thumb {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.rdmt19a8-ck-meta {
    min-width: 0;
}

.rdmt19a8-ck-aside {
    text-align: right;
    white-space: nowrap;
}

.checkout-totals {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.checkout-totals span,
.checkout-totals strong {
    display: block;
}

.checkout-totals strong {
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--moss-deep);
}

.checkout-help-list {
    display: grid;
    gap: 0.85rem;
}

.checkout-help-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.checkout-help-list i {
    color: var(--copper);
    margin-top: 0.15rem;
}

.company-facts {
    display: grid;
    gap: 1rem;
}

.company-facts li {
    display: grid;
    gap: 0.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 10%, transparent);
}

.company-facts li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.company-facts span {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: color-mix(in srgb, var(--ink) 48%, transparent);
}

.company-facts strong,
.company-facts strong a {
    color: var(--moss-deep);
    text-decoration: none;
}

.company-facts strong a:hover,
.company-facts strong a:focus-visible {
    color: #7a4a1f;
}

.content-page-shell {
    padding-top: 0.5rem;
}

.content-page-stack {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.5rem);
}

.content-page-section {
    position: relative;
}

.content-bullets {
    display: grid;
    gap: 0.75rem;
    padding-left: 1.2rem;
}

.content-bullets li::marker {
    color: var(--copper);
}

.step-card,
.content-card {
    height: 100%;
    padding: clamp(1.2rem, 2vw, 1.5rem);
    border-radius: calc(var(--radius) + 0.05rem);
    border: 1px solid color-mix(in srgb, var(--moss) 13%, transparent);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.95)),
        radial-gradient(circle at top right, color-mix(in srgb, var(--copper) 12%, transparent), transparent 42%);
    box-shadow: var(--shadow-sm);
}

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.7rem;
    min-height: 2.7rem;
    margin-bottom: 1rem;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: 0.95rem;
    color: #fff;
    background: linear-gradient(135deg, var(--moss), var(--moss-deep));
    box-shadow: var(--shadow-sm);
}

.faq-accordion {
    display: grid;
    gap: 0.95rem;
}

.faq-item {
    border: 1px solid color-mix(in srgb, var(--moss) 13%, transparent) !important;
    border-radius: calc(var(--radius) - 0.05rem) !important;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.faq-item .accordion-button {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--moss-deep);
    background: color-mix(in srgb, var(--paper-deep) 56%, #fff);
    box-shadow: none;
}

.faq-item .accordion-button:not(.collapsed) {
    color: var(--moss-deep);
    background: color-mix(in srgb, var(--paper-deep) 78%, #fff);
}

.faq-item .accordion-button:focus {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--copper) 35%, transparent);
}

.faq-item .accordion-body {
    color: color-mix(in srgb, var(--ink) 82%, transparent);
}

.content-cta-shell {
    padding: clamp(1.4rem, 3vw, 2rem);
}

.support-visual-section {
    position: relative;
}

.support-visual-card {
    height: 100%;
    overflow: hidden;
    border-radius: calc(var(--radius) + 0.05rem);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.support-visual-media {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--paper-deep) 62%, #fff), #fff),
        radial-gradient(circle at top right, color-mix(in srgb, var(--copper) 12%, transparent), transparent 42%);
}

.support-visual-media img {
    width: 100%;
    height: clamp(220px, 34vw, 340px);
    object-fit: cover;
    display: block;
}

.support-visual-copy {
    padding: clamp(1.15rem, 2.8vw, 1.7rem);
}

.support-visual-copy .section-eyebrow {
    display: inline-block;
}

.support-related-section .section-header {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: color-mix(in srgb, var(--ink) 94%, transparent);
    color: color-mix(in srgb, var(--paper) 88%, #fff);
    padding: 1rem 0;
    z-index: 1100;
    border-top: 2px solid var(--copper);
}

.cookie-consent a {
    color: var(--copper-hot);
}

.cookie-consent .btn-primary {
    background: var(--copper);
}

.contact-info .card {
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--moss) 15%, transparent);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}

.contact-info .card-title,
.contact-details h3 {
    font-family: var(--font-display);
    color: var(--moss-deep);
}

.newsletter-form {
    width: 100%;
}

.newsletter-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
    border-radius: var(--radius-pill);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--moss) 18%, transparent);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.newsletter-inputs .form-control {
    min-width: 0;
    border: 0;
    border-radius: 0;
    padding: 0.95rem 1.1rem;
}

.newsletter-inputs .form-control:focus {
    box-shadow: none;
}

.newsletter-inputs .btn {
    min-width: 10.5rem;
    border-radius: 0;
    white-space: normal;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.contact-details a {
    color: var(--moss);
    font-weight: 600;
}

.contact-details a:hover {
    color: #7a4a1f;
}

.contact-details i {
    color: var(--copper);
}

.category-header {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.products-grid {
    padding-bottom: 3rem;
}

.text-muted {
    color: #5a4a5f !important;
}

.navbar-toggler {
    border: 1.5px solid var(--moss);
    border-radius: var(--radius);
}

.navbar-toggler-icon {
    width: 1.35rem;
    height: 1.35rem;
    background-image: none;
    position: relative;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after,
.navbar-toggler-icon span {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--moss-deep);
    border-radius: 2px;
}

.navbar-toggler-icon::before {
    top: 0.25rem;
}

.navbar-toggler-icon::after {
    bottom: 0.25rem;
}

.navbar-toggler-icon span {
    top: 50%;
    transform: translateY(-50%);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span {
    opacity: 0;
}

@media (max-width: 767.98px) {
    .feature-tile,
    .stat-card,
    .cta-band-shell,
    .content-panel,
    .info-panel {
        padding-left: 1.15rem;
        padding-right: 1.15rem;
    }

    .split-spotlight-shell {
        padding: 1rem;
    }

    .split-spotlight-media img {
        height: 260px;
    }

    .rdmt19a8-line-top,
    .rdmt19a8-line-ctrl,
    .checkout-totals {
        flex-direction: column;
        align-items: flex-start;
    }

    .rdmt19a8-ck-line {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .rdmt19a8-ck-aside {
        grid-column: 2;
        text-align: left;
    }

    .product-purchase-panel {
        flex-direction: column;
        align-items: stretch;
    }

    .site-quantity-control {
        width: 100%;
    }

    .newsletter-inputs {
        grid-template-columns: 1fr;
        gap: 0;
        border-radius: calc(var(--radius) + 0.05rem);
    }

    .newsletter-inputs .form-control,
    .newsletter-inputs .btn {
        width: 100%;
        min-width: 0;
        border-radius: 0;
    }

    .newsletter-inputs .btn {
        min-height: 3.35rem;
    }

    .support-visual-media img {
        height: 240px;
    }
}

.nav-shell {
    gap: 1rem;
}

.nav-brand-block {
    min-width: 0;
    display: grid;
    gap: 0.35rem;
    align-content: center;
    margin-right: 0.75rem;
}

.rdmt19a8-topnav .nav-brand-block .rdmt19a8-brand {
    line-height: 1.15;
}

.nav-brand-tagline {
    max-width: 13rem;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.35;
    color: color-mix(in srgb, var(--ink) 62%, transparent);
}

body.theme-style-atelier .rdmt19a8-topnav.rdmt19a8-nav {
    background: linear-gradient(180deg, color-mix(in srgb, var(--paper) 94%, #fff), color-mix(in srgb, var(--paper-deep) 88%, #fff));
    border-bottom-width: 1px;
}

body.theme-style-atelier .nav-brand-block {
    border-left: 3px solid color-mix(in srgb, var(--copper) 72%, transparent);
    padding-left: 1rem;
}

body.theme-style-atelier .rdmt19a8-card,
body.theme-style-atelier .category-card,
body.theme-style-atelier .content-panel,
body.theme-style-atelier .info-panel {
    border-radius: calc(var(--radius) * 1.18);
    box-shadow: 0 26px 70px rgba(40, 26, 18, 0.08);
}

body.theme-style-editorial .rdmt19a8-topnav.rdmt19a8-nav {
    background: rgba(255, 255, 255, 0.74);
    border-bottom-width: 1px;
    box-shadow: 0 10px 30px rgba(15, 20, 18, 0.04);
}

body.theme-style-editorial .nav-link {
    letter-spacing: 0.09em;
}

body.theme-style-editorial .rdmt19a8-card,
body.theme-style-editorial .category-card {
    box-shadow: none;
    border-width: 1px;
}

body.theme-style-editorial .rdmt19a8-media-frame {
    aspect-ratio: 4 / 5;
    border-radius: 0.55rem;
    box-shadow: none;
}

body.theme-style-editorial .btn-primary {
    border-radius: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

body.theme-style-gallery .rdmt19a8-topnav.rdmt19a8-nav {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
}

body.theme-style-gallery .rdmt19a8-card,
body.theme-style-gallery .category-card,
body.theme-style-gallery .content-panel,
body.theme-style-gallery .info-panel {
    box-shadow: none;
    border-color: color-mix(in srgb, var(--ink) 10%, transparent);
}

body.theme-style-gallery .btn-primary {
    background: var(--moss-deep);
}

body.theme-style-gallery .rdmt19a8-media {
    padding: 1.2rem;
    background: #fff;
}

body.theme-style-gallery .rdmt19a8-media-frame {
    aspect-ratio: 1 / 1;
    border-radius: 0.25rem;
    box-shadow: none;
}

body.theme-style-technical .rdmt19a8-topnav.rdmt19a8-nav {
    background: color-mix(in srgb, var(--paper-deep) 84%, #fff);
    border-bottom: 2px solid color-mix(in srgb, var(--ink) 18%, transparent);
    box-shadow: none;
}

body.theme-style-technical .nav-link,
body.theme-style-technical .section-eyebrow,
body.theme-style-technical .btn,
body.theme-style-technical .rdmt19a8-card-note {
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

body.theme-style-technical .rdmt19a8-card,
body.theme-style-technical .category-card,
body.theme-style-technical .content-panel,
body.theme-style-technical .info-panel,
body.theme-style-technical .checkout-order-panel,
body.theme-style-technical .checkout-form-panel {
    border-radius: 0.5rem;
    box-shadow: none;
    border-width: 1.5px;
}

body.theme-style-technical .rdmt19a8-media,
body.theme-style-technical .hero-static-caption-panel,
body.theme-style-technical .hero-static-caption-framed {
    background: linear-gradient(180deg, color-mix(in srgb, var(--paper-deep) 92%, #fff), #fff);
}

body.theme-style-technical .rdmt19a8-media-frame {
    aspect-ratio: 1 / 1;
    border-radius: 0.45rem;
    background: color-mix(in srgb, var(--paper-deep) 90%, #fff);
}

body.theme-style-monolith .rdmt19a8-topnav.rdmt19a8-nav {
    background: linear-gradient(180deg, color-mix(in srgb, var(--ink) 9%, #fff), color-mix(in srgb, var(--paper) 92%, #fff));
    box-shadow: 0 12px 40px rgba(12, 12, 12, 0.08);
}

body.theme-style-monolith .rdmt19a8-card,
body.theme-style-monolith .category-card,
body.theme-style-monolith .content-panel,
body.theme-style-monolith .info-panel {
    border-radius: calc(var(--radius) * 0.92);
    box-shadow: 0 28px 80px rgba(12, 12, 12, 0.12);
}

body.theme-style-monolith .btn-primary {
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12);
}

body.theme-style-monolith .rdmt19a8-media-frame {
    aspect-ratio: 3 / 4;
    border-radius: calc(var(--radius) * 0.58);
}

body.theme-style-atelier .rdmt19a8-media-frame {
    aspect-ratio: 5 / 6;
}

body.theme-nav-split .nav-shell {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(0, 2.4fr) auto;
    align-items: center;
    gap: 1.4rem;
}

body.theme-nav-split .navbar-collapse {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    gap: 1rem;
}

body.theme-nav-split .navbar-nav {
    flex-wrap: wrap;
    justify-content: center;
    min-width: 0;
}

body.theme-nav-inline .rdmt19a8-brand {
    max-width: min(100%, 14rem);
}

body.theme-nav-split .nav-brand-block {
    align-self: stretch;
    padding-block: 0.2rem;
}

.hero-layout {
    position: relative;
}

.hero-layout-split {
    padding-top: clamp(2rem, 4vw, 3.25rem);
    padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hero-layout-split .hero-static-caption-panel,
.hero-layout-framed .hero-static-caption-framed {
    text-align: left;
    background: color-mix(in srgb, var(--paper) 90%, #fff);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    box-shadow: var(--shadow);
}

.hero-layout-split .hero-static-caption-panel {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border-radius: calc(var(--radius) * 1.2);
}

.hero-carousel-shell {
    position: relative;
}

.hero-carousel-shell-split,
.hero-carousel-shell-framed {
    overflow: hidden;
    border-radius: calc(var(--radius) * 1.15);
    box-shadow: var(--shadow);
}

body.theme-hero-framed .hero-section {
    padding-top: clamp(1.5rem, 4vw, 3rem);
}

.hero-static-caption-wrap-framed {
    position: absolute;
    inset: auto auto 1.25rem 1.25rem;
    z-index: 3;
    max-width: min(30rem, calc(100% - 2.5rem));
}

.hero-static-caption-framed {
    padding: clamp(1.1rem, 2vw, 2rem);
    border-radius: calc(var(--radius) * 1.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.collection-layout-editorial {
    display: grid;
    gap: 1.5rem;
}

.collection-layout-editorial .category-card-lead,
.collection-layout-editorial .category-card-secondary {
    overflow: hidden;
}

.collection-layout-editorial .category-content-lead {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.featured-layout-spotlight .rdmt19a8-card-lead .rdmt19a8-media-frame {
    min-height: clamp(14rem, 28vw, 20rem);
    max-height: 22rem;
}

.featured-layout-spotlight {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: stretch;
}

.featured-spotlight-lead,
.featured-spotlight-side,
.featured-spotlight-side-item {
    min-width: 0;
}

.featured-spotlight-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-content: start;
}

.featured-layout-spotlight > [class*="col-"],
.featured-layout-spotlight .row > [class*="col-"],
.featured-layout-split-rows > [class*="col-"],
.products-grid > [class*="col-"],
.support-related-section .row > [class*="col-"] {
    min-width: 0;
}

.featured-products .rdmt19a8-card:not(.rdmt19a8-card-horizontal),
.all-products .rdmt19a8-card,
.products-grid .rdmt19a8-card,
.support-related-section .rdmt19a8-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
}

.featured-products .rdmt19a8-card:not(.rdmt19a8-card-horizontal) .rdmt19a8-media,
.all-products .rdmt19a8-card .rdmt19a8-media,
.products-grid .rdmt19a8-card .rdmt19a8-media,
.support-related-section .rdmt19a8-card .rdmt19a8-media {
    display: block !important;
    width: 100% !important;
    flex: 0 0 auto !important;
}

.featured-products .rdmt19a8-card:not(.rdmt19a8-card-horizontal) .rdmt19a8-media-frame,
.all-products .rdmt19a8-card .rdmt19a8-media-frame,
.products-grid .rdmt19a8-card .rdmt19a8-media-frame,
.support-related-section .rdmt19a8-card .rdmt19a8-media-frame {
    width: 100% !important;
    min-width: 0 !important;
}

.featured-products .rdmt19a8-card:not(.rdmt19a8-card-horizontal) .rdmt19a8-pcontent,
.all-products .rdmt19a8-card .rdmt19a8-pcontent,
.products-grid .rdmt19a8-card .rdmt19a8-pcontent,
.support-related-section .rdmt19a8-card .rdmt19a8-pcontent {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0.35rem;
}

.featured-products .rdmt19a8-card:not(.rdmt19a8-card-horizontal) .btn,
.all-products .rdmt19a8-card .btn,
.products-grid .rdmt19a8-card .btn,
.support-related-section .rdmt19a8-card .btn {
    align-self: stretch;
    justify-content: center;
}

.featured-layout-spotlight .rdmt19a8-card,
.featured-layout-spotlight .rdmt19a8-card.rdmt19a8-card-horizontal,
.featured-spotlight-side .rdmt19a8-card,
.featured-spotlight-side .rdmt19a8-card.rdmt19a8-card-horizontal {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
}

.featured-layout-spotlight .rdmt19a8-card > .row,
.featured-layout-spotlight .rdmt19a8-card .row,
.featured-spotlight-side .rdmt19a8-card > .row,
.featured-spotlight-side .rdmt19a8-card .row {
    display: block !important;
    margin: 0 !important;
    height: auto !important;
    min-width: 0 !important;
}

.featured-layout-spotlight .rdmt19a8-card [class*="col-"],
.featured-spotlight-side .rdmt19a8-card [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
}

.featured-layout-split-rows .rdmt19a8-card-horizontal .rdmt19a8-media,
.featured-layout-split-rows .rdmt19a8-card-horizontal .rdmt19a8-media-frame {
    height: 100%;
}

.featured-layout-split-rows .rdmt19a8-card-horizontal .rdmt19a8-pcontent {
    padding: 1.15rem 1.15rem 1.35rem;
}

body.theme-footer-band .footer {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--paper) 86%, #fff), color-mix(in srgb, var(--paper-deep) 72%, #fff));
    border-top: 2px solid color-mix(in srgb, var(--copper) 20%, transparent);
}

body.theme-footer-stacked .footer-main {
    row-gap: 2rem;
}

body.theme-footer-stacked .footer-main > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}

body.theme-density-airy .section-header {
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

body.theme-density-airy .rdmt19a8-pcontent,
body.theme-density-airy .category-content {
    padding: clamp(1.35rem, 2vw, 1.9rem);
}

body.theme-density-compact .section-header {
    margin-bottom: clamp(1.35rem, 2vw, 2rem);
}

body.theme-density-compact .rdmt19a8-pcontent,
body.theme-density-compact .category-content {
    padding: 1rem;
}

@media (max-width: 991.98px) {
    body.theme-nav-split .nav-shell {
        display: block;
    }

    .featured-layout-spotlight {
        grid-template-columns: 1fr;
    }

    .featured-spotlight-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-static-caption-wrap-framed {
        position: static;
        max-width: none;
        margin-bottom: 1rem;
    }
}

.about-layout-story-grid .about-facts-card,
.about-layout-journal .about-journal-meta,
.content-layout-rail .content-rail-aside,
.product-layout-editorial_split .product-purchase-shell,
.product-layout-spec_sheet .product-purchase-shell,
.contact-layout-editorial .contact-card,
.contact-layout-details_first .content-panel,
.contact-layout-details_first .info-panel {
    box-shadow: var(--shadow);
}

.about-layout-story-grid .about-visual-stack,
.about-layout-journal .about-journal-copy,
.content-layout-rail .content-page-stack {
    display: grid;
    gap: 1.5rem;
}

.about-layout-journal .about-journal-copy {
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

.about-layout-journal .about-journal-meta {
    position: sticky;
    top: calc(86px + 1rem);
}

.contact-hero-media-shell,
.product-image-editorial,
.product-image-spec {
    overflow: hidden;
    border-radius: calc(var(--radius) * 1.15);
    box-shadow: var(--shadow);
}

.product-image-editorial,
.product-image-spec {
    min-height: clamp(18rem, 40vw, 34rem);
}

.contact-layout-editorial .contact-card-form,
.contact-layout-editorial .contact-card-details {
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
}

.contact-layout-details_first .contact-form-section .card,
.contact-layout-details_first .contact-details-band .content-panel,
.contact-layout-details_first .contact-details-band .info-panel {
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
}

.content-layout-rail .content-rail-aside {
    position: sticky;
    top: calc(86px + 1rem);
}

.content-rail-toc {
    padding-left: 1.25rem;
    margin: 0;
}

.content-rail-toc li + li {
    margin-top: 0.6rem;
}

.content-layout-alternating .content-page-section-alt .content-panel,
.content-layout-alternating .content-page-section-alt .content-card,
.content-layout-alternating .content-page-section-alt .step-card,
.content-layout-alternating .content-page-section-alt .faq-item,
.content-layout-alternating .content-page-section-alt .content-cta-shell {
    background: color-mix(in srgb, var(--paper-deep) 58%, #fff);
}

.product-layout-editorial_split .product-feature-ribbon .content-card,
.product-layout-spec_sheet .product-spec-grid .content-card {
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
}

.product-layout-editorial_split .product-purchase-shell,
.product-layout-spec_sheet .product-purchase-shell {
    padding: clamp(1.35rem, 2vw, 2rem);
}

.product-layout-spec_sheet .product-spec-grid {
    margin-bottom: 1rem;
}

body.theme-density-compact .about-layout .content-panel,
body.theme-density-compact .content-layout .content-panel,
body.theme-density-compact .contact-layout .card,
body.theme-density-compact .product-layout .product-purchase-shell {
    padding: 1rem;
}

body.theme-density-airy .about-layout .content-panel,
body.theme-density-airy .content-layout .content-panel,
body.theme-density-airy .contact-layout .card,
body.theme-density-airy .product-layout .product-purchase-shell {
    padding: clamp(1.5rem, 2.4vw, 2.2rem);
}

@media (max-width: 991.98px) {
    .about-layout-journal .about-journal-meta,
    .content-layout-rail .content-rail-aside {
        position: static;
    }
}



/*
 * Guard rails after extra_css:
 * Safari and aggressive design-agent overrides must not degrade core storefront
 * readability into default blue links / flat unstyled commerce cards.
 */
.section-header h1,
.section-header h2,
.section-header h3,
.rdmt19a8-pcontent h3,
.category-content h2,
.category-content h3 {
    color: var(--moss-deep) !important;
}

.section-intro,
.rdmt19a8-pcontent p,
.rdmt19a8-card-note,
.category-content p {
    color: var(--ink) !important;
    opacity: 0.88;
}

.all-products,
.featured-products,
.all-products.bg-light,
.featured-products.bg-light {
    background-color: var(--paper-deep) !important;
}

.rdmt19a8-card,
.category-card {
    background: #fff !important;
}

.rdmt19a8-media,
.category-card .img-fluid {
    text-decoration: none !important;
}

.rdmt19a8-pcontent h3 a,
.rdmt19a8-pcontent h3 a:visited {
    color: var(--moss-deep) !important;
    text-decoration: none !important;
}

.rdmt19a8-pcontent h3 a:hover,
.rdmt19a8-pcontent h3 a:focus-visible {
    color: #7a4a1f !important;
    text-decoration: underline !important;
}

.rdmt19a8-pcontent .price {
    color: #7a4a1f !important;
}

.featured-products .rdmt19a8-card .btn,
.all-products .rdmt19a8-card .btn,
.products-grid .rdmt19a8-card .btn,
.support-related-section .rdmt19a8-card .btn {
    background: linear-gradient(135deg, var(--moss), var(--moss-deep)) !important;
    background-color: var(--moss) !important;
    background-image: linear-gradient(135deg, var(--moss), var(--moss-deep)) !important;
    border: none !important;
    color: #fff !important;
    text-decoration: none !important;
    -webkit-text-fill-color: #fff !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 2.95rem !important;
    padding: 0.75rem 1rem !important;
    border-radius: var(--radius-pill) !important;
    box-shadow: var(--shadow-sm) !important;
    white-space: normal !important;
    text-align: center !important;
}

.featured-products .rdmt19a8-card .btn:hover,
.featured-products .rdmt19a8-card .btn:focus-visible,
.all-products .rdmt19a8-card .btn:hover,
.all-products .rdmt19a8-card .btn:focus-visible,
.products-grid .rdmt19a8-card .btn:hover,
.products-grid .rdmt19a8-card .btn:focus-visible,
.support-related-section .rdmt19a8-card .btn:hover,
.support-related-section .rdmt19a8-card .btn:focus-visible {
    background: var(--copper) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
}

/*
 * Accessibility: footer uses the same light paper gradient as the theme.
 * Never allow white/near-white copy here (design_agent extra_css has caused that).
 */
.footer {
    color: var(--ink) !important;
}
.footer h5 {
    color: var(--moss-deep) !important;
}
.footer a {
    color: var(--moss) !important;
}
.footer a:hover,
.footer a:focus-visible {
    color: #7a4a1f !important;
}
.footer .company-info i,
.footer .fas,
.footer .far {
    color: var(--copper) !important;
}
.footer .form-control {
    color: var(--ink);
    background-color: #fff;
    border-color: color-mix(in srgb, var(--moss) 22%, transparent);
}
.footer hr {
    border-color: color-mix(in srgb, var(--ink) 16%, transparent) !important;
    opacity: 1;
}

.rdmt19a8-topnav.rdmt19a8-nav,
.rdmt19a8-breadcrumb,
.page-hero,
.featured-products.bg-light,
.all-products.bg-light,
.category-card,
.rdmt19a8-card,
.content-panel,
.info-panel,
.checkout-order-panel,
.checkout-form-panel,
.support-visual-card,
.support-related-card,
.product-image,
.product-purchase-shell,
.footer {
    background-color: var(--paper-deep);
}

.category-card,
.rdmt19a8-card,
.content-panel,
.info-panel,
.checkout-order-panel,
.checkout-form-panel,
.support-visual-card,
.support-related-card,
.product-image,
.product-purchase-shell {
    background-color: #fff;
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    .btn-primary,
    .featured-products .rdmt19a8-card .btn,
    .all-products .rdmt19a8-card .btn,
    .products-grid .rdmt19a8-card .btn,
    .support-related-section .rdmt19a8-card .btn {
        background: #7a3d8a !important;
        color: #fff !important;
        text-shadow: 0 1px 2px rgba(0,0,0,0.4) !important;
    }

    .rdmt19a8-card,
    .category-card,
    .content-panel,
    .info-panel,
    .support-visual-card {
        border-color: var(--paper-deep) !important;
    }

    .rdmt19a8-media,
    .rdmt19a8-breadcrumb,
    .featured-products.bg-light,
    .all-products.bg-light {
        background: var(--paper-deep) !important;
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .rdmt19a8-topnav.rdmt19a8-nav,
    .hero-static-caption,
    .hero-static-caption-framed,
    .hero-layout-split .hero-static-caption-panel,
    .hero-section .carousel-caption {
        box-shadow: var(--shadow-sm) !important;
    }
}

@media (max-width: 575.98px) {
    .featured-spotlight-side {
        grid-template-columns: 1fr;
    }
}

/* --- RDM pass-1 shell: layout, merchandising, conversion --- */
.site-skin-rdm {
    --rdm-panel: #1a1420;
    --rdm-amber: #c9923a;
}

.hero-rdm .hero-static-caption {
    border-color: rgba(255, 255, 255, 0.14);
}

.hero-rdm-chips {
    pointer-events: none;
}

.hero-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.7rem;
    border-radius: var(--radius-pill);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #f5f1ea;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.collection-rdm .category-card-rdm {
    position: relative;
    border-radius: calc(var(--radius) + 0.12rem);
    overflow: hidden;
}

.collection-rdm .category-card-rdm .category-content {
    position: relative;
}

.collection-rdm .category-card-rdm::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--moss), var(--copper));
    opacity: 0.95;
    z-index: 2;
    pointer-events: none;
}

.split-spotlight-shell-alt {
    background:
        linear-gradient(125deg, color-mix(in srgb, var(--paper) 78%, #fff), color-mix(in srgb, var(--paper-deep) 55%, #1a1420)),
        radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--moss) 14%, transparent), transparent 52%);
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
}

.split-spotlight-reverse .split-spotlight-copy .btn-outline-secondary {
    border-width: 2px;
}

.featured-layout-quad {
    align-items: stretch;
}

.featured-spotlight-quad {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    align-content: stretch;
}

.featured-spotlight-quad .rdmt19a8-card-micro {
    border-style: dashed;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--paper-deep) 35%, #fff));
    min-height: 100%;
}

.featured-spotlight-quad .rdmt19a8-card-micro .rdmt19a8-pcontent-cta {
    padding: 1.25rem 1.35rem 1.5rem;
}

.featured-spotlight-quad .rdmt19a8-card-micro .rdmt19a8-pcontent-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.trust-strip-rdm {
    background: #1a101f;
    color: #f7f3ed;
    border-block: 1px solid color-mix(in srgb, var(--copper) 35%, transparent);
}

.trust-strip-inner {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .trust-strip-inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.trust-strip-item {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
}

.trust-strip-item i {
    font-size: 1.35rem;
    color: var(--copper);
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.trust-strip-item strong {
    display: block;
    font-family: var(--font-display);
    color: #fff;
    font-size: 1.05rem;
    margin-bottom: 0.2rem;
    text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}

.trust-strip-item span {
    display: block;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #f5f5f5;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.checkout-feedback-page .checkout-feedback-card {
    max-width: 36rem;
    margin: 0 auto;
}

.contact-hero-rdm {
    position: relative;
    margin-top: 0;
}

.contact-hero-rdm .contact-hero-frame {
    position: relative;
    border-radius: 0 0 var(--radius) var(--radius);
    overflow: hidden;
    min-height: clamp(220px, 38vw, 340px);
    background: var(--moss-deep);
}

.contact-hero-rdm .contact-hero-frame img {
    width: 100%;
    height: clamp(220px, 38vw, 340px);
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0.92;
}

.contact-hero-rdm .contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(26, 20, 32, 0.88), rgba(26, 20, 32, 0.52));
    pointer-events: none;
}

.contact-hero-rdm .contact-hero-copy {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.25rem, 4vw, 2.75rem) 0;
    color: #f8f5ef;
    z-index: 2;
}

.contact-hero-rdm .contact-hero-copy h1 {
    color: #fff !important;
    max-width: 18ch;
}

.contact-hero-rdm .contact-hero-copy .lead {
    color: rgba(248, 245, 239, 0.9) !important;
    max-width: 40ch;
}

.contact-hero-rdm .contact-hero-copy .section-eyebrow {
    color: #f5d090 !important;
}

.category-hero-rdm {
    position: relative;
    padding: 0;
    margin-bottom: 0;
    border-radius: 0 0 var(--radius) var(--radius);
    overflow: hidden;
    background: var(--moss-deep);
}

.category-hero-rdm .category-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.35;
}

.category-hero-rdm .category-hero-inner {
    position: relative;
    z-index: 1;
    padding: clamp(2.5rem, 6vw, 4rem) 0;
    color: #f5f1ea;
}

.category-hero-rdm .category-hero-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(26, 20, 32, 0.92), rgba(26, 20, 32, 0.55));
    z-index: -1;
}

.category-hero-rdm h1,
.category-hero-rdm .lead {
    color: #f5f1ea !important;
}

.category-hero-rdm .section-eyebrow {
    color: #f5d090 !important;
}

.checkout-trust-inline {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    font-size: 0.9rem;
}

.checkout-trust-inline div {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
}

.checkout-trust-inline i {
    color: var(--copper);
    margin-top: 0.15rem;
}

.thankyou-hero-card {
    max-width: 40rem;
    margin: 0 auto 2rem;
}

.thankyou-next-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .thankyou-next-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.shop-deck-rdm .shop-deck-item {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 0.85rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 10%, transparent);
}

.shop-deck-rdm .shop-deck-item:last-child {
    border-bottom: none;
}

.shop-deck-rdm.narrow-deck {
    max-width: 52rem;
}

.shop-deck-rdm i {
    color: var(--copper);
    margin-top: 0.2rem;
}

@media (max-width: 991.98px) {
    .featured-spotlight-quad {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .featured-spotlight-quad {
        grid-template-columns: 1fr;
    }

    .nav-brand-tagline {
        max-width: 11rem;
        font-size: 0.72rem;
    }
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    .split-spotlight-shell-alt {
        background: var(--paper-deep);
    }

    .trust-strip-rdm {
        background: #1a101f;
    }

    .category-hero-rdm .category-hero-inner::before {
        background: rgba(26, 20, 32, 0.9);
    }

    .stat-card-pass4 {
        background: rgba(12, 8, 16, 0.92);
    }
}

.content-panel-flush {
    padding: clamp(1rem, 2vw, 1.35rem);
}

.trust-band-cell {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    height: 100%;
    padding: 0.35rem 0;
}

.trust-band-cell i {
    color: var(--copper);
    font-size: 1.25rem;
    margin-top: 0.15rem;
}

.trust-band-cell strong {
    display: block;
    font-family: var(--font-display);
    color: var(--moss-deep);
    margin-bottom: 0.25rem;
}

/* --- Pass 2: bespoke rhythm, commerce polish, Safari-safe focus --- */
.site-pass2-rdm {
    --pass2-space-xs: 0.35rem;
    --pass2-space-sm: 0.75rem;
    --pass2-space-md: 1.25rem;
    --pass2-space-lg: clamp(1.75rem, 3vw, 2.75rem);
    --pass2-space-xl: clamp(2.5rem, 5vw, 4rem);
    --pass2-line-tight: 1.35;
    --focus-ring: 0 0 0 3px color-mix(in srgb, var(--copper) 55%, transparent);
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    .site-pass2-rdm {
        --focus-ring: 0 0 0 3px rgba(182, 124, 54, 0.45);
    }
}

body.site-pass2-rdm {
    line-height: 1.62;
    padding-top: 88px;
}

.site-pass2-rdm h1 {
    letter-spacing: -0.025em;
    line-height: var(--pass2-line-tight);
}

.site-pass2-rdm .section-header h2,
.site-pass2-rdm .section-header h1 {
    margin-bottom: var(--pass2-space-sm);
}

.site-pass2-rdm .home-module {
    margin-block: var(--pass2-space-xs);
}

.site-pass2-rdm .feature-grid-section,
.site-pass2-rdm .categories-section,
.site-pass2-rdm .split-spotlight-section,
.site-pass2-rdm .featured-products,
.site-pass2-rdm .stats-band-section,
.site-pass2-rdm .cta-band-section {
    padding-top: var(--pass2-space-xl) !important;
    padding-bottom: var(--pass2-space-xl) !important;
}

.site-pass2-rdm .rdmt19a8-topnav.rdmt19a8-nav {
    padding: 0.5rem 0;
    border-bottom-width: 1px;
    box-shadow: 0 12px 40px rgba(45, 33, 50, 0.07);
}

.site-pass2-rdm .rdmt19a8-brand {
    font-size: clamp(1.08rem, 0.98rem + 0.45vw, 1.38rem);
}

.site-pass2-rdm .nav-brand-tagline {
    font-weight: 600;
    letter-spacing: 0.12em;
    color: color-mix(in srgb, var(--ink) 58%, transparent);
}

.site-pass2-rdm .nav-link {
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: none;
}

.site-pass2-rdm .nav-link:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.site-pass2-rdm .rdmt19a8-btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring), var(--shadow-sm);
}

.site-pass2-rdm .btn:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.site-pass2-rdm .contact-hero-link {
    color: #fff4e8;
    -webkit-text-fill-color: #fff4e8;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
}

.site-pass2-rdm .contact-hero-link:hover,
.site-pass2-rdm .contact-hero-link:focus-visible {
    color: var(--copper-hot);
    -webkit-text-fill-color: var(--copper-hot);
}

.site-pass2-rdm .contact-hero-lead {
    color: rgba(248, 245, 239, 0.94);
}

.site-pass2-rdm .option-grid,
.site-pass2-rdm .size-grid {
    gap: 0.75rem;
}

.site-pass2-rdm .option-chip,
.site-pass2-rdm .size-chip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-width: min(100%, 8.5rem);
    max-width: 100%;
    padding: 0.75rem 1rem 0.7rem;
    text-align: center;
    line-height: 1.3;
    border-width: 1.5px;
    -webkit-tap-highlight-color: transparent;
}

.site-pass2-rdm .option-chip-title {
    font-weight: 600;
    font-size: 0.86rem;
    letter-spacing: 0.01em;
}

.site-pass2-rdm .option-chip-price,
.site-pass2-rdm .size-chip .option-chip-price {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--moss-deep);
    -webkit-text-fill-color: var(--moss-deep);
    letter-spacing: -0.01em;
}

.site-pass2-rdm .option-chip:hover .option-chip-price {
    color: #7a4a1f;
    -webkit-text-fill-color: #7a4a1f;
}

.site-pass2-rdm .rdmt19a8-opt-input:focus-visible + .option-chip,
.site-pass2-rdm .product-size-input:focus-visible + .size-chip {
    outline: none;
    box-shadow: var(--focus-ring);
}

.site-pass2-rdm .rdmt19a8-opt-input:checked + .option-chip .option-chip-price,
.site-pass2-rdm .product-size-input:checked + .size-chip .option-chip-price {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.site-pass2-rdm .rdmt19a8-opt-input:checked + .option-chip .option-chip-title,
.site-pass2-rdm .product-size-input:checked + .size-chip .option-chip-title {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.site-pass2-rdm .product-purchase-shell {
    border-left: 4px solid color-mix(in srgb, var(--copper) 65%, transparent);
    padding-left: clamp(1.35rem, 2vw, 1.85rem);
}

.site-pass2-rdm .product-purchase-shell .price {
    padding-bottom: 0.25rem;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 10%, transparent);
}

.site-pass2-rdm .rdmt19a8-canvas {
    background: linear-gradient(180deg, #fffef8 0%, var(--paper) 18%, #fff 100%);
}

.site-pass2-rdm .rdmt19a8-canvas .offcanvas-header {
    background: linear-gradient(165deg, #fff, color-mix(in srgb, var(--paper-deep) 35%, #fff));
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}

.site-pass2-rdm .rdmt19a8-canvas .offcanvas-title {
    font-family: var(--font-display);
    color: var(--moss-deep);
}

.site-pass2-rdm .rdmt19a8-canvas .btn-close {
    opacity: 0.65;
}

.site-pass2-rdm .rdmt19a8-canvas .btn-close:focus-visible {
    box-shadow: var(--focus-ring);
    opacity: 1;
}

.site-pass2-rdm .rdmt19a8-sum-card {
    border-radius: calc(var(--radius) + 0.15rem);
    box-shadow: 0 20px 48px rgba(45, 33, 50, 0.1);
}

.site-pass2-rdm .rdmt19a8-qty-in {
    border: 1.5px solid color-mix(in srgb, var(--moss) 22%, transparent);
    background-color: #fff;
    font-weight: 600;
    color: var(--ink);
    -webkit-appearance: none;
    appearance: none;
}

.site-pass2-rdm .rdmt19a8-line {
    padding-bottom: 1.1rem;
    margin-bottom: 0.15rem;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 9%, transparent);
}

.site-pass2-rdm .rdmt19a8-qty {
    border-radius: var(--radius-pill);
    font-weight: 700;
    min-width: 2.25rem;
}

.site-pass2-rdm .rdmt19a8-remove {
    font-weight: 600;
    text-underline-offset: 0.15em;
}

.site-pass2-rdm .rdmt19a8-remove:focus-visible {
    border-radius: 0.25rem;
    box-shadow: var(--focus-ring);
}

.site-pass2-rdm .checkout-page .checkout-order-panel {
    border-radius: calc(var(--radius) + 0.2rem);
    box-shadow: 0 18px 45px rgba(45, 33, 50, 0.08);
}

.site-pass2-rdm .checkout-page .checkout-form-panel,
.site-pass2-rdm .checkout-page .checkout-support-panel {
    border-radius: calc(var(--radius) + 0.2rem);
    box-shadow: 0 14px 36px rgba(45, 33, 50, 0.06);
}

.site-pass2-rdm .checkout-form-panel .form-label {
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--moss-deep);
}

.site-pass2-rdm .checkout-form-panel .form-control,
.site-pass2-rdm .checkout-form-panel .form-select {
    border-radius: calc(var(--radius) - 0.15rem);
    border-width: 1.5px;
    border-color: color-mix(in srgb, var(--moss) 18%, transparent);
    padding: 0.65rem 0.85rem;
    -webkit-appearance: none;
    appearance: none;
}

.site-pass2-rdm .checkout-form-panel .form-control:focus,
.site-pass2-rdm .checkout-form-panel .form-select:focus {
    border-color: color-mix(in srgb, var(--copper) 50%, var(--moss));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--copper) 28%, transparent);
}

.site-pass2-rdm .checkout-totals {
    margin-top: 1.75rem;
    padding: 1.15rem 1rem;
    background: color-mix(in srgb, var(--paper-deep) 28%, #fff);
    border-radius: calc(var(--radius) - 0.1rem);
    border: 1px solid color-mix(in srgb, var(--moss) 10%, transparent);
}

.site-pass2-rdm .checkout-trust-inline {
    background: color-mix(in srgb, var(--paper-deep) 22%, #fff);
    padding: 1rem;
    border-radius: calc(var(--radius) - 0.15rem);
    border: 1px dashed color-mix(in srgb, var(--moss) 16%, transparent);
}

.site-pass2-rdm .footer {
    padding-top: var(--pass2-space-xl);
}

.site-pass2-rdm .footer-main .list-unstyled li {
    margin-bottom: 0.45rem;
}

.site-pass2-rdm .footer-main a {
    font-weight: 600;
    padding: 0.1rem 0;
    border-bottom: 1px solid transparent;
}

.site-pass2-rdm .footer-main a:hover,
.site-pass2-rdm .footer-main a:focus-visible {
    border-bottom-color: currentColor;
    text-decoration: none;
}

.site-pass2-rdm .content-hero-rail .section-intro {
    max-width: 62ch;
}

.site-pass2-rdm .content-hero-aside {
    border-top: 3px solid color-mix(in srgb, var(--copper) 55%, transparent);
}

.site-pass2-rdm .content-page-shell .content-panel > :first-child {
    margin-top: 0;
}

.site-pass2-rdm .about-hero-journal .section-intro,
.site-pass2-rdm .page-hero .section-intro {
    max-width: 60ch;
}

.site-pass2-rdm .contact-form-section .card {
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    border-radius: calc(var(--radius) + 0.2rem);
    box-shadow: 0 20px 50px rgba(45, 33, 50, 0.07);
    overflow: hidden;
}

.site-pass2-rdm .contact-form-section .card-body {
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

.site-pass2-rdm .support-visual-card {
    transition: transform 0.2s ease, box-shadow 0.25s ease;
}

.site-pass2-rdm .support-visual-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
}

.site-pass2-rdm .rdmt19a8-add.is-added {
    filter: brightness(1.08);
    transform: scale(1.02);
    transition: transform 0.15s ease, filter 0.15s ease;
}

.site-pass2-rdm .content-layout-rail .content-rail-aside {
    top: calc(88px + 1rem);
}

.site-pass2-rdm .about-layout-journal .about-journal-meta {
    top: calc(88px + 1rem);
}

@media (max-width: 767.98px) {
    .site-pass2-rdm .option-chip,
    .site-pass2-rdm .size-chip {
        min-width: 100%;
    }

    .site-pass2-rdm .support-visual-card:hover {
        transform: none;
    }
}

/* --- Pass 3: storefront CTAs, cart links, variant panels, overflow guards --- */
.btn-outline-secondary {
    border: 2px solid color-mix(in srgb, var(--moss) 38%, var(--paper-deep));
    color: var(--moss-deep) !important;
    -webkit-text-fill-color: var(--moss-deep);
    background-color: #fff;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
    background: color-mix(in srgb, var(--paper-deep) 35%, #fff);
    border-color: color-mix(in srgb, var(--copper) 55%, var(--moss));
    color: var(--moss-deep) !important;
    -webkit-text-fill-color: var(--moss-deep);
}

.btn-outline-secondary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--copper) 35%, transparent);
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    .btn-outline-secondary {
        border-color: #7a5f86;
    }

    .btn-outline-secondary:hover,
    .btn-outline-secondary:focus-visible {
        background: var(--paper-deep);
        border-color: var(--copper);
    }
}

.rdmt19a8-remove.btn-link {
    color: #8f4824 !important;
    -webkit-text-fill-color: #8f4824;
    text-decoration: underline !important;
    text-underline-offset: 0.2em;
    font-weight: 600;
}

.rdmt19a8-remove.btn-link:hover,
.rdmt19a8-remove.btn-link:focus-visible {
    color: var(--copper-hot) !important;
    -webkit-text-fill-color: var(--copper-hot);
}

.product-purchase-panel {
    gap: 0.75rem;
}

@media (max-width: 575.98px) {
    .product-purchase-panel > .rdmt19a8-add,
    .product-purchase-panel > .btn-lg,
    .product-purchase-panel > a.btn {
        width: 100%;
        justify-content: center;
    }

    .split-spotlight-copy .btn-lg {
        width: 100%;
        margin-top: 0.5rem !important;
    }

    .split-spotlight-copy .btn-lg + .btn-lg {
        margin-top: 0.35rem !important;
    }

    .featured-layout-spotlight .featured-spotlight-side .rdmt19a8-media-frame {
        min-height: 13.5rem;
    }
}

.rdmt19a8-topnav .navbar-collapse.show,
.rdmt19a8-topnav .navbar-collapse.collapsing {
    max-height: min(70vh, 28rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.hero-section .carousel-item img {
    max-width: 100%;
}

.checkout-order-panel .btn-outline-secondary {
    white-space: normal;
    text-align: center;
    line-height: 1.35;
}

.checkout-page #Rdmt19a8MethodHint {
    color: color-mix(in srgb, var(--ink) 68%, transparent) !important;
    opacity: 1;
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    .checkout-page #Rdmt19a8MethodHint {
        color: #4a3d4f !important;
    }
}

/* --- Pass 4: storefront shell — split hero, bento collections, runway featured, lanes, footer band --- */
body.site-pass4-storefront {
    padding-top: 92px;
}

.rdmt19a8-topnav-pass4.rdmt19a8-nav {
    padding: 0.45rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--moss) 22%, var(--paper-deep));
    box-shadow: 0 14px 46px rgba(45, 33, 50, 0.065);
}

.rdmt19a8-topnav-pass4 .nav-shell-pass4 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
}

.rdmt19a8-topnav-pass4 .nav-brand-cluster {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    flex: 1 1 auto;
}

.nav-mark-pass4 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    flex-shrink: 0;
    border-radius: 0.65rem;
    font-family: var(--font-display);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-indent: 0.06em;
    color: #fff;
    background: linear-gradient(145deg, #2a1535, #3d1f4a);
    border: 1px solid color-mix(in srgb, var(--copper) 45%, transparent);
    box-shadow: var(--shadow-sm);
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}

.rdmt19a8-topnav-pass4 .nav-brand-block-pass4 {
    border-left: 0;
    padding-left: 0;
    margin-right: 0;
    gap: 0.2rem;
}

body.theme-style-atelier.site-pass4-storefront .nav-brand-block-pass4 {
    border-left: 0;
    padding-left: 0;
}

.rdmt19a8-topnav-pass4 .nav-brand-tagline {
    max-width: 16rem;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    color: color-mix(in srgb, var(--ink) 64%, transparent);
}

@media (min-width: 992px) {
    .rdmt19a8-topnav-pass4 .navbar-collapse-pass4 {
        flex: 0 1 auto;
        justify-content: flex-end;
    }

    .rdmt19a8-topnav-pass4 .nav-row-pass4 {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }

    .rdmt19a8-topnav-pass4 .nav-link {
        font-size: 0.78rem;
        max-width: 8.5rem;
        line-height: 1.2;
    }
}

@media (max-width: 991.98px) {
    .nav-mark-pass4 {
        width: 2.4rem;
        height: 2.4rem;
        font-size: 0.68rem;
    }
}

/* Split hero */
.hero-section.hero-pass4 {
    border-radius: 0 0 calc(var(--radius) + 0.15rem) calc(var(--radius) + 0.15rem);
    background: var(--moss-deep);
}

.hero-pass4-grid {
    display: grid;
    grid-template-columns: 1fr;
    min-height: min(76vh, 720px);
    width: 100%;
}

@media (min-width: 992px) {
    .hero-pass4-grid {
        grid-template-columns: minmax(16.5rem, 0.88fr) minmax(0, 1.22fr);
        min-height: min(74vh, 700px);
    }
}

.hero-pass4-copy {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.35rem, 4vw, 2.75rem) clamp(1.25rem, 4vw, 2.5rem);
    background:
        linear-gradient(165deg, color-mix(in srgb, var(--moss-deep) 100%, #0f0a12) 0%, color-mix(in srgb, var(--ink) 88%, #1a1420) 100%);
    color: #f7f2ea;
    -webkit-font-smoothing: antialiased;
}

.hero-pass4-copy-inner {
    max-width: 36rem;
    width: 100%;
}

.hero-pass4-eyebrow {
    color: #f5d090 !important;
    opacity: 1;
}

.hero-pass4-title {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.12;
}

.hero-pass4-lead {
    color: rgba(247, 242, 234, 0.92) !important;
    font-size: clamp(0.98rem, 0.92rem + 0.35vw, 1.12rem);
    line-height: 1.55;
    max-width: 40ch;
}

.hero-pass4-actions .btn-primary {
    background: linear-gradient(135deg, #8B5A2B, #c73e5c);
    border: none;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.hero-pass4-actions .btn-primary:hover {
    filter: brightness(1.12);
    color: #fff;
}

.hero-pass4-chips .hero-chip {
    color: #f3efe8;
    background: rgba(0, 0, 0, 0.22);
    border-color: rgba(255, 255, 255, 0.14);
}

.hero-pass4-visual {
    position: relative;
    min-height: min(48vh, 420px);
    background: #141018;
}

.hero-pass4-carousel,
.hero-pass4-carousel .carousel-inner,
.hero-pass4-carousel .carousel-item {
    height: 100%;
    min-height: inherit;
}

.hero-pass4-carousel .carousel-inner {
    border-radius: 0;
    box-shadow: none;
}

.hero-pass4-slide-img {
    width: 100%;
    height: 100%;
    min-height: min(48vh, 420px);
    max-height: none;
    object-fit: cover;
    object-position: center;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    filter: saturate(1.02) contrast(1.03);
}

.hero-pass4-indicators {
    bottom: 1rem;
    justify-content: flex-end;
    margin-right: 8%;
    margin-bottom: 0;
}

.hero-pass4-control.carousel-control-prev,
.hero-pass4-control.carousel-control-next {
    padding: 0 0.5rem;
}

/* Remove legacy static overlay behaviour on pass-4 hero */
.hero-pass4 .hero-static-caption-wrap {
    display: none;
}

.hero-section.hero-pass4 .carousel {
    max-height: none;
    width: 100%;
    height: 100%;
}

@media (max-width: 991.98px) {
    .hero-pass4-grid {
        min-height: 0;
    }

    .hero-pass4-visual {
        min-height: min(42vh, 380px);
    }

    .hero-pass4-slide-img {
        min-height: min(42vh, 380px);
    }

    .hero-pass4-indicators {
        margin-right: 1rem;
        justify-content: center;
    }
}

/* Collection bento */
.section-header-pass4 {
    max-width: 46rem;
}

.categories-pass4 {
    position: relative;
}

.categories-pass4::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: -1px;
    width: min(72rem, 94vw);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--moss) 28%, transparent), transparent);
    pointer-events: none;
}

.collection-bento-pass4 {
    display: grid;
    gap: clamp(0.9rem, 2vw, 1.25rem);
}

@media (min-width: 992px) {
    .collection-bento-pass4 {
        grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
        align-items: stretch;
    }
}

.bento-cell {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
    text-decoration: none !important;
    color: inherit !important;
    border-radius: calc(var(--radius) + 0.2rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--moss) 16%, transparent);
    box-shadow: var(--shadow-sm);
    background: #fff;
    transition: transform 0.2s ease, box-shadow 0.25s ease;
    -webkit-tap-highlight-color: transparent;
}

.bento-cell:hover,
.bento-cell:focus-visible {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
}

.bento-cell:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--copper) 45%, transparent);
    outline-offset: 2px;
}

@media (min-width: 768px) {
    .bento-lead {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        align-items: stretch;
    }
}

.bento-media {
    display: block;
    min-height: 0;
    background: var(--moss-deep);
}

.bento-media img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    object-position: center;
    display: block;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.bento-lead .bento-media img {
    min-height: clamp(240px, 36vw, 360px);
}

.bento-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.25rem, 3vw, 2.1rem);
    gap: 0.45rem;
    background: linear-gradient(180deg, #fffef8 0%, #fff 75%);
}

.bento-eyebrow {
    margin-bottom: 0 !important;
}

.bento-title {
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 1.05rem + 0.65vw, 1.65rem);
    font-weight: 600;
    color: var(--moss-deep) !important;
    line-height: 1.2;
}

.bento-desc {
    font-size: 0.98rem;
    line-height: 1.6;
    color: var(--ink) !important;
    opacity: 0.9;
}

.bento-cta {
    display: inline-flex;
    align-items: center;
    margin-top: 0.6rem;
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--moss) !important;
}

.bento-cta i {
    color: var(--copper);
    transition: transform 0.2s ease;
}

.bento-cell:hover .bento-cta i,
.bento-cell:focus-visible .bento-cta i {
    transform: translateX(4px);
}

.bento-side .bento-media img {
    min-height: 200px;
}

/* Featured runway */
.featured-pass4 {
    background: var(--paper-deep) !important;
    border-radius: var(--radius);
    margin: 1rem 0;
    padding-top: clamp(2.25rem, 5vw, 3.75rem) !important;
    padding-bottom: clamp(2.25rem, 5vw, 3.75rem) !important;
}

.featured-pass4-shell {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 2.5vw, 1.85rem);
}

.rdmt19a8-card-pass4-hero {
    border-radius: calc(var(--radius) + 0.35rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
    box-shadow: 0 28px 70px rgba(45, 33, 50, 0.1);
}

.rdmt19a8-card-pass4-hero .rdmt19a8-media {
    border-bottom: none;
    padding: 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--paper-deep) 55%, #fff), #fff);
}

.rdmt19a8-card-pass4-hero-media .rdmt19a8-media {
    height: 100%;
    min-height: clamp(16rem, 42vw, 26rem);
}

.featured-pass4 .rdmt19a8-card-pass4-hero .rdmt19a8-card-pass4-frame {
    border-radius: 0;
    min-height: clamp(16rem, 42vw, 26rem);
    aspect-ratio: auto;
}

.rdmt19a8-pcontent-pass4-hero {
    padding: clamp(1.35rem, 3vw, 2.25rem);
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.featured-pass4-shelf {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1rem, 2vw, 1.35rem);
}

@media (min-width: 576px) {
    .featured-pass4-shelf {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .featured-pass4-shelf {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.rdmt19a8-card-pass4-slab {
    border-radius: calc(var(--radius) + 0.12rem);
    border: 1px solid color-mix(in srgb, var(--moss) 13%, transparent);
    box-shadow: 0 18px 40px rgba(45, 33, 50, 0.08);
}

.featured-pass4 .rdmt19a8-card-pass4-slab .rdmt19a8-media-frame {
    aspect-ratio: 1 / 1;
    border-radius: calc(var(--radius) - 0.25rem);
}

.rdmt19a8-card-pass4-mini {
    border-radius: calc(var(--radius) + 0.12rem);
    border: 2px dashed color-mix(in srgb, var(--moss) 28%, transparent);
    background:
        linear-gradient(165deg, rgba(255, 255, 255, 0.99), color-mix(in srgb, var(--paper-deep) 32%, #fff));
}

.rdmt19a8-pcontent-pass4-mini {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    padding: 1.25rem 1.35rem 1.45rem;
}

/* Feature grid — offset rail cards */
.feature-grid-pass4 .feature-tile-pass4 {
    border-radius: 0;
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
    box-shadow: none;
    padding: 1.5rem 1.5rem 1.5rem 1.35rem;
    border-left: 4px solid var(--copper);
    background: #fff;
}

.feature-grid-pass4 .feature-tile-pass4::after {
    display: none;
}

.feature-grid-pass4 .feature-tile-icon {
    border-radius: 999px;
    width: 2.85rem;
    height: 2.85rem;
    background: color-mix(in srgb, var(--paper-deep) 65%, #fff);
}

/* Lanes (replaces stacked split spotlights) */
.home-lanes-pass4 {
    background:
        radial-gradient(ellipse 90% 70% at 0% 20%, color-mix(in srgb, var(--copper) 10%, transparent), transparent),
        linear-gradient(180deg, color-mix(in srgb, var(--paper) 92%, #fff), var(--paper));
}

.lane-stack {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.25rem);
}

.lane-row-pass4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1rem, 2.5vw, 1.5rem);
    align-items: stretch;
    padding: clamp(1.1rem, 2vw, 1.5rem);
    border-radius: calc(var(--radius) + 0.2rem);
    border: 1px solid color-mix(in srgb, var(--moss) 12%, transparent);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

@media (min-width: 992px) {
    .lane-row-pass4 {
        grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
        gap: clamp(1.25rem, 2.5vw, 2rem);
        padding: clamp(1.25rem, 2vw, 1.75rem);
    }

    .lane-row-pass4-alt .lane-figure {
        order: 2;
    }

    .lane-row-pass4-alt .lane-body {
        order: 1;
    }
}

.lane-figure {
    border-radius: calc(var(--radius) + 0.05rem);
    overflow: hidden;
    background: var(--moss-deep);
    min-height: 200px;
}

.lane-figure img {
    width: 100%;
    height: 100%;
    min-height: 200px;
    object-fit: cover;
    display: block;
}

.lane-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lane-title {
    color: var(--moss-deep) !important;
    font-family: var(--font-display);
}

.lane-lead {
    color: var(--ink) !important;
    opacity: 0.9;
    max-width: 60ch;
}

.lane-points {
    display: grid;
    gap: 0.65rem;
}

.lane-points li {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    margin: 0;
    color: color-mix(in srgb, var(--ink) 82%, transparent);
}

.lane-points i {
    margin-top: 0.2rem;
    color: var(--copper);
    font-size: 0.95rem;
}

/* Stats + CTA tweaks */
.stats-band-pass4 {
    background: #1a1020;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: calc(var(--radius) + 0.25rem);
    padding: 1.5rem;
}

.stat-card-pass4 {
    background: rgba(12, 8, 16, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.cta-band-pass4 {
    text-align: left;
    padding: clamp(1.75rem, 3vw, 2.5rem);
    border: 1px solid color-mix(in srgb, var(--moss) 14%, transparent);
    background:
        linear-gradient(125deg, color-mix(in srgb, var(--paper) 90%, #fff), #fff),
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--copper) 14%, transparent), transparent 40%);
}

.cta-band-pass4 .section-intro {
    max-width: 54ch;
}

.trust-strip-pass4 {
    padding-block: 0.25rem;
}

/* Footer band (not a second top bar — foot anchor only) */
.footer-pass4 {
    position: relative;
    border-top: 3px solid color-mix(in srgb, var(--copper) 55%, transparent);
}

.footer-pass4-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    margin-bottom: 2rem;
    border-radius: calc(var(--radius) + 0.15rem);
    background: #150a1a;
    color: #fff;
    border: 1px solid color-mix(in srgb, var(--copper) 35%, transparent);
    box-shadow: var(--shadow-sm);
}

.footer-pass4-kicker {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}

.footer-pass4-snap {
    font-size: 0.98rem;
    line-height: 1.5;
    max-width: 44ch;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}

.footer-pass4-band a {
    color: #fff4e6;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.footer-pass4-band a:hover,
.footer-pass4-band a:focus-visible {
    color: var(--copper-hot);
}

.footer-pass4-band .btn-primary {
    background: linear-gradient(135deg, #a65c1e, #6b3a15) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
    box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}

.footer-pass4-band .btn-primary:hover,
.footer-pass4-band .btn-primary:focus-visible {
    background: #d48a45 !important;
    filter: brightness(1.08);
}

.footer-pass4-band-cta {
    flex-shrink: 0;
}

.footer-pass4-grid {
    align-items: flex-start;
}

.footer-pass4-links-compact li {
    margin-bottom: 0.35rem;
}

.footer-pass4-rule {
    border: 0;
    border-top: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);
    opacity: 1;
}

.newsletter-inputs-pass4 {
    border-radius: calc(var(--radius) - 0.05rem);
    grid-template-columns: 1fr;
}

@media (min-width: 400px) {
    .newsletter-inputs-pass4 {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

.newsletter-inputs-pass4 .btn {
    min-width: 0;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
}

.footer-meta-pass4 p {
    font-size: 0.92rem;
    color: color-mix(in srgb, var(--ink) 88%, transparent);
}

@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
    .footer-pass4-band {
        background: #150a1a;
    }

    .footer-pass4-band .btn-primary {
        background: #8B4513 !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
    }

    .categories-pass4::before {
        background: rgba(109, 47, 124, 0.22);
    }

    .hero-pass4-copy {
        background: #2d2132;
    }

    .bento-panel {
        background: #fff;
    }
}

@media (max-width: 767.98px) {
    body.site-pass4-storefront {
        padding-top: 90px;
    }

    .footer-pass4-band {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-pass4-band-cta {
        width: 100%;
    }

    .lane-row-pass4-alt .lane-figure,
    .lane-row-pass4-alt .lane-body {
        order: unset;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bento-cell:hover,
    .bento-cell:focus-visible {
        transform: none;
    }
}

/* visual repair loop 1: decisive contrast + hierarchy repairs */

/* Header + hero contrast hardening (especially WebKit fallback paths) */
.site-pass4-storefront .rdmt19a8-topnav-pass4.rdmt19a8-nav {
    background: #f1e8f0 !important;
    border-bottom: 1px solid #d7c2d8 !important;
}

.site-pass4-storefront .nav-mark-pass4 {
    background: #1a1021 !important;
    border: 1px solid #d9aa6d !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: none !important;
}

.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-link {
    color: #25172f !important;
    -webkit-text-fill-color: #25172f !important;
    font-weight: 600 !important;
}

.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-link:hover,
.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-link:focus-visible {
    background: rgba(109, 47, 124, 0.14) !important;
    color: #381c46 !important;
    -webkit-text-fill-color: #381c46 !important;
}

.hero-pass4-copy {
    background: linear-gradient(165deg, #2a1733 0%, #150f1f 100%) !important;
}

.hero-pass4-title {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.45);
}

.hero-pass4-lead {
    color: rgba(248, 243, 236, 0.95) !important;
    -webkit-text-fill-color: rgba(248, 243, 236, 0.95) !important;
}

.hero-pass4-eyebrow {
    color: #ffd394 !important;
    -webkit-text-fill-color: #ffd394 !important;
}

.hero-pass4-chips .hero-chip {
    background: rgba(14, 10, 19, 0.5) !important;
    border-color: rgba(255, 222, 176, 0.5) !important;
    color: #fff4df !important;
    -webkit-text-fill-color: #fff4df !important;
}

/* Link contrast and non-default appearance */
a[href^="tel:"],
a[href^="mailto:"] {
    font-weight: 700;
    text-underline-offset: 0.16em;
}

.cookie-consent p {
    color: #f5eee3 !important;
}

.cookie-consent a {
    color: #ffe0b7 !important;
    -webkit-text-fill-color: #ffe0b7 !important;
    font-weight: 700;
    text-decoration: underline !important;
}

.rdmt19a8-sum .text-muted a[href^="tel:"],
.rdmt19a8-sum .text-muted a[href^="mailto:"] {
    color: #4b235c !important;
    -webkit-text-fill-color: #4b235c !important;
}

.footer .company-info a[href^="tel:"],
.footer .company-info a[href^="mailto:"] {
    color: #4b235c !important;
    -webkit-text-fill-color: #4b235c !important;
}

.footer-pass4-band a[href^="tel:"],
.footer-pass4-band a[href^="mailto:"] {
    color: #fff8e6 !important;
    -webkit-text-fill-color: #fff8e6 !important;
}

/* Shop card hierarchy lift */
.all-products .rdmt19a8-card {
    border-radius: 1.15rem;
    border: 1px solid rgba(56, 28, 70, 0.2);
    box-shadow: 0 16px 38px rgba(45, 33, 50, 0.09);
    overflow: hidden;
}

.all-products .rdmt19a8-card .rdmt19a8-media {
    padding: 1rem;
    background:
        radial-gradient(circle at 100% 0%, rgba(182, 124, 54, 0.14), transparent 50%),
        linear-gradient(180deg, #f8f2f8, #fff);
}

.all-products .rdmt19a8-card .rdmt19a8-pcontent {
    padding: 1.2rem 1.2rem 1.35rem;
    gap: 0.5rem;
}

.all-products .rdmt19a8-card .rdmt19a8-pcontent h3 a {
    font-size: 1.08rem;
    line-height: 1.3;
}

.all-products .rdmt19a8-card .rdmt19a8-pcontent > p:not(.price):not(.rdmt19a8-card-note) {
    color: rgba(45, 33, 50, 0.88);
    line-height: 1.58;
    min-height: 4.7em;
}

.all-products .rdmt19a8-card .price {
    font-size: 1.32rem;
    color: #5f256f;
    margin-top: 0.2rem;
    margin-bottom: 0.25rem;
}

.all-products .rdmt19a8-card .btn {
    margin-top: auto !important;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.all-products .rdmt19a8-card-note {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(109, 47, 124, 0.11);
    color: #4b235c;
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

/* About readability */
.about-layout-journal .about-journal-copy {
    gap: 1rem;
}

.about-layout-journal .about-journal-copy p {
    max-width: 63ch;
    line-height: 1.86;
    color: rgba(45, 33, 50, 0.92);
    margin-bottom: 1rem !important;
}

.about-layout-journal .about-journal-copy .lead {
    font-size: 1.14rem;
    line-height: 1.8;
}

/* FAQ question/answer distinction */
.faq-item {
    border-color: rgba(56, 28, 70, 0.3) !important;
}

.faq-item .accordion-button {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.45;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: linear-gradient(135deg, #2f1a3a, #422152);
}

.faq-item .accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, #4b245d, #381d46);
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.faq-item .accordion-button::after {
    filter: invert(1) brightness(2);
}

.faq-item .accordion-body {
    color: #281a31;
    background: #fff;
    border-top: 1px solid rgba(56, 28, 70, 0.18);
    line-height: 1.74;
    padding: 1rem 1.2rem 1.15rem;
}

/* Contact + checkout form contrast and required emphasis */
.required-help {
    margin-bottom: 0.85rem;
    font-size: 0.85rem;
    color: #5f2b6d;
    font-weight: 600;
}

.required-mark {
    color: #b4233f;
    font-weight: 700;
}

.contact-form-section .form-label,
.checkout-form-panel .form-label {
    color: #2a1633;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.contact-form-section .form-control,
.contact-form-section .form-select,
.checkout-form-panel .form-control,
.checkout-form-panel .form-select {
    background: #fff !important;
    color: #1f1228 !important;
    -webkit-text-fill-color: #1f1228 !important;
    border: 1.5px solid #8f7a9a !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.contact-form-section .form-control::placeholder,
.checkout-form-panel .form-control::placeholder {
    color: #6f6277 !important;
    opacity: 1;
}

.contact-form-section .form-control:focus,
.contact-form-section .form-select:focus,
.checkout-form-panel .form-control:focus,
.checkout-form-panel .form-select:focus {
    border-color: #6d2f7c !important;
    box-shadow: 0 0 0 3px rgba(109, 47, 124, 0.2) !important;
}

.contact-form-section textarea.form-control,
.checkout-form-panel textarea.form-control {
    min-height: 8rem;
}

/* Fallback image mode for missing assets */
img.img-fallback-active {
    background: #f3edf5;
    border: 1px solid rgba(56, 28, 70, 0.16);
    object-fit: cover !important;
}

.product-image img.img-fallback-active,
.rdmt19a8-media-frame img.img-fallback-active {
    object-fit: cover !important;
}


/* site-factory final storefront hardening:start */
.rdmt19a8-brand,
.nav-link,
.breadcrumb-item a,
.rdmt19a8-pcontent h3 a,
.rdmt19a8-pcontent h3 a:visited,
.footer a,
.footer a:visited {
    -webkit-text-fill-color: currentColor !important;
    text-decoration: none !important;
}

.nav-brand-tagline,
.navbar-brand-note {
    display: block;
    max-width: min(22rem, 100%);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .nav-brand-tagline,
    .navbar-brand-note {
        display: none !important;
    }
}

.topbar,
.site-topbar,
.header-topbar,
.utility-bar,
.header-utility,
.top-contact-bar,
.top-strip {
    display: none !important;
}

.rdmt19a8-topnav,
.rdmt19a8-topnav .container,
.rdmt19a8-topnav .navbar-collapse,
.rdmt19a8-topnav .navbar-nav {
    min-width: 0 !important;
}

.rdmt19a8-topnav .navbar-collapse {
    align-items: center !important;
}

.rdmt19a8-topnav .navbar-nav {
    flex-wrap: wrap !important;
    row-gap: 0.25rem !important;
}

.rdmt19a8-topnav.rdmt19a8-nav,
.rdmt19a8-breadcrumb,
.page-hero,
.featured-products.bg-light,
.all-products.bg-light,
.category-card,
.rdmt19a8-card,
.content-panel,
.info-panel,
.checkout-order-panel,
.checkout-form-panel,
.support-visual-card,
.support-related-card,
.product-image,
.product-purchase-shell,
.footer {
    background-color: var(--paper-deep) !important;
}

.category-card,
.rdmt19a8-card,
.content-panel,
.info-panel,
.checkout-order-panel,
.checkout-form-panel,
.support-visual-card,
.support-related-card,
.product-image,
.product-purchase-shell {
    background-color: #fff !important;
}

.rdmt19a8-btn,
.btn-primary,
.featured-products .rdmt19a8-card .btn,
.all-products .rdmt19a8-card .btn,
.products-grid .rdmt19a8-card .btn,
.support-related-section .rdmt19a8-card .btn {
    background: linear-gradient(135deg, var(--moss), var(--moss-deep)) !important;
    background-color: var(--moss) !important;
    background-image: linear-gradient(135deg, var(--moss), var(--moss-deep)) !important;
    border: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.featured-products .rdmt19a8-card .btn,
.all-products .rdmt19a8-card .btn,
.products-grid .rdmt19a8-card .btn,
.support-related-section .rdmt19a8-card .btn {
    width: 100% !important;
    min-height: 2.95rem !important;
    padding: 0.75rem 1rem !important;
    border-radius: var(--radius-pill) !important;
    box-shadow: var(--shadow-sm) !important;
    white-space: normal !important;
    text-align: center !important;
}

.rdmt19a8-btn:hover,
.rdmt19a8-btn:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible,
.featured-products .rdmt19a8-card .btn:hover,
.featured-products .rdmt19a8-card .btn:focus-visible,
.all-products .rdmt19a8-card .btn:hover,
.all-products .rdmt19a8-card .btn:focus-visible,
.products-grid .rdmt19a8-card .btn:hover,
.products-grid .rdmt19a8-card .btn:focus-visible,
.support-related-section .rdmt19a8-card .btn:hover,
.support-related-section .rdmt19a8-card .btn:focus-visible {
    background: var(--copper) !important;
    background-color: var(--copper) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
}

.featured-layout-spotlight {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
}

.featured-spotlight-side,
.featured-spotlight-quartet {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    align-content: start !important;
}

.featured-layout-spotlight > *,
.featured-spotlight-side > *,
.featured-spotlight-quartet > *,
.featured-products .row > [class*="col-"],
.all-products .row > [class*="col-"],
.products-grid > [class*="col-"],
.support-related-section .row > [class*="col-"] {
    min-width: 0 !important;
}

.featured-products .rdmt19a8-card:not(.rdmt19a8-card-horizontal),
.all-products .rdmt19a8-card,
.products-grid .rdmt19a8-card,
.support-related-section .rdmt19a8-card,
.featured-layout-spotlight .rdmt19a8-card,
.featured-spotlight-side .rdmt19a8-card,
.featured-spotlight-quartet .rdmt19a8-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.featured-products .rdmt19a8-card .row,
.all-products .rdmt19a8-card .row,
.products-grid .rdmt19a8-card .row,
.support-related-section .rdmt19a8-card .row {
    display: block !important;
    margin: 0 !important;
    height: auto !important;
    min-width: 0 !important;
}

.featured-products .rdmt19a8-card [class*="col-"],
.all-products .rdmt19a8-card [class*="col-"],
.products-grid .rdmt19a8-card [class*="col-"],
.support-related-section .rdmt19a8-card [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
}

.featured-products .rdmt19a8-card .rdmt19a8-media,
.all-products .rdmt19a8-card .rdmt19a8-media,
.products-grid .rdmt19a8-card .rdmt19a8-media,
.support-related-section .rdmt19a8-card .rdmt19a8-media {
    display: block !important;
    width: 100% !important;
    flex: 0 0 auto !important;
}

.featured-products .rdmt19a8-card .rdmt19a8-media-frame,
.all-products .rdmt19a8-card .rdmt19a8-media-frame,
.products-grid .rdmt19a8-card .rdmt19a8-media-frame,
.support-related-section .rdmt19a8-card .rdmt19a8-media-frame {
    width: 100% !important;
    min-width: 0 !important;
}

.featured-products .rdmt19a8-card .rdmt19a8-pcontent,
.all-products .rdmt19a8-card .rdmt19a8-pcontent,
.products-grid .rdmt19a8-card .rdmt19a8-pcontent,
.support-related-section .rdmt19a8-card .rdmt19a8-pcontent {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0.35rem !important;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .rdmt19a8-topnav.rdmt19a8-nav,
    .hero-static-caption,
    .hero-static-caption-framed,
    .hero-layout-split .hero-static-caption-panel,
    .hero-section .carousel-caption {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: var(--shadow-sm) !important;
    }

    .rdmt19a8-topnav.rdmt19a8-nav {
        background: rgba(255, 255, 255, 0.96) !important;
    }

    .hero-static-caption,
    .hero-section .carousel-caption {
        background: rgba(20, 24, 22, 0.92) !important;
    }

    .hero-static-caption-framed,
    .hero-layout-split .hero-static-caption-panel {
        background: rgba(255, 255, 255, 0.96) !important;
    }
}

@media (max-width: 991.98px) {
    .featured-layout-spotlight {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 575.98px) {
    .featured-spotlight-side,
    .featured-spotlight-quartet {
        grid-template-columns: 1fr !important;
    }
}

@supports (-webkit-touch-callout: none) {
    html,
    body {
        background: var(--paper) !important;
        color: var(--ink) !important;
    }

    .rdmt19a8-topnav.rdmt19a8-nav {
        background: rgba(255, 255, 255, 0.98) !important;
        border-bottom: 1px solid rgba(20, 34, 28, 0.10) !important;
        box-shadow: 0 10px 24px rgba(20, 34, 28, 0.06) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 0.55rem 0 !important;
    }

    .rdmt19a8-topnav .container,
    .rdmt19a8-topnav .nav-shell,
    .rdmt19a8-topnav .navbar-collapse {
        min-width: 0 !important;
    }

    .rdmt19a8-topnav .nav-shell {
        display: flex !important;
        align-items: center !important;
        gap: 0.9rem !important;
    }

    .rdmt19a8-topnav .rdmt19a8-brand {
        font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.3rem) !important;
        max-width: min(13rem, 42vw) !important;
        line-height: 1.08 !important;
        white-space: normal !important;
    }

    .rdmt19a8-topnav .navbar-nav {
        align-items: center !important;
        row-gap: 0.2rem !important;
    }

    .rdmt19a8-topnav .nav-link {
        font-size: 0.82rem !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
        text-transform: none !important;
        white-space: nowrap !important;
        max-width: none !important;
        padding: 0.45rem 0.55rem !important;
    }

    .rdmt19a8-btn {
        min-height: 2.55rem !important;
        padding: 0.5rem 0.85rem !important;
        box-shadow: 0 8px 20px rgba(20, 34, 28, 0.10) !important;
    }

    .hero-section,
    .hero-layout,
    .hero-layout-split,
    .hero-layout-framed {
        background: transparent !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .hero-static-caption-wrap,
    .hero-static-caption-wrap-framed {
        position: static !important;
        inset: auto !important;
        display: block !important;
        padding: 0 0 1rem !important;
        max-width: none !important;
    }

    .hero-static-caption,
    .hero-static-caption-framed,
    .hero-layout-split .hero-static-caption-panel,
    .hero-section .carousel-caption {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 1rem !important;
        padding: 1.1rem 1.1rem 1.2rem !important;
        background: #fff !important;
        background-color: #fff !important;
        background-image: none !important;
        color: var(--ink) !important;
        border: 1px solid rgba(20, 34, 28, 0.10) !important;
        border-radius: var(--radius) !important;
        box-shadow: var(--shadow-sm) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        text-align: left !important;
    }

    .hero-static-caption h1,
    .hero-static-caption h2,
    .hero-static-caption-framed h1,
    .hero-static-caption-framed h2,
    .hero-layout-split .hero-static-caption-panel h1,
    .hero-layout-split .hero-static-caption-panel h2,
    .hero-section .carousel-caption h1,
    .hero-section .carousel-caption h2 {
        color: var(--moss-deep) !important;
    }

    .hero-static-caption .section-eyebrow,
    .hero-static-caption-framed .section-eyebrow,
    .hero-layout-split .hero-static-caption-panel .section-eyebrow,
    .hero-section .carousel-caption .section-eyebrow {
        color: color-mix(in srgb, var(--moss-deep) 74%, var(--ink)) !important;
        opacity: 1 !important;
    }

    .hero-static-caption p,
    .hero-static-caption-framed p,
    .hero-layout-split .hero-static-caption-panel p,
    .hero-section .carousel-caption p {
        color: var(--ink) !important;
        opacity: 0.92 !important;
    }

    .hero-static-caption .section-intro,
    .hero-static-caption-framed .section-intro,
    .hero-layout-split .hero-static-caption-panel .section-intro,
    .hero-section .carousel-caption .section-intro {
        color: var(--ink) !important;
        opacity: 0.92 !important;
    }

    .hero-section .carousel,
    .hero-section .carousel-inner,
    .hero-carousel-shell,
    .hero-carousel-shell-split,
    .hero-carousel-shell-framed {
        max-height: none !important;
        border-radius: var(--radius) !important;
        box-shadow: var(--shadow-sm) !important;
        overflow: hidden !important;
    }

    .hero-section .carousel-item img {
        height: min(60vh, 560px) !important;
        max-height: min(60vh, 560px) !important;
        aspect-ratio: 16 / 10 !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .page-hero,
    .section-header,
    .content-panel,
    .info-panel,
    .checkout-order-panel,
    .checkout-form-panel,
    .support-visual-card,
    .support-related-card,
    .category-card,
    .rdmt19a8-card,
    .footer {
        box-shadow: var(--shadow-sm) !important;
    }

    .section-header h1,
    .section-header h2,
    .section-header h3,
    .page-hero h1,
    .page-hero h2 {
        letter-spacing: -0.02em !important;
        line-height: 1.08 !important;
    }

    .rdmt19a8-media,
    .category-card .img-fluid,
    .rdmt19a8-media-frame {
        background: #fff !important;
    }

    .rdmt19a8-media-frame {
        aspect-ratio: 4 / 5 !important;
        border-radius: calc(var(--radius) - 0.2rem) !important;
    }

    .featured-layout-spotlight .rdmt19a8-card-lead .rdmt19a8-media-frame {
        min-height: clamp(14rem, 28vw, 20rem) !important;
        max-height: 22rem !important;
    }

    .product-image,
    .product-image-editorial,
    .product-image-spec {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: clamp(20rem, 46vw, 38rem) !important;
        max-height: min(78vh, 54rem) !important;
        overflow: hidden !important;
    }

    .product-image img,
    .product-image-editorial img,
    .product-image-spec img {
        width: 100% !important;
        height: 100% !important;
        max-height: min(72vh, 50rem) !important;
        object-fit: contain !important;
        object-position: center !important;
        display: block !important;
    }

    .rdmt19a8-pcontent,
    .category-content {
        padding: 1.1rem 1.1rem 1.25rem !important;
    }

    .rdmt19a8-pcontent h3,
    .category-content h3,
    .category-content h2 {
        font-size: clamp(1.02rem, 0.98rem + 0.22vw, 1.2rem) !important;
        line-height: 1.18 !important;
    }

    .rdmt19a8-pcontent p,
    .category-content p,
    .section-intro,
    .content-panel p,
    .info-panel p {
        color: var(--ink) !important;
        opacity: 0.88 !important;
    }

    .stats-band-shell,
    .stats-band-shell h1,
    .stats-band-shell h2,
    .stats-band-shell h3,
    .stats-band-shell p,
    .stats-band-shell .section-eyebrow,
    .stats-band-shell .section-intro,
    .stat-card,
    .stat-label,
    .stat-detail {
        color: #f7f4ef !important;
        opacity: 1 !important;
    }

    .footer {
        background: linear-gradient(180deg, var(--paper-deep), var(--paper)) !important;
        border-top: 1px solid rgba(20, 34, 28, 0.10) !important;
    }
}

/* ---- color-mix() fallback: carousel controls & hero caption ---------------
   Browsers/Safari that don't support color-mix() leave the second declaration
   as invalid and keep the first (rgba) value, which is always readable.  */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background: rgba(20, 24, 22, 0.80) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
}

@supports (color: color-mix(in srgb, #000 50%, transparent)) {
    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        background: color-mix(in srgb, var(--ink) 76%, transparent) !important;
    }
}

/* ---- hero custom shells: ensure position context for absolute board -------
   Cursor often creates .hero-marquee-shell / .hero-*-shell containers that
   hold an absolutely-positioned caption board.  Without position:relative the
   board escapes to the wrong ancestor in Safari.  */
.hero-marquee-shell,
.hero-split-board-shell,
.hero-carousel-shell,
.hero-layout-shell,
[class*="hero-"][class*="-shell"] {
    position: relative !important;
}

/* ---- hero carousel height cap: GPU + static fallback ----------------------
   max-height: none overrides must not win; cover all known carousel wrappers. */
.hero-section .carousel-item img,
.hero-marquee-img,
.hero-split-board .carousel-item img,
.hero-layout-split .carousel-item img {
    max-height: 38rem !important;
    height: auto !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Cursor sometimes sets max-height: none on custom carousel containers;
   override it so the image cap above can take effect.                   */
[class*="hero-"] .carousel,
[class*="hero-"] #heroCarousel {
    max-height: 42rem !important;
    overflow: hidden !important;
}

/* ---- hero board / caption: GPU layer for smooth overlay painting -------- */
.hero-marquee-board,
.hero-split-board-caption,
.hero-static-caption-wrap,
[class*="hero-"][class*="-board"],
[class*="hero-"][class*="-caption"] {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* ---- hero caption: ensure readable text regardless of backdrop-filter -----
   If backdrop-filter / color-mix both work, the !important styles below
   still apply — they are safe for any scenario.                             */
.hero-static-caption,
.hero-static-caption-framed,
.hero-split-board-copy .hero-static-caption,
.hero-layout-split .hero-static-caption-panel,
.hero-section .carousel-caption {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.hero-static-caption h1,
.hero-static-caption h2,
.hero-static-caption-framed h1,
.hero-static-caption-framed h2,
.hero-layout-split .hero-static-caption-panel h1,
.hero-layout-split .hero-static-caption-panel h2,
.hero-section .carousel-caption h1,
.hero-section .carousel-caption h2 {
    color: #f8f6f0 !important;
    -webkit-text-fill-color: #f8f6f0 !important;
}

.hero-static-caption p,
.hero-static-caption-framed p,
.hero-layout-split .hero-static-caption-panel p,
.hero-section .carousel-caption p {
    color: #e0ddd6 !important;
    -webkit-text-fill-color: #e0ddd6 !important;
}

.hero-static-caption .section-eyebrow,
.hero-static-caption-framed .section-eyebrow,
.hero-section .carousel-caption .section-eyebrow {
    color: rgba(240, 236, 228, 0.88) !important;
    -webkit-text-fill-color: rgba(240, 236, 228, 0.88) !important;
    opacity: 1 !important;
}

/* ---- split-board hero: light panel copy contrast fix ----------------------
   When caption is on a light surface (not dark overlay), ensure text is dark  */
.hero-split-board-copy {
    color: var(--ink) !important;
}

.hero-split-board-copy h1,
.hero-split-board-copy h2,
.hero-split-board-copy .hero-split-eyebrow {
    color: var(--moss-deep) !important;
    -webkit-text-fill-color: var(--moss-deep) !important;
}

.hero-split-board-copy p,
.hero-split-board-copy .hero-split-lead {
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
    opacity: 0.88 !important;
}

/* ---- nav: force GPU compositing to prevent Safari nav flicker  ----------- */
.rdmt19a8-topnav,
.rdmt19a8-nav {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
}

/* ---- offcanvas backdrop: Safari needs -webkit- prefix -------------------- */
.offcanvas-backdrop {
    -webkit-backdrop-filter: blur(2px) !important;
    backdrop-filter: blur(2px) !important;
}

/* ---- pass4 desktop nav symmetry: keep brand and menu on one row ---------- */
@media (min-width: 992px) {
    body.site-pass4-storefront .rdmt19a8-topnav-pass4.rdmt19a8-nav {
        padding: 0.38rem 0 !important;
    }

    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-shell-pass4 {
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 0.55rem 0.9rem !important;
    }

    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-brand-cluster {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        margin-right: 0.4rem !important;
    }

    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .navbar-collapse-pass4 {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: flex-end !important;
    }

    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-row-pass4 {
        width: 100% !important;
        flex-wrap: nowrap !important;
        row-gap: 0 !important;
        justify-content: flex-end !important;
    }
}

/* ---- desktop nav symmetry sweep: prevent multi-row wrap ------------------- */
@media (min-width: 992px) {
    body nav.navbar.fixed-top .container,
    body nav.navbar.fixed-top .nav-shell,
    body nav.navbar.fixed-top .nav-shell-pass4 {
        flex-wrap: nowrap !important;
        align-items: center !important;
        column-gap: 0.75rem !important;
        width: min(1560px, 98vw) !important;
        max-width: min(1560px, 98vw) !important;
    }

    body nav.navbar.fixed-top .navbar-collapse,
    body nav.navbar.fixed-top .navbar-collapse-pass4,
    body nav.navbar.fixed-top .auto6baa-menu-panel,
    body nav.navbar.fixed-top .site-nav-collapse,
    body nav.navbar.fixed-top .nav-rail-collapse,
    body nav.navbar.fixed-top .nav-deck {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    body nav.navbar.fixed-top .navbar-nav,
    body nav.navbar.fixed-top .site-nav-track,
    body nav.navbar.fixed-top .site-nav-cluster-pass4,
    body nav.navbar.fixed-top .nav-rail-links,
    body nav.navbar.fixed-top .nav-pass4-links,
    body nav.navbar.fixed-top .nav-deck-links,
    body nav.navbar.fixed-top .nav-pill-row,
    body nav.navbar.fixed-top .nav-row-pass4,
    body nav.navbar.fixed-top .nav-links-pass4 {
        flex-wrap: nowrap !important;
        row-gap: 0 !important;
        align-items: center !important;
        justify-content: flex-end !important;
        column-gap: clamp(0.2rem, 0.55vw, 0.65rem) !important;
    }

    body nav.navbar.fixed-top .nav-link {
        font-size: 0.78rem !important;
        line-height: 1.15 !important;
        padding: 0.35rem 0.55rem !important;
        white-space: nowrap !important;
        letter-spacing: 0.01em !important;
    }

    body nav.navbar.fixed-top .nav-brand-cluster,
    body nav.navbar.fixed-top .navbar-brand-cluster {
        flex: 0 0 auto !important;
        min-width: 0 !important;
    }

    body nav.navbar.fixed-top .navbar-nav > .nav-item {
        flex: 0 0 auto !important;
        min-width: max-content !important;
    }
}
/* site-factory final storefront hardening:end */

/* Fix Bug 5 - horizontal cards */
.all-products [class*="-card"][class*="-horizontal"],
.featured-products [class*="-card"][class*="-horizontal"],
.products-grid [class*="-card"][class*="-horizontal"],
.support-related-section [class*="-card"][class*="-horizontal"],
.featured-products .featured-bento-row {
    flex-direction: row !important;
}

.all-products [class*="-card"][class*="-horizontal"] [class*="-media"]:not([class*="-media-frame"]),
.featured-products [class*="-card"][class*="-horizontal"] [class*="-media"]:not([class*="-media-frame"]),
.products-grid [class*="-card"][class*="-horizontal"] [class*="-media"]:not([class*="-media-frame"]),
.support-related-section [class*="-card"][class*="-horizontal"] [class*="-media"]:not([class*="-media-frame"]),
.featured-products .featured-bento-row [class*="-media"]:not([class*="-media-frame"]) {
    width: 35% !important;
    max-width: 35% !important;
    flex: 0 0 35% !important;
}

.all-products [class*="-card"][class*="-horizontal"] [class*="-media-frame"],
.featured-products [class*="-card"][class*="-horizontal"] [class*="-media-frame"],
.products-grid [class*="-card"][class*="-horizontal"] [class*="-media-frame"],
.support-related-section [class*="-card"][class*="-horizontal"] [class*="-media-frame"],
.featured-products .featured-bento-row [class*="-media-frame"] {
    width: 100% !important;
    max-width: 100% !important;
}

.all-products [class*="-card"][class*="-horizontal"] [class*="col-"],
.featured-products [class*="-card"][class*="-horizontal"] [class*="col-"],
.products-grid [class*="-card"][class*="-horizontal"] [class*="col-"],
.support-related-section [class*="-card"][class*="-horizontal"] [class*="col-"] {
    width: auto !important;
}

.all-products [class*="-card"][class*="-horizontal"] [class*="-pcontent"],
.featured-products [class*="-card"][class*="-horizontal"] [class*="-pcontent"],
.products-grid [class*="-card"][class*="-horizontal"] [class*="-pcontent"],
.support-related-section [class*="-card"][class*="-horizontal"] [class*="-pcontent"],
.featured-products .featured-bento-row [class*="-pcontent"] {
    flex-direction: column !important;
    width: auto !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
}

@media (min-width: 992px) {
    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .navbar-collapse-pass4 {
        justify-content: flex-start !important;
    }

    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-row-pass4 {
        justify-content: flex-start !important;
        column-gap: clamp(0.65rem, 1.1vw, 1.25rem) !important;
    }

    body.site-pass4-storefront .rdmt19a8-topnav-pass4 .nav-link {
        padding: 0.38rem 0.72rem !important;
    }
}

/* ── NAV SPACING FIX ── wider container, no wrapping, proper gaps ── */
@media (min-width: 992px) {
    .rdmt19a8-topnav .container {
        max-width: 1440px !important;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .rdmt19a8-topnav.rdmt19a8-nav {
        padding: 0.75rem 0 !important;
    }

    .rdmt19a8-topnav .navbar-nav {
        column-gap: clamp(0.1rem, 0.6vw, 0.9rem) !important;
        flex-wrap: nowrap !important;
        row-gap: 0 !important;
        align-items: center !important;
    }

    .rdmt19a8-topnav .nav-link,
    .rdmt19a8-topnav .navbar-nav .nav-link {
        font-size: 0.72rem !important;
        letter-spacing: 0.045em !important;
        white-space: nowrap !important;
        max-width: none !important;
        line-height: 1 !important;
        padding: 0.45rem 0.6rem !important;
    }

    .rdmt19a8-topnav .navbar-nav .nav-item {
        padding: 0 !important;
    }
}
