/* ==========================================================================
   Richman — theme styles
   Port of the Lovable/Tailwind design system (src/styles.css) to plain CSS.
   Palette: #000 black, #ED1C24 signature red, #C7C8CA silver.
   ========================================================================== */

:root {
	--rm-bg: oklch(1 0 0);
	--rm-fg: oklch(0.12 0 0);
	--rm-secondary: oklch(0.97 0 0);
	--rm-muted: oklch(0.965 0 0);
	--rm-muted-fg: oklch(0.45 0 0);
	--rm-border: oklch(0.92 0 0);
	--rm-brand: oklch(0.6 0.24 27);
	--rm-brand-fg: oklch(0.985 0 0);
	--rm-silver: oklch(0.82 0.003 247);
	--rm-warm: #f4efe8;
	--rm-ink: #0d0d0d;
	--rm-success: #059669;
	--rm-font: "Inter", ui-sans-serif, system-ui, sans-serif;
	--rm-display: "Outfit", ui-sans-serif, system-ui, sans-serif;
	--rm-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--rm-header-h: 4rem;
	--rm-gutter: 1.25rem;
}
@media (min-width: 768px) {
	:root { --rm-header-h: 6rem; --rm-gutter: 1.5rem; }
}
@media (min-width: 1024px) {
	:root { --rm-gutter: 2.5rem; }
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; border-color: var(--rm-border); }
* { font-style: normal !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--rm-header-h) + 1rem); }
body {
	margin: 0;
	background: var(--rm-bg);
	color: var(--rm-fg);
	font-family: var(--rm-font);
	font-size: 1rem;
	line-height: 1.6;
	font-feature-settings: "cv02", "cv03", "cv04", "cv11", "ss01", "ss03";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body.rm-lock { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
button:disabled { cursor: not-allowed; }
input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
h1, h2, h3, h4 { font-family: var(--rm-display); font-weight: 500; letter-spacing: -0.025em; line-height: 1.05; margin: 0; }
h1 { font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; letter-spacing: -0.04em; }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.75rem); font-weight: 400; letter-spacing: -0.03em; }
h3 { font-size: clamp(1.125rem, 1.6vw, 1.375rem); }
h4 { font-size: 1rem; letter-spacing: -0.01em; }
p { margin: 0; }
:focus-visible { outline: 1px solid var(--rm-fg); outline-offset: 2px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 1000; top: .5rem; left: .5rem; background: var(--rm-bg); padding: .75rem 1rem; }

.rm-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }

/* ---------- Utilities ---------- */
.eyebrow { font-family: var(--rm-font); font-size: .6875rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; line-height: 1; color: var(--rm-muted-fg); }
.eyebrow-accent, .is-brand { color: var(--rm-brand); }
.rm-eyebrow-wide { font-size: 10px; font-weight: 500; letter-spacing: .36em; text-transform: uppercase; color: var(--rm-muted-fg); }
.rm-eyebrow-wide.is-brand { color: var(--rm-brand); }
.hairline, .rm-hairline { height: 1px; background: var(--rm-border); width: 100%; }
.rm-container { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: var(--rm-gutter); }
.rm-narrow { max-width: 48rem; }
.rm-pad-md { padding-block: 3rem; }
.rm-pad-lg { padding-block: 4rem; }
.rm-pad-xl { padding-block: 6rem; }
@media (min-width: 768px) {
	.rm-pad-md { padding-block: 4rem; }
	.rm-pad-lg { padding-block: 6rem; }
	.rm-pad-xl { padding-block: 8rem; }
}
.rm-mt-lg { margin-top: 3rem; }
.rm-mt-xl { margin-top: 6rem; }
.rm-mb-xl { margin-bottom: 6rem; }
@media (min-width: 768px) { .rm-mb-xl { margin-bottom: 8rem; } }
.rm-muted { color: var(--rm-muted-fg); }
.rm-fg { color: var(--rm-fg); }
.rm-small { font-size: .75rem; }
.rm-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8125rem; }
@media (max-width: 639.98px) { .rm-hide-xs { display: none !important; } }
@media (max-width: 767.98px) { .rm-hide-sm { display: none !important; } }
.rm-empty { padding-block: 5rem; text-align: center; font-size: .875rem; color: var(--rm-muted-fg); }
.rm-hp { position: absolute; left: -9999px; }

.rm-text-link { font-size: .6875rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); text-underline-offset: 8px; transition: color .2s; }
.rm-text-link:hover { color: var(--rm-fg); text-decoration: underline; }
.rm-mini-link { display: inline-flex; align-items: center; gap: .5rem; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .28em; transition: color .3s; }
.rm-mini-link span { transition: transform .5s; }
.rm-mini-link:hover { color: var(--rm-brand); }
.rm-mini-link:hover span { transform: translateX(4px); }
.rm-arrow-link { display: inline-flex; align-items: center; gap: .5rem; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; }
.rm-arrow-link__label { position: relative; }
.rm-arrow-link__label::after { content: ""; position: absolute; left: 0; bottom: -4px; height: 1px; width: 100%; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .5s; }
.rm-arrow-link.is-brand .rm-arrow-link__label::after { background: var(--rm-brand); }
.rm-arrow-link__arrow { transition: transform .5s; }
.rm-arrow-link:hover .rm-arrow-link__label::after { transform: scaleX(1); }
.rm-arrow-link:hover .rm-arrow-link__arrow { transform: translateX(4px); }
.rm-arrow-link.is-light { color: color-mix(in oklab, var(--rm-bg) 80%, transparent); }

/* Buttons */
.rm-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3rem; padding: 0 2.5rem; font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; border: 1px solid var(--rm-fg); transition: background-color .2s, color .2s, opacity .2s, border-color .2s; text-align: center; line-height: 1.2; }
.rm-btn--solid { background: var(--rm-fg); color: var(--rm-bg); }
.rm-btn--solid:hover { opacity: .88; }
.rm-btn--outline { background: transparent; color: var(--rm-fg); }
.rm-btn--outline:hover { background: var(--rm-fg); color: var(--rm-bg); }
.rm-btn--block { display: flex; width: 100%; }
.rm-btn--ghost-light { border-color: color-mix(in oklab, var(--rm-bg) 30%, transparent); color: var(--rm-bg); }
.rm-btn--ghost-light:hover { border-color: var(--rm-bg); }
.rm-btn.is-loading { opacity: .6; pointer-events: none; }
.rm-btn-sweep { position: relative; display: inline-flex; align-items: center; justify-content: center; height: 3rem; padding: 0 2.5rem; overflow: hidden; background: #fff; color: #000; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .28em; }
.rm-btn-sweep > span { position: relative; z-index: 1; display: flex; align-items: center; gap: .75rem; transition: color .5s; }
.rm-btn-sweep i { display: inline-block; transition: transform .5s; }
.rm-btn-sweep::before { content: ""; position: absolute; inset: 0; background: var(--rm-brand); transform: translateX(-100%); transition: transform .5s ease-out; }
.rm-btn-sweep:hover > span { color: #fff; }
.rm-btn-sweep:hover i { transform: translateX(6px); }
.rm-btn-sweep:hover::before { transform: translateX(0); }

.rm-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; transition: opacity .2s; }
.rm-icon-btn:hover { opacity: .6; }
.rm-icon-btn--sm { width: 2.25rem; height: 2.25rem; color: var(--rm-muted-fg); }
.rm-icon-btn--sm:hover { color: var(--rm-fg); opacity: 1; }
.rm-icon-btn--sm .rm-icon { width: 1rem; height: 1rem; }
.rm-badge { position: absolute; top: -2px; right: -2px; display: inline-flex; align-items: center; justify-content: center; min-width: 1rem; height: 1rem; padding: 0 .25rem; border-radius: 999px; background: var(--rm-brand); color: var(--rm-brand-fg); font-size: 10px; font-weight: 500; line-height: 1; }
.rm-badge.is-empty { display: none; }
.rm-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .375rem; border-radius: 999px; background: var(--rm-fg); color: var(--rm-bg); font-size: 10px; font-weight: 500; letter-spacing: 0; }
.rm-chip { display: inline-flex; align-items: center; flex-shrink: 0; border: 1px solid var(--rm-border); padding: .375rem .75rem; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; color: var(--rm-muted-fg); transition: all .2s; }
.rm-chip:hover { border-color: var(--rm-fg); color: var(--rm-fg); }
.rm-chip.is-active { border-color: var(--rm-fg); background: var(--rm-fg); color: var(--rm-bg); }

/* ---------- Animations ---------- */
@keyframes lux-fade-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes lux-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes lux-reveal { from { opacity: 0; transform: translateY(110%); } to { opacity: 1; transform: none; } }
@keyframes lux-ken-burns { 0% { transform: scale(1); } 100% { transform: scale(1.04); } }
@keyframes lux-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes lux-grow-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes lux-pop { 0% { transform: scale(.4); opacity: 0; } 55% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
@keyframes lux-logo-sweep { 0% { transform: translateX(-120%) skewX(-18deg); opacity: 0; } 20%, 80% { opacity: 1; } 100% { transform: translateX(220%) skewX(-18deg); opacity: 0; } }
@keyframes lux-ping { 75%, 100% { transform: scale(2); opacity: 0; } }
@keyframes lux-scroll-cue { 0% { transform: translateY(-100%); } 100% { transform: translateY(260%); } }
@keyframes rm-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.lux-fade-up { opacity: 0; animation: lux-fade-up .9s var(--rm-ease) forwards; }
.lux-fade-in { opacity: 0; animation: lux-fade-in 1.2s ease forwards; }
.lux-reveal-wrap { display: inline-block; overflow: hidden; vertical-align: bottom; }
.lux-reveal { display: inline-block; opacity: 0; animation: lux-reveal 1s var(--rm-ease) forwards; }
.lux-grow { transform: scaleX(0); transform-origin: center; animation: lux-grow-x 1.1s var(--rm-ease) .7s forwards; }
.lux-pop { animation: lux-pop .45s var(--rm-ease); }
.lux-delay-1 { animation-delay: .08s; }
.lux-delay-3 { animation-delay: .3s; }
.lux-delay-4 { animation-delay: .42s; }

/* Scroll reveal (RevealOnScroll) — only hidden once JS has marked the page. */
.rm-js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .9s var(--rm-ease), transform .9s var(--rm-ease); }
.rm-js .reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	.lux-fade-up, .lux-fade-in, .lux-reveal, .lux-grow { opacity: 1; transform: none; }
	.rm-js .reveal { opacity: 1; transform: none; }
}

/* ==========================================================================
   Header
   ========================================================================== */
.rm-site { display: flex; flex-direction: column; min-height: 100vh; }
.rm-main { flex: 1; }
.rm-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--rm-border); background: color-mix(in oklab, var(--rm-bg) 90%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.admin-bar .rm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rm-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .rm-header { top: 0; } }
.rm-header__inner { max-width: 80rem; margin: 0 auto; height: var(--rm-header-h); display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: 0 .75rem; }
@media (min-width: 768px) { .rm-header__inner { gap: 1.5rem; padding: 0 1.5rem; } }
.rm-header__left, .rm-header__right { display: flex; align-items: center; }
.rm-header__left { gap: .5rem; }
.rm-header__burger { margin-left: -.5rem; }
.rm-header__burger .rm-i-close, .rm-header.is-menu-open .rm-header__burger .rm-i-open { display: none; }
.rm-header.is-menu-open .rm-header__burger .rm-i-close { display: block; }
@media (min-width: 1024px) { .rm-header__burger { display: none; } }
.rm-logo { position: relative; display: inline-block; overflow: hidden; }
.rm-logo img { height: 2.5rem; width: auto; }
@media (min-width: 768px) { .rm-logo img { height: 3.5rem; } }
.rm-logo__foil { position: absolute; inset: 0; pointer-events: none; opacity: 0; background: linear-gradient(105deg, transparent 35%, color-mix(in oklab, var(--rm-brand) 35%, transparent) 48%, oklch(1 0 0 / .85) 50%, color-mix(in oklab, var(--rm-brand) 35%, transparent) 52%, transparent 65%); mix-blend-mode: screen; }
.rm-logo.is-sweeping .rm-logo__foil { animation: lux-logo-sweep 1.6s var(--rm-ease) 1 forwards; }

.rm-header__nav { display: none; margin-right: 1rem; }
@media (min-width: 1024px) { .rm-header__nav { display: block; } }
.rm-nav { display: flex; flex-wrap: nowrap; align-items: center; gap: 1rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 1280px) { .rm-nav { gap: 1.25rem; } }
.rm-nav > li { position: relative; padding-block: 1rem; }
.rm-nav a { display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; color: var(--rm-muted-fg); transition: color .2s; }
.rm-nav a:hover, .rm-nav .current-menu-item > a, .rm-nav .is-active > a { color: var(--rm-fg); }
.rm-nav .is-sale > a, .rm-nav .menu-item-sale > a { color: var(--rm-brand); font-weight: 600; }
/* Current section: dark text + red rule under the link */
.rm-nav > li > a { position: relative; }
.rm-nav > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: var(--rm-brand); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--rm-ease); }
.rm-nav > li.menu-item-has-children > a::after { right: 1rem; }
.rm-nav > li:hover > a::after { transform: scaleX(1); opacity: .4; }
.rm-nav > li.is-active > a, .rm-nav > li.current-menu-item > a, .rm-nav > li.current-menu-ancestor > a, .rm-nav > li.current-menu-parent > a, .rm-nav > li.current-product_cat-ancestor > a { color: var(--rm-fg); }
.rm-nav > li.is-active > a::after, .rm-nav > li.current-menu-item > a::after, .rm-nav > li.current-menu-ancestor > a::after, .rm-nav > li.current-menu-parent > a::after, .rm-nav > li.current-product_cat-ancestor > a::after { transform: scaleX(1); opacity: 1; height: 2px; }
.rm-nav .sub-menu .is-active > a, .rm-nav .sub-menu .current-menu-item > a { color: var(--rm-fg); background: var(--rm-secondary); box-shadow: inset 2px 0 0 var(--rm-brand); }
.rm-mnav .is-active > a, .rm-mnav .current-menu-item > a, .rm-mnav .current-menu-ancestor > a { color: var(--rm-brand); }
.rm-nav__caret { width: .75rem; height: .75rem; transition: transform .2s; }
.rm-nav > li:hover .rm-nav__caret { transform: rotate(180deg); }
.rm-nav .sub-menu { position: absolute; left: 50%; top: 100%; z-index: 60; min-width: 12rem; transform: translateX(-50%); list-style: none; margin: 0; padding: .5rem 0; border: 1px solid var(--rm-border); background: var(--rm-bg); box-shadow: 0 20px 25px -5px rgb(0 0 0 / .1); visibility: hidden; opacity: 0; transition: opacity .15s; }
.rm-nav > li:hover > .sub-menu, .rm-nav > li:focus-within > .sub-menu { visibility: visible; opacity: 1; }
.rm-nav .sub-menu a { display: block; padding: .5rem 1rem; letter-spacing: .14em; }
.rm-nav .sub-menu a:hover { background: var(--rm-secondary); }

