:root {
  --rs-v105-ink: #111;
  --rs-v105-muted: #686868;
  --rs-v105-line: #e7e7e4;
  --rs-v105-paper: #fff;
  --rs-v105-soft: #f7f7f4;
  --rs-v105-gold: #cda45f;
  --rs-v105-shell: 1280px;
  --rs-v105-header: 76px;
  --rs-v105-radius: 0;
  --rs-v105-font: "Helvetica Neue", Arial, sans-serif;
}

html { overflow-x: hidden; }
body,
body.rB,
body.rB .rs-service-hub-v1,
body.rB .rs-pdp-v1,
body.rB .rs-transaction-v1,
body.rB .rs-policy-v1 {
  font-family: var(--rs-v105-font) !important;
  color: var(--rs-v105-ink) !important;
  letter-spacing: 0 !important;
}

html body.rB > header.topbar.rs-global-header-v105,
header.topbar.rs-global-header-v105,
header.topbar.rs-global-header-v105.rs-commerce-header-v101 {
  position: sticky !important;
  inset: 0 0 auto !important;
  z-index: 100 !important;
  min-height: var(--rs-v105-header) !important;
  height: var(--rs-v105-header) !important;
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--rs-v105-line) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: none !important;
}

html body.rB > header.topbar.rs-global-header-v105 > .rs-shell,
header.topbar.rs-global-header-v105 > .rs-shell,
header.topbar.rs-global-header-v105.rs-commerce-header-v101 > .rs-shell {
  width: min(var(--rs-v105-shell), calc(100% - 48px)) !important;
  height: var(--rs-v105-header) !important;
  min-height: var(--rs-v105-header) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 168px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 0 !important;
}

html body.rB > header.topbar.rs-global-header-v105 .logo,
header.topbar.rs-global-header-v105 .logo {
  width: 168px !important;
  height: 48px !important;
  margin: 0 !important;
  background-size: contain !important;
  background-position: right center !important;
}

header.topbar.rs-global-header-v105 .rs-nav {
  height: var(--rs-v105-header) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}

header.topbar.rs-global-header-v105 .rs-nav a,
header.topbar.rs-global-header-v105 .rs-hn a,
header.topbar.rs-global-header-v105 .rs-ha > a,
header.topbar.rs-global-header-v105 .rs-ha > button,
header.topbar.rs-global-header-v105 .rs-lang {
  min-height: 44px !important;
  padding-inline: 6px !important;
  border-radius: 0 !important;
}

header.topbar.rs-global-header-v105 .rs-ha { gap: 6px !important; }
header.topbar.rs-global-header-v105 .rs-hs {
  width: 210px !important;
  height: 40px !important;
  border: 0 !important;
  border-bottom: 1px solid #bdbdb8 !important;
  border-radius: 0 !important;
}
header.topbar.rs-global-header-v105 .rs-hs input { height: 40px !important; font-size: 12px !important; }
header.topbar.rs-global-header-v105 .rs-hs button,
header.topbar.rs-global-header-v105 .rs-ht { min-width: 44px !important; height: 40px !important; background: transparent !important; }
header.topbar.rs-global-header-v105 .rs-lang { border: 0 !important; }
header.topbar.rs-global-header-v105 a { color:var(--rs-v105-ink) !important; text-decoration:none !important; }
header.topbar.rs-global-header-v105 .logo {
  display:block !important;
  overflow:hidden !important;
  background:none !important;
  text-indent:0 !important;
}
header.topbar.rs-global-header-v105 .logo img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:brightness(0) !important;
}
header.topbar.rs-global-header-v105 .rs-wordmark-v170 {
  display: inline-flex !important;
  align-items: center !important;
  color: #111 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(22px, 2.1vw, 31px) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-indent: 0 !important;
  overflow: visible !important;
}
header.topbar.rs-global-header-v105 .rs-ha { display:flex !important; align-items:center !important; }
header.topbar.rs-global-header-v105 .rs-ht { display:none !important; align-items:center !important; justify-content:center !important; border:0 !important; cursor:pointer !important; }
header.topbar.rs-global-header-v105 .rs-hp[hidden] { display:none !important; }
header.topbar.rs-global-header-v105 .rs-hp:not([hidden]) { display:none !important; }
header.topbar.rs-global-header-v105 .rs-nav a[aria-current="page"],
header.topbar.rs-global-header-v105 .rs-hn a[aria-current="page"] { color:#8f6528 !important; box-shadow:inset 0 -2px #cda45f !important; }

body.rB .rs-shell,
body.rB .rs-commerce-v1__shell,
body.rB .rs-service-hub-v1__shell {
  width: min(var(--rs-v105-shell), calc(100% - 48px)) !important;
}

body.rB .rs-hero {
  min-height: 520px !important;
  height: min(66svh, 680px) !important;
}
body.rB .rs-hero-copy { bottom: 56px !important; }
body.rB .rs-hero-copy .rs-shell { grid-template-columns: minmax(0, 680px) minmax(240px, 380px) !important; }
body.rB h1 { font-size: clamp(44px, 5vw, 76px) !important; line-height: 1.05 !important; }
body.rB .rs-kicker { margin-bottom: 18px !important; font-size: 12px !important; }
body.rB .rs-hero-side { font-size: 15px !important; line-height: 1.7 !important; }

body.rB .rs-intro,
body.rB .rs-section,
body.rB .rs-commerce-v1__section,
body.rB .rs-company,
body.rB .rs-cta { padding-block: 64px !important; }
body.rB .rs-intro h2,
body.rB .rs-head h2,
body.rB .rs-commerce-v1__head h2,
body.rB .rs-cta h2,
body.rB .rs-company h2 { font-size: clamp(32px, 3.4vw, 54px) !important; }
body.rB .rs-intro p,
body.rB .rs-head p,
body.rB .rs-commerce-v1__head p,
body.rB .rs-cta p,
body.rB .rs-company p { font-size: 15px !important; line-height: 1.75 !important; }

body.rB .rs-route-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 16px !important; }
body.rB .rs-route-card { min-height: 420px !important; padding: 24px !important; }
body.rB .rs-commerce-v1__product { flex-basis: calc((100% - 48px) / 4) !important; }
body.rB .rs-commerce-v1__product-media { aspect-ratio: 4 / 5 !important; }
body.rB .rs-commerce-v1__product-body { padding: 14px 12px 16px !important; }
body.rB .rs-commerce-v1__product h3 { min-height: 42px !important; font-size: 13px !important; }
body.rB .rs-commerce-v1__campaign-slide { min-height: 520px !important; }

