/*=============================
  Variable CSS
===============================*/
:root {
    --body-font-family: "Open Sans", Helvetica, Arial, sans-serif;
    --heading-font-family: "Montserrat", Helvetica, Arial, sans-serif;
    --transparent-color:transparent;
    --primary-color:#C9A52F;
    --secondary-color: #1a1c0f;
    --body-font-color: #4a5565;
    --heading-font-color:#1a1c0f;
    --paragraph-color: #4a5565;
    --placeholder-color:#828282;
    --menu-color:#B5B5B5;
    --section-background: #f9fbff;
    --section-background-two: #eef7ff;
    --section-background-three: #f4f4f4;
    --section-background-four: #fafafa;
    --body-font-size: 16px;
    --heading1-font-size:35px;
    --heading2-font-size:32px;
    --heading3-font-size:28px;
    --heading4-font-size:24px;
    --heading5-font-size:21px;
    --heading6font-size:18px;
    --p1-font-size: 18px;
    --p2-font-size: 16px;
    --p3-font-size: 14px;
    --body-font-weight: 400;
    --body-font-bold:600;
    --body-font-bolder: 700;
    --font-light:300;
    --line-height-p1:26px;
    --line-height-p2:24px;
    --line-height:1.2;
    --ghost-white: #f7fbff;
    --quote-color: #dcdfe5;
    --quote-color-two: #e5e5e5;
    --blog-meta-color: #6a6a6a;
    --lily-white: #e8faff;
    --widget-border-color: #d6d6d6;
    --widget-border-color-two: #efefef;
    --widget-border-color-three:#E5E5E5;
    --widget-border-color-four:#666666;
    --contact-border-color: #c8c8c8;
    ---border30-radius:30px;
    ---border20-radius:20px;
    ---border10-radius:10px;
    ---border5-radius:5px;
    --bright-turquoise: #17c7f8;
    --blue: #1c9cea;
    --blue-two: #4378e1;
    --blue-three: #14b9e9;
    --navy-blue: #082da3;
    --violets-blue: #816ef6;
    --zircon: #f4f7ff;
    --indigo: #6610f2;
    --purple: #b12aff;
    --purple-two: #e056fd;
    --magnolia: #fbf5ff;
    --pink: #ff0099;
    --red: #f9185d;
    --red-two: #ef162f;
    --blush: #fff7f9;
    --orange: #fb491a;
    --orange-two: #ff4d24;
    --sauvignon: #fff8f6;
    --yellow: #fabf1f;
    --yellow-two: #ecb40b;
    --yellow-three: #e1ab43;
    --yellow-four: #e29104;
    --island-spice: #fffaec;
    --green: #07e09b;
    --green-two: #22d361;
    --clear: #effffa;
    --teal: #20c997;
    --brown:#AF144B;
    --bubbles: #eafffb;
    --cyan: #f5f8ff;
    --white: #ffffff;
    --black: #1b1d21;
    --black-two: #010102;
    --black-three: #2D2D2D;
    --rich-black: #071022;
    --gray: #dcdcdc;
    --gray-two: #ebf2ff;
    --gray-three: #d7d7d7;
    --gray-four: #f6f9ff;
    --gray-five: #c2c2c2;
    --gray-six: #f8f8f8;
    --gray-seven: #e1e1e1;
    --gray-eight: #646464;
    --gray-nine: #9f9f9f;
    --facebook: #1877f2;
    --twitter: #1c9cea;
    --instagram: #833ab4;
    --linkedin: #0077b5;
    --pinterest: #e60023;
    --youtube: #c4302b;
    --skype: #00aff0;
    --scale: scale(1.05);

    --marquee-width: 100%;
    --marquee-height: 120px;
    --marquee-elements-displayed: 6;
    --marquee-element-width: calc(var(--marquee-width) / var(--marquee-elements-displayed));
    --marquee-animation-duration: calc(var(--marquee-elements) * 20s);
}

* {
    margin:0;
    padding:0;
}
body {
    width: 100%;
    min-height: 100%;
    height: auto;
    font-family: var(--body-font-family);
    margin:0 auto;
    font-weight:var(--body-font-weight);
    color:var(--paragraph-color);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    background:var(--white);
    overflow-x: clip;
    position: relative;
}
html {
  width: 100%;
  height: 100%;
}
a {
  text-decoration:none;
  outline:none;
  color: #9B9B9B;
}
a:hover {
  text-decoration: none;
}
a img {
  border: 0px none;
}
a:hover {
  outline: none;
}
a:active {
  outline: none;
  text-decoration: none;
}
a:focus {
  outline: none;
  outline-offset: 0px;
  text-decoration: none;
/*  color:#fff;*/
}
.clear {
  clear:both;
  overflow:hidden;
  height:0px;
  font-size:0px;
}
.clear_l {
  clear:both;
}
ul, ol {
  padding:0px;
  margin:0px;
  list-style:none;
}
input:focus, select:focus, textarea:focus, button:focus {
  outline:none;
  box-shadow:none;
}
h1, h2, h3, h4, h5, h6, p {
  margin:0px;
  padding:0px;
}
h1, h2, h3, h4, h5, h6{
    font-family: var(--heading-font-family);
}
p {
    margin-top: 0;
    line-height:1.5;
    margin-bottom: 1rem;
}
article, section, footer, header, figure, aside, hgroup, nav {
  display:block;
}
header, nav, article, footer, section, aside, figure, figcaption {
  display:block
}
.btn,
.btn:focus,
button {
  outline: none;
  border: none;
  box-shadow: none;
}
a:hover, .btn:hover{
  -moz-transition: 0.4s all;
  -o-transition: 0.4s all;
  -webkit-transition: 0.4s all;
  transition: 0.4s all; 
}
select,
select:focus,
input:focus,
.btn:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {   
  border-color: rgba(0, 0, 0, 0.8);
  box-shadow:none;
  outline:none;
  border-top-color: none;
  border-right-color: none;
  border-left-color: none;
}
.noPadding{
  padding:0;
}
.page-item.active .page-link {
    background-color: #567c32;
    border-color: #567c32;
}
/* :: 6.0 Buttons CSS */
.btn:focus {
  box-shadow: none;
}
embed, iframe, object {
    max-width: 100%;
}
input:focus, textarea:focus, .form-control:focus {
    outline: none;
    box-shadow: 0 5px 20px rgb(95 99 242 / 10%);
}

/**** Margin Section ***/

.mt-100 {
    margin-top: 100px;
}
.mt-15{
    margin-top:6rem;
}
.pt-30{
  padding-top: 30px;
}
.pt-60{
  padding-top: 60px;
}
.pt-80{
  padding-top: 80px;
}
.pt-120{
  padding-top: 120px;
}
.pt-160{
  padding-top: 160px;
}
.pb-30{
  padding-bottom: 30px;
}
.pb-60{
  padding-bottom: 60px;
}
.pb-80{
  padding-bottom: 80px;
}
.pb-120{
  padding-bottom:120px;
}
.pb-160{
  padding-bottom:160px;
}
.ptb-60 {
    padding:60px 0;
}
.ptb-80 {
    padding:80px 0;
}
.ptb-100 {
    padding:100px 0;
}
.ptb-120 {
    padding: 120px 0;
}
.ptb-160 {
    padding: 160px 0;
}
.rounded-custom {
    border-radius: 1rem !important;
}

/**** End Margin Section ***/
.w-100vw {
    min-width: 100vw !important;
}
/* Fix: don't override Bootstrap height utilities with viewport min-heights */
.h-100 {
    height: 100% !important;
}
.h-75 {
    height: 75% !important;
}
.h-50 {
    height: 50% !important;
}
.h-25 {
    height: 25% !important;
}

.bottom-ve{
  position: relative;
  z-index:1;
  margin-bottom: -12rem;
}
.bg-lighter{
  background:#fbf9fa;
}

/**** Btn Section ***/

.btn:focus, 
.btn:active:focus, 
.btn.active:focus{
    outline:none;
    box-shadow:none;
}

/**** End Btn Section ***/

.bg-light-subtle {
    background-color: #fafafa !important;
}
.v-middle {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}

/*----------------------------------------*/
/* 03 - Background Position & Size 
/*----------------------------------------*/
 .bg-cover{
    background-size: cover;
}
 .bg-contain{
    background-size: contain;
}
 .bg-pos-l{
    background-position: left;
}
 .bg-pos-r{
    background-position: right;
}
 .bg-pos-rt{
    background-position: right top;
}
 .bg-pos-lt{
    background-position: left top;
}
 .bg-pos-rb{
    background-position: right bottom;
}
 .bg-pos-lb{
    background-position: left bottom;
}
.bg-dark{
    background:#111 !important;
    background-color:#111;
}
.bg-light-dark{
    background:#2b2b2b;
}
.bg-green{
    background:var(--primary-color) !important;
}

/*------------ button ---------------- */
.tf-btn {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: var(--primary-color);
  color: var(--white);
  padding: 12px 35px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  text-transform: capitalize;
  border: 1px solid var(--primary-color);
  position: relative;
  overflow: hidden;
}
.tf-btn span {
  color: inherit;
}
.tf-btn .icon {
  font-size: 22px;
}
.tf-btn .text,
.tf-btn .icon {
  position: relative;
  z-index: 2;
}
.tf-btn.btn-lg {
  padding: 16px 32px;
}
.tf-btn.btn-md {
  padding: 10px 24px;
}
.tf-btn:not(.btn-reset):after {
  content: "";
  position: absolute;
  bottom: -50%;
  width: 102%;
  height: 100%;
  background-color: var(--white);
  transform-origin: bottom center;
  transition: transform 600ms cubic-bezier(0.48, 0, 0.12, 1);
  transform: skewY(9.3deg) scaleY(0);
  z-index: 1;
}
.tf-btn:not(.btn-reset):hover {
  color: var(--secondary-color);
}
.tf-btn:not(.btn-reset):hover::after {
  transform-origin: bottom center;
  transform: skewY(9.3deg) scaleY(2);
}
.tf-btn.btn-reset:hover {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--white);
}
.tf-btn.btn-white {
  background-color: var(--white);
  border: none;
  color: var(--secondary-color);
}
.tf-btn.btn-white:hover {
  color: var(--white);
}
.tf-btn.btn-white::after {
  background-color: var(--primary);
}
.tf-btn.btn-white.has-border {
  border: 1px solid var(--secondary-color);
}
.tf-btn.btn-white.has-border:hover {
  border-color: var(--primary-color);
}
.tf-btn.btn-square {
  border-radius: 8px;
}
.tf-btn.radius-4 {
  border-radius: 4px;
}

.tf-btn.btn-outlined-green {
  background-color:transparent;
  color:#C9A52F;
  border:1px solid #C9A52F;
}
.tf-btn.btn-outlined-green:hover {
  color: var(--white);
}
.tf-btn.btn-outlined-green::after {
  background-color:#C9A52F;
}