/* Mobile drawer menu */
.rm-mobile-menu { border-top: 1px solid var(--rm-border); background: var(--rm-bg); max-height: calc(100dvh - var(--rm-header-h)); overflow-y: auto; }
@media (min-width: 1024px) { .rm-mobile-menu { display: none !important; } }
.rm-mobile-menu nav { max-width: 80rem; margin: 0 auto; padding: 1rem; display: flex; flex-direction: column; }
.rm-mnav { list-style: none; margin: 0; padding: 0; }
.rm-mnav a, .rm-mnav__search, .rm-mnav__extra a { display: flex; align-items: center; gap: .5rem; padding: .625rem 0; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .22em; }
.rm-mnav .rm-icon, .rm-mnav__search .rm-icon, .rm-mnav__extra .rm-icon { width: .875rem; height: .875rem; }
.rm-mnav .is-sale > a { color: var(--rm-brand); font-weight: 600; }
.rm-mnav .sub-menu { list-style: none; margin: 0; padding: 0 0 0 1rem; }
.rm-mnav .sub-menu a { padding: .375rem 0; font-size: 10px; letter-spacing: .18em; color: color-mix(in oklab, var(--rm-muted-fg) 80%, transparent); }
.rm-mnav__extra { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--rm-border); }

/* Search overlay */
.rm-search { position: fixed; inset: 0; z-index: 100; display: flex; justify-content: center; align-items: flex-start; padding: 10vh 1rem 0; background: color-mix(in oklab, var(--rm-fg) 40%, transparent); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: lux-fade-in .3s ease; }
.rm-search__panel { width: 100%; max-width: 42rem; padding: 1.5rem; border: 1px solid var(--rm-border); border-radius: .125rem; background: var(--rm-bg); box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.rm-search__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.rm-search__form { display: flex; align-items: center; gap: .75rem; border-bottom: 1px solid var(--rm-border); padding-bottom: .75rem; }
.rm-search__form:focus-within { border-color: var(--rm-fg); }
.rm-search__form .rm-icon { color: var(--rm-muted-fg); }
.rm-search__form input { flex: 1; border: 0; background: transparent; font-size: 1.125rem; outline: none; padding: .25rem 0; }
.rm-search__hint { margin-top: 1rem; font-size: 10px; text-transform: uppercase; letter-spacing: .24em; color: var(--rm-muted-fg); }

/* ==========================================================================
   Footer
   ========================================================================== */
.rm-footer { margin-top: 4rem; background: var(--rm-fg); color: var(--rm-bg); }
@media (min-width: 768px) { .rm-footer { margin-top: 6rem; } }
.rm-footer__inner { max-width: 64rem; margin: 0 auto; padding: 3.5rem 1.25rem; text-align: center; }
@media (min-width: 768px) { .rm-footer__inner { padding: 6rem 2.5rem; } }
.rm-footer__wordmark { position: relative; display: inline-block; }
.rm-footer__logo { display: block; overflow: hidden; }
.rm-footer__logo img { height: 3.5rem; width: auto; margin: 0 auto; }
/* On the wrapper: the reveal animation animates the image's own filter. */
.rm-footer__logo.is-inverted { filter: brightness(0) invert(1); }
.rm-footer__logo.is-inverted img { height: 3rem; }
@media (min-width: 768px) { .rm-footer__logo.is-inverted img { height: 4rem; } }
@media (min-width: 768px) { .rm-footer__logo img { height: 5rem; } }
.rm-footer__text-mark { display: inline-block; padding-left: .32em; font-family: var(--rm-display); font-size: 1.75rem; font-weight: 300; text-transform: uppercase; line-height: 1.05; letter-spacing: .32em; background: linear-gradient(105deg, oklch(.985 0 0) 0%, oklch(.82 .14 80) 50%, oklch(.985 0 0) 100%) 50% 50% / 200% 100% no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: oklch(.985 0 0); }
@media (min-width: 640px) { .rm-footer__text-mark { font-size: 2.5rem; letter-spacing: .42em; padding-left: .42em; } }
@media (min-width: 768px) { .rm-footer__text-mark { font-size: 4.5rem; } }
@keyframes lux-wordmark-rise { 0% { opacity: 0; transform: translateY(120%); letter-spacing: .6em; filter: blur(6px); } 60% { opacity: 1; filter: blur(0); } 100% { opacity: 1; transform: none; filter: blur(0); } }
@keyframes lux-foil-sweep { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 50% 50%; } }
.rm-js .rm-footer__logo > * { opacity: 0; transform: translateY(120%); }
.rm-js .is-revealed .rm-footer__logo > * { animation: lux-wordmark-rise 1.6s var(--rm-ease) both; }
.rm-js .is-revealed .rm-footer__text-mark { animation: lux-wordmark-rise 1.6s var(--rm-ease) both, lux-foil-sweep 1.8s var(--rm-ease) .6s 1 both; }
.rm-footer__rule { display: block; height: 1px; width: 0; margin: .75rem auto 0; background: color-mix(in oklab, var(--rm-bg) 30%, transparent); transition: width 1s var(--rm-ease); }
.is-revealed .rm-footer__rule, .rm-footer__wordmark:not([data-reveal-wordmark]) .rm-footer__rule { width: 100%; }
.rm-footer__accent { display: block; width: 4rem; height: 2px; margin: 1.5rem auto 0; border-radius: 999px; background: var(--rm-brand); box-shadow: 0 0 14px var(--rm-brand); }
.rm-footer__tagline { margin: 1.5rem auto 0; max-width: 28rem; font-size: 11px; text-transform: uppercase; letter-spacing: .32em; color: color-mix(in oklab, var(--rm-bg) 55%, transparent); }
.rm-footer__about { margin: 1.25rem auto 0; max-width: 36rem; font-size: 14px; font-weight: 300; line-height: 1.85; color: color-mix(in oklab, var(--rm-bg) 75%, transparent); }
.rm-footer__contact { margin-top: 3.5rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.rm-footer__phone { display: inline-flex; align-items: center; gap: .75rem; transition: color .2s; }
.rm-footer__phone .rm-icon { color: color-mix(in oklab, var(--rm-bg) 60%, transparent); transition: color .2s; }
.rm-footer__phone span { font-family: var(--rm-display); font-size: 1.5rem; font-weight: 300; letter-spacing: .12em; }
@media (min-width: 768px) { .rm-footer__phone span { font-size: 2rem; } }
.rm-footer__phone:hover, .rm-footer__phone:hover .rm-icon { color: var(--rm-brand); }
.rm-footer__details { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; gap: .75rem; font-size: 13px; font-weight: 300; color: color-mix(in oklab, var(--rm-bg) 80%, transparent); }
@media (min-width: 768px) { .rm-footer__details { flex-direction: row; gap: 2rem; } }
.rm-footer__details li { display: flex; align-items: center; gap: .625rem; }
.rm-footer__details .rm-icon { width: .875rem; height: .875rem; color: color-mix(in oklab, var(--rm-bg) 55%, transparent); }
.rm-footer__details a:hover { color: var(--rm-bg); }
.rm-footer__track { border: 1px solid color-mix(in oklab, var(--rm-bg) 30%, transparent); padding: .75rem 1.5rem; font-size: 11px; text-transform: uppercase; letter-spacing: .22em; color: color-mix(in oklab, var(--rm-bg) 80%, transparent); transition: all .2s; }
.rm-footer__track:hover { border-color: var(--rm-bg); color: var(--rm-bg); }
.rm-footer__menu ul { list-style: none; margin: 2.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.5rem; font-size: 11px; text-transform: uppercase; letter-spacing: .2em; color: color-mix(in oklab, var(--rm-bg) 70%, transparent); }
.rm-footer__menu a:hover { color: var(--rm-bg); }
.rm-footer__social { margin-top: 2.5rem; display: flex; justify-content: center; gap: .75rem; }
.rm-footer__social a { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 999px; border: 1px solid color-mix(in oklab, var(--rm-bg) 20%, transparent); transition: all .2s; }
.rm-footer__social .rm-icon { width: 1rem; height: 1rem; }
.rm-footer__social a:hover { border-color: var(--rm-bg); background: var(--rm-bg); color: var(--rm-fg); }
.rm-footer__bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid color-mix(in oklab, var(--rm-bg) 10%, transparent); display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: .75rem; font-size: 10px; text-transform: uppercase; letter-spacing: .32em; color: color-mix(in oklab, var(--rm-bg) 45%, transparent); }
@media (min-width: 768px) { .rm-footer__bottom { flex-direction: row; } }
.rm-footer__bottom a { color: color-mix(in oklab, var(--rm-bg) 70%, transparent); }
.rm-footer__bottom a:hover { color: var(--rm-bg); }

/* ==========================================================================
   Cart drawer
   ========================================================================== */
.rm-drawer { position: fixed; inset: 0; z-index: 100; pointer-events: none; }
.rm-drawer.is-open { pointer-events: auto; }
.rm-drawer__backdrop { position: absolute; inset: 0; background: color-mix(in oklab, var(--rm-fg) 40%, transparent); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .3s; }
.rm-drawer.is-open .rm-drawer__backdrop { opacity: 1; }
.rm-drawer__panel { position: absolute; top: 0; right: 0; height: 100%; width: 100%; max-width: 28rem; border-left: 1px solid var(--rm-border); background: var(--rm-bg); box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); transform: translateX(100%); transition: transform .3s ease-out; }
.rm-drawer.is-open .rm-drawer__panel { transform: none; }
.rm-drawer__content { display: flex; flex-direction: column; height: 100%; }
.rm-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--rm-border); }
.rm-drawer__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 0 1.5rem; text-align: center; font-size: .875rem; color: var(--rm-muted-fg); }
.rm-drawer__empty-icon { width: 2.5rem; height: 2.5rem; opacity: .4; }
.rm-drawer__items { flex: 1; overflow-y: auto; list-style: none; margin: 0; padding: 1rem 1.25rem; }
.rm-drawer__item { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid color-mix(in oklab, var(--rm-border) 60%, transparent); }
.rm-drawer__item:last-child { border-bottom: 0; }
.rm-drawer__item.is-busy { opacity: .5; pointer-events: none; }
.rm-drawer__thumb { flex-shrink: 0; }
.rm-drawer__thumb img { width: 5rem; height: 6rem; object-fit: cover; background: var(--rm-secondary); }
.rm-drawer__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rm-drawer__row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.rm-drawer__row--bottom { margin-top: auto; padding-top: .75rem; align-items: center; }
.rm-drawer__name { font-size: .875rem; font-weight: 500; line-height: 1.35; }
.rm-drawer__name:hover { opacity: .7; }
.rm-drawer__remove { color: var(--rm-muted-fg); }
.rm-drawer__remove:hover { color: var(--rm-fg); }
.rm-drawer__remove .rm-icon { width: 1rem; height: 1rem; }
.rm-drawer__meta { margin-top: .25rem; font-size: .75rem; color: var(--rm-muted-fg); }
.rm-drawer__price { text-align: right; font-size: .875rem; font-weight: 500; letter-spacing: -.01em; }
.rm-vat-note { display: block; margin-top: .25rem; font-size: 10px; font-weight: 400; text-transform: uppercase; letter-spacing: .16em; color: var(--rm-muted-fg); }
.rm-pdp__price-row .rm-vat-note { display: inline; margin: 0; }
.rm-drawer__foot { padding: 1.25rem; border-top: 1px solid var(--rm-border); }
.rm-drawer__subtotal { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1rem; }
.rm-drawer__total { text-align: right; font-size: 1.125rem; font-weight: 500; }
.rm-drawer__view { display: flex; justify-content: center; margin-top: .75rem; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .18em; color: var(--rm-muted-fg); }
.rm-drawer__view:hover { color: var(--rm-fg); }

/* Quantity steppers */
.rm-qty { display: inline-flex; align-items: center; border: 1px solid var(--rm-border); }
.rm-qty > button { display: inline-flex; align-items: center; justify-content: center; padding: .625rem 1rem; font-size: .875rem; color: var(--rm-muted-fg); transition: color .2s, background .2s; }
.rm-qty > button:hover { color: var(--rm-fg); }
.rm-qty--sm > button { width: 2rem; height: 2rem; padding: 0; }
.rm-qty--sm > button:hover { background: var(--rm-secondary); }
.rm-qty--sm .rm-icon { width: .875rem; height: .875rem; }
.rm-qty > span { width: 2rem; text-align: center; font-size: .875rem; }
.rm-qty .quantity { display: inline-flex; }
.rm-qty .quantity label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rm-qty input.qty { width: 2.5rem; border: 0; background: transparent; text-align: center; font-size: .875rem; -moz-appearance: textfield; appearance: textfield; padding: 0; }
.rm-qty input.qty::-webkit-outer-spin-button, .rm-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ==========================================================================
   Modals: quick view, size guide, lightbox, toasts
   ========================================================================== */
.rm-modal { position: fixed; inset: 0; z-index: 110; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.rm-modal__backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / .8); animation: lux-fade-in .2s ease; }
.rm-modal__dialog { position: relative; z-index: 1; width: 100%; max-width: 56rem; max-height: calc(100dvh - 2rem); display: flex; flex-direction: column; overflow: hidden; background: var(--rm-bg); box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); animation: lux-fade-up .25s var(--rm-ease) both; }
.rm-modal__dialog--sm { max-width: 28rem; }
.rm-modal__pad { padding: 1.5rem; overflow-y: auto; }
.rm-modal__close { position: absolute; top: .75rem; right: .75rem; z-index: 2; display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; opacity: .7; background: color-mix(in oklab, var(--rm-bg) 80%, transparent); }
.rm-modal__close:hover { opacity: 1; }
.rm-modal__close .rm-icon { width: 1rem; height: 1rem; }