body.rB .rs-pdp-v1,
body.rB .rs-transaction-v1,
body.rB .rs-policy-v1 { background: var(--rs-v105-paper) !important; }
body.rB .rs-pdp-v1__breadcrumb,
body.rB .rs-transaction-v1__breadcrumb,
body.rB .rs-policy-v1__breadcrumb { margin-top: 0 !important; }
body.rB .rs-pdp-v1__head,
body.rB .rs-transaction-v1__head,
body.rB .rs-policy-v1__head { min-height: 0 !important; padding-block: 42px !important; }

body.rB .rs-service-hub-v1__help { grid-template-columns: 1.4fr repeat(3, 1fr) !important; }
body.rB .rs-service-hub-v1__help-title,
body.rB .rs-service-hub-v1__contact { min-height: 116px !important; padding: 22px !important; }
body.rB .rs-service-hub-v1__footer {
  grid-template-columns: 1.2fr repeat(3, minmax(140px, 1fr)) !important;
  gap: 30px !important;
  padding-block: 48px 38px !important;
}
body.rB .rs-service-hub-v1__newsletter { display: none !important; }
body.rB .rs-service-hub-v1__links { gap: 4px !important; }
body.rB .rs-service-hub-v1__links a { min-height: 36px !important; }
body.rB .rs-service-hub-v1__legal { min-height: 64px !important; }

body.rB .rs-support-dock-v37,
body.rB .rs-support-actions-v1,
body.rB [data-rs-duplicate-service="true"],
body.rB .rs-commerce-v1__section--soft { display: none !important; }

/* Keep later homepage rails lightweight without removing products from discovery. */
body.rB .rs-commerce-v1 > .rs-deferred-section-v32 {
  content-visibility: auto;
  contain-intrinsic-size: auto 760px;
}