.tf-btn.btn-outlined-darkgreen {
  background-color:transparent;
  color:#1a1c0f;
  border:1px solid #1a1c0f;
}
.tf-btn.btn-outlined-darkgreen:hover {
  color: var(--white);
}
.tf-btn.btn-outlined-darkgreen::after {
  background-color:#1a1c0f;
}

.btn-line {
  font-size: 16px;
  line-height: 26px;
  padding-bottom: 4px;
  font-weight: 600;
  color: var(--secondary-color);
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(to right, var(--primary) 50%, var(--main) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.btn-line::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  right: 0;
  height: 2px;
  background-color: var(--secondary-color);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn-line::before {
  position: absolute;
  content: "";
  left: 0;
  width: 0;
  bottom: 0;
  height: 2px;
  background-color: var(--primary-color);
  transition: width 0.3s linear;
  z-index: 1;
}
.btn-line.style-white {
  color: var(--white);
  background: linear-gradient(to right, var(--primary-color) 50%, var(--white) 50%);
  background-size: 200% 100%;
  background-position: right;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s linear;
}
.btn-line.style-white::after {
  background-color: var(--white);
}
.btn-line:hover {
  background-position: left;
}
.btn-line:hover::before {
  width: 100%;
}
.btn-line.has-icon {
  gap: 7px;
  padding-top: 4px;
}
.btn-line.has-icon i {
  font-size: 25px;
}

.tf-btn-default {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 20px;
}
.tf-btn-default i {
  font-size: 20px;
}
.tf-btn-default:hover {
  color: var(--primary-color);
}
.tf-btn-default.style-white {
  color: var(--white);
}
.tf-btn-default.style-white:hover {
  color: var(--primary-color);
}

.btn-style-1 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 15px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  height: 36px;
}

.btn-style-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: 14px 15px;
  border-radius: 999px;
  background-color: var(--main);
  color: var(--white);
  letter-spacing: 0.1em;
  border: 0;
}
.btn-style-2:hover {
  background-color: var(--primary-color);
  color: var(--white);
}
.btn-style-2.btn-lg {
  padding: 16px 40px;
}
.btn-style-2.btn-lg-2 {
  padding: 15px;
}

.btn-style-3 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 15px;
  border-radius: 999px;
  background-color: var(--primary);
  color: var(--white);
  letter-spacing: 0.1em;
}
.btn-style-3:hover {
  background-color: var(--main);
}

.btn-style-4 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: 15px 39px;
  border-radius: 4px;
  border: 1px solid var(--main);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-style-4:hover {
  background-color: var(--main);
  color: var(--white);
}

.btn-style-5 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  padding: 15px 39px;
  border-radius: 4px;
  border: 1px solid rgb(254, 167, 36);
  background-color: rgb(254, 167, 36);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-style-5:hover {
  background-color: var(--white);
  border-color: var(--main);
  color: var(--main);
}

.btn-style-6 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  padding: 12px 24px;
  border-radius: 99px;
  background-color: var(--white);
  border: 0;
  color: var(--main);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-style-6 .icon {
  font-size: 24px;
}
.btn-style-6:hover {
  background-color: var(--main);
  color: var(--white);
}

.btn-sold-out {
  pointer-events: none;
  background-color: var(--line) !important;
  color: var(--secondary-2) !important;
  cursor: no-drop;
}

.btn-out-line {
  padding: 10px 40px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: 44px;
  border: 2px solid var(--line);
  background-color: var(--white);
  color: var(--main);
}
.btn-out-line:hover {
  color: var(--primary);
}

/*****  Owl dots Css  ******/
.owl-dots .owl-dot,
.owl-dots .owl-dot {
  background: transparent;
}
.owl-dots .owl-dot span,
.owl-dots .owl-dot span {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  margin: 0 1px;
  background: #fff;
  border: 1px solid #0061B2;
  background: transparent !important;
}
.owl-dots .owl-dot.active span,
.owl-dots .owl-dot.active span {
  background-color:#0061B2 !important;
  border-radius: 20px;
  border-color:#0061B2;
}
.slidenav-left.owl-theme .owl-dots,
.slidenav-left.owl-theme .owl-nav {
  text-align:center;
}
.slidenav-right.owl-theme .owl-dots,
.slidenav-right.owl-theme .owl-nav {
  text-align: right;
}
.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 2rem;
}

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-default .odometer-digit {
    display: inline-block;
    vertical-align: middle;
    position: relative
}
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    vertical-align: middle;
    visibility: hidden
}
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    text-align: left;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden
}
.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon {
    display: block
}
.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    display: block;
    -webkit-backface-visibility: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
    -webkit-transform: translateZ(0)
}
.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute
}
.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    transition: -webkit-transform 2s;
    transition: transform 2s;
    transition: transform 2s, -webkit-transform 2s
}
.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}
.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}
.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    transition: -webkit-transform 2s;
    transition: transform 2s;
    transition: transform 2s, -webkit-transform 2s;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}
.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    font-family: inherit;
    line-height: 1.1em
}
.odometer.odometer-auto-theme .odometer-value,
.odometer.odometer-theme-default .odometer-value {
    text-align: center
}

.bg-gray {
    background:#18191b;
}
.default-padding-bottom {
    padding-bottom: 120px;
}
.background-image {
    position: relative;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: top center !important;
}
.fix {
    overflow: hidden;
}
.bg-overlay:before{
  content:"";
  background: rgba(0, 0, 0, 0.3);
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  height:0;
}
.bg-overlay-2::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%);
}



/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */
@media screen and (max-width:1700px){ 
}
@media screen and (max-width:1600px){
}
@media screen and (max-width:1500px){ 
}
@media screen and (max-width:1400px){
}
@media screen and (max-width:1366px){
}
@media screen and (max-width:1300px){
}
@media screen and (max-width:1280px){
}
@media screen and (max-width:1200px){
}
@media screen and (max-width:1150px){
}
@media screen and (max-width:1100px){
}
@media screen and (max-width:1024px){
}
@media screen and (max-width:991px){
}
@media screen and (max-width:900px){
}
@media screen and (max-width:800px){
}
@media screen and (max-width:767px){
}
@media screen and (max-width:715px){
}
@media screen and (max-width:630px){
}
@media screen and (max-width:600px){
}
@media screen and (max-width:575px){
}
@media screen and (max-width:480px){
}
@media screen and (max-width:390px){
}
@media screen and (max-width:320px){
}