/* Quick view: height constrained to the viewport, purchase actions outside the scroll area */
.rm-qv { max-height: 90dvh; }
@media (min-width: 768px) { .rm-qv { max-height: calc(100dvh - 2rem); } }
.rm-qv__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: grid; grid-template-columns: 1fr; }
@media (min-width: 768px) { .rm-qv__body { grid-template-columns: 1fr 1fr; } }
.rm-qv__media { display: flex; flex-direction: column; min-width: 0; background: var(--rm-muted); }
.rm-qv__img { position: relative; height: 9rem; }
@media (min-width: 768px) { .rm-qv__img { flex: 1; height: auto; min-height: 480px; } }
.rm-qv__img img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 768px) { .rm-qv__img img { position: absolute; inset: 0; } }
.rm-qv__thumbs { display: flex; gap: .5rem; overflow-x: auto; padding: .5rem; flex-shrink: 0; }
.rm-qv__thumbs button { width: 2.75rem; height: 3.5rem; flex-shrink: 0; overflow: hidden; opacity: .7; }
.rm-qv__thumbs button.is-active { opacity: 1; box-shadow: 0 0 0 1px var(--rm-fg); }
.rm-qv__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.rm-qv__info { min-width: 0; display: flex; flex-direction: column; gap: .75rem; padding: 1rem; }
@media (min-width: 768px) { .rm-qv__info { gap: 1.5rem; padding: 2.5rem; } }
.rm-qv__title { font-family: var(--rm-display); font-size: 1.125rem; font-weight: 300; line-height: 1.25; letter-spacing: 0; padding-right: 2rem; }
@media (min-width: 768px) { .rm-qv__title { font-size: 1.5rem; } }
.rm-qv__price { font-size: 1rem; }
.rm-qv__desc { font-size: .875rem; line-height: 1.6; color: var(--rm-muted-fg); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 768px) { .rm-qv__desc { -webkit-line-clamp: 4; } }
.rm-qv__opt-head { display: flex; justify-content: space-between; margin-bottom: .5rem; font-size: .75rem; color: var(--rm-muted-fg); }
.rm-qv__qty { display: flex; align-items: center; gap: 1rem; }
.rm-qv__qty .rm-qty > button { width: 2.25rem; height: 2.25rem; padding: 0; }
.rm-qv__actions { flex-shrink: 0; display: flex; flex-direction: column; gap: .75rem; border-top: 1px solid var(--rm-border); background: var(--rm-bg); padding: .75rem 1.25rem max(.75rem, env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .rm-qv__actions { padding-inline: 2.5rem; } }
.rm-qv__row { display: flex; gap: .75rem; }
.rm-qv__add { flex: 1; min-width: 0; padding-inline: 1rem; }
.rm-qv__wish { display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border: 1px solid var(--rm-fg); transition: all .2s; }
.rm-qv__wish .rm-icon { width: 1rem; height: 1rem; }
.rm-qv__wish:hover { background: var(--rm-fg); color: var(--rm-bg); }
.rm-qv__details { text-align: center; font-size: 11px; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); text-underline-offset: 4px; }
.rm-qv__details:hover { color: var(--rm-fg); text-decoration: underline; }
.rm-qv__loading { padding: 4rem; text-align: center; color: var(--rm-muted-fg); font-size: .875rem; grid-column: 1 / -1; }

/* Option chips (quick view + product page) */
.rm-opts { display: flex; flex-wrap: wrap; gap: .375rem; }
.rm-opt { min-width: 2.75rem; border: 1px solid var(--rm-border); padding: .625rem .75rem; font-size: .6875rem; text-transform: uppercase; letter-spacing: .14em; color: var(--rm-muted-fg); transition: all .2s; }
.rm-opt:hover { border-color: var(--rm-fg); color: var(--rm-fg); }
.rm-opt.is-active { border-color: var(--rm-fg); color: var(--rm-fg); }
.rm-qv .rm-opt.is-active { background: var(--rm-fg); color: var(--rm-bg); }
.rm-opt.is-unavailable { opacity: .35; text-decoration: line-through; }
.rm-opt--colour { text-transform: none; letter-spacing: .04em; }

/* Lightbox */
.rm-lightbox { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; background: rgb(0 0 0 / .95); color: #fff; animation: lux-fade-in .2s ease; }
.rm-lightbox__stage { margin: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 4rem 1rem 6rem; overflow: hidden; cursor: zoom-in; touch-action: pan-y; }
.rm-lightbox__stage.is-zoomed { cursor: zoom-out; }
.rm-lightbox__stage img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .3s var(--rm-ease); }
.rm-lightbox__stage.is-zoomed img { transform: scale(2); }
.rm-lightbox__close, .rm-lightbox__nav { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid rgb(255 255 255 / .25); color: rgb(255 255 255 / .85); transition: all .2s; }
.rm-lightbox__close:hover, .rm-lightbox__nav:hover { border-color: #fff; color: #fff; }
.rm-lightbox__close { top: 1rem; right: 1rem; }
.rm-lightbox__nav { top: 50%; transform: translateY(-50%); border-radius: 999px; }
.rm-lightbox__nav.is-prev { left: 1rem; }
.rm-lightbox__nav.is-next { right: 1rem; }
.rm-lightbox__count { position: absolute; top: 1.5rem; left: 1.5rem; font-size: 10px; letter-spacing: .28em; color: rgb(255 255 255 / .6); }
.rm-lightbox__thumbs { position: absolute; bottom: 1rem; left: 0; right: 0; display: flex; justify-content: center; gap: .5rem; overflow-x: auto; padding: 0 1rem; }
.rm-lightbox__thumbs button { width: 2.75rem; height: 3.5rem; flex-shrink: 0; overflow: hidden; opacity: .5; }
.rm-lightbox__thumbs button.is-active { opacity: 1; box-shadow: 0 0 0 1px #fff; }
.rm-lightbox__thumbs img { width: 100%; height: 100%; object-fit: cover; }

/* Toasts */
.rm-toasts { position: fixed; z-index: 130; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; flex-direction: column; gap: .5rem; width: min(22rem, calc(100% - 2rem)); pointer-events: none; }
@media (min-width: 768px) { .rm-toasts { left: auto; right: 1.5rem; transform: none; } }
.single-product .rm-toasts { bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .single-product .rm-toasts { bottom: 1.5rem; } }
.rm-toast { pointer-events: auto; display: flex; gap: .75rem; align-items: flex-start; padding: .875rem 1rem; border: 1px solid var(--rm-border); background: var(--rm-bg); box-shadow: 0 10px 25px -5px rgb(0 0 0 / .15); font-size: .8125rem; animation: rm-toast-in .25s var(--rm-ease); }
.rm-toast .rm-icon { width: 1rem; height: 1rem; margin-top: .125rem; color: var(--rm-success); }
.rm-toast.is-error .rm-icon { color: var(--rm-brand); }
.rm-toast b { display: block; font-weight: 500; }
.rm-toast small { display: block; margin-top: .125rem; color: var(--rm-muted-fg); font-size: .75rem; }
.rm-toast.is-leaving { opacity: 0; transition: opacity .3s; }

/* ==========================================================================
   Homepage
   ========================================================================== */
/* Hero */
.rm-hero { position: relative; margin-top: -1px; height: calc(100vh - var(--rm-header-h)); height: calc(100svh - var(--rm-header-h)); min-height: 520px; width: 100%; overflow: hidden; background: #000; color: #fff; }
@media (min-width: 768px) { .rm-hero { min-height: 640px; } }
.rm-hero__slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 1.6s var(--rm-ease); }
.rm-hero__slide.is-active { opacity: 1; pointer-events: auto; }
.rm-hero__media { position: absolute; inset: 0; overflow: hidden; }
.rm-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1); }
.rm-hero__slide.is-active .rm-hero__media img { animation: lux-ken-burns 9s ease-out forwards; }
.rm-hero__media picture { position: absolute; inset: 0; display: block; }
@media (max-width: 767.98px) {
	.rm-hero { height: 78svh; min-height: 480px; max-height: 720px; }
	.rm-focus-left img { object-position: 20% 50%; }
	.rm-focus-right img { object-position: 80% 50%; }
	.rm-hero__slide.is-active .rm-hero__media img { animation-duration: 10s; }
}
.rm-hero__shade { position: absolute; inset: 0; pointer-events: none; opacity: var(--rm-hero-shade, .55); background:
	linear-gradient(to top, rgb(0 0 0 / .85) 0%, rgb(0 0 0 / .45) 28%, rgb(0 0 0 / 0) 58%),
	linear-gradient(to bottom, rgb(0 0 0 / .45) 0%, rgb(0 0 0 / 0) 22%); }
.rm-hero__content { position: relative; z-index: 10; max-width: 80rem; height: 100%; margin: 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 0 1.5rem 8rem; text-align: center; }
@media (min-width: 1024px) { .rm-hero__content { padding: 0 3rem 9rem; } }
.rm-hero__content > * { max-width: 42rem; }
.rm-hero__slide:not(.is-active) .lux-anim { animation: none; opacity: 0; }
.rm-hero__chip { display: inline-flex; align-items: center; gap: .625rem; padding: .375rem .75rem; border: 1px solid rgb(255 255 255 / .3); background: rgb(0 0 0 / .28); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .28em; color: #fff; }
.rm-ping { position: relative; display: inline-flex; width: 6px; height: 6px; border-radius: 999px; background: var(--rm-brand); }
.rm-ping::before { content: ""; position: absolute; inset: 0; border-radius: 999px; background: var(--rm-brand); opacity: .75; animation: lux-ping 1s cubic-bezier(0, 0, .2, 1) infinite; }
.rm-hero__title { margin-top: 1.5rem; color: #fff; font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.rm-hero__title { text-shadow: 0 2px 30px rgb(0 0 0 / .35), 0 1px 3px rgb(0 0 0 / .25); }
.rm-hero__title-em { font-weight: 300; letter-spacing: -.02em; color: rgb(255 255 255 / .85); }
.rm-hero__body { margin-top: 1.5rem; max-width: 28rem; font-size: .9375rem; line-height: 1.6; color: rgb(255 255 255 / .92); text-shadow: 0 1px 12px rgb(0 0 0 / .45); }
.rm-hero__content .rm-btn-sweep { margin-top: 2rem; }
.rm-hero__rail { text-shadow: 0 1px 6px rgb(0 0 0 / .5); position: absolute; z-index: 20; left: 1.5rem; top: 50%; display: none; align-items: center; gap: 1rem; transform-origin: 0 0; transform: rotate(-90deg) translateX(-50%); white-space: nowrap; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .4em; color: rgb(255 255 255 / .9); pointer-events: none; }
.rm-hero__rail > span { width: 2.5rem; height: 1px; background: rgb(255 255 255 / .4); }
.rm-hero__rail b { font-weight: 500; }
@media (min-width: 1024px) { .rm-hero__rail { display: flex; } }
.rm-hero__line { position: absolute; z-index: 10; left: 0; right: 0; bottom: 6rem; height: 1px; background: rgb(255 255 255 / .1); pointer-events: none; }
@media (min-width: 1024px) { .rm-hero__line { bottom: 7rem; } }
.rm-hero__index { position: absolute; z-index: 20; right: 1.5rem; top: 50%; transform: translateY(-50%); display: none; flex-direction: column; align-items: flex-end; gap: 1.25rem; }
@media (min-width: 1024px) { .rm-hero__index { display: flex; } }
.rm-hero__index button { display: flex; align-items: center; gap: .75rem; }
.rm-hero__index span { text-shadow: 0 1px 6px rgb(0 0 0 / .5); font-size: 10px; letter-spacing: .24em; font-variant-numeric: tabular-nums; color: rgb(255 255 255 / .75); transition: color .5s; }
.rm-hero__index button:hover span { color: rgb(255 255 255 / .7); }
.rm-hero__index button[aria-current="true"] span { color: #fff; }
.rm-hero__index i { position: relative; display: block; width: 2.5rem; height: 1px; overflow: hidden; background: rgb(255 255 255 / .45); }
.rm-hero__index b { position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.rm-hero__index button[aria-current="true"] b { animation: lux-progress 6s linear forwards; }
.rm-hero.is-paused .rm-hero__index button[aria-current="true"] b { animation: none; transform: none; }
.rm-hero__controls { position: absolute; z-index: 20; right: 1.5rem; bottom: 1.5rem; display: flex; align-items: center; gap: .75rem; }
@media (min-width: 1024px) { .rm-hero__controls { right: 3rem; bottom: 2.5rem; } }
.rm-hero__controls button { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 1px solid rgb(255 255 255 / .35); background: rgb(0 0 0 / .3); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); color: rgb(255 255 255 / .85); transition: all .3s; }
.rm-hero__controls button:hover { border-color: #fff; color: #fff; }
.rm-hero__controls .rm-icon { width: 1rem; height: 1rem; }
.rm-hero__pause .rm-icon { width: .875rem; height: .875rem; }
.rm-hero__pause .rm-i-play, .rm-hero.is-paused .rm-hero__pause .rm-i-pause { display: none; }
.rm-hero.is-paused .rm-hero__pause .rm-i-play { display: block; }
.rm-hero__arrow { border-radius: 999px; opacity: 0; }
.rm-hero:hover .rm-hero__arrow, .rm-hero__arrow:focus-visible { opacity: 1; }
@media (hover: none) { .rm-hero__arrow { opacity: 1; } }
.rm-hero__scroll { position: absolute; z-index: 10; left: 0; right: 0; bottom: 1.5rem; display: none; flex-direction: column; align-items: center; gap: .5rem; pointer-events: none; }
@media (min-width: 1024px) { .rm-hero__scroll { display: flex; } }
.rm-hero__scroll span { font-size: 9px; text-transform: uppercase; letter-spacing: .4em; color: rgb(255 255 255 / .85); text-shadow: 0 1px 6px rgb(0 0 0 / .5); }
.rm-hero__scroll i { position: relative; display: block; width: 1px; height: 2rem; overflow: hidden; background: rgb(255 255 255 / .15); }
.rm-hero__scroll i::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: .75rem; background: rgb(255 255 255 / .8); animation: lux-scroll-cue 1.8s ease-in-out infinite; }

/* House values */
.rm-values { border-block: 1px solid var(--rm-border); }
.rm-values__grid { max-width: 80rem; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rm-border); }
@media (min-width: 768px) { .rm-values__grid { grid-template-columns: repeat(4, 1fr); } }
.rm-values__item { background: var(--rm-bg); padding: 2.5rem 1.5rem; }
@media (min-width: 768px) { .rm-values__item { padding: 3.5rem 2rem; } }
.rm-values__n { font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-brand); }
.rm-values__t { margin-top: 1.5rem; font-size: .875rem; font-weight: 500; letter-spacing: -.01em; }
.rm-values__s { margin-top: .5rem; font-size: .75rem; line-height: 1.6; color: var(--rm-muted-fg); }

/* Sections */
.rm-section--bordered { border-bottom: 1px solid var(--rm-border); }
.rm-section--top { border-top: 1px solid var(--rm-border); }
.rm-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 3rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--rm-border); }
.rm-section-head h2 { margin-top: .75rem; }
.rm-section-head--plain { border-bottom: 0; padding-bottom: 0; margin-bottom: 2.5rem; }
.rm-section-head__links { display: flex; align-items: center; gap: 1.5rem; }
.rm-h-sm { margin-top: .75rem; font-size: 1.25rem; }
@media (min-width: 768px) { .rm-h-sm { font-size: 1.5rem; } }