.rs-category-visual-v110 {
  position: relative;
  width: 100%;
  margin-top: 28px;
  overflow: hidden;
  background: #111;
  aspect-ratio: 16 / 6;
}
.rs-category-visual-v110__track,
.rs-category-visual-v110__slide { position: absolute; inset: 0; margin: 0; }
.rs-category-visual-v110__slide { opacity: 0; transition: opacity .45s ease; }
.rs-category-visual-v110__slide.is-active { opacity: 1; }
.rs-category-visual-v110__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rs-category-visual-v110__slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.08), rgba(0,0,0,.58)); }
.rs-category-visual-v110__slide picture { position: absolute; inset: 0; display: block; }
.rs-category-visual-v110__slide figcaption { position: absolute; z-index: 1; inset: auto 7% 16% auto; width: min(430px, 70%); color: #fff; }
.rs-category-visual-v110__slide figcaption > span { display: block; margin-bottom: 14px; color: #d8ad66; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.rs-category-visual-v110__slide figcaption strong { display: block; font-size: clamp(24px, 2.6vw, 42px); line-height: 1.15; font-weight: 650; }
.rs-category-visual-v110__slide figcaption small { display:block; margin-top:10px; color:rgba(255,255,255,.82); font-size:13px; font-weight:700; }
.rs-category-visual-v110__slide figcaption a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 22px; padding: 0 20px; border: 1px solid rgba(255,255,255,.72); color: #fff; font-size: 13px; font-weight: 800; }
.rs-shop-catalog-v1__match-note { display: block; max-width: 620px; margin-top: 8px; color: #69635d; font-size: 12px; line-height: 1.65; }
.rs-category-visual-v110__nav {
  position: absolute;
  inset: auto 22px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 2;
}
.rs-category-visual-v110__nav > button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.65);
  background: rgba(17,17,17,.55);
  color: #fff;
  font-size: 24px;
}
.rs-category-visual-v110__dots { display: flex; gap: 7px; margin-inline-end: auto; }
.rs-category-visual-v110__dots button {
  width: 28px;
  height: 3px;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.48);
}
.rs-category-visual-v110__dots button[aria-current="true"] { background: #fff; }

@media (max-width: 1180px) {
  :root { --rs-v105-header: 68px; }
  html body.rB > header.topbar.rs-global-header-v105 > .rs-shell,
  header.topbar.rs-global-header-v105 > .rs-shell { width: calc(100% - 28px) !important; height: var(--rs-v105-header) !important; min-height: var(--rs-v105-header) !important; grid-template-columns: 142px 1fr auto !important; gap: 12px !important; }
  html body.rB > header.topbar.rs-global-header-v105 .logo,
  header.topbar.rs-global-header-v105 .logo { width: 142px !important; height: 40px !important; }
  header.topbar.rs-global-header-v105 .rs-nav,
  header.topbar.rs-global-header-v105 .rs-hs,
  header.topbar.rs-global-header-v105 .rs-hl { display: none !important; }
  header.topbar.rs-global-header-v105 .rs-ht { display: inline-flex !important; }
  header.topbar.rs-global-header-v105 .rs-hp:not([hidden]) { display:block !important; position:absolute !important; inset:var(--rs-v105-header) 0 auto !important; padding:14px !important; background:#fff !important; border-bottom:1px solid var(--rs-v105-line) !important; box-shadow:0 20px 44px rgba(0,0,0,.12) !important; }
  header.topbar.rs-global-header-v105 .rs-hp:not([hidden]) { max-height:calc(100svh - var(--rs-v105-header)) !important; overflow:auto !important; overscroll-behavior:contain !important; }
  header.topbar.rs-global-header-v105 .rs-hn { width:min(var(--rs-v105-shell),calc(100% - 28px)) !important; margin:0 auto !important; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:1px !important; background:var(--rs-v105-line) !important; }
  header.topbar.rs-global-header-v105 .rs-hn a { min-height:48px !important; padding:10px 14px !important; display:flex !important; align-items:center !important; background:#fff !important; font-weight:750 !important; }
  body.rB .rs-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.rB .rs-commerce-v1__product { flex-basis: calc((100% - 16px) / 2) !important; }
}

@media (max-width: 620px) {
  body.rB .rs-shell,
  body.rB .rs-commerce-v1__shell,
  body.rB .rs-service-hub-v1__shell { width: calc(100% - 24px) !important; }
  html body.rB > header.topbar.rs-global-header-v105 > .rs-shell,
  header.topbar.rs-global-header-v105 > .rs-shell { width: calc(100% - 20px) !important; grid-template-columns: 128px minmax(0, 1fr) auto !important; }
  html body.rB > header.topbar.rs-global-header-v105 .logo,
  header.topbar.rs-global-header-v105 .logo { width: 128px !important; height: 38px !important; }
  header.topbar.rs-global-header-v105 .rs-hn { width:calc(100% - 20px) !important; grid-template-columns:1fr !important; }
  body.rB .rs-hero { min-height: 520px !important; height: 68svh !important; }
  body.rB .rs-hero-copy { bottom: 42px !important; }
  body.rB .rs-hero-copy .rs-shell { display: block !important; }
  body.rB .rs-hero-side { margin-top: 16px !important; max-width: 90% !important; }
  body.rB h1 { font-size: clamp(38px, 12vw, 56px) !important; }
  body.rB .rs-intro,
  body.rB .rs-section,
  body.rB .rs-commerce-v1__section,
  body.rB .rs-company,
  body.rB .rs-cta { padding-block: 44px !important; }
  body.rB .rs-route-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  body.rB .rs-route-card { min-height: 310px !important; padding: 16px !important; }
  body.rB .rs-route-card strong { font-size: 21px !important; }
  body.rB .rs-commerce-v1__product { flex-basis: calc((100% - 10px) / 2) !important; }
  body.rB .rs-commerce-v1__rail { gap: 10px !important; }
  body.rB .rs-commerce-v1__campaign-slide { grid-template-columns: 1fr !important; min-height: 0 !important; }
  body.rB .rs-commerce-v1__campaign-media { aspect-ratio: 4 / 3 !important; }
  body.rB .rs-service-hub-v1__help,
  body.rB .rs-service-hub-v1__footer { grid-template-columns: 1fr !important; }
  body.rB .rs-service-hub-v1__help-title,
  body.rB .rs-service-hub-v1__contact { min-height: 0 !important; }
  .rs-category-visual-v110 { margin-top: 18px; aspect-ratio: 4 / 3; }
  .rs-category-visual-v110__nav { inset: auto 12px 12px; }
  .rs-category-visual-v110__slide figcaption { inset: auto 20px 64px 20px; width: auto; }
  .rs-category-visual-v110__slide figcaption strong { font-size: clamp(24px, 7.5vw, 34px); }
  .rs-category-visual-v110__slide figcaption a { min-height: 42px; margin-top: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