/* Ruth Labs two-tier site header */
.rs-site-header {
    position: sticky;
    z-index: 1000;
    top: -89px;
    width: 100%;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
}
.admin-bar .rs-site-header {
    top: -57px;
}
.rs-header-container {
    width: min(100% - 48px, 1165px);
    margin-inline: auto;
}
.rs-promo-bar {
    position: relative;
    z-index: 2;
    height: 89px;
    background: #162487;
    color: #fff;
}
.rs-promo-inner {
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
}
.rs-promo-book {
    position: absolute;
    z-index: 4;
    top: 10px;
    left: 0;
    width: 57px;
    height: 90px;
    object-fit: cover;
    box-shadow: 8px 10px 18px rgba(10, 16, 62, 0.14);
}
.rs-promo-copy {
    min-width: 0;
    margin-left: 80px;
    color: #fff;
}
.rs-promo-title {
    margin: 0;
    color: #fff;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.035em;
}
.rs-promo-text {
    margin: 4px 0 0;
    color: #fff;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -0.025em;
}
.rs-promo-button,
.rs-mobile-order-button {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 187px;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    border-radius: 999px;
    background: #fff;
    color: #071972;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.rs-promo-button:hover,
.rs-promo-button:focus-visible,
.rs-mobile-order-button:hover,
.rs-mobile-order-button:focus-visible {
    color: #071972;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(7, 18, 83, 0.2);
}
.rs-navigation-bar {
    position: relative;
    z-index: 1000;
    height: 94px;
    background: #edecf2;
    box-shadow: 0 1px 0 rgba(20, 25, 50, 0.03);
}
.rs-navigation-inner {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
}
.rs-header-logo {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
}
.rs-header-logo img {
    display: block;
    max-width: 100%;
    height: 33px;
    object-fit: contain;
}
.rs-drawer-shell {
    display: contents;
}
.rs-nav-drawer {
    display: flex;
    align-items: center;
    margin-left: auto;
}
.rs-primary-navigation {
    display: block;
}
.rs-nav-menu {
    display: flex;
    align-items: center;
    gap: 35px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.rs-nav-menu li {
    margin: 0;
    padding: 0;
}
.rs-nav-menu a {
    position: relative;
    display: block;
    padding: 10px 0;
    color: #161616;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.025em;
    text-decoration: none;
}
.rs-nav-menu a::after {
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 2px;
    background: #c9a71b;
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 180ms ease;
}
.rs-nav-menu a:hover,
.rs-nav-menu a:focus-visible,
.rs-nav-menu .current-menu-item > a {
    color: #202d8d;
}
.rs-nav-menu a:hover::after,
.rs-nav-menu a:focus-visible::after,
.rs-nav-menu .current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left;
}
.rs-menu-toggle,
.rs-menu-close,
.rs-menu-overlay,
.rs-mobile-menu-head,
.rs-mobile-order-button {
    display: none;
}
.rs-menu-toggle,
.rs-menu-close {
    padding: 0;
    background: transparent;
    color: #111;
}
.rs-menu-toggle svg,
.rs-menu-close svg {
    width: 28px;
    height: 28px;
    stroke-width: 2;
}
.rs-skip-link:focus {
    position: fixed;
    z-index: 9999;
    top: 8px;
    left: 8px;
    width: auto;
    height: auto;
    clip: auto;
    padding: 12px 18px;
    background: #fff;
    color: #202d8d;
}
@media (min-width: 901px) {
.rs-header-logo img {
    transform: translateY(5px);
}
}
@media (min-width: 1400px) {
.rs-nav-drawer {
    transform: translateX(62px);
}
.rs-nav-menu {
    gap: 43px;
}
}
@media (max-width: 1180px) {
  .rs-nav-menu {
      gap: 24px;
  }
  .rs-nav-menu a {
      font-size: 15px;
  }
  .rs-header-logo img {
      width: 285px;
      height: auto;
  }
}
@media (max-width: 900px) {
body.rs-menu-is-open {
    overflow: hidden;
}
.rs-header-container {
    width: min(100% - 32px, 720px);
}
.rs-promo-bar {
    height: 74px;
}
.rs-site-header {
    top: -74px;
}
.admin-bar .rs-site-header {
    top: -28px;
}
.rs-promo-book {
    top: 8px;
    width: 42px;
    height: 66px;
}
.rs-promo-copy {
    margin-left: 56px;
    padding-right: 10px;
}
.rs-promo-title {
    font-size: clamp(14px, 3.6vw, 18px);
}
.rs-promo-text {
    overflow: hidden;
    max-width: 510px;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rs-promo-button {
    min-width: 116px;
    min-height: 40px;
    padding-inline: 18px;
    font-size: 13px;
}
.rs-navigation-bar {
    height: 76px;
}
.rs-header-logo img {
    width: 225px;
}
.rs-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    cursor: pointer;
}
.rs-drawer-shell {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: block;
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear 280ms;
}
.rs-menu-overlay {
    position: fixed;
    z-index: 0;
    inset: 0;
    display: block;
    border: 0;
    background: rgba(8, 13, 39, 0.48);
    cursor: pointer;
    opacity: 0;
    transition: opacity 240ms ease;
}
.rs-nav-drawer {
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    width: min(86vw, 360px);
    align-items: stretch;
    flex-direction: column;
    overflow-y: auto;
    margin: 0;
    padding: 26px 26px 34px;
    background: #edecf2;
    box-shadow: -18px 0 50px rgba(10, 15, 51, 0.18);
    transform: translateX(105%);
    transition: transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.rs-menu-is-open .rs-drawer-shell {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.rs-menu-is-open .rs-menu-overlay {
    opacity: 1;
}
.rs-menu-is-open .rs-nav-drawer {
    transform: translateX(0);
}
.rs-mobile-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(17, 24, 70, 0.12);
}
.rs-mobile-menu-head img {
    width: 205px;
    max-width: calc(100% - 50px);
    height: auto;
}
.rs-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.rs-primary-navigation {
    margin-top: 20px;
}
.rs-nav-menu {
    display: block;
}
.rs-nav-menu li {
    border-bottom: 1px solid rgba(17, 24, 70, 0.09);
}
.rs-nav-menu a {
    padding: 18px 2px;
    font-size: 17px;
    font-weight: 600;
}
.rs-nav-menu a::after {
    display: none;
}
.rs-mobile-order-button {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    margin: auto 0 0;
    background: #202d8d;
    color: #fff;
}
.rs-mobile-order-button:hover,
.rs-mobile-order-button:focus-visible {
    color: #fff;
}
}
@media (max-width: 560px) {
.rs-promo-copy {
    min-width: 0;
}
.rs-promo-text {
    display: none;
}
.rs-promo-button {
    min-width: 94px;
    min-height: 36px;
    padding-inline: 14px;
    font-size: 12px;
}
.rs-header-logo img {
    width: min(218px, 62vw);
}
}

@media (max-width: 380px) {
.rs-promo-title {
    max-width: 145px;
    font-size: 12px;
}
.rs-promo-button {
    min-width: 82px;
    padding-inline: 10px;
}
}

@media (prefers-reduced-motion: reduce) {
.rs-nav-drawer,
.rs-menu-overlay,
.rs-nav-menu a::after,
.rs-promo-button,
.rs-mobile-order-button {
    transition-duration: 0.01ms !important;
}
}

/* Courses page */
.rs-courses-page {
    overflow: hidden;
    background: #fff;
    color: #080d23;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
}
.rs-courses-container {
    width: min(100% - 48px, 1145px);
    margin-inline: auto;
}
.rs-courses-hero {
    position: relative;
    min-height: 624px;
}
.rs-courses-hero__background {
    position: absolute;
    inset: 0;
    background-color: #eef1f2;
    background-image: url("../images/courses/courses-hero-background.png");
    background-position: center;
    background-size: cover;
}
.rs-courses-hero__background::after {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.14);
    content: "";
}
.rs-courses-hero__inner {
    position: relative;
    min-height: 624px;
}
.rs-courses-hero h1 {
    position: absolute;
    bottom: 45px;
    left: 0;
    width: 390px;
    margin: 0;
    color: #070b20;
    font-size: 70px;
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -0.055em;
}
.rs-instructor-card {
    position: absolute;
    z-index: 2;
    top: 98px;
    right: 0;
    width: 449px;
    overflow: hidden;
    margin: 0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(19, 27, 59, 0.08);
}
.rs-instructor-card__image {
    display: block;
    width: 100%;
    height: 302px;
    object-fit: cover;
}
.rs-instructor-card__content {
    min-height: 284px;
    padding: 36px 40px 38px;
}
.rs-instructor-card h2 {
    margin: 0 0 18px;
    color: #080d23;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.035em;
}
.rs-instructor-card p {
    margin: 0;
    color: #25293b;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.75;
}
.rs-course-catalog {
    position: relative;
    padding: 99px 0 91px;
    background: #fff;
}
.rs-course-sort {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 29px;
}
.rs-course-sort select {
    width: 253px;
    height: 40px;
    border: 1px solid #d7d9df;
    border-radius: 4px;
    background-color: #fff;
    color: #303342;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-size: 13px;
    padding: 0 13px;
    box-shadow: none;
}
.rs-course-grid {
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 31px 32px;
}
.rs-course-card {
    display: flex;
    min-width: 0;
    min-height: 512px;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #dfe1e6;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(24, 31, 58, 0.025);
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.rs-course-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(18, 30, 70, 0.09);
}
.rs-course-card__image-link {
    display: block;
    overflow: hidden;
    background: #e8eaee;
}
.rs-course-card__image-link img {
    display: block;
    width: 100%;
    aspect-ratio: 1.79 / 1;
    object-fit: cover;
    transition: transform 260ms ease;
}
.rs-course-card:hover .rs-course-card__image-link img {
    transform: scale(1.02);
}
.rs-course-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px 20px 15px;
}
.rs-course-rating {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 11px;
    color: #1f2333;
    font-size: 14px;
}
.rs-course-rating > span {
    display: inline-flex;
    gap: 3px;
    color: #f2a008;
    font-size: 14px;
}
.rs-course-rating strong {
    font-size: 14px;
    font-weight: 500;
}
.rs-course-rating small {
    margin-left: -3px;
    color: #969aa5;
    font-size: 12px;
}
.rs-course-card h2 {
    min-height: 53px;
    margin: 0 0 12px;
    color: #0b1026;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -0.025em;
}
.rs-course-card h2 a {
    color: inherit;
    text-decoration: none;
}
.rs-course-meta {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 25px;
    color: #4b5060;
    font-size: 11px;
}
.rs-course-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.rs-course-meta svg {
    width: 13px;
    height: 13px;
    stroke-width: 1.6;
}
.rs-course-author {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: auto;
}
.rs-course-author img {
    width: 35px;
    height: 35px;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
}
.rs-course-author p {
    margin: 0;
    color: #5b5f6d;
    font-size: 11px;
    line-height: 1.45;
}
.rs-course-card__footer {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    padding: 9px 20px;
    border-top: 1px solid #e1e2e7;
}
.rs-course-card__footer > strong {
    color: #0c1126;
    font-size: 14px;
    font-weight: 700;
}
.rs-course-card__footer .amount {
    color: inherit;
}
.rs-course-cart-button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid #172369;
    border-radius: 4px;
    background: #fff;
    color: #172369;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background 160ms ease, color 160ms ease;
}
.rs-course-cart-button svg {
    width: 16px;
    height: 16px;
    stroke-width: 1.7;
}
.rs-course-cart-button:hover,
.rs-course-cart-button:focus-visible,
.rs-course-cart-button.is-added {
    background: #172369;
    color: #fff;
}
.rs-course-cart-button:disabled {
    cursor: default;
    opacity: 1;
}
.rs-course-toast {
    position: fixed;
    z-index: 1500;
    right: 24px;
    bottom: 24px;
    max-width: min(360px, calc(100vw - 48px));
    padding: 14px 18px;
    border-radius: 6px;
    background: #172369;
    color: #fff;
    font-size: 13px;
    box-shadow: 0 14px 35px rgba(10, 17, 56, 0.22);
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 180ms ease, transform 180ms ease;
}
.rs-course-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 900px) {
    .rs-courses-hero,
    .rs-courses-hero__inner {
        min-height: 860px;
    }
    .rs-courses-hero__background {
        background-position: 42% center;
    }
    .rs-courses-hero h1 {
        top: 75px;
        bottom: auto;
        width: 280px;
        font-size: clamp(49px, 12vw, 64px);
    }
    .rs-instructor-card {
        top: 255px;
        right: 0;
        left: 0;
        width: min(100%, 520px);
        margin-inline: auto;
    }
    .rs-instructor-card__image {
        height: 280px;
    }
    .rs-instructor-card__content {
        min-height: auto;
        padding: 29px 31px 33px;
    }
    .rs-course-catalog {
        padding-top: 65px;
    }
    .rs-course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .rs-courses-container {
        width: min(100% - 32px, 520px);
    }
    .rs-courses-hero,
    .rs-courses-hero__inner {
        min-height: 790px;
    }
    .rs-courses-hero h1 {
        top: 48px;
        width: 235px;
        font-size: 50px;
    }
    .rs-instructor-card {
        top: 205px;
    }
    .rs-instructor-card__image {
        height: 228px;
    }
    .rs-instructor-card h2 {
        font-size: 23px;
    }
    .rs-instructor-card p {
        font-size: 14px;
        line-height: 1.65;
    }
    .rs-course-sort select {
        width: 100%;
    }
    .rs-course-sort {
        display: block;
    }
    .rs-course-grid {
        grid-template-columns: 1fr;
    }
    .rs-course-card {
        min-height: 500px;
    }
}

/* Ruthshop Tailwind/Vue compatibility
   Non-utility overrides live here so the legacy theme cannot reshape the new UI. */
.ruthshop-home,
#ruthshop-vue-app {
    font-family: "Montserrat", "Open Sans", Helvetica, Arial, sans-serif;
}

.ruthshop-home *,
#ruthshop-vue-app * {
    box-sizing: border-box;
}

.ruthshop-home a,
#ruthshop-vue-app a {
    text-decoration: none;
}

.ruthshop-home button,
#ruthshop-vue-app button {
    font-family: inherit;
}

.ruthshop-home .ruthshop-hero-cta {
    color: #C9A52F !important;
}

/* Editable page templates: shared layout and responsive safeguards. */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

.rs-editorial-page img,
.rs-books-page img,
.rs-courses-page img,
.rs-single-course img,
.vl-about-main img,
.rs-article-content img {
	max-width: 100%;
	height: auto;
}

.rs-article-content,
.rs-story-copy,
.rs-profile-card,
.rs-course-card,
.rs-book-card,
.vl-about-main article {
	min-width: 0;
	overflow-wrap: anywhere;
}

.rs-article-content > * {
	max-width: 100%;
}

.rs-article-content iframe {
	max-width: 100%;
}

/* About page */
.vl-about-main {
	--vl-ink: #1a1c0f;
	--vl-gold: #c9a52f;
	--vl-muted: #636978;
	background: #fff;
	color: var(--vl-ink);
	font-family: "Montserrat", "Open Sans", sans-serif;
}

.vl-about-main .container {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}

.vl-about-hero {
	position: relative;
	display: flex;
	min-height: 620px;
	align-items: center;
	background-color: #252719;
	background-position: center;
	background-size: cover;
	color: #fff;
}