/* Product grids */
.rm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 1.5rem; }
@media (max-width: 479.98px) { .rm-grid { gap: 2.5rem .875rem; } }
@media (min-width: 768px) {
	.rm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Product card */
.rm-card { position: relative; min-width: 0; }
.rm-card__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--rm-muted); }
.rm-card--chapter .rm-card__media { aspect-ratio: 3 / 4; }
.rm-card--tone-light .rm-card__media { background: rgb(255 255 255 / .05); }
.rm-card--framed .rm-card__media { border: 1px solid color-mix(in oklab, var(--rm-fg) 10%, transparent); }
.rm-card__img-link { display: block; height: 100%; }
.rm-card__img, .rm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.rm-card--chapter .rm-card__media img { transition-duration: 1s; }
.rm-card:hover .rm-card__media img { transform: scale(1.03); }
.rm-card--chapter:hover .rm-card__media img { transform: scale(1.04); }
.rm-flag { position: absolute; z-index: 10; left: .75rem; top: .75rem; padding: .25rem .5rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .18em; line-height: 1.4; }
.rm-flag--sale { background: var(--rm-brand); color: #fff; }
.rm-flag--soldout { background: color-mix(in oklab, var(--rm-fg) 85%, transparent); color: var(--rm-bg); }
.rm-flag--dark { background: var(--rm-fg); color: var(--rm-bg); padding: .375rem .75rem; letter-spacing: .2em; font-weight: 500; }
.rm-card__actions { position: absolute; z-index: 10; right: .75rem; top: .75rem; display: flex; flex-direction: column; gap: .5rem; }
.rm-card--chapter .rm-card__actions { right: .625rem; top: .625rem; }
.rm-card__icon { display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; background: color-mix(in oklab, var(--rm-bg) 85%, transparent); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: all .2s; }
.rm-card__icon:hover { background: var(--rm-bg); }
.rm-card__icon .rm-icon { width: 1rem; height: 1rem; }
.rm-card--tone-light .rm-card__icon { background: rgb(255 255 255 / .1); color: #fff; }
.rm-card--tone-light .rm-card__icon:hover { background: rgb(255 255 255 / .2); }
.rm-card__icon--hover { display: none; }
@media (min-width: 768px) {
	.rm-card__icon--hover { display: flex; opacity: 0; }
	.rm-card:hover .rm-card__icon--hover, .rm-card__icon--hover:focus-visible { opacity: 1; }
	.rm-card--chapter .rm-card__icon { opacity: 0; }
	.rm-card--chapter:hover .rm-card__icon, .rm-card--chapter .rm-card__icon:focus-visible, .rm-card--chapter .rm-card__icon.is-active { opacity: 1; }
}
.is-wishlisted .rm-icon, [data-wishlist-toggle].is-active .rm-icon { fill: var(--rm-brand); color: var(--rm-brand); }
.rm-card__pulse { position: absolute; inset: 0; z-index: 20; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s; }
.rm-card__pulse span { display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 999px; background: var(--rm-success); color: #fff; box-shadow: 0 10px 15px -3px rgb(0 0 0 / .2); }
.rm-card__pulse .rm-icon { width: 1.5rem; height: 1.5rem; }
.rm-card.is-added .rm-card__pulse { opacity: 1; }
.rm-card.is-added .rm-card__pulse span { animation: lux-pop .45s var(--rm-ease); }
.rm-card__add { position: absolute; z-index: 10; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; gap: .5rem; height: 2.75rem; background: var(--rm-fg); color: var(--rm-bg); font-size: .6875rem; text-transform: uppercase; letter-spacing: .18em; transition: transform .3s ease-out, opacity .3s ease-out, background .2s; }
.rm-card--chapter .rm-card__add { height: 2.5rem; }
.rm-card--tone-light .rm-card__add { background: #fff; color: #000; }
.rm-card__add .rm-icon { width: 1rem; height: 1rem; }
.rm-card__add-label, .rm-card__added-label { display: inline-flex; align-items: center; gap: .5rem; }
.rm-card__added-label, .rm-card.is-added .rm-card__add-label { display: none; }
.rm-card.is-added .rm-card__added-label { display: inline-flex; }
.rm-card.is-added .rm-card__add { background: var(--rm-success); color: #fff; }
.rm-card__add:disabled { background: var(--rm-muted); color: var(--rm-muted-fg); }
.rm-card__add.is-loading { opacity: .7; }
@media (min-width: 768px) {
	.rm-card__add:not(:disabled) { transform: translateY(100%); opacity: 0; }
	.rm-card:hover .rm-card__add, .rm-card__add:focus-visible, .rm-card.is-added .rm-card__add { transform: none; opacity: 1; }
}
.rm-card__body { display: block; padding-top: 1rem; }
.rm-card__cat { display: block; margin-bottom: .375rem; font-size: 9px; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-muted-fg); }
.rm-card__title { font-family: var(--rm-font); font-size: .875rem; font-weight: 400; letter-spacing: -.01em; line-height: 1.4; }
.rm-card--chapter .rm-card__title { font-size: 13px; font-weight: 300; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rm-card__price { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .375rem; font-size: .75rem; letter-spacing: .025em; color: var(--rm-muted-fg); }
.rm-card--chapter .rm-card__price { font-size: 11px; font-variant-numeric: tabular-nums; }
.rm-card__price ins, .rm-card__price.is-sale > .amount { text-decoration: none; color: var(--rm-brand); order: -1; }
.rm-card__price del { opacity: .6; }
.rm-card--tone-light .rm-card__title { color: #fff; }
.rm-card--tone-light .rm-card__cat, .rm-card--tone-light .rm-card__price { color: rgb(255 255 255 / .55); }
.price .screen-reader-text { position: absolute !important; }

/* Category carousel */
.rm-carousel__track { display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.rm-carousel__track::-webkit-scrollbar { display: none; }
.rm-cat-tile { flex: 0 0 70%; scroll-snap-align: start; display: block; }
@media (min-width: 640px) { .rm-cat-tile { flex-basis: calc(50% - .375rem); } }
@media (min-width: 1024px) { .rm-cat-tile { flex-basis: calc(33.333% - .5rem); } }
@media (min-width: 1280px) { .rm-cat-tile { flex-basis: calc(25% - .5625rem); } }
.rm-cat-tile__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--rm-muted); }
.rm-cat-tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--rm-ease); }
.rm-cat-tile:hover .rm-cat-tile__media img { transform: scale(1.06); }
.rm-cat-tile__placeholder { display: flex; height: 100%; align-items: center; justify-content: center; color: var(--rm-muted-fg); }
.rm-cat-tile__placeholder .rm-icon { width: 2.5rem; height: 2.5rem; }
.rm-cat-tile__shade { position: absolute; left: 0; right: 0; bottom: 0; height: 50%; background: linear-gradient(to top, rgb(0 0 0 / .7), rgb(0 0 0 / .2), transparent); pointer-events: none; }
.rm-cat-tile__num { position: absolute; left: .75rem; top: .75rem; font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .28em; color: rgb(255 255 255 / .8); }
.rm-cat-tile__label { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; padding: 1rem; }
.rm-cat-tile__name { font-family: var(--rm-display); font-size: 1.05rem; font-weight: 300; letter-spacing: -.01em; color: #fff; }
@media (min-width: 768px) { .rm-cat-tile__name { font-size: 1.15rem; } }
.rm-cat-tile__go { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: 1px solid rgb(255 255 255 / .4); color: #fff; transition: all .5s; }
.rm-cat-tile__go .rm-icon { width: .875rem; height: .875rem; }
.rm-cat-tile:hover .rm-cat-tile__go { border-color: #fff; background: #fff; color: var(--rm-fg); }
.rm-carousel__controls { margin-top: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.rm-carousel__dots { display: flex; align-items: center; gap: .5rem; }
.rm-carousel__dots button { height: 1px; width: 1rem; background: var(--rm-border); transition: all .5s; padding: .5rem 0; background-clip: content-box; }
.rm-carousel__dots button.is-active { width: 2rem; background-color: var(--rm-fg); }
.rm-carousel__arrows { display: flex; gap: .5rem; }
.rm-carousel__arrows button { display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--rm-border); transition: all .2s; }
.rm-carousel__arrows button:hover { border-color: var(--rm-brand); color: var(--rm-brand); }
.rm-carousel__arrows .rm-icon { width: .875rem; height: .875rem; }

/* Category chapters */
.rm-chapter { position: relative; }
.rm-chapter--light { background: var(--rm-bg); color: var(--rm-fg); }
.rm-chapter--warm { background: var(--rm-warm); color: var(--rm-fg); }
.rm-chapter--dark { background: var(--rm-ink); color: #fff; }
.rm-chapter--dark::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 420px; opacity: .1; background: radial-gradient(ellipse 60% 60% at 50% 0%, var(--rm-brand), transparent 70%); pointer-events: none; }
.rm-chapter__inner { position: relative; max-width: 1400px; margin: 0 auto; padding: 3rem 1.5rem; }
@media (min-width: 768px) { .rm-chapter__inner { padding-block: 4rem; } }
@media (min-width: 1024px) { .rm-chapter__inner { padding: 5rem 3rem; } }
.rm-chapter__head--split { display: grid; gap: 2.5rem; align-items: end; padding-bottom: 2rem; border-bottom: 1px solid color-mix(in oklab, currentColor 10%, transparent); }
@media (min-width: 768px) { .rm-chapter__head--split { grid-template-columns: 7fr 5fr; } .rm-chapter__head--split .rm-chapter__blurb { padding-left: 3rem; } }
.rm-chapter__head--center { max-width: 48rem; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; }
.rm-chapter__title { margin-top: 1.25rem; font-size: 1.875rem; font-weight: 300; line-height: 1.1; letter-spacing: -.025em; }
@media (min-width: 768px) { .rm-chapter__title { font-size: 2.25rem; } }
.rm-chapter--dark .rm-chapter__head--split .rm-chapter__title { font-size: 2.25rem; }
@media (min-width: 768px) { .rm-chapter--dark .rm-chapter__head--split .rm-chapter__title { font-size: 3rem; } }
@media (min-width: 1024px) { .rm-chapter--dark .rm-chapter__head--split .rm-chapter__title { font-size: 3.25rem; } }
.rm-chapter__title a:hover { color: var(--rm-brand); }
.rm-chapter__rule { display: block; width: 3rem; height: 1px; margin-top: 1.5rem; background: color-mix(in oklab, currentColor 20%, transparent); }
.rm-chapter__blurb { font-size: 15px; line-height: 1.9; color: var(--rm-muted-fg); }
.rm-chapter__head--center .rm-chapter__blurb { margin-top: 1.25rem; max-width: 28rem; font-size: 14px; }
.rm-chapter--dark .rm-chapter__blurb { color: rgb(255 255 255 / .6); }
.rm-chapter__grid { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
@media (min-width: 640px) { .rm-chapter__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 768px) { .rm-chapter__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.5rem; } }
@media (min-width: 1024px) { .rm-chapter__grid { column-gap: 2rem; } }
.rm-chapter__empty { margin-top: 2.5rem; min-height: 200px; display: flex; align-items: center; justify-content: center; padding: 3rem; text-align: center; font-size: .875rem; color: var(--rm-muted-fg); border: 1px solid color-mix(in oklab, currentColor 10%, transparent); }

/* Heritage spread */
.rm-heritage { border-top: 1px solid var(--rm-border); }
.rm-heritage__grid { max-width: 80rem; margin: 0 auto; display: grid; gap: 1px; background: var(--rm-border); }
@media (min-width: 768px) { .rm-heritage__grid { grid-template-columns: 5fr 7fr; } }
.rm-heritage__text { display: flex; flex-direction: column; justify-content: center; background: var(--rm-bg); padding: 2.5rem; }
@media (min-width: 768px) { .rm-heritage__text { padding: 4rem; } }
@media (min-width: 1024px) { .rm-heritage__text { padding: 5rem; } }
.rm-heritage__text h2 { margin-top: 2rem; }
.rm-heritage__text > p { margin-top: 2rem; max-width: 28rem; font-size: .875rem; line-height: 1.9; color: var(--rm-muted-fg); }
.rm-heritage__text blockquote { margin: 2.5rem 0 0; max-width: 28rem; padding-left: 1.5rem; border-left: 1px solid color-mix(in oklab, var(--rm-fg) 20%, transparent); font-size: 1rem; line-height: 1.7; }
.rm-heritage__text blockquote footer { margin-top: 1rem; font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-muted-fg); }
.rm-heritage__text .rm-arrow-link { margin-top: 3rem; width: fit-content; }
.rm-heritage__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--rm-muted); }
@media (min-width: 768px) { .rm-heritage__media { aspect-ratio: auto; } }
.rm-heritage__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s ease-out; }
.rm-heritage__media:hover img { transform: scale(1.04); }
.rm-heritage__tag { position: absolute; right: 1.5rem; bottom: 1.5rem; padding: .75rem 1rem; background: color-mix(in oklab, var(--rm-bg) 90%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
@media (min-width: 1024px) { .rm-heritage__tag { right: 2.5rem; bottom: 2.5rem; } }

/* Visit the house */
.rm-visit { border-top: 1px solid var(--rm-border); background: var(--rm-fg); color: var(--rm-bg); }
.rm-visit__inner { display: grid; gap: 3rem; padding-block: 6rem; }
@media (min-width: 768px) { .rm-visit__inner { grid-template-columns: 4fr 8fr; gap: 4rem; padding-block: 8rem; } }
.rm-visit__aside span { font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: color-mix(in oklab, var(--rm-bg) 60%, transparent); }
.rm-visit__aside i { display: block; margin-top: 2rem; width: 2.5rem; height: 1px; background: color-mix(in oklab, var(--rm-bg) 40%, transparent); }
.rm-visit h2 { color: var(--rm-bg); }
.rm-visit h2 span { color: color-mix(in oklab, var(--rm-bg) 60%, transparent); }
.rm-visit p { margin-top: 2.5rem; max-width: 32rem; font-size: .875rem; line-height: 1.9; color: color-mix(in oklab, var(--rm-bg) 70%, transparent); }
.rm-visit__links { margin-top: 3rem; display: flex; flex-wrap: wrap; align-items: center; gap: 2rem; }

/* Journal row on home */
.rm-journal-head { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .rm-journal-head { grid-template-columns: 7fr 5fr; align-items: end; } .rm-journal-head__aside { text-align: right; } .rm-journal-head__aside p { margin-left: auto; } }
.rm-journal-head h2 { margin-top: 1.5rem; max-width: 36rem; font-size: 2rem; line-height: 1.05; }
@media (min-width: 768px) { .rm-journal-head h2 { font-size: 2.6rem; } }
.rm-journal-head h2 span { color: color-mix(in oklab, var(--rm-fg) 55%, transparent); }
.rm-journal-head__aside p { max-width: 28rem; font-size: 13px; line-height: 1.85; color: var(--rm-muted-fg); }
.rm-journal-head__aside .rm-arrow-link { margin-top: 1.5rem; }
.rm-journal-row { margin-top: 3rem; display: grid; gap: 1px; background: var(--rm-border); }
@media (min-width: 768px) { .rm-journal-row { grid-template-columns: repeat(3, 1fr); } }

.rm-journal-card { background: var(--rm-bg); }
.rm-journal-card__link { display: flex; flex-direction: column; height: 100%; }
.rm-journal-card--landscape .rm-journal-card__link { display: block; padding: 1.5rem; }
@media (min-width: 768px) { .rm-journal-card--landscape .rm-journal-card__link { padding: 2rem; } }
.rm-journal-card__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--rm-muted); }
.rm-journal-card--landscape .rm-journal-card__media { aspect-ratio: 4 / 3; }
.rm-journal-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s ease-out; }
.rm-journal-card:hover .rm-journal-card__media img { transform: scale(1.05); }
.rm-journal-card--portrait .rm-journal-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .35), transparent); opacity: .7; transition: opacity .7s; }
.rm-chip-label { position: absolute; z-index: 1; left: 1.25rem; top: 1.25rem; display: inline-flex; align-items: center; gap: .5rem; padding: .25rem .625rem; border: 1px solid rgb(255 255 255 / .3); background: rgb(0 0 0 / .3); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .32em; color: #fff; }
.rm-cover-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse at 50% 120%, #2a2a2a, var(--rm-ink) 70%); }
.rm-cover-fallback span { padding-left: .4em; font-family: var(--rm-display); font-size: 1.25rem; font-weight: 300; text-transform: uppercase; letter-spacing: .4em; color: rgb(255 255 255 / .55); }
.rm-dot { width: 4px; height: 4px; border-radius: 999px; background: var(--rm-brand); }
.rm-journal-card__body { flex: 1; display: flex; flex-direction: column; padding: 1.75rem 1.5rem 2rem; }
.rm-journal-card--landscape .rm-journal-card__body { padding: 1.5rem 0 0; }
.rm-meta-line { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-muted-fg); }
.rm-meta-line__rule { width: 1.5rem; height: 1px; background: var(--rm-border); }
.rm-meta-line.is-light { color: rgb(255 255 255 / .7); }
.rm-meta-line.is-light .rm-meta-line__rule { background: rgb(255 255 255 / .3); }
.rm-meta-line.is-light a:hover { color: #fff; }
.rm-journal-card__title { margin-top: 1.25rem; font-size: 1.2rem; line-height: 1.2; letter-spacing: -.025em; transition: color .5s; }
@media (min-width: 768px) { .rm-journal-card__title { font-size: 1.35rem; } .rm-journal-card--landscape .rm-journal-card__title { font-size: 1.5rem; } }
.rm-journal-card:hover .rm-journal-card__title { color: var(--rm-brand); }
.rm-journal-card__excerpt { margin-top: .75rem; font-size: 13px; line-height: 1.8; color: var(--rm-muted-fg); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rm-journal-card__more { margin-top: 1.5rem; display: inline-flex; align-items: center; gap: .5rem; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; transition: color .5s; }
.rm-journal-card:hover .rm-journal-card__more, .rm-feature:hover .rm-journal-card__more { color: var(--rm-brand); }

/* ==========================================================================
   Page hero, breadcrumbs, catalog
   ========================================================================== */
.rm-page-hero { border-bottom: 1px solid var(--rm-border); background: color-mix(in oklab, var(--rm-secondary) 30%, transparent); padding: 1.25rem var(--rm-gutter) 1.25rem; text-align: center; }
@media (min-width: 768px) { .rm-page-hero { padding-top: 1.5rem; } }
.rm-page-hero__title { margin-top: .5rem; font-size: 1.5rem; font-weight: 300; letter-spacing: -.025em; }
@media (min-width: 768px) { .rm-page-hero__title { font-size: 2.25rem; } }
.rm-crumbs { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-muted-fg); }
.rm-crumbs a:hover { color: var(--rm-fg); }
.rm-crumbs .is-current { color: var(--rm-fg); }
.rm-crumbs__sep { color: color-mix(in oklab, var(--rm-muted-fg) 50%, transparent); }
.rm-crumbs--left { justify-content: flex-start; margin-bottom: 2rem; letter-spacing: .24em; font-size: .6875rem; }
.rm-crumbs--left .rm-crumbs__sep { color: var(--rm-border); }

.rm-cat-rail { border-bottom: 1px solid color-mix(in oklab, var(--rm-border) 60%, transparent); }
.rm-cat-rail__inner { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; padding-block: 1.25rem; }
.rm-cat-rail a:hover { color: var(--rm-brand); }
.rm-cat-rail a.is-current { color: var(--rm-fg); }

.rm-catalog { padding-block: 2.5rem; }
@media (min-width: 768px) { .rm-catalog { padding-block: 5rem; } }
@media (min-width: 1024px) { .rm-catalog { padding-block: 6rem; } }
.rm-catalog__grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .rm-catalog__grid { grid-template-columns: 260px minmax(0, 1fr); gap: 3rem; } }
@media (min-width: 1024px) { .rm-catalog__grid { gap: 4rem; } }
.rm-catalog__main { min-width: 0; }
.rm-catalog__bar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid color-mix(in oklab, var(--rm-border) 60%, transparent); }
.rm-catalog__order .woocommerce-ordering { margin: 0; }
.rm-catalog__order select, .rm-select { appearance: none; -webkit-appearance: none; border: 0; border-bottom: 1px solid var(--rm-border); background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center; padding: .25rem 1.25rem .25rem 0; font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; color: var(--rm-muted-fg); cursor: pointer; }
.rm-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.rm-term-desc { margin-bottom: 2rem; font-size: .875rem; line-height: 1.8; color: var(--rm-muted-fg); max-width: 40rem; }

