.rh-storefront { color:#2e2536; }
.rh-storefront .rh-eyebrow,.rh-footer .rh-eyebrow { display:block; font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.17em; color:#9e6eb2; }
.rh-home-hero { display:grid; grid-template-columns:1.7fr 1fr; gap:16px; margin-top:24px; }
.rh-hero-main { min-height:460px; position:relative; isolation:isolate; background:#242225; border-radius:15px; overflow:hidden; }
.rh-hero-main > img { position:absolute; width:88%; height:100%; right:-12%; object-fit:cover; z-index:-2; }
.rh-hero-main:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#242225 8%,#242225e8 33%,#24222510 85%); }
.rh-hero-copy { padding:54px 38px; max-width:440px; }
.rh-hero-copy .rh-eyebrow { color:#cfafdf; }
.rh-hero-copy h1 { color:#fff; font-family:inherit; font-size:53px; font-weight:700; letter-spacing:-2px; line-height:1.08; margin:19px 0; }
.rh-hero-copy p { font-size:14px; line-height:1.8; color:#d4cbd9; max-width:270px; margin:0 0 25px; }
.rh-solid-link { display:inline-flex; align-items:center; justify-content:center; gap:18px; color:#fff; background:#8629a3; padding:14px 20px; border-radius:7px; font-size:12px; font-weight:600; min-height:44px; }
.rh-solid-link:hover { background:#a33cc2; color:#fff; }
.rh-hero-secondary { display:block; color:#d4cbd9; font-size:11px; margin-top:15px; }
.rh-hero-secondary:hover { color:#fff; }
.rh-hero-signature { position:absolute; bottom:17px; right:22px; font-size:8px; letter-spacing:.15em; color:#ad9eb3; }
.rh-hero-side { display:grid; grid-template-rows:1fr 1fr; gap:16px; }
.rh-editorial-card { position:relative; background:#252525; border-radius:15px; overflow:hidden; display:flex; align-items:flex-end; isolation:isolate; padding:26px; }
.rh-editorial-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .4s; }
.rh-editorial-card:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#17141ee8,transparent); z-index:-1; }
.rh-editorial-card:hover img { transform:scale(1.04); }
.rh-editorial-card .rh-eyebrow { color:#d6bedf; font-size:9px; }
.rh-editorial-card h2 { color:#fff; font:600 24px/1.2 sans-serif; margin:7px 0 15px; letter-spacing:-.5px; }
.rh-editorial-link { color:#fff; font-size:11px; display:flex; gap:20px; align-items:center; }
.rh-service-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:24px 0; border-bottom:1px solid #eee6f2; }
.rh-service-strip a { display:flex; align-items:center; gap:13px; padding:0 18px; border-right:1px solid #eee6f2; color:#4b3b53; }
.rh-service-strip a:first-child { padding-left:0; }.rh-service-strip a:last-child { border:0; }
.rh-service-strip i { color:#9a55b1; font-size:22px; }.rh-service-strip strong { display:block; font-size:12px; font-weight:600; }.rh-service-strip small { color:#98899f; display:block; font-size:10px; line-height:1.5; margin-top:3px; }
.rh-departments { margin:48px 0; }.rh-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.rh-section-heading h2 { font:600 28px/1.25 sans-serif; letter-spacing:-.8px; color:#322439; margin:7px 0 0; }.rh-section-heading > a { color:#89509e; font-size:11px; white-space:nowrap; }.rh-section-heading > a i { margin-left:10px; }
.rh-department-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px 16px; }.rh-department { border:1px solid #ece4f0; border-radius:11px; overflow:hidden; background:#fff; }
.rh-department-image { overflow:hidden; aspect-ratio:1.65; background:#262626; }.rh-department-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }.rh-department:hover img { transform:scale(1.05); }
.rh-department-caption { display:flex; align-items:center; justify-content:space-between; padding:15px; gap:8px; }.rh-storefront .rh-department h3 { background:none; text-align:left; border:0; text-shadow:none; padding:0; font:600 14px/1.3 sans-serif; color:#493451; margin:0 0 5px; }.rh-department-caption span { color:#9c8ea4; font-size:9px; }.rh-department-caption > i { color:#a173b2; font-size:12px; }
.rh-amp-feature { display:grid; grid-template-columns:1fr 2fr; align-items:center; background:#faf8fc; border:1px solid #eee7f2; border-radius:14px; overflow:hidden; margin:42px 0; }.rh-amp-feature > div { padding:30px; }.rh-amp-feature h2 { font:600 30px/1.15 sans-serif; color:#33273d; letter-spacing:-1px; margin:10px 0 23px; }.rh-amp-feature > img { width:100%; mix-blend-mode:multiply; }
.rh-home-modules #content { min-width:0; }.rh-home-modules .rh-featured { margin:35px 0 45px; }.rh-home-modules .carousel { border:1px solid #eee7f2; border-radius:12px; }
.rh-home-modules .carousel-control-prev { left:0; }.rh-home-modules .carousel-control-next { right:0; }
.rh-story { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:40px; background:#f6eff9; border-radius:14px; margin:28px 0 48px; }.rh-story h2 { font:600 27px/1.3 sans-serif; color:#483252; letter-spacing:-.8px; margin:12px 0 0; }.rh-story p { font-size:13px; color:#8d7897; line-height:1.9; }.rh-story-links { display:flex; gap:25px; margin-top:20px; }.rh-story-links a { font-size:12px; color:#813f97; font-weight:600; }.rh-story-links i { margin-left:8px; }
.rh-home-faq { margin-bottom:54px; }.rh-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }.rh-faq-grid details { border:1px solid #e9e1ee; border-radius:9px; padding:18px; }.rh-faq-grid summary { display:flex; justify-content:space-between; gap:15px; align-items:center; font-size:12px; font-weight:600; cursor:pointer; list-style:none; }.rh-faq-grid summary::-webkit-details-marker { display:none; }.rh-faq-grid summary i { color:#a373b4; }.rh-faq-grid details[open] summary i { transform:rotate(45deg); }.rh-faq-grid p { font-size:12px; color:#917f9a; line-height:1.8; margin:15px 0 0; }.rh-faq-grid a { color:#8629a3; text-decoration:underline; }
footer.rh-footer { margin-top:35px; padding:0; background:#27212d; border:0; color:#c0b2c7; }.rh-footer-top { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:38px 0; border-bottom:1px solid #44384c; }.rh-footer-top h2 { font:600 27px/1.3 sans-serif; margin:9px 0 0; color:#fff; letter-spacing:-.5px; }.rh-footer-columns { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:35px; padding:40px 0; }.rh-footer h3 { color:#eee6f1; font:600 13px/1.5 sans-serif; margin:0 0 18px; }.rh-footer ul { list-style:none; padding:0; margin:0; }.rh-footer li { margin-bottom:11px; }.rh-footer a { color:#baaac2; font-size:12px; }.rh-footer a:hover { color:#fff; }.rh-footer .rh-solid-link { color:#fff; }.rh-footer .rh-footer-wordmark { display:inline-block; font-size:30px; font-weight:700; letter-spacing:1px; color:#fff; line-height:1.2; }.rh-footer-wordmark span { display:block; color:#b78dca; font-size:8px; letter-spacing:.15em; margin-top:6px; }.rh-footer-brand p { font-size:12px; line-height:1.8; margin:18px 0; }.rh-footer-brand .rh-footer-address { font-size:11px; color:#a392ac; }.rh-footer-brand > a:not(.rh-footer-wordmark) { display:block; margin-top:7px; overflow-wrap:anywhere; }.rh-footer-bottom { display:flex; justify-content:space-between; gap:16px; padding:20px 0; border-top:1px solid #44384c; font-size:10px; color:#93829d; }
footer.rh-footer .rh-footer-columns h3 { background:none; border:0; padding:0; text-align:left; text-shadow:none; color:#eee6f1; }
.rh-storefront :focus-visible,.rh-footer :focus-visible { outline:3px solid #bc83d0!important; outline-offset:3px; }
@media(max-width:991px) { .rh-home-hero { grid-template-columns:1.5fr 1fr; }.rh-hero-copy { padding:40px 25px; }.rh-hero-copy h1 { font-size:44px; }.rh-editorial-card { padding:20px; }.rh-editorial-card h2 { font-size:20px; }.rh-service-strip { grid-template-columns:1fr 1fr; gap:24px; }.rh-service-strip a { padding:0; border:0; }.rh-department-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.rh-story { gap:25px; padding:28px; }.rh-footer-columns { gap:25px; grid-template-columns:1.3fr 1fr 1fr; }.rh-footer-brand { grid-column:1/-1; }.rh-footer-brand .rh-footer-address { max-width:400px; } }
@media(max-width:600px) { .rh-home-hero { display:block; margin-top:14px; }.rh-hero-main { min-height:390px; }.rh-hero-copy { padding:35px 24px 45px; }.rh-hero-copy h1 { font-size:42px; }.rh-hero-copy p { max-width:235px; font-size:13px; }.rh-hero-main > img { width:110%; right:-33%; opacity:.7; }.rh-hero-side { display:grid; grid-template-columns:1fr 1fr; margin-top:12px; gap:10px; grid-template-rows:auto; }.rh-editorial-card { min-height:200px; padding:16px 12px; }.rh-editorial-card h2 { font-size:20px; }.rh-editorial-card .rh-eyebrow { font-size:7px; letter-spacing:.1em; }.rh-editorial-link { font-size:10px; gap:7px; }.rh-editorial-card img { object-position:70%; }.rh-service-strip { padding:22px 0; gap:22px 12px; }.rh-service-strip a { gap:9px; }.rh-service-strip i { font-size:18px; }.rh-service-strip strong { font-size:10px; }.rh-service-strip small { font-size:9px; }.rh-departments { margin:32px 0; }.rh-section-heading { display:block; }.rh-section-heading h2 { font-size:24px; }.rh-section-heading > a { display:inline-block; margin-top:12px; }.rh-department-grid { gap:12px; }.rh-department-caption { padding:12px 9px; }.rh-storefront .rh-department h3 { font-size:12px; }.rh-department-caption span { font-size:8px; }.rh-department-caption > i { display:none; }.rh-amp-feature { grid-template-columns:1fr; margin:30px 0; }.rh-amp-feature > div { padding:24px; }.rh-amp-feature h2 { font-size:27px; }.rh-amp-feature h2 br { display:none; }.rh-amp-feature > img { padding-bottom:16px; }.rh-story { display:block; padding:25px; margin-bottom:32px; }.rh-story h2 { font-size:25px; margin-bottom:20px; }.rh-faq-grid { grid-template-columns:1fr; }.rh-footer-top { display:block; padding:30px 0; }.rh-footer-top h2 { font-size:25px; margin-bottom:22px; }.rh-footer-columns { grid-template-columns:1fr 1fr; gap:28px 20px; padding:30px 0; }.rh-footer-columns > div:last-child { grid-column:1/-1; }.rh-footer-bottom { flex-direction:column; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .rh-editorial-card img,.rh-department-image img { transition:none; } }

/* Keep unavailable purchase controls legible in every product view. */
button.rh-unavailable:disabled, button.rh-unavailable:disabled:hover { color: #b42318 !important; background: #fff1f0 !important; border-color: #f2b8b5 !important; opacity: 1; cursor: not-allowed; box-shadow: none; }
button.rh-unavailable:disabled span, button.rh-unavailable:disabled i { color: #b42318 !important; }