.vl-about-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 18, 10, .88), rgba(16, 18, 10, .32));
}

.vl-about-hero .container {
	position: relative;
	z-index: 1;
}

.vl-about-hero__content {
	max-width: 650px;
	padding-block: 100px;
}

.vl-about-hero__content > span,
.vl-about-section-head > p {
	color: var(--vl-gold);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.vl-about-hero h1 {
	margin: 20px 0 24px;
	font-size: clamp(52px, 7vw, 88px);
	line-height: .98;
	letter-spacing: -.05em;
}

.vl-about-hero p {
	max-width: 570px;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.7;
}

.vl-about-mission,
.vl-about-journey,
.vl-about-principles,
.vl-about-recognition,
.vl-about-team-cta {
	padding-block: clamp(72px, 9vw, 120px);
}

.vl-about-centered,
.vl-about-section-head {
	max-width: 820px;
	margin: 0 auto 52px;
	text-align: center;
}

.vl-about-main h2 {
	margin: 0 0 20px;
	font-size: clamp(35px, 4vw, 52px);
	line-height: 1.08;
}

.vl-about-main p {
	line-height: 1.8;
}

.vl-about-lead {
	font-size: clamp(19px, 2.2vw, 25px);
	font-weight: 600;
}

.vl-about-journey,
.vl-about-recognition {
	background: #f5f5f1;
}

.vl-about-timeline {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
}

.vl-about-principle-grid,
.vl-about-awards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.vl-about-timeline article,
.vl-about-principle-grid article,
.vl-about-awards article {
	padding: 28px;
	border: 1px solid #e2e3dc;
	border-radius: 10px;
	background: #fff;
}

.vl-about-timeline article > span {
	color: var(--vl-gold);
	font-weight: 800;
}

.vl-about-main article h3 {
	margin: 14px 0 10px;
	font-size: 20px;
}

.vl-about-main article svg,
.vl-about-team-cta > .container > svg {
	width: 30px;
	height: 30px;
	color: var(--vl-gold);
}

.vl-about-team-cta {
	background: var(--vl-ink);
	color: #fff;
	text-align: center;
}

.vl-about-team-cta p {
	max-width: 660px;
	margin: 0 auto 30px;
}

.vl-about-team-cta a {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 0 26px;
	border-radius: 999px;
	background: var(--vl-gold);
	color: var(--vl-ink);
	font-weight: 800;
	text-decoration: none;
}

@media (max-width: 900px) {
	.vl-about-timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vl-about-principle-grid,
	.vl-about-awards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rs-course-detail-layout,
	.rs-cart-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.vl-about-main .container {
		width: min(100% - 32px, 560px);
	}

	.vl-about-hero {
		min-height: 540px;
		background-position: 58% center;
	}

	.vl-about-hero__content {
		padding-block: 80px;
	}

	.vl-about-hero h1 {
		font-size: clamp(46px, 15vw, 64px);
	}

	.vl-about-timeline,
	.vl-about-principle-grid,
	.vl-about-awards {
		grid-template-columns: 1fr;
	}

	.vl-about-timeline article,
	.vl-about-principle-grid article,
	.vl-about-awards article {
		padding: 24px;
	}

	.ruthshop-home > section:first-child {
		min-height: 580px;
		background-position: 64% center;
	}

	.ruthshop-home > section:first-child > div:first-child {
		background: linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.82), rgba(255,255,255,.18));
	}

	.rs-story-copy,
	.rs-profile-card > div,
	.rs-article,
	.rs-course-card__body,
	.rs-course-detail-header,
	.rs-course-tab-panel {
		padding-inline: 20px;
	}

	.rs-article {
		margin-inline: 12px;
	}

	.rs-course-tabs {
		display: flex;
		overflow-x: auto;
	}

	.rs-course-tabs button {
		flex: 0 0 auto;
	}

	.rs-course-detail-actions,
	.rs-course-detail-header__meta,
	.rs-cart-summary__row {
		flex-wrap: wrap;
	}

	.rs-book-detail__info h1,
	.rs-course-detail-header h1,
	.rs-article-hero__title h1 {
		overflow-wrap: anywhere;
	}
}

@media (max-width: 380px) {
	.rs-books-hero {
		width: calc(100% - 16px);
	}

	.rs-books-hero__content {
		padding-inline: 18px;
	}

	.rs-story-copy,
	.rs-article,
	.rs-course-card__body {
		padding-inline: 16px;
	}
}

/* Ruth Shop brand palette: gold + deep olive */
:root {
	--rs-gold: #C9A52F;
	--rs-olive: #1a1c0f;
	--rs-radius-sm: 6px;
	--rs-radius-md: 10px;
	--rs-radius-lg: 16px;
	--rs-radius-pill: 999px;
	--primary-color: var(--rs-gold);
	--secondary-color: var(--rs-olive);
	--heading-font-color: var(--rs-olive);
}

body {
	color: var(--rs-olive);
}

body a {
	color: var(--rs-gold);
}

body a:hover,
body a:focus-visible {
	color: var(--rs-olive);
}

::selection {
	background: var(--rs-gold);
	color: var(--rs-olive);
}

:focus-visible {
	outline-color: var(--rs-gold);
}

.rs-promo-bar,
.rs-mobile-order-button,
.rs-course-toast,
.rs-course-video-preview,
.rs-course-feature,
.rs-course-primary-button,
.rs-cart-checkout,
.rs-comment-submit {
	background: var(--rs-olive);
	color: var(--rs-gold);
}

.rs-nav-menu a::after {
	background: var(--rs-gold);
}

.rs-nav-menu a:hover,
.rs-nav-menu a:focus-visible,
.rs-nav-menu .current-menu-item > a,
.rs-skip-link:focus,
.rs-icon-action[aria-pressed="true"],
.rs-course-rating > span,
.rs-cart-notice,
.rs-cart-empty a,
.rs-story-copy blockquote p,
.rs-article-intro blockquote p,
.rs-article-quote p {
	color: var(--rs-gold);
}

.rs-course-cart-button,
.rs-course-view-cart,
.rs-cart-coupon__form button {
	border-color: var(--rs-gold);
	color: var(--rs-olive);
}

.rs-course-cart-button:hover,
.rs-course-cart-button:focus-visible,
.rs-course-cart-button.is-added,
.rs-course-primary-button:hover,
.rs-course-primary-button:focus-visible,
.rs-cart-checkout:hover,
.rs-cart-checkout:focus-visible {
	background: var(--rs-gold);
	color: var(--rs-olive);
}

.rs-course-tabs button.is-active {
	border-bottom-color: var(--rs-gold);
	color: var(--rs-olive);
}

.rs-course-facts svg {
	color: var(--rs-gold);
}

.rs-editorial-page {
	--rs-editorial-blue: var(--rs-gold);
	--rs-editorial-ink: var(--rs-olive);
}

.rs-start-promise,
.rs-testimonials {
	background: linear-gradient(135deg, var(--rs-olive), #252817);
}

.rs-testimonial--featured {
	background: rgba(201, 165, 47, .16);
	box-shadow: 0 22px 55px rgba(26, 28, 15, .28);
}

.rs-comment-submit:hover,
.rs-comment-submit:focus-visible {
	background: var(--rs-gold);
	color: var(--rs-olive);
}

.ruthshop-home .ruthshop-hero-cta:hover,
.ruthshop-home .ruthshop-hero-cta:focus-visible {
    color: #1a1c0f !important;
}

.home-testimonials,
.home-testimonials h2,
.home-testimonials button,
.home-testimonials button span {
    color: #fff !important;
}

.home-pricing-card.is-featured,
.home-pricing-card.is-featured h3,
.home-pricing-card.is-featured li,
.home-pricing-card.is-featured p {
    color: #fff !important;
}

.home-pricing-card .pricing-cta {
    color: #fff !important;
}

.home-pricing-card.is-featured .pricing-cta {
    color: #1a1c0f !important;
}

.home-client-story h2 {
    color: #fff !important;
}

.ruthshop-home .price del {
    margin-right: 5px;
    color: #8b90a0;
    font-size: .78em;
}

.ruthshop-home .price ins {
    text-decoration: none;
}

#site-footer .ruthshop-newsletter-heading {
    font-weight: 700;
}

#site-footer .ruthshop-newsletter-input {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: .375rem !important;
    background-color: #fff !important;
}

#site-footer .ruthshop-newsletter-button {
    border-radius: 9999px !important;
    color: #C9A52F !important;
}

#site-footer .ruthshop-newsletter-button:hover,
#site-footer .ruthshop-newsletter-button:focus-visible {
    color: #1a1c0f !important;
}

#site-footer .ruthshop-newsletter-card {
    box-sizing: border-box !important;
    width: calc(100vw - 2.5rem) !important;
    max-width: 24rem !important;
}

@media (min-width: 40rem) {
    #site-footer .ruthshop-newsletter-input {
        max-width: 18.75rem !important;
    }
}

@media (min-width: 64rem) {
    #site-footer .ruthshop-newsletter-card {
        width: 24rem !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }
}

/* Course detail */
.rs-single-course,
.rs-course-cart-page {
    color: #070b25;
    background: #fff;
    font-family: "Montserrat", Arial, sans-serif;
}

.rs-course-detail-container {
    width: min(1145px, calc(100% - 40px));
    margin: 0 auto;
    padding: 34px 0 80px;
}

.rs-course-detail-header {
    margin-bottom: 53px;
}

.rs-course-detail-header .rs-course-rating {
    margin-bottom: 10px;
}

.rs-course-detail-header h1 {
    max-width: 920px;
    margin: 0;
    color: #05091f;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.rs-course-detail-header__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 22px;
}

.rs-course-detail-header__meta p {
    margin: 0;
    color: #8b8d95;
    font-size: 13px;
}

.rs-course-detail-header__meta p strong {
    color: #111329;
}

.rs-course-detail-actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

.rs-icon-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 3px;
    border: 0;
    background: transparent;
    color: #111329;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.rs-icon-action svg {
    width: 17px;
    height: 17px;
    stroke-width: 1.7;
}

.rs-icon-action[aria-pressed="true"] {
    color: #18288e;
}

.rs-course-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 765px) 360px;
    gap: 24px;
    align-items: start;
}

.rs-course-video-preview {
    display: block;
    width: 306px;
    height: 154px;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #101a70;
    cursor: pointer;
}

.rs-course-video-preview img,
.rs-course-feature img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rs-course-feature {
    width: 100%;
    aspect-ratio: 765 / 431;
    overflow: hidden;
    background: #101a70;
}

.rs-course-tabs {
    display: flex;
    align-items: flex-end;
    gap: 0;
    margin-top: 36px;
    border-bottom: 1px solid #d9dbe0;
}

.rs-course-tabs button {
    min-width: 122px;
    padding: 14px 20px 12px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #555762;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.rs-course-tabs button.is-active {
    border-bottom-color: #18288e;
    color: #18288e;
}