/* Filters */
@media (min-width: 768px) { .rm-filters { position: sticky; top: calc(var(--rm-header-h) + 1rem); align-self: start; max-height: calc(100vh - var(--rm-header-h) - 2rem); overflow-y: auto; scrollbar-width: thin; } }
.rm-filters__details { border-block: 1px solid var(--rm-border); }
@media (min-width: 768px) { .rm-filters__details { border: 0; } }
.rm-filters__summary { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; cursor: pointer; list-style: none; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .22em; }
.rm-filters__summary::-webkit-details-marker { display: none; }
.rm-filters__summary > span { display: inline-flex; align-items: center; gap: .75rem; }
.rm-filters__caret { width: 1rem; height: 1rem; color: var(--rm-muted-fg); transition: transform .3s; }
.rm-filters__details[open] .rm-filters__caret { transform: rotate(180deg); }
@media (min-width: 768px) { .rm-filters__summary { display: none; } }
.rm-filters__body { display: flex; flex-direction: column; gap: 2.5rem; padding: 1rem 0 .5rem; }
@media (min-width: 768px) { .rm-filters__body { padding-top: 0; } }
.rm-filters__head { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid color-mix(in oklab, var(--rm-border) 60%, transparent); }
.rm-filters__status { margin-top: .25rem; font-size: .75rem; color: color-mix(in oklab, var(--rm-muted-fg) 80%, transparent); }
.rm-filters__section { display: flex; flex-direction: column; gap: 1rem; }
.rm-filters__label { display: flex; align-items: baseline; gap: .75rem; }
.rm-filters__label > span { font-size: .625rem; font-weight: 500; letter-spacing: .2em; color: var(--rm-brand); }
.rm-line-input { width: 100%; border: 0; border-bottom: 1px solid var(--rm-border); border-radius: 0; background: transparent; padding: .625rem 0; font-size: .875rem; outline: none; transition: border-color .2s; -moz-appearance: textfield; }
.rm-line-input:focus { border-color: var(--rm-fg); }
.rm-line-input::placeholder { color: color-mix(in oklab, var(--rm-muted-fg) 50%, transparent); }
.rm-filters__price { display: flex; align-items: center; gap: .75rem; }
.rm-filters__money { position: relative; flex: 1; }
.rm-filters__money span { position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-size: .875rem; color: color-mix(in oklab, var(--rm-muted-fg) 60%, transparent); }
.rm-filters__money input { padding-left: 1rem; }
.rm-filters__apply { align-self: flex-start; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .22em; border-bottom: 1px solid var(--rm-fg); padding-bottom: 2px; }
.rm-js .rm-filters__apply { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rm-size-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.rm-size-chip { min-width: 2.75rem; text-align: center; border: 1px solid var(--rm-border); padding: .625rem .75rem; font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; color: color-mix(in oklab, var(--rm-fg) 80%, transparent); transition: all .2s; }
.rm-size-chip:hover { transform: translateY(-2px); border-color: var(--rm-fg); color: var(--rm-fg); }
.rm-size-chip.is-active { border-color: var(--rm-fg); background: var(--rm-fg); color: var(--rm-bg); }
.rm-filters__note { padding-top: 1.5rem; border-top: 1px solid color-mix(in oklab, var(--rm-border) 60%, transparent); }
.rm-filters__note-title { margin-top: .5rem; font-size: .875rem; }
.rm-filters__note p { margin-top: .75rem; font-size: .75rem; line-height: 1.6; color: color-mix(in oklab, var(--rm-muted-fg) 80%, transparent); }
.rm-filter-widget ul { list-style: none; padding: 0; margin: .75rem 0 0; font-size: .875rem; }

/* Pagination (Woo + WP) */
.woocommerce-pagination, .rm-pagination { margin-top: 4rem; }
.woocommerce-pagination ul.page-numbers, .rm-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem; list-style: none; margin: 0; padding: 0; border: 0; }
.woocommerce-pagination ul.page-numbers li { border: 0; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span, .rm-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 .5rem; border: 1px solid var(--rm-border); font-size: .75rem; letter-spacing: .1em; }
.woocommerce-pagination .page-numbers .current, .rm-pagination .page-numbers.current { background: var(--rm-fg); border-color: var(--rm-fg); color: var(--rm-bg); }

/* ==========================================================================
   Single product
   ========================================================================== */
.rm-pdp { max-width: 80rem; margin: 0 auto; padding: 1.5rem var(--rm-gutter) calc(6rem + env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .rm-pdp { padding-block: 2.5rem; } }
@media (min-width: 1024px) { .rm-pdp { padding-block: 3.5rem; } }
.rm-pdp__grid { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .rm-pdp__grid { grid-template-columns: 64px minmax(0, .95fr) minmax(320px, 440px); align-items: start; gap: 2rem; } }
@media (min-width: 1024px) { .rm-pdp__grid { grid-template-columns: 80px minmax(0, .9fr) minmax(360px, 480px); gap: 3.5rem; } }
.rm-pdp__rail { display: none; }
@media (min-width: 768px) { .rm-pdp__rail { display: flex; flex-direction: column; gap: .75rem; position: sticky; top: calc(var(--rm-header-h) + 1rem); align-self: start; max-height: calc(100vh - var(--rm-header-h) - 2rem); overflow-y: auto; scrollbar-width: none; } }
.rm-thumb { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--rm-muted); opacity: .7; transition: opacity .2s; }
.rm-thumb:hover { opacity: 1; }
.rm-thumb.is-active { opacity: 1; box-shadow: inset 0 0 0 1px var(--rm-fg); }
.rm-thumb.is-active img { outline: 1px solid var(--rm-fg); outline-offset: -1px; }
.rm-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rm-pdp__rail-mobile { display: flex; gap: .5rem; overflow-x: auto; margin-top: -1rem; scrollbar-width: none; }
.rm-pdp__rail-mobile .rm-thumb { width: 4rem; flex-shrink: 0; opacity: .6; }
.rm-pdp__rail-mobile .rm-thumb.is-active { opacity: 1; }
@media (min-width: 768px) { .rm-pdp__rail-mobile { display: none; } }
.rm-pdp__main { position: relative; overflow: hidden; background: var(--rm-muted); }
@media (min-width: 768px) { .rm-pdp__main { position: sticky; top: calc(var(--rm-header-h) + 1rem); align-self: start; } }
.rm-pdp__main .rm-flag { left: 1rem; top: 1rem; }
.rm-pdp__zoom { display: block; width: 100%; cursor: zoom-in; }
.rm-pdp__zoom img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; transition: transform .5s; }
.rm-pdp__main:hover .rm-pdp__zoom img { transform: scale(1.02); }
.rm-pdp__zoom-icon { position: absolute; right: 1rem; bottom: 1rem; display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; background: color-mix(in oklab, var(--rm-bg) 90%, transparent); opacity: 0; transition: opacity .2s; }
.rm-pdp__zoom-icon .rm-icon { width: 1rem; height: 1rem; }
.rm-pdp__main:hover .rm-pdp__zoom-icon { opacity: 1; }
.rm-pdp__details { min-width: 0; }
@media (min-width: 768px) { .rm-pdp__details { padding-bottom: 2.5rem; } }
.rm-pdp__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.rm-pdp__title-wrap { min-width: 0; }
.rm-pdp__eyebrow { font-size: .625rem; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-muted-fg); }
.rm-pdp__eyebrow span { margin: 0 .5rem; color: var(--rm-border); }
.rm-pdp__title { margin-top: 1rem; font-size: 1.6rem; font-weight: 300; line-height: 1.15; letter-spacing: -.01em; }
@media (min-width: 768px) { .rm-pdp__title { font-size: 2rem; } }
.rm-pdp__tools { display: flex; flex-shrink: 0; gap: .25rem; }
.rm-pdp__price-row { margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; }
.rm-pdp__price { font-size: 1.25rem; font-weight: 300; letter-spacing: -.01em; }
.rm-pdp__price del { margin-left: .5rem; font-size: .875rem; color: var(--rm-muted-fg); order: 2; }
.rm-pdp__price ins { text-decoration: none; }
.rm-pdp__stock { font-size: .6875rem; text-transform: uppercase; letter-spacing: .18em; color: var(--rm-muted-fg); }
.rm-pdp__stock.is-in { color: var(--rm-success); }
.rm-pdp__price-row .rm-vat-note { font-size: .625rem; letter-spacing: .2em; }
.rm-pdp__desc { margin-top: 2rem; font-size: .9375rem; line-height: 1.75; color: var(--rm-muted-fg); }
.product-short-desc p, .product-short-desc ul, .product-short-desc ol, .product-short-desc h1, .product-short-desc h2, .product-short-desc h3, .product-short-desc h4 { margin-block: .5rem; font-family: var(--rm-font); font-size: .9375rem; font-weight: 400; line-height: 1.75; letter-spacing: 0; }
.product-short-desc ul { list-style: disc; padding-left: 1.1rem; }
.product-short-desc ol { list-style: decimal; padding-left: 1.1rem; }
.product-short-desc strong, .product-short-desc b { font-weight: 500; color: var(--rm-fg); }
.product-short-desc a { text-decoration: underline; }
.product-short-desc img { display: none; }
.product-short-desc > :first-child { margin-top: 0; }
.product-short-desc > :last-child { margin-bottom: 0; }
.rm-pdp__size-guide { margin-top: 2.5rem; display: inline-flex; align-items: center; gap: .375rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); text-underline-offset: 4px; }
.rm-pdp__size-guide .rm-icon { width: .75rem; height: .75rem; }
.rm-pdp__size-guide:hover { color: var(--rm-fg); text-decoration: underline; }
.rm-pdp__form { margin-top: 1.5rem; }
.rm-pdp__form form.cart { margin: 0; }
.rm-pdp__form .stock { font-size: .75rem; color: var(--rm-muted-fg); }
.rm-pdp__form .stock.out-of-stock { color: var(--rm-brand); }

/* WooCommerce variations table → chip pickers */
.rm-pdp__form table.variations { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.rm-pdp__form table.variations tr { display: block; margin-bottom: 2rem; }
.rm-pdp__form table.variations th, .rm-pdp__form table.variations td { display: block; padding: 0; border: 0; text-align: left; background: none; }
.rm-pdp__form table.variations th.label { margin-bottom: 1rem; }
.rm-pdp__form table.variations th.label label { font-size: .625rem; font-weight: 400; text-transform: uppercase; letter-spacing: .24em; color: var(--rm-muted-fg); }
.rm-pdp__form table.variations .rm-opt-current { margin-left: .5rem; color: var(--rm-fg); }
.rm-pdp__form table.variations select.rm-enhanced { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.rm-pdp__form table.variations select { min-width: 12rem; border: 1px solid var(--rm-border); padding: .625rem; background: var(--rm-bg); }
.rm-pdp__form .reset_variations { display: inline-block; margin-top: .75rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.rm-pdp__form .single_variation_wrap .woocommerce-variation { margin-bottom: 1.5rem; font-size: .875rem; }
.rm-pdp__form .woocommerce-variation-price .price { font-size: 1.125rem; font-weight: 300; }
.rm-field-label { margin: 2rem 0 1rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .24em; color: var(--rm-muted-fg); }
.rm-pdp__form .variations + .single_variation_wrap .rm-field-label, .rm-pdp__form .single_variation_wrap .rm-field-label { margin-top: 0; }

/* Purchase actions: one non-animated group, fixed above the mobile safe area, inline on desktop */
.rm-buy { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .625rem; border-top: 1px solid var(--rm-border); background: var(--rm-bg); padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .rm-buy { position: static; margin-top: 2.5rem; border: 0; padding: 0; } }
.rm-buy .rm-btn { height: 3rem; min-height: 3rem; min-width: 0; padding: 0 .75rem; letter-spacing: normal; }
@media (min-width: 768px) { .rm-buy .rm-btn { letter-spacing: .24em; } }
.rm-buy .rm-btn.disabled { opacity: .5; }
.rm-buy__added { display: none; align-items: center; gap: .5rem; }
.rm-buy__added .rm-icon { width: .875rem; height: .875rem; }
.rm-buy .is-added .rm-buy__label { display: none; }
.rm-buy .is-added .rm-buy__added { display: inline-flex; }

.rm-specs { margin: 3rem 0 0; display: flex; flex-direction: column; gap: .75rem; font-size: .8125rem; }
.rm-specs > div { display: flex; align-items: baseline; gap: 1.5rem; }
.rm-specs dt { width: 5rem; flex-shrink: 0; font-size: .625rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.rm-specs dd { margin: 0; }
.rm-specs .rm-mono { font-size: .75rem; }
.rm-service-line { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--rm-border); display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.rm-service-line span { display: inline-flex; align-items: center; gap: .5rem; }
.rm-service-line .rm-icon { width: .875rem; height: .875rem; }

/* The Detail */
.rm-detail { margin-top: 5rem; padding-top: 4rem; border-top: 1px solid var(--rm-border); display: grid; gap: 3rem; }
@media (min-width: 768px) { .rm-detail { margin-top: 6rem; padding-top: 5rem; } }
@media (min-width: 1024px) { .rm-detail { grid-template-columns: 20rem 1fr; gap: 4rem; } .rm-detail__intro { position: sticky; top: calc(var(--rm-header-h) + 2rem); align-self: start; } }
.rm-detail__intro h2 { margin-top: 1.25rem; font-size: 2rem; font-weight: 300; line-height: 1.05; letter-spacing: -.015em; }
@media (min-width: 768px) { .rm-detail__intro h2 { font-size: 2.5rem; } }
.rm-detail__intro h2 span { color: var(--rm-muted-fg); }
.rm-detail__intro p { margin-top: 1.5rem; font-size: .9375rem; line-height: 1.85; color: var(--rm-muted-fg); }
.rm-detail__intro .rm-detail__est { margin-top: 2rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .28em; }
.rm-tabs { display: grid; gap: 2rem; }
@media (min-width: 640px) { .rm-tabs { grid-template-columns: 16rem 1fr; gap: 3rem; } }
@media (min-width: 1024px) { .rm-tabs { gap: 4rem; } }
.rm-tabs__list { display: flex; flex-direction: column; border-left: 1px solid var(--rm-border); align-self: start; }
.rm-tabs__list button { position: relative; display: flex; align-items: center; gap: .75rem; width: 100%; padding: .875rem 1.25rem; text-align: left; font-size: .6875rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); transition: color .2s; }
.rm-tabs__list button .rm-icon { width: 1rem; height: 1rem; }
.rm-tabs__list button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-tabs__list button::before { content: ""; position: absolute; left: -1px; top: 0; height: 100%; width: 1px; background: var(--rm-fg); transform: scaleY(0); transform-origin: top; transition: transform .3s; }
.rm-tabs__list button:hover, .rm-tabs__list button[aria-selected="true"] { color: var(--rm-fg); }
.rm-tabs__list button[aria-selected="true"]::before { transform: scaleY(1); }
.rm-tabs__panels { min-height: 10rem; font-size: .9375rem; line-height: 1.85; color: var(--rm-muted-fg); min-width: 0; }
.rm-def-grid { display: grid; grid-template-columns: 6rem 1fr; gap: .75rem 2rem; margin: 0; }
.rm-def-grid dt { font-size: .625rem; text-transform: uppercase; letter-spacing: .2em; color: color-mix(in oklab, var(--rm-muted-fg) 70%, transparent); padding-top: .25rem; }
.rm-def-grid dd { margin: 0; color: var(--rm-fg); }
.rm-def-grid dd a:hover { color: var(--rm-brand); }
.rm-related { margin-top: 8rem; }
.rm-size-table { width: 100%; margin-top: 1.5rem; border-collapse: collapse; text-align: left; font-size: .875rem; }
.rm-size-table th { padding: .75rem 0; border-bottom: 1px solid var(--rm-border); font-size: .625rem; font-weight: 400; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.rm-size-table td { padding: .75rem 0; border-bottom: 1px solid var(--rm-border); color: var(--rm-muted-fg); }
.rm-size-table td:first-child { color: var(--rm-fg); }
.rm-size-table tr:last-child td { border-bottom: 0; }
#rm-size-guide-title { font-size: .6875rem; letter-spacing: .24em; margin-bottom: .75rem; }

/* Reviews */
.rm-tabs__panels #reviews .commentlist { list-style: none; padding: 0; }
.rm-tabs__panels #reviews .comment_container { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--rm-border); }
.rm-tabs__panels #reviews img.avatar { width: 2.5rem; height: 2.5rem; border-radius: 999px; }

/* ==========================================================================
   Journal
   ========================================================================== */
.rm-journal-hero { border-bottom: 1px solid var(--rm-border); padding-block: 5rem; text-align: center; }
@media (min-width: 768px) { .rm-journal-hero { padding-block: 6rem; } }
.rm-journal-hero .rm-container { display: flex; flex-direction: column; align-items: center; }
.rm-journal-hero h1 { margin-top: 1.5rem; max-width: 42rem; font-size: 2rem; line-height: 1.05; }
@media (min-width: 768px) { .rm-journal-hero h1 { font-size: 2.8rem; } }
.rm-journal-hero__rule { display: block; margin-top: 1.5rem; width: 2.5rem; height: 1px; background: color-mix(in oklab, var(--rm-fg) 30%, transparent); }
.rm-journal-hero p, .rm-journal-hero__desc { margin-top: 1.5rem; max-width: 28rem; font-size: 13px; line-height: 1.85; color: var(--rm-muted-fg); }
.rm-journal-hero .rm-crumbs { margin-top: 1.5rem; }
.rm-feature__link { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .rm-feature__link { grid-template-columns: 7fr 5fr; gap: 3.5rem; } }
.rm-feature__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--rm-muted); }
.rm-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s ease-out; }
.rm-feature:hover .rm-feature__media img { transform: scale(1.04); }
.rm-feature__body { display: flex; flex-direction: column; justify-content: center; }
.rm-feature__body h2 { margin-top: 1.25rem; font-size: 1.8rem; line-height: 1.1; letter-spacing: -.025em; transition: color .5s; }
@media (min-width: 768px) { .rm-feature__body h2 { font-size: 2.4rem; } }
.rm-feature:hover h2 { color: var(--rm-brand); }
.rm-feature__body p { margin-top: 1.25rem; max-width: 36rem; font-size: 13px; line-height: 1.85; color: var(--rm-muted-fg); }
.rm-feature__body .rm-journal-card__more { margin-top: 1.75rem; font-size: 11px; }
.rm-journal-list { margin-top: 3rem; display: grid; gap: 1px; background: var(--rm-border); }
@media (min-width: 768px) { .rm-journal-list { grid-template-columns: repeat(2, 1fr); } }
.rm-story__hero { position: relative; height: 60vh; min-height: 440px; overflow: hidden; background: #000; color: #fff; }
.rm-story__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rm-story__shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgb(0 0 0 / .5), rgb(0 0 0 / .3), rgb(0 0 0 / .85)); }
.rm-story__head { position: relative; z-index: 1; max-width: 56rem; height: 100%; margin: 0 auto; display: flex; flex-direction: column; justify-content: flex-end; padding: 0 1.5rem 3.5rem; }
@media (min-width: 768px) { .rm-story__head { padding: 0 2.5rem 5rem; } }
.rm-story__head h1 { margin: 1.25rem 0 0; max-width: 48rem; font-size: 2rem; line-height: 1.05; }
@media (min-width: 768px) { .rm-story__head h1 { font-size: 3rem; } }
.rm-story__lede { margin: 1.25rem 0 1.5rem; max-width: 42rem; font-size: 14px; line-height: 1.8; color: rgb(255 255 255 / .8); }
.rm-story__head > .rm-meta-line:last-child { margin-top: 1.5rem; color: rgb(255 255 255 / .6); }
.rm-story__body { max-width: 42rem; margin: 0 auto; padding: 5rem 1.5rem; }
@media (min-width: 768px) { .rm-story__body { padding-block: 7rem; } }
.rm-story__nav { margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--rm-border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.rm-back-link { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; }
.rm-back-link:hover { color: var(--rm-brand); }
.rm-next-story { display: inline-flex; align-items: center; gap: .75rem; text-align: right; }
.rm-next-story small { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--rm-muted-fg); }
.rm-next-story b { display: block; margin-top: .25rem; font-family: var(--rm-display); font-size: 15px; font-weight: 400; transition: color .5s; }
.rm-next-story:hover b { color: var(--rm-brand); }

/* Prose */
.rm-prose { font-size: 15px; line-height: 1.95; color: color-mix(in oklab, var(--rm-fg) 85%, transparent); }
.rm-prose > * + * { margin-top: 1.25rem; }
.rm-prose h2 { margin-top: 3rem; margin-bottom: 1.5rem; font-size: 1.4rem; letter-spacing: -.025em; color: var(--rm-fg); }
@media (min-width: 768px) { .rm-prose h2 { font-size: 1.7rem; } }
.rm-prose h3 { margin-top: 2.5rem; color: var(--rm-fg); }
.rm-prose a { text-decoration: underline; text-underline-offset: 3px; }
.rm-prose a:hover { color: var(--rm-brand); }
.rm-prose img { height: auto; }
.rm-prose blockquote { margin: 2rem 0; padding-left: 1.5rem; border-left: 1px solid color-mix(in oklab, var(--rm-fg) 20%, transparent); font-size: 1.125rem; color: var(--rm-fg); }
.rm-prose ul, .rm-prose ol { padding-left: 1.25rem; }
.rm-page { padding-block: 4rem 2rem; max-width: 48rem; }
.rm-tabs__panels.rm-prose, .rm-tabs__panels .rm-prose { font-size: .9375rem; color: var(--rm-muted-fg); }

/* ==========================================================================
   About / contact / stores / wishlist / 404
   ========================================================================== */
.rm-about { padding-block: 6rem; }
@media (min-width: 1024px) { .rm-about { padding-block: 8rem; } }
.rm-about__row { display: grid; gap: 4rem; }
@media (min-width: 768px) { .rm-about__row { grid-template-columns: 200px 1fr; } }
.rm-about__lead { font-size: 1.25rem; line-height: 1.6; }
@media (min-width: 768px) { .rm-about__lead { font-size: 1.5rem; line-height: 1.375; } }
.rm-about__text { font-size: 1rem; line-height: 1.6; color: var(--rm-muted-fg); }
@media (min-width: 768px) { .rm-about__text { font-size: 1.125rem; } }
.rm-about__sep { margin-block: 6rem; }
.rm-houses { border-top: 1px solid var(--rm-border); background: color-mix(in oklab, var(--rm-muted) 40%, transparent); }
.rm-houses__grid { display: grid; gap: 1px; background: var(--rm-border); }
@media (min-width: 768px) { .rm-houses__grid { grid-template-columns: repeat(3, 1fr); } }
.rm-houses__item { background: var(--rm-bg); padding: 2.5rem; transition: background .5s; }
@media (min-width: 1024px) { .rm-houses__item { padding: 3rem; } }
.rm-houses__item:hover { background: color-mix(in oklab, var(--rm-muted) 30%, var(--rm-bg)); }
.rm-houses__name { margin-top: 1.5rem; font-size: 1.5rem; font-weight: 500; letter-spacing: -.025em; transition: color .5s; }
.rm-houses__item:hover .rm-houses__name { color: var(--rm-brand); }
.rm-houses__item p { margin-top: 1rem; font-size: .875rem; line-height: 1.6; color: var(--rm-muted-fg); }
.rm-cta-block { padding-block: 6rem; text-align: center; }
.rm-cta-block h2 { margin-top: 1rem; }
.rm-cta-block .rm-btn { margin-top: 2.5rem; }