.rs-course-tab-panel {
    padding-top: 24px;
}

.rs-course-copy h2,
.rs-course-curriculum h2 {
    margin: 0 0 24px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.rs-course-copy p {
    margin: 0;
    color: #555967;
    font-size: 14px;
    line-height: 1.7;
}

.rs-course-learning {
    margin-top: 50px;
}

.rs-course-learning ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 50px;
    row-gap: 13px;
    margin: 0;
    padding-left: 18px;
    color: #202334;
    font-size: 14px;
    line-height: 1.45;
    list-style: disc;
}

.rs-course-learning li {
    display: list-item;
    list-style: disc;
}

.rs-course-curriculum {
    margin-top: 46px;
}

.rs-course-accordion {
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid #d8d9de;
    border-radius: 4px;
}

.rs-course-accordion > button {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 20px;
    border: 0;
    background: #fbfbfc;
    color: #111329;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.rs-course-accordion.is-open > button {
    background: #f2f2f3;
}

.rs-course-accordion > button svg {
    width: 18px;
    height: 18px;
}

.rs-course-accordion__panel {
    padding: 2px 20px 8px;
    background: #fff;
}

.rs-course-accordion__panel span {
    display: grid;
    grid-template-columns: 18px 1fr 18px;
    gap: 10px;
    align-items: center;
    min-height: 38px;
    color: #343746;
    font-size: 13px;
}

.rs-course-accordion__panel svg {
    width: 15px;
    height: 15px;
}

.rs-course-review {
    display: flex;
    gap: 16px;
    padding: 24px;
    border: 1px solid #e0e1e5;
    border-radius: 4px;
}

.rs-course-review img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.rs-course-review p {
    margin: 7px 0 0;
    color: #60636e;
    font-size: 14px;
    line-height: 1.6;
}

.rs-course-purchase-card,
.rs-course-info-card {
    overflow: hidden;
    border: 1px solid #d8d9de;
    border-radius: 4px;
    background: #fff;
}

.rs-course-purchase-card__action {
    padding: 35px 32px;
    background: #f2f2f2;
}

.rs-course-price {
    display: block;
    margin-bottom: 26px;
    color: #070b25;
    font-size: 24px;
}

.rs-course-primary-button,
.rs-course-view-cart {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    border: 1px solid #18288e;
    border-radius: 30px;
    background: #18288e;
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.rs-course-view-cart {
    border-radius: 4px;
    background: transparent;
    color: #18288e;
}

.rs-course-primary-button:hover,
.rs-course-primary-button:focus-visible {
    background: #101c70;
}

.rs-course-facts {
    display: grid;
    gap: 17px;
    margin: 0;
    padding: 26px 32px;
    list-style: none;
}

.rs-course-facts li {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 12px;
    align-items: center;
    color: #61636e;
    font-size: 14px;
}

.rs-course-facts svg {
    width: 17px;
    height: 17px;
    color: #17235e;
    stroke-width: 1.6;
}

.rs-course-info-card {
    margin-top: 24px;
}

.rs-course-instructor {
    padding: 27px 32px;
    border-bottom: 1px solid #d8d9de;
}

.rs-course-instructor > p {
    margin: 0 0 18px;
    font-size: 14px;
}

.rs-course-instructor > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rs-course-instructor img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.rs-course-instructor span,
.rs-course-instructor small {
    display: block;
}

.rs-course-instructor strong {
    font-size: 14px;
}

.rs-course-instructor small {
    margin-top: 4px;
    color: #474a57;
    font-size: 12px;
}

.rs-course-info-card__body {
    padding: 26px 32px 30px;
}

.rs-course-info-card__body h2 {
    margin: 0 0 15px;
    font-size: 18px;
}

.rs-course-info-card__body h2:not(:first-child) {
    margin-top: 38px;
}

.rs-course-info-card__body ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 19px;
    color: #30333f;
    font-size: 13px;
    line-height: 1.55;
}

.rs-single-course.is-in-cart .rs-course-video-preview {
    display: none;
}

.rs-single-course.is-in-cart .rs-course-feature {
    display: block;
}

/* Course cart */
.rs-cart-container {
    width: min(1290px, calc(100% - 40px));
    margin: 0 auto;
    padding: 64px 0 100px;
}

.rs-cart-container > h1 {
    margin: 0 0 82px;
    color: #060a25;
    font-size: 68px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.rs-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 755px) minmax(340px, 410px);
    justify-content: space-between;
    gap: 72px;
}

.rs-cart-products > h2,
.rs-cart-summary > h2 {
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #aeb1bc;
    color: #080c28;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.rs-cart-summary > h2 {
    text-align: right;
}

.rs-cart-product {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 15px 0 35px;
    border-bottom: 1px solid #aeb1bc;
}

.rs-cart-product > img {
    width: 116px;
    height: 116px;
    object-fit: cover;
}

.rs-cart-product__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rs-cart-product__content > a {
    margin: 2px 0 7px;
    color: #080c28;
    font-size: 17px;
    line-height: 1.4;
    text-decoration: none;
}

.rs-cart-product__content > strong {
    margin-bottom: 14px;
    font-size: 17px;
}

.rs-cart-quantity {
    display: grid;
    grid-template-columns: 34px 40px 34px;
    height: 36px;
    overflow: hidden;
    border: 1px solid #9397a6;
    border-radius: 5px;
}

.rs-cart-quantity button,
.rs-cart-quantity input {
    width: 100%;
    padding: 0;
    border: 0;
    background: #fff;
    color: #11142d;
    font: inherit;
    text-align: center;
}

.rs-cart-quantity button {
    cursor: pointer;
}

.rs-cart-quantity input {
    appearance: textfield;
}

.rs-cart-remove {
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #11142d;
    font: inherit;
    font-size: 12px;
    text-decoration: underline;
    cursor: pointer;
}

.rs-cart-line-total {
    padding-top: 4px;
    font-size: 18px;
}

.rs-cart-coupon {
    border-bottom: 1px solid #aeb1bc;
}

.rs-cart-coupon > button {
    width: 100%;
    padding: 19px 0;
    border: 0;
    background: transparent;
    color: #080c28;
    font: inherit;
    font-size: 16px;
    text-align: left;
    cursor: pointer;
}

.rs-cart-coupon__form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 0 0 16px;
}

.rs-cart-coupon__form input,
.rs-cart-coupon__form button {
    min-height: 40px;
    border: 1px solid #9da0ad;
    border-radius: 4px;
    background: #fff;
    font: inherit;
    font-size: 13px;
}

.rs-cart-coupon__form input {
    padding: 0 10px;
}

.rs-cart-coupon__form button {
    padding: 0 16px;
    border-color: #18288e;
    color: #18288e;
    cursor: pointer;
}

.rs-cart-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px 0;
    border-bottom: 1px solid #aeb1bc;
    font-size: 17px;
}

.rs-cart-summary__total {
    border-bottom: 0;
    font-size: 23px;
    font-weight: 700;
}

.rs-cart-checkout {
    width: 100%;
    min-height: 54px;
    margin-top: 9px;
    border: 0;
    border-radius: 28px;
    background: #202f98;
    color: #fff;
    font: inherit;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
}

.rs-cart-checkout:hover,
.rs-cart-checkout:focus-visible {
    background: #14227d;
}

.rs-cart-checkout:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.rs-cart-notice {
    min-height: 20px;
    margin: 12px 0 0;
    color: #18288e;
    font-size: 13px;
    text-align: center;
}

.rs-cart-empty {
    padding: 50px 0;
    border-bottom: 1px solid #aeb1bc;
    text-align: center;
}

.rs-cart-empty p {
    margin: 0 0 12px;
}

.rs-cart-empty a {
    color: #18288e;
}

@media (max-width: 1000px) {
    .rs-course-detail-layout {
        grid-template-columns: minmax(0, 1fr) 320px;
    }

    .rs-cart-layout {
        grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr);
        gap: 40px;
    }
}