.rm-contact { padding-block: 5rem; }
@media (min-width: 1024px) { .rm-contact { padding-block: 7rem; } }
.rm-contact__strip { margin-bottom: 5rem; display: grid; gap: 1px; border: 1px solid var(--rm-border); background: var(--rm-border); }
@media (min-width: 640px) { .rm-contact__strip { grid-template-columns: 1fr 1fr; } }
.rm-contact__strip a { display: flex; align-items: center; gap: 1.25rem; padding: 1.5rem; background: var(--rm-bg); transition: background .2s; }
.rm-contact__strip a:hover { background: color-mix(in oklab, var(--rm-secondary) 40%, var(--rm-bg)); }
.rm-contact__strip b { display: block; margin-top: .5rem; font-weight: 500; letter-spacing: -.01em; word-break: break-word; }
.rm-contact__grid { display: grid; gap: 5rem; }
@media (min-width: 768px) { .rm-contact__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .rm-contact__grid { gap: 8rem; } }
.rm-contact__info { display: flex; flex-direction: column; gap: 3rem; }
.rm-contact__row { display: flex; gap: 1.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--rm-border); }
.rm-contact__row > .rm-icon { margin-top: .25rem; }
.rm-contact__value { margin-top: .75rem; font-weight: 500; }
.rm-contact__sub { margin-top: .25rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .16em; color: var(--rm-muted-fg); }
.rm-contact__form { display: flex; flex-direction: column; gap: 2rem; }
.rm-line-field { display: block; }
.rm-line-field input, .rm-line-field textarea { display: block; width: 100%; margin-top: .75rem; border: 0; border-bottom: 1px solid var(--rm-border); border-radius: 0; background: transparent; padding: .75rem 0; font-size: .875rem; outline: none; resize: none; }
.rm-line-field input:focus, .rm-line-field textarea:focus { border-color: var(--rm-fg); }
.rm-plugin-form form { display: flex; flex-direction: column; gap: 1.75rem; }
.rm-plugin-form p { margin: 0; }
.rm-plugin-form br { display: none; }
.rm-plugin-form label { display: block; font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; color: var(--rm-muted-fg); }
.rm-plugin-form .wpcf7-form-control-wrap { display: block; margin-top: .75rem; }
.rm-plugin-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), .rm-plugin-form textarea, .rm-plugin-form select { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--rm-border); border-radius: 0; background: transparent; padding: .75rem 0; font-size: .875rem; text-transform: none; letter-spacing: normal; color: var(--rm-fg); outline: none; resize: vertical; }
.rm-plugin-form input:focus, .rm-plugin-form textarea:focus, .rm-plugin-form select:focus { border-color: var(--rm-fg); }
.rm-plugin-form textarea { min-height: 8rem; }
.rm-plugin-form input[type="submit"], .rm-plugin-form button[type="submit"] { width: 100%; min-height: 3.25rem; border: 1px solid var(--rm-fg); border-radius: 0; background: var(--rm-fg); color: var(--rm-bg); font-size: .75rem; font-weight: 500; text-transform: uppercase; letter-spacing: .2em; cursor: pointer; transition: opacity .2s; }
.rm-plugin-form input[type="submit"]:hover { opacity: .88; }
.rm-plugin-form .wpcf7-spinner { display: block; margin: .75rem auto 0; }
.rm-plugin-form .wpcf7-not-valid-tip { margin-top: .375rem; font-size: .75rem; color: var(--rm-brand); text-transform: none; letter-spacing: normal; }
.rm-plugin-form .wpcf7-response-output { margin: 0 !important; padding: .875rem 1rem !important; border: 1px solid var(--rm-border) !important; font-size: .8125rem; }
.rm-plugin-form .wpcf7 form.sent .wpcf7-response-output { border-color: var(--rm-success) !important; }
.rm-plugin-form .wpcf7 form.invalid .wpcf7-response-output, .rm-plugin-form .wpcf7 form.failed .wpcf7-response-output { border-color: var(--rm-brand) !important; }
.rm-contact__done { border: 1px solid var(--rm-border); padding: 3rem; text-align: center; }
.rm-contact__done h3 { margin-top: 1rem; font-size: 1.5rem; }
.rm-contact__done p { margin-top: 1rem; font-size: .875rem; }
.rm-form-error { padding: .75rem 1rem; border: 1px solid var(--rm-brand); color: var(--rm-brand); font-size: .8125rem; }

.rm-stores-bar { border-bottom: 1px solid var(--rm-border); }
.rm-stores-bar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-block: 1rem; }
@media (min-width: 1024px) { .rm-stores-bar__inner { flex-wrap: nowrap; } }
.rm-stores-bar__count { flex-shrink: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .24em; color: var(--rm-muted-fg); }
.rm-stores-bar__cities { order: 3; width: 100%; display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }
@media (min-width: 1024px) { .rm-stores-bar__cities { order: 2; width: auto; flex: 1; justify-content: center; } }
.rm-stores-bar__cities .rm-chip { letter-spacing: .22em; }
.rm-stores-bar__search { order: 2; margin-left: auto; display: flex; align-items: center; gap: .5rem; }
@media (min-width: 1024px) { .rm-stores-bar__search { order: 3; margin-left: 0; } }
.rm-stores-bar__input { position: relative; width: 14rem; }
@media (min-width: 768px) { .rm-stores-bar__input { width: 18rem; } }
.rm-stores-bar__input .rm-icon { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; color: var(--rm-muted-fg); pointer-events: none; }
.rm-stores-bar__input input { width: 100%; height: 2.5rem; border: 1px solid var(--rm-border); background: var(--rm-bg); padding: 0 .75rem 0 2.5rem; font-size: .875rem; outline: none; }
.rm-stores-bar__input input:focus { border-color: var(--rm-fg); }
.rm-stores-bar__near { display: inline-flex; align-items: center; gap: .5rem; height: 2.5rem; padding: 0 .75rem; flex-shrink: 0; border: 1px solid var(--rm-border); font-size: 10px; text-transform: uppercase; letter-spacing: .22em; transition: all .2s; }
.rm-stores-bar__near:hover { border-color: var(--rm-fg); }
.rm-stores-bar__near .rm-icon { width: .875rem; height: .875rem; }
.rm-stores-bar__near .rm-i-clear, .rm-stores-bar__near.is-active .rm-i-locate { display: none; }
.rm-stores-bar__near.is-active .rm-i-clear { display: block; }
.rm-stores-bar__near.is-active { border-color: var(--rm-brand); background: var(--rm-brand); color: var(--rm-brand-fg); }
.rm-stores-bar__near.is-loading .rm-icon { animation: lux-fade-in .8s ease infinite alternate; }
@media (max-width: 639.98px) { .rm-stores-bar__near span { display: none; } }
.rm-stores-map { position: relative; height: 70vh; min-height: 500px; background: var(--rm-ink); }
#rm-stores-map { position: absolute; inset: 0; }
#rm-stores-map .leaflet-tile-pane { filter: grayscale(.6) contrast(1.05) brightness(.92); }
.rm-stores-map__loading { display: flex; height: 100%; align-items: center; justify-content: center; font-size: 10px; text-transform: uppercase; letter-spacing: .32em; color: rgb(255 255 255 / .4); }
.rm-map-pin { width: 14px; height: 14px; border-radius: 999px; background: var(--rm-brand); border: 2px solid #fff; box-shadow: 0 0 0 4px color-mix(in oklab, var(--rm-brand) 30%, transparent); }
.rm-map-pin.is-active { transform: scale(1.4); }
.rm-map-me { width: 14px; height: 14px; border-radius: 999px; background: #3b82f6; border: 2px solid #fff; }
.leaflet-popup-content { font-family: var(--rm-font); font-size: 12px; }
.leaflet-popup-content b { display: block; font-weight: 500; margin-bottom: .25rem; }
.rm-stores-list { display: grid; gap: 1px; background: var(--rm-border); }
@media (min-width: 640px) { .rm-stores-list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rm-stores-list { grid-template-columns: repeat(3, 1fr); } }
.rm-store { display: flex; flex-direction: column; padding: 1.25rem; background: var(--rm-bg); cursor: pointer; transition: background .2s; }
.rm-store:hover { background: color-mix(in oklab, var(--rm-secondary) 40%, var(--rm-bg)); }
.rm-store.is-active { background: color-mix(in oklab, var(--rm-secondary) 60%, var(--rm-bg)); box-shadow: inset 0 0 0 1px var(--rm-brand); }
.rm-store__top { display: flex; justify-content: space-between; font-size: 10px; text-transform: uppercase; letter-spacing: .24em; color: var(--rm-muted-fg); }
.rm-store__dist { color: var(--rm-brand); letter-spacing: .2em; }
.rm-store__name { margin-top: .75rem; font-family: var(--rm-font); font-size: 1rem; font-weight: 400; line-height: 1.25; letter-spacing: 0; }
.rm-store__meta { flex: 1; list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; font-size: 13px; line-height: 1.6; color: var(--rm-muted-fg); }
.rm-store__meta li { display: flex; gap: .5rem; }
.rm-store__meta .rm-icon { width: .875rem; height: .875rem; margin-top: .2rem; color: color-mix(in oklab, var(--rm-fg) 50%, transparent); }
.rm-store__actions { margin-top: 1rem; display: flex; gap: .5rem; }
.rm-store__actions a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .375rem; height: 2.25rem; font-size: 10px; text-transform: uppercase; letter-spacing: .22em; transition: all .2s; }
.rm-store__actions .rm-icon { width: .75rem; height: .75rem; }
.rm-store__call { background: var(--rm-fg); color: var(--rm-bg); }
.rm-store__call:hover { background: var(--rm-brand); }
.rm-store__dir { border: 1px solid var(--rm-fg); }
.rm-store__dir:hover { background: var(--rm-fg); color: var(--rm-bg); }

.rm-empty-state { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; padding-block: 5rem; text-align: center; font-size: .875rem; color: var(--rm-muted-fg); }
.rm-empty-state__icon { width: 2.5rem; height: 2.5rem; opacity: .4; }
.rm-404 { max-width: 48rem; margin: 0 auto; padding: 8rem 1.5rem; text-align: center; }
.rm-404 h1 { margin-top: 1rem; }
.rm-404 p { margin-top: 1rem; }
.rm-404 .rm-btn { margin-top: 2rem; }
.rm-comments { margin-top: 4rem; }
.rm-comments__list { list-style: none; padding: 0; }

/* ==========================================================================
   WooCommerce pages: cart, checkout, account, order received, notices
   (classic shortcode templates + light touch for block cart/checkout)
   ========================================================================== */
.rm-wc-page { padding-block: 2.5rem 2rem; }
@media (min-width: 768px) { .rm-wc-page { padding-block: 4rem 2rem; } }
.rm-wc-page, .rm-wc-page .woocommerce { font-size: .875rem; line-height: 1.6; }
.rm-wc-page h2, .rm-wc-page h3 { font-family: var(--rm-font); font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; line-height: 1.4; color: var(--rm-fg); margin: 0 0 1.5rem; }
.rm-wc-page .woocommerce::after, .rm-wc-page .col2-set::after { content: ""; display: table; clear: both; }

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, .wc-block-components-notice-banner {
	position: relative; list-style: none; margin: 0 0 2rem !important; padding: 1rem 1.25rem !important; border: 1px solid var(--rm-border) !important; border-left: 2px solid var(--rm-fg) !important; border-radius: 0 !important; background: var(--rm-secondary) !important; color: var(--rm-fg) !important; font-size: .8125rem; line-height: 1.6; }
.woocommerce-error, .wc-block-components-notice-banner.is-error { border-left-color: var(--rm-brand) !important; }
.woocommerce-error li { margin: 0; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 1rem; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { background: transparent !important; border-left-color: var(--rm-border) !important; font-size: .75rem; letter-spacing: .02em; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce-page .button, .wc-block-components-button:not(.is-link) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; border: 1px solid var(--rm-fg) !important; border-radius: 0 !important; background: var(--rm-fg) !important; color: var(--rm-bg) !important; font-family: var(--rm-font) !important; font-size: .6875rem !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: .24em; padding: .875rem 2rem !important; line-height: 1.2 !important; box-shadow: none !important; transition: opacity .2s; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { opacity: .88; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5 !important; }
.woocommerce button[name="update_cart"], .woocommerce button[name="apply_coupon"], .woocommerce .woocommerce-Button--previous, .woocommerce a.button.wc-backward { background: transparent !important; color: var(--rm-fg) !important; }
.woocommerce button[name="update_cart"]:hover, .woocommerce button[name="apply_coupon"]:hover, .woocommerce a.button.wc-backward:hover { background: var(--rm-fg) !important; color: var(--rm-bg) !important; opacity: 1; }

/* Form fields */
.woocommerce form .form-row { margin: 0 0 1.25rem; padding: 0; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
@media (min-width: 640px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - .625rem); float: left; }
	.woocommerce form .form-row-last { float: right; }
	.woocommerce form .form-row-wide { clear: both; }
}
.woocommerce form .form-row label, .woocommerce-page form .form-row label { display: block; margin-bottom: .5rem; font-size: .625rem; font-weight: 500; text-transform: uppercase; letter-spacing: .2em; line-height: 1.4; color: var(--rm-muted-fg); }
.woocommerce form .form-row .required { color: var(--rm-brand); text-decoration: none; border: 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .quantity .qty, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce form.checkout_coupon .input-text, .woocommerce-page .select2-container .select2-selection--single {
	width: 100%; height: auto; min-height: 3rem; border: 1px solid var(--rm-border) !important; border-radius: 0 !important; background: var(--rm-bg) !important; padding: .75rem 1rem !important; font-size: .875rem; line-height: 1.4; color: var(--rm-fg); box-shadow: none !important; outline: none; transition: border-color .2s; }
.woocommerce form .form-row textarea { min-height: 7rem; resize: vertical; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus, .select2-container--open .select2-selection { border-color: var(--rm-fg) !important; }
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select, .woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: var(--rm-brand) !important; }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--rm-border) !important; }
.woocommerce form .form-row select { appearance: none; -webkit-appearance: none; background: var(--rm-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1rem center !important; padding-right: 2.5rem !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; color: var(--rm-fg); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: .75rem; }
.select2-dropdown { border-color: var(--rm-fg) !important; border-radius: 0 !important; font-size: .875rem; }
.select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--rm-fg) !important; color: var(--rm-bg) !important; }
.woocommerce form .form-row input[type="checkbox"], .woocommerce form .form-row input[type="radio"], .woocommerce-page #payment input[type="radio"], .woocommerce ul#shipping_method li input { accent-color: var(--rm-fg); width: 1rem; height: 1rem; margin: 0 .625rem 0 0; vertical-align: -2px; }
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: .25rem; font-size: .75rem; text-transform: none; letter-spacing: .02em; color: var(--rm-fg); cursor: pointer; }
.woocommerce form .form-row .woocommerce-form__label-for-checkbox input { margin-top: .2rem; }

/* Checkout layout: details left, sticky order summary right */
.woocommerce-checkout .rm-wc-page { max-width: 80rem; }
.woocommerce form.checkout_coupon, .woocommerce form.woocommerce-form-login { margin: 0 0 2.5rem; padding: 1.5rem; border: 1px solid var(--rm-border); border-radius: 0; }
.woocommerce form.checkout_coupon { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.woocommerce form.checkout_coupon p:first-child { width: 100%; margin: 0; font-size: .8125rem; color: var(--rm-muted-fg); }
.woocommerce form.checkout_coupon .form-row { flex: 1 1 14rem; width: auto; float: none; margin: 0; }
.woocommerce form.checkout_coupon .form-row-last { flex: 0 0 auto; }
.woocommerce form.checkout_coupon .clear { display: none; }
form.woocommerce-checkout { display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); align-items: start; }
form.woocommerce-checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; margin-bottom: 2rem; }
@media (min-width: 1024px) {
	form.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) minmax(380px, 460px); column-gap: 4rem; row-gap: 0; }
	form.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
	form.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
	form.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--rm-header-h) + 1.5rem); }
	form.woocommerce-checkout > .woocommerce-NoticeGroup + #customer_details { grid-row: 2 / span 3; }
	form.woocommerce-checkout > .woocommerce-NoticeGroup ~ #order_review_heading { grid-row: 2; }
	form.woocommerce-checkout > .woocommerce-NoticeGroup ~ #order_review { grid-row: 3; }
}
.woocommerce .col2-set, .woocommerce-page .col2-set { width: 100%; }
#customer_details.col2-set .col-1, #customer_details.col2-set .col-2 { float: none; width: 100%; max-width: none; }
#customer_details .col-2 { margin-top: 2rem; }
.woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3, #order_review_heading { padding-bottom: 1rem; border-bottom: 1px solid var(--rm-border); }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper { display: flow-root; }
#ship-to-different-address { font-size: .6875rem; }
#ship-to-different-address label { display: flex; align-items: center; gap: .5rem; cursor: pointer; font-weight: 500; }
#order_review_heading { margin: 0 0 0 !important; padding: 1.5rem 1.5rem 1rem !important; background: var(--rm-secondary); border: 1px solid var(--rm-border); border-bottom: 0; }
#order_review { padding: 0 1.5rem 1.5rem; background: var(--rm-secondary); border: 1px solid var(--rm-border); border-top: 0; }
@media (max-width: 1023.98px) { form.woocommerce-checkout #order_review_heading { margin-top: 3rem !important; } }

/* Order summary table */
.woocommerce table.shop_table { width: 100%; margin: 0 0 1.5rem; border: 0 !important; border-radius: 0 !important; border-collapse: collapse; font-size: .8125rem; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .875rem 0; border: 0 !important; border-top: 1px solid var(--rm-border) !important; background: transparent !important; text-align: left; vertical-align: top; line-height: 1.5; }
.woocommerce table.shop_table thead th { border-top: 0 !important; font-size: .625rem; font-weight: 500; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.woocommerce table.shop_table tfoot th, .woocommerce-checkout-review-order-table tfoot th { font-size: .625rem; font-weight: 500; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); padding-right: 1rem; width: 40%; }
.woocommerce table.woocommerce-checkout-review-order-table td.product-total, .woocommerce table.woocommerce-checkout-review-order-table th.product-total, .woocommerce table.shop_table tfoot td { text-align: right; }
.woocommerce table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { text-align: left; }
.woocommerce-checkout-review-order-table .product-name { padding-right: 1rem; }
.woocommerce-checkout-review-order-table .product-quantity { font-weight: 400; color: var(--rm-muted-fg); }
.woocommerce-checkout-review-order-table .variation, .woocommerce table.shop_table .variation { display: flex; flex-wrap: wrap; gap: .125rem .375rem; margin: .375rem 0 0; font-size: .6875rem; color: var(--rm-muted-fg); }
.woocommerce table.shop_table .variation dt, .woocommerce table.shop_table .variation dd { margin: 0; float: none; }
.woocommerce table.shop_table .variation dd p { margin: 0; }
.woocommerce table.shop_table .order-total th, .woocommerce table.shop_table .order-total td { padding-top: 1.125rem; border-top: 1px solid var(--rm-fg) !important; }
.woocommerce table.shop_table .order-total td strong .amount { font-size: 1.125rem; font-weight: 500; }
.woocommerce table.shop_table small.includes_tax, .woocommerce table.shop_table .tax_label { display: block; margin-top: .25rem; font-size: .625rem; text-transform: uppercase; letter-spacing: .16em; color: var(--rm-muted-fg); }
.woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
.woocommerce ul#shipping_method li { display: flex; align-items: flex-start; gap: .25rem; margin: 0 0 .625rem; padding: 0; text-indent: 0; font-size: .8125rem; line-height: 1.5; }
.woocommerce ul#shipping_method li:last-child { margin-bottom: 0; }
.woocommerce ul#shipping_method li input { margin-top: .2rem; flex-shrink: 0; }
.woocommerce ul#shipping_method li label { font-weight: 400; }
.woocommerce ul#shipping_method .amount { font-weight: 500; }
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { text-align: left; }
@media (min-width: 1024px) {
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th, .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { display: block; width: 100%; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { padding-bottom: .5rem; }
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { border-top: 0 !important; padding-top: 0; }
}

/* Payment */
.woocommerce-checkout #payment, .woocommerce-checkout #payment.woocommerce-checkout-payment { background: transparent !important; border-radius: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 0 0 1.25rem; border: 0; border-bottom: 1px solid var(--rm-border); list-style: none; }
/* Radio | label on one row; the description box spans underneath. */
.woocommerce-checkout #payment ul.payment_methods li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .625rem; align-items: start; margin: 0; padding: .875rem 0 0; line-height: 1.5; text-align: left; }
.woocommerce-checkout #payment ul.payment_methods li::before, .woocommerce-checkout #payment ul.payment_methods li::after { content: none !important; display: none !important; }
.woocommerce-checkout #payment ul.payment_methods li > input.input-radio { margin: .2rem 0 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li > label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .375rem .75rem; min-width: 0; font-size: .8125rem; font-weight: 500; line-height: 1.45; cursor: pointer; overflow-wrap: anywhere; }
.woocommerce-checkout #payment ul.payment_methods li > label img { display: block; float: none; max-width: 100%; max-height: 1.5rem; width: auto; height: auto; margin: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li > div.payment_box, .woocommerce-checkout #payment ul.payment_methods li > :not(input):not(label) { grid-column: 1 / -1; }
.woocommerce-checkout #payment ul.payment_methods li img { max-width: 100%; height: auto; }
.woocommerce-checkout #payment div.payment_box { margin: .75rem 0 0 !important; padding: .875rem 1rem !important; border: 1px solid var(--rm-border); border-radius: 0 !important; background: var(--rm-bg) !important; color: var(--rm-muted-fg) !important; font-size: .75rem; line-height: 1.7; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p { margin: 0 0 .5rem; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment div.form-row, .woocommerce-checkout #payment .place-order { margin: 0 !important; padding: 1.25rem 0 0 !important; }
.woocommerce-terms-and-conditions-wrapper { font-size: .75rem; line-height: 1.7; color: var(--rm-muted-fg); }
.woocommerce-privacy-policy-text p { margin: 0 0 1rem; }
.woocommerce-terms-and-conditions-wrapper .form-row { margin-bottom: 1.25rem; }
.woocommerce-terms-and-conditions-checkbox-text { color: var(--rm-fg); letter-spacing: .01em; }
.woocommerce-terms-and-conditions-checkbox-text a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-checkout #payment #place_order, .woocommerce #place_order { float: none; display: flex; width: 100%; min-height: 3.25rem; font-size: .75rem !important; letter-spacing: .24em; }
.woocommerce-checkout .blockUI.blockOverlay { background: rgb(255 255 255 / .6) !important; }

/* Cart page */
.woocommerce-cart .rm-wc-page { max-width: 80rem; }
@media (min-width: 1024px) {
	.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 420px); gap: 4rem; align-items: start; }
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-cart .cart-collaterals { position: sticky; top: calc(var(--rm-header-h) + 1.5rem); }
}
.woocommerce-cart table.cart th.product-thumbnail, .woocommerce-cart table.cart td.product-thumbnail { width: 5.5rem; }
.woocommerce-cart table.cart img { width: 4.5rem; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--rm-muted); }
.woocommerce-cart table.cart td { vertical-align: middle; }
.woocommerce-cart table.cart td.product-name a { font-size: .875rem; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--rm-brand); }
.woocommerce-cart table.cart a.remove { display: inline-flex; width: 1.75rem; height: 1.75rem; align-items: center; justify-content: center; border-radius: 0; color: var(--rm-muted-fg) !important; font-size: 1.25rem; font-weight: 300; }
.woocommerce-cart table.cart a.remove:hover { background: var(--rm-fg) !important; color: var(--rm-bg) !important; }
.woocommerce-cart table.cart .quantity .qty { width: 4.5rem; min-height: 2.5rem; text-align: center; padding: .5rem !important; }
.woocommerce-cart table.cart td.actions { padding-top: 1.5rem; text-align: right; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: .5rem; float: left; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 12rem; min-height: 3rem; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; padding: 1.5rem; background: var(--rm-secondary); border: 1px solid var(--rm-border); }
.woocommerce-cart .cart-collaterals .cart_totals h2 { padding-bottom: 1rem; border-bottom: 1px solid var(--rm-border); margin-bottom: 0; }
.woocommerce-cart .cart_totals table.shop_table th { width: 40%; font-size: .625rem; font-weight: 500; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination, .woocommerce-cart .cart_totals .shipping-calculator-button { font-size: .75rem; color: var(--rm-muted-fg); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; margin: 0; font-size: .75rem !important; }
.cart-empty.woocommerce-info { text-align: center; padding: 3rem 1.5rem !important; border-left-color: var(--rm-border) !important; }
.return-to-shop { text-align: center; }
@media (max-width: 767.98px) {
	.woocommerce-cart table.cart td.actions .coupon { float: none; width: 100%; margin-bottom: 1rem; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto; }
	.woocommerce table.shop_table_responsive tr td::before { font-size: .625rem; font-weight: 500; text-transform: uppercase; letter-spacing: .18em; color: var(--rm-muted-fg); }
	.woocommerce table.shop_table_responsive tr { display: block; padding: .5rem 0; border-top: 1px solid var(--rm-border); }
	.woocommerce table.shop_table_responsive tr td { border-top: 0 !important; padding: .375rem 0; }
}

/* Order received / order details */
.woocommerce-order { max-width: 48rem; margin: 0 auto; }
.woocommerce-thankyou-order-received { margin: 0 0 2rem; font-family: var(--rm-display); font-size: 1.5rem; font-weight: 300; text-align: center; }
ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1px; margin: 0 0 3rem; padding: 0; list-style: none; border: 1px solid var(--rm-border); background: var(--rm-border); }
ul.woocommerce-order-overview::before, ul.woocommerce-order-overview::after { display: none !important; content: none !important; }
.woocommerce-order > p:not(.woocommerce-thankyou-order-received), .woocommerce-order > .woocommerce-bacs-bank-details { margin: 0 0 3rem; font-size: .8125rem; line-height: 1.8; color: var(--rm-muted-fg); }
.woocommerce-order-details__title, .woocommerce-column__title { margin-top: 0 !important; }
ul.woocommerce-order-overview li { margin: 0 !important; padding: 1.25rem !important; border: 0 !important; background: var(--rm-bg); font-size: .625rem !important; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
ul.woocommerce-order-overview li strong { display: block; margin-top: .5rem; font-size: .875rem; text-transform: none; letter-spacing: 0; color: var(--rm-fg); }
.woocommerce-order-details, .woocommerce-customer-details { margin-bottom: 3rem; }
.woocommerce-customer-details address { padding: 1.25rem; border: 1px solid var(--rm-border) !important; border-radius: 0 !important; font-size: .8125rem; line-height: 1.8; }

/* My account */
/* WooCommerce's clearfix pseudo-elements would become grid cells in the grid layouts below. */
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after, .woocommerce-cart .woocommerce::before, .woocommerce-cart .woocommerce::after, form.woocommerce-checkout::before, form.woocommerce-checkout::after { content: none !important; display: none !important; }
/* Menu in a fixed left column, content on the right; anything else (notices, plugin output) spans both. */
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; max-width: none; }
@media (min-width: 768px) {
	.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 14rem minmax(0, 1fr); column-gap: 3.5rem; row-gap: 0; align-items: start; grid-auto-flow: row dense; }
	.woocommerce-account.logged-in .woocommerce > * { grid-column: 1 / -1; }
	.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; position: sticky; top: calc(var(--rm-header-h) + 1.5rem); }
	.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; }
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content p { margin: 0 0 1rem; line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button { order: 2; float: none; margin: 0; min-height: 2.5rem; padding: .625rem 1.25rem !important; }
.woocommerce-account form.woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields { max-width: 40rem; display: flow-root; }
.woocommerce-account form.woocommerce-EditAccountForm fieldset { margin: 2rem 0 1.5rem; padding: 1.5rem; border: 1px solid var(--rm-border); }
.woocommerce-account form.woocommerce-EditAccountForm legend { padding: 0 .5rem; font-size: .6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; }
.woocommerce-account .woocommerce-form-row em, .woocommerce-account #account_display_name_description { display: block; margin-top: .375rem; font-size: .75rem; color: var(--rm-muted-fg); }
.woocommerce-account .woocommerce-Addresses { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; padding: 1.5rem; border: 1px solid var(--rm-border); }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { margin: 0 0 1rem; }
.woocommerce-account .woocommerce-Address address { font-size: .8125rem; line-height: 1.8; }
.woocommerce-account table.woocommerce-orders-table .button { min-height: 2.25rem; padding: .5rem 1rem !important; margin: 0 .25rem .25rem 0; }
@media (max-width: 767.98px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; border-left: 0; border-bottom: 1px solid var(--rm-border); }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding: .625rem .875rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { box-shadow: inset 0 -2px 0 var(--rm-fg); }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 2rem; border-left: 1px solid var(--rm-border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .75rem 1.25rem; font-size: .6875rem; text-transform: uppercase; letter-spacing: .2em; color: var(--rm-muted-fg); }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover, .woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--rm-fg); box-shadow: inset 1px 0 0 var(--rm-fg); }
.woocommerce-account .woocommerce-MyAccount-content { font-size: .875rem; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .u-columns.col2-set { display: grid; gap: 3rem; }
@media (min-width: 768px) { .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr 1fr; } .woocommerce-account:not(.logged-in) .woocommerce { display: block; } }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { float: none; width: auto; }
.woocommerce form.login, .woocommerce form.register { margin: 0; padding: 2rem; border: 1px solid var(--rm-border) !important; border-radius: 0 !important; }
.woocommerce form.login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: .5rem; margin: 0 0 1rem; font-size: .75rem; }
.woocommerce .lost_password a { font-size: .75rem; color: var(--rm-muted-fg); text-decoration: underline; }
.rm-track .track_order { max-width: 32rem; }

/* Block cart / checkout (WooCommerce Blocks) */
.wc-block-components-title, .wc-block-cart__totals-title, .wc-block-components-checkout-step__title { font-family: var(--rm-font) !important; font-size: .6875rem !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: .24em; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-select .wc-block-components-select__select { border-radius: 0 !important; border-color: var(--rm-border) !important; }
.wc-block-checkout__sidebar, .wc-block-cart__sidebar { background: var(--rm-secondary); padding: 1.5rem !important; }
.woocommerce span.onsale { display: none; }