@media (max-width: 760px) {
    .rs-course-detail-container,
    .rs-cart-container {
        width: min(100% - 32px, 560px);
    }

    .rs-course-detail-container {
        padding-top: 28px;
    }

    .rs-course-detail-header {
        margin-bottom: 30px;
    }

    .rs-course-detail-header h1 {
        font-size: 25px;
    }

    .rs-course-detail-header__meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .rs-course-detail-layout,
    .rs-cart-layout {
        grid-template-columns: 1fr;
    }

    .rs-course-detail-sidebar {
        grid-row: 1;
    }

    .rs-course-video-preview {
        width: 100%;
        height: auto;
        aspect-ratio: 306 / 154;
    }

    .rs-course-learning ul {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rs-course-tabs {
        margin-top: 28px;
    }

    .rs-course-info-card__body,
    .rs-course-instructor,
    .rs-course-facts,
    .rs-course-purchase-card__action {
        padding-right: 24px;
        padding-left: 24px;
    }

    .rs-cart-container {
        padding-top: 42px;
    }

    .rs-cart-container > h1 {
        margin-bottom: 54px;
        font-size: 48px;
    }

    .rs-cart-layout {
        gap: 50px;
    }

    .rs-cart-product {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .rs-cart-product > img {
        width: 88px;
        height: 88px;
    }

    .rs-cart-line-total {
        grid-column: 2;
        padding-top: 0;
    }

    .rs-cart-summary > h2 {
        text-align: left;
    }
}
/* ============================================================
   Editorial pages: Start Here, Blog and single article
   ============================================================ */
.rs-editorial-page {
	--rs-editorial-blue: #18319a;
	--rs-editorial-ink: #050d2b;
	color: var(--rs-editorial-ink);
	background: #fff;
	font-family: "Maison Neue", "Helvetica Neue", Arial, sans-serif;
}

.rs-editorial-page img {
	display: block;
	max-width: 100%;
}

.rs-start-hero {
	position: relative;
	height: clamp(360px, 31.9vw, 612px);
	overflow: hidden;
}

.rs-start-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.rs-start-hero h1,
.rs-blog-hero__image h1 {
	position: absolute;
	z-index: 1;
	left: max(24px, calc((100% - 1370px) / 2));
	bottom: 42px;
	margin: 0;
	color: #fff;
	font-size: clamp(44px, 4.2vw, 68px);
	font-weight: 700;
	line-height: 1;
}

.rs-start-promise {
	position: relative;
	overflow: hidden;
	padding: 98px 24px 108px;
	color: #fff;
	text-align: center;
	background:
		radial-gradient(circle at 82% 45%, rgba(255,255,255,.08) 0 1px, transparent 2px),
		linear-gradient(135deg, #183198, #122989);
}

.rs-start-promise::after,
.rs-testimonials::after {
	position: absolute;
	right: -80px;
	top: -90px;
	width: 760px;
	height: 560px;
	content: "";
	opacity: .14;
	background: repeating-radial-gradient(ellipse at center, transparent 0 13px, rgba(255,255,255,.35) 14px 15px);
	transform: rotate(-10deg);
	pointer-events: none;
}

.rs-start-promise__inner {
	position: relative;
	z-index: 1;
	max-width: 820px;
	margin: auto;
}

.rs-start-promise h1 {
	max-width: 560px;
	margin: 0 auto 54px;
	color: #fff;
	font-size: clamp(30px, 2.45vw, 47px);
	font-weight: 700;
	line-height: 1.08;
}

.rs-publications {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(28px, 4.5vw, 78px);
	font-family: Georgia, serif;
	font-size: 18px;
	line-height: 1;
}

.rs-publications span:first-child {
	font-family: Arial, sans-serif;
	font-size: 16px;
}

.rs-publications span {
	white-space: nowrap;
}

.rs-story-row {
	display: grid;
	grid-template-columns: 40% 60%;
	align-items: stretch;
	min-height: 770px;
}

.rs-story-row--reverse {
	grid-template-columns: 50% 50%;
}

.rs-story-row--investment {
	grid-template-columns: 40% 60%;
}

.rs-story-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(56px, 7vw, 135px) clamp(38px, 4.5vw, 90px);
}

.rs-story-copy h2 {
	max-width: 560px;
	margin: 0 0 25px;
	color: var(--rs-editorial-ink);
	font-size: clamp(30px, 2.1vw, 42px);
	line-height: 1.08;
}

.rs-story-copy p {
	max-width: 590px;
	margin: 0 0 30px;
	color: #29314a;
	font-size: 16px;
	line-height: 1.62;
}

.rs-story-image {
	margin: 0;
	overflow: hidden;
}

.rs-story-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rs-story-row--career .rs-story-image img {
	object-position: center top;
}

.rs-story-row--reverse .rs-story-image img {
	object-position: center center;
}

.rs-story-row--investment .rs-story-image img {
	object-position: center top;
}

.rs-story-copy blockquote,
.rs-article-intro blockquote {
	margin: 12px 0 32px;
	padding: 44px 42px;
	border: 0;
	background: #f8f8f8;
	text-align: center;
}

.rs-story-copy blockquote p,
.rs-article-intro blockquote p {
	margin: 0 auto 18px;
	color: #11308c;
	font-size: clamp(21px, 1.45vw, 28px);
	font-weight: 700;
	line-height: 1.22;
}

.rs-story-copy blockquote cite,
.rs-article-intro blockquote cite {
	color: #565d6d;
	font-size: 11px;
	font-style: normal;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.rs-signature {
	margin-top: 14px !important;
	color: #111 !important;
	font-family: "Brush Script MT", cursive;
	font-size: 36px !important;
	transform: rotate(-3deg);
}

.rs-testimonials {
	position: relative;
	display: grid;
	grid-template-columns: 1fr minmax(420px, 760px) 1fr;
	gap: 40px;
	align-items: center;
	overflow: hidden;
	padding: 115px 0;
	color: #fff;
	background: linear-gradient(135deg, #173399, #10267c);
}

.rs-testimonial {
	position: relative;
	z-index: 1;
	padding: 42px;
	text-align: center;
}

.rs-testimonial p {
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.55;
}

.rs-testimonial small {
	font-size: 12px;
	font-weight: 700;
}

.rs-testimonial--featured {
	border-radius: 14px;
	background: rgba(6, 28, 116, .62);
	box-shadow: 0 22px 55px rgba(3, 17, 76, .28);
}

.rs-testimonial--muted {
	opacity: .18;
}

/* Blog index */
.rs-blog-hero {
	position: relative;
	min-height: 625px;
	background: #f7f7f7;
}

.rs-blog-hero__image {
	position: relative;
	width: 56.6%;
	height: 625px;
	overflow: hidden;
}

.rs-blog-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rs-blog-hero__image h1 {
	left: max(24px, calc((100vw - 1196px) / 2));
	bottom: 45px;
}

.rs-profile-card {
	position: absolute;
	z-index: 2;
	top: 98px;
	left: 56.6%;
	width: min(450px, 35vw);
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 22px 44px rgba(5, 13, 43, .09);
}

.rs-profile-card > img {
	width: 100%;
	height: 300px;
	object-fit: cover;
}

.rs-profile-card > div {
	padding: 39px 42px 46px;
}

.rs-profile-card h2 {
	margin: 0 0 18px;
	color: var(--rs-editorial-ink);
	font-size: 30px;
}

.rs-profile-card p {
	margin: 0;
	color: #222a43;
	font-size: 17px;
	line-height: 1.55;
}

.rs-blog-index {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 50px;
	max-width: 1196px;
	margin: 0 auto;
	padding: 118px 30px 130px;
}

.rs-blog-featured h2,
.rs-post-card h2 {
	margin: 24px 0 10px;
	color: var(--rs-editorial-ink);
	font-size: 23px;
	line-height: 1.25;
}

.rs-blog-featured h2 {
	font-size: 29px;
}

.rs-blog-featured h2 a,
.rs-post-card h2 a {
	color: inherit;
	text-decoration: none;
}

.rs-post-card__image {
	display: block;
	overflow: hidden;
	border-radius: 7px;
}

.rs-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.rs-post-card__image:hover img {
	transform: scale(1.025);
}

.rs-blog-featured .rs-post-card__image {
	height: 566px;
}

.rs-blog-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 58px 38px;
}

.rs-post-card__image {
	height: 176px;
}

.rs-post-card h2 {
	font-size: 18px;
}

.rs-post-date {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: #232a3e;
	font-size: 14px;
}

.rs-post-date svg {
	width: 15px;
	height: 15px;
}

/* Single article */
.rs-article-hero {
	position: relative;
	height: 550px;
	overflow: hidden;
	color: #fff;
}

.rs-article-hero::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgba(0, 6, 26, .26);
}

.rs-article-hero > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.rs-article-hero__title {
	position: absolute;
	z-index: 1;
	top: 95px;
	left: 50%;
	width: min(900px, 86vw);
	transform: translateX(-50%);
	text-align: center;
}

.rs-article-hero__title h1 {
	margin: 0 auto 28px;
	color: #fff;
	font-size: clamp(38px, 3vw, 58px);
	line-height: 1.1;
}

.rs-article-hero__title p {
	margin: 0;
	color: #fff;
	font-size: 14px;
}

.rs-article {
	position: relative;
	z-index: 2;
	max-width: 1245px;
	margin: -100px auto 0;
	padding: 80px 80px 115px;
	background: #fff;
	font-size: 17px;
	line-height: 1.6;
}

.rs-article p {
	color: #202841;
}

.rs-article-intro {
	display: grid;
	grid-template-columns: 345px 1fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 32px;
}

.rs-article-intro blockquote {
	margin: 0;
}

.rs-article ul {
	margin: 22px 0;
	padding-left: 21px;
}

.rs-article-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	margin: 62px -30px 42px;
}

.rs-article-pair img {
	width: 100%;
	height: 370px;
	border-radius: 8px;
	object-fit: cover;
}

.rs-article-quote {
	max-width: 1040px;
	margin: 46px auto;
	border: 0;
	text-align: center;
}

.rs-article-quote p {
	margin: 0;
	color: #123296;
	font-size: clamp(28px, 2.25vw, 42px);
	font-weight: 700;
	line-height: 1.18;
}

.rs-article-wide-image {
	width: calc(100% + 20px);
	height: auto;
	margin: 64px -10px 48px;
	border-radius: 8px;
}

.rs-comments {
	margin-top: 92px;
	padding-top: 48px;
	border-top: 1px solid #d7d9df;
}

.rs-comments .comment-reply-title {
	margin: 0 0 46px;
	text-align: center;
	font-size: 27px;
}

.rs-comments .comment-form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.rs-comments .comment-form-comment,
.rs-comments .comment-form-cookies-consent,
.rs-comments .form-submit,
.rs-comments .logged-in-as {
	grid-column: 1 / -1;
}

.rs-comments label {
	display: block;
	margin-bottom: 8px;
	color: var(--rs-editorial-ink);
	font-size: 14px;
	font-weight: 700;
}

.rs-comments textarea,
.rs-comments input[type="text"],
.rs-comments input[type="email"],
.rs-comments input[type="url"] {
	width: 100%;
	border: 1px solid #d9dce5;
	border-radius: 2px;
	background: #fff;
}

.rs-comments textarea {
	min-height: 235px;
}

.rs-comments input[type="text"],
.rs-comments input[type="email"],
.rs-comments input[type="url"] {
	height: 54px;
}

.rs-comments .comment-form-cookies-consent {
	display: flex;
	gap: 10px;
	align-items: center;
}

.rs-comments .comment-form-cookies-consent label {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
}

.rs-comment-submit {
	width: 100%;
	min-height: 56px;
	border: 0;
	border-radius: 999px;
	color: #fff;
	background: #20339a;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

@media (max-width: 980px) {
	.rs-story-row,
	.rs-story-row--reverse,
	.rs-story-row--investment {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.rs-story-row--reverse .rs-story-image {
		order: 2;
	}

	.rs-story-image {
		height: 580px;
	}

	.rs-testimonials {
		grid-template-columns: 1fr;
		padding-inline: 24px;
	}

	.rs-testimonial--muted {
		display: none;
	}

	.rs-blog-hero {
		padding-bottom: 280px;
	}

	.rs-blog-hero__image {
		width: 100%;
	}

	.rs-profile-card {
		top: 420px;
		left: 50%;
		width: min(620px, calc(100% - 40px));
		transform: translateX(-50%);
	}

	.rs-profile-card > img {
		height: 245px;
	}

	.rs-blog-index {
		grid-template-columns: 1fr;
	}

	.rs-blog-featured .rs-post-card__image {
		height: min(62vw, 566px);
	}

	.rs-article {
		margin: -65px 20px 0;
		padding: 60px 42px 90px;
	}

	.rs-article-intro {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.rs-start-hero {
		height: 390px;
	}

	.rs-start-hero img {
		object-position: 56% top;
	}

	.rs-start-hero h1 {
		left: 24px;
		bottom: 30px;
		font-size: 46px;
	}

	.rs-start-promise {
		padding: 65px 20px 74px;
	}

	.rs-start-promise h1 {
		margin-bottom: 38px;
	}

	.rs-publications {
		flex-wrap: wrap;
		gap: 22px 30px;
		font-size: 14px;
	}

	.rs-story-copy {
		padding: 58px 24px;
	}

	.rs-story-image {
		height: 430px;
	}

	.rs-story-row--career .rs-story-image {
		order: -1;
	}

	.rs-story-copy blockquote {
		padding: 34px 22px;
	}

	.rs-testimonials {
		padding-block: 72px;
	}

	.rs-testimonial--featured {
		padding: 34px 22px;
	}

	.rs-blog-hero {
		min-height: 480px;
		padding-bottom: 330px;
	}

	.rs-blog-hero__image {
		height: 480px;
	}

	.rs-blog-hero__image img {
		object-position: 48% top;
	}

	.rs-blog-hero__image h1 {
		left: 24px;
		bottom: 112px;
		font-size: 46px;
	}

	.rs-profile-card {
		top: 390px;
	}

	.rs-profile-card > img {
		height: 210px;
	}

	.rs-profile-card > div {
		padding: 28px 26px 34px;
	}

	.rs-profile-card h2 {
		font-size: 25px;
	}

	.rs-profile-card p {
		font-size: 15px;
	}

	.rs-blog-index {
		gap: 56px;
		padding: 72px 20px 90px;
	}

	.rs-blog-featured h2 {
		font-size: 24px;
	}

	.rs-blog-grid {
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.rs-post-card__image {
		height: 230px;
	}

	.rs-article-hero {
		height: 460px;
	}

	.rs-article-hero > img {
		width: 170%;
		max-width: none;
		transform: translateX(-32%);
		object-position: center;
	}

	.rs-article-hero__title {
		top: 70px;
	}

	.rs-article-hero__title h1 {
		font-size: 34px;
	}

	.rs-article {
		margin: -55px 12px 0;
		padding: 48px 22px 72px;
		font-size: 16px;
	}

	.rs-article-intro blockquote {
		padding: 36px 25px;
	}

	.rs-article-pair {
		grid-template-columns: 1fr;
		gap: 20px;
		margin: 45px 0 36px;
	}

	.rs-article-pair img {
		height: 260px;
	}

	.rs-article-quote {
		margin: 40px 0;
	}

	.rs-article-wide-image {
		width: 100%;
		margin: 45px 0 36px;
	}

	.rs-comments {
		margin-top: 62px;
	}

	.rs-comments .comment-form {
		grid-template-columns: 1fr;
	}

	.rs-comments .comment-form-author,
	.rs-comments .comment-form-email,
	.rs-comments .comment-form-url {
		grid-column: 1 / -1;
	}
}

/* Keep the brand palette authoritative after all page-specific rules. */
.rs-promo-bar,
.rs-mobile-order-button,
.rs-course-toast,
.rs-course-video-preview,
.rs-course-feature,
.rs-course-primary-button,
.rs-cart-checkout,
.rs-comment-submit {
	background: var(--rs-olive);
	color: var(--rs-gold);
}

.rs-nav-menu a::after {
	background: var(--rs-gold);
}

.rs-nav-menu a:hover,
.rs-nav-menu a:focus-visible,
.rs-nav-menu .current-menu-item > a,
.rs-skip-link:focus,
.rs-icon-action[aria-pressed="true"],
.rs-course-rating > span,
.rs-cart-notice,
.rs-cart-empty a,
.rs-story-copy blockquote p,
.rs-article-intro blockquote p,
.rs-article-quote p {
	color: var(--rs-gold);
}

.rs-course-cart-button,
.rs-course-view-cart,
.rs-cart-coupon__form button {
	border-color: var(--rs-gold);
	color: var(--rs-olive);
}

.rs-course-cart-button:hover,
.rs-course-cart-button:focus-visible,
.rs-course-cart-button.is-added,
.rs-course-primary-button:hover,
.rs-course-primary-button:focus-visible,
.rs-cart-checkout:hover,
.rs-cart-checkout:focus-visible {
	background: var(--rs-gold);
	color: var(--rs-olive);
}

.rs-course-tabs button.is-active {
	border-bottom-color: var(--rs-gold);
	color: var(--rs-olive);
}

.rs-course-facts svg {
	color: var(--rs-gold);
}

.rs-editorial-page {
	--rs-editorial-blue: var(--rs-gold);
	--rs-editorial-ink: var(--rs-olive);
}

.rs-start-promise,
.rs-testimonials {
	background: linear-gradient(135deg, var(--rs-olive), #252817);
}

.rs-testimonial--featured {
	background: rgba(201, 165, 47, .16);
	box-shadow: 0 22px 55px rgba(26, 28, 15, .28);
}

.rs-comment-submit:hover,
.rs-comment-submit:focus-visible {
	background: var(--rs-gold);
	color: var(--rs-olive);
}

.home-testimonials .fa-quote-left,
.home-testimonials button:hover,
.home-testimonials button:focus-visible {
	color: var(--rs-gold) !important;
}

.home-pricing-card:not(.is-featured) .pricing-cta {
	color: var(--rs-gold) !important;
}

.home-pricing-card:not(.is-featured) .pricing-cta:hover,
.home-pricing-card:not(.is-featured) .pricing-cta:focus-visible {
	color: var(--rs-olive) !important;
}

.rs-promo-button,
.rs-promo-button:hover,
.rs-promo-button:focus-visible {
	color: var(--rs-olive);
	border-color: var(--rs-gold);
}

.rs-courses-page,
.rs-single-course,
.rs-course-cart-page,
.rs-courses-page h1,
.rs-courses-page h2,
.rs-courses-page h3,
.rs-single-course h1,
.rs-single-course h2,
.rs-single-course h3,
.rs-course-cart-page h1,
.rs-course-cart-page h2,
.rs-course-cart-page h3 {
	color: var(--rs-olive);
}

/* Restrained radius system for controls, cards and framed media. */
.rs-promo-button,
.rs-mobile-order-button,
.ruthshop-hero-cta,
.ruthshop-newsletter-button,
.pricing-cta,
.rs-course-primary-button,
.rs-cart-checkout,
.rs-comment-submit {
	border-radius: var(--rs-radius-pill);
}

.rs-course-sort select,
.rs-course-cart-button,
.rs-course-view-cart,
.rs-cart-quantity,
.rs-cart-coupon__form input,
.rs-cart-coupon__form button,
.rs-comments textarea,
.rs-comments input[type="text"],
.rs-comments input[type="email"],
.rs-comments input[type="url"],
#site-footer .ruthshop-newsletter-input {
	border-radius: var(--rs-radius-md) !important;
}

.rs-course-video-preview,
.rs-course-feature,
.rs-course-accordion,
.rs-course-review,
.rs-course-purchase-card,
.rs-course-info-card,
.rs-course-toast,
.rs-post-card__image,
.rs-article-pair img,
.rs-article-wide-image {
	border-radius: var(--rs-radius-md);
}

.rs-instructor-card,
.rs-course-card,
.rs-profile-card,
.rs-testimonial--featured,
.home-pricing-card,
.ruthshop-newsletter-card {
	border-radius: var(--rs-radius-lg);
}

.rs-course-card__image-link {
	border-radius: var(--rs-radius-lg) var(--rs-radius-lg) 0 0;
}

@media (max-width: 640px) {
	.rs-instructor-card,
	.rs-profile-card,
	.home-pricing-card,
	.ruthshop-newsletter-card {
		border-radius: var(--rs-radius-md);
	}
}

/* ============================================================
   Books catalogue and single book
   ============================================================ */
.rs-books-page,
.rs-single-book {
	background: #fff;
	color: var(--rs-olive);
	font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

.rs-books-page *,
.rs-single-book * {
	box-sizing: border-box;
}

.rs-books-container {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}

.rs-books-hero {
	position: relative;
	width: min(1390px, calc(100% - 64px));
	min-height: 570px;
	overflow: hidden;
	margin: 48px auto 0;
	border-radius: var(--rs-radius-lg);
	background:
		radial-gradient(circle at 19% 90%, rgba(201, 165, 47, .27) 0 19%, transparent 19.2%),
		linear-gradient(135deg, #f2eee3, #fffdf7);
}

.rs-books-hero__content {
	position: relative;
	z-index: 3;
	display: flex;
	width: min(610px, 55%);
	min-height: 570px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: auto;
	padding: 70px 30px 85px;
	text-align: center;
}

.rs-books-hero__content > p,
.rs-books-heading p,
.rs-book-card__content > p,
.rs-book-detail__author,
.rs-book-author-card p,
.rs-related-books article > p {
	margin: 0 0 13px;
	color: var(--rs-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.rs-books-hero__content h1 {
	max-width: 590px;
	margin: 0;
	color: var(--rs-olive);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(43px, 4.2vw, 66px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -.035em;
}

.rs-books-hero__content > span {
	max-width: 520px;
	margin-top: 24px;
	color: #55594b;
	font-size: 16px;
	line-height: 1.75;
}

.rs-books-hero__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 31px;
}

.rs-book-button {
	display: inline-flex;
	min-height: 51px;
	align-items: center;
	justify-content: center;
	padding: 0 25px;
	border: 1px solid var(--rs-olive);
	border-radius: var(--rs-radius-pill);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .11em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.rs-book-button:hover,
.rs-book-button:focus-visible {
	transform: translateY(-2px);
}

.rs-book-button--primary {
	background: var(--rs-olive);
	color: var(--rs-gold) !important;
}

.rs-book-button--primary:hover,
.rs-book-button--primary:focus-visible {
	background: var(--rs-gold);
	color: var(--rs-olive) !important;
}

.rs-book-button--secondary {
	border-color: var(--rs-gold);
	background: #fff;
	color: var(--rs-olive) !important;
}

.rs-book-button--secondary:hover,
.rs-book-button--secondary:focus-visible {
	background: var(--rs-gold);
}

.rs-books-hero__cover {
	position: absolute;
	z-index: 1;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 26px 55px rgba(26, 28, 15, .18);
}

.rs-books-hero__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rs-books-hero__cover--left {
	bottom: -68px;
	left: -8px;
	width: 255px;
	height: 338px;
	transform: rotate(-9deg);
}

.rs-books-hero__cover--top {
	top: -162px;
	left: 20%;
	width: 235px;
	height: 300px;
	transform: rotate(-7deg);
}

.rs-books-hero__cover--right {
	top: 58px;
	right: -35px;
	width: 285px;
	height: 368px;
	transform: rotate(9deg);
}

.rs-books-hero__dots {
	position: absolute;
	z-index: 4;
	bottom: 28px;
	left: 50%;
	display: flex;
	gap: 8px;
	transform: translateX(-50%);
}

.rs-books-hero__dots i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #b3b3ac;
}

.rs-books-hero__dots i.is-active {
	background: var(--rs-olive);
}

.rs-books-catalog {
	padding: 100px 0 130px;
}

.rs-books-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 48px;
}

.rs-books-heading h2,
.rs-related-books > h2 {
	margin: 0;
	color: var(--rs-olive);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 46px);
	font-weight: 500;
	line-height: 1.1;
}

.rs-books-heading > span {
	max-width: 470px;
	color: #686b60;
	font-size: 14px;
	line-height: 1.75;
}

.rs-book-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 58px 34px;
}

.rs-book-card {
	min-width: 0;
}

.rs-book-card__image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--rs-radius-lg);
	background: #f3f0e7;
	box-shadow: 0 14px 34px rgba(26, 28, 15, .08);
}

.rs-book-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 280ms ease;
}

.rs-book-card:hover .rs-book-card__image img {
	transform: scale(1.025);
}

.rs-book-card__image span {
	position: absolute;
	top: 17px;
	left: 17px;
	padding: 8px 12px;
	border-radius: var(--rs-radius-pill);
	background: var(--rs-gold);
	color: var(--rs-olive);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.rs-book-card__content {
	padding: 20px 3px 0;
}

.rs-book-card__content > p {
	margin-bottom: 8px;
}

.rs-book-card h3,
.rs-related-books h3 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.2;
}

.rs-book-card h3 a,
.rs-related-books h3 a {
	color: var(--rs-olive);
	text-decoration: none;
}

.rs-book-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 16px;
}

.rs-book-card__footer strong {
	font-size: 16px;
}

.rs-book-card__buy {
	display: inline-flex;
	min-height: 39px;
	align-items: center;
	padding: 0 17px;
	border: 1px solid var(--rs-gold);
	border-radius: var(--rs-radius-pill);
	color: var(--rs-olive) !important;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.rs-book-card__buy:hover,
.rs-book-card__buy:focus-visible {
	background: var(--rs-gold);
}

/* Single book */
.rs-book-detail {
	display: grid;
	grid-template-columns: minmax(320px, 440px) minmax(0, 1fr);
	gap: clamp(48px, 7vw, 92px);
	padding-top: 82px;
	padding-bottom: 92px;
}

.rs-book-detail__cover {
	align-self: start;
	overflow: hidden;
	border-radius: var(--rs-radius-lg);
	background: #f3f0e7;
	box-shadow: 0 22px 50px rgba(26, 28, 15, .13);
}

.rs-book-detail__cover img {
	display: block;
	width: 100%;
	height: auto;
}

.rs-book-detail__info h1 {
	max-width: 680px;
	margin: 0;
	color: var(--rs-olive);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(44px, 4.3vw, 66px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -.035em;
}

.rs-book-rating {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 17px;
}

.rs-book-rating span,
.rs-book-reviews article > div {
	color: var(--rs-gold);
	font-size: 17px;
	letter-spacing: .12em;
}

.rs-book-rating small {
	color: #707267;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.rs-book-detail__price {
	display: block;
	margin-top: 25px;
	font-size: 24px;
}

.rs-book-detail__description {
	max-width: 700px;
	margin: 28px 0 0;
	color: #55594b;
	font-size: 15px;
	line-height: 1.85;
}

.rs-book-stock {
	display: inline-flex;
	min-height: 47px;
	align-items: center;
	margin-top: 29px;
	padding: 0 18px;
	border: 1px solid rgba(201, 165, 47, .55);
	border-radius: var(--rs-radius-sm);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.rs-book-purchase {
	display: flex;
	align-items: stretch;
	gap: 12px;
	margin-top: 25px;
}

.rs-book-quantity {
	display: grid;
	min-width: 235px;
	grid-template-columns: 1fr 35px 35px 35px;
	align-items: center;
	overflow: hidden;
	border: 1px solid #deded8;
	border-radius: var(--rs-radius-pill);
	background: #fff;
}

.rs-book-quantity span {
	padding-left: 20px;
	color: #7b7d74;
	font-size: 12px;
}

.rs-book-quantity button,
.rs-book-quantity input {
	width: 35px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--rs-olive);
	font: inherit;
	text-align: center;
}

.rs-book-quantity button {
	cursor: pointer;
}

.rs-book-quantity input {
	appearance: textfield;
	font-size: 13px;
}

.rs-book-buy-main {
	min-width: 170px;
}

.rs-book-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.rs-book-benefits li {
	display: flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid #deded8;
	border-radius: var(--rs-radius-md);
	color: #55594b;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.rs-book-benefits svg {
	width: 16px;
	height: 16px;
	color: var(--rs-gold);
}

.rs-book-meta {
	display: grid;
	gap: 9px;
	margin: 30px 0 0;
	padding-top: 24px;
	border-top: 1px solid #e2e2dd;
}

.rs-book-meta div {
	display: grid;
	grid-template-columns: 85px 1fr;
	font-size: 13px;
}

.rs-book-meta dt {
	color: #77796f;
	font-weight: 500;
}

.rs-book-meta dd {
	margin: 0;
	font-weight: 600;
}

.rs-book-author-card {
	display: grid;
	grid-template-columns: 66px 1fr;
	gap: 20px;
	align-items: start;
	margin-top: 40px;
	padding-top: 36px;
	border-top: 1px solid #e2e2dd;
}

.rs-book-author-card img {
	width: 66px;
	height: 66px;
	border-radius: 50%;
	object-fit: cover;
}

.rs-book-author-card p {
	margin-bottom: 5px;
}

.rs-book-author-card h2 {
	margin: 0;
	color: var(--rs-olive);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
	font-weight: 500;
}

.rs-book-author-card span {
	display: block;
	max-width: 650px;
	margin-top: 10px;
	color: #66695d;
	font-size: 13px;
	line-height: 1.7;
}

.rs-book-editorial {
	display: grid;
	grid-template-columns: minmax(280px, 390px) minmax(0, 1fr);
	gap: clamp(48px, 7vw, 90px);
	align-items: end;
	padding-top: 10px;
	padding-bottom: 85px;
}

.rs-book-editorial__visual {
	overflow: hidden;
	border-radius: var(--rs-radius-lg);
}

.rs-book-editorial__visual img {
	display: block;
	width: 100%;
	height: auto;
}

.rs-book-reviews h2 {
	margin: 0 0 25px;
	color: var(--rs-olive);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 35px;
	font-weight: 500;
}

.rs-book-reviews article {
	margin-top: 9px;
	padding: 26px 30px;
	border-radius: var(--rs-radius-md);
	background: #f8f7f2;
}

.rs-book-reviews article p {
	margin: 13px 0;
	color: #5f6257;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	line-height: 1.7;
}

.rs-book-reviews article strong {
	font-size: 12px;
}

.rs-book-tabs {
	padding: 70px 0 90px;
	border-top: 1px solid #e2e2dd;
	text-align: center;
}

.rs-book-tabs__list {
	display: inline-flex;
	overflow: hidden;
	border: 1px solid #dfdfda;
	border-radius: var(--rs-radius-pill);
}

.rs-book-tabs__list button {
	min-height: 48px;
	padding: 0 24px;
	border: 0;
	background: #fff;
	color: #66695d;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.rs-book-tabs__list button.is-active {
	background: var(--rs-olive);
	color: var(--rs-gold);
}

.rs-book-tabs__panel {
	max-width: 930px;
	margin: 30px auto 0;
	color: #686b60;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	line-height: 1.8;
}

.rs-related-books {
	padding-bottom: 130px;
}

.rs-related-books > h2 {
	padding-bottom: 20px;
	border-bottom: 1px solid #e2e2dd;
	font-size: 34px;
}

.rs-related-books__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	margin-top: 35px;
}

.rs-related-books article img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--rs-radius-md);
	object-fit: cover;
}

.rs-related-books article > p {
	margin: 16px 0 6px;
	font-size: 9px;
}

.rs-related-books h3 {
	font-size: 17px;
}

.rs-related-books article > strong {
	display: block;
	margin-top: 9px;
	font-size: 13px;
}

@media (max-width: 1050px) {
	.rs-books-hero__cover--top {
		display: none;
	}

	.rs-books-hero__content {
		width: min(620px, 70%);
	}

	.rs-book-detail {
		grid-template-columns: minmax(280px, 38%) minmax(0, 1fr);
		gap: 45px;
	}

	.rs-related-books__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.rs-books-container {
		width: min(100% - 32px, 560px);
	}

	.rs-books-hero {
		width: calc(100% - 24px);
		min-height: 620px;
		margin-top: 18px;
	}

	.rs-books-hero__content {
		width: 100%;
		min-height: 620px;
		justify-content: flex-start;
		padding: 72px 24px 235px;
	}

	.rs-books-hero__content h1 {
		font-size: clamp(39px, 12vw, 55px);
	}

	.rs-books-hero__content > span {
		font-size: 14px;
	}

	.rs-books-hero__cover--left {
		bottom: -72px;
		left: 18px;
		width: 175px;
		height: 220px;
	}

	.rs-books-hero__cover--right {
		top: auto;
		right: 12px;
		bottom: -54px;
		width: 172px;
		height: 220px;
	}

	.rs-books-hero__dots {
		display: none;
	}

	.rs-books-catalog {
		padding: 75px 0 95px;
	}

	.rs-books-heading {
		display: block;
	}

	.rs-books-heading > span {
		display: block;
		margin-top: 18px;
	}

	.rs-book-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px 16px;
	}

	.rs-book-card h3 {
		font-size: 19px;
	}

	.rs-book-card__footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 11px;
	}

	.rs-book-detail,
	.rs-book-editorial {
		grid-template-columns: 1fr;
	}

	.rs-book-detail {
		padding-top: 38px;
		padding-bottom: 70px;
	}

	.rs-book-detail__cover {
		width: min(100%, 440px);
		margin-inline: auto;
	}

	.rs-book-detail__info h1 {
		font-size: clamp(41px, 12vw, 57px);
	}

	.rs-book-editorial__visual {
		display: none;
	}

	.rs-related-books__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.rs-books-hero__actions,
	.rs-book-purchase {
		align-items: stretch;
		flex-direction: column;
	}

	.rs-book-button {
		width: 100%;
	}

	.rs-book-grid {
		grid-template-columns: 1fr;
	}

	.rs-book-card__image {
		aspect-ratio: 4 / 4.7;
	}

	.rs-book-purchase .rs-book-quantity {
		min-height: 51px;
	}

	.rs-book-benefits {
		grid-template-columns: 1fr;
	}

	.rs-book-benefits li {
		justify-content: flex-start;
		padding-inline: 18px;
	}

	.rs-book-tabs__list {
		display: grid;
		border-radius: var(--rs-radius-md);
	}

	.rs-related-books__grid {
		gap: 25px 14px;
	}
}

/* Final narrow-screen overrides for editable, variable-length content. */
@media (max-width: 640px) {
	.ruthshop-home > section:first-child {
		min-height: 580px;
		background-position: 64% center;
	}

	.ruthshop-home > section:first-child > div:first-child {
		background: linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.82), rgba(255,255,255,.18));
	}

	.rs-article,
	.rs-story-copy,
	.rs-profile-card > div,
	.rs-course-card__body,
	.rs-course-detail-header,
	.rs-course-tab-panel {
		padding-inline: 20px;
	}

	.rs-article {
		margin-inline: 12px;
	}

	.rs-course-tabs {
		display: flex;
		overflow-x: auto;
	}

	.rs-course-tabs button {
		flex: 0 0 auto;
	}

	.rs-course-detail-actions,
	.rs-course-detail-header__meta,
	.rs-cart-summary__row {
		flex-wrap: wrap;
	}

	.rs-book-detail__info h1,
	.rs-course-detail-header h1,
	.rs-article-hero__title h1 {
		overflow-wrap: anywhere;
	}
}
