/* || BREAKPOINTS ||
    @media screen and (max-width: 39.9375em) {}                         || SMALL ONLY { 0 - 639px }         ||
    @media screen and (min-width: 40em) {}                              || MEDIUM AND UP { 640px ONWARDS }  ||
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {}   || MEDIUM ONLY { 640px - 1023px }   ||
    @media screen and (min-width: 64em) {}                              || LARGE AND UP { 1024px ONWARDS }  ||
    @media screen and (min-width: 64em) and (max-width: 74.9375em) {}   || LARGE ONLY { 1024px - 1199px }   || */
















/* || Foundation component overrides || */
body{
    font-size: 17px;
    font-weight: 400;
}


h1, .h1 {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-size: 2.8em;
    line-height: 1.15em;
    margin: 0.67em 0;
    font-weight: 500;
    font-style: italic;
    letter-spacing: -0.01em;
}

h2, .h2 {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-size: 2.2em;
    line-height: 1.2em;
    font-weight: 500;
    font-style: italic;
}

h3, .h3 {
  font-size: 1.6em;
  line-height: 1.5em;
}

h4, .h4 {
    font-size: 1.2em;
    line-height: 1.5em;
}

h5, .h5 {
  font-size: 1.1em;
    line-height: 1.5em;
}

h6, .h6 {
  font-size: 1em;
  line-height: 1.5em;
}

[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea,
textarea:focus,
select,
select:focus {
    outline: none;
    box-shadow: none;
    font-size:1em;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}

[type=checkbox],
[type=radio] {
    position: relative;
    top: 0.1em;
}

button, 
.button {
    font-size:0.9em;
    padding: .9rem 2rem;
    
    border-radius: 30px;
    
    font-weight: 600;
}

button:not(.button-group button), 
.button:not(.button-group button) {
    font-size:0.9em;
    
    border-radius: 30px;
    
}


.is-btn, .btn{
    border-radius: 30px !important;
}


button:hover,
.button:hover,
button:focus,
.button:focus {
    transition: .4s;
    box-shadow: 0 4px 14px 0 rgba(184, 111, 79, 0.22);
}

.form legend {
    font-weight: 700;
}

span.error,
span.errorMargin {
    color: #cc4b37;
    font-size: 0.8em;
    font-weight: 700;
}


label, 
.label {
    font-size: 1em;
}

/* || Custom defined || */
.alternate-font-family {
    font-family: 'Cormorant Garamond', Georgia, serif;
}

/* || HEADER || */
.is-wrapper div.is-section.is-header, .is-header {
    background-color: #F5EDDF;
    color:#2D3B36;
    border-bottom:1px solid #E5D5BC;
    height: auto;
    min-height:0;
    z-index: 99;
    overflow: visible !important;
}

.is-header .is-container {
    z-index: 9;
}

header .sticky-bg-color.stick {
    background: #F5EDDF;
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:99;
}

header .is-stuck{
    background: #F5EDDF;
    border-bottom: 1px solid #e6e6e6;
    box-shadow: 0 4px 12px 0 #e6e6e6;
}

/* sticky navigation*/
header .with-nav.is-stuck {
    background: #F5EDDF;
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:99;
    border-bottom: 1px solid #E5D5BC;
    box-shadow: 0 4px 12px 0 rgba(45, 59, 54, 0.08);
    padding: 0 !important;
    margin: 0;
}

header .with-nav.is-stuck ul {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
     padding: 10px 0;
}

header.new-header-8 .with-nav.is-stuck ul {
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
}

header .with-nav.is-stuck .spacer{
    display:none;
}

header a:not(.button) {
    color: #2D3B36;
}

header a:not(.button):hover,
header a:not(.button):active,
header a:not(.button):focus {
    color: #B86F4F;
}

header .icon, 
header i,
header i.fa-bars.icon{
    color: #2D3B36;
}

header a:not(.button):hover .icon,
header a:not(.button):hover i,
header i:hover{
    color: #B86F4F;
}

header button,
header .button,
header button:hover,
header button:focus,
header .button:hover,
header .button:focus {
     background:#B86F4F;
     color:#F5EDDF;
}

header button.header-search-button {
    background:transparent;
}

header button.header-search-button:hover {
    box-shadow: none;
}

.text-logo {
    word-wrap: break-word;
    text-transform: capitalize;
    color: #FFFFFF;
    font-size: 50px;
    font-family: "Outfit", serif;
}

.header-buttons .button {
    font-weight:600;
    padding: 0.9em 2em;
}

footer {
    border-top: 1px solid #6B8169;
}

footer .text-logo {
    color: #E5D5BC;
}

footer .address-container br {
    display:none;
}

svg.step.social-icon {
    height:35px;
    width:35px;
    fill:#E5D5BC;
}

.footer2 .step.social-icon,
.new-footer-1 .step.social-icon,
.new-footer-2 .step.social-icon,
.new-footer-3 .step.social-icon,
.new-footer-4 .step.social-icon{
    height: 40px;
    width: 40px;
}

header .cta .icon {
    padding-right: 5px;
    color: #2D3B36
}

header .text-muted {
    color: #2D3B36 !important;
}

header .border-bottom, 
header hr {
    border-bottom:1px solid #E5D5BC;
}

header .border-top {
    border-top:1px solid #E5D5BC;
}


header .is-section {
    float: none;
    width: auto;
}


.header7 .ps-cart-text-container {
    position:static;
    margin-right:10px;
}




.ecommerce-style2 .cart, .cart {
    position:relative;
}

header a:hover i.fas {
    color:#B86F4F
}

.ecommerce-style2 .ps-cart-text-container, .ps-cart-text-container {
    color:#F5EDDF;
    background:#2D3B36;
    height: 22px;
    width: 23px;
    line-height: 24px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50% 50% 50% 50%;
    display: inline-block;
    font-size: 10px;
    position: absolute;
    left: 31px;
    top: -1px;
    font-weight: bold;
}

header a:hover .ps-cart-text-container {
    background:#B86F4F;
}

header .currency-converter{
    font-size: 0.9em;
}

header .currency-converter select {
    padding-right:0;
}

.sticky-container,
.nav-bg, 
.top-bar, 
.top-bar ul,
.top-bar ul.menu {
    z-index: 100;
}

.nav-bg, 
.top-bar, 
.top-bar ul,
.top-bar ul.menu {
    
        background-color: #F5EDDF;
    
}


.header-search-input{
    padding-right:25px;
    color:#262626;
    background:#FFFFFF;
}

.header-search-input::placeholder {
    color:#262626;
    opacity:0.6;
}

.header-search-button{
    position:absolute;
    top: 30%;
    right: 5px;
    padding:0;
}

header i.fas.fa-search {
    color:#262626
}

header .ps-cart-text-container {
    color:#F5EDDF;
    background:#2D3B36;
    height: 22px;
    width: 23px;
    line-height: 24px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50% 50% 50% 50%;
    display: inline-block;
}

header a:hover .ps-cart-text-container {
    background:#B86F4F;
}

/* || MENU || */
header .main-navigation-background {
    background:transparent;
}

header .menu.level-1 li .is-dropdown-submenu.menu.level-2  li:first-child {
    display:none;
}

header .dropdown.menu li a:not(.button) {
    width: 100%;
}

header ul.dropdown.menu li a:not(.button) {
     color: #2D3B36;
     font-weight:400;
}

header ul.dropdown.menu li.active > a:not(.button),
header ul.dropdown.menu li > a:not(.button):hover,
header ul.dropdown.menu li > a:not(.button):active,
header ul.dropdown.menu li > a:not(.button):focus{
    color: #F5EDDF;
    background-color: #6B8169;
}

header .dropdown.menu li ul.submenu {
     background: #2D3B36;
     border:none;
}

header .dropdown.menu li ul.submenu li a:not(.button) {
    color: #F5EDDF;
    text-align:left;
}

header .dropdown.menu li ul.submenu li a:not(.button):hover,
header .dropdown.menu li ul.submenu li.active a:not(.button) {
    color: #B86F4F;
}

header .dropdown.menu li ul.submenu li.is-active > a  {
    background:transparent;
}

header .dropdown.menu > li.is-active > a {
    color: #2D3B36;
    background:transparent;
}

header .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
    border-color:transparent;
    display: inline-block;
    width: 23px;
    height: 13px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.1772 1.88191C10.6078 1.45139 10.6078 0.753396 10.1772 0.322884C9.74673 -0.107628 9.04873 -0.107628 8.61821 0.322884L5.50004 3.44106L2.38191 0.322933C1.95139 -0.10758 1.2534 -0.10758 0.822884 0.322933C0.392372 0.753445 0.392372 1.45144 0.822885 1.88196L4.72044 5.77951C4.99879 6.05786 5.38895 6.15624 5.74634 6.07466C5.9418 6.03008 6.12746 5.93169 6.27968 5.77946L10.1772 1.88191Z' fill='white'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    right: auto;
    left: 37%;
    margin-top: 7px;
}

header .dropdown.menu > li.is-dropdown-submenu-parent.active > a::after,
header .dropdown.menu > li.is-dropdown-submenu-parent > a:hover::after {
    border-color: transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    border-color: transparent transparent transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left.active > a::after,
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a:hover::after {
    border-color: transparent #6B8169 transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    border-color: transparent transparent transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right.active > a::after,
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a:hover::after {
    border-color: transparent transparent transparent #6B8169;
}

/* New headers CSS */
.size-20 {
    font-size:20px;
}
.menu a.head-icons {
    background:#E5D5BC;
    border-radius:50px;
    height:40px;
    width:40px;
    padding-left:0;
    padding-right:0;
    margin-right:10px;
}

.header-top-bg {
    background:#2D3B36;
    color: #F5EDDF;
}

.header-top-social-media .menu a{
    padding-bottom:0;
}

.header-top-social-media .menu a i,
.header-top-contact-links .menu a i {
    color:#F5EDDF;
}

.header-top-social-media .menu a:hover i,
.header-top-contact-links .menu a:hover i,
.header-top-contact-links .menu a:hover {
    color:#C99A8E;
}

header .header-top-contact-links {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    color:#F5EDDF;
}

header .header-top-contact-links a,
header .header-top-contact-links a:hover,
header .header-top-contact-links a:active{
    color:inherit;
} 

.header-top-contact-links .menu a {
    padding-top: 0;
    padding-bottom:0;
    color:inherit;
}

.header-top-contact-links .menu a i {
    font-size: 18px;
    position: relative;
    top: 2px;
    padding-right: 5px;
}

header .header8 ul.dropdown.menu > li > a:not(.button) {
    padding-top:0;
    padding-bottom:0;
}

.new-header ul.dropdown.menu li.active > a:not(.button), 
.new-header ul.dropdown.menu li > a:not(.button):hover, 
.new-header ul.dropdown.menu li > a:not(.button):active, 
.new-header ul.dropdown.menu li > a:not(.button):focus {
    background-color:transparent;
}

.new-header ul.dropdown.menu > li.active > a:not(.button) span,
.new-header ul.dropdown.menu > li:hover > a:not(.button) span {
  color :#F5EDDF;
}


.new-header-1 ul.dropdown.menu > li {
    margin-bottom: 5px;
    margin-top: 5px;
}

.new-header-1 ul.dropdown.menu > li.active > a:not(.button) span,
.new-header-1 ul.dropdown.menu > li:hover > a:not(.button) span {
    border-bottom:2px solid #F5EDDF;
}

.new-header-6 ul.dropdown.menu li.active > a:not(.button) span,
.new-header-6 ul.dropdown.menu li:hover > a:not(.button) span,
.new-header-7 ul.dropdown.menu li.active > a:not(.button) span,
.new-header-7 ul.dropdown.menu li:hover > a:not(.button) span{
}

.new-header .button, 
.new-header .button.disabled, 
.new-header .button[disabled], 
.new-header .button.disabled:hover, 
.new-header .button[disabled]:hover, 
.new-header .button.disabled:focus, 
.new-header .button[disabled]:focus {
    background-color: #B86F4F;
    color: #F5EDDF;
}

.new-header .button.hollow {
    background:transparent;
    color:#2D3B36;
    border:1px solid #B86F4F;
}

.new-header-menu-container {
    background:transparent;
}

.new-header .button i,
.new-header .button:hover i {
    color:inherit;
    padding-right:10px;
}

.column.full {
    width: 100%;
}

.sidenav-container {
    background-color: #B86F4F;
    color: #F5EDDF;
    height: 42px;
    width: 42px;
    text-align: center;
    border-radius: 50px;
    padding-top: 8px;
}

.sidenav-container i.fa-bars.icon{
     color: #F5EDDF;
}

.new-header-3 .logo-container,
.new-header-4 .logo-container {
    min-height:110px;
    display: flex;
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
}

.new-header-3 .left-column i {
    margin-right:5px;
}

.new-header-5.logo-section {
    min-height:150px;
}

.new-header-5 .menu-container {
    margin-top:10px;
}

.new-header-5 .dropdown.menu > li > a {
    padding: 0.7rem 0 0.7rem 2rem;
}

.new-header-5 .dropdown.menu > li.has-submenu > a {
    padding-right: 1.5rem;
}

.new-header-6 .menu a.head-contact-links {
    display: flex;
    text-align: left;
    align-items: center;
}

.new-header-6 .menu a.head-contact-links .icon-part{
    padding-right:20px;
    color:#B86F4F;
    font-size:20px;
}

.new-header-6 .menu a.head-contact-links .icon-part i {
    color:inherit;
}

.new-header-6 .menu a.head-contact-links .text-part .heading {
    padding-bottom:5px;
}

.new-header-6 .contact-section {
    display: flex;
    justify-content: right;
    align-items: center;
}

.new-header-6 .menu-container {
    border-top:1px solid #E5D5BC;
    margin-top: 10px;
    padding-top: 5px;
}

.new-header-9 .sidenav-bar {
    right: 20px;
    top: 20%;
}

/* New headers CSS END */

/* new theme 2 styles */

.main-banner-sec.theme-2 {
    height:80%;
}

.main-banner-sec.theme-2 form .button {
    background: #6B8169;
    color: #F5EDDF;
    padding:12px 32px;
    font-size:0.9em;
}

.is-dark-color * {
    color:#2D3B36;
}

.is-light-color *{
    color:#F5EDDF;
}

.is-dark-color .button,
.is-dark-color button {
    background: #6B8169;
    color: #F5EDDF;
}

.is-light-color button,
.is-light-color .button {
    background: #F5EDDF;
    color: #6B8169;
}

.page-banner-main-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-weight: 500;
    margin-bottom: 10px;
    font-size: 2.8em;
    font-style: italic;
    letter-spacing: -0.01em;
}

.page-banner-sub-heading {
    font-size: 1.2em;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    margin-bottom: 30px;
    line-height: 1.6;
}

#contact-us-form-container {
    position:relative;
}

#contact-us-form-container label {
    margin-bottom:8px;
}

#contact-us-form-container p:first-of-type, 
#contact-us-form-container legend {
    display:none;
}

#contact-us-form-container .textblock_wrap p {
    display:block;
}

#contact-us-form-container .fieldset {
    padding:0;
    margin:0;
    border:0px solid;
}

#contact-us-form-container form {
    background:#F5EDDF;
    position: absolute;
    right: 0;
    top:110px;
    width: 100%;
    padding: 40px;
}

#contact-us-form-container form input:not([type="submit"]) {
    border:1px solid #E5D5BC;
    padding: 8px 16px;
    border-radius:10px;
    height: 56px;
}

#contact-us-form-container .phone_wrap > div {
    width:100%;
}   

#contact-us-form-container .phone_wrap > div [class*="flag-container"] {
    display:none;
}

#contact-us-form-container form #first_name, 
#contact-us-form-container form #mob_phone_phone_number_tel {
    margin-bottom: 1rem !important;
    margin-top: 0px !important;
}

#contact-us-form-container * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#contact-us-form-container .form-container {
    padding:0;
}

.user-logged-out .main-banner-sec {
    overflow:visible;
}

/* service page */ 

.service-card-section h2 {
    padding-top:30px;
}

.service-card-section .single-card {
    height:100%;
     color:#F5EDDF;
}

.service-card-section .single-card * {
     color:#F5EDDF;
}

.service-card-section .cell {
    padding-right:10px;
    padding-left:10px;
}

/* faq page */

/* system page */ 
.ww-newsletter-registration.ww-form-container {
    padding-top:30px;
}


@media screen and (min-width: 1024px) {
    .stretched-image-section .cell.large-6 {
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0;
        box-sizing: border-box;
    }
    
    .stretched-image-section .cell.large-6:first-child {
        background-color: #2D3B36;
        color: #F5EDDF;
        max-width: 600px;
    }
    
    .stretched-image-section .cell.large-6:last-child {
        position: absolute;
        right: 0;
        top: 0;
    }
    
    .stretched-image-section .cell.large-6:last-child img {
        width: 100%;
        object-fit: cover;
    }
}


/* container css overridden */
.is-wrapper .is-box .is-container {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* New Footer CSS */
.new-footer {
    font-size:1em;
}

.new-footer .menu .active > a {
    background: transparent;
    color:#F5EDDF;
}

footer.new-footer .footer-menu-container .menu li.has-submenu a {
    padding-right:1.5em;
}

footer.new-footer .footer-menu-container .menu li a {
    font-weight:normal;
    padding: 0.5em;
}

footer.new-footer .footer-menu-container .menu li.has-submenu ul li:first-child {
    display:none;
}

footer.new-footer .footer-menu-container .menu li.has-submenu ul li a {
    text-align:left;
}

.footer-menu-container {
    border-bottom:1px solid #6B8169;
    margin-bottom:20px;
}

footer.new-footer h4 {
    font-weight:bold;
    font-size:20px;
    margin-bottom:15px;
}

.footer-media-box {
    margin-top:5px;
}

.size-40 {
    font-size:40px !important;
}

.new-footer-1 .copyright-container,
.new-footer-2 .copyright-container,
.new-footer-3 .copyright-container{
    border-top:1px solid #6B8169;
    padding-top: 20px;
    padding-bottom: 10px;
}

.new-footer-1 .footer-social-media {
    margin-top:30px;
}

.new-footer .dropdown.menu > li.is-active > a {
    background: transparent;
}

.mailing-list-button {
    margin-top:30px;
}

.new-footer-3  .shop-address br{
    display:none;
}

.new-footer-3 .footer-menu-container {
    margin-bottom: 0px;
}

.new-footer-3 .footer-media-box img {
    max-height:80px;
}

.new-footer ul.dropdown.menu > li.active > a:not(.button) span, 
.new-footer ul.dropdown.menu > li:hover > a:not(.button) span {
    color: #B86F4F;
}

footer.new-footer a:not(.button):hover, 
footer.new-footer a:not(.button):active, 
footer.new-footer a:not(.button):focus {
    color: #B86F4F;
}

.dropdown.menu > li.is-active a {
    color: #E5D5BC;
}

.contact-us-column .contact-number {
    padding-top:10px;
    padding-bottom:10px;
}

.subscription-button-container .button {
    padding: 17px;
    font-weight: 600;
}

footer iframe {
    width:275px;
}

.new-footer.with-background-image {
    background:url("//d14ty28lkqz1hw.cloudfront.net/data/org/31249/theme/49147/img/footer_bg.jpg") no-repeat;
    background-position: top;
    background-size: cover;
    margin-top:0;
}

.new-footer-3 i {
    color:#B86F4F;
}

.new-footer-4 .footer-social-media .menu a,
.footer3 .social-media-icons-small.menu a{
    padding: 5px !important;
}

/* New Footer CSS END*/

/* || HOMEPAGE || */
.light-bg-section {
    float: left;
}

.text-dark h1,
.text-dark h2,
.text-dark h3,
.text-dark h4,
.text-dark h5{
    color:inherit;
}

.light-bg-section h3 {
    color:#6B8169;
    font-weight:500;
}

.text-primary {
     color:#6B8169;
}

strong, b {
    font-weight: bolder;
}

.dark-bg-section {
    float: left;
    color: #F5EDDF;
}

.dark-bg-section h1,
.dark-bg-section h2,
.dark-bg-section h3,
.dark-bg-section h4,
.dark-bg-section h5{
    color:inherit;
}

.dark-bg-section input[type="text"] {
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.25;
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: .25rem;
    background:;
    color:;
}

.dark-bg-section input[type="text"]::placeholder {
     color:#F5EDDF;
}

.dark-bg-section .button {
    background:;
    color:inherit;
}

.customer-section {
    background:;
    color:;
    float:left;
}

.rounded-circle {
    border-radius: 50%;
}

.latest-blog-posts {
    background:;
    color:;
    float:left;
    width:100%;
}

.latest-blog-posts h2 {
    color:inherit;
    font-size: 2.5rem;
}

.latest-blog-posts h4 {
    color:inherit;
    font-size: 1rem;
}

.latest-blog-posts h2 a,
.latest-blog-posts h4 a,
.latest-blog-posts a{
    color:inherit;
}

.latest-blog-posts .readmore:hover {
    text-decoration:underline;
} 

/* New blog page type */

.banner-main-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-size:2.8em;
    color:#F5EDDF;
    line-height: 1.15em;
    font-style: italic;
    font-weight: 500;
}

.new-blog-page-type .featured-articles {
    padding: 48px;
    border: 1px solid #E5D5BC;
}

.new-blog-page-type .featured-articles img {
    max-height:215px;
}

.new-blog-page-type .featured-articles h5 {
    font-size: 1.2em;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 20px;
    color:#2D3B36;
}   

.new-blog-page-type .featured-articles h2 {
    font-size: 1.7em;
    line-height: 1.5;
    font-weight: 400;
    color:#2D3B36;
}

.new-blog-page-type .featured-articles h2 a{
    color:#2D3B36;
}

.new-blog-page-type .blog-search-button svg {
    fill:#6B8169;
}

.blog-search-container .blog-search-button:hover {
    box-shadow: none;
}

.new-blog-page-type .featured-articles p {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}

.new-blog-page-type .blog-articles,
.new-blog-page-type .blog-sidebar {
    margin-top: 80px;
}

.new-blog-page-type .blog-ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 70px 30px; 
    list-style: none;
    margin-left: 0;
}

.new-blog-page-type .blog-ul h2,
.new-blog-page-type .blog-ul h2 a{
    font-size: 22px;
    line-height: 1.5;
    font-weight: 500;
}

.new-blog-page-type .blog-ul img,
.featured-articles-slider img {
    margin-bottom:12px;
}

.new-blog-page-type .article-body ,
.new-blog-page-type .article-body p {
    font-size:18px;
    font-weight:400;
}

.new-blog-page-type .blog-read-more {
    font-weight:600;
}

.featured-articles-slider,
.ps-blog-category  {
    list-style: none;
    margin-left:0;
}

.ps-blog-category {
    margin-bottom: 0;
}

.ps-blog-category li {
    display:inline-block;
}

.ps-blog-category li a {
    padding: 8px 24px;
    border: 1px solid #6B8169;
    margin-right: 16px;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 16px;
    color:#6B8169;
}

.ps-blog-category li.active a,
.ps-blog-category li a:hover{
    border-radius: 0;
    vertical-align: baseline;
    line-height: inherit;
    background:#6B8169;
    color:#F5EDDF;
}

.new-blog-page-type .featured-articles-section {
    margin-top:80px;
}

.new-blog-page-type .section-main-heading {
    color:#2D3B36;
}

.articles-filter-container h3 {
    font-size: 22px;
    margin-bottom: 16px;
    font-weight: 600;
    color:#2D3B36;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction {
    text-align:right;
    margin-top: 50px;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a.disabled {
    opacity: 0.2;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a {
    position: relative;
    color: inherit;
    top: auto;
    margin-top: 0;
    padding: 0;
    font-size: 16px;
    text-shadow: none;
    margin-left: 20px;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a i {
    font-weight: 100;
    text-shadow: none;
    font-size: 35px;
    color:#6B8169;
    border: 1px solid #6B8169;
    width: 40px;
    height: 40px;
    text-align: center;
    display: inline-block !important;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a.bx-prev {
    width: 40px;
    height: 40px;
    display: inline-block;
}

.new-blog-page-type .bx-wrapper .bx-controls-direction a.bx-next {
    width: 40px;
    height: 40px;
    display: inline-block;
    right:auto;
}

.new-blog-page-type .article-category {
    margin-bottom: 5px;
}

.new-blog-page-type .article-category span {
    font-size:16px;
    color:#6B8169;
    font-weight: 400;
    font-style: italic;
}

.blog-search-container #search-input-blog {
    height: 56px;
    border-radius: 10px;
    padding: 8px 16px 8px 44px;
    margin-top: 80px;
    margin-bottom:0;
}

.blog-search-container .blog-search-button {
    position: absolute;
    top: 20px;
    padding: 0;
    left: 16px;
}

.new-blog-page-type .ps-pagination-bar {
    margin-top:50px;
}

.new-blog-page-type .ps-pagination-bar p {
    display:table;
    margin:auto;
}

.new-blog-page-type .ps-pagination-bar span {
    font-size:16px;
    background:#E5D5BC;
    border:1px solid #E5D5BC;
    font-weight:400;
    margin-left: 5px;
    margin-bottom: 10px;
    display:inline-block;
}

.new-blog-page-type .ps-pagination-bar span a {
    display:block;
    padding: 12px;
}

.new-blog-page-type .ps-pagination-bar span.current {
    padding: 12px;
}

.new-blog-page-type .ps-pagination-bar span.current,
.new-blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type .ps-pagination-bar span.prev {
    border:1px solid #6B8169;
    font-weight:600;
    background:transparent;
}

.new-blog-page-type .article-title {
    color:#2D3B36;
    margin-top:10px;
    margin-bottom: 20px;
    font-size: 2.8em;
    font-weight: 500;
}

.new-blog-page-type .blog-author ul {
    list-style:none;
    margin-left:0;
}

.new-blog-page-type.article-page-type .article-body {
    margin-top:70px;
}

.new-blog-page-type .ps-blog-recent-posts {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-left: 0;
}

.new-blog-page-type .ps-blog-recent-posts .article-title {
    font-size:1.2em;
    margin-bottom:15px;
}

.new-blog-page-type  .recent-posts-text {
    font-weight:600;
}

.new-blog-page-type .blog-sidebar-widget .ps-article-img img {
    margin-bottom:10px;
}

.new-blog-page-type h1,
.new-blog-page-type h2,
.new-blog-page-type h3,
.new-blog-page-type h4 {
    line-height:1.5;
    font-weight: 500;
}

@media screen and (max-width: 1023px) {
    .theme-academy .header-buttons {
        padding-top:0;
    }
    header button.openMenu:hover,
    header button.openMenu:focus,
    header button.openMenu:active {
        box-shadow:none;
    }
    body {
        font-size:16px;
    }
    .new-blog-page-type .small-block-grid-1 {
        grid-template-columns: 1fr;
    }
    .articles-filter-container {
        margin-top:80px;
    }
    .new-blog-page-type .ps-blog-recent-posts {
         grid-template-columns: 1fr;
         width:100%;
         margin:auto;
    }
    .articles-filter-container .mobile-category-title {
        border:1px solid #E5D5BC;
    }
    #contact-us-form-container form {
        position:relative;
        top:auto;
        margin-bottom: 40px;
        padding-left:10px;
        padding-right:10px;
    }
    .main-banner-sec.theme-2 form .button,
    .main-banner-sec.theme-2 .button {
        font-size:1em;
        padding-right:24px;
        padding-left:24px;
        line-height: 1.5;
    }
    button, .button {
        line-height:1.5;
    }
    .banner-main-heading {
        font-size: 2.1em;
    }
    .is-overlay-bg {
        opacity:1;
    }
    h1, .h1 {
        font-size: 1.7em;
        line-height: 1.2em;
        margin: 0.67em 0;
    }
    .new-blog-page-type .article-title {
        font-size: 2em;
    }
    .new-blog-page-type .featured-articles h2,h2, .h2 {
        font-size: 1.5em;
        line-height: 1.4em;
    }
    
    h3, .h3 {
      font-size: 1.3em;
      line-height: 1.4em;
    }
    
    h4, .h4 {
        font-size: 1.2em;
        line-height: 1.5em;
    }
    
    h5, .h5 {
      font-size: 1em;
        line-height: 1.5em;
    }
    
    h6, .h6 {
      font-size: 1em;
      line-height: 1.4em;
    }
    p{
        font-size:1.2em;
    }
    footer {
        margin-top:32px;
    }
    .mobile-footer-menu {
        display:block;
    }
    .blog-search-container #search-input-blog,
    .articles-filter-container,
    .new-blog-page-type .blog-articles, 
    .new-blog-page-type .blog-sidebar {
        margin-top: 40px;
    }
}

.img-shadow {
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.4);
}

.size-30 {
    font-size:30px;
}

.is-section-guide {
    background:#2D3B36;
}

.is-section-guide h2 {
    color:#F5EDDF;
}

.is-section-guide p.lead {
    color:#F5EDDF;
}
.is-section-guide a.button {
    background:#F5EDDF;
    color:#2D3B36;
}

/* || FOOTER || */
.is-footer, .is-wrapper div.is-section.is-footer {
    background-color: #2D3B36;
    color: #F5EDDF;
    clear: both;
}

footer a:not(.button) {
    color: #E5D5BC;
}

.is-footer .is-container {
    padding: 0px;
}

footer a:not(.button):hover,
footer a:not(.button):active,
footer a:not(.button):focus {
    color: #B86F4F;
}

.user-logged-in footer {
    margin-top:30px;
    float:left;
    width:100%;
    clear:both;
}


footer .border-bottom, 
footer hr {
    border-bottom:1px solid #6B8169;
}

.social-media-icons a {
    font-size: 3em;
    color: #F5EDDF;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6{
     color: #F5EDDF;
}

.slick-dots li {
    border: 1px solid #6B8169;
}

.slick-dots li.slick-active, .slick-dots li:hover {
    background: #6B8169;
}


.back-to-top-button {
    bottom:10px;
    right:10px;
    z-index:9;
}


/* || OFFCANVAS - SIDENAV || */
.off-canvas-content.is-open-right.has-transition-push{
    -webkit-transform: translateX(-60%);
    -ms-transform: translateX(-60%);
    transform: translateX(-60%);
}
 
.is-open.position-right {
    width: 60%;
}

@media screen and (min-width: 63em) and (max-width: 64em) {
    footer button:not(.button-group button) , footer .button:not(.button-group button),
    header button:not(.button-group button) , header .button:not(.button-group button){
        margin-bottom:2px;
    }
    .column-container.newsletter .button {
        padding-left: 1em;
        padding-right: 1em;
    }
}

@media screen and (min-width:  64em) {
    .off-canvas-content.is-open-right.has-transition-push{
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
    }
    
    .is-open.position-right {
        width: 0%;
    }
    
    /* new header 7 css */
     .off-canvas-content.is-open-right.has-transition-push.mobile-menu-for-desktop{
        -webkit-transform: translateX(-40%);
        -ms-transform: translateX(-40%);
        transform: translateX(-40%);
    }
    
    .is-open.position-right.mobile-menu-for-desktop {
        width:40%;
    }
    
    .js-off-canvas-overlay.is-overlay-fixed {
        display: none !important;
    }
       .text-md-left {
        text-align:left;
    }
    
    .gallery-figcaption {
        padding-top: 37%;
        text-align: center;
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.56);
        color:white;
        display: none;
        cursor: pointer;
    }
    
    .testimonial-container {
        min-height: 450px;
    }
    
    .dark-bg-section input[type="text"] {
        width:25%;
        margin-right:10px;
    }
}

aside.sidenav .featured-section {
    background-color:#F5EDDF;
    color:#2D3B36;
}

aside.sidenav .featured-section i {
    color:#2D3B36;
}

aside.sidenav input[type=search] {
    color:#262626;
    background:#FFFFFF;
    padding-right: 24px;
}

aside.sidenav input[type=search]::placeholder {
    color:#262626;
    opacity:0.6;
}

aside.sidenav button[type=submit] {
    position: absolute;
    top: 30%;
    right: 5px;
    outline: none !important;
    background: transparent;
    border: 0px solid;
    box-shadow: none;
    padding:0;
}

aside.sidenav i.fas.fa-search {
    color:#262626
}


aside.sidenav .menu.simple {
    background:transparent;
    color: #2D3B36;
}

aside.sidenav .menu.simple a {
    color: #2D3B36;
}



aside.sidenav .ps-cart-text-container {
    color:#F5EDDF;
    background:#2D3B36;
    height: 22px;
    width: 23px;
    line-height: 24px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50% 50% 50% 50%;
    display: inline-block;
    margin-left: 5px;
}

aside.sidenav a:hover .ps-cart-text-container {
    background:#B86F4F;
}

aside.sidenav .is-accordion-submenu {
    margin-left: 0;
}

aside.sidenav .menu.accordion-menu li {
    border-bottom: 1px solid #2D3B36;
}

aside.sidenav .menu.accordion-menu li:last-child {
    border-bottom: 0px solid;
}

aside.sidenav .menu.accordion-menu li a {
    background:transparent;
    color: #2D3B36;
}

aside.sidenav .menu.accordion-menu .active > a {
    background:#6B8169;
    color: #F5EDDF;
}

aside.sidenav .menu.accordion-menu li.has-submenu a::after {
    border-color: #2D3B36 transparent transparent !important;
}

aside.sidenav .menu.accordion-menu > li.has-submenu.active > a::after {
    border-color: #F5EDDF transparent transparent !important;
}

@media screen and (max-width: 63.9375em) {

  .is-static.is-footer {
      min-height: 0;
  }
  
  footer .border-bottom-small {
      border-bottom:1px solid #6B8169;
    }
    
    footer .border-top-small {
      border-top:1px solid #6B8169;
    }

    header .border-top-small  {
        border-top:1px solid #E5D5BC;
    }
    
    .step.social-icon {
        height:35px;
        width:35px;
    }
    
    /* New header layouts */
    header .sidenav-container a:not(.button),
    header .sidenav-container a:not(.button):active,
    header .sidenav-container a:not(.button):active i,
    header .sidenav-container a:not(.button):hover .icon, 
    header .sidenav-container a:not(.button):hover i{
        color:inherit;
    }
   
    header .sidenav-container a:not(.button) i {
        line-height:25px;
    }
    
    .absolute-for-mobile {
        position:absolute;
    }
    
    header .mobile-head-border-section  {
        border-top:1px solid #E5D5BC;
        border-bottom:1px solid #E5D5BC;
        line-height: 60px;
    }
    
    header .mobile-head-border-section .mobile-border-right {
        border-right:1px solid #E5D5BC;
    }
    
    header .mobile-contact-section .head-icons {
        background: #2D3B36;
        color:#F5EDDF;
        border-radius: 50px;
        height: 40px;
        width: 40px;
        line-height: 40px;
        padding-left: 0;
        padding-right: 0;
        display: inline-block;
    }
    
    header .mobile-contact-section .head-icons i {
        color:#F5EDDF;
    }
    
    .mobile-contact-buttom-section {
        line-height: 60px;
        text-align:center;
    }
    
    .mobile-contact-buttom-section .button{
        margin-bottom:0;
    }
    
    .new-header .logo-container {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
        padding-left: 40px;
    }
    
    .new-header-2 .mobile-contact-buttom-section {
        border-top:1px solid #E5D5BC;
    }
    
     .new-header-2 .mobile-contact-buttom-section .button {
         margin-bottom:20px;
         margin-top:20px;
     }

    .new-header-3 .mobile-contact-number-section,
    .new-header-3 .mobile-contact-button-section,
    .new-header-4 .mobile-contact-number-section,
    .new-header-4 .mobile-contact-button-section,
    .new-header-5 .mobile-contact-number-section,
    .new-header-5 .mobile-contact-button-section,
    .new-header-6 .mobile-contact-button-section {
        border-top:1px solid #E5D5BC;
        line-height:50px;
        text-align:center;
    }
    
    .new-header-3 .mobile-contact-button-section .button,
    .new-header-5 .mobile-contact-button-section .button,
    .new-header-6 .mobile-contact-button-section .button {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    
    .new-header-3 .logo-container,
    .new-header-4 .logo-container,
    .new-header-5 .logo-container,
    .new-header-6 .logo-container {
        display:block;
        min-height:0;
    }
    
    .new-header-6 .mobile-contact-button-section {
        justify-content: center;
    }
    
    .is-footer-8 {
        min-height:0;
    }
    
    /* new footer layouts */
        .footer-text, 
        .footer-social-media,
        .footer-media-box {
            width: 270px;
            margin: auto;
            text-align: center;
        }
        
        .contact-us-column {
            text-align:center;
        }
        
        .new-footer-1 .footer-social-media .menu.align-left,
        .new-footer-2 .footer-social-media .menu.align-left {
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        
        .new-footer-1 .footer-social-media .menu.align-left a, 
        .new-footer-1 .footer-social-media .menu.align-left .button,
        .new-footer-2 .footer-social-media .menu.align-left a, 
        .new-footer-2 .footer-social-media .menu.align-left .button{
            padding-left:0.2em !important;
            padding-right:0.2em !important;
        }
        
        .new-footer-1 .footer-menu-container .dropdown.menu,
        .new-footer-3 .footer-menu-container .dropdown.menu{
            display:block;
        }
        
        .new-footer-2 .footer-links,
        .mailing-list-button {
            text-align:center;
        }
        
        .small-text-center {
            text-align:center;
        }
        
        .menu.small-align-center {
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        
        .new-footer-4 .copyright-container, .new-footer-4 .subscription-button-container {
            border-bottom:1px solid #6B8169;
        }
       
        
    /* new footer layouts */
    
    header .sticky-bg-color {
        position:static;
    }

    header .sticky {
        top:0 !important;
    }
    
    .justify-small-center {
        justify-content: center;
    }
    
    .padding-top-sm-3 {
        padding-top:3rem;   
    }
    
    .padding-bottom-sm-3 {
        padding-bottom:3rem;   
    }
    
    .padding-top-sm-2 {
        padding-top:2rem;   
    }
    
    .padding-bottom-sm-2 {
        padding-bottom:2rem;   
    }
    
     .padding-top-sm-1 {
        padding-top:1rem;   
    }
    
    .padding-bottom-sm-1 {
        padding-bottom:1rem;   
    }

    .padding-top-sm-0 {
        padding-top:0!important;
    }
    
    .padding-bottom-sm-0 {
        padding-bottom:0!important;
    }
    
    .margin-top-sm-0{
        margin-top:0 !important;
    }
    
    .margin-bottom-sm-0{
        margin-bottom:0;
    }
    
     .margin-top-sm-2{
        margin-top:2rem;
    }
    
    .margin-bottom-sm-2{
        margin-bottom:2rem;
    }
    
    .margin-top-sm-1{
        margin-top:1rem;
    }
    
    .margin-bottom-sm-1{
        margin-bottom:1rem;
    }
    
    .padding-bottom-sm-0{
        padding-bottom:0 !important;
    }
    
    .copyright {
        font-size: 100%;
    }
    
    .small-block {
        display:block;
    }
}

/* || BRAND POLISH — Restoring Balance & Wellness || */

/* Alternate heading treatment — italic serif in sage */
.light-bg-section h3,
.alternate-heading,
.is-section-guide h2 {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0.01em;
}

/* Brand tagline utility — "courage · clarity · confidence" type lines */
.brand-tagline {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    color: #6B8169;
    letter-spacing: 0.04em;
    font-size: 1.1em;
}

/* Decorative divider — small dot between two short lines */
.brand-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 20px auto;
    max-width: 200px;
}

.brand-divider::before,
.brand-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #6B8169;
    opacity: 0.5;
}

.brand-divider .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #B86F4F;
    display: inline-block;
    flex-shrink: 0;
}

/* Pull-quote / testimonial editorial style */
.brand-pullquote {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 1.35em;
    line-height: 1.55;
    color: #2D3B36;
    padding-left: 24px;
    border-left: 2px solid #6B8169;
    margin: 24px 0;
}

.brand-pullquote-attribution {
    display: block;
    margin-top: 14px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-style: normal;
    font-size: 0.8em;
    letter-spacing: 0.08em;
    color: #6B8169;
    font-weight: 500;
}

/* Soft brand card — for service blocks and testimonial blocks */
.brand-card {
    background: #F5EDDF;
    border: 1px solid #E5D5BC;
    padding: 32px 28px;
    border-radius: 6px;
    height: 100%;
}

.brand-card.is-sage {
    background: #6B8169;
    color: #F5EDDF;
    border: none;
}

.brand-card.is-sage h1,
.brand-card.is-sage h2,
.brand-card.is-sage h3,
.brand-card.is-sage h4 {
    color: inherit;
}

/* Accent button (warm clay) — for primary CTAs */
.button.is-accent,
button.is-accent {
    background: #B86F4F;
    color: #F5EDDF;
    border: none;
}

.button.is-accent:hover,
button.is-accent:hover {
    box-shadow: 0 4px 14px 0 rgba(184, 111, 79, 0.32);
}

/* Ghost button — sage outline */
.button.is-ghost,
button.is-ghost {
    background: transparent;
    color: #6B8169;
    border: 1px solid #6B8169;
}

.button.is-ghost:hover,
button.is-ghost:hover {
    background: #6B8169;
    color: #F5EDDF;
    box-shadow: 0 4px 14px 0 rgba(107, 129, 105, 0.24);
}

/* Form inputs — softer corners, sage focus */
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=search],
textarea,
select {
    border: 1px solid #E5D5BC;
    background: #F5EDDF;
    color: #2D3B36;
    border-radius: 6px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=search]:focus,
textarea:focus,
select:focus {
    border-color: #6B8169;
    box-shadow: 0 0 0 3px rgba(107, 129, 105, 0.12);
}

/* Service card refinement — gentle lift on hover */
.service-card-section .single-card {
    border-radius: 6px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card-section .single-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(45, 59, 54, 0.12);
}

/* Subtle link underline on hover */
.is-wrapper a:not(.button):not(.menu a):not(.head-icons):hover {
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

/* Mobile heading sizing — keep serif elegance even at smaller sizes */
@media screen and (max-width: 39.9375em) {
    h1, .h1,
    .banner-main-heading,
    .page-banner-main-heading {
        font-size: 1.9em;
        line-height: 1.2em;
    }
    
    .brand-pullquote {
        font-size: 1.15em;
        padding-left: 18px;
    }
}

/* || BRAND POLISH END || */



/* || ECOMMERCE PRODUCT SLIDER || */
.ecommerce-product-slider .orbit-previous,
.ecommerce-product-slider .orbit-next {
  color: #6B8169;
}

.ecommerce-product-slider .orbit-bullets button {
  height: 0.65rem;
  width: 0.65rem;
}

.ecommerce-product-slider .product-card {
  background-color: #F5EDDF;
  border: 1px solid #E5D5BC;
  padding: 1rem;
  margin-bottom: 1.5rem;
  border-radius: 6px;
}

.ecommerce-product-slider .product-card-thumbnail {
  display: block;
  position: relative;
}

.ecommerce-product-slider .product-card-title {
  font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.45rem;
  margin-top: 1rem;
  margin-bottom: 0;
}

.ecommerce-product-slider .product-card-desc {
  color: #2D3B36;
  opacity: 0.72;
  display: block;
  font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
  font-size: 0.85rem;
}

.ecommerce-product-slider .product-card-price {
  color: #2D3B36;
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 500;
  margin-top: 0.8rem;
}

.ecommerce-product-slider .product-card-sale {
  color: #E5D5BC;
  display: inline-block;
  font-size: 0.85rem;
  margin-left: 0.3rem;
  text-decoration: line-through;
}

.ecommerce-product-slider .product-card-colors {
  display: block;
  margin-top: 0.8rem;
}

.ecommerce-product-slider .product-card-color-option {
  display: inline-block;
  height: 25px;
  width: 25px;
}

header button.openMenu {
    background: initial;
    color: initial;
}

/* === HEADER LUXE — Restoring Balance & Wellness === */
/* Targets the existing new-header-6 markup. No HTML changes required. */

/* --- Outer header shell --- */
header#header.new-header-6 {
    background: #F5EDDF;
    border-bottom: 1px solid rgba(45, 59, 54, 0.08);
    position: relative;
    z-index: 99;
    transition: box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

header#header.new-header-6.is-stuck {
    background: #F5EDDF;
    box-shadow: 0 6px 28px rgba(45, 59, 54, 0.08);
    border-bottom: 1px solid rgba(45, 59, 54, 0.08);
}

/* Hairline accent at top edge — subtle warm-clay band */
header#header.new-header-6::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
        #6B8169 0%,
        #B86F4F 50%,
        #6B8169 100%);
    opacity: 0.85;
    z-index: 2;
}

/* --- Logo / Text logo --- */
header#header.new-header-6 .logo-container {
    padding: 4px 0;
}

header#header.new-header-6 .logo-container a {
    display: inline-block;
    transition: opacity 0.3s ease;
}

header#header.new-header-6 .logo-container a:hover {
    opacity: 0.78;
}

header#header.new-header-6 .text-logo {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #FFFFFF;
    line-height: 1;
    background: linear-gradient(135deg,
        #FFFFFF 0%,
        #6B8169 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: letter-spacing 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

header#header.new-header-6 .logo-container a:hover .text-logo {
    letter-spacing: 0.005em;
}

header#header.new-header-6 .logo-container img {
    max-height: 170px;
    width: auto;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

header#header.new-header-6 .logo-container a:hover img {
    transform: scale(1.03);
}

/* === DESKTOP (1024px and up) === */
@media screen and (min-width: 64em) {

    /* --- Contact section (Email + Phone + Button) --- */
    header#header.new-header-6 .contact-section.menu {
        display: flex;
        align-items: center;
        gap: 8px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-end;
    }

    header#header.new-header-6 .contact-section.menu > li {
        margin: 0;
    }

    /* Email and phone contact blocks */
    header#header.new-header-6 .menu a.head-contact-links {
        display: flex !important;
        align-items: center;
        gap: 12px;
        padding: 10px 18px !important;
        border-radius: 10px;
        background: transparent;
        transition: background 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
    }

    header#header.new-header-6 .menu a.head-contact-links:hover {
        background: rgba(107, 129, 105, 0.06);
        transform: translateY(-1px);
    }

    /* Icon circle */
    header#header.new-header-6 .menu a.head-contact-links .icon-part {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 50%;
        background: #E5D5BC;
        color: #B86F4F;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        padding: 0;
        transition: background 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                    color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }

    header#header.new-header-6 .menu a.head-contact-links:hover .icon-part {
        background: #B86F4F;
        color: #F5EDDF;
        transform: rotate(-8deg) scale(1.08);
    }

    header#header.new-header-6 .menu a.head-contact-links .icon-part i {
        color: inherit;
        font-size: 16px;
    }

    /* Text part */
    header#header.new-header-6 .menu a.head-contact-links .text-part {
        text-align: left;
        line-height: 1.2;
    }

    header#header.new-header-6 .menu a.head-contact-links .text-part .heading {
        font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
        font-style: italic;
        font-size: 12px;
        color: #6B8169;
        padding-bottom: 3px !important;
        font-weight: 500;
        letter-spacing: 0.02em;
        line-height: 1;
    }

    header#header.new-header-6 .menu a.head-contact-links .text-part .below-text {
        font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #2D3B36;
        line-height: 1.2;
        letter-spacing: 0.01em;
    }

    /* Divider between contact blocks */
    header#header.new-header-6 .contact-section.menu > li:nth-child(2) {
        position: relative;
    }

    header#header.new-header-6 .contact-section.menu > li:nth-child(2)::before {
        content: "";
        position: absolute;
        left: -4px;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 32px;
        background: rgba(45, 59, 54, 0.12);
    }

    /* --- Primary CTA button --- */
    header#header.new-header-6 .contact-section.menu > li.padding-left-1 {
        padding-left: 16px !important;
    }

    header#header.new-header-6 .contact-section.menu .button {
        display: inline-flex !important;
        align-items: center;
        gap: 10px;
        background: #B86F4F !important;
        color: #F5EDDF !important;
        font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        padding: 14px 26px !important;
        border-radius: 4px !important;
        border: none !important;
        box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
        transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
        position: relative;
        overflow: hidden;
        margin-bottom: 0;
    }

    header#header.new-header-6 .contact-section.menu .button::after {
        content: "→";
        font-size: 14px;
        line-height: 1;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }

    header#header.new-header-6 .contact-section.menu .button:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
    }

    header#header.new-header-6 .contact-section.menu .button:hover::after {
        transform: translateX(5px);
    }

    /* --- Menu container (nav bar) --- */
    header#header.new-header-6 .menu-container {
        border-top: 1px solid rgba(45, 59, 54, 0.08) !important;
        margin-top: 18px !important;
        padding-top: 6px !important;
    }

    /* --- Main navigation --- */
    header#header.new-header-6 .dropdown.menu.level-1 {
        gap: 4px;
    }

    header#header.new-header-6 .dropdown.menu.level-1 > li {
        position: relative;
    }

    header#header.new-header-6 .dropdown.menu.level-1 > li > a:not(.button) {
        font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #2D3B36;
        padding: 16px 18px !important;
        position: relative;
        transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* Animated underline indicator — uses ::before so it doesn't conflict
       with the chevron arrow ::after used on parent items (Services). */
    header#header.new-header-6 .dropdown.menu.level-1 > li > a:not(.button)::before {
        content: "";
        position: absolute;
        left: 18px;
        right: 18px;
        bottom: 8px;
        height: 1.5px;
        background: #B86F4F;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
        pointer-events: none;
    }

    header#header.new-header-6 .dropdown.menu.level-1 > li:hover > a:not(.button)::before,
    header#header.new-header-6 .dropdown.menu.level-1 > li.active > a:not(.button)::before,
    header#header.new-header-6 .dropdown.menu.level-1 > li.is-active > a:not(.button)::before {
        transform: scaleX(1);
    }

    /* Active / hover link color — override the existing .new-header rule
       that sets cream (#F5EDDF) on active span, which is invisible on a
       cream header. Use warm clay for clear visibility. */
    header#header.new-header-6 .dropdown.menu.level-1 > li:hover > a:not(.button),
    header#header.new-header-6 .dropdown.menu.level-1 > li.active > a:not(.button),
    header#header.new-header-6 .dropdown.menu.level-1 > li.is-active > a:not(.button) {
        color: #B86F4F;
        background: transparent !important;
    }

    header#header.new-header-6 .dropdown.menu.level-1 > li:hover > a:not(.button) span,
    header#header.new-header-6 .dropdown.menu.level-1 > li.active > a:not(.button) span,
    header#header.new-header-6 .dropdown.menu.level-1 > li.is-active > a:not(.button) span {
        color: #B86F4F;
    }

    /* Submenu chevron — uses ::after (separate from underline ::before).
       Vertical centering via margin-top (not transform) so rotate doesn't
       conflict with translate. Every property forced with !important to
       win against Foundation base + theme rules. */
    header#header.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: auto !important;
        right: 8px !important;
        top: 50% !important;
        bottom: auto !important;
        width: 10px !important;
        height: 6px !important;
        margin: -3px 0 0 !important;
        padding: 0 !important;
        transform: rotate(0deg);
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%232D3B36' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
        background-position: center !important;
        background-color: transparent !important;
        border: none !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                    background-image 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        pointer-events: none;
        z-index: 1;
    }

    /* Give parent items extra right padding so chevron doesn't crowd the text */
    header#header.new-header-6 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a:not(.button) {
        padding-right: 32px !important;
    }

    /* Chevron rotates up + shifts to warm clay on hover/active */
    header#header.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent:hover > a::after,
    header#header.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.is-active > a::after,
    header#header.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.active > a::after {
        transform: rotate(180deg) !important;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%23B86F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
    }

    /* Submenu dropdown */
    header#header.new-header-6 .dropdown.menu li ul.submenu {
        background: #2D3B36 !important;
        min-width: 220px;
        padding: 10px 0 !important;
        border-radius: 6px !important;
        box-shadow: 0 16px 40px rgba(45, 59, 54, 0.18),
                    0 4px 12px rgba(45, 59, 54, 0.08);
        border: none !important;
        margin-top: 6px;
        opacity: 0;
        transform: translateY(-6px);
        transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        pointer-events: none;
    }

    header#header.new-header-6 .dropdown.menu li.is-active > ul.submenu,
    header#header.new-header-6 .dropdown.menu li:hover > ul.submenu {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    header#header.new-header-6 .dropdown.menu li ul.submenu li a:not(.button) {
        font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
        font-size: 13px;
        font-weight: 400;
        letter-spacing: 0.04em;
        text-transform: none;
        color: #F5EDDF;
        padding: 10px 22px !important;
        position: relative;
        transition: all 0.25s ease;
        line-height:1.5;
    }

    header#header.new-header-6 .dropdown.menu li ul.submenu li a:not(.button):hover {
        color: #B86F4F !important;
        background: rgba(245, 237, 223, 0.06) !important;
        padding-left: 28px !important;
    }

    /* Active submenu item — current page indicator inside the dropdown */
    header#header.new-header-6 .dropdown.menu li ul.submenu li.active > a:not(.button),
    header#header.new-header-6 .dropdown.menu li ul.submenu li.is-active > a:not(.button) {
        color: #B86F4F !important;
        background: rgba(184, 111, 79, 0.08) !important;
        padding-left: 32px !important;
        font-weight: 500;
    }

    header#header.new-header-6 .dropdown.menu li ul.submenu li.active > a:not(.button) span,
    header#header.new-header-6 .dropdown.menu li ul.submenu li.is-active > a:not(.button) span {
        color: #B86F4F !important;
    }

    /* Small dot indicator on the left of active submenu item */
    header#header.new-header-6 .dropdown.menu li ul.submenu li.active > a:not(.button)::before,
    header#header.new-header-6 .dropdown.menu li ul.submenu li.is-active > a:not(.button)::before {
        content: "";
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #B86F4F;
        pointer-events: none;
    }
}

/* === MOBILE / TABLET (1023.5px and below) === */
@media screen and (max-width: 63.9375em) {

    header#header.new-header-6 {
        background: #F5EDDF;
    }

    header#header.new-header-6 .custom-grid-container {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Mobile header row — relative parent so hamburger can absolute-position */
    header#header.new-header-6 .custom-grid-container {
        position: relative;
    }

    /* Logo — centered on mobile, takes full width so true page-center */
    header#header.new-header-6 .logo-container {
        text-align: center !important;
        width: 100%;
        flex: 1 1 100%;
        margin: 0 auto;
        padding-left: 56px !important;
        padding-right: 56px !important;
    }

    header#header.new-header-6 .logo-container a {
        display: inline-block;
    }

    header#header.new-header-6 .text-logo {
        font-size: 28px !important;
    }

    header#header.new-header-6 .logo-container img {
        max-height: 170px;
        display: inline-block;
    }

    /* Hamburger button — absolute on right, vertically centered */
    header#header.new-header-6 .sidenav-container {
        background-color: transparent;
        color: #2D3B36;
        height: 44px;
        width: 44px;
        text-align: center;
        border-radius: 50%;
        padding-top: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(45, 59, 54, 0.12);
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 3;
    }

    header#header.new-header-6 .sidenav-container:hover,
    header#header.new-header-6 .sidenav-container:active {
        background-color: #6B8169;
        border-color: #6B8169;
    }

    header#header.new-header-6 .sidenav-container:hover .openMenu i,
    header#header.new-header-6 .sidenav-container:active .openMenu i {
        color: #F5EDDF;
    }

    header#header.new-header-6 .sidenav-container .openMenu {
        background: transparent;
        padding: 0;
        margin: 0;
        box-shadow: none;
    }

    header#header.new-header-6 .sidenav-container .openMenu:hover,
    header#header.new-header-6 .sidenav-container .openMenu:focus,
    header#header.new-header-6 .sidenav-container .openMenu:active {
        box-shadow: none;
        background: transparent;
    }

    header#header.new-header-6 .sidenav-container .openMenu i {
        color: #2D3B36;
        font-size: 20px;
        line-height: 1;
        transition: color 0.3s ease;
    }

    header#header.new-header-6 .sidenav-container i.fa-bars.icon {
        color: inherit;
    }

    /* Mobile bottom CTA strip — contains TWO .mobile-contact-button-section
       siblings: first holds the phone link (.head-contact-links), second
       holds the "Book a session" .button. Each gets distinct treatment. */
    header#header.new-header-6 .mobile-contact-button-section {
        padding: 0;
        margin: 0;
        line-height: normal;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: stretch;
        min-height: 0;
        background: transparent;
        border-top: 1px solid rgba(45, 59, 54, 0.08);
    }

    /* === Phone CTA row (first .mobile-contact-button-section) === */
    /* Detected by presence of .head-contact-links inside */
    header#header.new-header-6 .mobile-contact-button-section .head-contact-links {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 14px 20px !important;
        width: 100%;
        background: #F5EDDF;
        color: #2D3B36;
        text-align: left;
        transition: background 0.3s ease;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links:hover,
    header#header.new-header-6 .mobile-contact-button-section .head-contact-links:active {
        background: rgba(107, 129, 105, 0.06);
    }

    /* Icon circle on phone row */
    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .icon-part {
        width: 38px;
        height: 38px;
        min-width: 38px;
        border-radius: 50%;
        background: #E5D5BC;
        color: #B86F4F;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        font-size: 14px;
        flex-shrink: 0;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .icon-part i {
        color: inherit;
        font-size: 14px;
    }

    /* Text block on phone row */
    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .text-part {
        text-align: left;
        line-height: 1.2;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .text-part .heading {
        font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
        font-style: italic;
        font-size: 11px;
        color: #6B8169;
        padding-bottom: 2px !important;
        font-weight: 500;
        letter-spacing: 0.02em;
        line-height: 1;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .text-part .below-text {
        font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #2D3B36;
        line-height: 1.2;
        letter-spacing: 0.01em;
    }

    /* === Book a session row (second .mobile-contact-button-section) === */
    /* Detected by presence of .button inside.
       Arrow uses ::after (not background-image) so it sits adjacent to
       the text via flex gap — keeps text+arrow visually paired. */
    header#header.new-header-6 .mobile-contact-button-section .button {
        background-color: #B86F4F !important;
        background-image: none !important;
        color: #F5EDDF !important;
        font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        padding: 18px 24px !important;
        border-radius: 0 !important;
        border: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        width: 100%;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 12px;
        transition: background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                    gap 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* Arrow next to text */
    header#header.new-header-6 .mobile-contact-button-section .button::after {
        content: "→";
        font-size: 16px;
        font-weight: 400;
        line-height: 1;
        display: inline-block;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    header#header.new-header-6 .mobile-contact-button-section .button:hover,
    header#header.new-header-6 .mobile-contact-button-section .button:focus {
        background-color: #A35E40 !important;
        box-shadow: none !important;
        gap: 16px;
    }

    header#header.new-header-6 .mobile-contact-button-section .button:hover::after,
    header#header.new-header-6 .mobile-contact-button-section .button:focus::after {
        transform: translateX(2px);
    }
}

/* === SMALL MOBILE (640px and below) — refinements === */
@media screen and (max-width: 39.9375em) {

    header#header.new-header-6 .custom-grid-container {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    header#header.new-header-6 .text-logo {
        font-size: 24px !important;
    }

    header#header.new-header-6 .logo-container {
        padding-left: 50px !important;
        padding-right: 50px !important;
    }

    header#header.new-header-6 .logo-container img {
        max-height: 170px;
    }

    header#header.new-header-6 .sidenav-container {
        height: 40px;
        width: 40px;
        right: 12px;
    }

    header#header.new-header-6 .sidenav-container .openMenu i {
        font-size: 18px;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links {
        padding: 12px 18px !important;
        gap: 10px;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .icon-part {
        width: 34px;
        height: 34px;
        min-width: 34px;
        font-size: 12px;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .text-part .heading {
        font-size: 10px;
    }

    header#header.new-header-6 .mobile-contact-button-section .head-contact-links .text-part .below-text {
        font-size: 13px;
    }

    header#header.new-header-6 .mobile-contact-button-section .button {
        padding: 16px 20px !important;
        font-size: 11px !important;
        letter-spacing: 0.16em;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    header#header.new-header-6,
    header#header.new-header-6 *,
    header#header.new-header-6 *::before,
    header#header.new-header-6 *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* === SIDENAV LUXE — Mobile off-canvas drawer === */
/* Matches the desktop navigation aesthetic: uppercase tracked Manrope,
   forest-deep default, warm-clay hover/active, animated left-edge accent
   bar, accordion chevron on parent items. */

aside.sidenav {
    background: #F5EDDF !important;
    box-shadow: -8px 0 32px rgba(45, 59, 54, 0.14);
    padding: 0 !important;
}

/* Subtle top accent strip — premium drawer feel */
aside.sidenav::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        #B86F4F 30%,
        #C99A8E 50%,
        #B86F4F 70%,
        transparent 100%);
}

/* Top eyebrow — small brand cue inside the drawer */
aside.sidenav .menu.accordion-menu {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 0 !important;
    border: none !important;
}

/* Top-level list items — clean separators between items */
aside.sidenav .menu.accordion-menu > li {
    background: transparent !important;
    border-bottom: 1px solid rgba(45, 59, 54, 0.06) !important;
    margin: 0 !important;
}

aside.sidenav .menu.accordion-menu > li:last-child {
    border-bottom: 0 !important;
}

/* Top-level link styling — matches desktop nav */
aside.sidenav .menu.accordion-menu > li > a:not(.button) {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: #2D3B36 !important;
    background: transparent !important;
    padding: 20px 28px 20px 32px !important;
    position: relative;
    display: block;
    line-height: 1;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                padding-left 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Top-level link text (span inside) — inherit color */
aside.sidenav .menu.accordion-menu > li > a:not(.button) span {
    color: inherit !important;
    background: transparent !important;
    padding-left: 0 !important;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Animated left-edge accent bar (only on top-level items) */
aside.sidenav .menu.accordion-menu > li > a:not(.button)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 20px;
    background: #B86F4F;
    transform: translateY(-50%) scaleY(0);
    transform-origin: center center;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    border-radius: 0 2px 2px 0;
    pointer-events: none;
}

/* Hover / active / current-page states */
aside.sidenav .menu.accordion-menu > li:hover > a:not(.button),
aside.sidenav .menu.accordion-menu > li.active > a:not(.button),
aside.sidenav .menu.accordion-menu > li.is-active > a:not(.button) {
    color: #B86F4F !important;
    background: rgba(184, 111, 79, 0.04) !important;
    padding-left: 40px !important;
}

aside.sidenav .menu.accordion-menu > li:hover > a:not(.button) span,
aside.sidenav .menu.accordion-menu > li.active > a:not(.button) span,
aside.sidenav .menu.accordion-menu > li.is-active > a:not(.button) span {
    color: #B86F4F !important;
}

aside.sidenav .menu.accordion-menu > li:hover > a:not(.button)::before,
aside.sidenav .menu.accordion-menu > li.active > a:not(.button)::before,
aside.sidenav .menu.accordion-menu > li.is-active > a:not(.button)::before {
    transform: translateY(-50%) scaleY(1);
}

/* Accordion chevron for parent items (Services) */
aside.sidenav .menu.accordion-menu li.is-accordion-submenu-parent > a::after,
aside.sidenav .menu.accordion-menu li.has-submenu > a::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    bottom: auto !important;
    left: auto !important;
    width: 12px !important;
    height: 8px !important;
    margin: -4px 0 0 !important;
    padding: 0 !important;
    transform: rotate(0deg);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1L6 7L11 1' stroke='%232D3B36' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    background-color: transparent !important;
    border: none !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                background-image 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

/* Chevron rotates + turns clay on hover / when expanded */
aside.sidenav .menu.accordion-menu li.is-accordion-submenu-parent:hover > a::after,
aside.sidenav .menu.accordion-menu li.is-accordion-submenu-parent.is-active > a::after,
aside.sidenav .menu.accordion-menu li.has-submenu.is-active > a::after,
aside.sidenav .menu.accordion-menu li.has-submenu[aria-expanded="true"] > a::after {
    transform: rotate(180deg) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1L6 7L11 1' stroke='%23B86F4F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}

/* === Submenu (nested) styling === */
aside.sidenav .menu.accordion-menu .is-accordion-submenu,
aside.sidenav .menu.accordion-menu ul.submenu {
    background: rgba(45, 59, 54, 0.03) !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(45, 59, 54, 0.06);
    list-style: none;
}

aside.sidenav .menu.accordion-menu .is-accordion-submenu li,
aside.sidenav .menu.accordion-menu ul.submenu li {
    border-bottom: none !important;
    background: transparent !important;
}

/* Submenu links — refined, less prominent than top-level */
aside.sidenav .menu.accordion-menu .is-accordion-submenu .is-submenu-item > a,
aside.sidenav .menu.accordion-menu ul.submenu li > a {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    color: rgba(45, 59, 54, 0.72) !important;
    background: transparent !important;
    padding: 11px 28px 11px 48px !important;
    line-height: 1.4;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                padding-left 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reset the padding-left-1 utility on submenu spans */
aside.sidenav .menu.accordion-menu .is-accordion-submenu .is-submenu-item > a span.padding-left-1,
aside.sidenav .menu.accordion-menu ul.submenu li > a span {
    color: inherit !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

aside.sidenav .menu.accordion-menu .is-accordion-submenu .is-submenu-item > a:hover,
aside.sidenav .menu.accordion-menu .is-accordion-submenu .is-submenu-item.active > a,
aside.sidenav .menu.accordion-menu ul.submenu li > a:hover,
aside.sidenav .menu.accordion-menu ul.submenu li.active > a {
    color: #B86F4F !important;
    background: transparent !important;
    padding-left: 54px !important;
}

aside.sidenav .menu.accordion-menu .is-accordion-submenu .is-submenu-item > a:hover span,
aside.sidenav .menu.accordion-menu .is-accordion-submenu .is-submenu-item.active > a span,
aside.sidenav .menu.accordion-menu ul.submenu li > a:hover span,
aside.sidenav .menu.accordion-menu ul.submenu li.active > a span {
    color: #B86F4F !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    aside.sidenav,
    aside.sidenav *,
    aside.sidenav *::before,
    aside.sidenav *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* ===========================================================
   FOOTER LUXE — Restoring Balance & Wellness
   Forest-deep background, italic Cormorant column headings in dusty rose,
   clay underline accents, cream body text, hover micro-interactions,
   circular social icons, premium contact section.
   =========================================================== */

#footer {
    background:  !important;
    color: ;
    position: relative;
    padding: 0 !important;
    overflow: hidden;
}

/* Top gradient hairline accent — premium divider from page content */
#footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(184, 111, 79, 0.4) 20%,
        #C99A8E 50%,
        rgba(184, 111, 79, 0.4) 80%,
        transparent 100%);
    z-index: 2;
    pointer-events: none;
}

/* Subtle background texture — radial gradient for depth */
#footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 100%;
    background: radial-gradient(ellipse at top,
        rgba(184, 111, 79, 0.06) 0%,
        transparent 60%);
    pointer-events: none;
    z-index: 0;
}

/* Internal hairlines — make them sage-tinted thin lines */
#footer hr {
    border: none !important;
    border-top: 1px solid rgba(245, 237, 223, 0.08) !important;
    margin: 0 !important;
    background: transparent !important;
    height: 1px;
}

/* Main footer content grid */
#footer .footer2 {
    padding: 64px 0 36px !important;
    position: relative;
    z-index: 1;
}

#footer .grid-x.footer2 > .cell {
    margin-bottom: 32px;
}

/* Reset Foundation's border-bottom-small (we control borders) */
#footer .border-bottom-small {
    border-bottom: none !important;
}

/* === Column containers === */
#footer .column-container {
    text-align: left;
    padding: 0 12px;
}

/* === Column headings (h4) — italic Cormorant, dusty rose === */
#footer h4 {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    color: #C99A8E;
    margin: 0 0 22px 0 !important;
    padding-bottom: 14px;
    position: relative;
    line-height: 1.2;
}

/* Clay hairline under each heading */
#footer h4::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32px;
    height: 1.5px;
    background: #B86F4F;
    border-radius: 1px;
}

/* === Generic lists === */
#footer .column-container ul.no-bullet,
#footer .footer2 ul.no-bullet {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer .footer2 ul li {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    list-style: none;
}

/* === Links section — navigation list === */
#footer .links-section ul li a {
    color: ;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.5;
    padding: 7px 0 7px 0;
    display: inline-block;
    text-decoration: none;
    position: relative;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                padding-left 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Arrow indicator that fades in on hover (sits before text) */
#footer .links-section ul li a::before {
    content: "→";
    position: absolute;
    left: -2px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    color: #B86F4F;
    font-size: 13px;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                left 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

#footer .links-section ul li a:hover,
#footer .links-section ul li.active > a {
    color: #C99A8E;
    padding-left: 18px;
}

#footer .links-section ul li a:hover::before,
#footer .links-section ul li.active > a::before {
    opacity: 1;
    left: 0;
}

/* === Social media icons — clean natural display, no badge interference === */
/* Aggressive resets — icons render in their native form without any
   wrapping badge or filter manipulation that could conflict with the
   source PNG (which may have built-in backgrounds). */
#footer .media-section ul.social-media-icons {
    display: flex !important;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    align-items: center;
}

#footer .media-section ul.social-media-icons li,
#footer .media-section ul.social-media-icons li.menu-text {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    list-style: none !important;
    display: inline-flex;
    line-height: 1;
}

#footer .media-section ul.social-media-icons li::before,
#footer .media-section ul.social-media-icons li::after {
    display: none !important;
    content: none !important;
}

#footer .media-section ul.social-media-icons li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 4px !important;
    margin: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    text-decoration: none;
    line-height: 0;
    overflow: visible !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .media-section ul.social-media-icons li a::before,
#footer .media-section ul.social-media-icons li a::after {
    display: none !important;
    content: none !important;
}

#footer .media-section ul.social-media-icons li a:hover,
#footer .media-section ul.social-media-icons li a:focus {
    transform: translateY(-3px);
    background: none !important;
    box-shadow: none !important;
}

/* Icon image — natural form, no filter, sized appropriately */
#footer .media-section ul.social-media-icons li a img {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    /* NO filter — let the icon show in its natural form. If the source
       PNG has its own colors or background, that's how it'll appear. */
    filter: none !important;
    opacity: 0.88;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .media-section ul.social-media-icons li a:hover img,
#footer .media-section ul.social-media-icons li a:focus img {
    opacity: 1;
    transform: scale(1.08);
}

/* Font-based icons (FontAwesome etc.) — keep clean styling */
#footer .media-section ul.social-media-icons li a i,
#footer .media-section ul.social-media-icons li a svg {
    font-size: 22px;
    color: ;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .media-section ul.social-media-icons li a:hover i,
#footer .media-section ul.social-media-icons li a:focus i,
#footer .media-section ul.social-media-icons li a:hover svg,
#footer .media-section ul.social-media-icons li a:focus svg {
    color: #B86F4F;
}

/* === Newsletter Subscribe button — ghost style on dark === */
#footer .newsletter-section .column-container span {
    display: block;
    margin-top: 6px;
}

#footer .newsletter-section .button,
#footer .newsletter-section a.button {
    background-color: transparent !important;
    background-image: none !important;
    color:  !important;
    border: 1px solid rgba(245, 237, 223, 0.28) !important;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 17px 7px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    transition: background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                gap 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .newsletter-section .button::after {
    content: "→";
    font-size: 14px;
    line-height: 1;
    display: inline-block;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .newsletter-section .button:hover,
#footer .newsletter-section .button:focus {
    background-color: #B86F4F !important;
    border-color: #B86F4F !important;
    color:  !important;
    gap: 16px;
    box-shadow: none !important;
}

#footer .newsletter-section .button:hover::after,
#footer .newsletter-section .button:focus::after {
    transform: translateX(2px);
}

/* === Contact section === */
#footer .contact-section a {
    text-decoration: none;
    color: inherit;
}

/* === Contact items — each with a brand-colored icon on the left.
   Using display:flex (block-level) so each item is on its own line
   automatically, AND ::before pseudo-element behaves as a flex item
   (width/height honored). justify-content controls left vs center
   alignment for desktop vs mobile. NO icon on the Contact Us heading. */

#footer .contact-section .actual-address,
#footer .contact-section .address-container {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: ;
    margin: 0 0 16px 0;
    text-align: left;
    max-width: 100%;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Location pin icon on address */
#footer .contact-section .actual-address::before,
#footer .contact-section .address-container::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 18px;
    margin-top: 4px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C99A8E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .contact-section a:hover .actual-address,
#footer .contact-section a:hover .address-container {
    color: #C99A8E;
}

#footer .contact-section a:hover .actual-address::before,
#footer .contact-section a:hover .address-container::before {
    transform: translateY(-3px);
}

/* Phone & email wrappers — block-level flex */
#footer .contact-section .contact-number,
#footer .contact-section .contact-email {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0;
    line-height: 1;
}

/* Phone icon */
#footer .contact-section .contact-number::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C99A8E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .contact-section .contact-number:hover::before {
    transform: rotate(-12deg) scale(1.1);
}

/* Email icon */
#footer .contact-section .contact-email::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 13px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C99A8E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .contact-section .contact-email:hover::before {
    transform: translateY(-2px) scale(1.05);
}

#footer .contact-section a.footer-phone,
#footer .contact-section a.footer-email {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color:  !important;
    text-decoration: none;
    display: inline-block;
    padding: 4px 0;
    position: relative;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Animated underline on contact links */
#footer .contact-section a.footer-phone::after,
#footer .contact-section a.footer-email::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #B86F4F;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .contact-section a.footer-phone:hover,
#footer .contact-section a.footer-email:hover {
    color: #C99A8E !important;
}

#footer .contact-section a.footer-phone:hover::after,
#footer .contact-section a.footer-email:hover::after {
    transform: scaleX(1);
}

/* Spacer utility used between sections */
#footer .spacer.height-20 {
    height: 20px;
    width: 100%;
}

/* === Copyright section (bottom) === */
#footer .copyright {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: rgba(245, 237, 223, 0.55);
    margin: 0 !important;
    line-height: 1.6;
}

/* Bottom copyright row — symmetric top/bottom padding (was 64px 0 36px
   from the .footer2 base rule which applies to both the main 4-column
   row and this one — we balance just this row). */
#footer .grid-x.footer2:has(.copyright) {
    padding: 14px 0 !important;
}

/* Zero out Foundation's padding-top-1 utility on the cell — we control
   spacing via the row's padding only, so top/bottom stay symmetric. */
#footer .grid-x.footer2:has(.copyright) > .cell.padding-top-1 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Zero out the 32px cell margin-bottom (which is set globally on
   .footer2 > .cell for the main 4-column row's column spacing) — that
   extra margin was making the bottom much taller than the top here. */
#footer .grid-x.footer2:has(.copyright) > .cell {
    margin-bottom: 16px !important;
    margin-top: 16px !important;
}

#footer .copyright a {
    color: rgba(245, 237, 223, 0.78);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#footer .copyright a:hover {
    color: #C99A8E;
}

#footer .copyright span#ps-copyrightyear-js {
    color: rgba(245, 237, 223, 0.78);
}

#footer .copyright span.show-for-large {
    color: rgba(245, 237, 223, 0.32);
    margin: 0 4px;
}

/* === Mobile / Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    #footer .footer2 {
        padding: 48px 0 24px !important;
    }

    #footer .grid-x.footer2 > .cell {
        margin-bottom: 36px;
        text-align: center;
    }

    /* Copyright row — keep symmetric on mobile too, overriding both
       the .footer2 mobile padding and the cell margin-bottom above */
    #footer .grid-x.footer2:has(.copyright) {
        padding: 12px 0 !important;
    }

    #footer .grid-x.footer2:has(.copyright) > .cell {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }

    #footer .column-container {
        text-align: center;
        padding: 0 16px;
    }

    #footer h4 {
        font-size: 20px;
        margin-bottom: 18px !important;
    }

    #footer h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    #footer .media-section ul.social-media-icons {
        justify-content: center;
    }

    /* Reset link hover padding shift on mobile (touch-only, no hover) */
    #footer .links-section ul li a:hover,
    #footer .links-section ul li.active > a {
        padding-left: 0;
    }

    #footer .links-section ul li a::before {
        display: none;
    }

    /* Center contact items (icon + text together) on mobile */
    #footer .contact-section .actual-address,
    #footer .contact-section .address-container,
    #footer .contact-section .contact-number,
    #footer .contact-section .contact-email {
        justify-content: center;
    }

    #footer .contact-section a.footer-phone::after,
    #footer .contact-section a.footer-email::after {
        left: 50%;
        transform: translateX(-50%) scaleX(0);
    }

    #footer .contact-section a.footer-phone:hover::after,
    #footer .contact-section a.footer-email:hover::after {
        transform: translateX(-50%) scaleX(1);
    }
}

/* Small mobile refinements */
@media screen and (max-width: 39.9375em) {

    #footer .footer2 {
        padding: 36px 0 20px !important;
    }

    #footer .grid-x.footer2 > .cell {
        margin-bottom: 30px;
    }

    #footer h4 {
        font-size: 18px;
    }

    #footer .copyright {
        font-size: 11px;
        padding: 0 16px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    #footer *,
    #footer *::before,
    #footer *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* === GLOBAL BRAND BUTTON UTILITY — .btn-brand === */
/* Drop-in class for ANY button-like element: <a>, <button>,
   <input type="submit"/button/reset>. Use anywhere on the site for
   consistent CTA styling (forms, footer, contact, etc).

   Usage:
     <button class="btn-brand">Send message</button>
     <input type="submit" class="btn-brand" value="Subscribe">
     <a href="..." class="btn-brand">Book a session</a>

   Variants:
     .btn-brand.btn-brand-ghost     — transparent w/ sage outline
     .btn-brand.btn-brand-dark      — for use on light cream backgrounds
     .btn-brand.btn-brand-block     — full width
     .btn-brand.btn-brand-no-arrow  — hide the arrow                       */

.btn-brand,
input.btn-brand[type="submit"],
input.btn-brand[type="button"],
input.btn-brand[type="reset"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #B86F4F;
    color: #F5EDDF !important;
    padding: 15px 56px 15px 30px;
    border-radius: 4px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 500;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    line-height: 1.2;
    box-shadow:
        0 6px 20px rgba(184, 111, 79, 0.28),
        0 2px 6px rgba(184, 111, 79, 0.14);
    text-shadow: none;
    transition: background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                background-position 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12' fill='none'><path d='M1 6H15M15 6L10 1M15 6L10 11' stroke='%23F5EDDF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: calc(100% - 22px) center;
    background-size: 14px 10px;
    appearance: none;
    -webkit-appearance: none;
    vertical-align: middle;
}

.btn-brand:hover,
.btn-brand:focus,
input.btn-brand[type="submit"]:hover,
input.btn-brand[type="button"]:hover,
input.btn-brand[type="reset"]:hover,
input.btn-brand[type="submit"]:focus,
input.btn-brand[type="button"]:focus,
input.btn-brand[type="reset"]:focus {
    transform: translateY(-2px);
    background-color: #A35E40;
    color: #F5EDDF !important;
    box-shadow:
        0 10px 28px rgba(184, 111, 79, 0.42),
        0 4px 10px rgba(184, 111, 79, 0.22);
    background-position: calc(100% - 16px) center;
    text-decoration: none;
}

.btn-brand:focus-visible,
input.btn-brand[type="submit"]:focus-visible,
input.btn-brand[type="button"]:focus-visible,
input.btn-brand[type="reset"]:focus-visible {
    outline: 2px solid #C99A8E;
    outline-offset: 3px;
}

.btn-brand:active,
input.btn-brand[type="submit"]:active,
input.btn-brand[type="button"]:active,
input.btn-brand[type="reset"]:active {
    transform: translateY(0);
    transition-duration: 0.1s;
}

.btn-brand:disabled,
.btn-brand[disabled],
input.btn-brand[type="submit"]:disabled,
input.btn-brand[type="button"]:disabled,
input.btn-brand[type="reset"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.btn-brand:disabled:hover,
.btn-brand[disabled]:hover,
input.btn-brand[type="submit"]:disabled:hover,
input.btn-brand[type="button"]:disabled:hover,
input.btn-brand[type="reset"]:disabled:hover {
    transform: none;
    background-color: #B86F4F;
    background-position: calc(100% - 22px) center;
    box-shadow: none;
}

/* --- Variant: ghost (transparent w/ sage outline) --- */
.btn-brand.btn-brand-ghost,
input.btn-brand.btn-brand-ghost[type="submit"],
input.btn-brand.btn-brand-ghost[type="button"],
input.btn-brand.btn-brand-ghost[type="reset"] {
    background-color: transparent;
    color: #6B8169 !important;
    border: 1px solid #6B8169;
    box-shadow: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12' fill='none'><path d='M1 6H15M15 6L10 1M15 6L10 11' stroke='%236B8169' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.btn-brand.btn-brand-ghost:hover,
.btn-brand.btn-brand-ghost:focus,
input.btn-brand.btn-brand-ghost[type="submit"]:hover,
input.btn-brand.btn-brand-ghost[type="button"]:hover,
input.btn-brand.btn-brand-ghost[type="reset"]:hover {
    background-color: #6B8169;
    color: #F5EDDF !important;
    border-color: #6B8169;
    box-shadow: 0 8px 22px rgba(107, 129, 105, 0.28);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12' fill='none'><path d='M1 6H15M15 6L10 1M15 6L10 11' stroke='%23F5EDDF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

/* --- Variant: dark (forest deep — for use on cream / light bg) --- */
.btn-brand.btn-brand-dark,
input.btn-brand.btn-brand-dark[type="submit"],
input.btn-brand.btn-brand-dark[type="button"],
input.btn-brand.btn-brand-dark[type="reset"] {
    background-color: #2D3B36;
    color: #F5EDDF !important;
    box-shadow:
        0 6px 20px rgba(45, 59, 54, 0.22),
        0 2px 6px rgba(45, 59, 54, 0.12);
}

.btn-brand.btn-brand-dark:hover,
.btn-brand.btn-brand-dark:focus,
input.btn-brand.btn-brand-dark[type="submit"]:hover,
input.btn-brand.btn-brand-dark[type="button"]:hover,
input.btn-brand.btn-brand-dark[type="reset"]:hover {
    background-color: #1F2A26;
    box-shadow:
        0 10px 28px rgba(45, 59, 54, 0.32),
        0 4px 10px rgba(45, 59, 54, 0.18);
}

/* --- Variant: full width --- */
.btn-brand.btn-brand-block,
input.btn-brand.btn-brand-block[type="submit"],
input.btn-brand.btn-brand-block[type="button"],
input.btn-brand.btn-brand-block[type="reset"] {
    display: flex;
    width: 100%;
}

/* --- Variant: no arrow --- */
.btn-brand.btn-brand-no-arrow,
input.btn-brand.btn-brand-no-arrow[type="submit"],
input.btn-brand.btn-brand-no-arrow[type="button"],
input.btn-brand.btn-brand-no-arrow[type="reset"] {
    background-image: none;
    padding: 15px 30px;
}

.btn-brand.btn-brand-no-arrow:hover,
.btn-brand.btn-brand-no-arrow:focus,
input.btn-brand.btn-brand-no-arrow[type="submit"]:hover,
input.btn-brand.btn-brand-no-arrow[type="button"]:hover,
input.btn-brand.btn-brand-no-arrow[type="reset"]:hover {
    background-position: 0 0;
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    .btn-brand,
    input.btn-brand[type="submit"],
    input.btn-brand[type="button"],
    input.btn-brand[type="reset"] {
        transition: background-color 0.2s, box-shadow 0.2s;
    }
    .btn-brand:hover,
    .btn-brand:focus,
    input.btn-brand[type="submit"]:hover,
    input.btn-brand[type="button"]:hover,
    input.btn-brand[type="reset"]:hover {
        transform: none;
    }
}

/* --- Mobile sizing --- */
@media screen and (max-width: 39.9375em) {
    .btn-brand,
    input.btn-brand[type="submit"],
    input.btn-brand[type="button"],
    input.btn-brand[type="reset"] {
        padding: 14px 50px 14px 24px;
        font-size: 11px;
        letter-spacing: 0.14em;
        background-position: calc(100% - 18px) center;
    }
    .btn-brand:hover,
    input.btn-brand[type="submit"]:hover,
    input.btn-brand[type="button"]:hover,
    input.btn-brand[type="reset"]:hover {
        background-position: calc(100% - 14px) center;
    }
    .btn-brand.btn-brand-no-arrow,
    input.btn-brand.btn-brand-no-arrow[type="submit"],
    input.btn-brand.btn-brand-no-arrow[type="button"],
    input.btn-brand.btn-brand-no-arrow[type="reset"] {
        padding: 14px 24px;
    }
}

/* === BANNER VARIANT bnl-0 — Restoring Balance & Wellness === */
/* Glass-card style banner. No HTML changes — class already on .is-section */

.bnl-0 .bn-overlay { display: none; }

/* Image treatment — subtle warm overlay + slow ken burns */
.bnl-0 .cell.full {
    overflow: hidden;
    position: relative;
}

.bnl-0 .cell.full img {
    width: 100%;
    height: auto;
    object-fit: cover;
    filter: brightness(0.82) saturate(1.12) contrast(1.04);
    animation: bnl0KenBurns 26s ease-in-out infinite alternate;
    will-change: transform;
}

@keyframes bnl0KenBurns {
    0%   { transform: scale(1.02); }
    100% { transform: scale(1.1); }
}

/* Soft warm gradient over the image (sits below the card) */
.bnl-0 .grid-x:not(.pos-ab-ban) {
    position: relative;
}

.bnl-0 .grid-x:not(.pos-ab-ban)::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(45,59,54,0.55) 0%, rgba(45,59,54,0.18) 55%, rgba(45,59,54,0.05) 100%),
        radial-gradient(ellipse at 18% 70%, rgba(184,111,79,0.16) 0%, transparent 60%);
    pointer-events: none;
    z-index: 1;
}

/* Position the content layer */
.bnl-0 .pos-ab-ban {
    z-index: 3;
    align-items: center !important;
}

/* === The card === */
.bnl-0 .bn-content {
    max-width: 600px;
    text-align: left;
    margin-left: 0;
    margin-right: auto;
    padding: 44px 44px 40px;
    border-radius: 14px;
    background: rgba(45, 59, 54, 0.78);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    border: 1px solid rgba(245, 237, 223, 0.12);
    box-shadow:
        0 24px 60px rgba(20, 30, 26, 0.32),
        0 8px 20px rgba(20, 30, 26, 0.18),
        inset 0 1px 0 rgba(245, 237, 223, 0.08);
    color: #F5EDDF;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(16px);
    animation: bnl0CardIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}

/* Warm-clay accent bar on the left edge */
.bnl-0 .bn-content::before {
    content: "";
    position: absolute;
    top: 28px;
    bottom: 28px;
    left: 0;
    width: 3px;
    background: linear-gradient(180deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 0 2px 2px 0;
}

/* Eyebrow label — now an actual HTML element (.bn-eyebrow) */
.bnl-0 .bn-content .bn-eyebrow {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #C99A8E;
    font-weight: 500;
    line-height: 1;
    padding-left: 52px;
    margin: 0 0 22px;
    background-image: linear-gradient(to right, #C99A8E, #C99A8E);
    background-repeat: no-repeat;
    background-size: 36px 1px;
    background-position: 0 50%;
}

/* Heading — italic Cormorant, refined */
.bnl-0 .bn-content h1 {
    color: #F5EDDF;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.015em;
    margin-bottom: 18px;
}

/* Body text */
.bnl-0 .bn-content p {
    color: rgba(245, 237, 223, 0.82);
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 14px;
    font-weight: 400;
}

.bnl-0 .bn-content p:last-child {
    margin-bottom: 0;
    margin-top: 26px;
}

/* === CTA button === */
/* Works on <a>, <button>, AND <input type="submit"/button/reset> */
/* Arrow uses background-image (SVG) instead of ::after — input elements
   don't support pseudo-elements, so this keeps forms consistent. */

.bnl-0 .bn-content .button,
.bnl-0 .bn-content button,
.bnl-0 .bn-content input[type="submit"],
.bnl-0 .bn-content input[type="button"],
.bnl-0 .bn-content input[type="reset"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #B86F4F;
    color: #F5EDDF;
    padding: 15px 56px 15px 30px;
    border-radius: 4px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 500;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    box-shadow:
        0 6px 20px rgba(184, 111, 79, 0.32),
        0 2px 6px rgba(184, 111, 79, 0.18);
    text-shadow: none;
    transition: background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                background-position 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12' fill='none'><path d='M1 6H15M15 6L10 1M15 6L10 11' stroke='%23F5EDDF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: calc(100% - 22px) center;
    background-size: 14px 10px;
    appearance: none;
    -webkit-appearance: none;
}

/* Arrow for <a> and <button> (which DO support pseudo-elements) — but
   only when the element doesn't already have an arrow via background-image.
   The background-image approach above handles all elements uniformly, so
   no separate ::after is needed. */

.bnl-0 .bn-content .button:hover,
.bnl-0 .bn-content button:hover,
.bnl-0 .bn-content input[type="submit"]:hover,
.bnl-0 .bn-content input[type="button"]:hover,
.bnl-0 .bn-content input[type="reset"]:hover {
    transform: translateY(-2px);
    background-color: #A35E40;
    color: #F5EDDF;
    box-shadow:
        0 10px 28px rgba(184, 111, 79, 0.45),
        0 4px 10px rgba(184, 111, 79, 0.25);
    opacity: 1;
    background-position: calc(100% - 16px) center;
}

.bnl-0 .bn-content .button:focus-visible,
.bnl-0 .bn-content button:focus-visible,
.bnl-0 .bn-content input[type="submit"]:focus-visible,
.bnl-0 .bn-content input[type="button"]:focus-visible,
.bnl-0 .bn-content input[type="reset"]:focus-visible {
    outline: 2px solid #C99A8E;
    outline-offset: 3px;
}

.bnl-0 .bn-content .button:active,
.bnl-0 .bn-content button:active,
.bnl-0 .bn-content input[type="submit"]:active,
.bnl-0 .bn-content input[type="button"]:active,
.bnl-0 .bn-content input[type="reset"]:active {
    transform: translateY(0);
    transition-duration: 0.1s;
}

@keyframes bnl0CardIn {
    to { opacity: 1; transform: translateY(0); }
}

/* === Below "large" (≤1023.5px) — STACKED LAYOUT === */
/* Image flows on top, card sits BELOW in normal flow.
   Matches Foundation's "large" breakpoint — same point where the HTML
   switches from 2:1 desktop image to 4:3 mobile image (show-for-large
   / hide-for-large). Card overlaps image bottom slightly for a premium
   modern editorial feel. */
@media screen and (max-width: 63.9375em) {

    /* Let the wrapper chain grow with content (no forced heights) */
    .bnl-0,
    .bnl-0 .is-boxes,
    .bnl-0 .is-box-centered,
    .bnl-0 .is-container.container,
    .bnl-0 .pos-rel-ban {
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
    }

    /* Image row — natural flow, full width */
    .bnl-0 .grid-x:not(.pos-ab-ban) {
        position: relative;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Hide the dark gradient overlay — no text sits on top now */
    .bnl-0 .grid-x:not(.pos-ab-ban)::after {
        display: none;
    }

    /* Image — full width, no darkening filter (text is below it now) */
    .bnl-0 .cell.full {
        padding: 0 !important;
        overflow: hidden;
    }

    .bnl-0 .cell.full img {
        width: 100%;
        height: auto;
        display: block;
        filter: saturate(1.08);
        animation: bnl0KenBurns 26s ease-in-out infinite alternate;
    }

    /* Content row — now flows BELOW the image */
    .bnl-0 .pos-ab-ban {
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: auto;
        inset: auto;
        align-items: stretch !important;
        display: block !important;
    }

    /* Card — full-width edge-to-edge, sits BELOW the image */
    .bnl-0 .bn-content {
        max-width: 100%;
        width: 100%;
        margin: 0;
        padding: 56px 32px 48px;
        background: #2D3B36;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        border: none;
        border-radius: 0;
        box-shadow: none;
        position: relative;
        z-index: 2;
    }

    /* Convert the left accent bar into a top hairline (left bar would
       sit at viewport edge in full-width mode — top hairline reads as
       a clean section divider instead). */
    .bnl-0 .bn-content::before {
        top: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        height: 3px !important;
        background: linear-gradient(90deg,
            transparent 0%,
            #B86F4F 25%,
            #C99A8E 50%,
            #B86F4F 75%,
            transparent 100%) !important;
        border-radius: 0 !important;
    }

    /* Constrain inner content to readable max-width, centered in the
       full-width card. Keeps line lengths reasonable on tablet. */
    .bnl-0 .bn-content .bn-eyebrow,
    .bnl-0 .bn-content h1,
    .bnl-0 .bn-content p {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* === Tablet refinements (640-1023.5px) === */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {

    .bnl-0 .bn-content {
        padding: 52px 36px 48px;
    }

    .bnl-0 .bn-content h1 {
        font-size: clamp(26px, 4.2vw, 36px);
    }
}

/* === Mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .bnl-0 .bn-content {
        padding: 44px 22px 40px;
    }

    .bnl-0 .bn-content .bn-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        padding-left: 40px;
        background-size: 28px 1px;
        margin-bottom: 18px;
    }

    .bnl-0 .bn-content h1 {
        font-size: clamp(22px, 6.5vw, 30px);
        margin-bottom: 14px;
    }

    .bnl-0 .bn-content p {
        font-size: 14px;
        line-height: 1.65;
    }

    .bnl-0 .bn-content p:last-child { margin-top: 22px; }

    .bnl-0 .bn-content .button,
    .bnl-0 .bn-content button,
    .bnl-0 .bn-content input[type="submit"],
    .bnl-0 .bn-content input[type="button"],
    .bnl-0 .bn-content input[type="reset"] {
        padding: 14px 50px 14px 24px;
        font-size: 11px;
        letter-spacing: 0.14em;
        background-position: calc(100% - 18px) center;
    }

    .bnl-0 .bn-content .button:hover,
    .bnl-0 .bn-content button:hover,
    .bnl-0 .bn-content input[type="submit"]:hover,
    .bnl-0 .bn-content input[type="button"]:hover,
    .bnl-0 .bn-content input[type="reset"]:hover {
        background-position: calc(100% - 14px) center;
    }
}

/* === Extra small mobile (≤480px) — tighter spacing === */
@media screen and (max-width: 30em) {

    .bnl-0 .bn-content {
        padding: 36px 18px 32px;
    }

    .bnl-0 .bn-content h1 {
        font-size: clamp(20px, 6vw, 26px);
    }

    .bnl-0 .bn-content p {
        font-size: 13.5px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .bnl-0 .cell.full img,
    .bnl-0 .bn-content {
        animation: none;
        opacity: 1;
        transform: none;
    }
    .bnl-0 .bn-content .button,
    .bnl-0 .bn-content button,
    .bnl-0 .bn-content input[type="submit"],
    .bnl-0 .bn-content input[type="button"],
    .bnl-0 .bn-content input[type="reset"] {
        transition: background-color 0.2s, box-shadow 0.2s;
    }
}

/* ===========================================================
   RBW ABOUT SECTION — Editorial brand intro with service areas
   
   Magazine-style hero composition: cairn brand mark, italic
   Cormorant heading, decorative dot divider, drop-cap description,
   service areas as styled pill tags with primary location pin.
   Layered radial gradients + huge faded watermark behind for depth.
   =========================================================== */

.rbw-about-section {
    background:
        radial-gradient(ellipse 80% 50% at 50% 0%,
            rgba(201, 154, 142, 0.18), transparent 70%),
        radial-gradient(ellipse 50% 40% at 5% 100%,
            rgba(107, 129, 105, 0.12), transparent 70%),
        radial-gradient(ellipse 50% 40% at 95% 90%,
            rgba(184, 111, 79, 0.08), transparent 70%),
        linear-gradient(180deg, #F5EDDF 0%, #EFE7D2 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Massive italic "Restoring" watermark behind content — editorial drama */
.rbw-about-section::before {
    content: "Restoring";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: clamp(180px, 32vw, 400px);
    font-weight: 500;
    color: rgba(184, 111, 79, 0.045);
    line-height: 1;
    letter-spacing: -0.02em;
    pointer-events: none;
    z-index: 0;
    white-space: nowrap;
    user-select: none;
}

/* Botanical leaf accent — bottom right corner */
.rbw-about-section::after {
    content: "";
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 280px;
    height: 280px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M30 130 Q 25 70, 75 35 Q 100 60, 55 120 Q 45 130, 30 130 Z' fill='%236B8169' opacity='0.5'/><path d='M70 165 Q 75 110, 145 80 Q 158 110, 100 150 Q 85 165, 70 165 Z' fill='%236B8169' opacity='0.35'/><path d='M120 100 Q 130 50, 175 35 Q 180 65, 140 100 Q 130 105, 120 100 Z' fill='%23B86F4F' opacity='0.25'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-about-section .grid-container {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    position: relative;
    z-index: 1;
}

/* === Brand mark — stacked stones (cairn) with sun above === */
.rbw-about-section .rbw-about-intro {
    margin-bottom: 12px;
}

.rbw-about-section .rbw-brand-mark {
    width: 56px;
    height: 70px;
    margin: 0 auto 18px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 70' fill='none'><circle cx='28' cy='9' r='4' fill='%23B86F4F' opacity='0.35'/><circle cx='28' cy='9' r='2' fill='%23B86F4F'/><ellipse cx='28' cy='25' rx='9' ry='3.5' fill='%23C99A8E'/><ellipse cx='28' cy='38' rx='14' ry='4.5' fill='%236B8169'/><ellipse cx='28' cy='54' rx='22' ry='6.5' fill='%232D3B36' opacity='0.85'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: rbwBrandMarkIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* === Eyebrow — italic Cormorant flanked by hairlines === */
.rbw-about-section .rbw-eyebrow {
    display: inline-flex;
    align-items: center;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 17px;
    font-weight: 500;
    color: #C99A8E;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-bottom: 22px;
    gap: 18px;
}

.rbw-about-section .rbw-eyebrow::before,
.rbw-about-section .rbw-eyebrow::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent, rgba(201, 154, 142, 0.7));
}

.rbw-about-section .rbw-eyebrow::after {
    background: linear-gradient(270deg,
        transparent, rgba(201, 154, 142, 0.7));
}

/* === Heading — big italic Cormorant === */
.rbw-about-section .rbw-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: clamp(38px, 6vw, 72px);
    font-weight: 500;
    color: #6B8169;
    line-height: 1.05;
    letter-spacing: -0.015em;
    margin: 0 0 28px 0;
    position: relative;
}

/* === Divider — gradient line, clay dot with halo === */
.rbw-about-section .rbw-divider {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0 auto 36px;
    width: 100%;
    max-width: 280px;
}

.rbw-about-section .rbw-divider .line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55));
}

.rbw-about-section .rbw-divider .line:last-child {
    background: linear-gradient(270deg,
        transparent,
        rgba(184, 111, 79, 0.55));
}

.rbw-about-section .rbw-divider .dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow:
        0 0 0 5px rgba(184, 111, 79, 0.1),
        0 0 0 12px rgba(184, 111, 79, 0.04);
}

/* === Description — editorial body with drop cap === */
.rbw-about-section .rbw-about-description {
    margin-top: 4px;
}

.rbw-about-section .rbw-about-description p {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 17.5px;
    font-weight: 400;
    line-height: 1.9;
    color: rgba(45, 59, 54, 0.82);
    text-align: justify;
    text-justify: inter-word;
    margin: 0 auto;
    max-width: 820px;
    padding: 0 20px;
    letter-spacing: 0.005em;
}

/* Editorial drop cap on first letter — italic Cormorant in clay */
.rbw-about-section .rbw-about-description p::first-letter {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 4.2em;
    font-weight: 500;
    line-height: 0.88;
    float: left;
    color: #B86F4F;
    margin: 6px 14px 0 0;
    padding: 0;
    text-shadow: 0 1px 0 rgba(184, 111, 79, 0.1);
}

/* === Service areas — labeled section with pill tags === */
.rbw-about-section .rbw-service-areas {
    margin-top: 40px;
    position: relative;
}

.rbw-about-section .rbw-areas-label {
    display: inline-block;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 500;
    color: #6B8169;
    letter-spacing: 0.01em;
    margin-bottom: 22px;
    position: relative;
}

.rbw-about-section .rbw-areas-label::before,
.rbw-about-section .rbw-areas-label::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent, rgba(107, 129, 105, 0.5));
}

.rbw-about-section .rbw-areas-label::before {
    right: 100%;
    margin-right: 18px;
    background: linear-gradient(270deg,
        transparent, rgba(107, 129, 105, 0.5));
}

.rbw-about-section .rbw-areas-label::after {
    left: 100%;
    margin-left: 18px;
}

/* Cities — pill tags flex row */
.rbw-about-section .rbw-cities {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px 10px;
    margin: 0 auto !important;
    padding: 0 16px !important;
    list-style: none;
    max-width: 860px;
}

.rbw-about-section .rbw-cities li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

.rbw-about-section .rbw-cities li::before,
.rbw-about-section .rbw-cities li::after {
    display: none !important;
    content: none !important;
}

/* === Cities — pill styling is now ON THE ANCHOR DIRECTLY.
   No nested span. The anchor IS the pill. This eliminates any
   possibility of double-pill rendering from base CSS. === */
.rbw-about-section .rbw-cities li a {
    display: inline-block !important;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(45, 59, 54, 0.82) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 11px 22px 11px 38px !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D3B36' stroke-opacity='0.65' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: 14px center !important;
    background-size: 11px 13px !important;
    border: 1px solid rgba(45, 59, 54, 0.14) !important;
    border-radius: 100px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    line-height: 1 !important;
    margin: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                background-image 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                background-position 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
                border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                letter-spacing 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Kill any pseudo-elements that base CSS might inject */
.rbw-about-section .rbw-cities li a::before,
.rbw-about-section .rbw-cities li a::after {
    display: none !important;
    content: none !important;
}

/* Hover state — pin shifts to clay + bounces up, text tracking expands */
.rbw-about-section .rbw-cities li a:hover,
.rbw-about-section .rbw-cities li a:focus-visible {
    background-color: rgba(184, 111, 79, 0.05) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B86F4F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>") !important;
    background-position: 14px calc(50% - 3px) !important;
    border-color: rgba(184, 111, 79, 0.55) !important;
    color: #B86F4F !important;
    transform: translateY(-1px);
    letter-spacing: 0.1em !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Primary city (Airdrie) — clay pin from default + bolder typography */
.rbw-about-section .rbw-cities li.primary a {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B86F4F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>") !important;
    border-color: rgba(184, 111, 79, 0.55) !important;
    color: #B86F4F !important;
    font-weight: 600 !important;
}

.rbw-about-section .rbw-cities li.primary a:hover,
.rbw-about-section .rbw-cities li.primary a:focus-visible {
    background-color: rgba(184, 111, 79, 0.09) !important;
    border-color: rgba(184, 111, 79, 0.75) !important;
}

/* Focus-visible — keyboard accessibility */
.rbw-about-section .rbw-cities li a:focus-visible {
    outline: 2px solid #B86F4F !important;
    outline-offset: 3px !important;
}

/* === Entrance animations (staggered) === */
@keyframes rbwBrandMarkIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes rbwFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.rbw-about-section .rbw-eyebrow,
.rbw-about-section .rbw-heading,
.rbw-about-section .rbw-divider,
.rbw-about-section .rbw-about-description p,
.rbw-about-section .rbw-service-areas {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.rbw-about-section .rbw-eyebrow {
    animation-delay: 0.2s;
}

.rbw-about-section .rbw-heading {
    animation-delay: 0.35s;
}

.rbw-about-section .rbw-divider {
    animation-delay: 0.5s;
}

.rbw-about-section .rbw-about-description p {
    animation-delay: 0.65s;
}

.rbw-about-section .rbw-service-areas {
    animation-delay: 0.8s;
}

/* === Mobile / Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-about-section .grid-container {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .rbw-about-section::before {
        font-size: clamp(140px, 38vw, 280px);
    }

    .rbw-about-section::after {
        width: 200px;
        height: 200px;
        bottom: -30px;
        right: -30px;
    }

    .rbw-about-section .rbw-brand-mark {
        width: 48px;
        height: 60px;
        margin-bottom: 20px;
    }

    .rbw-about-section .rbw-eyebrow {
        font-size: 15px;
        margin-bottom: 24px;
        gap: 14px;
    }

    .rbw-about-section .rbw-eyebrow::before,
    .rbw-about-section .rbw-eyebrow::after {
        width: 30px;
    }

    .rbw-about-section .rbw-heading {
        font-size: clamp(30px, 7.5vw, 46px);
        margin-bottom: 28px;
    }

    .rbw-about-section .rbw-divider {
        max-width: 220px;
        margin-bottom: 40px;
    }

    .rbw-about-section .rbw-about-description p {
        font-size: 15.5px;
        line-height: 1.78;
        text-align: left;
    }

    .rbw-about-section .rbw-about-description p::first-letter {
        font-size: 3.6em;
        margin: 4px 10px 0 0;
    }

    .rbw-about-section .rbw-service-areas {
        margin-top: 40px;
    }

    .rbw-about-section .rbw-areas-label {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .rbw-about-section .rbw-areas-label::before,
    .rbw-about-section .rbw-areas-label::after {
        width: 28px;
    }

    .rbw-about-section .rbw-cities li a {
        font-size: 12px !important;
        padding: 10px 18px 10px 32px !important;
        letter-spacing: 0.08em !important;
        background-position: 12px center !important;
        background-size: 10px 12px !important;
    }

    .rbw-about-section .rbw-cities li a:hover,
    .rbw-about-section .rbw-cities li a:focus-visible {
        background-position: 12px calc(50% - 3px) !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-about-section .grid-container {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }

    .rbw-about-section .rbw-heading {
        font-size: clamp(26px, 8vw, 36px);
    }

    .rbw-about-section .rbw-about-description p {
        font-size: 14.5px;
        line-height: 1.75;
    }

    .rbw-about-section .rbw-about-description p::first-letter {
        font-size: 3.2em;
    }

    .rbw-about-section .rbw-cities {
        gap: 8px;
    }

    .rbw-about-section .rbw-cities li a {
        font-size: 11.5px !important;
        padding: 9px 16px 9px 30px !important;
        letter-spacing: 0.09em !important;
        background-position: 11px center !important;
        background-size: 10px 11px !important;
    }

    .rbw-about-section .rbw-cities li a:hover,
    .rbw-about-section .rbw-cities li a:focus-visible {
        background-position: 11px calc(50% - 2px) !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-about-section .rbw-brand-mark,
    .rbw-about-section .rbw-eyebrow,
    .rbw-about-section .rbw-heading,
    .rbw-about-section .rbw-divider,
    .rbw-about-section .rbw-about-description p,
    .rbw-about-section .rbw-service-areas {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .rbw-about-section .rbw-cities li a {
        transition: none !important;
    }
}

/* ===========================================================
   RBW CTA SECTION — "How can coaching support your next move?"
   
   Dark forest-deep dramatic counterpoint to the cream About
   section above. Italic Cormorant heading, cream body, prominent
   warm-clay CTA button with animated arrow + glow.
   =========================================================== */

.rbw-cta-section {
    background:
        radial-gradient(ellipse 60% 50% at 20% 10%,
            rgba(184, 111, 79, 0.18), transparent 60%),
        radial-gradient(ellipse 70% 60% at 100% 100%,
            rgba(201, 154, 142, 0.12), transparent 65%),
        radial-gradient(ellipse 50% 40% at 50% 50%,
            rgba(107, 129, 105, 0.08), transparent 70%),
        linear-gradient(180deg, #2D3B36 0%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: ;
}

/* Top hairline accent — premium divider from the section above */
.rbw-cta-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(184, 111, 79, 0.5) 25%,
        #C99A8E 50%,
        rgba(184, 111, 79, 0.5) 75%,
        transparent 100%);
    z-index: 2;
    pointer-events: none;
}

/* Botanical accent — bottom left corner */
.rbw-cta-section::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: -50px;
    width: 280px;
    height: 280px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 70 Q 175 130, 125 165 Q 100 140, 145 80 Q 155 70, 170 70 Z' fill='%23B86F4F' opacity='0.18'/><path d='M130 35 Q 125 90, 55 120 Q 42 90, 100 50 Q 115 35, 130 35 Z' fill='%23C99A8E' opacity='0.14'/><path d='M80 100 Q 70 150, 25 165 Q 20 135, 60 100 Q 70 95, 80 100 Z' fill='%236B8169' opacity='0.18'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-cta-section .grid-container {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    position: relative;
    z-index: 1;
}

/* === Top decorative eyebrow mark — line · dot · line === */
.rbw-cta-section .rbw-cta-intro {
    margin-bottom: 28px;
}

.rbw-cta-section .rbw-cta-eyebrow-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    max-width: 180px;
    margin: 0 auto;
    height: 12px;
}

.rbw-cta-section .rbw-cta-eyebrow-mark .line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(201, 154, 142, 0.55));
}

.rbw-cta-section .rbw-cta-eyebrow-mark .line:last-child {
    background: linear-gradient(270deg,
        transparent,
        rgba(201, 154, 142, 0.55));
}

.rbw-cta-section .rbw-cta-eyebrow-mark .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #C99A8E;
    box-shadow:
        0 0 0 4px rgba(201, 154, 142, 0.12),
        0 0 0 10px rgba(201, 154, 142, 0.05);
}

/* === Heading — big italic Cormorant in cream === */
.rbw-cta-section .rbw-cta-heading,
.rbw-cta-section h2.rbw-cta-heading,
div.rbw-cta-section .rbw-cta-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 5vw, 56px) !important;
    font-weight: 500 !important;
    color: #F5EDDF !important;
    line-height: 1.15 !important;
    letter-spacing: -0.005em !important;
    margin: 0 auto 32px !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* === Description — soft cream body, generously spaced === */
.rbw-cta-section .rbw-cta-description {
    margin: 0 auto;
}

.rbw-cta-section .rbw-cta-description p,
div.rbw-cta-section .rbw-cta-description p {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(245, 237, 223, 0.85) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    letter-spacing: 0.005em !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === CTA button — bold clay, animated arrow, glow on hover === */
.rbw-cta-section .rbw-cta-action {
    margin-top: 42px;
}

.rbw-cta-section .rbw-cta-button,
.rbw-cta-section a.button.rbw-cta-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #B86F4F !important;
    background-image: none !important;
    color:  !important;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 16px 36px !important;
    border-radius: 4px !important;
    border: none !important;
    margin: 0 !important;
    text-decoration: none !important;
    line-height: 1;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 14px rgba(184, 111, 79, 0.25),
        0 1px 3px rgba(184, 111, 79, 0.12);
    transition: background-color 0.3s ease,
                box-shadow 0.3s ease,
                transform 0.3s ease,
                gap 0.3s ease,
                letter-spacing 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Arrow after button text */
.rbw-cta-section .rbw-cta-button::after {
    content: "→";
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    transition: transform 0.3s ease;
}

.rbw-cta-section .rbw-cta-button:hover,
.rbw-cta-section .rbw-cta-button:focus-visible {
    background-color: #A35E40 !important;
    color:  !important;
    transform: translateY(-2px);
    gap: 16px;
    box-shadow:
        0 8px 22px rgba(184, 111, 79, 0.4),
        0 2px 6px rgba(184, 111, 79, 0.18);
}

.rbw-cta-section .rbw-cta-button:hover::after,
.rbw-cta-section .rbw-cta-button:focus-visible::after {
    transform: translateX(3px);
}

.rbw-cta-section .rbw-cta-button:focus-visible {
    outline: 2px solid #C99A8E;
    outline-offset: 3px;
}

.rbw-cta-section .rbw-cta-button:active {
    transform: translateY(-1px);
    box-shadow:
        0 4px 14px rgba(184, 111, 79, 0.25),
        0 1px 3px rgba(184, 111, 79, 0.12);
}

/* === Entrance animations (staggered) - only the eyebrow + button,
   heading/description rely on static visibility for reliability === */
.rbw-cta-section .rbw-cta-eyebrow-mark,
.rbw-cta-section .rbw-cta-action {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-cta-section .rbw-cta-eyebrow-mark {
    animation-delay: 0.15s;
}

.rbw-cta-section .rbw-cta-action {
    animation-delay: 0.5s;
}

/* === Mobile / Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-cta-section .grid-container {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    .rbw-cta-section::after {
        width: 220px;
        height: 220px;
        bottom: -40px;
        left: -40px;
    }

    .rbw-cta-section .rbw-cta-intro {
        margin-bottom: 22px;
    }

    .rbw-cta-section .rbw-cta-eyebrow-mark {
        max-width: 140px;
    }

    .rbw-cta-section .rbw-cta-heading {
        font-size: clamp(26px, 6vw, 40px);
        margin-bottom: 24px;
    }

    .rbw-cta-section .rbw-cta-description p {
        font-size: 15px;
        line-height: 1.75;
        text-align: left;
    }

    .rbw-cta-section .rbw-cta-action {
        margin-top: 36px;
    }

    .rbw-cta-section .rbw-cta-button {
        font-size: 12px !important;
        padding: 15px 32px !important;
        letter-spacing: 0.16em;
    }

    .rbw-cta-section .rbw-cta-button::after {
        font-size: 16px;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-cta-section .grid-container {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .rbw-cta-section .rbw-cta-heading {
        font-size: clamp(22px, 6.5vw, 32px);
        padding: 0 8px;
    }

    .rbw-cta-section .rbw-cta-description p {
        font-size: 14.5px;
        line-height: 1.7;
    }

    .rbw-cta-section .rbw-cta-button {
        font-size: 11.5px !important;
        padding: 14px 28px !important;
        letter-spacing: 0.14em;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-cta-section .rbw-cta-eyebrow-mark,
    .rbw-cta-section .rbw-cta-heading,
    .rbw-cta-section .rbw-cta-description p,
    .rbw-cta-section .rbw-cta-action,
    .rbw-cta-section .rbw-cta-button,
    .rbw-cta-section .rbw-cta-button::after {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
    }

}

/* ===========================================================
   RBW BLOG / RESOURCES SECTION — Refined & Compact
   
   Tightened spacing, cream backdrop with subtle depth,
   line·dot·line ornament at top, small hairline before button,
   italic Cormorant heading, refined clay CTA. Balanced — not
   too empty, not overcrowded.
   =========================================================== */

.rbw-blog-section {
    background:
        /* Refined botanical sprig — top right */
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.4' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.22'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.22'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.22'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23B86F4F' fill-opacity='0.18'/><path d='M139 74 Q 127 74, 116 68 Q 129 62, 139 74 Z' fill='%23B86F4F' fill-opacity='0.18'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>") right top / 190px no-repeat,
        /* Refined botanical sprig — bottom left (rotated 180) */
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='rotate(180 100 100)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.4' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.22'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.22'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.22'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23C99A8E' fill-opacity='0.2'/><path d='M139 74 Q 127 74, 116 68 Q 129 62, 139 74 Z' fill='%23C99A8E' fill-opacity='0.2'/><circle cx='130' cy='110' r='2.5' fill='%23C99A8E' fill-opacity='0.45'/></g></svg>") left bottom / 190px no-repeat,
        /* Soft warm glow — top center */
        radial-gradient(ellipse 60% 45% at 50% 0%,
            rgba(201, 154, 142, 0.16), transparent 70%),
        /* Soft sage glow — bottom */
        radial-gradient(ellipse 70% 40% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        /* Base cream gradient */
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    padding: 48px 20px !important;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Subtle top hairline accent — section divider from above */
.rbw-blog-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 1;
}

.rbw-blog-section .grid-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Decorative line · dot · line ornament at top */
.rbw-blog-section .grid-container::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 26px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.7'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.7'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Heading — italic Cormorant, tight spacing */
.rbw-blog-section .rbw-blog-heading,
.rbw-blog-section h2.rbw-blog-heading,
.rbw-blog-section h2,
div.rbw-blog-section .rbw-blog-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(28px, 4.5vw, 46px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    margin: 0 auto 22px !important;
    max-width: 100% !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Description — clean body */
.rbw-blog-section .rbw-blog-description,
.rbw-blog-section .rbw-blog-description p,
.rbw-blog-section p,
div.rbw-blog-section .rbw-blog-description p {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.72) !important;
    text-align: center !important;
    margin: 0 auto 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    column-count: 1 !important;
    column-rule: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Hide unused decorative HTML elements */
.rbw-blog-section .rbw-blog-intro,
.rbw-blog-section .rbw-blog-icon,
.rbw-blog-section .rbw-blog-divider {
    display: none !important;
}

/* Button container with small hairline above */
.rbw-blog-section .rbw-blog-action {
    margin-top: 32px;
    padding-top: 28px;
    position: relative;
    text-align: center;
}

/* Small hairline above button — visual rhythm divider */
.rbw-blog-section .rbw-blog-action::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 1px;
    background: rgba(184, 111, 79, 0.35);
}

/* === Refined clay button === */
.rbw-blog-section .rbw-blog-button,
.rbw-blog-section a.rbw-blog-button,
a.rbw-blog-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background-color: #B86F4F !important;
    background-image: none !important;
    color: #F5EDDF !important;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 16px 36px !important;
    border-radius: 4px !important;
    border: none !important;
    margin: 0 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow:
        0 4px 14px rgba(184, 111, 79, 0.25),
        0 1px 3px rgba(184, 111, 79, 0.12) !important;
    transition: background-color 0.3s ease,
                transform 0.3s ease,
                box-shadow 0.3s ease,
                gap 0.3s ease !important;
}

a.rbw-blog-button::after,
.rbw-blog-section .rbw-blog-button::after {
    content: "→" !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: inline-block !important;
    transition: transform 0.3s ease !important;
}

a.rbw-blog-button:hover,
.rbw-blog-section .rbw-blog-button:hover,
.rbw-blog-section .rbw-blog-button:focus-visible {
    background-color: #A35E40 !important;
    color: #F5EDDF !important;
    transform: translateY(-2px) !important;
    gap: 16px !important;
    box-shadow:
        0 8px 22px rgba(184, 111, 79, 0.4),
        0 2px 6px rgba(184, 111, 79, 0.18) !important;
}

a.rbw-blog-button:hover::after,
.rbw-blog-section .rbw-blog-button:hover::after {
    transform: translateX(3px) !important;
}

.rbw-blog-section .rbw-blog-button:focus-visible {
    outline: 2px solid #C99A8E !important;
    outline-offset: 3px !important;
}

/* === Mobile (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-blog-section {
        padding: 56px 20px !important;
        background-size:
            140px,
            140px,
            auto,
            auto,
            auto !important;
    }

    .rbw-blog-section .grid-container::before {
        width: 80px;
        margin-bottom: 22px;
    }

    .rbw-blog-section .rbw-blog-heading {
        font-size: clamp(24px, 5vw, 34px) !important;
        margin-bottom: 18px !important;
    }

    .rbw-blog-section .rbw-blog-description p,
    .rbw-blog-section p {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }

    .rbw-blog-section .rbw-blog-action {
        margin-top: 28px;
        padding-top: 24px;
    }

    .rbw-blog-section .rbw-blog-button {
        font-size: 12px !important;
        padding: 15px 32px !important;
        letter-spacing: 0.16em !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-blog-section {
        padding: 44px 16px !important;
        background-size:
            100px,
            100px,
            auto,
            auto,
            auto !important;
    }

    .rbw-blog-section .grid-container::before {
        width: 68px;
        margin-bottom: 18px;
    }

    .rbw-blog-section .rbw-blog-heading {
        font-size: clamp(22px, 6vw, 28px) !important;
        margin-bottom: 16px !important;
    }

    .rbw-blog-section .rbw-blog-description p,
    .rbw-blog-section p {
        font-size: 14.5px !important;
        line-height: 1.68 !important;
    }

    .rbw-blog-section .rbw-blog-action {
        margin-top: 24px;
        padding-top: 20px;
    }

    .rbw-blog-section .rbw-blog-button {
        font-size: 11.5px !important;
        padding: 14px 28px !important;
        letter-spacing: 0.14em !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-blog-section .rbw-blog-button,
    .rbw-blog-section .rbw-blog-button::after {
        transition: background-color 0.2s ease !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW CLARITY SECTION — Value proposition + image + testimonial
   
   Award-winning composition: editorial heading + supporting copy
   on one side; a tall framed image on the other, with the
   testimonial card floating over the image's lower corner
   (premium overlap). Smooth micro-interactions, staggered reveals.
   =========================================================== */

.rbw-clarity-section {
    background:
        radial-gradient(ellipse 55% 45% at 12% 12%,
            rgba(201, 154, 142, 0.14), transparent 65%),
        radial-gradient(ellipse 55% 45% at 90% 88%,
            rgba(107, 129, 105, 0.1), transparent 68%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider from the section above */
.rbw-clarity-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Soft botanical sprig — top right, behind everything */
.rbw-clarity-section::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.32' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23B86F4F' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-clarity-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.rbw-clarity-section .grid-x {
    align-items: center;
}

/* === LEFT COLUMN — heading + supporting copy === */
.rbw-clarity-section .rbw-clarity-content {
    padding-left: 40px !important;
}

/* Decorative ornament above heading — line · dot */
.rbw-clarity-section .rbw-clarity-content::before {
    content: "";
    display: block;
    width: 64px;
    height: 8px;
    margin-bottom: 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' fill='none'><line x1='0' y1='4' x2='44' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.8'/><circle cx='54' cy='4' r='3' fill='%23B86F4F'/><circle cx='54' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/></svg>");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

/* Heading — large italic Cormorant in forest deep */
.rbw-clarity-section .rbw-clarity-heading,
.rbw-clarity-section h2.rbw-clarity-heading,
div.rbw-clarity-section .rbw-clarity-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.2vw, 52px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting copy — clean Manrope body */
.rbw-clarity-section .rbw-clarity-text,
.rbw-clarity-section .rbw-clarity-content p,
div.rbw-clarity-section .rbw-clarity-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.74) !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 500px !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === RIGHT COLUMN — image with floating testimonial === */
.rbw-clarity-section .rbw-clarity-media {
    position: relative;
}

/* Image frame */
.rbw-clarity-section .rbw-clarity-image-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow:
        0 40px 80px rgba(20, 30, 26, 0.22),
        0 16px 32px rgba(20, 30, 26, 0.12);
    /* aspect-ratio: 4 / 5; */
    background: #E5D5BC;
}

.rbw-clarity-section .rbw-clarity-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    filter: saturate(1.05);
}

/* Gentle warm overlay on the image for tonal cohesion */
.rbw-clarity-section .rbw-clarity-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 40%,
        rgba(45, 59, 54, 0.28) 100%);
    pointer-events: none;
}

/* Slow zoom on hover */
.rbw-clarity-section .rbw-clarity-media:hover .rbw-clarity-image-wrap img {
    transform: scale(1.05);
}

/* Decorative clay corner accent — top left of image */
.rbw-clarity-section .rbw-clarity-media::before {
    content: "";
    position: absolute;
    top: -14px;
    right: -14px;
    width: 72px;
    height: 72px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72' fill='none'><path d='M 66 36 L 66 6 L 36 6' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.55' fill='none' stroke-linecap='round'/><circle cx='66' cy='6' r='3' fill='%23B86F4F' fill-opacity='0.7'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 3;
}

/* === Entrance animations (staggered) === */
.rbw-clarity-section .rbw-clarity-content,
.rbw-clarity-section .rbw-clarity-media {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-clarity-section .rbw-clarity-media {
    animation-delay: 0.15s;
}

.rbw-clarity-section .rbw-clarity-content {
    animation-delay: 0.35s;
}

/* === Tablet & below (≤1023.5px) — stack columns === */
@media screen and (max-width: 63.9375em) {

    .rbw-clarity-section {
        padding: 64px 20px !important;
    }

    .rbw-clarity-section::after {
        width: 150px;
        height: 150px;
    }

    .rbw-clarity-section .grid-x {
        align-items: stretch;
    }

    .rbw-clarity-section .rbw-clarity-content {
        padding-left: 0 !important;
        text-align: center;
    }

    .rbw-clarity-section .rbw-clarity-content::before {
        margin-left: auto;
        margin-right: auto;
        background-position: center;
        margin-bottom: 24px;
    }

    .rbw-clarity-section .rbw-clarity-heading {
        font-size: clamp(28px, 5vw, 40px) !important;
        text-align: center !important;
    }

    .rbw-clarity-section .rbw-clarity-text {
        font-size: 16px !important;
        text-align: center !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }

    /* Image — sits on top (first in HTML), centered, space below */
    .rbw-clarity-section .rbw-clarity-media {
        max-width: 460px;
        margin: 0 auto 56px;
        padding-bottom: 16px;
    }

    .rbw-clarity-section .rbw-clarity-image-wrap {
        aspect-ratio: 4 / 4;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-clarity-section {
        padding: 48px 16px !important;
    }

    .rbw-clarity-section::after {
        display: none;
    }

    .rbw-clarity-section .rbw-clarity-content {
        margin-bottom: 40px;
    }

    .rbw-clarity-section .rbw-clarity-heading {
        font-size: clamp(24px, 6.5vw, 32px) !important;
    }

    .rbw-clarity-section .rbw-clarity-text {
        font-size: 15px !important;
        line-height: 1.78 !important;
    }

    .rbw-clarity-section .rbw-clarity-media {
        max-width: 100%;
        padding-bottom: 0;
        margin-bottom: 40px;
    }

    .rbw-clarity-section .rbw-clarity-media::before {
        top: -10px;
        right: -10px;
        width: 56px;
        height: 56px;
    }

    .rbw-clarity-section .rbw-clarity-image-wrap {
        aspect-ratio: 3 / 2;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-clarity-section .rbw-clarity-content,
    .rbw-clarity-section .rbw-clarity-media,
    .rbw-clarity-section .rbw-clarity-image-wrap img {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW OVERWHELM SECTION — Mirror of Clarity (image left)
   
   Alternating composition for page rhythm: framed image on the
   left, editorial heading + supporting copy on the right.
   Same premium brand language, mirrored. Smooth micro-interactions.
   =========================================================== */

.rbw-overwhelm-section {
    background:
        radial-gradient(ellipse 55% 45% at 88% 12%,
            rgba(201, 154, 142, 0.14), transparent 65%),
        radial-gradient(ellipse 55% 45% at 10% 88%,
            rgba(107, 129, 105, 0.1), transparent 68%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-overwhelm-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Soft botanical sprig — bottom left, behind everything */
.rbw-overwhelm-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200px;
    height: 200px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='rotate(180 100 100)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.32' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23B86F4F' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-overwhelm-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.rbw-overwhelm-section .grid-x {
    align-items: center;
}

/* === LEFT COLUMN — image === */
.rbw-overwhelm-section .rbw-overwhelm-media {
    position: relative;
}

.rbw-overwhelm-section .rbw-overwhelm-image-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow:
        0 40px 80px rgba(20, 30, 26, 0.22),
        0 16px 32px rgba(20, 30, 26, 0.12);
    /* aspect-ratio: 4 / 5; */
    background: #E5D5BC;
}

.rbw-overwhelm-section .rbw-overwhelm-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    filter: saturate(1.05);
}

/* Gentle warm overlay */
.rbw-overwhelm-section .rbw-overwhelm-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 40%,
        rgba(45, 59, 54, 0.28) 100%);
    pointer-events: none;
}

/* Slow zoom on hover */
.rbw-overwhelm-section .rbw-overwhelm-media:hover .rbw-overwhelm-image-wrap img {
    transform: scale(1.05);
}

/* Decorative clay corner accent — top right of image (mirrored) */
.rbw-overwhelm-section .rbw-overwhelm-media::before {
    content: "";
    position: absolute;
    top: -14px;
    right: -14px;
    width: 72px;
    height: 72px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72' fill='none'><path d='M 66 36 L 66 6 L 36 6' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.55' fill='none' stroke-linecap='round'/><circle cx='66' cy='6' r='3' fill='%23B86F4F' fill-opacity='0.7'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 3;
}

/* === RIGHT COLUMN — heading + supporting copy === */
.rbw-overwhelm-section .rbw-overwhelm-content {
    padding-left: 40px !important;
}

/* Decorative ornament above heading — line · dot */
.rbw-overwhelm-section .rbw-overwhelm-content::before {
    content: "";
    display: block;
    width: 64px;
    height: 8px;
    margin-bottom: 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' fill='none'><line x1='0' y1='4' x2='44' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.8'/><circle cx='54' cy='4' r='3' fill='%23B86F4F'/><circle cx='54' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/></svg>");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

/* Heading — large italic Cormorant in forest deep */
.rbw-overwhelm-section .rbw-overwhelm-heading,
.rbw-overwhelm-section h2.rbw-overwhelm-heading,
div.rbw-overwhelm-section .rbw-overwhelm-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.2vw, 52px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting copy */
.rbw-overwhelm-section .rbw-overwhelm-text,
.rbw-overwhelm-section .rbw-overwhelm-content p,
div.rbw-overwhelm-section .rbw-overwhelm-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.74) !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 500px !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === Entrance animations (staggered) === */
.rbw-overwhelm-section .rbw-overwhelm-media,
.rbw-overwhelm-section .rbw-overwhelm-content {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-overwhelm-section .rbw-overwhelm-media {
    animation-delay: 0.15s;
}

.rbw-overwhelm-section .rbw-overwhelm-content {
    animation-delay: 0.35s;
}

/* === Tablet & below (≤1023.5px) — stack: image on top, content below === */
@media screen and (max-width: 63.9375em) {

    .rbw-overwhelm-section {
        padding: 64px 20px !important;
    }

    .rbw-overwhelm-section::after {
        width: 150px;
        height: 150px;
    }

    .rbw-overwhelm-section .grid-x {
        align-items: stretch;
    }

    /* Image first, then content */
    .rbw-overwhelm-section .rbw-overwhelm-media {
        max-width: 460px;
        margin: 0 auto 48px;
        order: 1;
    }

    .rbw-overwhelm-section .rbw-overwhelm-image-wrap {
        aspect-ratio: 4 / 4;
    }

    .rbw-overwhelm-section .rbw-overwhelm-content {
        padding-left: 0 !important;
        text-align: center;
        order: 2;
    }

    .rbw-overwhelm-section .rbw-overwhelm-content::before {
        margin-left: auto;
        margin-right: auto;
        background-position: center;
        margin-bottom: 24px;
    }

    .rbw-overwhelm-section .rbw-overwhelm-heading {
        font-size: clamp(28px, 5vw, 40px) !important;
        text-align: center !important;
    }

    .rbw-overwhelm-section .rbw-overwhelm-text {
        font-size: 16px !important;
        text-align: center !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-overwhelm-section {
        padding: 48px 16px !important;
    }

    .rbw-overwhelm-section::after {
        display: none;
    }

    .rbw-overwhelm-section .rbw-overwhelm-media {
        max-width: 100%;
        margin-bottom: 40px;
    }

    .rbw-overwhelm-section .rbw-overwhelm-media::before {
        top: -10px;
        right: -10px;
        width: 56px;
        height: 56px;
    }

    .rbw-overwhelm-section .rbw-overwhelm-image-wrap {
        aspect-ratio: 3 / 2;
    }

    .rbw-overwhelm-section .rbw-overwhelm-heading {
        font-size: clamp(24px, 6.5vw, 32px) !important;
    }

    .rbw-overwhelm-section .rbw-overwhelm-text {
        font-size: 15px !important;
        line-height: 1.78 !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-overwhelm-section .rbw-overwhelm-media,
    .rbw-overwhelm-section .rbw-overwhelm-content,
    .rbw-overwhelm-section .rbw-overwhelm-image-wrap img {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW CONFIDENTIAL SECTION — Series part 3 (image right)
   
   Continues the alternating rhythm: image on the right, editorial
   heading + supporting copy on the left. Seamless colour flow from
   the section above. Same premium brand language.
   =========================================================== */

.rbw-confidential-section {
    background:
        radial-gradient(ellipse 55% 45% at 12% 12%,
            rgba(201, 154, 142, 0.14), transparent 65%),
        radial-gradient(ellipse 55% 45% at 90% 88%,
            rgba(107, 129, 105, 0.1), transparent 68%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-confidential-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Soft botanical sprig — top right, behind everything */
.rbw-confidential-section::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.32' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23B86F4F' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-confidential-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.rbw-confidential-section .grid-x {
    align-items: center;
}

/* === LEFT COLUMN — heading + supporting copy === */
.rbw-confidential-section .rbw-confidential-content {
    padding-right: 40px !important;
}

/* Decorative ornament above heading — line · dot */
.rbw-confidential-section .rbw-confidential-content::before {
    content: "";
    display: block;
    width: 64px;
    height: 8px;
    margin-bottom: 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 8' fill='none'><line x1='0' y1='4' x2='44' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.8'/><circle cx='54' cy='4' r='3' fill='%23B86F4F'/><circle cx='54' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/></svg>");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

/* Heading — large italic Cormorant in forest deep */
.rbw-confidential-section .rbw-confidential-heading,
.rbw-confidential-section h2.rbw-confidential-heading,
div.rbw-confidential-section .rbw-confidential-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.2vw, 52px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting copy */
.rbw-confidential-section .rbw-confidential-text,
.rbw-confidential-section .rbw-confidential-content p,
div.rbw-confidential-section .rbw-confidential-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.74) !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 500px !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === RIGHT COLUMN — image === */
.rbw-confidential-section .rbw-confidential-media {
    position: relative;
}

.rbw-confidential-section .rbw-confidential-image-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow:
        0 40px 80px rgba(20, 30, 26, 0.22),
        0 16px 32px rgba(20, 30, 26, 0.12);
    /* aspect-ratio: 4 / 5; */
    background: #E5D5BC;
}

.rbw-confidential-section .rbw-confidential-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    filter: saturate(1.05);
}

/* Gentle warm overlay */
.rbw-confidential-section .rbw-confidential-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 40%,
        rgba(45, 59, 54, 0.28) 100%);
    pointer-events: none;
}

/* Slow zoom on hover */
.rbw-confidential-section .rbw-confidential-media:hover .rbw-confidential-image-wrap img {
    transform: scale(1.05);
}

/* Decorative clay corner accent — top left of image */
.rbw-confidential-section .rbw-confidential-media::before {
    content: "";
    position: absolute;
    top: -14px;
    left: -14px;
    width: 72px;
    height: 72px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72' fill='none'><path d='M 6 36 L 6 6 L 36 6' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.55' fill='none' stroke-linecap='round'/><circle cx='6' cy='6' r='3' fill='%23B86F4F' fill-opacity='0.7'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 3;
}

/* === Entrance animations (staggered) === */
.rbw-confidential-section .rbw-confidential-content,
.rbw-confidential-section .rbw-confidential-media {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-confidential-section .rbw-confidential-content {
    animation-delay: 0.15s;
}

.rbw-confidential-section .rbw-confidential-media {
    animation-delay: 0.35s;
}

/* === Tablet & below (≤1023.5px) — image on top, content below === */
@media screen and (max-width: 63.9375em) {

    .rbw-confidential-section {
        padding: 64px 20px !important;
    }

    .rbw-confidential-section::after {
        width: 150px;
        height: 150px;
    }

    .rbw-confidential-section .grid-x {
        align-items: stretch;
    }

    /* Image first (order), content below */
    .rbw-confidential-section .rbw-confidential-media {
        max-width: 460px;
        margin: 0 auto 48px;
        order: 1;
    }

    .rbw-confidential-section .rbw-confidential-image-wrap {
        aspect-ratio: 4 / 4;
    }

    .rbw-confidential-section .rbw-confidential-content {
        padding-right: 0 !important;
        text-align: center;
        order: 2;
    }

    .rbw-confidential-section .rbw-confidential-content::before {
        margin-left: auto;
        margin-right: auto;
        background-position: center;
        margin-bottom: 24px;
    }

    .rbw-confidential-section .rbw-confidential-heading {
        font-size: clamp(28px, 5vw, 40px) !important;
        text-align: center !important;
    }

    .rbw-confidential-section .rbw-confidential-text {
        font-size: 16px !important;
        text-align: center !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-confidential-section {
        padding: 48px 16px !important;
    }

    .rbw-confidential-section::after {
        display: none;
    }

    .rbw-confidential-section .rbw-confidential-media {
        max-width: 100%;
        margin-bottom: 40px;
    }

    .rbw-confidential-section .rbw-confidential-media::before {
        top: -10px;
        left: -10px;
        width: 56px;
        height: 56px;
    }

    .rbw-confidential-section .rbw-confidential-image-wrap {
        aspect-ratio: 3 / 2;
    }

    .rbw-confidential-section .rbw-confidential-heading {
        font-size: clamp(24px, 6.5vw, 32px) !important;
    }

    .rbw-confidential-section .rbw-confidential-text {
        font-size: 15px !important;
        line-height: 1.78 !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-confidential-section .rbw-confidential-content,
    .rbw-confidential-section .rbw-confidential-media,
    .rbw-confidential-section .rbw-confidential-image-wrap img {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW TESTIMONIALS SECTION — Masonry client stories with images
   
   Premium 2-column masonry that gracefully handles reviews of
   different lengths. Warm white cards on cream, clay accents,
   decorative quote glyphs, star ratings, circular avatars with
   photo support, hover lifts, staggered entrance animations.
   =========================================================== */

.rbw-testimonials-section {
    background:
        radial-gradient(ellipse 50% 40% at 8% 6%,
            rgba(201, 154, 142, 0.14), transparent 62%),
        radial-gradient(ellipse 50% 40% at 92% 94%,
            rgba(107, 129, 105, 0.1), transparent 66%),
        radial-gradient(ellipse 40% 30% at 50% 50%,
            rgba(184, 111, 79, 0.05), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-testimonials-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Soft botanical sprig — bottom right */
.rbw-testimonials-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='rotate(180 100 100)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23C99A8E' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-testimonials-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header === */
.rbw-testimonials-section .rbw-testimonials-head {
    text-align: center;
    margin-bottom: 44px;
}

/* Aggregate rating badge — pill above the ornament */
.rbw-testimonials-section .rbw-testimonials-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 auto 24px;
    padding: 9px 20px 9px 16px;
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF5E9 100%);
    border: 1px solid rgba(184, 111, 79, 0.28);
    border-radius: 100px;
    box-shadow: 0 6px 18px rgba(45, 59, 54, 0.06);
}

.rbw-testimonials-section .rbw-testimonials-badge .badge-stars {
    width: 84px;
    height: 14px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='84' height='14' viewBox='0 0 84 14' fill='none'><g fill='%23B86F4F'><path d='M7 1l1.7 3.5 3.8.4-2.8 2.6.8 3.8L7 9.9 3.7 11.7l.8-3.8L1.7 5.3l3.8-.4z'/><path d='M24.5 1l1.7 3.5 3.8.4-2.8 2.6.8 3.8-3.5-1.8-3.3 1.8.8-3.8-2.8-2.6 3.8-.4z'/><path d='M42 1l1.7 3.5 3.8.4-2.8 2.6.8 3.8L42 9.9l-3.3 1.8.8-3.8-2.8-2.6 3.8-.4z'/><path d='M59.5 1l1.7 3.5 3.8.4-2.8 2.6.8 3.8-3.5-1.8-3.3 1.8.8-3.8-2.8-2.6 3.8-.4z'/><path d='M77 1l1.7 3.5 3.8.4-2.8 2.6.8 3.8L77 9.9l-3.3 1.8.8-3.8-2.8-2.6 3.8-.4z'/></g></svg>");
    background-repeat: no-repeat;
    background-size: contain;
}

.rbw-testimonials-section .rbw-testimonials-badge .badge-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(45, 59, 54, 0.72);
    line-height: 1;
}

/* Ornament above heading — line · dot · line */
.rbw-testimonials-section .rbw-testimonials-head::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 22px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rbw-testimonials-section .rbw-testimonials-heading,
.rbw-testimonials-section h2.rbw-testimonials-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.2vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 720px !important;
}

/* Optional subheading under the main heading */
.rbw-testimonials-section .rbw-testimonials-sub {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(45, 59, 54, 0.62);
    margin: 0 auto;
    max-width: 540px;
}

/* === Masonry grid (CSS columns) === */
/* === Slider viewport + track === */
.rbw-testimonials-section .rbw-tslider {
    position: relative;
    margin: 0 auto;
    max-width: 1080px;
}

.rbw-testimonials-section .rbw-tviewport {
    overflow: hidden;
    padding: 8px 4px 16px;
}

.rbw-testimonials-section .rbw-ttrack {
    display: flex;
    gap: 28px;
    will-change: transform;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Each slide — 2 visible on desktop */
.rbw-testimonials-section .rbw-tslide {
    flex: 0 0 calc((100% - 28px) / 2);
    min-width: 0;
    display: flex;
}

.rbw-testimonials-section .rbw-tslide .rbw-tcard {
    width: 100%;
}

/* === Featured card — same cream look as the rest, just a larger
   italic lead-in paragraph for a subtle hierarchy === */

/* First paragraph of featured = larger italic lead-in (color matches others) */
.rbw-testimonials-section .rbw-tcard.featured .rbw-tcard-body p:first-child {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(18px, 1.8vw, 21px) !important;
    line-height: 1.5 !important;
    color: #F5EDDF !important;
    margin-bottom: 16px !important;
}

/* === Individual testimonial card — sage green === */
.rbw-testimonials-section .rbw-tcard {
    width: 100%;
    background: radial-gradient(ellipse 70% 50% at 88% 6%, rgba(184, 111, 79, 0.16), transparent 60%), linear-gradient(160deg, #6B8169 0%, #5d7259 100%);
    border: 1px solid rgba(245, 237, 223, 0.12);
    border-radius: 16px;
    padding: 36px 34px 30px;
    position: relative;
    overflow: hidden;
    box-shadow: 1px 2px 14px rgba(45, 59, 54, 0.18), 0 4px 12px rgba(45, 59, 54, 0.1);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Clay accent bar at top of card */
.rbw-testimonials-section .rbw-tcard::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 16px 16px 0 0;
}

/* Large decorative quote glyph */
.rbw-testimonials-section .rbw-tcard::after {
    content: "\201C";
    position: absolute;
    top: 18px;
    right: 26px;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: 96px;
    line-height: 1;
    color: rgba(245, 237, 223, 0.18);
    pointer-events: none;
    z-index: 0;
}

/* Hover lift */
.rbw-testimonials-section .rbw-tcard:hover {
    transform: translateY(-6px);
    border-color: rgba(201, 154, 142, 0.45);
    box-shadow: 0px 0px 6px 2px rgba(45, 59, 54, 0.28), 0 10px 24px rgba(45, 59, 54, 0.16);
}

/* Star rating */
.rbw-testimonials-section .rbw-tcard-stars {
    position: relative;
    z-index: 1;
    width: 96px;
    height: 16px;
    margin-bottom: 18px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='16' viewBox='0 0 96 16' fill='none'><g fill='%23B86F4F'><path d='M8 1l1.9 4 4.3.5-3.2 3 .9 4.3L8 11.2 4.1 12.8l.9-4.3-3.2-3 4.3-.5z'/><path d='M28 1l1.9 4 4.3.5-3.2 3 .9 4.3L28 11.2l-3.9 1.6.9-4.3-3.2-3 4.3-.5z'/><path d='M48 1l1.9 4 4.3.5-3.2 3 .9 4.3L48 11.2l-3.9 1.6.9-4.3-3.2-3 4.3-.5z'/><path d='M68 1l1.9 4 4.3.5-3.2 3 .9 4.3L68 11.2l-3.9 1.6.9-4.3-3.2-3 4.3-.5z'/><path d='M88 1l1.9 4 4.3.5-3.2 3 .9 4.3L88 11.2l-3.9 1.6.9-4.3-3.2-3 4.3-.5z'/></g></svg>");
    background-repeat: no-repeat;
    background-size: contain;
}

/* Review body */
.rbw-testimonials-section .rbw-tcard-body {
    position: relative;
    z-index: 1;
    margin-bottom: 26px;
}

.rbw-testimonials-section .rbw-tcard-body p {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: rgba(245, 237, 223, 0.92) !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    max-width: none !important;
}

.rbw-testimonials-section .rbw-tcard-body p:last-child {
    margin-bottom: 0 !important;
}

/* === Read more / less (pure CSS, no JS) ===
   Uses a hidden checkbox toggle. The .rbw-more wrapper holds the
   overflow content; collapsed by default with a fade, expands when
   the checkbox is checked. */

/* Hide the checkbox itself */
.rbw-testimonials-section .rbw-more-toggle {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Collapsible overflow content — hidden by default */
.rbw-testimonials-section .rbw-more {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.4s ease;
    opacity: 0;
}

.rbw-testimonials-section .rbw-more > * {
    overflow: hidden;
    min-height: 0;
}

/* Expanded state when checkbox checked */
.rbw-testimonials-section .rbw-more-toggle:checked ~ .rbw-more {
    grid-template-rows: 1fr;
    opacity: 1;
    margin-top: 14px;
}

/* The clickable label / button */
.rbw-testimonials-section .rbw-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #C99A8E;
    cursor: pointer;
    user-select: none;
    line-height: 1;
    position: relative;
    z-index: 1;
    transition: gap 0.3s ease, color 0.3s ease;
}

/* Arrow after the label */
.rbw-testimonials-section .rbw-more-btn::after {
    content: "↓";
    font-size: 13px;
    line-height: 1;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-testimonials-section .rbw-more-btn:hover {
    color: #F5EDDF;
    gap: 9px;
}

/* "Read more" text shown by default; "Read less" hidden */
.rbw-testimonials-section .rbw-more-btn .label-less {
    display: none;
}

/* When expanded: swap label text + flip arrow */
.rbw-testimonials-section .rbw-more-toggle:checked ~ .rbw-more-btn .label-more {
    display: none;
}

.rbw-testimonials-section .rbw-more-toggle:checked ~ .rbw-more-btn .label-less {
    display: inline;
}

.rbw-testimonials-section .rbw-more-toggle:checked ~ .rbw-more-btn::after {
    transform: rotate(180deg);
}

/* Keyboard focus visibility on the label */
.rbw-testimonials-section .rbw-more-toggle:focus-visible ~ .rbw-more-btn {
    outline: 2px solid #C99A8E;
    outline-offset: 3px;
    border-radius: 2px;
}

/* Card footer — avatar + name + location */
.rbw-testimonials-section .rbw-tcard-footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 22px;
    border-top: 1px solid rgba(245, 237, 223, 0.18);
}

/* Avatar — gradient circle with initial; image overlays if present */
.rbw-testimonials-section .rbw-tcard-avatar {
    position: relative;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    color: #F5EDDF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    overflow: hidden;
    box-shadow:
        0 4px 12px rgba(45, 59, 54, 0.3),
        0 0 0 3px rgba(245, 237, 223, 0.95),
        0 0 0 4px rgba(184, 111, 79, 0.45);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Photo (if provided) sits on top of the initial */
.rbw-testimonials-section .rbw-tcard-avatar img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

/* Avatar gently scales when its card is hovered */
.rbw-testimonials-section .rbw-tcard:hover .rbw-tcard-avatar {
    transform: scale(1.06);
}

.rbw-testimonials-section .rbw-tcard-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.rbw-testimonials-section .rbw-tcard-name {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #F5EDDF;
    line-height: 1.2;
}

.rbw-testimonials-section .rbw-tcard-loc {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: #C99A8E;
    line-height: 1.2;
}

/* === Entrance animations === */
.rbw-testimonials-section .rbw-testimonials-head,
.rbw-testimonials-section .rbw-tslider {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-testimonials-section .rbw-testimonials-head { animation-delay: 0.1s; }
.rbw-testimonials-section .rbw-tslider { animation-delay: 0.28s; }

/* === Tablet & below (≤1023.5px) — single column === */
@media screen and (max-width: 63.9375em) {

    .rbw-testimonials-section {
        padding: 48px 20px !important;
    }

    .rbw-testimonials-section::after {
        width: 150px;
        height: 150px;
    }

    .rbw-testimonials-section .rbw-testimonials-head {
        margin-bottom: 36px;
    }

    .rbw-testimonials-section .rbw-testimonials-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
    }

    .rbw-testimonials-section .rbw-tslider {
        max-width: 640px;
    }

    /* 1 slide visible on tablet/mobile */
    .rbw-testimonials-section .rbw-tslide {
        flex: 0 0 100%;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-testimonials-section {
        padding: 40px 16px !important;
    }

    .rbw-testimonials-section::after {
        display: none;
    }

    .rbw-testimonials-section .rbw-tcard {
        padding: 30px 24px 26px;
        border-radius: 14px;
    }

    .rbw-testimonials-section .rbw-tcard.featured {
        padding: 32px 24px 28px;
    }

    .rbw-testimonials-section .rbw-tcard.featured::after {
        font-size: 90px;
        right: 22px;
    }

    .rbw-testimonials-section .rbw-tcard.featured .rbw-tcard-body p:first-child {
        font-size: 18px !important;
    }

    .rbw-testimonials-section .rbw-testimonials-badge {
        padding: 8px 16px 8px 14px;
    }

    .rbw-testimonials-section .rbw-testimonials-badge .badge-text {
        font-size: 11px;
    }

    .rbw-testimonials-section .rbw-tcard::after {
        font-size: 80px;
        top: 14px;
        right: 20px;
    }

    .rbw-testimonials-section .rbw-tcard-body p {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    .rbw-testimonials-section .rbw-tcard-avatar {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
}

/* === Slider controls — arrows + dots === */
.rbw-testimonials-section .rbw-tcontrols {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 36px;
}

/* Arrow buttons */
.rbw-testimonials-section .rbw-tarrow {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(184, 111, 79, 0.4);
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF5E9 100%);
    color: #B86F4F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    box-shadow: 0 6px 18px rgba(45, 59, 54, 0.08);
    transition: background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.35s ease;
}

.rbw-testimonials-section .rbw-tarrow svg {
    width: 18px;
    height: 18px;
    display: block;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-testimonials-section .rbw-tarrow:hover {
    background: #B86F4F;
    border-color: #B86F4F;
    color: #F5EDDF;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(184, 111, 79, 0.3);
}

.rbw-testimonials-section .rbw-tarrow.prev:hover svg {
    transform: translateX(-3px);
}

.rbw-testimonials-section .rbw-tarrow.next:hover svg {
    transform: translateX(3px);
}

.rbw-testimonials-section .rbw-tarrow:focus-visible {
    outline: 2px solid #C99A8E;
    outline-offset: 3px;
}

.rbw-testimonials-section .rbw-tarrow:disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

/* Dots */
.rbw-testimonials-section .rbw-tdots {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.rbw-testimonials-section .rbw-tdot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(45, 59, 54, 0.2);
    cursor: pointer;
    transition: background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                width 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-testimonials-section .rbw-tdot:hover {
    background: rgba(184, 111, 79, 0.5);
}

.rbw-testimonials-section .rbw-tdot.active {
    width: 26px;
    border-radius: 100px;
    background: linear-gradient(90deg, #B86F4F, #C99A8E);
}

.rbw-testimonials-section .rbw-tdot:focus-visible {
    outline: 2px solid #C99A8E;
    outline-offset: 3px;
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-testimonials-section .rbw-testimonials-head,
    .rbw-testimonials-section .rbw-tslider {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
    }
    .rbw-testimonials-section .rbw-ttrack {
        transition: none !important;
    }
}

/* ===========================================================
   RBW HONEST CONVERSATIONS SECTION — Centered editorial intro
   
   Calm, refined centered layout for the value-narrative copy.
   Italic Cormorant heading in forest deep, single-column body
   with comfortable reading width, decorative ornament, subtle
   atmospheric background. No image — typography does the work.
   =========================================================== */

.rbw-honest-section {
    background:
        radial-gradient(ellipse 50% 40% at 50% 0%,
            rgba(201, 154, 142, 0.14), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
    text-align: center;
}

/* Top hairline divider */
.rbw-honest-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Soft botanical sprig — bottom right */
.rbw-honest-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='rotate(180 100 100)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23C99A8E' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-honest-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Decorative ornament above heading — line · dot · line */
.rbw-honest-section .rbw-honest-content::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 26px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Heading — large italic Cormorant in forest deep */
.rbw-honest-section .rbw-honest-heading,
.rbw-honest-section h2.rbw-honest-heading,
div.rbw-honest-section .rbw-honest-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 28px !important;
    max-width: 820px !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting paragraph — clean editorial body */
.rbw-honest-section .rbw-honest-text,
.rbw-honest-section .rbw-honest-content p,
div.rbw-honest-section .rbw-honest-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === Entrance animations (staggered) === */
.rbw-honest-section .rbw-honest-content {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

/* === Mobile (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-honest-section {
        padding: 44px 20px !important;
    }

    .rbw-honest-section::after {
        width: 140px;
        height: 140px;
    }

    .rbw-honest-section .rbw-honest-content::before {
        width: 80px;
        margin-bottom: 22px;
    }

    .rbw-honest-section .rbw-honest-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
        margin-bottom: 22px !important;
    }

    .rbw-honest-section .rbw-honest-text {
        font-size: 16px !important;
        line-height: 1.78 !important;
        text-align: left !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-honest-section {
        padding: 36px 16px !important;
    }

    .rbw-honest-section::after {
        display: none;
    }

    .rbw-honest-section .rbw-honest-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-honest-section .rbw-honest-text {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-honest-section .rbw-honest-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW SERVICES SECTION — Coaching offerings grid
   
   Centered header with intro paragraph, then a refined 3-column
   grid (2 rows of 3) of service cards. Each card has a brand
   icon, title, and short description. Hover lift, staggered
   entrance, fully responsive.
   =========================================================== */

.rbw-services-section {
    background:
        radial-gradient(ellipse 50% 40% at 8% 6%,
            rgba(201, 154, 142, 0.14), transparent 62%),
        radial-gradient(ellipse 50% 40% at 92% 94%,
            rgba(107, 129, 105, 0.1), transparent 66%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-services-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Botanical sprig — top right */
.rbw-services-section::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-services-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header === */
.rbw-services-section .rbw-services-head {
    text-align: center;
    margin-bottom: 40px;
}

/* Ornament above heading */
.rbw-services-section .rbw-services-head::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 24px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rbw-services-section .rbw-services-heading,
.rbw-services-section h2.rbw-services-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 22px !important;
    max-width: 820px !important;
    padding: 0 !important;
    text-align: center !important;
}

.rbw-services-section .rbw-services-intro {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.74) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 720px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
}

/* === Services grid (3 columns × 2 rows on desktop) === */
.rbw-services-section .rbw-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 auto;
    max-width: 1100px;
    list-style: none !important;
    padding: 0 !important;
}

.rbw-services-section .rbw-services-grid li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === Service card === */
.rbw-services-section .rbw-service-card {
    height: 100%;
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF5E9 100%);
    border: 1px solid rgba(201, 154, 142, 0.22);
    border-radius: 14px;
    padding: 30px 28px 28px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 12px 28px rgba(45, 59, 54, 0.06),
        0 2px 8px rgba(45, 59, 54, 0.03);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Clay accent bar */
.rbw-services-section .rbw-service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 14px 14px 0 0;
}

.rbw-services-section .rbw-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(184, 111, 79, 0.4);
    box-shadow:
        0 24px 48px rgba(45, 59, 54, 0.12),
        0 6px 16px rgba(45, 59, 54, 0.06);
}

/* Icon — circular clay gradient with brand glyph */
.rbw-services-section .rbw-service-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: 0 6px 16px rgba(184, 111, 79, 0.28);
    transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rbw-services-section .rbw-service-card:hover .rbw-service-icon {
    transform: rotate(-6deg) scale(1.08);
}

.rbw-services-section .rbw-service-icon svg {
    width: 24px;
    height: 24px;
    color: #F5EDDF;
}

/* Service title */
.rbw-services-section .rbw-service-title {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    color: #2D3B36;
    line-height: 1.25;
    letter-spacing: -0.005em;
    margin: 0 0 12px 0;
}

/* Service description */
.rbw-services-section .rbw-service-desc {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(45, 59, 54, 0.72);
    margin: 0;
}

/* === Staggered entrance animations === */
.rbw-services-section .rbw-services-head,
.rbw-services-section .rbw-service-card {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-services-section .rbw-services-head { animation-delay: 0.1s; }
.rbw-services-section .rbw-services-grid li:nth-child(1) .rbw-service-card { animation-delay: 0.2s; }
.rbw-services-section .rbw-services-grid li:nth-child(2) .rbw-service-card { animation-delay: 0.3s; }
.rbw-services-section .rbw-services-grid li:nth-child(3) .rbw-service-card { animation-delay: 0.4s; }
.rbw-services-section .rbw-services-grid li:nth-child(4) .rbw-service-card { animation-delay: 0.5s; }
.rbw-services-section .rbw-services-grid li:nth-child(5) .rbw-service-card { animation-delay: 0.6s; }
.rbw-services-section .rbw-services-grid li:nth-child(6) .rbw-service-card { animation-delay: 0.7s; }

/* === Tablet (≤1023.5px) — 2 columns === */
@media screen and (max-width: 63.9375em) {

    .rbw-services-section {
        padding: 44px 20px !important;
    }

    .rbw-services-section::after {
        width: 140px;
        height: 140px;
    }

    .rbw-services-section .rbw-services-head {
        margin-bottom: 32px;
    }

    .rbw-services-section .rbw-services-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
    }

    .rbw-services-section .rbw-services-intro {
        font-size: 16px !important;
    }

    .rbw-services-section .rbw-services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .rbw-services-section .rbw-service-card {
        padding: 26px 24px 24px;
    }

    .rbw-services-section .rbw-service-title {
        font-size: 20px;
    }

    .rbw-services-section .rbw-service-desc {
        font-size: 14.5px;
    }
}

/* === Small mobile (≤640px) — single column === */
@media screen and (max-width: 39.9375em) {

    .rbw-services-section {
        padding: 36px 16px !important;
    }

    .rbw-services-section::after {
        display: none;
    }

    .rbw-services-section .rbw-services-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-services-section .rbw-services-intro {
        font-size: 15px !important;
        text-align: left !important;
    }

    .rbw-services-section .rbw-services-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        max-width: 480px;
    }

    .rbw-services-section .rbw-service-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 16px;
    }

    .rbw-services-section .rbw-service-icon svg {
        width: 22px;
        height: 22px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-services-section .rbw-services-head,
    .rbw-services-section .rbw-service-card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
    }
    .rbw-services-section .rbw-service-card:hover .rbw-service-icon {
        transform: none !important;
    }
}

/* ===========================================================
   RBW GUIDANCE SECTION — Centered editorial intro
   
   Calm, refined centered layout matching the brand's editorial
   tone. Italic Cormorant heading in forest deep, single-column
   body with comfortable reading width, decorative ornament,
   subtle background atmosphere — no image, typography led.
   =========================================================== */

.rbw-guidance-section {
    background:
        radial-gradient(ellipse 55% 45% at 50% 0%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        radial-gradient(ellipse 45% 35% at 50% 100%,
            rgba(201, 154, 142, 0.12), transparent 70%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
    text-align: center;
}

/* Top hairline divider */
.rbw-guidance-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Botanical sprig — bottom left (mirror of honest section's bottom-right) */
.rbw-guidance-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='matrix(-1 0 0 -1 200 200)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23C99A8E' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-guidance-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Decorative ornament above heading — line · dot · line */
.rbw-guidance-section .rbw-guidance-content::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 26px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Heading — italic Cormorant in forest deep */
.rbw-guidance-section .rbw-guidance-heading,
.rbw-guidance-section h2.rbw-guidance-heading,
div.rbw-guidance-section .rbw-guidance-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 28px !important;
    max-width: 780px !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting paragraph — clean editorial body */
.rbw-guidance-section .rbw-guidance-text,
.rbw-guidance-section .rbw-guidance-content p,
div.rbw-guidance-section .rbw-guidance-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === Entrance animation === */
.rbw-guidance-section .rbw-guidance-content {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-guidance-section {
        padding: 44px 20px !important;
    }

    .rbw-guidance-section::after {
        width: 140px;
        height: 140px;
    }

    .rbw-guidance-section .rbw-guidance-content::before {
        width: 80px;
        margin-bottom: 22px;
    }

    .rbw-guidance-section .rbw-guidance-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
        margin-bottom: 22px !important;
    }

    .rbw-guidance-section .rbw-guidance-text {
        font-size: 16px !important;
        line-height: 1.78 !important;
        text-align: left !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-guidance-section {
        padding: 36px 16px !important;
    }

    .rbw-guidance-section::after {
        display: none;
    }

    .rbw-guidance-section .rbw-guidance-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-guidance-section .rbw-guidance-text {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-guidance-section .rbw-guidance-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW OFFER SECTION — "What We Offer" coaching options grid
   
   Centered header with intro, then a 3×2 grid of offering cards.
   Each card has a brand icon, title (with colon for category :
   detail handled via two-line layout), and description. Slight
   alternate styling from services-section so visually distinct
   if both appear on the same page.
   =========================================================== */

.rbw-offer-section {
    background:
        radial-gradient(ellipse 55% 45% at 92% 6%,
            rgba(201, 154, 142, 0.14), transparent 62%),
        radial-gradient(ellipse 55% 45% at 8% 94%,
            rgba(107, 129, 105, 0.12), transparent 66%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-offer-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Botanical sprig — top left (mirror of services-section which is top-right) */
.rbw-offer-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='scale(-1 1) translate(-200 0)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-offer-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header === */
.rbw-offer-section .rbw-offer-head {
    text-align: center;
    margin-bottom: 40px;
}

/* Ornament above heading */
.rbw-offer-section .rbw-offer-head::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 24px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rbw-offer-section .rbw-offer-heading,
.rbw-offer-section h2.rbw-offer-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 22px !important;
    max-width: 820px !important;
    padding: 0 !important;
    text-align: center !important;
}

.rbw-offer-section .rbw-offer-intro {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.74) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 720px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
}

/* === Offer grid (3 columns × 2 rows on desktop) === */
.rbw-offer-section .rbw-offer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 auto;
    max-width: 1100px;
    list-style: none !important;
    padding: 0 !important;
}

.rbw-offer-section .rbw-offer-grid li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === Offer card (anchor — entire card is clickable) === */
.rbw-offer-section .rbw-offer-card {
    display: block;
    height: 100%;
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF5E9 100%);
    border: 1px solid rgba(201, 154, 142, 0.22);
    border-radius: 14px;
    padding: 0 0 28px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 12px 28px rgba(45, 59, 54, 0.06),
        0 2px 8px rgba(45, 59, 54, 0.03);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none !important;
    color: inherit;
    cursor: pointer;
}

.rbw-offer-section .rbw-offer-card:hover,
.rbw-offer-section .rbw-offer-card:focus,
.rbw-offer-section .rbw-offer-card:focus-visible {
    text-decoration: none !important;
}

.rbw-offer-section .rbw-offer-card:focus-visible {
    outline: 2px solid #B86F4F;
    outline-offset: 3px;
}

/* Subtle clay corner accent — top-right (sits above image) */
.rbw-offer-card::before {
    content: "";
    position: absolute;
    top: 14px;
    right: 14px;
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none'><path d='M 28 14 L 28 0 L 14 0' stroke='%23F5EDDF' stroke-width='1.4' stroke-opacity='0.85' fill='none' stroke-linecap='round'/><circle cx='28' cy='0' r='2.2' fill='%23F5EDDF' fill-opacity='0.9'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    z-index: 3;
}

.rbw-offer-section .rbw-offer-card:hover {
    transform: translateY(-4px);
    border-color: rgba(184, 111, 79, 0.4);
    box-shadow:
        0 24px 48px rgba(45, 59, 54, 0.12),
        0 6px 16px rgba(45, 59, 54, 0.06);
}

/* === Image area (replaces icon) === */
.rbw-offer-section .rbw-offer-media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #E5D5BC;
    margin-bottom: 22px;
}

.rbw-offer-section .rbw-offer-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
                filter 0.9s ease;
    filter: saturate(1.05);
}

/* Warm overlay at bottom of image for premium feel */
.rbw-offer-section .rbw-offer-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 50%,
        rgba(45, 59, 54, 0.32) 100%);
    pointer-events: none;
    transition: opacity 0.5s ease;
}

/* Image zoom on card hover */
.rbw-offer-section .rbw-offer-card:hover .rbw-offer-media img {
    transform: scale(1.06);
    filter: saturate(1.12);
}

/* Offer title */
.rbw-offer-section .rbw-offer-title {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    color: #2D3B36;
    line-height: 1.25;
    letter-spacing: -0.005em;
    margin: 0 0 12px 0;
    padding: 0 28px;
}

/* Offer description */
.rbw-offer-section .rbw-offer-desc {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(45, 59, 54, 0.72);
    margin: 0 0 16px 0;
    padding: 0 28px;
}

/* "Learn more →" indicator — shows the card is clickable */
.rbw-offer-section .rbw-offer-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 28px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #B86F4F;
    line-height: 1.3;
    transition: gap 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.35s ease;
}

.rbw-offer-section .rbw-offer-cta::after {
    content: "→";
    font-size: 14px;
    line-height: 1;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hover behaviour — link slides forward */
.rbw-offer-section .rbw-offer-card:hover .rbw-offer-cta {
    color: #A35E40;
    gap: 10px;
}

.rbw-offer-section .rbw-offer-card:hover .rbw-offer-cta::after {
    transform: translateX(3px);
}

/* === Staggered entrance === */
.rbw-offer-section .rbw-offer-head,
.rbw-offer-section .rbw-offer-card {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-offer-section .rbw-offer-head { animation-delay: 0.1s; }
.rbw-offer-section .rbw-offer-grid li:nth-child(1) .rbw-offer-card { animation-delay: 0.2s; }
.rbw-offer-section .rbw-offer-grid li:nth-child(2) .rbw-offer-card { animation-delay: 0.3s; }
.rbw-offer-section .rbw-offer-grid li:nth-child(3) .rbw-offer-card { animation-delay: 0.4s; }
.rbw-offer-section .rbw-offer-grid li:nth-child(4) .rbw-offer-card { animation-delay: 0.5s; }
.rbw-offer-section .rbw-offer-grid li:nth-child(5) .rbw-offer-card { animation-delay: 0.6s; }
.rbw-offer-section .rbw-offer-grid li:nth-child(6) .rbw-offer-card { animation-delay: 0.7s; }

/* === Tablet (≤1023.5px) — 2 columns === */
@media screen and (max-width: 63.9375em) {

    .rbw-offer-section {
        padding: 44px 20px !important;
    }

    .rbw-offer-section::after {
        width: 140px;
        height: 140px;
    }

    .rbw-offer-section .rbw-offer-head {
        margin-bottom: 32px;
    }

    .rbw-offer-section .rbw-offer-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
    }

    .rbw-offer-section .rbw-offer-intro {
        font-size: 16px !important;
    }

    .rbw-offer-section .rbw-offer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .rbw-offer-section .rbw-offer-card {
        padding: 0 0 24px;
    }

    .rbw-offer-section .rbw-offer-media {
        margin-bottom: 20px;
    }

    .rbw-offer-section .rbw-offer-title {
        font-size: 20px;
        padding: 0 24px;
    }

    .rbw-offer-section .rbw-offer-desc {
        font-size: 14.5px;
        padding: 0 24px;
    }

    .rbw-offer-section .rbw-offer-cta {
        margin: 0 24px;
    }
}

/* === Small mobile (≤640px) — single column === */
@media screen and (max-width: 39.9375em) {

    .rbw-offer-section {
        padding: 36px 16px !important;
    }

    .rbw-offer-section::after {
        display: none;
    }

    .rbw-offer-section .rbw-offer-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-offer-section .rbw-offer-intro {
        font-size: 15px !important;
        text-align: left !important;
    }

    .rbw-offer-section .rbw-offer-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        max-width: 480px;
    }

    .rbw-offer-section .rbw-offer-media {
        aspect-ratio: 16 / 10;
        margin-bottom: 18px;
    }

    .rbw-offer-section .rbw-offer-title {
        padding: 0 22px;
    }

    .rbw-offer-section .rbw-offer-desc {
        padding: 0 22px;
    }

    .rbw-offer-section .rbw-offer-cta {
        margin: 0 22px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-offer-section .rbw-offer-head,
    .rbw-offer-section .rbw-offer-card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
    }
    .rbw-offer-section .rbw-offer-card:hover .rbw-offer-media img {
        transform: none !important;
    }
}

/* ===========================================================
   RBW NEXT CHAPTER SECTION — Centered editorial intro
   
   Refined centered layout matching the brand voice. Slight
   variation in background flow and ornament placement so it
   doesn't visually echo the other centered intro sections if
   they appear nearby on the page.
   =========================================================== */

.rbw-chapter-section {
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%,
            rgba(184, 111, 79, 0.1), transparent 60%),
        radial-gradient(ellipse 50% 40% at 20% 90%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        radial-gradient(ellipse 50% 40% at 80% 90%,
            rgba(201, 154, 142, 0.1), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
    text-align: center;
}

/* Top hairline divider */
.rbw-chapter-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Decorative cairn/dot trio — top center (different ornament from other intro sections) */
.rbw-chapter-section .rbw-chapter-content::before {
    content: "";
    display: block;
    width: 64px;
    height: 12px;
    margin: 0 auto 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 12' fill='none'><circle cx='12' cy='6' r='3' fill='%23B86F4F' fill-opacity='0.6'/><circle cx='32' cy='6' r='4' fill='%23B86F4F'/><circle cx='32' cy='6' r='7' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.32'/><circle cx='52' cy='6' r='3' fill='%23B86F4F' fill-opacity='0.6'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rbw-chapter-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Heading — italic Cormorant in forest deep */
.rbw-chapter-section .rbw-chapter-heading,
.rbw-chapter-section h2.rbw-chapter-heading,
div.rbw-chapter-section .rbw-chapter-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 28px !important;
    max-width: 780px !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting paragraph */
.rbw-chapter-section .rbw-chapter-text,
.rbw-chapter-section .rbw-chapter-content p,
div.rbw-chapter-section .rbw-chapter-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Bottom hairline accent — closes the section visually */
.rbw-chapter-section .rbw-chapter-content::after {
    content: "";
    display: block;
    width: 80px;
    height: 1px;
    margin: 32px auto 0;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.5) 50%,
        transparent);
}

/* === Entrance animation === */
.rbw-chapter-section .rbw-chapter-content {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-chapter-section {
        padding: 44px 20px !important;
    }

    .rbw-chapter-section .rbw-chapter-content::before {
        margin-bottom: 24px;
    }

    .rbw-chapter-section .rbw-chapter-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
        margin-bottom: 22px !important;
    }

    .rbw-chapter-section .rbw-chapter-text {
        font-size: 16px !important;
        line-height: 1.78 !important;
        text-align: left !important;
    }

    .rbw-chapter-section .rbw-chapter-content::after {
        margin-top: 26px;
        width: 64px;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-chapter-section {
        padding: 36px 16px !important;
    }

    .rbw-chapter-section .rbw-chapter-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-chapter-section .rbw-chapter-text {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-chapter-section .rbw-chapter-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW TRANSITION SECTION — Centered editorial intro
   
   For longer narrative content. Refined centered layout with
   subtle background depth and a different ornament arrangement
   (asymmetric corner accents) so it doesn't visually repeat
   other centered intro sections.
   =========================================================== */

.rbw-transition-section {
    background:
        radial-gradient(ellipse 55% 45% at 12% 12%,
            rgba(184, 111, 79, 0.1), transparent 60%),
        radial-gradient(ellipse 55% 45% at 88% 88%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
    text-align: center;
}

/* Top hairline divider */
.rbw-transition-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

/* Asymmetric corner accents — top-left and bottom-right (creates a diagonal flow) */
.rbw-transition-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' fill='none'><path d='M 10 70 L 10 10 L 70 10' stroke='%23B86F4F' stroke-width='1.2' stroke-opacity='0.4' fill='none' stroke-linecap='round'/><circle cx='10' cy='10' r='3' fill='%23B86F4F' fill-opacity='0.55'/></svg>"),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' fill='none'><path d='M 70 10 L 70 70 L 10 70' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.4' fill='none' stroke-linecap='round'/><circle cx='70' cy='70' r='3' fill='%236B8169' fill-opacity='0.55'/></svg>");
    background-position: 28px 28px, calc(100% - 28px) calc(100% - 28px);
    background-repeat: no-repeat, no-repeat;
    background-size: 60px 60px, 60px 60px;
    pointer-events: none;
    z-index: 0;
}

.rbw-transition-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Eyebrow ornament above heading — simple short hairline */
.rbw-transition-section .rbw-transition-content::before {
    content: "";
    display: block;
    width: 56px;
    height: 1px;
    margin: 0 auto 28px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
}

/* Heading — italic Cormorant in forest deep */
.rbw-transition-section .rbw-transition-heading,
.rbw-transition-section h2.rbw-transition-heading,
div.rbw-transition-section .rbw-transition-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 30px !important;
    max-width: 780px !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting paragraph — comfortable reading for longer narrative */
.rbw-transition-section .rbw-transition-text,
.rbw-transition-section .rbw-transition-content p,
div.rbw-transition-section .rbw-transition-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 780px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === Entrance animation === */
.rbw-transition-section .rbw-transition-content {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-transition-section {
        padding: 44px 20px !important;
    }

    .rbw-transition-section::after {
        background-size: 48px 48px, 48px 48px;
        background-position: 20px 20px, calc(100% - 20px) calc(100% - 20px);
    }

    .rbw-transition-section .rbw-transition-content::before {
        margin-bottom: 24px;
        width: 48px;
    }

    .rbw-transition-section .rbw-transition-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
        margin-bottom: 24px !important;
    }

    .rbw-transition-section .rbw-transition-text {
        font-size: 16px !important;
        line-height: 1.78 !important;
        text-align: left !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-transition-section {
        padding: 36px 16px !important;
    }

    .rbw-transition-section::after {
        display: none;
    }

    .rbw-transition-section .rbw-transition-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-transition-section .rbw-transition-text {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-transition-section .rbw-transition-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW PROGRESS SECTION — Benefits list (5 horizontal rows)
   
   H2 + intro, then a single-column list of 5 benefit rows with
   numbered/iconic markers. Each row shows: marker · title ·
   description. Cleaner than a grid for 5 items, reads naturally
   top-to-bottom, premium editorial feel.
   =========================================================== */

.rbw-progress-section {
    background:
        radial-gradient(ellipse 55% 45% at 92% 12%,
            rgba(184, 111, 79, 0.1), transparent 60%),
        radial-gradient(ellipse 55% 45% at 8% 88%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-progress-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

.rbw-progress-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header === */
.rbw-progress-section .rbw-progress-head {
    text-align: center;
    margin-bottom: 44px;
}

.rbw-progress-section .rbw-progress-head::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 24px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rbw-progress-section .rbw-progress-heading,
.rbw-progress-section h2.rbw-progress-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 22px !important;
    max-width: 820px !important;
    padding: 0 !important;
    text-align: center !important;
}

.rbw-progress-section .rbw-progress-intro {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.74) !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 720px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
}

/* === Two-column wrap: image left, list right === */
.rbw-progress-section .rbw-progress-wrap {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 56px;
    align-items: start;
    margin: 0 auto;
    max-width: 1100px;
}

/* Image column — sticky on tall desktops for elegant scroll */
.rbw-progress-section .rbw-progress-media {
    position: sticky;
    top: 100px;
    align-self: start;
}

.rbw-progress-section .rbw-progress-image-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 36px 72px rgba(20, 30, 26, 0.2),
        0 12px 24px rgba(20, 30, 26, 0.1);
}

.rbw-progress-section .rbw-progress-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    filter: saturate(1.06);
}

.rbw-progress-section .rbw-progress-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 50%,
        rgba(45, 59, 54, 0.28) 100%);
    pointer-events: none;
}

.rbw-progress-section .rbw-progress-media:hover .rbw-progress-image-wrap img {
    transform: scale(1.04);
}

/* Decorative clay corner accent — top-left of image */
.rbw-progress-section .rbw-progress-media::before {
    content: "";
    position: absolute;
    top: -14px;
    left: -14px;
    width: 72px;
    height: 72px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72' fill='none'><path d='M 6 36 L 6 6 L 36 6' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.55' fill='none' stroke-linecap='round'/><circle cx='6' cy='6' r='3' fill='%23B86F4F' fill-opacity='0.7'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 3;
}

/* === Benefits list === */
.rbw-progress-section .rbw-progress-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rbw-progress-section .rbw-progress-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === Benefit row — clean, no card === */
.rbw-progress-section .rbw-progress-item {
    display: block;
    padding: 24px 0;
    position: relative;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Subtle hairline divider between items */
.rbw-progress-section .rbw-progress-list li + li .rbw-progress-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.22) 20%,
        rgba(184, 111, 79, 0.22) 80%,
        transparent);
}

.rbw-progress-section .rbw-progress-item:hover {
    transform: translateX(4px);
}

/* === Editorial chapter-number marker (01, 02...) — minimal, refined === */
.rbw-progress-section .rbw-progress-mark {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #B86F4F;
    margin-bottom: 12px;
    line-height: 1;
    text-transform: none;
    transition: gap 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.5s ease;
}

/* Thin clay hairline that extends after the number */
.rbw-progress-section .rbw-progress-mark::after {
    content: "";
    display: inline-block;
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F 0%, rgba(184, 111, 79, 0.2) 100%);
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.5s ease;
}

/* Hover — hairline extends gracefully */
.rbw-progress-section .rbw-progress-item:hover .rbw-progress-mark {
    gap: 18px;
    color: #A35E40;
}

.rbw-progress-section .rbw-progress-item:hover .rbw-progress-mark::after {
    width: 52px;
}

/* Text block */
.rbw-progress-section .rbw-progress-text {
    min-width: 0;
}

.rbw-progress-section .rbw-progress-title {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    color: #2D3B36;
    line-height: 1.2;
    letter-spacing: -0.005em;
    margin: 0 0 8px 0;
}

.rbw-progress-section .rbw-progress-desc {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(45, 59, 54, 0.74);
    margin: 0;
}

/* === Staggered entrance === */
.rbw-progress-section .rbw-progress-head,
.rbw-progress-section .rbw-progress-item {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-progress-section .rbw-progress-head { animation-delay: 0.1s; }
.rbw-progress-section .rbw-progress-list li:nth-child(1) .rbw-progress-item { animation-delay: 0.2s; }
.rbw-progress-section .rbw-progress-list li:nth-child(2) .rbw-progress-item { animation-delay: 0.3s; }
.rbw-progress-section .rbw-progress-list li:nth-child(3) .rbw-progress-item { animation-delay: 0.4s; }
.rbw-progress-section .rbw-progress-list li:nth-child(4) .rbw-progress-item { animation-delay: 0.5s; }
.rbw-progress-section .rbw-progress-list li:nth-child(5) .rbw-progress-item { animation-delay: 0.6s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-progress-section {
        padding: 44px 20px !important;
    }

    .rbw-progress-section .rbw-progress-head {
        margin-bottom: 36px;
    }

    .rbw-progress-section .rbw-progress-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
    }

    .rbw-progress-section .rbw-progress-intro {
        font-size: 16px !important;
    }

    /* Stack on tablet: image on top centered, list below */
    .rbw-progress-section .rbw-progress-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .rbw-progress-section .rbw-progress-media {
        position: static;
        max-width: 460px;
        margin: 0 auto;
    }

    .rbw-progress-section .rbw-progress-image-wrap {
        aspect-ratio: 16 / 10;
    }

    .rbw-progress-section .rbw-progress-item {
        padding: 22px 0;
    }

    .rbw-progress-section .rbw-progress-title {
        font-size: 20px;
    }

    .rbw-progress-section .rbw-progress-desc {
        font-size: 15px;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-progress-section {
        padding: 36px 16px !important;
    }

    .rbw-progress-section .rbw-progress-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-progress-section .rbw-progress-intro {
        font-size: 15px !important;
        text-align: left !important;
    }

    .rbw-progress-section .rbw-progress-wrap {
        gap: 32px;
    }

    .rbw-progress-section .rbw-progress-media {
        max-width: 100%;
    }

    .rbw-progress-section .rbw-progress-image-wrap {
        aspect-ratio: 4 / 3;
        border-radius: 12px;
    }

    .rbw-progress-section .rbw-progress-media::before {
        top: -10px;
        left: -10px;
        width: 56px;
        height: 56px;
    }

    .rbw-progress-section .rbw-progress-list {
        gap: 0;
    }

    .rbw-progress-section .rbw-progress-item {
        padding: 18px 0;
    }

    .rbw-progress-section .rbw-progress-mark {
        font-size: 13px;
        gap: 12px;
        margin-bottom: 10px;
    }

    .rbw-progress-section .rbw-progress-mark::after {
        width: 28px;
    }

    .rbw-progress-section .rbw-progress-item:hover .rbw-progress-mark {
        gap: 12px;
    }

    .rbw-progress-section .rbw-progress-item:hover .rbw-progress-mark::after {
        width: 28px;
    }

    .rbw-progress-section .rbw-progress-title {
        font-size: 18px;
        margin-bottom: 6px;
    }

    .rbw-progress-section .rbw-progress-desc {
        font-size: 14.5px;
        line-height: 1.65;
    }

    .rbw-progress-section .rbw-progress-item:hover {
        transform: none;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-progress-section .rbw-progress-head,
    .rbw-progress-section .rbw-progress-item {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
    }
    .rbw-progress-section .rbw-progress-mark,
    .rbw-progress-section .rbw-progress-mark::after {
        transition: none !important;
    }
}

/* ===========================================================
   RBW STEPS SECTIONS — Compact coaching journey blocks
   
   Shared styles for 5 alternating sections of the coaching
   process. Two layouts: split (image + content) and centered.
   Variant classes control image side and accent treatment.
   Tight padding, refined checklist markers, no card boxes.
   =========================================================== */

.rbw-step-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Background variants — alternating tones for rhythm */
.rbw-step-section.tone-a {
    background:
        radial-gradient(ellipse 55% 45% at 12% 12%,
            rgba(184, 111, 79, 0.1), transparent 60%),
        radial-gradient(ellipse 55% 45% at 88% 88%,
            rgba(107, 129, 105, 0.1), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
}

.rbw-step-section.tone-b {
    background:
        radial-gradient(ellipse 55% 45% at 88% 12%,
            rgba(201, 154, 142, 0.12), transparent 60%),
        radial-gradient(ellipse 55% 45% at 12% 88%,
            rgba(107, 129, 105, 0.1), transparent 65%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
}

/* Top hairline divider */
.rbw-step-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

.rbw-step-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.rbw-step-section .grid-x {
    align-items: center;
}

/* === Content column === */
.rbw-step-section .rbw-step-content {
    padding: 0 !important;
}

.rbw-step-section.split-left .rbw-step-content {
    padding-left: 32px !important;
}

.rbw-step-section.split-right .rbw-step-content {
    padding-right: 32px !important;
}

.rbw-step-section.centered {
    text-align: center;
}

/* Heading */
.rbw-step-section .rbw-step-heading,
.rbw-step-section h2.rbw-step-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(28px, 3.6vw, 42px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.rbw-step-section.centered .rbw-step-heading {
    text-align: center !important;
    max-width: 780px !important;
    margin: 0 auto 18px !important;
}

/* Paragraphs */
.rbw-step-section .rbw-step-text,
.rbw-step-section .rbw-step-content p {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.76) !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    max-width: 600px !important;
}

.rbw-step-section.centered .rbw-step-text,
.rbw-step-section.centered .rbw-step-content p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 740px !important;
}

.rbw-step-section .rbw-step-text:last-of-type,
.rbw-step-section .rbw-step-content p:last-of-type {
    margin-bottom: 22px !important;
}

/* === Checklist (split layout) === */
.rbw-step-section .rbw-step-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rbw-step-section .rbw-step-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 0 44px !important;
    position: relative;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.55;
    color: rgba(45, 59, 54, 0.82);
}

/* Animated horizontal line marker before each item */
.rbw-step-section .rbw-step-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 28px;
    height: 1.5px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 1px;
    transform-origin: left center;
    transform: scaleX(0);
    animation: rbwLineDraw 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Staggered draw-in animation for each list item line */
.rbw-step-section .rbw-step-list li:nth-child(1)::before { animation-delay: 0.3s; }
.rbw-step-section .rbw-step-list li:nth-child(2)::before { animation-delay: 0.4s; }
.rbw-step-section .rbw-step-list li:nth-child(3)::before { animation-delay: 0.5s; }
.rbw-step-section .rbw-step-list li:nth-child(4)::before { animation-delay: 0.6s; }
.rbw-step-section .rbw-step-list li:nth-child(5)::before { animation-delay: 0.7s; }
.rbw-step-section .rbw-step-list li:nth-child(6)::before { animation-delay: 0.8s; }

@keyframes rbwLineDraw {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

/* Subtle hover — line extends slightly */
.rbw-step-section .rbw-step-list li::after {
    content: "";
    position: absolute;
    left: 28px;
    top: 11px;
    width: 0;
    height: 1.5px;
    background: linear-gradient(90deg, #C99A8E 0%, rgba(201, 154, 142, 0) 100%);
    border-radius: 1px;
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-step-section .rbw-step-list li:hover::after {
    width: 10px;
}

/* === Centered milestone row (for centered variant — 5 items inline) === */
.rbw-step-section.centered .rbw-step-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 22px;
    max-width: 880px;
    margin: 6px auto 0 !important;
}

.rbw-step-section.centered .rbw-step-list li {
    padding: 10px 22px 10px 40px !important;
    background: rgba(255, 252, 246, 0.65);
    border: 1px solid rgba(184, 111, 79, 0.18);
    border-radius: 100px;
    font-size: 14px;
    color: rgba(45, 59, 54, 0.84);
    transition: background 0.4s ease, border-color 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-step-section.centered .rbw-step-list li:hover {
    background: rgba(255, 252, 246, 0.95);
    border-color: rgba(184, 111, 79, 0.45);
    transform: translateY(-2px);
}

.rbw-step-section.centered .rbw-step-list li::before {
    left: 16px;
    top: 18px;
    width: 14px;
    height: 1.5px;
}

/* Disable hover-extend line on centered pills (they have their own hover) */
.rbw-step-section.centered .rbw-step-list li::after {
    display: none;
}

/* === Image column (split layouts) === */
.rbw-step-section .rbw-step-media {
    position: relative;
}

.rbw-step-section .rbw-step-image-wrap {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 28px 56px rgba(20, 30, 26, 0.18),
        0 10px 20px rgba(20, 30, 26, 0.08);
}

.rbw-step-section .rbw-step-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    filter: saturate(1.05);
}

.rbw-step-section .rbw-step-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 55%,
        rgba(45, 59, 54, 0.24) 100%);
    pointer-events: none;
}

.rbw-step-section .rbw-step-media:hover .rbw-step-image-wrap img {
    transform: scale(1.04);
}

/* Decorative clay corner accent */
.rbw-step-section.split-left .rbw-step-media::before,
.rbw-step-section.split-right .rbw-step-media::before {
    content: "";
    position: absolute;
    top: -12px;
    width: 58px;
    height: 58px;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 3;
}

.rbw-step-section.split-left .rbw-step-media::before {
    right: -12px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 58' fill='none'><path d='M 52 29 L 52 6 L 29 6' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.6' fill='none' stroke-linecap='round'/><circle cx='52' cy='6' r='2.6' fill='%23B86F4F' fill-opacity='0.75'/></svg>");
}

.rbw-step-section.split-right .rbw-step-media::before {
    left: -12px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 58' fill='none'><path d='M 6 29 L 6 6 L 29 6' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.6' fill='none' stroke-linecap='round'/><circle cx='6' cy='6' r='2.6' fill='%23B86F4F' fill-opacity='0.75'/></svg>");
}

/* === Entrance animation === */
.rbw-step-section .rbw-step-content,
.rbw-step-section .rbw-step-media {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-step-section.split-left .rbw-step-media,
.rbw-step-section.split-right .rbw-step-content {
    animation-delay: 0.15s;
}

.rbw-step-section.split-left .rbw-step-content,
.rbw-step-section.split-right .rbw-step-media {
    animation-delay: 0.3s;
}

.rbw-step-section.centered .rbw-step-content {
    animation-delay: 0.15s;
}

/* === Tablet (≤1023.5px) — stack split layouts, image on top === */
@media screen and (max-width: 63.9375em) {

    .rbw-step-section {
        padding: 40px 20px !important;
    }

    .rbw-step-section.split-left .rbw-step-content,
    .rbw-step-section.split-right .rbw-step-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rbw-step-section .rbw-step-heading {
        font-size: clamp(24px, 5vw, 34px) !important;
    }

    .rbw-step-section .rbw-step-text,
    .rbw-step-section .rbw-step-content p {
        font-size: 15.5px !important;
        line-height: 1.74 !important;
    }

    .rbw-step-section .rbw-step-media {
        max-width: 460px;
        margin: 0 auto 32px;
        order: -1;
    }

    .rbw-step-section .rbw-step-image-wrap {
        aspect-ratio: 16 / 11;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-step-section {
        padding: 36px 16px !important;
    }

    .rbw-step-section.split-left .rbw-step-media::before,
    .rbw-step-section.split-right .rbw-step-media::before {
        width: 46px;
        height: 46px;
        top: -10px;
    }

    .rbw-step-section.split-left .rbw-step-media::before { right: -10px; }
    .rbw-step-section.split-right .rbw-step-media::before { left: -10px; }

    .rbw-step-section .rbw-step-image-wrap {
        aspect-ratio: 4 / 3;
    }

    .rbw-step-section .rbw-step-heading {
        font-size: clamp(22px, 6vw, 28px) !important;
    }

    .rbw-step-section .rbw-step-list li {
        font-size: 15px;
    }

    .rbw-step-section.centered .rbw-step-list {
        gap: 10px 12px;
    }

    .rbw-step-section.centered .rbw-step-list li {
        font-size: 13.5px;
        padding: 8px 18px 8px 34px !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-step-section .rbw-step-content,
    .rbw-step-section .rbw-step-media,
    .rbw-step-section .rbw-step-image-wrap img,
    .rbw-step-section.centered .rbw-step-list li {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .rbw-step-section .rbw-step-list li::before {
        animation: none !important;
        transform: scaleX(1) !important;
    }
}

/* ===========================================================
   RBW FAQ SECTION — Pure CSS accordion (checkbox hack)
   
   Centered editorial header + expandable Q&A list. Click on
   a question to expand its answer with smooth height + opacity
   transition. No JS required.
   =========================================================== */

.rbw-faq-section {
    background:
        radial-gradient(ellipse 50% 40% at 50% 0%,
            rgba(201, 154, 142, 0.12), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline divider */
.rbw-faq-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

.rbw-faq-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header === */
.rbw-faq-section .rbw-faq-head {
    text-align: center;
    margin-bottom: 40px;
}

.rbw-faq-section .rbw-faq-head::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 24px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.rbw-faq-section .rbw-faq-heading,
.rbw-faq-section h2.rbw-faq-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.4vw, 50px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto !important;
    max-width: 720px !important;
    padding: 0 !important;
    text-align: center !important;
}

/* === Accordion list === */
.rbw-faq-section .rbw-faq-list {
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 820px;
}

.rbw-faq-section .rbw-faq-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(184, 111, 79, 0.18);
}

.rbw-faq-section .rbw-faq-list li:first-child {
    border-top: 1px solid rgba(184, 111, 79, 0.18);
}

/* Hidden checkbox toggle */
.rbw-faq-section .rbw-faq-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

/* The question — clickable label */
.rbw-faq-section .rbw-faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 4px;
    cursor: pointer;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 500;
    color: #2D3B36;
    line-height: 1.3;
    letter-spacing: -0.005em;
    user-select: none;
    transition: color 0.4s ease, padding-left 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-faq-section .rbw-faq-q:hover {
    color: #B86F4F;
    padding-left: 8px;
}

/* Toggle icon (plus / minus via pseudo-elements) */
.rbw-faq-section .rbw-faq-icon {
    flex-shrink: 0;
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(184, 111, 79, 0.4);
    background: transparent;
    transition: background 0.4s ease,
                border-color 0.4s ease,
                transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-faq-section .rbw-faq-icon::before,
.rbw-faq-section .rbw-faq-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #B86F4F;
    border-radius: 1px;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease;
}

.rbw-faq-section .rbw-faq-icon::before {
    width: 12px;
    height: 1.5px;
    transform: translate(-50%, -50%);
}

.rbw-faq-section .rbw-faq-icon::after {
    width: 1.5px;
    height: 12px;
    transform: translate(-50%, -50%);
}

/* Answer — collapsed by default using grid-template-rows trick */
.rbw-faq-section .rbw-faq-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.4s ease;
    opacity: 0;
}

.rbw-faq-section .rbw-faq-a > div {
    overflow: hidden;
    min-height: 0;
}

.rbw-faq-section .rbw-faq-a p {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.76) !important;
    margin: 0 0 22px 0 !important;
    padding: 0 4px !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    max-width: 720px !important;
}

/* === Expanded state when checkbox is checked === */
.rbw-faq-section .rbw-faq-toggle:checked ~ .rbw-faq-a {
    grid-template-rows: 1fr;
    opacity: 1;
}

.rbw-faq-section .rbw-faq-toggle:checked ~ .rbw-faq-q {
    color: #B86F4F;
}

.rbw-faq-section .rbw-faq-toggle:checked ~ .rbw-faq-q .rbw-faq-icon {
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    border-color: transparent;
    transform: rotate(180deg);
}

.rbw-faq-section .rbw-faq-toggle:checked ~ .rbw-faq-q .rbw-faq-icon::before,
.rbw-faq-section .rbw-faq-toggle:checked ~ .rbw-faq-q .rbw-faq-icon::after {
    background: #F5EDDF;
}

/* Vertical bar rotates to horizontal — becomes a minus */
.rbw-faq-section .rbw-faq-toggle:checked ~ .rbw-faq-q .rbw-faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* Keyboard focus visibility */
.rbw-faq-section .rbw-faq-toggle:focus-visible ~ .rbw-faq-q {
    outline: 2px solid #C99A8E;
    outline-offset: 4px;
    border-radius: 4px;
}

/* === Entrance animation === */
.rbw-faq-section .rbw-faq-head,
.rbw-faq-section .rbw-faq-list {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-faq-section .rbw-faq-head { animation-delay: 0.1s; }
.rbw-faq-section .rbw-faq-list { animation-delay: 0.25s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-faq-section {
        padding: 44px 20px !important;
    }

    .rbw-faq-section .rbw-faq-heading {
        font-size: clamp(26px, 5vw, 38px) !important;
    }

    .rbw-faq-section .rbw-faq-q {
        font-size: 17px;
        padding: 20px 4px;
    }

    .rbw-faq-section .rbw-faq-a p {
        font-size: 15.5px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-faq-section {
        padding: 36px 16px !important;
    }

    .rbw-faq-section .rbw-faq-heading {
        font-size: clamp(22px, 6vw, 30px) !important;
    }

    .rbw-faq-section .rbw-faq-q {
        font-size: 16px;
        padding: 18px 4px;
        gap: 16px;
    }

    .rbw-faq-section .rbw-faq-icon {
        width: 28px;
        height: 28px;
    }

    .rbw-faq-section .rbw-faq-icon::before {
        width: 10px;
    }

    .rbw-faq-section .rbw-faq-icon::after {
        height: 10px;
    }

    .rbw-faq-section .rbw-faq-a p {
        font-size: 15px !important;
        line-height: 1.72 !important;
        margin-bottom: 18px !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-faq-section .rbw-faq-head,
    .rbw-faq-section .rbw-faq-list,
    .rbw-faq-section .rbw-faq-q,
    .rbw-faq-section .rbw-faq-icon,
    .rbw-faq-section .rbw-faq-a {
        animation: none !important;
        opacity: 1 !important;
        transition: none !important;
    }
}

/* ===========================================================
   RBW FORWARD CTA SECTION — Dark closing section
   
   Page-closing call-to-action with dark forest-deep background,
   centered editorial layout, clay accents, prominent CTA button.
   Designed to capture conversion intent at page end.
   =========================================================== */

.rbw-forward-section {
    background:
        radial-gradient(ellipse 60% 50% at 18% 18%,
            rgba(184, 111, 79, 0.18), transparent 60%),
        radial-gradient(ellipse 60% 50% at 82% 82%,
            rgba(107, 129, 105, 0.14), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 50%,
            rgba(201, 154, 142, 0.06), transparent 70%),
        linear-gradient(160deg, #2D3B36 0%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 64px 20px !important;
    text-align: center;
}

/* Top hairline divider — clay gradient (more prominent on dark) */
.rbw-forward-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.65) 50%,
        transparent);
    z-index: 2;
}

/* Decorative botanical sprig — top right corner */
.rbw-forward-section::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.32' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23B86F4F' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-forward-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Decorative ornament above heading — line · dot · line in clay */
.rbw-forward-section .rbw-forward-content::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 26px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23C99A8E' stroke-width='1' stroke-opacity='0.85'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23C99A8E' stroke-width='0.7' stroke-opacity='0.45'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23C99A8E' stroke-width='1' stroke-opacity='0.85'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Heading — italic Cormorant in cream */
.rbw-forward-section .rbw-forward-heading,
.rbw-forward-section h2.rbw-forward-heading,
div.rbw-forward-section .rbw-forward-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.6vw, 54px) !important;
    font-weight: 500 !important;
    color: #F5EDDF !important;
    line-height: 1.12 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 28px !important;
    max-width: 820px !important;
    padding: 0 !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting paragraphs — cream tinted */
.rbw-forward-section .rbw-forward-text,
.rbw-forward-section .rbw-forward-content p,
div.rbw-forward-section .rbw-forward-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(245, 237, 223, 0.82) !important;
    text-align: center !important;
    margin: 0 auto 18px !important;
    max-width: 760px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.rbw-forward-section .rbw-forward-content p:last-of-type {
    margin-bottom: 36px !important;
    color: rgba(201, 154, 142, 0.95) !important;
    font-style: italic;
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-size: 19px !important;
    line-height: 1.6 !important;
    max-width: 680px !important;
}

/* CTA button — clay gradient, prominent */
.rbw-forward-section .rbw-forward-action {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.rbw-forward-section .rbw-forward-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    color: #F5EDDF !important;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 36px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    box-shadow:
        0 14px 32px rgba(184, 111, 79, 0.32),
        0 4px 12px rgba(184, 111, 79, 0.2);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s ease,
                background 0.4s ease,
                gap 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-forward-section .rbw-forward-button::after {
    content: "→";
    font-size: 16px;
    line-height: 1;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-forward-section .rbw-forward-button:hover,
.rbw-forward-section .rbw-forward-button:focus {
    background: linear-gradient(135deg, #A35E40 0%, #B88579 100%);
    transform: translateY(-2px);
    gap: 16px;
    box-shadow:
        0 20px 44px rgba(184, 111, 79, 0.42),
        0 6px 16px rgba(184, 111, 79, 0.28);
    color: #F5EDDF !important;
    text-decoration: none !important;
}

.rbw-forward-section .rbw-forward-button:hover::after {
    transform: translateX(3px);
}

.rbw-forward-section .rbw-forward-button:focus-visible {
    outline: 2px solid #F5EDDF;
    outline-offset: 4px;
}

/* === Entrance animation === */
.rbw-forward-section .rbw-forward-content {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}

.rbw-forward-section .rbw-forward-action {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-forward-section {
        padding: 56px 20px !important;
    }

    .rbw-forward-section::after {
        width: 150px;
        height: 150px;
    }

    .rbw-forward-section .rbw-forward-heading {
        font-size: clamp(28px, 5vw, 40px) !important;
        margin-bottom: 22px !important;
    }

    .rbw-forward-section .rbw-forward-text {
        font-size: 16px !important;
        line-height: 1.78 !important;
    }

    .rbw-forward-section .rbw-forward-content p:last-of-type {
        font-size: 17px !important;
        margin-bottom: 32px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-forward-section {
        padding: 48px 18px !important;
    }

    .rbw-forward-section::after {
        display: none;
    }

    .rbw-forward-section .rbw-forward-heading {
        font-size: clamp(24px, 6.5vw, 32px) !important;
    }

    .rbw-forward-section .rbw-forward-text {
        font-size: 15.5px !important;
        line-height: 1.72 !important;
        text-align: left !important;
    }

    .rbw-forward-section .rbw-forward-content p:last-of-type {
        font-size: 16px !important;
        text-align: center !important;
        margin-bottom: 28px !important;
    }

    .rbw-forward-section .rbw-forward-button {
        font-size: 11.5px;
        padding: 14px 28px;
        letter-spacing: 0.16em;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-forward-section .rbw-forward-content,
    .rbw-forward-section .rbw-forward-action,
    .rbw-forward-section .rbw-forward-button {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: background 0.2s ease !important;
    }
}

/* ===========================================================
   RBW CONTACT HERO — Solid sage banner section
   
   Inner page hero with hard sage green background, cream
   editorial typography, clay accents. No image, no gradient
   complexity — pure brand statement.
   =========================================================== */

.rbw-contact-hero {
    background: #6B8169 !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
    text-align: left;
}

/* Subtle inner texture — very faint clay glow top-left + dusty rose glow bottom-right */
.rbw-contact-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 50% 40% at 12% 18%,
            rgba(184, 111, 79, 0.18), transparent 60%),
        radial-gradient(ellipse 50% 40% at 88% 82%,
            rgba(201, 154, 142, 0.14), transparent 65%);
    pointer-events: none;
    z-index: 0;
}

/* Decorative botanical sprig — top right, cream-tinted for sage bg */
.rbw-contact-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 220px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%23F5EDDF' stroke-width='1.2' stroke-opacity='0.32' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%23F5EDDF' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%23F5EDDF' fill-opacity='0.18'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%23F5EDDF' fill-opacity='0.18'/><path d='M148 52 Q 136 50, 126 42 Q 138 38, 148 52 Z' fill='%23B86F4F' fill-opacity='0.3'/><circle cx='130' cy='110' r='3' fill='%23B86F4F' fill-opacity='0.55'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-contact-hero .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Eyebrow label — small clay-tinted text above heading */
.rbw-contact-hero .rbw-contact-hero-eyebrow {
    display: inline-block;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    margin: 0 0 28px 0;
    padding-left: 52px;
    background-image: linear-gradient(to right, #C99A8E, #C99A8E);
    background-repeat: no-repeat;
    background-size: 36px 1px;
    background-position: 0 50%;
}

/* H1 — large italic Cormorant in cream */
.rbw-contact-hero .rbw-contact-hero-heading,
.rbw-contact-hero h1.rbw-contact-hero-heading,
div.rbw-contact-hero .rbw-contact-hero-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 400 !important;
    color: #F5EDDF !important;
    line-height: 1.1 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 18px 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Supporting paragraph */
.rbw-contact-hero .rbw-contact-hero-text,
.rbw-contact-hero p,
div.rbw-contact-hero .rbw-contact-hero-text {
    color: rgba(245, 237, 223, 0.82) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 0 14px 0 !important;
    font-weight: 400 !important;
    text-align: left !important;
    max-width: 760px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === Entrance animation === */
.rbw-contact-hero .rbw-contact-hero-eyebrow,
.rbw-contact-hero .rbw-contact-hero-heading,
.rbw-contact-hero .rbw-contact-hero-text {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-contact-hero .rbw-contact-hero-eyebrow { animation-delay: 0.1s; }
.rbw-contact-hero .rbw-contact-hero-heading { animation-delay: 0.25s; }
.rbw-contact-hero .rbw-contact-hero-text    { animation-delay: 0.4s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-contact-hero {
        padding: 44px 20px !important;
    }

    .rbw-contact-hero::after {
        width: 170px;
        height: 170px;
    }

    .rbw-contact-hero .rbw-contact-hero-heading {
        font-size: clamp(26px, 4.2vw, 36px) !important;
        margin-bottom: 16px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-contact-hero {
        padding: 36px 16px !important;
    }

    .rbw-contact-hero::after {
        display: none;
    }

    .rbw-contact-hero .rbw-contact-hero-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        padding-left: 40px;
        background-size: 28px 1px;
        margin-bottom: 22px;
    }

    .rbw-contact-hero .rbw-contact-hero-heading {
        font-size: clamp(22px, 6.5vw, 30px) !important;
    }

    .rbw-contact-hero .rbw-contact-hero-text {
        text-align: left !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-contact-hero .rbw-contact-hero-eyebrow,
    .rbw-contact-hero .rbw-contact-hero-heading,
    .rbw-contact-hero .rbw-contact-hero-text {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================

/* ===========================================================
   RBW CONTACT INFO SECTION — WOW Edition
   
   Premium 2-column editorial layout:
   - Left: dark sage hero card with intro + decorative quote +
     stylized location map preview
   - Right: vertical stack of 3 contact methods as clickable
     anchors with animated icons and arrow slides
   - Multiple decorative layers, animated entrances, micro-
     interactions throughout
   =========================================================== */

.rbw-contactinfo-section {
    background:
        radial-gradient(ellipse 50% 40% at 50% 0%,
            rgba(201, 154, 142, 0.12), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
}

/* Top hairline divider */
.rbw-contactinfo-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.5) 50%,
        transparent);
    z-index: 2;
}

/* Botanical sprig — top right */
.rbw-contactinfo-section::after {
    content: "";
    position: absolute;
    top: 20px;
    right: 20px;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.32' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.18'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-contactinfo-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Two-column wrap === */
.rbw-contactinfo-section .rbw-ci-wrap {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: 40px;
    align-items: stretch;
    margin: 0 auto;
    max-width: 1120px;
}

/* === LEFT: Sage hero card === */
.rbw-contactinfo-section .rbw-ci-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: 20px;
    padding: 44px 40px 40px;
    background:
        radial-gradient(ellipse 60% 50% at 88% 8%,
            rgba(184, 111, 79, 0.25), transparent 60%),
        radial-gradient(ellipse 50% 40% at 12% 92%,
            rgba(245, 237, 223, 0.08), transparent 65%),
        linear-gradient(160deg, #6B8169 0%, #5d7259 100%);
    color: #F5EDDF;
    box-shadow:
        0 30px 60px rgba(45, 59, 54, 0.22),
        0 12px 24px rgba(45, 59, 54, 0.1);
}

/* Decorative location pin in the hero — soft cream tint */
.rbw-contactinfo-section .rbw-ci-hero::before {
    content: "";
    position: absolute;
    top: 26px;
    right: 28px;
    width: 110px;
    height: 110px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none'><path d='M50 12 C 35 12, 22 24, 22 40 C 22 60, 50 88, 50 88 C 50 88, 78 60, 78 40 C 78 24, 65 12, 50 12 Z' stroke='%23F5EDDF' stroke-width='1.4' stroke-opacity='0.32' fill='%23F5EDDF' fill-opacity='0.06'/><circle cx='50' cy='40' r='9' stroke='%23F5EDDF' stroke-width='1.4' stroke-opacity='0.42' fill='none'/><circle cx='50' cy='40' r='3.2' fill='%23C99A8E' fill-opacity='0.85'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

/* Cream botanical sprig bottom-left of hero */
.rbw-contactinfo-section .rbw-ci-hero::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: -10px;
    width: 130px;
    height: 130px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='matrix(-1 0 0 -1 200 200)'><path d='M170 20 Q 140 60, 130 110' stroke='%23F5EDDF' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%23F5EDDF' fill-opacity='0.18'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%23F5EDDF' fill-opacity='0.18'/><circle cx='130' cy='110' r='3' fill='%23C99A8E' fill-opacity='0.6'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-contactinfo-section .rbw-ci-hero > * {
    position: relative;
    z-index: 1;
}

/* Hero eyebrow */
.rbw-contactinfo-section .rbw-ci-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    margin-bottom: 22px;
}

.rbw-contactinfo-section .rbw-ci-hero-eyebrow::before {
    content: "";
    width: 32px;
    height: 1px;
    background: linear-gradient(90deg, #C99A8E 0%, rgba(201, 154, 142, 0.3) 100%);
}

/* Hero heading */
.rbw-contactinfo-section .rbw-ci-hero-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: clamp(28px, 3.4vw, 38px);
    font-weight: 400;
    color: #F5EDDF;
    line-height: 1.12;
    letter-spacing: -0.012em;
    margin: 0 0 18px 0;
}

/* Hero paragraph */
.rbw-contactinfo-section .rbw-ci-hero-text {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(245, 237, 223, 0.86);
    margin: 0 0 28px 0;
}


/* === RIGHT: Contact cards stack === */
.rbw-contactinfo-section .rbw-ci-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rbw-contactinfo-section .rbw-ci-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Contact card (anchor) */
.rbw-contactinfo-section .rbw-ci-card {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 24px;
    align-items: center;
    background: #FFFCF6;
    border: 1px solid rgba(201, 154, 142, 0.18);
    border-radius: 16px;
    padding: 24px 28px;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit;
    box-shadow:
        0 1px 2px rgba(45, 59, 54, 0.04),
        0 4px 16px rgba(45, 59, 54, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.5s ease,
                background 0.5s ease;
}

/* Subtle gradient sheen — top-left to bottom-right */
.rbw-contactinfo-section .rbw-ci-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
        rgba(184, 111, 79, 0.04) 0%,
        transparent 40%,
        transparent 60%,
        rgba(107, 129, 105, 0.04) 100%);
    border-radius: 16px;
    pointer-events: none;
    opacity: 0.7;
    transition: opacity 0.5s ease;
}

/* Right-side reveal accent — hidden by default */
.rbw-contactinfo-section .rbw-ci-card::after {
    content: "";
    position: absolute;
    top: 24px;
    bottom: 24px;
    right: 0;
    width: 2px;
    background: linear-gradient(180deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 2px 0 0 2px;
    transform: scaleY(0);
    transform-origin: center;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-contactinfo-section .rbw-ci-card:hover,
.rbw-contactinfo-section .rbw-ci-card:focus {
    transform: translateY(-3px);
    border-color: rgba(184, 111, 79, 0.35);
    background: #FFFEFA;
    box-shadow:
        0 1px 2px rgba(45, 59, 54, 0.04),
        0 16px 40px rgba(45, 59, 54, 0.1),
        0 6px 16px rgba(184, 111, 79, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 1);
    text-decoration: none !important;
    color: inherit;
}

.rbw-contactinfo-section .rbw-ci-card:hover::before,
.rbw-contactinfo-section .rbw-ci-card:focus::before {
    opacity: 1;
}

.rbw-contactinfo-section .rbw-ci-card:hover::after,
.rbw-contactinfo-section .rbw-ci-card:focus::after {
    transform: scaleY(1);
}

.rbw-contactinfo-section .rbw-ci-card:focus-visible {
    outline: 2px solid #B86F4F;
    outline-offset: 3px;
}

/* Icon — refined sage-tinted rounded square with clay icon */
.rbw-contactinfo-section .rbw-ci-icon {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background: linear-gradient(135deg,
        rgba(107, 129, 105, 0.14) 0%,
        rgba(107, 129, 105, 0.06) 100%);
    border: 1px solid rgba(107, 129, 105, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: background 0.5s ease, border-color 0.5s ease;
}

/* Clay fill that radials in on hover */
.rbw-contactinfo-section .rbw-ci-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 14px;
    transform: scale(0);
    opacity: 0;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.5s ease;
    z-index: -1;
}

.rbw-contactinfo-section .rbw-ci-card:hover .rbw-ci-icon,
.rbw-contactinfo-section .rbw-ci-card:focus .rbw-ci-icon {
    border-color: transparent;
}

.rbw-contactinfo-section .rbw-ci-card:hover .rbw-ci-icon::before,
.rbw-contactinfo-section .rbw-ci-card:focus .rbw-ci-icon::before {
    transform: scale(1);
    opacity: 1;
}

.rbw-contactinfo-section .rbw-ci-icon svg {
    width: 24px;
    height: 24px;
    color: #6B8169;
    position: relative;
    z-index: 1;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
                color 0.45s ease;
}

.rbw-contactinfo-section .rbw-ci-card:hover .rbw-ci-icon svg,
.rbw-contactinfo-section .rbw-ci-card:focus .rbw-ci-icon svg {
    color: #F5EDDF;
}

/* Per-card icon hover animations */
.rbw-contactinfo-section .rbw-ci-card.type-address:hover .rbw-ci-icon svg {
    transform: translateY(-3px) scale(1.08);
}

.rbw-contactinfo-section .rbw-ci-card.type-phone:hover .rbw-ci-icon svg {
    animation: rbwCiRing 0.6s ease-in-out;
}

.rbw-contactinfo-section .rbw-ci-card.type-email:hover .rbw-ci-icon svg {
    animation: rbwCiSend 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes rbwCiRing {
    0%, 100% { transform: rotate(0); }
    20% { transform: rotate(-12deg); }
    40% { transform: rotate(10deg); }
    60% { transform: rotate(-8deg); }
    80% { transform: rotate(6deg); }
}

@keyframes rbwCiSend {
    0% { transform: translateX(0) scale(1); }
    50% { transform: translateX(4px) translateY(-2px) scale(1.05); }
    100% { transform: translateX(0) scale(1); }
}

/* Card text */
.rbw-contactinfo-section .rbw-ci-meta {
    min-width: 0;
}

.rbw-contactinfo-section .rbw-ci-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 10px;
}

/* Tiny clay hairline after the label */
.rbw-contactinfo-section .rbw-ci-label::after {
    content: "";
    width: 18px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F 0%, rgba(184, 111, 79, 0.2) 100%);
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-contactinfo-section .rbw-ci-card:hover .rbw-ci-label::after,
.rbw-contactinfo-section .rbw-ci-card:focus .rbw-ci-label::after {
    width: 28px;
}

.rbw-contactinfo-section .rbw-ci-value {
    display: block;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #2D3B36;
    line-height: 1.45;
    letter-spacing: -0.005em;
    word-wrap: break-word;
    transition: color 0.4s ease;
}

.rbw-contactinfo-section .rbw-ci-card:hover .rbw-ci-value,
.rbw-contactinfo-section .rbw-ci-card:focus .rbw-ci-value {
    color: #2D3B36;
}

/* Arrow indicator — refined circular badge */
.rbw-contactinfo-section .rbw-ci-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(184, 111, 79, 0.28);
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: rgba(184, 111, 79, 0.7);
    line-height: 1;
    flex-shrink: 0;
    margin-left: 8px;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease,
                border-color 0.4s ease,
                color 0.4s ease;
}

.rbw-contactinfo-section .rbw-ci-card:hover .rbw-ci-arrow,
.rbw-contactinfo-section .rbw-ci-card:focus .rbw-ci-arrow {
    transform: translateX(4px);
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    border-color: transparent;
    color: #F5EDDF;
}

/* === Staggered entrance === */
.rbw-contactinfo-section .rbw-ci-hero {
    opacity: 0;
    transform: translateX(-20px);
    animation: rbwCiHeroIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

@keyframes rbwCiHeroIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-contactinfo-section .rbw-ci-card {
    opacity: 0;
    transform: translateX(20px);
    animation: rbwCiCardIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes rbwCiCardIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-contactinfo-section .rbw-ci-list li:nth-child(1) .rbw-ci-card { animation-delay: 0.3s; }
.rbw-contactinfo-section .rbw-ci-list li:nth-child(2) .rbw-ci-card { animation-delay: 0.42s; }
.rbw-contactinfo-section .rbw-ci-list li:nth-child(3) .rbw-ci-card { animation-delay: 0.54s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-contactinfo-section {
        padding: 44px 20px !important;
    }

    .rbw-contactinfo-section::after {
        width: 130px;
        height: 130px;
    }

    .rbw-contactinfo-section .rbw-ci-wrap {
        grid-template-columns: 1fr;
        gap: 28px;
        max-width: 640px;
    }

    .rbw-contactinfo-section .rbw-ci-hero {
        padding: 36px 32px 32px;
    }

    .rbw-contactinfo-section .rbw-ci-hero::before {
        width: 90px;
        height: 90px;
        top: 22px;
        right: 22px;
    }

    .rbw-contactinfo-section .rbw-ci-hero-heading {
        font-size: clamp(24px, 4.5vw, 32px);
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-contactinfo-section {
        padding: 36px 16px !important;
    }

    .rbw-contactinfo-section::after {
        display: none;
    }

    .rbw-contactinfo-section .rbw-ci-hero {
        padding: 32px 24px 28px;
        border-radius: 16px;
    }

    .rbw-contactinfo-section .rbw-ci-hero::before {
        width: 70px;
        height: 70px;
        top: 20px;
        right: 18px;
    }

    .rbw-contactinfo-section .rbw-ci-hero-heading {
        font-size: clamp(22px, 6vw, 28px);
    }

    .rbw-contactinfo-section .rbw-ci-hero-text {
        font-size: 14.5px;
    }

    .rbw-contactinfo-section .rbw-ci-card {
        grid-template-columns: 52px 1fr auto;
        gap: 16px;
        padding: 20px 22px;
    }

    .rbw-contactinfo-section .rbw-ci-icon {
        width: 52px;
        height: 52px;
        border-radius: 12px;
    }

    .rbw-contactinfo-section .rbw-ci-icon::before {
        border-radius: 12px;
    }

    .rbw-contactinfo-section .rbw-ci-icon svg {
        width: 21px;
        height: 21px;
    }

    .rbw-contactinfo-section .rbw-ci-arrow {
        width: 32px;
        height: 32px;
        font-size: 14px;
        margin-left: 4px;
    }

    .rbw-contactinfo-section .rbw-ci-value {
        font-size: 15px;
    }

    .rbw-contactinfo-section .rbw-ci-card:hover {
        transform: none;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-contactinfo-section .rbw-ci-hero,
    .rbw-contactinfo-section .rbw-ci-card,
    .rbw-contactinfo-section .rbw-ci-icon svg {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
    }
}

/* ===========================================================
   RBW MAP SECTION — Dark immersive location showcase
   
   Full-bleed map with custom dark frame, decorative SVG
   compass + corner accents, floating glass info card with
   address + CTA, animated pulsing dot pin overlay, and
   subtle scan-line texture for editorial feel.
   =========================================================== */

.rbw-map-section {
    background:
        radial-gradient(ellipse 50% 35% at 15% 15%,
            rgba(184, 111, 79, 0.18), transparent 60%),
        radial-gradient(ellipse 50% 35% at 85% 85%,
            rgba(107, 129, 105, 0.14), transparent 65%),
        linear-gradient(160deg, #2D3B36 0%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
}

/* Top hairline — clay gradient */
.rbw-map-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.65) 50%,
        transparent);
    z-index: 3;
}

/* Decorative compass mark — top left corner of section */
.rbw-map-section::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 30px;
    width: 84px;
    height: 84px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 84' fill='none'><circle cx='42' cy='42' r='30' stroke='%23C99A8E' stroke-width='1' stroke-opacity='0.35' fill='none'/><circle cx='42' cy='42' r='22' stroke='%23C99A8E' stroke-width='0.6' stroke-opacity='0.25' fill='none' stroke-dasharray='2 3'/><path d='M42 14 L46 42 L42 70 L38 42 Z' fill='%23C99A8E' fill-opacity='0.55'/><path d='M14 42 L42 38 L70 42 L42 46 Z' fill='%23C99A8E' fill-opacity='0.3'/><circle cx='42' cy='42' r='2.5' fill='%23B86F4F'/><text x='42' y='10' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-size='9' fill='%23C99A8E' fill-opacity='0.7'>N</text></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 2;
}

.rbw-map-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header (centered, above map) === */
.rbw-map-section .rbw-map-head {
    text-align: center;
    margin-bottom: 36px;
    position: relative;
    z-index: 2;
}

.rbw-map-section .rbw-map-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    margin-bottom: 18px;
}

.rbw-map-section .rbw-map-eyebrow::before,
.rbw-map-section .rbw-map-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #C99A8E, transparent);
}

.rbw-map-section .rbw-map-heading,
.rbw-map-section h2.rbw-map-heading {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.2vw, 48px) !important;
    font-weight: 500 !important;
    color: #F5EDDF !important;
    line-height: 1.1 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 14px !important;
    max-width: 760px !important;
    padding: 0 !important;
    text-align: center !important;
}

.rbw-map-section .rbw-map-subtitle {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: rgba(245, 237, 223, 0.7) !important;
    margin: 0 auto !important;
    max-width: 600px !important;
    padding: 0 !important;
    text-align: center !important;
}

/* === Map wrapper (the showcase) === */
.rbw-map-section .rbw-map-wrap {
    position: relative;
    margin: 0 auto;
    max-width: 1120px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.45),
        0 12px 24px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(245, 237, 223, 0.12);
    border: 1px solid rgba(245, 237, 223, 0.14);
    isolation: isolate;
}

/* Decorative corner accents — top-right and bottom-left */
.rbw-map-section .rbw-map-wrap::before,
.rbw-map-section .rbw-map-wrap::after {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    z-index: 3;
    pointer-events: none;
}

.rbw-map-section .rbw-map-wrap::before {
    top: 14px;
    right: 14px;
    border-top: 1.5px solid rgba(201, 154, 142, 0.6);
    border-right: 1.5px solid rgba(201, 154, 142, 0.6);
    border-top-right-radius: 8px;
}

.rbw-map-section .rbw-map-wrap::after {
    bottom: 14px;
    left: 14px;
    border-bottom: 1.5px solid rgba(201, 154, 142, 0.6);
    border-left: 1.5px solid rgba(201, 154, 142, 0.6);
    border-bottom-left-radius: 8px;
}

/* The iframe */
.rbw-map-section .rbw-map-frame {
    position: relative;
    height: 520px;
    overflow: hidden;
}

.rbw-map-section .rbw-map-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    /* Dark filter to match the section's mood */
    filter: invert(0.92) hue-rotate(180deg) saturate(0.6) brightness(0.95) contrast(0.92);
    transition: filter 0.6s ease;
}

.rbw-map-section .rbw-map-wrap:hover .rbw-map-frame iframe {
    filter: invert(0.85) hue-rotate(180deg) saturate(0.75) brightness(1) contrast(1);
}

/* Tonal overlay — adds warm clay vignette over the dark map */
.rbw-map-section .rbw-map-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 60% at 50% 50%,
            transparent 40%,
            rgba(45, 59, 54, 0.25) 100%),
        radial-gradient(ellipse 60% 50% at 30% 40%,
            rgba(184, 111, 79, 0.08),
            transparent 65%);
    pointer-events: none;
    z-index: 1;
    transition: opacity 0.5s ease;
}

.rbw-map-section .rbw-map-wrap:hover .rbw-map-frame::before {
    opacity: 0.4;
}

/* Subtle scan-line texture for editorial feel */
.rbw-map-section .rbw-map-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(
        0deg,
        rgba(245, 237, 223, 0.025) 0,
        rgba(245, 237, 223, 0.025) 1px,
        transparent 1px,
        transparent 3px
    );
    pointer-events: none;
    z-index: 1;
    mix-blend-mode: overlay;
}

/* === Floating glass info card (bottom-left of map) === */
.rbw-map-section .rbw-map-info {
    position: absolute;
    bottom: 32px;
    left: 32px;
    z-index: 4;
    max-width: 340px;
    padding: 26px 28px;
    background: rgba(45, 59, 54, 0.78);
    backdrop-filter: blur(16px) saturate(1.3);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    border: 1px solid rgba(245, 237, 223, 0.18);
    border-radius: 14px;
    box-shadow:
        0 16px 32px rgba(0, 0, 0, 0.4),
        0 4px 12px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(245, 237, 223, 0.1);
    color: #F5EDDF;
}

/* Clay top accent on info card */
.rbw-map-section .rbw-map-info::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 2px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 0 0 2px 2px;
}

.rbw-map-section .rbw-map-info-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    margin-bottom: 14px;
}

.rbw-map-section .rbw-map-info-label::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.3);
    animation: rbwMapDot 2.2s ease-in-out infinite;
}

@keyframes rbwMapDot {
    0%, 100% {
        box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.3),
                    0 0 6px rgba(184, 111, 79, 0.5);
    }
    50% {
        box-shadow: 0 0 0 5px rgba(184, 111, 79, 0.18),
                    0 0 12px rgba(184, 111, 79, 0.65);
    }
}

.rbw-map-section .rbw-map-info-title {
    font-family: 'Cormorant Garamond', Georgia, serif, Georgia, serif;
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    color: #F5EDDF;
    line-height: 1.2;
    margin: 0 0 10px 0;
}

.rbw-map-section .rbw-map-info-address {
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(245, 237, 223, 0.78);
    margin: 0 0 18px 0;
}

/* CTA button inside info card */
.rbw-map-section .rbw-map-info-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    color: #F5EDDF !important;
    font-family: Manrope, system-ui, sans-serif, system-ui, sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 12px 22px;
    border-radius: 100px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s ease,
                gap 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease;
    box-shadow:
        0 8px 20px rgba(184, 111, 79, 0.4),
        0 2px 6px rgba(184, 111, 79, 0.25);
}

.rbw-map-section .rbw-map-info-cta::after {
    content: "→";
    font-size: 14px;
    line-height: 1;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-map-section .rbw-map-info-cta:hover,
.rbw-map-section .rbw-map-info-cta:focus {
    background: linear-gradient(135deg, #A35E40 0%, #B88579 100%);
    transform: translateY(-2px);
    gap: 14px;
    box-shadow:
        0 12px 28px rgba(184, 111, 79, 0.5),
        0 4px 10px rgba(184, 111, 79, 0.32);
    text-decoration: none !important;
    color: #F5EDDF !important;
}

.rbw-map-section .rbw-map-info-cta:hover::after,
.rbw-map-section .rbw-map-info-cta:focus::after {
    transform: translateX(3px);
}

/* === Entrance animations === */
.rbw-map-section .rbw-map-head,
.rbw-map-section .rbw-map-wrap,
.rbw-map-section .rbw-map-info {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-map-section .rbw-map-head { animation-delay: 0.1s; }
.rbw-map-section .rbw-map-wrap { animation-delay: 0.3s; }
.rbw-map-section .rbw-map-info { animation-delay: 0.55s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-map-section {
        padding: 44px 20px !important;
    }

    .rbw-map-section::after {
        width: 64px;
        height: 64px;
        top: 24px;
        left: 24px;
    }

    .rbw-map-section .rbw-map-frame {
        height: 440px;
    }

    .rbw-map-section .rbw-map-info {
        bottom: 24px;
        left: 24px;
        right: 24px;
        max-width: none;
        padding: 22px 24px;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-map-section {
        padding: 36px 16px !important;
    }

    .rbw-map-section::after {
        display: none;
    }

    .rbw-map-section .rbw-map-wrap {
        border-radius: 16px;
    }

    .rbw-map-section .rbw-map-wrap::before,
    .rbw-map-section .rbw-map-wrap::after {
        width: 32px;
        height: 32px;
    }

    .rbw-map-section .rbw-map-frame {
        height: 360px;
    }

    .rbw-map-section .rbw-map-info {
        bottom: 16px;
        left: 16px;
        right: 16px;
        padding: 18px 20px;
    }

    .rbw-map-section .rbw-map-info-title {
        font-size: 19px;
    }

    .rbw-map-section .rbw-map-info-address {
        font-size: 13.5px;
        margin-bottom: 14px;
    }

    .rbw-map-section .rbw-map-info-cta {
        font-size: 11px;
        padding: 10px 18px;
        letter-spacing: 0.16em;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-map-section .rbw-map-head,
    .rbw-map-section .rbw-map-wrap,
    .rbw-map-section .rbw-map-info,
    .rbw-map-section .rbw-map-info-label::before {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW BLOG PAGE — Editorial article listing
   
   Full blog page with:
   - Premium search bar with icon
   - Articles list (8/12 split with sidebar)
   - Article cards with category tags, italic titles, excerpts
   - Sidebar with categories pill list + active state
   - Pagination support
   - Mobile category filter at top
   =========================================================== */

main.new-blog-page-type {
    background:
        radial-gradient(ellipse 50% 40% at 50% 0%,
            rgba(201, 154, 142, 0.1), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.08), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    padding: 48px 20px !important;
    position: relative;
    overflow: hidden;
}

main.new-blog-page-type::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.4) 50%,
        transparent);
    z-index: 2;
}

main.new-blog-page-type .main-blog-widget {
    position: relative;
    z-index: 1;
}

main.new-blog-page-type .main-blog-widget > .grid-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

/* === Search bar — premium input === */
main.new-blog-page-type .blog-search-container {
    margin-bottom: 36px;
}

main.new-blog-page-type .position-relative {
    position: relative;
    max-width: 520px;
    margin: 0 auto;
}

main.new-blog-page-type .search-input-blog,
main.new-blog-page-type .blog-search-container #search-input-blog {
    width: 100%;
    height: 52px;
    padding: 0 60px 0 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    border-radius: 4px !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    color: #2D3B36 !important;
    box-shadow:
        0 4px 16px rgba(45, 59, 54, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease;
    -webkit-appearance: none;
    appearance: none;
}

main.new-blog-page-type .search-input-blog::placeholder {
    color: rgba(45, 59, 54, 0.45);
    font-style: italic;
}

main.new-blog-page-type .search-input-blog:focus {
    outline: none;
    border-color: #B86F4F !important;
    background: #FFFFFF !important;
    box-shadow:
        0 8px 24px rgba(45, 59, 54, 0.1),
        0 0 0 3px rgba(184, 111, 79, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

main.new-blog-page-type .blog-search-button,
main.new-blog-page-type .blog-search-container .blog-search-button {
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border-radius: 4px !important;
    background: #B86F4F !important;
    border: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(184, 111, 79, 0.28);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

main.new-blog-page-type .blog-search-button:hover,
main.new-blog-page-type .blog-search-button:focus {
    background: #B86F4F !important;
    transform: translateY(calc(-50% - 2px));
    box-shadow: 0 8px 20px rgba(184, 111, 79, 0.4);
}

main.new-blog-page-type .blog-search-button svg {
    width: 16px;
    height: 16px;
}

main.new-blog-page-type .blog-search-button svg path {
    fill: #F5EDDF !important;
}

/* === Two-column layout (articles + sidebar) === */
main.new-blog-page-type .blog-articles {
    padding-right: 32px;
}

/* === Article list === */
main.new-blog-page-type .blog-ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

main.new-blog-page-type .blog-li {
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
}

main.new-blog-page-type .blog-li:last-child {
    margin-bottom: 0 !important;
}

/* Article card */
main.new-blog-page-type .blog-article {
    background: #FFFCF6;
    border: 1px solid rgba(201, 154, 142, 0.2);
    border-radius: 16px;
    padding: 32px 32px 28px;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 16px rgba(45, 59, 54, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.5s ease,
                border-color 0.5s ease;
}

/* Clay top accent bar */
main.new-blog-page-type .blog-article::before {
    content: "";
    position: absolute;
    top: 0;
    left: 32px;
    right: 32px;
    height: 2px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 60%, transparent);
    border-radius: 0 0 2px 2px;
    transform: scaleX(0.3);
    transform-origin: left center;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

main.new-blog-page-type .blog-article:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 111, 79, 0.4);
    box-shadow:
        0 18px 40px rgba(45, 59, 54, 0.1),
        0 6px 14px rgba(184, 111, 79, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

main.new-blog-page-type .blog-article:hover::before {
    transform: scaleX(1);
}

/* Override Foundation row/columns spacing */
main.new-blog-page-type .blog-li .row {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

main.new-blog-page-type .blog-article.columns {
    padding-left: 32px !important;
    padding-right: 32px !important;
    float: none !important;
}

/* === Article meta — categories === */
main.new-blog-page-type .article-category {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 3px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    font-style: normal !important;
    line-height: 1.5 !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}

main.new-blog-page-type .article-category .categories_text {
    color: #B86F4F !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin-right: 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

main.new-blog-page-type .article-category .categories_text::after {
    content: "";
    width: 14px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F, rgba(184, 111, 79, 0.2));
}

main.new-blog-page-type .article-category span {
    color: rgba(45, 59, 54, 0.55) !important;
    font-size: 12.5px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: u !important;
    letter-spacing: 0 !important;
}

main.new-blog-page-type .article-category a {
    color: #6B8169 !important;
    text-decoration: none !important;
    text-transform: capitalize !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    transition: color 0.3s ease;
}

main.new-blog-page-type .article-category a:hover {
    color: #B86F4F !important;
}

/* Comma separators between categories */
main.new-blog-page-type .article-category > span + span:not(:has(a)):empty {
    display: none;
}

/* === Article title === */
main.new-blog-page-type .article-title.widget-title {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    line-height: 1.18 !important;
}

main.new-blog-page-type .article-title.widget-title a,
main.new-blog-page-type .article-title.widget-title a.section-main-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(22px, 2.6vw, 30px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.012em !important;
    text-decoration: none !important;
    transition: color 0.4s ease;
    display: inline;
    background-image: linear-gradient(90deg, #B86F4F 0%, #B86F4F 100%);
    background-repeat: no-repeat;
    background-size: 0 1px;
    background-position: 0 100%;
    transition: background-size 0.5s cubic-bezier(0.16, 1, 0.3, 1), color 0.4s ease;
}

main.new-blog-page-type .article-title.widget-title a:hover,
main.new-blog-page-type .article-title.widget-title a:focus {
    color: #B86F4F !important;
    background-size: 100% 1px;
}

/* === Article excerpt === */
main.new-blog-page-type .article-body.rte {
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
}

main.new-blog-page-type .article-body.rte p {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: rgba(45, 59, 54, 0.72) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === Read more link === */
main.new-blog-page-type .blog-read-more,
main.new-blog-page-type a.blog-read-more {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #F5EDDF !important;
    text-decoration: none !important;
    padding: 14px 26px !important;
    background: #B86F4F !important;
    border: none !important;
    border-radius: 4px !important;
    line-height: 1 !important;
    box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

main.new-blog-page-type .blog-read-more::after {
    content: "→";
    font-size: 14px;
    line-height: 1;
    color: #F5EDDF;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

main.new-blog-page-type .blog-read-more:hover,
main.new-blog-page-type .blog-read-more:focus {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
    text-decoration: none !important;
}

main.new-blog-page-type .blog-read-more:hover::after,
main.new-blog-page-type .blog-read-more:focus::after {
    transform: translateX(5px);
}

main.new-blog-page-type p.pb-0.mb-0 {
    margin: 0 !important;
    padding: 0 !important;
}

/* === Sidebar — Categories === */
main.new-blog-page-type .blog-sidebar {
    padding-left: 0;
}

main.new-blog-page-type .articles-filter-container {
    background: #FFFCF6;
    border: 1px solid rgba(201, 154, 142, 0.22);
    border-radius: 16px;
    padding: 28px 24px;
    position: sticky;
    top: 24px;
    box-shadow:
        0 4px 16px rgba(45, 59, 54, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

main.new-blog-page-type .articles-filter-container .filter-h2,
main.new-blog-page-type .articles-filter-container h3.filter-h2.section-main-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.008em !important;
    margin: 0 0 20px 0 !important;
    padding: 0 0 16px 0 !important;
    position: relative;
    text-align: left !important;
}

main.new-blog-page-type .articles-filter-container .filter-h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F 0%, rgba(184, 111, 79, 0.2) 100%);
}

/* === Mobile/Tablet (≤1023.5px) — filter-h2 used as mobile toggle button === */
@media screen and (max-width: 63.9375em) {
    main.new-blog-page-type .articles-filter-container .filter-h2,
    main.new-blog-page-type .articles-filter-container h3.filter-h2.section-main-heading {
        padding: 16px !important;
        margin: 0 !important;
    }

    /* Hide the underline on mobile (filter-h2 is now toggle button, not heading) */
    main.new-blog-page-type .articles-filter-container .filter-h2::after,
    main.new-blog-page-type .articles-filter-container h3.filter-h2.section-main-heading::after {
        display: none !important;
        content: none !important;
    }
}

/* Category list */
main.new-blog-page-type .ps-blog-category {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

main.new-blog-page-type .ps-blog-category li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative;
}

/* Hairline divider between items (skip first and "All" button) */
main.new-blog-page-type .ps-blog-category li:not(:first-child):not(.active) + li:not(.active) {
    border-top: 1px solid rgba(184, 111, 79, 0.1);
}

main.new-blog-page-type .ps-blog-category li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px 12px 18px;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    text-decoration: none !important;
    border-radius: 10px;
    text-transform: capitalize;
    line-height: 1.4 !important;
    transition: background 0.4s ease,
                color 0.4s ease,
                padding-left 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

/* Left clay accent bar — reveals on hover (slides in from left) */
main.new-blog-page-type .ps-blog-category li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 6px;
    width: 3px;
    height: 0;
    background: linear-gradient(180deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 3px;
    transform: translateY(-50%);
    transition: height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Arrow indicator on the right */
main.new-blog-page-type .ps-blog-category li a::after {
    content: "→";
    font-size: 14px;
    font-weight: 400;
    color: rgba(184, 111, 79, 0.4);
    line-height: 1;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.4s ease,
                transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.3s ease;
    flex-shrink: 0;
}

main.new-blog-page-type .ps-blog-category li a:hover,
main.new-blog-page-type .ps-blog-category li a:focus {
    background: rgba(184, 111, 79, 0.06);
    color: #B86F4F !important;
    padding-left: 22px;
}

main.new-blog-page-type .ps-blog-category li a:hover::before,
main.new-blog-page-type .ps-blog-category li a:focus::before {
    height: 18px;
}

main.new-blog-page-type .ps-blog-category li a:hover::after,
main.new-blog-page-type .ps-blog-category li a:focus::after {
    opacity: 1;
    transform: translateX(0);
    color: #B86F4F;
}

/* === Active / "All" button — proper hero treatment === */
main.new-blog-page-type .ps-blog-category li.active,
main.new-blog-page-type .ps-blog-category li:has(a.all-blogs.button) {
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(184, 111, 79, 0.18);
}

main.new-blog-page-type .ps-blog-category li.active a,
main.new-blog-page-type .ps-blog-category li a.all-blogs.button {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    padding: 14px 22px !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hide the left accent bar on active button (it has its own treatment) */
main.new-blog-page-type .ps-blog-category li.active a::before,
main.new-blog-page-type .ps-blog-category li a.all-blogs.button::before {
    display: none;
}

/* Custom arrow for active button — always visible */
main.new-blog-page-type .ps-blog-category li.active a::after,
main.new-blog-page-type .ps-blog-category li a.all-blogs.button::after {
    content: "→";
    color: #F5EDDF;
    opacity: 1;
    transform: translateX(0);
    font-size: 14px;
    margin-left: 4px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

main.new-blog-page-type .ps-blog-category li a.all-blogs.button:hover,
main.new-blog-page-type .ps-blog-category li a.all-blogs.button:focus,
main.new-blog-page-type .ps-blog-category li.active a:hover,
main.new-blog-page-type .ps-blog-category li.active a:focus {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    padding: 14px 22px !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
}

main.new-blog-page-type .ps-blog-category li a.all-blogs.button:hover::after,
main.new-blog-page-type .ps-blog-category li.active a:hover::after {
    transform: translateX(5px);
}

/* === Mobile category filter (above articles) === */
main.new-blog-page-type .hide-for-large.articles-filter-container {
    margin-bottom: 28px;
    padding: 22px 20px;
    position: static;
}

/* === Mobile category dropdown toggle (Categories button with chevron) === */
main.new-blog-page-type .articles-filter-container .mobile-category-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px;
    border: 1px solid rgba(184, 111, 79, 0.25) !important;
    padding: 14px 18px !important;
    border-radius: 8px !important;
    background: rgba(255, 252, 246, 0.7);
    box-shadow: 0 2px 8px rgba(45, 59, 54, 0.04);
    cursor: pointer;
    transition: border-color 0.35s ease, background 0.35s ease;
}

main.new-blog-page-type .articles-filter-container .mobile-category-title:hover {
    border-color: rgba(184, 111, 79, 0.45) !important;
    background: #FFFCF6;
}

/* Hide the dash/underline below Categories heading inside mobile toggle */
main.new-blog-page-type .articles-filter-container .mobile-category-title .filter-h2,
main.new-blog-page-type .articles-filter-container .mobile-category-title h2,
main.new-blog-page-type .articles-filter-container .mobile-category-title h3,
main.new-blog-page-type .mobile-category-title .filter-h2 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
}

main.new-blog-page-type .articles-filter-container .mobile-category-title .filter-h2::after,
main.new-blog-page-type .articles-filter-container .mobile-category-title h2::after,
main.new-blog-page-type .articles-filter-container .mobile-category-title h3::after,
main.new-blog-page-type .mobile-category-title .filter-h2::after {
    display: none !important;
    content: none !important;
}

/* Fix chevron SVG alignment (preferences has top:12px that misaligns it) */
main.new-blog-page-type .articles-filter-container .mobile-category-title svg,
main.new-blog-page-type .mobile-category-title svg {
    position: static !important;
    top: auto !important;
    width: 18px;
    height: 18px;
    color: #B86F4F;
    flex-shrink: 0;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Rotate chevron when category list is expanded */
main.new-blog-page-type .articles-filter-container .mobile-category-title.active svg,
main.new-blog-page-type .articles-filter-container .mobile-category-title[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

main.new-blog-page-type .hide-for-large .ps-blog-category {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}

/* Reset desktop dividers in mobile pill mode */
main.new-blog-page-type .hide-for-large .ps-blog-category li:not(:first-child):not(.active) + li:not(.active) {
    border-top: none;
}

main.new-blog-page-type .hide-for-large .ps-blog-category li a {
    padding: 8px 16px !important;
    border: 1px solid rgba(184, 111, 79, 0.25);
    border-radius: 100px;
    background: rgba(255, 252, 246, 0.7);
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(45, 59, 54, 0.82) !important;
    text-transform: capitalize !important;
    letter-spacing: 0.02em !important;
    justify-content: flex-start;
    transition: background 0.35s ease,
                border-color 0.35s ease,
                color 0.35s ease,
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hide left bar + arrow in pill mode */
main.new-blog-page-type .hide-for-large .ps-blog-category li a::before,
main.new-blog-page-type .hide-for-large .ps-blog-category li a::after {
    display: none;
}

main.new-blog-page-type .hide-for-large .ps-blog-category li a:hover,
main.new-blog-page-type .hide-for-large .ps-blog-category li a:focus {
    background: #FFFCF6;
    border-color: rgba(184, 111, 79, 0.45);
    color: #B86F4F !important;
    transform: translateY(-1px);
    padding-left: 16px !important;
}

/* === Featured articles section (when populated) === */
main.new-blog-page-type .featured-articles-section {
    margin-bottom: 32px;
}

main.new-blog-page-type .featured-articles h5 {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: #B86F4F !important;
    line-height: 1 !important;
    margin: 0 0 18px 0 !important;
    padding: 0 0 0 24px !important;
    position: relative;
}

main.new-blog-page-type .featured-articles h5::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 16px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F, rgba(184, 111, 79, 0.2));
}

/* === Pagination === */
main.new-blog-page-type .ps-pagination-bar {
    margin-top: 28px;
    padding: 20px 0;
    text-align: center;
    border-top: 1px solid rgba(184, 111, 79, 0.18);
}

main.new-blog-page-type .ps-pagination-bar p {
    margin: 0;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 13px;
    color: rgba(45, 59, 54, 0.65);
}

/* === Empty state — when no articles match search === */
main.new-blog-page-type .blog-articles:empty::after {
    content: "No articles found. Try a different search.";
    display: block;
    text-align: center;
    padding: 48px 20px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 18px;
    color: rgba(45, 59, 54, 0.55);
}

/* === Entrance animations === */
main.new-blog-page-type .blog-search-container,
main.new-blog-page-type .blog-articles,
main.new-blog-page-type .blog-sidebar {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

main.new-blog-page-type .blog-search-container { animation-delay: 0.1s; }
main.new-blog-page-type .blog-articles         { animation-delay: 0.25s; }
main.new-blog-page-type .blog-sidebar          { animation-delay: 0.4s; }

main.new-blog-page-type .blog-li {
    opacity: 0;
    animation: rbwFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

main.new-blog-page-type .blog-li:nth-child(1) { animation-delay: 0.35s; }
main.new-blog-page-type .blog-li:nth-child(2) { animation-delay: 0.45s; }
main.new-blog-page-type .blog-li:nth-child(3) { animation-delay: 0.55s; }
main.new-blog-page-type .blog-li:nth-child(4) { animation-delay: 0.65s; }
main.new-blog-page-type .blog-li:nth-child(5) { animation-delay: 0.75s; }
main.new-blog-page-type .blog-li:nth-child(n+6) { animation-delay: 0.85s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    main.new-blog-page-type {
        padding: 40px 20px !important;
    }

    main.new-blog-page-type .blog-articles {
        padding-right: 0;
    }

    main.new-blog-page-type .blog-article,
    main.new-blog-page-type .blog-article.columns {
        padding: 26px 26px 22px !important;
    }

    main.new-blog-page-type .blog-article::before {
        left: 26px;
        right: 26px;
    }

    main.new-blog-page-type .blog-sidebar {
        margin-top: 32px;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    main.new-blog-page-type {
        padding: 32px 14px !important;
    }

    main.new-blog-page-type .search-input-blog {
        height: 50px;
        padding: 0 50px 0 20px;
        font-size: 14.5px !important;
    }

    main.new-blog-page-type .blog-search-button {
        width: 40px;
        height: 40px;
    }

    main.new-blog-page-type .blog-article,
    main.new-blog-page-type .blog-article.columns {
        padding: 22px 20px 20px !important;
        border-radius: 14px;
    }

    main.new-blog-page-type .blog-article::before {
        left: 20px;
        right: 20px;
    }

    main.new-blog-page-type .article-category {
        font-size: 10px !important;
        letter-spacing: 0.14em !important;
    }

    main.new-blog-page-type .article-title.widget-title a {
        font-size: clamp(20px, 5.5vw, 24px) !important;
    }

    main.new-blog-page-type .article-body.rte p {
        font-size: 14.5px !important;
        line-height: 1.68 !important;
    }

    main.new-blog-page-type .blog-read-more {
        font-size: 11px !important;
        padding: 9px 18px;
        letter-spacing: 0.14em !important;
    }

    main.new-blog-page-type .hide-for-large .ps-blog-category li a {
        font-size: 11.5px !important;
        padding: 7px 12px;
    }

    main.new-blog-page-type .blog-article:hover {
        transform: none;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    main.new-blog-page-type .blog-search-container,
    main.new-blog-page-type .blog-articles,
    main.new-blog-page-type .blog-sidebar,
    main.new-blog-page-type .blog-li,
    main.new-blog-page-type .blog-article {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease !important;
    }
}

/* ===========================================================
   RBW ARTICLE PAGE — Premium long-form editorial layout
   
   Single article view with:
   - Big italic Cormorant title (hero)
   - Featured image + author/date/categories sidebar
   - Refined long-form content (h3, p, ul, ol, strong)
   - Drop-cap on first paragraph
   - Recent posts card at bottom
   =========================================================== */

main.article-page-type.new-blog-page-type {
    background:
        radial-gradient(ellipse 60% 40% at 50% 0%,
            rgba(201, 154, 142, 0.1), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.08), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    padding: 48px 20px !important;
    position: relative;
    overflow: hidden;
}

main.article-page-type.new-blog-page-type::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.5) 50%,
        transparent);
    z-index: 2;
}

main.article-page-type.new-blog-page-type > .grid-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* === Article title (hero) === */
main.article-page-type.new-blog-page-type .article-title.widget-title.banner-main-heading,
main.article-page-type h1.article-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.6vw, 54px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em !important;
    margin: 0 0 32px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 920px !important;
}

/* Decorative clay hairline before title */
main.article-page-type.new-blog-page-type .article-title.banner-main-heading::before {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 2px;
    margin-bottom: 22px;
}

/* === Featured image + meta row === */
main.article-page-type.new-blog-page-type .ps-article-img {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow:
        0 20px 50px rgba(45, 59, 54, 0.14),
        0 6px 16px rgba(45, 59, 54, 0.08);
    background: #E5D5BC;
    aspect-ratio: 16 / 11;
}

main.article-page-type.new-blog-page-type .ps-article-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

main.article-page-type.new-blog-page-type .ps-article-img:hover img {
    transform: scale(1.03);
}

/* Soft warm overlay */
main.article-page-type.new-blog-page-type .ps-article-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 60%,
        rgba(45, 59, 54, 0.18) 100%);
    pointer-events: none;
}

/* === Author / meta sidebar === */
main.article-page-type.new-blog-page-type .blog-author {
    background: #FFFCF6;
    border: 1px solid rgba(201, 154, 142, 0.22);
    border-radius: 16px;
    padding: 24px 22px;
    box-shadow:
        0 4px 16px rgba(45, 59, 54, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    margin: 0 !important;
    position: relative;
    overflow: hidden;
}

/* Clay accent bar at top */
main.article-page-type.new-blog-page-type .blog-author::before {
    content: "";
    position: absolute;
    top: 0;
    left: 22px;
    right: 22px;
    height: 2px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 60%, transparent);
    border-radius: 0 0 2px 2px;
}

main.article-page-type.new-blog-page-type .blog-author .lab-ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

main.article-page-type.new-blog-page-type .blog-author .lab-ul > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
}

/* Author name */
main.article-page-type.new-blog-page-type .blog-author .author_name {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2D3B36 !important;
    line-height: 1.4;
    margin-bottom: 10px;
}

main.article-page-type.new-blog-page-type .blog-author .author_name::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.18);
    flex-shrink: 0;
}

/* Publication date */
main.article-page-type.new-blog-page-type .blog-author .pubdate,
main.article-page-type.new-blog-page-type .blog-author time {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: rgba(45, 59, 54, 0.65) !important;
    letter-spacing: 0.04em;
    line-height: 1.4;
    padding-left: 18px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(184, 111, 79, 0.18);
}

/* Categories — inline meta within author card */
main.article-page-type.new-blog-page-type .blog-author .lab-ul {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #B86F4F !important;
    line-height: 1.7 !important;
}

main.article-page-type.new-blog-page-type .blog-author .lab-ul > span {
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: capitalize !important;
    color: rgba(45, 59, 54, 0.55) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    display: inline;
}

main.article-page-type.new-blog-page-type .blog-author .lab-ul > span a {
    color: #6B8169 !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
    font-weight: 500 !important;
}

main.article-page-type.new-blog-page-type .blog-author .lab-ul > span a:hover {
    color: #B86F4F !important;
}

/* === Article body — long-form content === */
main.article-page-type.new-blog-page-type .article-body.rte {
    margin: 40px 0 0 0 !important;
    padding: 0 !important;
    max-width: 800px;
}

/* Paragraphs */
main.article-page-type.new-blog-page-type .article-body.rte p {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    color: rgba(45, 59, 54, 0.86) !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
}

/* First paragraph (lead) — slightly larger, drop cap */
main.article-page-type.new-blog-page-type .article-body.rte > p:first-child {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #2D3B36 !important;
    margin-bottom: 28px !important;
    padding: 0 0 22px 0 !important;
    border-bottom: 1px solid rgba(184, 111, 79, 0.2);
}

main.article-page-type.new-blog-page-type .article-body.rte > p:first-child strong {
    font-style: italic !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
}

/* Strong / bold inside paragraphs */
main.article-page-type.new-blog-page-type .article-body.rte p strong,
main.article-page-type.new-blog-page-type .article-body.rte p b {
    color: #2D3B36 !important;
    font-weight: 700 !important;
}

/* Subheadings (h3) */
main.article-page-type.new-blog-page-type .article-body.rte h3 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(22px, 2.4vw, 28px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.012em !important;
    margin: 38px 0 16px 0 !important;
    padding: 0 0 0 18px !important;
    position: relative;
}

main.article-page-type.new-blog-page-type .article-body.rte h3::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0;
    width: 3px;
    background: linear-gradient(180deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 3px;
}

/* Lists (ul/ol) */
main.article-page-type.new-blog-page-type .article-body.rte ul,
main.article-page-type.new-blog-page-type .article-body.rte ol {
    margin: 0 0 28px 0 !important;
    padding: 0 0 0 4px !important;
    list-style: none !important;
}

main.article-page-type.new-blog-page-type .article-body.rte ul li,
main.article-page-type.new-blog-page-type .article-body.rte ol li {
    list-style: none !important;
    position: relative;
    padding: 0 0 0 32px !important;
    margin: 0 0 14px 0 !important;
}

main.article-page-type.new-blog-page-type .article-body.rte ul li p,
main.article-page-type.new-blog-page-type .article-body.rte ol li p {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* UL — clay hairline marker */
main.article-page-type.new-blog-page-type .article-body.rte ul li::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    width: 20px;
    height: 1.5px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 1px;
}

/* OL — italic Cormorant numerals */
main.article-page-type.new-blog-page-type .article-body.rte ol {
    counter-reset: rbw-article-counter;
}

main.article-page-type.new-blog-page-type .article-body.rte ol li {
    counter-increment: rbw-article-counter;
}

main.article-page-type.new-blog-page-type .article-body.rte ol li::before {
    content: counter(rbw-article-counter, decimal-leading-zero);
    position: absolute;
    top: 0;
    left: 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 500;
    color: #B86F4F;
    line-height: 1.5;
    letter-spacing: -0.01em;
}

/* Bold lead-in inside list items */
main.article-page-type.new-blog-page-type .article-body.rte li b,
main.article-page-type.new-blog-page-type .article-body.rte li strong {
    color: #2D3B36 !important;
    font-weight: 700 !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
}

/* Links inside article */
main.article-page-type.new-blog-page-type .article-body.rte a {
    color: #B86F4F !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(184, 111, 79, 0.4);
    transition: color 0.3s ease, border-color 0.3s ease;
}

main.article-page-type.new-blog-page-type .article-body.rte a:hover {
    color: #A35E40 !important;
    border-color: #A35E40;
}

/* Last paragraph — slight emphasis (the CTA close) */
main.article-page-type.new-blog-page-type .article-body.rte > p:last-child {
    margin-top: 32px !important;
    padding: 24px 26px !important;
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF5E9 100%);
    border-left: 3px solid #B86F4F;
    border-radius: 0 12px 12px 0;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: rgba(45, 59, 54, 0.92) !important;
}

main.article-page-type.new-blog-page-type .article-body.rte > p:last-child b,
main.article-page-type.new-blog-page-type .article-body.rte > p:last-child strong {
    color: #2D3B36 !important;
}

/* === Recent Posts sidebar (at bottom of article) === */
main.article-page-type.new-blog-page-type .blog-sidebar {
    margin-top: 56px;
    padding: 0 !important;
    position: relative;
}

main.article-page-type.new-blog-page-type .blog-sidebar::before {
    content: "";
    position: absolute;
    top: -28px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.3) 50%,
        transparent);
}

main.article-page-type.new-blog-page-type .blog-sidebar-widget {
    width: 100%;
}

main.article-page-type.new-blog-page-type .blog-sidebar-h2,
main.article-page-type.new-blog-page-type h2.blog-sidebar-h2.recent-posts-text {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(26px, 3vw, 34px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.012em !important;
    margin: 0 0 28px 0 !important;
    padding: 0 0 0 22px !important;
    position: relative;
    text-align: left !important;
}

main.article-page-type.new-blog-page-type .blog-sidebar-h2::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.2);
}

/* Recent posts list */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts > li.blog-li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .row {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article {
    background: #FFFCF6;
    border: 1px solid rgba(201, 154, 142, 0.2);
    border-radius: 16px;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    box-shadow:
        0 4px 16px rgba(45, 59, 54, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.5s ease,
                border-color 0.5s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article:hover {
    transform: translateY(-4px);
    border-color: rgba(184, 111, 79, 0.4);
    box-shadow:
        0 18px 40px rgba(45, 59, 54, 0.1),
        0 6px 14px rgba(184, 111, 79, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

/* Card image */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .ps-article-img {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #E5D5BC;
    box-shadow: none;
    border-radius: 0;
    margin: 0 !important;
    padding: 0 !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .ps-article-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .ps-article-img::after {
    display: none;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article:hover .ps-article-img img {
    transform: scale(1.05);
}

/* Card content padding */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > .article-category,
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > .article-title,
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > .item-body,
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > p.pb-0 {
    margin-left: 24px !important;
    margin-right: 24px !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > .article-category {
    margin-top: 22px !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > p.pb-0 {
    margin-bottom: 22px !important;
}

/* Card category meta */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-category {
    font-size: 11px !important;
    margin-bottom: 12px !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-category .categories_text {
    font-size: 10px !important;
}

/* Card title */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-title.widget-title a {
    font-size: clamp(18px, 1.8vw, 22px) !important;
    line-height: 1.22 !important;
}

/* Card excerpt */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .item-body p {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: rgba(45, 59, 54, 0.72) !important;
    margin: 0 !important;
}

main.article-page-type.new-blog-page-type .ps-blog-recent-posts .item-body {
    margin-bottom: 18px !important;
}

/* Card read more link */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-read-more {
    font-size: 11.5px !important;
    padding: 8px 16px !important;
    letter-spacing: 0.16em !important;
}

/* === Entrance animations === */
main.article-page-type.new-blog-page-type .article-title,
main.article-page-type.new-blog-page-type .ps-article-img,
main.article-page-type.new-blog-page-type .blog-author,
main.article-page-type.new-blog-page-type .article-body,
main.article-page-type.new-blog-page-type .blog-sidebar {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

main.article-page-type.new-blog-page-type .article-title { animation-delay: 0.1s; }
main.article-page-type.new-blog-page-type .ps-article-img { animation-delay: 0.25s; }
main.article-page-type.new-blog-page-type .blog-author { animation-delay: 0.4s; }
main.article-page-type.new-blog-page-type .article-body { animation-delay: 0.55s; }
main.article-page-type.new-blog-page-type .blog-sidebar { animation-delay: 0.7s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    main.article-page-type.new-blog-page-type {
        padding: 40px 20px !important;
    }

    main.article-page-type.new-blog-page-type .blog-author {
        margin-top: 24px !important;
        padding: 22px 20px;
    }

    main.article-page-type.new-blog-page-type .article-body.rte {
        margin-top: 32px !important;
    }

    main.article-page-type.new-blog-page-type .ps-blog-recent-posts {
        grid-template-columns: 1fr;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    main.article-page-type.new-blog-page-type {
        padding: 32px 14px !important;
    }

    main.article-page-type.new-blog-page-type .article-title.banner-main-heading::before {
        width: 44px;
        margin-bottom: 16px;
    }

    main.article-page-type.new-blog-page-type .article-title {
        margin-bottom: 24px !important;
    }

    main.article-page-type.new-blog-page-type .ps-article-img {
        aspect-ratio: 4 / 3;
        border-radius: 14px;
    }

    main.article-page-type.new-blog-page-type .blog-author {
        padding: 20px 18px;
    }

    main.article-page-type.new-blog-page-type .article-body.rte p {
        font-size: 15.5px !important;
        line-height: 1.75 !important;
    }

    main.article-page-type.new-blog-page-type .article-body.rte > p:first-child {
        font-size: 18px !important;
    }

    main.article-page-type.new-blog-page-type .article-body.rte h3 {
        margin-top: 30px !important;
        padding-left: 14px !important;
    }

    main.article-page-type.new-blog-page-type .article-body.rte ul li,
    main.article-page-type.new-blog-page-type .article-body.rte ol li {
        padding-left: 28px !important;
    }

    main.article-page-type.new-blog-page-type .article-body.rte > p:last-child {
        padding: 20px 22px !important;
        font-size: 15px !important;
    }

    main.article-page-type.new-blog-page-type .blog-sidebar {
        margin-top: 44px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    main.article-page-type.new-blog-page-type .article-title,
    main.article-page-type.new-blog-page-type .ps-article-img,
    main.article-page-type.new-blog-page-type .blog-author,
    main.article-page-type.new-blog-page-type .article-body,
    main.article-page-type.new-blog-page-type .blog-sidebar,
    main.article-page-type.new-blog-page-type .ps-article-img img,
    main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
    }
}

/* ===========================================================
   RBW MEET KELLY SECTION — Editorial portrait + biography
   
   2-column layout: framed portrait left, content right.
   Decorative corner brackets, signature mark, stats badges,
   pull-quote treatment for tagline, animated entrance.
   =========================================================== */

.rbw-meet-section {
    background:
        radial-gradient(ellipse 60% 50% at 8% 15%,
            rgba(184, 111, 79, 0.1), transparent 65%),
        radial-gradient(ellipse 50% 40% at 92% 90%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
}

/* Top hairline */
.rbw-meet-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.5) 50%,
        transparent);
    z-index: 2;
}

/* Botanical sprig — top right */
.rbw-meet-section::after {
    content: "";
    position: absolute;
    top: 30px;
    right: 30px;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-meet-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Two-column wrap === */
.rbw-meet-section .rbw-meet-wrap {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 56px;
    align-items: start;
    margin: 0 auto;
    max-width: 1160px;
}

/* === LEFT: Portrait column === */
.rbw-meet-section .rbw-meet-media {
    position: relative;
    align-self: start;
}

/* Sticky portrait on desktop */
@media screen and (min-width: 64em) {
    .rbw-meet-section .rbw-meet-media {
        position: sticky;
        top: 100px;
    }
}

.rbw-meet-section .rbw-meet-portrait {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 30px 60px rgba(45, 59, 54, 0.18),
        0 12px 24px rgba(45, 59, 54, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    isolation: isolate;
}

.rbw-meet-section .rbw-meet-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.05);
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-meet-section .rbw-meet-portrait:hover img {
    transform: scale(1.04);
}

/* Soft tonal overlay */
.rbw-meet-section .rbw-meet-portrait::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 55%,
        rgba(45, 59, 54, 0.2) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Decorative corner brackets — top-left and bottom-right */
.rbw-meet-section .rbw-meet-media::before,
.rbw-meet-section .rbw-meet-media::after {
    content: "";
    position: absolute;
    width: 56px;
    height: 56px;
    pointer-events: none;
    z-index: 3;
}

.rbw-meet-section .rbw-meet-media::before {
    top: -10px;
    left: -10px;
    border-top: 2px solid #B86F4F;
    border-left: 2px solid #B86F4F;
    border-top-left-radius: 10px;
}

.rbw-meet-section .rbw-meet-media::after {
    bottom: -10px;
    right: -10px;
    border-bottom: 2px solid #B86F4F;
    border-right: 2px solid #B86F4F;
    border-bottom-right-radius: 10px;
}

/* === Floating credential badges around portrait === */
.rbw-meet-section .rbw-meet-badge {
    position: absolute;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    background: rgba(255, 252, 246, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(184, 111, 79, 0.25);
    border-radius: 100px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #2D3B36;
    line-height: 1;
    box-shadow:
        0 12px 28px rgba(45, 59, 54, 0.15),
        0 4px 10px rgba(45, 59, 54, 0.08);
}

.rbw-meet-section .rbw-meet-badge::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.18);
}

.rbw-meet-section .rbw-meet-badge.badge-location {
    top: 24px;
    right: -16px;
    animation: rbwMeetFloat 6s ease-in-out infinite;
}

.rbw-meet-section .rbw-meet-badge.badge-experience {
    bottom: 60px;
    left: -18px;
    animation: rbwMeetFloat 6s ease-in-out infinite reverse;
    animation-delay: -3s;
}

@keyframes rbwMeetFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* === RIGHT: Content column === */
.rbw-meet-section .rbw-meet-content {
    position: relative;
    padding-top: 8px;
}

/* Eyebrow */
.rbw-meet-section .rbw-meet-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 18px;
}

.rbw-meet-section .rbw-meet-eyebrow::before {
    content: "";
    width: 32px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F 0%, rgba(184, 111, 79, 0.2) 100%);
}

/* Heading — "Meet Kelly O'Connor" */
.rbw-meet-section .rbw-meet-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(34px, 5vw, 60px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.018em !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Tagline — pull-quote style */
.rbw-meet-section .rbw-meet-tagline {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(18px, 1.8vw, 22px) !important;
    font-weight: 500 !important;
    color: #B86F4F !important;
    line-height: 1.4 !important;
    margin: 0 0 28px 0 !important;
    padding: 0 0 22px 0 !important;
    border-bottom: 1px solid rgba(184, 111, 79, 0.22);
    max-width: 560px;
    position: relative;
}

/* Body paragraphs */
.rbw-meet-section .rbw-meet-body p {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.82) !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    max-width: 640px;
}

.rbw-meet-section .rbw-meet-body p:last-child {
    margin-bottom: 28px !important;
}

/* Bold inside paragraphs */
.rbw-meet-section .rbw-meet-body p strong,
.rbw-meet-section .rbw-meet-body p b {
    color: #2D3B36 !important;
    font-weight: 600 !important;
}

/* === Signature mark — cursive Kelly === */
.rbw-meet-section .rbw-meet-signature {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid rgba(184, 111, 79, 0.22);
    max-width: 640px;
}

.rbw-meet-section .rbw-meet-signature-mark {
    flex-shrink: 0;
    width: 130px;
    height: 50px;
}

.rbw-meet-section .rbw-meet-signature-mark svg {
    width: 100%;
    height: 100%;
    color: #B86F4F;
}

.rbw-meet-section .rbw-meet-signature-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rbw-meet-section .rbw-meet-signature-name {
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #2D3B36;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.rbw-meet-section .rbw-meet-signature-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 14px;
    font-weight: 400;
    color: rgba(45, 59, 54, 0.62);
    line-height: 1.2;
}

/* === Entrance animations === */
.rbw-meet-section .rbw-meet-media {
    opacity: 0;
    transform: translateX(-20px);
    animation: rbwMeetMediaIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

@keyframes rbwMeetMediaIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-meet-section .rbw-meet-content {
    opacity: 0;
    transform: translateX(20px);
    animation: rbwMeetContentIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
}

@keyframes rbwMeetContentIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-meet-section .rbw-meet-badge.badge-location {
    opacity: 0;
    animation: rbwMeetBadgeIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.6s forwards,
               rbwMeetFloat 6s ease-in-out 1.3s infinite;
}

.rbw-meet-section .rbw-meet-badge.badge-experience {
    opacity: 0;
    animation: rbwMeetBadgeIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards,
               rbwMeetFloat 6s ease-in-out 1.5s infinite reverse;
}

@keyframes rbwMeetBadgeIn {
    from { opacity: 0; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1); }
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-meet-section {
        padding: 48px 20px !important;
    }

    .rbw-meet-section::after {
        width: 130px;
        height: 130px;
    }

    .rbw-meet-section .rbw-meet-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
        max-width: 640px;
    }

    .rbw-meet-section .rbw-meet-media {
        max-width: 460px;
        margin: 0 auto;
        width: 100%;
    }

    .rbw-meet-section .rbw-meet-portrait {
        aspect-ratio: 4 / 4.5;
    }

    .rbw-meet-section .rbw-meet-badge.badge-location {
        top: 16px;
        right: 12px;
        font-size: 11px;
        padding: 10px 14px;
    }

    .rbw-meet-section .rbw-meet-badge.badge-experience {
        bottom: 36px;
        left: 12px;
        font-size: 11px;
        padding: 10px 14px;
    }

    .rbw-meet-section .rbw-meet-heading {
        font-size: clamp(28px, 5.5vw, 42px) !important;
    }

    .rbw-meet-section .rbw-meet-tagline {
        font-size: clamp(16px, 2.2vw, 19px) !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-meet-section {
        padding: 40px 16px !important;
    }

    .rbw-meet-section::after {
        display: none;
    }

    .rbw-meet-section .rbw-meet-wrap {
        gap: 32px;
    }

    .rbw-meet-section .rbw-meet-portrait {
        border-radius: 14px;
        aspect-ratio: 4 / 4;
    }

    .rbw-meet-section .rbw-meet-media::before,
    .rbw-meet-section .rbw-meet-media::after {
        width: 38px;
        height: 38px;
    }

    .rbw-meet-section .rbw-meet-badge {
        font-size: 10.5px !important;
        padding: 8px 12px !important;
        gap: 8px;
    }

    .rbw-meet-section .rbw-meet-badge::before {
        width: 6px;
        height: 6px;
    }

    .rbw-meet-section .rbw-meet-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
    }

    .rbw-meet-section .rbw-meet-tagline {
        font-size: 15.5px !important;
        padding-bottom: 18px !important;
        margin-bottom: 22px !important;
    }

    .rbw-meet-section .rbw-meet-body p {
        font-size: 14.5px !important;
        line-height: 1.72 !important;
    }

    .rbw-meet-section .rbw-meet-signature {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-top: 20px;
        margin-top: 24px;
    }

    .rbw-meet-section .rbw-meet-signature-mark {
        width: 110px;
        height: 42px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-meet-section .rbw-meet-media,
    .rbw-meet-section .rbw-meet-content,
    .rbw-meet-section .rbw-meet-badge,
    .rbw-meet-section .rbw-meet-portrait img {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW MISSION SECTION — Bold statement block
   
   Compact centered statement section with decorative quote
   treatment, italic Cormorant body, refined background with
   subtle radial glows + botanical accents.
   =========================================================== */

.rbw-mission-section {
    background:
        radial-gradient(ellipse 50% 35% at 50% 0%,
            rgba(184, 111, 79, 0.12), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 48px 20px !important;
    text-align: center;
}

/* Top hairline */
.rbw-mission-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.5) 50%,
        transparent);
    z-index: 2;
}

/* Decorative botanical sprigs — both corners (mirrored) */
.rbw-mission-section::after {
    content: "";
    position: absolute;
    top: 24px;
    left: 24px;
    width: 130px;
    height: 130px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='matrix(-1 0 0 1 200 0)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-mission-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Content wrap === */
.rbw-mission-section .rbw-mission-content {
    max-width: 820px;
    margin: 0 auto;
    position: relative;
    padding: 0 20px;
}

/* Large decorative opening quote glyph */
.rbw-mission-section .rbw-mission-content::before {
    content: "\201C";
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 110px;
    line-height: 1;
    color: rgba(184, 111, 79, 0.22);
    margin-bottom: -32px;
    height: 60px;
    pointer-events: none;
}

/* Eyebrow ornament — line·dot·line */
.rbw-mission-section .rbw-mission-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}

.rbw-mission-section .rbw-mission-eyebrow::before,
.rbw-mission-section .rbw-mission-eyebrow::after {
    content: "";
    width: 32px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

/* Heading */
.rbw-mission-section .rbw-mission-heading,
.rbw-mission-section h2.rbw-mission-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(34px, 5vw, 56px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    text-align: center !important;
    position: relative;
    z-index: 1;
}

/* Statement paragraph — big editorial pull-quote */
.rbw-mission-section .rbw-mission-statement,
.rbw-mission-section p.rbw-mission-statement {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(20px, 2.4vw, 28px) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: rgba(45, 59, 54, 0.88) !important;
    margin: 0 auto !important;
    max-width: 720px !important;
    padding: 0 !important;
    text-align: center !important;
    letter-spacing: -0.005em !important;
    position: relative;
    z-index: 1;
}

/* Decorative closing flourish — line·dot·line below */
.rbw-mission-section .rbw-mission-flourish {
    display: block;
    width: 96px;
    height: 8px;
    margin: 32px auto 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* === Entrance animations === */
.rbw-mission-section .rbw-mission-eyebrow,
.rbw-mission-section .rbw-mission-heading,
.rbw-mission-section .rbw-mission-statement,
.rbw-mission-section .rbw-mission-flourish {
    opacity: 0;
    animation: rbwFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-mission-section .rbw-mission-eyebrow   { animation-delay: 0.15s; }
.rbw-mission-section .rbw-mission-heading   { animation-delay: 0.3s; }
.rbw-mission-section .rbw-mission-statement { animation-delay: 0.45s; }
.rbw-mission-section .rbw-mission-flourish  { animation-delay: 0.6s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-mission-section {
        padding: 44px 20px !important;
    }

    .rbw-mission-section::after {
        width: 100px;
        height: 100px;
    }

    .rbw-mission-section .rbw-mission-content::before {
        font-size: 90px;
        margin-bottom: -24px;
    }

    .rbw-mission-section .rbw-mission-heading {
        font-size: clamp(28px, 5.5vw, 42px) !important;
        margin-bottom: 24px !important;
    }

    .rbw-mission-section .rbw-mission-statement {
        font-size: clamp(17px, 2.5vw, 22px) !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-mission-section {
        padding: 36px 16px !important;
    }

    .rbw-mission-section::after {
        display: none;
    }

    .rbw-mission-section .rbw-mission-content {
        padding: 0;
    }

    .rbw-mission-section .rbw-mission-content::before {
        font-size: 70px;
        margin-bottom: -18px;
    }

    .rbw-mission-section .rbw-mission-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        gap: 10px;
        margin-bottom: 18px;
    }

    .rbw-mission-section .rbw-mission-eyebrow::before,
    .rbw-mission-section .rbw-mission-eyebrow::after {
        width: 24px;
    }

    .rbw-mission-section .rbw-mission-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
    }

    .rbw-mission-section .rbw-mission-statement {
        font-size: 16.5px !important;
        line-height: 1.55 !important;
    }

    .rbw-mission-section .rbw-mission-flourish {
        margin-top: 24px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-mission-section .rbw-mission-eyebrow,
    .rbw-mission-section .rbw-mission-heading,
    .rbw-mission-section .rbw-mission-statement,
    .rbw-mission-section .rbw-mission-flourish {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW MISSION SECTION — Centered editorial statement
   
   Short, focused mission statement section. Centered layout
   with decorative ornament, italic Cormorant heading,
   editorial pull-quote treatment for the mission text.
   =========================================================== */

.rbw-mission-section {
    background:
        radial-gradient(ellipse 50% 40% at 50% 10%,
            rgba(184, 111, 79, 0.1), transparent 60%),
        radial-gradient(ellipse 50% 40% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 65%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
    text-align: center;
}

/* Top hairline divider */
.rbw-mission-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.5) 50%,
        transparent);
    z-index: 2;
}

/* Decorative botanical sprigs — bottom corners */
.rbw-mission-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 160px;
    height: 160px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><g transform='rotate(180 100 100)'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-mission-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Content wrap === */
.rbw-mission-section .rbw-mission-wrap {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

/* Decorative ornament above heading — line · dot · line */
.rbw-mission-section .rbw-mission-wrap::before {
    content: "";
    display: block;
    width: 96px;
    height: 8px;
    margin: 0 auto 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 8' fill='none'><line x1='0' y1='4' x2='38' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/><circle cx='48' cy='4' r='3' fill='%23B86F4F'/><circle cx='48' cy='4' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.3'/><line x1='58' y1='4' x2='96' y2='4' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.75'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Eyebrow label */
.rbw-mission-section .rbw-mission-eyebrow {
    display: inline-block;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin: 0 auto 16px;
    padding: 0;
}

/* Heading — "My Mission" */
.rbw-mission-section .rbw-mission-heading,
.rbw-mission-section h2.rbw-mission-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(34px, 5.2vw, 62px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.018em !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 680px !important;
    position: relative;
}

/* Decorative quote marks (large, faded) — left and right of heading */
.rbw-mission-section .rbw-mission-wrap {
    position: relative;
}

.rbw-mission-section .rbw-mission-wrap::after {
    content: "\201D";
    position: absolute;
    bottom: -28px;
    right: -8px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 140px;
    line-height: 1;
    color: rgba(184, 111, 79, 0.08);
    pointer-events: none;
    z-index: -1;
}

/* Mission statement — pull-quote style */
.rbw-mission-section .rbw-mission-text {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(20px, 2.4vw, 28px) !important;
    font-weight: 500 !important;
    color: rgba(45, 59, 54, 0.88) !important;
    line-height: 1.45 !important;
    letter-spacing: -0.005em !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 760px !important;
    position: relative;
}

/* Closing ornament below text */
.rbw-mission-section .rbw-mission-wrap > .rbw-mission-text::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    margin: 28px auto 0;
    background: linear-gradient(90deg,
        transparent 0%,
        #B86F4F 50%,
        transparent 100%);
}

/* === Entrance animation === */
.rbw-mission-section .rbw-mission-wrap::before,
.rbw-mission-section .rbw-mission-eyebrow,
.rbw-mission-section .rbw-mission-heading,
.rbw-mission-section .rbw-mission-text {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-mission-section .rbw-mission-wrap::before { animation-delay: 0.1s; }
.rbw-mission-section .rbw-mission-eyebrow      { animation-delay: 0.2s; }
.rbw-mission-section .rbw-mission-heading      { animation-delay: 0.35s; }
.rbw-mission-section .rbw-mission-text         { animation-delay: 0.5s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-mission-section {
        padding: 48px 20px !important;
    }

    .rbw-mission-section::after {
        width: 120px;
        height: 120px;
    }

    .rbw-mission-section .rbw-mission-wrap::after {
        font-size: 110px;
        bottom: -20px;
    }

    .rbw-mission-section .rbw-mission-heading {
        font-size: clamp(28px, 5.5vw, 44px) !important;
        margin-bottom: 24px !important;
    }

    .rbw-mission-section .rbw-mission-text {
        font-size: clamp(18px, 2.6vw, 24px) !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-mission-section {
        padding: 40px 18px !important;
    }

    .rbw-mission-section::after {
        display: none;
    }

    .rbw-mission-section .rbw-mission-wrap::before {
        width: 76px;
        margin-bottom: 22px;
    }

    .rbw-mission-section .rbw-mission-wrap::after {
        font-size: 80px;
        bottom: -10px;
        right: 4px;
    }

    .rbw-mission-section .rbw-mission-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        margin-bottom: 14px;
    }

    .rbw-mission-section .rbw-mission-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
        margin-bottom: 20px !important;
    }

    .rbw-mission-section .rbw-mission-text {
        font-size: 17px !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }

    .rbw-mission-section .rbw-mission-wrap > .rbw-mission-text::after {
        margin: 22px auto 0;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-mission-section .rbw-mission-wrap::before,
    .rbw-mission-section .rbw-mission-eyebrow,
    .rbw-mission-section .rbw-mission-heading,
    .rbw-mission-section .rbw-mission-text {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   RBW ROOTED SECTION — Coaching rooted in experience
   
   Two-column layout with offset overlapping image card on the
   right, hero content card on the left. Decorative serif
   pull-marks, gradient borders, framed callout box, soft
   ambient glows, animated entrance choreography.
   =========================================================== */

.rbw-rooted-section {
    background:
        radial-gradient(ellipse 60% 50% at 92% 8%,
            rgba(184, 111, 79, 0.16), transparent 60%),
        radial-gradient(ellipse 50% 40% at 8% 92%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 64px 20px !important;
}

/* Top hairline divider */
.rbw-rooted-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* Editorial italic watermark — "rooted" in background */
.rbw-rooted-section::after {
    content: "rooted";
    position: absolute;
    bottom: -32px;
    left: -10px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(160px, 22vw, 280px);
    font-weight: 400;
    line-height: 1;
    color: rgba(184, 111, 79, 0.06);
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.04em;
    user-select: none;
}

.rbw-rooted-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Wrap (asymmetric layout) === */
.rbw-rooted-section .rbw-rooted-wrap {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 56px;
    align-items: center;
    margin: 0 auto;
    max-width: 1160px;
    position: relative;
}

/* === LEFT: Content card === */
.rbw-rooted-section .rbw-rooted-content {
    position: relative;
    padding-top: 8px;
}

/* Eyebrow */
.rbw-rooted-section .rbw-rooted-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 22px;
}

.rbw-rooted-section .rbw-rooted-eyebrow::before {
    content: "";
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F 0%, rgba(184, 111, 79, 0.2) 100%);
}

.rbw-rooted-section .rbw-rooted-eyebrow::after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.18);
    flex-shrink: 0;
}

/* Heading */
.rbw-rooted-section .rbw-rooted-heading,
.rbw-rooted-section h2.rbw-rooted-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.6vw, 56px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 620px !important;
    position: relative;
}

/* Body paragraph */
.rbw-rooted-section .rbw-rooted-text {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.82 !important;
    color: rgba(45, 59, 54, 0.82) !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 620px !important;
    letter-spacing: 0 !important;
}

/* === Pull-card — extracted phrase with side accent === */
.rbw-rooted-section .rbw-rooted-pullcard {
    margin-top: 32px;
    max-width: 620px;
    position: relative;
    padding: 22px 24px 22px 28px;
    background: linear-gradient(180deg, #FFFCF6 0%, #FBF5E9 100%);
    border-radius: 0 14px 14px 0;
    border-left: 3px solid #B86F4F;
    box-shadow:
        0 8px 24px rgba(45, 59, 54, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* Quote-mark decoration */
.rbw-rooted-section .rbw-rooted-pullcard::before {
    content: "\201C";
    position: absolute;
    top: 8px;
    left: 14px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 48px;
    line-height: 1;
    color: rgba(184, 111, 79, 0.22);
    pointer-events: none;
}

.rbw-rooted-section .rbw-rooted-pull-text {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.5 !important;
    margin: 0 0 0 26px !important;
    padding: 0 !important;
}

/* === RIGHT: Visual column (image + offset accent) === */
.rbw-rooted-section .rbw-rooted-media {
    position: relative;
}

/* Main image */
.rbw-rooted-section .rbw-rooted-image-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 30px 60px rgba(45, 59, 54, 0.18),
        0 12px 24px rgba(45, 59, 54, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    isolation: isolate;
}

.rbw-rooted-section .rbw-rooted-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.05);
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-rooted-section .rbw-rooted-image-wrap:hover img {
    transform: scale(1.04);
}

/* Soft bottom overlay */
.rbw-rooted-section .rbw-rooted-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 55%,
        rgba(45, 59, 54, 0.22) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Offset sage accent shape — behind image, peeking out */
.rbw-rooted-section .rbw-rooted-media::before {
    content: "";
    position: absolute;
    inset: 24px -24px -24px 24px;
    background: linear-gradient(135deg, rgba(107, 129, 105, 0.18) 0%, rgba(107, 129, 105, 0.08) 100%);
    border: 1px solid rgba(107, 129, 105, 0.25);
    border-radius: 18px;
    z-index: -1;
}

/* Clay corner brackets on image */
.rbw-rooted-section .rbw-rooted-media::after {
    content: "";
    position: absolute;
    top: -12px;
    left: -12px;
    width: 48px;
    height: 48px;
    border-top: 2px solid #B86F4F;
    border-left: 2px solid #B86F4F;
    border-top-left-radius: 10px;
    pointer-events: none;
    z-index: 3;
}

/* Floating stat badge over image */
.rbw-rooted-section .rbw-rooted-stat {
    position: absolute;
    bottom: 24px;
    left: 24px;
    z-index: 4;
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 20px;
    background: rgba(45, 59, 54, 0.85);
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    border: 1px solid rgba(245, 237, 223, 0.2);
    border-radius: 12px;
    box-shadow:
        0 12px 28px rgba(20, 30, 26, 0.32),
        0 4px 10px rgba(20, 30, 26, 0.18);
    color: #F5EDDF;
    max-width: 200px;
}

.rbw-rooted-section .rbw-rooted-stat-label {
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rbw-rooted-section .rbw-rooted-stat-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.28);
    animation: rbwRootedDot 2.4s ease-in-out infinite;
}

@keyframes rbwRootedDot {
    0%, 100% { box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.28); }
    50% { box-shadow: 0 0 0 5px rgba(184, 111, 79, 0.15); }
}

.rbw-rooted-section .rbw-rooted-stat-value {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 500;
    color: #F5EDDF;
    line-height: 1.3;
    margin-top: 2px;
}

/* === Entrance animations === */
.rbw-rooted-section .rbw-rooted-content {
    opacity: 0;
    transform: translateX(-20px);
    animation: rbwRootedContentIn 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}

@keyframes rbwRootedContentIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-rooted-section .rbw-rooted-media {
    opacity: 0;
    transform: translateX(20px);
    animation: rbwRootedMediaIn 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards;
}

@keyframes rbwRootedMediaIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-rooted-section .rbw-rooted-pullcard {
    opacity: 0;
    transform: translateY(12px);
    animation: rbwRootedPullIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.6s forwards;
}

@keyframes rbwRootedPullIn {
    to { opacity: 1; transform: translateY(0); }
}

.rbw-rooted-section .rbw-rooted-stat {
    opacity: 0;
    transform: scale(0.9);
    animation: rbwRootedStatIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.7s forwards;
}

@keyframes rbwRootedStatIn {
    to { opacity: 1; transform: scale(1); }
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-rooted-section {
        padding: 52px 20px !important;
    }

    .rbw-rooted-section .rbw-rooted-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
        max-width: 640px;
    }

    .rbw-rooted-section .rbw-rooted-media {
        max-width: 480px;
        margin: 0 auto;
        width: 100%;
    }

    .rbw-rooted-section .rbw-rooted-image-wrap {
        aspect-ratio: 4 / 4.2;
    }

    .rbw-rooted-section .rbw-rooted-heading {
        font-size: clamp(28px, 5.5vw, 42px) !important;
    }

    .rbw-rooted-section::after {
        font-size: clamp(120px, 24vw, 200px);
        bottom: -20px;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-rooted-section {
        padding: 44px 16px !important;
    }

    .rbw-rooted-section::after {
        font-size: 100px;
        bottom: -14px;
    }

    .rbw-rooted-section .rbw-rooted-image-wrap {
        border-radius: 14px;
        aspect-ratio: 4 / 4;
    }

    .rbw-rooted-section .rbw-rooted-media::before {
        inset: 18px -18px -18px 18px;
    }

    .rbw-rooted-section .rbw-rooted-media::after {
        width: 36px;
        height: 36px;
        top: -10px;
        left: -10px;
    }

    .rbw-rooted-section .rbw-rooted-eyebrow {
        font-size: 10px;
        letter-spacing: 0.2em;
        margin-bottom: 16px;
    }

    .rbw-rooted-section .rbw-rooted-eyebrow::before {
        width: 26px;
    }

    .rbw-rooted-section .rbw-rooted-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
        margin-bottom: 22px !important;
    }

    .rbw-rooted-section .rbw-rooted-text {
        font-size: 14.5px !important;
        line-height: 1.74 !important;
    }

    .rbw-rooted-section .rbw-rooted-pullcard {
        padding: 18px 18px 18px 22px;
        margin-top: 26px;
    }

    .rbw-rooted-section .rbw-rooted-pullcard::before {
        font-size: 36px;
        top: 6px;
        left: 10px;
    }

    .rbw-rooted-section .rbw-rooted-pull-text {
        font-size: 16px !important;
        margin-left: 18px !important;
    }

    .rbw-rooted-section .rbw-rooted-stat {
        bottom: 16px;
        left: 16px;
        padding: 12px 16px;
    }

    .rbw-rooted-section .rbw-rooted-stat-value {
        font-size: 16px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-rooted-section .rbw-rooted-content,
    .rbw-rooted-section .rbw-rooted-media,
    .rbw-rooted-section .rbw-rooted-pullcard,
    .rbw-rooted-section .rbw-rooted-stat,
    .rbw-rooted-section .rbw-rooted-image-wrap img,
    .rbw-rooted-section .rbw-rooted-stat-label::before {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW FAQ LUXE SECTION — Premium accordion (10 questions)
   
   Larger, more premium variant of the FAQ. Uses radio
   buttons for one-at-a-time open. Each question has a clay
   editorial number prefix (01, 02...). Custom hover states
   with glass-style background, animated plus icon, smooth
   answer expand with grid-template-rows trick.
   =========================================================== */

.rbw-faq-luxe-section {
    background:
        radial-gradient(ellipse 50% 40% at 50% 0%,
            rgba(201, 154, 142, 0.12), transparent 65%),
        radial-gradient(ellipse 40% 30% at 50% 100%,
            rgba(107, 129, 105, 0.1), transparent 70%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
}

/* Top hairline divider */
.rbw-faq-luxe-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* Decorative botanical sprig — top right */
.rbw-faq-luxe-section::after {
    content: "";
    position: absolute;
    top: 30px;
    right: 30px;
    width: 180px;
    height: 180px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M142 84 Q 154 84, 165 78 Q 156 92, 142 84 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.rbw-faq-luxe-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section header (centered) === */
.rbw-faq-luxe-section .rbw-faql-head {
    text-align: center;
    margin-bottom: 44px;
}

.rbw-faq-luxe-section .rbw-faql-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 18px;
}

.rbw-faq-luxe-section .rbw-faql-eyebrow::before,
.rbw-faq-luxe-section .rbw-faql-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

.rbw-faq-luxe-section .rbw-faql-heading,
.rbw-faq-luxe-section h2.rbw-faql-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.6vw, 56px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.018em !important;
    margin: 0 auto 14px !important;
    max-width: 760px !important;
    padding: 0 !important;
    text-align: center !important;
}

.rbw-faq-luxe-section .rbw-faql-subtitle {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: rgba(45, 59, 54, 0.7) !important;
    margin: 0 auto !important;
    max-width: 620px !important;
    padding: 0 !important;
    text-align: center !important;
}

/* === Accordion list === */
.rbw-faq-luxe-section .rbw-faql-list {
    list-style: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 880px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rbw-faq-luxe-section .rbw-faql-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    background: #FFFCF6;
    border: 1px solid rgba(201, 154, 142, 0.22);
    border-radius: 14px;
    box-shadow:
        0 4px 14px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: border-color 0.45s ease,
                box-shadow 0.45s ease,
                background 0.45s ease;
}

.rbw-faq-luxe-section .rbw-faql-list li:hover {
    border-color: rgba(184, 111, 79, 0.4);
    background: linear-gradient(180deg, #FFFEFA 0%, #FBF5E9 100%);
    box-shadow:
        0 10px 24px rgba(45, 59, 54, 0.08),
        0 3px 8px rgba(184, 111, 79, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

/* Hidden radio toggle (one-at-a-time) */
.rbw-faq-luxe-section .rbw-faql-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

/* Question — clickable label */
.rbw-faq-luxe-section .rbw-faql-q {
    display: grid;
    grid-template-columns: 36px 1fr 44px;
    gap: 18px;
    align-items: center;
    padding: 22px 24px;
    cursor: pointer;
    user-select: none;
    transition: padding 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Question line marker (horizontal clay line instead of number) */
.rbw-faq-luxe-section .rbw-faql-num {
    display: block;
    width: 28px;
    height: 1.5px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 1px;
    margin: 0;
    font-size: 0;
    color: transparent;
    transform-origin: left center;
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease;
}

/* Question text */
.rbw-faq-luxe-section .rbw-faql-q-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(17px, 1.9vw, 21px);
    font-weight: 500;
    color: #2D3B36;
    line-height: 1.3;
    letter-spacing: -0.005em;
    transition: color 0.4s ease;
}

/* Plus/minus toggle icon */
.rbw-faq-luxe-section .rbw-faql-icon {
    position: relative;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(184, 111, 79, 0.4);
    background: transparent;
    flex-shrink: 0;
    transition: background 0.45s ease,
                border-color 0.45s ease,
                transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
    justify-self: end;
}

.rbw-faq-luxe-section .rbw-faql-icon::before,
.rbw-faq-luxe-section .rbw-faql-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #B86F4F;
    border-radius: 1px;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease;
}

.rbw-faq-luxe-section .rbw-faql-icon::before {
    width: 13px;
    height: 1.6px;
    transform: translate(-50%, -50%);
}

.rbw-faq-luxe-section .rbw-faql-icon::after {
    width: 1.6px;
    height: 13px;
    transform: translate(-50%, -50%);
}

/* Hover state on question */
.rbw-faq-luxe-section .rbw-faql-list li:hover .rbw-faql-q-text {
    color: #B86F4F;
}

.rbw-faq-luxe-section .rbw-faql-list li:hover .rbw-faql-num {
    width: 36px;
    background: linear-gradient(90deg, #A35E40 0%, #B88579 100%);
}

.rbw-faq-luxe-section .rbw-faql-list li:hover .rbw-faql-icon {
    border-color: rgba(184, 111, 79, 0.7);
}

/* Answer — collapsed by default */
.rbw-faq-luxe-section .rbw-faql-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.45s ease;
    opacity: 0;
}

.rbw-faq-luxe-section .rbw-faql-a > div {
    overflow: hidden;
    min-height: 0;
}

.rbw-faq-luxe-section .rbw-faql-a p {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    margin: 0 24px 24px 78px !important;
    padding: 12px 0 0 0 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    border-top: 1px solid rgba(184, 111, 79, 0.18);
    max-width: 680px !important;
}

/* === Expanded state when radio is checked === */
.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-a {
    grid-template-rows: 1fr;
    opacity: 1;
}

.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-q-text {
    color: #B86F4F;
}

.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-num {
    width: 40px;
    background: linear-gradient(90deg, #A35E40 0%, #B88579 100%);
}

.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-icon {
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    border-color: transparent;
    transform: rotate(180deg);
    box-shadow: 0 4px 12px rgba(184, 111, 79, 0.32);
}

.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-icon::before,
.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-icon::after {
    background: #F5EDDF;
}

/* Vertical bar rotates 90° → becomes a minus */
.rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* Open card gets clay border + lift */
.rbw-faq-luxe-section .rbw-faql-list li:has(.rbw-faql-toggle:checked) {
    border-color: rgba(184, 111, 79, 0.5);
    box-shadow:
        0 14px 32px rgba(45, 59, 54, 0.1),
        0 4px 12px rgba(184, 111, 79, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 1);
    background: linear-gradient(180deg, #FFFEFA 0%, #FBF5E9 100%);
}

/* Keyboard focus visibility */
.rbw-faq-luxe-section .rbw-faql-toggle:focus-visible ~ .rbw-faql-q {
    outline: 2px solid rgba(184, 111, 79, 0.5);
    outline-offset: 3px;
    border-radius: 12px;
}

/* === Entrance animations === */
.rbw-faq-luxe-section .rbw-faql-head,
.rbw-faq-luxe-section .rbw-faql-list > li {
    opacity: 0;
    animation: rbwFadeUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-faq-luxe-section .rbw-faql-head { animation-delay: 0.1s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(1)  { animation-delay: 0.25s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(2)  { animation-delay: 0.30s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(3)  { animation-delay: 0.35s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(4)  { animation-delay: 0.40s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(5)  { animation-delay: 0.45s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(6)  { animation-delay: 0.50s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(7)  { animation-delay: 0.55s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(8)  { animation-delay: 0.60s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(9)  { animation-delay: 0.65s; }
.rbw-faq-luxe-section .rbw-faql-list > li:nth-child(10) { animation-delay: 0.70s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-faq-luxe-section {
        padding: 48px 20px !important;
    }

    .rbw-faq-luxe-section::after {
        width: 130px;
        height: 130px;
    }

    .rbw-faq-luxe-section .rbw-faql-heading {
        font-size: clamp(28px, 5.2vw, 42px) !important;
    }

    .rbw-faq-luxe-section .rbw-faql-q {
        grid-template-columns: 28px 1fr 38px;
        gap: 14px;
        padding: 20px 20px;
    }

    .rbw-faq-luxe-section .rbw-faql-num {
        width: 22px;
    }

    .rbw-faq-luxe-section .rbw-faql-list li:hover .rbw-faql-num {
        width: 28px;
    }

    .rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-num {
        width: 32px;
    }

    .rbw-faq-luxe-section .rbw-faql-a p {
        margin: 0 20px 22px 62px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-faq-luxe-section {
        padding: 40px 16px !important;
    }

    .rbw-faq-luxe-section::after {
        display: none;
    }

    .rbw-faq-luxe-section .rbw-faql-head {
        margin-bottom: 32px;
    }

    .rbw-faq-luxe-section .rbw-faql-list {
        gap: 8px;
    }

    .rbw-faq-luxe-section .rbw-faql-list li {
        border-radius: 12px;
    }

    .rbw-faq-luxe-section .rbw-faql-q {
        grid-template-columns: 22px 1fr 32px;
        gap: 12px;
        padding: 18px 16px;
    }

    .rbw-faq-luxe-section .rbw-faql-num {
        width: 18px;
        height: 1.3px;
    }

    .rbw-faq-luxe-section .rbw-faql-list li:hover .rbw-faql-num {
        width: 22px;
    }

    .rbw-faq-luxe-section .rbw-faql-toggle:checked ~ .rbw-faql-q .rbw-faql-num {
        width: 26px;
    }

    .rbw-faq-luxe-section .rbw-faql-q-text {
        font-size: 15.5px;
    }

    .rbw-faq-luxe-section .rbw-faql-icon {
        width: 30px;
        height: 30px;
    }

    .rbw-faq-luxe-section .rbw-faql-icon::before {
        width: 11px;
    }

    .rbw-faq-luxe-section .rbw-faql-icon::after {
        height: 11px;
    }

    .rbw-faq-luxe-section .rbw-faql-a p {
        font-size: 14.5px !important;
        line-height: 1.72 !important;
        margin: 0 16px 18px 50px !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-faq-luxe-section .rbw-faql-head,
    .rbw-faq-luxe-section .rbw-faql-list > li,
    .rbw-faq-luxe-section .rbw-faql-q,
    .rbw-faq-luxe-section .rbw-faql-icon,
    .rbw-faq-luxe-section .rbw-faql-a {
        animation: none !important;
        opacity: 1 !important;
        transition: none !important;
    }
}

/* ===========================================================
   RBW SUPPORT SECTION — Header on top + asymmetric body
   
   STRUCTURE:
   - TOP: Centered editorial header (eyebrow + heading + paragraph)
   - BOTTOM: Image left (compact 4:5) + Services 2-col grid right
   
   Image stays proper size, services display as a refined
   2-column editorial grid with clay markers and italic names.
   =========================================================== */

.rbw-support-section {
    background:
        radial-gradient(ellipse 60% 50% at 8% 12%,
            rgba(184, 111, 79, 0.12), transparent 60%),
        radial-gradient(ellipse 50% 40% at 92% 88%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
}

/* Top hairline divider */
.rbw-support-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* Editorial italic watermark — "support" bottom-right */
.rbw-support-section::after {
    content: "support";
    position: absolute;
    bottom: -36px;
    right: -10px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(160px, 22vw, 280px);
    font-weight: 400;
    line-height: 1;
    color: rgba(184, 111, 79, 0.06);
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.04em;
    user-select: none;
}

.rbw-support-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section wrapper === */
.rbw-support-section .rbw-support-wrap {
    max-width: 1160px;
    margin: 0 auto;
    position: relative;
}

/* === TOP: Centered editorial header === */
.rbw-support-section .rbw-support-head {
    text-align: center;
    max-width: 100%;
    margin: 0 auto 56px;
    position: relative;
}

.rbw-support-section .rbw-support-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 20px;
}

.rbw-support-section .rbw-support-eyebrow::before,
.rbw-support-section .rbw-support-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

.rbw-support-section .rbw-support-heading,
.rbw-support-section h2.rbw-support-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.8vw, 56px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    margin: 0 auto 22px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
}

.rbw-support-section .rbw-support-text {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
    letter-spacing: 0 !important;
}

/* Decorative closing ornament below paragraph */
.rbw-support-section .rbw-support-head::after {
    content: "";
    display: block;
    width: 56px;
    height: 1px;
    margin: 26px auto 0;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

/* === BOTTOM: Asymmetric image + 2-col services === */
.rbw-support-section .rbw-support-body {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: 48px;
    align-items: stretch;
}

/* === LEFT: Compact image with all WOW layers === */
.rbw-support-section .rbw-support-media {
    position: relative;
}

.rbw-support-section .rbw-support-image-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 30px 60px rgba(45, 59, 54, 0.18),
        0 12px 24px rgba(45, 59, 54, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    isolation: isolate;
}

.rbw-support-section .rbw-support-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.05);
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-support-section .rbw-support-image-wrap:hover img {
    transform: scale(1.04);
}

/* Soft bottom overlay on image */
.rbw-support-section .rbw-support-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 55%,
        rgba(45, 59, 54, 0.22) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Sage offset shape behind image — peeks bottom-left */
.rbw-support-section .rbw-support-media::before {
    content: "";
    position: absolute;
    inset: 24px 24px -24px -24px;
    background: linear-gradient(135deg, rgba(107, 129, 105, 0.2) 0%, rgba(107, 129, 105, 0.08) 100%);
    border: 1px solid rgba(107, 129, 105, 0.25);
    border-radius: 18px;
    z-index: -1;
}

/* Clay corner bracket top-right */
.rbw-support-section .rbw-support-media::after {
    content: "";
    position: absolute;
    top: -12px;
    right: -12px;
    width: 48px;
    height: 48px;
    border-top: 2px solid #B86F4F;
    border-right: 2px solid #B86F4F;
    border-top-right-radius: 10px;
    pointer-events: none;
    z-index: 3;
}

/* Floating stat badge over image — bottom-right */
.rbw-support-section .rbw-support-stat {
    position: absolute;
    bottom: 24px;
    right: 24px;
    z-index: 4;
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 20px;
    background: rgba(45, 59, 54, 0.85);
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    border: 1px solid rgba(245, 237, 223, 0.2);
    border-radius: 12px;
    box-shadow:
        0 12px 28px rgba(20, 30, 26, 0.32),
        0 4px 10px rgba(20, 30, 26, 0.18);
    color: #F5EDDF;
    max-width: 200px;
}

.rbw-support-section .rbw-support-stat-label {
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rbw-support-section .rbw-support-stat-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.28);
    animation: rbwSupportDot 2.4s ease-in-out infinite;
}

@keyframes rbwSupportDot {
    0%, 100% { box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.28); }
    50% { box-shadow: 0 0 0 5px rgba(184, 111, 79, 0.15); }
}

.rbw-support-section .rbw-support-stat-value {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 17px;
    font-weight: 500;
    color: #F5EDDF;
    line-height: 1.3;
    margin-top: 2px;
}

/* === RIGHT: Services 2-column grid === */
.rbw-support-section .rbw-support-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 36px;
    align-content: start;
}

.rbw-support-section .rbw-support-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    border-bottom: 1px solid rgba(184, 111, 79, 0.18);
    transition: border-color 0.4s ease;
}

.rbw-support-section .rbw-support-list li:hover {
    border-bottom-color: rgba(184, 111, 79, 0.5);
}

/* Anchor — entire card is clickable for accessibility & SEO */
.rbw-support-section .rbw-support-list a {
    display: block;
    padding: 0 0 22px 0;
    text-decoration: none !important;
    color: inherit !important;
    position: relative;
    transition: padding-left 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-support-section .rbw-support-list a:hover,
.rbw-support-section .rbw-support-list a:focus-visible {
    padding-left: 6px;
    outline: none;
}

/* Clay line marker at top of each card */
.rbw-support-section .rbw-support-list li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 32px;
    height: 1.5px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 1px;
    transform-origin: left center;
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease;
    z-index: 1;
}

.rbw-support-section .rbw-support-list li:hover::before {
    width: 48px;
    background: linear-gradient(90deg, #A35E40 0%, #B88579 100%);
}

/* Service name — italic Cormorant */
.rbw-support-section .rbw-support-list .rbw-support-service-name {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.008em !important;
    margin: 16px 0 10px 0 !important;
    padding: 0 !important;
    transition: color 0.35s ease;
}

.rbw-support-section .rbw-support-list a:hover .rbw-support-service-name {
    color: #B86F4F !important;
}

/* Service description */
.rbw-support-section .rbw-support-list .rbw-support-service-desc {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: rgba(45, 59, 54, 0.7) !important;
    letter-spacing: 0 !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}

/* CTA — "Explore service →" link affordance */
.rbw-support-section .rbw-support-list .rbw-support-service-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: none !important;
    color: #B86F4F !important;
    line-height: 1.3 !important;
    transition: gap 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.3s ease;
    position: relative;
    padding-bottom: 2px;
}

/* Subtle underline that grows on hover */
.rbw-support-section .rbw-support-list .rbw-support-service-cta::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 0.35;
    transition: opacity 0.3s ease;
}

.rbw-support-section .rbw-support-list a:hover .rbw-support-service-cta::before {
    opacity: 0.8;
}

.rbw-support-section .rbw-support-list .rbw-support-service-cta::after {
    content: "→";
    font-size: 14px;
    line-height: 1;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    color: #B86F4F;
}

.rbw-support-section .rbw-support-list a:hover .rbw-support-service-cta {
    gap: 12px;
    color: #A35E40 !important;
}

.rbw-support-section .rbw-support-list a:hover .rbw-support-service-cta::after {
    transform: translateX(4px);
    color: #A35E40;
}

/* Focus-visible accessibility outline */
.rbw-support-section .rbw-support-list a:focus-visible {
    outline: 2px solid rgba(184, 111, 79, 0.5);
    outline-offset: 6px;
    border-radius: 6px;
}

/* Hide old em-dash separator (if reused) */
.rbw-support-section .rbw-support-list .rbw-support-service-sep {
    display: none !important;
}

/* === Entrance animations === */
.rbw-support-section .rbw-support-head,
.rbw-support-section .rbw-support-media,
.rbw-support-section .rbw-support-list li {
    opacity: 0;
    animation: rbwFadeUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-support-section .rbw-support-head      { animation-delay: 0.1s; }
.rbw-support-section .rbw-support-media     { animation-delay: 0.3s; }
.rbw-support-section .rbw-support-list li:nth-child(1) { animation-delay: 0.45s; }
.rbw-support-section .rbw-support-list li:nth-child(2) { animation-delay: 0.52s; }
.rbw-support-section .rbw-support-list li:nth-child(3) { animation-delay: 0.59s; }
.rbw-support-section .rbw-support-list li:nth-child(4) { animation-delay: 0.66s; }
.rbw-support-section .rbw-support-list li:nth-child(5) { animation-delay: 0.73s; }
.rbw-support-section .rbw-support-list li:nth-child(6) { animation-delay: 0.80s; }

.rbw-support-section .rbw-support-stat {
    opacity: 0;
    transform: scale(0.9);
    animation: rbwSupportStatIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.55s forwards;
}

@keyframes rbwSupportStatIn {
    to { opacity: 1; transform: scale(1); }
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-support-section {
        padding: 48px 20px !important;
    }

    .rbw-support-section::after {
        font-size: clamp(120px, 24vw, 200px);
        bottom: -22px;
    }

    .rbw-support-section .rbw-support-head {
        margin-bottom: 44px;
    }

    .rbw-support-section .rbw-support-heading {
        font-size: clamp(28px, 5.5vw, 42px) !important;
    }

    .rbw-support-section .rbw-support-body {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .rbw-support-section .rbw-support-media {
        max-width: 460px;
        margin: 0 auto;
        width: 100%;
    }

    .rbw-support-section .rbw-support-image-wrap {
        aspect-ratio: 4 / 4.2;
    }

    .rbw-support-section .rbw-support-list {
        gap: 22px 32px;
    }

    .rbw-support-section .rbw-support-list .rbw-support-service-name {
        font-size: 19px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-support-section {
        padding: 40px 16px !important;
    }

    .rbw-support-section::after {
        font-size: 100px;
        bottom: -16px;
    }

    .rbw-support-section .rbw-support-head {
        margin-bottom: 36px;
    }

    .rbw-support-section .rbw-support-head::after {
        margin-top: 22px;
    }

    .rbw-support-section .rbw-support-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        margin-bottom: 16px;
    }

    .rbw-support-section .rbw-support-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
        margin-bottom: 18px !important;
    }

    .rbw-support-section .rbw-support-text {
        font-size: 14.5px !important;
        line-height: 1.74 !important;
    }

    .rbw-support-section .rbw-support-body {
        gap: 36px;
    }

    .rbw-support-section .rbw-support-image-wrap {
        border-radius: 14px;
        aspect-ratio: 4 / 4;
    }

    .rbw-support-section .rbw-support-media::before {
        inset: 18px 18px -18px -18px;
    }

    .rbw-support-section .rbw-support-media::after {
        width: 36px;
        height: 36px;
        top: -10px;
        right: -10px;
    }

    .rbw-support-section .rbw-support-stat {
        bottom: 16px;
        right: 16px;
        padding: 12px 16px;
    }

    .rbw-support-section .rbw-support-stat-value {
        font-size: 15px;
    }

    .rbw-support-section .rbw-support-list {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .rbw-support-section .rbw-support-list li {
        padding-bottom: 20px !important;
    }

    .rbw-support-section .rbw-support-list li::before {
        margin-bottom: 12px;
        width: 26px;
    }

    .rbw-support-section .rbw-support-list li:hover::before {
        width: 36px;
    }

    .rbw-support-section .rbw-support-list .rbw-support-service-name {
        font-size: 17.5px !important;
        margin-bottom: 8px;
    }

    .rbw-support-section .rbw-support-list .rbw-support-service-desc {
        font-size: 13.5px !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-support-section .rbw-support-head,
    .rbw-support-section .rbw-support-media,
    .rbw-support-section .rbw-support-list li,
    .rbw-support-section .rbw-support-stat,
    .rbw-support-section .rbw-support-image-wrap img,
    .rbw-support-section .rbw-support-stat-label::before {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW AIRDRIE SECTION — Centered editorial spread, no image
   
   Premium centered editorial layout with decorative botanicals
   on both sides, italic watermark "Airdrie" in background,
   line·dot·line ornament, italic Cormorant heading, body
   paragraph with first-letter drop-cap accent, clay gradient
   CTA button with animated arrow.
   =========================================================== */

.rbw-airdrie-section {
    background:
        radial-gradient(ellipse 50% 40% at 50% 0%,
            rgba(184, 111, 79, 0.12), transparent 60%),
        radial-gradient(ellipse 60% 40% at 8% 100%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        radial-gradient(ellipse 60% 40% at 92% 100%,
            rgba(201, 154, 142, 0.1), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 64px 20px !important;
}

/* Top hairline divider */
.rbw-airdrie-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* ============================================
   EDITORIAL CITY WATERMARK — TRIPLE STRATEGY
   ============================================
   Auto-detects city across all service area pages using 3 cascading strategies:
   
   1. DEFAULT: Shows "Airdrie" if no detection match (homepage callout)
   2. WEBWARE PAGE HANDLE: Auto-detects city from body class (Webware adds this
      automatically based on page URL — ZERO HTML changes needed)
   3. data-city ATTRIBUTE: Universal override for any future city or custom usage
   
   Adding a new city page:
   Option A → Just add 1 CSS line below with the new handle (recommended)
   Option B → Use <section class="rbw-airdrie-section" data-city="NewCity"> on the page
   ============================================ */
.rbw-airdrie-section::after {
    content: "Airdrie";
    position: absolute;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(140px, 20vw, 260px);
    font-weight: 400;
    line-height: 1;
    color: rgba(184, 111, 79, 0.05);
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.04em;
    user-select: none;
    white-space: nowrap;
}

/* === Strategy 2: Auto-detect from Webware page handle (URL-based) === */
/* Each service area page has body.handle-holistic-life-coaching-services-{city}
   automatically added by Webware. No HTML changes needed on these pages. */
body.handle-holistic-life-coaching-services-airdrie .rbw-airdrie-section::after { content: "Airdrie"; }
body.handle-holistic-life-coaching-services-calgary .rbw-airdrie-section::after { content: "Calgary"; }
body.handle-holistic-life-coaching-services-vancouver .rbw-airdrie-section::after { content: "Vancouver"; }
body.handle-holistic-life-coaching-services-toronto .rbw-airdrie-section::after { content: "Toronto"; }
body.handle-holistic-life-coaching-services-edmonton .rbw-airdrie-section::after { content: "Edmonton"; }

/* === Strategy 3: Universal data-city override (highest priority) === */
/* Works for any custom city without touching CSS. Use as last resort or for
   experimental pages. Declared last + uses body in selector for higher specificity
   so it wins over body.handle rules when both are present. */
body .rbw-airdrie-section[data-city]::after {
    content: attr(data-city);
}

.rbw-airdrie-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Wrap === */
.rbw-airdrie-section .rbw-airdrie-wrap {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

/* Decorative botanical — top-left of wrap */
.rbw-airdrie-section .rbw-airdrie-wrap::before {
    content: "";
    position: absolute;
    top: -10px;
    left: -80px;
    width: 110px;
    height: 130px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240' fill='none'><path d='M40 20 Q 60 70, 90 130 Q 100 170, 105 220' stroke='%236B8169' stroke-width='1.4' stroke-opacity='0.35' fill='none' stroke-linecap='round'/><path d='M52 48 Q 32 44, 24 32 Q 38 50, 52 48 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M64 78 Q 44 78, 32 70 Q 48 88, 64 78 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M76 110 Q 56 114, 42 108 Q 60 122, 76 110 Z' fill='%236B8169' fill-opacity='0.18'/><path d='M88 142 Q 70 148, 56 144 Q 74 156, 88 142 Z' fill='%236B8169' fill-opacity='0.18'/><circle cx='105' cy='220' r='3' fill='%23B86F4F' fill-opacity='0.5'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

/* Decorative botanical — top-right of wrap (mirrored) */
.rbw-airdrie-section .rbw-airdrie-wrap::after {
    content: "";
    position: absolute;
    top: -10px;
    right: -80px;
    width: 110px;
    height: 130px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 240' fill='none'><g transform='scale(-1 1) translate(-200 0)'><path d='M40 20 Q 60 70, 90 130 Q 100 170, 105 220' stroke='%23B86F4F' stroke-width='1.4' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M52 48 Q 32 44, 24 32 Q 38 50, 52 48 Z' fill='%23B86F4F' fill-opacity='0.15'/><path d='M64 78 Q 44 78, 32 70 Q 48 88, 64 78 Z' fill='%23B86F4F' fill-opacity='0.15'/><path d='M76 110 Q 56 114, 42 108 Q 60 122, 76 110 Z' fill='%23B86F4F' fill-opacity='0.15'/><path d='M88 142 Q 70 148, 56 144 Q 74 156, 88 142 Z' fill='%23B86F4F' fill-opacity='0.15'/><circle cx='105' cy='220' r='3' fill='%236B8169' fill-opacity='0.5'/></g></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

/* Inner content layer (above botanicals) */
.rbw-airdrie-section .rbw-airdrie-content {
    position: relative;
    z-index: 1;
}

/* === Top ornament — line·dot·line (with double dot ring) === */
.rbw-airdrie-section .rbw-airdrie-ornament {
    display: block;
    width: 120px;
    height: 12px;
    margin: 0 auto 28px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' fill='none'><line x1='0' y1='6' x2='44' y2='6' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.7'/><circle cx='60' cy='6' r='3' fill='%23B86F4F'/><circle cx='60' cy='6' r='6' fill='none' stroke='%23B86F4F' stroke-width='0.7' stroke-opacity='0.35'/><circle cx='60' cy='6' r='10' fill='none' stroke='%23B86F4F' stroke-width='0.4' stroke-opacity='0.18'/><line x1='76' y1='6' x2='120' y2='6' stroke='%23B86F4F' stroke-width='1' stroke-opacity='0.7'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Eyebrow label */
.rbw-airdrie-section .rbw-airdrie-eyebrow {
    display: inline-block;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin: 0 auto 18px;
    padding: 0;
}

/* === Heading === */
.rbw-airdrie-section .rbw-airdrie-heading,
.rbw-airdrie-section h2.rbw-airdrie-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 5vw, 60px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    margin: 0 auto 32px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 800px !important;
    position: relative;
}

/* "Airdrie" word highlighted with subtle clay underline accent */
.rbw-airdrie-section .rbw-airdrie-highlight {
    position: relative;
    display: inline-block;
    color: #B86F4F !important;
}

.rbw-airdrie-section .rbw-airdrie-highlight::after {
    content: "";
    position: absolute;
    bottom: 0.08em;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.25) 20%,
        rgba(184, 111, 79, 0.25) 80%,
        transparent);
    border-radius: 4px;
    z-index: -1;
}

/* === Body text === */
.rbw-airdrie-section .rbw-airdrie-text {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
    color: rgba(45, 59, 54, 0.82) !important;
    margin: 0 auto 40px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 780px !important;
    letter-spacing: 0 !important;
}

/* === CTA button — premium clay gradient pill === */
.rbw-airdrie-section .rbw-airdrie-cta-wrap {
    text-align: center;
    margin: 0;
}

.rbw-airdrie-section .rbw-airdrie-cta,
.rbw-airdrie-section a.rbw-airdrie-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%) !important;
    color: #F5EDDF !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 100px;
    cursor: pointer;
    box-shadow:
        0 10px 26px rgba(184, 111, 79, 0.35),
        0 3px 8px rgba(184, 111, 79, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.45s ease,
                background 0.45s ease,
                gap 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

/* Arrow */
.rbw-airdrie-section .rbw-airdrie-cta::after {
    content: "→";
    font-size: 16px;
    line-height: 1;
    color: #F5EDDF;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Shimmer sweep on hover */
.rbw-airdrie-section .rbw-airdrie-cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(255, 255, 255, 0.22),
        transparent);
    transition: left 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-airdrie-section .rbw-airdrie-cta:hover,
.rbw-airdrie-section .rbw-airdrie-cta:focus-visible {
    background: linear-gradient(135deg, #A35E40 0%, #B88579 100%) !important;
    color: #F5EDDF !important;
    transform: translateY(-3px);
    gap: 16px;
    box-shadow:
        0 18px 38px rgba(184, 111, 79, 0.45),
        0 6px 14px rgba(184, 111, 79, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.24);
    outline: none;
}

.rbw-airdrie-section .rbw-airdrie-cta:hover::after,
.rbw-airdrie-section .rbw-airdrie-cta:focus-visible::after {
    transform: translateX(4px);
}

.rbw-airdrie-section .rbw-airdrie-cta:hover::before {
    left: 100%;
}

.rbw-airdrie-section .rbw-airdrie-cta:focus-visible {
    outline: 3px solid rgba(184, 111, 79, 0.3);
    outline-offset: 4px;
}

/* === Closing ornament below CTA === */
.rbw-airdrie-section .rbw-airdrie-content::after {
    content: "";
    display: block;
    width: 56px;
    height: 1px;
    margin: 44px auto 0;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

/* === Entrance animations === */
.rbw-airdrie-section .rbw-airdrie-ornament,
.rbw-airdrie-section .rbw-airdrie-eyebrow,
.rbw-airdrie-section .rbw-airdrie-heading,
.rbw-airdrie-section .rbw-airdrie-text,
.rbw-airdrie-section .rbw-airdrie-cta-wrap,
.rbw-airdrie-section .rbw-airdrie-wrap::before,
.rbw-airdrie-section .rbw-airdrie-wrap::after {
    opacity: 0;
    animation: rbwFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-airdrie-section .rbw-airdrie-wrap::before  { animation-delay: 0.15s; }
.rbw-airdrie-section .rbw-airdrie-wrap::after   { animation-delay: 0.2s; }
.rbw-airdrie-section .rbw-airdrie-ornament      { animation-delay: 0.25s; }
.rbw-airdrie-section .rbw-airdrie-eyebrow       { animation-delay: 0.35s; }
.rbw-airdrie-section .rbw-airdrie-heading       { animation-delay: 0.45s; }
.rbw-airdrie-section .rbw-airdrie-text          { animation-delay: 0.6s; }
.rbw-airdrie-section .rbw-airdrie-cta-wrap      { animation-delay: 0.75s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-airdrie-section {
        padding: 52px 20px !important;
    }

    .rbw-airdrie-section::after {
        font-size: clamp(100px, 22vw, 180px);
        bottom: -22px;
    }

    .rbw-airdrie-section .rbw-airdrie-wrap::before {
        left: -30px;
        width: 80px;
        height: 100px;
        top: -6px;
    }

    .rbw-airdrie-section .rbw-airdrie-wrap::after {
        right: -30px;
        width: 80px;
        height: 100px;
        top: -6px;
    }

    .rbw-airdrie-section .rbw-airdrie-heading {
        font-size: clamp(28px, 5.5vw, 44px) !important;
        margin-bottom: 26px !important;
    }

    .rbw-airdrie-section .rbw-airdrie-text {
        font-size: 15.5px !important;
        line-height: 1.78 !important;
        margin-bottom: 34px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-airdrie-section {
        padding: 44px 18px !important;
    }

    .rbw-airdrie-section::after {
        font-size: 90px;
        bottom: -14px;
    }

    .rbw-airdrie-section .rbw-airdrie-wrap::before,
    .rbw-airdrie-section .rbw-airdrie-wrap::after {
        display: none;
    }

    .rbw-airdrie-section .rbw-airdrie-ornament {
        width: 96px;
        margin-bottom: 22px;
    }

    .rbw-airdrie-section .rbw-airdrie-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        margin-bottom: 14px;
    }

    .rbw-airdrie-section .rbw-airdrie-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
        margin-bottom: 22px !important;
    }

    .rbw-airdrie-section .rbw-airdrie-text {
        font-size: 14.5px !important;
        line-height: 1.72 !important;
        margin-bottom: 30px !important;
        text-align: left !important;
    }

    .rbw-airdrie-section .rbw-airdrie-cta {
        padding: 14px 26px !important;
        font-size: 12px !important;
        letter-spacing: 0.14em !important;
        gap: 10px !important;
    }

    .rbw-airdrie-section .rbw-airdrie-content::after {
        margin-top: 36px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-airdrie-section .rbw-airdrie-ornament,
    .rbw-airdrie-section .rbw-airdrie-eyebrow,
    .rbw-airdrie-section .rbw-airdrie-heading,
    .rbw-airdrie-section .rbw-airdrie-text,
    .rbw-airdrie-section .rbw-airdrie-cta-wrap,
    .rbw-airdrie-section .rbw-airdrie-wrap::before,
    .rbw-airdrie-section .rbw-airdrie-wrap::after,
    .rbw-airdrie-section .rbw-airdrie-cta::before {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ===========================================================
   RBW NEEDS SECTION — Header on top + image + 2-col services
   
   Same layout pattern as .rbw-support-section:
   - TOP: Centered editorial header (eyebrow + heading + paragraph)
   - BOTTOM: Image left (4:5) + Services 2-col grid right
   
   Used for "Coaching Services Designed Around Your Needs"
   content with image and clickable service links.
   =========================================================== */

.rbw-needs-section {
    background:
        radial-gradient(ellipse 60% 50% at 92% 12%,
            rgba(184, 111, 79, 0.12), transparent 60%),
        radial-gradient(ellipse 50% 40% at 8% 88%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        linear-gradient(180deg, #F3EAD9 0%, #FAF4E6 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
}

/* Top hairline divider */
.rbw-needs-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* Editorial italic watermark — "needs" in background */
.rbw-needs-section::after {
    content: "Needs";
    position: absolute;
    bottom: -32px;
    right: -10px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(160px, 22vw, 280px);
    font-weight: 400;
    line-height: 1;
    color: rgba(184, 111, 79, 0.06);
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.04em;
    user-select: none;
}

.rbw-needs-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Section wrapper === */
.rbw-needs-section .rbw-needs-wrap {
    max-width: 1160px;
    margin: 0 auto;
    position: relative;
}

/* === TOP: Centered editorial header === */
.rbw-needs-section .rbw-needs-head {
    text-align: center;
    margin: 0 auto 56px;
    max-width: 100%;
    position: relative;
}

.rbw-needs-section .rbw-needs-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 20px;
}

.rbw-needs-section .rbw-needs-eyebrow::before,
.rbw-needs-section .rbw-needs-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

.rbw-needs-section .rbw-needs-heading,
.rbw-needs-section h2.rbw-needs-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(32px, 4.8vw, 56px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    margin: 0 auto 22px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
}

.rbw-needs-section .rbw-needs-text {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.78 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
    letter-spacing: 0 !important;
}

/* Decorative closing ornament below paragraph */
.rbw-needs-section .rbw-needs-head::after {
    content: "";
    display: block;
    width: 56px;
    height: 1px;
    margin: 26px auto 0;
    background: linear-gradient(90deg, transparent, #B86F4F, transparent);
}

/* === BOTTOM: Asymmetric image + 2-col services === */
.rbw-needs-section .rbw-needs-body {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: 48px;
    align-items: stretch;
}

/* === LEFT: Compact image === */
.rbw-needs-section .rbw-needs-media {
    position: relative;
}

.rbw-needs-section .rbw-needs-image-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 30px 60px rgba(45, 59, 54, 0.18),
        0 12px 24px rgba(45, 59, 54, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    isolation: isolate;
}

.rbw-needs-section .rbw-needs-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.05);
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-needs-section .rbw-needs-image-wrap:hover img {
    transform: scale(1.04);
}

/* Soft bottom overlay */
.rbw-needs-section .rbw-needs-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 55%,
        rgba(45, 59, 54, 0.22) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Sage offset shape — peeks bottom-right (mirror of support section) */
.rbw-needs-section .rbw-needs-media::before {
    content: "";
    position: absolute;
    inset: 24px -24px -24px 24px;
    background: linear-gradient(135deg, rgba(107, 129, 105, 0.2) 0%, rgba(107, 129, 105, 0.08) 100%);
    border: 1px solid rgba(107, 129, 105, 0.25);
    border-radius: 18px;
    z-index: -1;
}

/* Clay corner bracket top-left (mirror of support section) */
.rbw-needs-section .rbw-needs-media::after {
    content: "";
    position: absolute;
    top: -12px;
    left: -12px;
    width: 48px;
    height: 48px;
    border-top: 2px solid #B86F4F;
    border-left: 2px solid #B86F4F;
    border-top-left-radius: 10px;
    pointer-events: none;
    z-index: 3;
}

/* Floating stat badge — bottom-left */
.rbw-needs-section .rbw-needs-stat {
    position: absolute;
    bottom: 24px;
    left: 24px;
    z-index: 4;
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 20px;
    background: rgba(45, 59, 54, 0.85);
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    border: 1px solid rgba(245, 237, 223, 0.2);
    border-radius: 12px;
    box-shadow:
        0 12px 28px rgba(20, 30, 26, 0.32),
        0 4px 10px rgba(20, 30, 26, 0.18);
    color: #F5EDDF;
    max-width: 200px;
}

.rbw-needs-section .rbw-needs-stat-label {
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C99A8E;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rbw-needs-section .rbw-needs-stat-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.28);
    animation: rbwNeedsDot 2.4s ease-in-out infinite;
}

@keyframes rbwNeedsDot {
    0%, 100% { box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.28); }
    50% { box-shadow: 0 0 0 5px rgba(184, 111, 79, 0.15); }
}

.rbw-needs-section .rbw-needs-stat-value {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 17px;
    font-weight: 500;
    color: #F5EDDF;
    line-height: 1.3;
    margin-top: 2px;
}

/* === RIGHT: Services 2-column grid === */
.rbw-needs-section .rbw-needs-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 36px;
    align-content: start;
}

.rbw-needs-section .rbw-needs-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    border-bottom: 1px solid rgba(184, 111, 79, 0.18);
    transition: border-color 0.4s ease;
}

.rbw-needs-section .rbw-needs-list li:hover {
    border-bottom-color: rgba(184, 111, 79, 0.5);
}

/* Anchor — entire card clickable */
.rbw-needs-section .rbw-needs-list a {
    display: block;
    padding: 0 0 22px 0;
    text-decoration: none !important;
    color: inherit !important;
    position: relative;
    transition: padding-left 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-needs-section .rbw-needs-list a:hover,
.rbw-needs-section .rbw-needs-list a:focus-visible {
    padding-left: 6px;
    outline: none;
}

/* Clay line marker at top */
.rbw-needs-section .rbw-needs-list li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 32px;
    height: 1.5px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 1px;
    transform-origin: left center;
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease;
    z-index: 1;
}

.rbw-needs-section .rbw-needs-list li:hover::before {
    width: 48px;
    background: linear-gradient(90deg, #A35E40 0%, #B88579 100%);
}

/* Service name — italic Cormorant */
.rbw-needs-section .rbw-needs-list .rbw-needs-service-name {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.008em !important;
    margin: 16px 0 10px 0 !important;
    padding: 0 !important;
    transition: color 0.35s ease;
}

.rbw-needs-section .rbw-needs-list a:hover .rbw-needs-service-name {
    color: #B86F4F !important;
}

/* Service description */
.rbw-needs-section .rbw-needs-list .rbw-needs-service-desc {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: rgba(45, 59, 54, 0.7) !important;
    letter-spacing: 0 !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}

/* CTA — descriptive link with underline */
.rbw-needs-section .rbw-needs-list .rbw-needs-service-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    color: #B86F4F !important;
    line-height: 1.3 !important;
    transition: gap 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.3s ease;
    position: relative;
    padding-bottom: 2px;
}

.rbw-needs-section .rbw-needs-list .rbw-needs-service-cta::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 0.35;
    transition: opacity 0.3s ease;
}

.rbw-needs-section .rbw-needs-list a:hover .rbw-needs-service-cta::before {
    opacity: 0.8;
}

.rbw-needs-section .rbw-needs-list .rbw-needs-service-cta::after {
    content: "→";
    font-size: 14px;
    line-height: 1;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-needs-section .rbw-needs-list a:hover .rbw-needs-service-cta {
    gap: 12px;
    color: #A35E40 !important;
}

.rbw-needs-section .rbw-needs-list a:hover .rbw-needs-service-cta::after {
    transform: translateX(4px);
}

/* Focus-visible accessibility */
.rbw-needs-section .rbw-needs-list a:focus-visible {
    outline: 2px solid rgba(184, 111, 79, 0.5);
    outline-offset: 6px;
    border-radius: 6px;
}

/* === Entrance animations === */
.rbw-needs-section .rbw-needs-head,
.rbw-needs-section .rbw-needs-media,
.rbw-needs-section .rbw-needs-list li {
    opacity: 0;
    animation: rbwFadeUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-needs-section .rbw-needs-head      { animation-delay: 0.1s; }
.rbw-needs-section .rbw-needs-media     { animation-delay: 0.3s; }
.rbw-needs-section .rbw-needs-list li:nth-child(1) { animation-delay: 0.45s; }
.rbw-needs-section .rbw-needs-list li:nth-child(2) { animation-delay: 0.52s; }
.rbw-needs-section .rbw-needs-list li:nth-child(3) { animation-delay: 0.59s; }
.rbw-needs-section .rbw-needs-list li:nth-child(4) { animation-delay: 0.66s; }
.rbw-needs-section .rbw-needs-list li:nth-child(5) { animation-delay: 0.73s; }
.rbw-needs-section .rbw-needs-list li:nth-child(6) { animation-delay: 0.80s; }

.rbw-needs-section .rbw-needs-stat {
    opacity: 0;
    transform: scale(0.9);
    animation: rbwNeedsStatIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.55s forwards;
}

@keyframes rbwNeedsStatIn {
    to { opacity: 1; transform: scale(1); }
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-needs-section {
        padding: 48px 20px !important;
    }

    .rbw-needs-section::after {
        font-size: clamp(120px, 24vw, 200px);
        bottom: -22px;
    }

    .rbw-needs-section .rbw-needs-head {
        margin-bottom: 44px;
    }

    .rbw-needs-section .rbw-needs-heading {
        font-size: clamp(28px, 5.5vw, 42px) !important;
    }

    .rbw-needs-section .rbw-needs-body {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .rbw-needs-section .rbw-needs-media {
        max-width: 460px;
        margin: 0 auto;
        width: 100%;
    }

    .rbw-needs-section .rbw-needs-image-wrap {
        aspect-ratio: 4 / 4.2;
    }

    .rbw-needs-section .rbw-needs-list {
        gap: 22px 32px;
    }

    .rbw-needs-section .rbw-needs-list .rbw-needs-service-name {
        font-size: 19px !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-needs-section {
        padding: 40px 16px !important;
    }

    .rbw-needs-section::after {
        font-size: 100px;
        bottom: -16px;
    }

    .rbw-needs-section .rbw-needs-head {
        margin-bottom: 36px;
    }

    .rbw-needs-section .rbw-needs-head::after {
        margin-top: 22px;
    }

    .rbw-needs-section .rbw-needs-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        margin-bottom: 16px;
    }

    .rbw-needs-section .rbw-needs-heading {
        font-size: clamp(24px, 7vw, 32px) !important;
        margin-bottom: 18px !important;
    }

    .rbw-needs-section .rbw-needs-text {
        font-size: 14.5px !important;
        line-height: 1.74 !important;
    }

    .rbw-needs-section .rbw-needs-body {
        gap: 36px;
    }

    .rbw-needs-section .rbw-needs-image-wrap {
        border-radius: 14px;
        aspect-ratio: 4 / 4;
    }

    .rbw-needs-section .rbw-needs-media::before {
        inset: 18px -18px -18px 18px;
    }

    .rbw-needs-section .rbw-needs-media::after {
        width: 36px;
        height: 36px;
        top: -10px;
        left: -10px;
    }

    .rbw-needs-section .rbw-needs-stat {
        bottom: 16px;
        left: 16px;
        padding: 12px 16px;
    }

    .rbw-needs-section .rbw-needs-stat-value {
        font-size: 15px;
    }

    .rbw-needs-section .rbw-needs-list {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .rbw-needs-section .rbw-needs-list li {
        padding-bottom: 0 !important;
    }

    .rbw-needs-section .rbw-needs-list a {
        padding: 0 0 20px 0;
    }

    .rbw-needs-section .rbw-needs-list li::before {
        width: 26px;
    }

    .rbw-needs-section .rbw-needs-list li:hover::before {
        width: 36px;
    }

    .rbw-needs-section .rbw-needs-list .rbw-needs-service-name {
        font-size: 17.5px !important;
        margin-top: 14px !important;
        margin-bottom: 8px !important;
    }

    .rbw-needs-section .rbw-needs-list .rbw-needs-service-desc {
        font-size: 13.5px !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-needs-section .rbw-needs-head,
    .rbw-needs-section .rbw-needs-media,
    .rbw-needs-section .rbw-needs-list li,
    .rbw-needs-section .rbw-needs-stat,
    .rbw-needs-section .rbw-needs-image-wrap img,
    .rbw-needs-section .rbw-needs-stat-label::before {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   RBW EXPERIENCE SECTION — Image left + content/list right
   
   Different from Support/Needs (which have services 2-col grid
   with links). This one has SINGLE-COLUMN benefit list with
   custom clay tick markers — not service links, just bullet
   benefits highlighting coaching offering.
   
   Includes stat callout (14 years, 5 years) in glass badge.
   =========================================================== */

.rbw-experience-section {
    background:
        radial-gradient(ellipse 50% 40% at 92% 8%,
            rgba(184, 111, 79, 0.12), transparent 60%),
        radial-gradient(ellipse 50% 40% at 8% 92%,
            rgba(107, 129, 105, 0.12), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 56px 20px !important;
}

/* Top hairline divider */
.rbw-experience-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* Editorial italic watermark — "experience" in background */
.rbw-experience-section::after {
    content: "Experience";
    position: absolute;
    bottom: -34px;
    right: -10px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(140px, 19vw, 240px);
    font-weight: 400;
    line-height: 1;
    color: rgba(184, 111, 79, 0.06);
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.04em;
    user-select: none;
    white-space: nowrap;
}

.rbw-experience-section .grid-container {
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* === Wrap === */
.rbw-experience-section .rbw-experience-wrap {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 56px;
    align-items: center;
    margin: 0 auto;
    max-width: 1160px;
    position: relative;
}

/* === LEFT: Image with stats callout === */
.rbw-experience-section .rbw-experience-media {
    position: relative;
}

.rbw-experience-section .rbw-experience-image-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: #E5D5BC;
    box-shadow:
        0 30px 60px rgba(45, 59, 54, 0.18),
        0 12px 24px rgba(45, 59, 54, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    isolation: isolate;
}

.rbw-experience-section .rbw-experience-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.05);
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.rbw-experience-section .rbw-experience-image-wrap:hover img {
    transform: scale(1.04);
}

/* Soft bottom overlay */
.rbw-experience-section .rbw-experience-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(45, 59, 54, 0) 55%,
        rgba(45, 59, 54, 0.22) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Sage offset shape — peeks top-left */
.rbw-experience-section .rbw-experience-media::before {
    content: "";
    position: absolute;
    inset: -24px 24px 24px -24px;
    background: linear-gradient(135deg, rgba(107, 129, 105, 0.2) 0%, rgba(107, 129, 105, 0.08) 100%);
    border: 1px solid rgba(107, 129, 105, 0.25);
    border-radius: 18px;
    z-index: -1;
}

/* Clay corner bracket — bottom-right */
.rbw-experience-section .rbw-experience-media::after {
    content: "";
    position: absolute;
    bottom: -12px;
    right: -12px;
    width: 48px;
    height: 48px;
    border-bottom: 2px solid #B86F4F;
    border-right: 2px solid #B86F4F;
    border-bottom-right-radius: 10px;
    pointer-events: none;
    z-index: 3;
}

/* === Twin floating stat badges === */
.rbw-experience-section .rbw-experience-stat {
    position: absolute;
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 16px 20px;
    background: rgba(255, 252, 246, 0.95);
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    border: 1px solid rgba(184, 111, 79, 0.28);
    border-radius: 14px;
    box-shadow:
        0 12px 28px rgba(45, 59, 54, 0.18),
        0 4px 10px rgba(45, 59, 54, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    min-width: 130px;
}

.rbw-experience-section .rbw-experience-stat-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 32px;
    font-weight: 500;
    color: #B86F4F;
    line-height: 1;
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

.rbw-experience-section .rbw-experience-stat-num::after {
    content: "+";
    font-size: 22px;
    font-style: normal;
    color: rgba(184, 111, 79, 0.55);
    line-height: 1;
}

.rbw-experience-section .rbw-experience-stat-label {
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(45, 59, 54, 0.75);
    line-height: 1.3;
    margin-top: 4px;
}

/* Stat positions */
.rbw-experience-section .rbw-experience-stat.stat-years {
    top: 24px;
    left: -16px;
    animation: rbwExpFloat 6s ease-in-out infinite;
}

.rbw-experience-section .rbw-experience-stat.stat-coaching {
    bottom: 40px;
    right: -16px;
    animation: rbwExpFloat 6s ease-in-out infinite reverse;
    animation-delay: -3s;
}

@keyframes rbwExpFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* === RIGHT: Content with eyebrow, heading, paragraph, benefit list === */
.rbw-experience-section .rbw-experience-content {
    position: relative;
}

/* Eyebrow */
.rbw-experience-section .rbw-experience-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin-bottom: 22px;
}

.rbw-experience-section .rbw-experience-eyebrow::before {
    content: "";
    width: 36px;
    height: 1px;
    background: linear-gradient(90deg, #B86F4F 0%, rgba(184, 111, 79, 0.2) 100%);
}

.rbw-experience-section .rbw-experience-eyebrow::after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #B86F4F;
    box-shadow: 0 0 0 3px rgba(184, 111, 79, 0.18);
    flex-shrink: 0;
}

/* Heading */
.rbw-experience-section .rbw-experience-heading,
.rbw-experience-section h2.rbw-experience-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(30px, 4.6vw, 52px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 620px !important;
}

/* Body paragraph */
.rbw-experience-section .rbw-experience-text {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.82 !important;
    color: rgba(45, 59, 54, 0.82) !important;
    margin: 0 0 32px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 640px !important;
    letter-spacing: 0 !important;
}

/* === Benefit list — clay tick markers === */
.rbw-experience-section .rbw-experience-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 660px;
}

.rbw-experience-section .rbw-experience-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 16px 0 16px 44px !important;
    position: relative;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: rgba(45, 59, 54, 0.85) !important;
    border-bottom: 1px solid rgba(184, 111, 79, 0.15);
    transition: padding-left 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.35s ease,
                border-color 0.35s ease;
}

.rbw-experience-section .rbw-experience-list li:first-child {
    padding-top: 12px !important;
    border-top: 1px solid rgba(184, 111, 79, 0.15);
}

.rbw-experience-section .rbw-experience-list li:hover {
    padding-left: 50px !important;
    color: #2D3B36 !important;
    border-bottom-color: rgba(184, 111, 79, 0.4);
}

/* Custom clay tick marker — circle with checkmark */
.rbw-experience-section .rbw-experience-list li::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(184, 111, 79, 0.14) 0%, rgba(201, 154, 142, 0.18) 100%);
    border: 1px solid rgba(184, 111, 79, 0.32);
    transition: background 0.4s ease,
                border-color 0.4s ease,
                transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Checkmark inside circle */
.rbw-experience-section .rbw-experience-list li::after {
    content: "";
    position: absolute;
    top: 24px;
    left: 8px;
    width: 10px;
    height: 5px;
    border-left: 1.8px solid #B86F4F;
    border-bottom: 1.8px solid #B86F4F;
    transform: rotate(-45deg);
    transition: border-color 0.4s ease;
}

.rbw-experience-section .rbw-experience-list li:first-child::before {
    top: 14px;
}

.rbw-experience-section .rbw-experience-list li:first-child::after {
    top: 20px;
}

.rbw-experience-section .rbw-experience-list li:hover::before {
    background: linear-gradient(135deg, #B86F4F 0%, #C99A8E 100%);
    border-color: transparent;
    transform: scale(1.05);
}

.rbw-experience-section .rbw-experience-list li:hover::after {
    border-color: #F5EDDF;
}

/* === Entrance animations === */
.rbw-experience-section .rbw-experience-media {
    opacity: 0;
    transform: translateX(-20px);
    animation: rbwExperienceMediaIn 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

@keyframes rbwExperienceMediaIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-experience-section .rbw-experience-content {
    opacity: 0;
    transform: translateX(20px);
    animation: rbwExperienceContentIn 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
}

@keyframes rbwExperienceContentIn {
    to { opacity: 1; transform: translateX(0); }
}

.rbw-experience-section .rbw-experience-stat.stat-years,
.rbw-experience-section .rbw-experience-stat.stat-coaching {
    opacity: 0;
}

.rbw-experience-section .rbw-experience-stat.stat-years {
    animation: rbwExpStatIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.55s forwards,
               rbwExpFloat 6s ease-in-out 1.25s infinite;
}

.rbw-experience-section .rbw-experience-stat.stat-coaching {
    animation: rbwExpStatIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.70s forwards,
               rbwExpFloat 6s ease-in-out 1.4s infinite reverse;
}

@keyframes rbwExpStatIn {
    to { opacity: 1; transform: scale(1) translateY(0); }
}

/* Staggered list item entrance */
.rbw-experience-section .rbw-experience-list li {
    opacity: 0;
    animation: rbwFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.rbw-experience-section .rbw-experience-list li:nth-child(1) { animation-delay: 0.55s; }
.rbw-experience-section .rbw-experience-list li:nth-child(2) { animation-delay: 0.62s; }
.rbw-experience-section .rbw-experience-list li:nth-child(3) { animation-delay: 0.69s; }
.rbw-experience-section .rbw-experience-list li:nth-child(4) { animation-delay: 0.76s; }
.rbw-experience-section .rbw-experience-list li:nth-child(5) { animation-delay: 0.83s; }
.rbw-experience-section .rbw-experience-list li:nth-child(6) { animation-delay: 0.90s; }

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .rbw-experience-section {
        padding: 48px 20px !important;
    }

    .rbw-experience-section::after {
        font-size: clamp(110px, 22vw, 180px);
        bottom: -22px;
    }

    .rbw-experience-section .rbw-experience-wrap {
        grid-template-columns: 1fr;
        gap: 44px;
        max-width: 640px;
    }

    .rbw-experience-section .rbw-experience-media {
        max-width: 460px;
        margin: 0 auto;
        width: 100%;
    }

    .rbw-experience-section .rbw-experience-image-wrap {
        aspect-ratio: 4 / 4.2;
    }

    .rbw-experience-section .rbw-experience-stat {
        padding: 12px 16px;
        min-width: 110px;
    }

    .rbw-experience-section .rbw-experience-stat-num {
        font-size: 26px;
    }

    .rbw-experience-section .rbw-experience-stat.stat-years {
        top: 16px;
        left: 12px;
    }

    .rbw-experience-section .rbw-experience-stat.stat-coaching {
        bottom: 24px;
        right: 12px;
    }

    .rbw-experience-section .rbw-experience-heading {
        font-size: clamp(26px, 5.2vw, 40px) !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .rbw-experience-section {
        padding: 40px 16px !important;
    }

    .rbw-experience-section::after {
        font-size: 90px;
        bottom: -14px;
    }

    .rbw-experience-section .rbw-experience-image-wrap {
        border-radius: 14px;
        aspect-ratio: 4 / 4;
    }

    .rbw-experience-section .rbw-experience-media::before {
        inset: -18px 18px 18px -18px;
    }

    .rbw-experience-section .rbw-experience-media::after {
        width: 36px;
        height: 36px;
        bottom: -10px;
        right: -10px;
    }

    .rbw-experience-section .rbw-experience-stat {
        padding: 10px 14px;
        min-width: 100px;
    }

    .rbw-experience-section .rbw-experience-stat-num {
        font-size: 22px;
    }

    .rbw-experience-section .rbw-experience-stat-num::after {
        font-size: 16px;
    }

    .rbw-experience-section .rbw-experience-stat-label {
        font-size: 9.5px;
        letter-spacing: 0.14em;
    }

    .rbw-experience-section .rbw-experience-eyebrow {
        font-size: 10px;
        letter-spacing: 0.2em;
        margin-bottom: 16px;
    }

    .rbw-experience-section .rbw-experience-eyebrow::before {
        width: 26px;
    }

    .rbw-experience-section .rbw-experience-heading {
        font-size: clamp(22px, 6.5vw, 30px) !important;
        margin-bottom: 20px !important;
    }

    .rbw-experience-section .rbw-experience-text {
        font-size: 14.5px !important;
        line-height: 1.74 !important;
        margin-bottom: 26px !important;
    }

    .rbw-experience-section .rbw-experience-list li {
        padding: 14px 0 14px 38px !important;
        font-size: 14px !important;
    }

    .rbw-experience-section .rbw-experience-list li::before {
        width: 22px;
        height: 22px;
        top: 16px;
    }

    .rbw-experience-section .rbw-experience-list li::after {
        top: 21px;
        left: 7px;
        width: 8px;
        height: 4px;
    }

    .rbw-experience-section .rbw-experience-list li:first-child::before {
        top: 12px;
    }

    .rbw-experience-section .rbw-experience-list li:first-child::after {
        top: 17px;
    }

    .rbw-experience-section .rbw-experience-list li:hover {
        padding-left: 44px !important;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .rbw-experience-section .rbw-experience-media,
    .rbw-experience-section .rbw-experience-content,
    .rbw-experience-section .rbw-experience-stat,
    .rbw-experience-section .rbw-experience-list li,
    .rbw-experience-section .rbw-experience-list li::before,
    .rbw-experience-section .rbw-experience-image-wrap img {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: box-shadow 0.2s ease !important;
    }
}

/* ===========================================================
   BLOG HERO BANNER — .main-blog-banner.new-blog-template
   
   Styled to match .bnl-0 homepage hero treatment but scoped
   ONLY to blog banner so .bnl-0 (global) stays untouched.
   
   - Cinematic 21:8.5 aspect with ken-burns image animation
   - Dark gradient overlay for content contrast
   - Glass card overlay with cream italic Cormorant H1
   - Clay accent bar before title
   - Brand-consistent typography matching .bnl-0
   =========================================================== */

.main-blog-banner.new-blog-template {
    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    aspect-ratio: 21 / 8.5;
    max-height: 580px;
    min-height: 380px;
    margin: 0;
    padding: 0;
    background: #2D3B36;
}

.main-blog-banner.new-blog-template figure {
    margin: 0 !important;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.main-blog-banner.new-blog-template picture {
    display: block;
    width: 100%;
    height: 100%;
}

.main-blog-banner.new-blog-template figure img,
.main-blog-banner.new-blog-template picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    animation: rbwBlogHeroKenBurns 26s ease-out infinite alternate;
}

@keyframes rbwBlogHeroKenBurns {
    0% { transform: scale(1) translate3d(0, 0, 0); }
    100% { transform: scale(1.08) translate3d(-1%, -1%, 0); }
}

/* Dark gradient overlay — radial + linear for cinematic depth */
.main-blog-banner.new-blog-template::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 30% 70%,
            rgba(45, 59, 54, 0.55), transparent 60%),
        linear-gradient(135deg,
            rgba(45, 59, 54, 0.45) 0%,
            rgba(45, 59, 54, 0.25) 50%,
            rgba(45, 59, 54, 0.4) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Soft bottom fade for additional contrast */
.main-blog-banner.new-blog-template::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        transparent 55%,
        rgba(45, 59, 54, 0.35) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Top hairline divider */
.main-blog-banner.new-blog-template .inner-banner.blog-banner::after {
    content: "";
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(245, 237, 223, 0.45) 50%,
        transparent);
    z-index: 1;
}

/* Content overlay container */
.main-blog-banner.new-blog-template .inner-banner.blog-banner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    z-index: 2;
    padding: 0;
}

.main-blog-banner.new-blog-template .inner-banner .clear {
    width: 100%;
}

.main-blog-banner.new-blog-template .in-banner-desc {
    width: 100%;
}

.main-blog-banner.new-blog-template .in-banner-desc .grid-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.main-blog-banner.new-blog-template .in-banner-desc .grid-x {
    margin: 0 !important;
}

/* H1 — glass card with brand typography (matches .bnl-0 spec) */
.main-blog-banner.new-blog-template .banner-main-heading,
.main-blog-banner.new-blog-template h1.banner-main-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 400 !important;
    color: #F5EDDF !important;
    line-height: 1.12 !important;
    letter-spacing: -0.015em !important;
    margin: 0 !important;
    padding: 38px 42px !important;
    text-align: left !important;
    background: rgba(45, 59, 54, 0.78);
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    border: 1px solid rgba(245, 237, 223, 0.14);
    border-radius: 16px;
    max-width: 640px;
    box-shadow:
        0 20px 50px rgba(20, 30, 26, 0.35),
        0 6px 16px rgba(20, 30, 26, 0.2),
        inset 0 1px 0 rgba(245, 237, 223, 0.14);
    position: relative;
    animation: rbwBlogHeroCardIn 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s both;
}

@keyframes rbwBlogHeroCardIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Clay accent bar before title */
.main-blog-banner.new-blog-template .banner-main-heading::before {
    content: "";
    display: block;
    width: 56px;
    height: 2px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 2px;
    margin-bottom: 20px;
}

/* === Tablet (≤1023.5px) === */
@media screen and (max-width: 63.9375em) {

    .main-blog-banner.new-blog-template {
        aspect-ratio: unset;
        height: auto;
        min-height: unset;
        max-height: unset;
        background: #2D3B36;
    }

    .main-blog-banner.new-blog-template figure,
    .main-blog-banner.new-blog-template picture {
        height: auto;
        display: block;
    }

    .main-blog-banner.new-blog-template figure img,
    .main-blog-banner.new-blog-template picture img {
        height: auto;
        width: 100%;
        display: block;
        object-fit: cover;
    }

    .main-blog-banner.new-blog-template .show-for-large {
        display: none !important;
    }

    .main-blog-banner.new-blog-template .hide-for-large {
        display: block !important;
        width: 100%;
        height: auto;
    }

    /* CONTENT STACK BELOW IMAGE (matching other inner pages mobile pattern) */
    .main-blog-banner.new-blog-template .inner-banner.blog-banner {
        position: relative !important;
        inset: auto !important;
        width: 100%;
        padding: 40px 24px 44px;
        display: block;
        background: linear-gradient(180deg,
            #2D3B36 0%,
            #2A3833 100%);
        text-align: center;
    }

    /* Hide image overlays on mobile (text is below image, not overlaid) */
    .main-blog-banner.new-blog-template::before,
    .main-blog-banner.new-blog-template::after {
        display: none !important;
    }

    /* Hide decorative top hairline on mobile (already separated visually by image) */
    .main-blog-banner.new-blog-template .inner-banner.blog-banner::after {
        display: none;
    }

    .main-blog-banner.new-blog-template .banner-main-heading,
    .main-blog-banner.new-blog-template h1.banner-main-heading {
        padding: 0 !important;
        margin: 0 auto !important;
        max-width: 100% !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        text-align: center !important;
        font-size: clamp(32px, 5vw, 44px) !important;
    }
}

/* === Small mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .main-blog-banner.new-blog-template {
        aspect-ratio: unset;
        height: auto;
        min-height: unset;
        max-height: unset;
    }

    .main-blog-banner.new-blog-template figure,
    .main-blog-banner.new-blog-template picture {
        height: auto;
        display: block;
        line-height: 0;
    }

    .main-blog-banner.new-blog-template figure img,
    .main-blog-banner.new-blog-template picture img {
        height: auto;
        width: 100%;
        display: block;
        object-fit: cover;
    }

    .main-blog-banner.new-blog-template .show-for-large {
        display: none !important;
    }

    .main-blog-banner.new-blog-template .hide-for-large {
        display: block !important;
        width: 100%;
        height: auto;
    }

    /* CONTENT BELOW IMAGE — stacked layout */
    .main-blog-banner.new-blog-template .inner-banner.blog-banner {
        position: relative !important;
        inset: auto !important;
        padding: 32px 20px 36px;
        background: linear-gradient(180deg,
            #2D3B36 0%,
            #2A3833 100%);
        text-align: center;
        display: block;
    }

    .main-blog-banner.new-blog-template .inner-banner.blog-banner::after {
        display: none;
    }

    .main-blog-banner.new-blog-template .banner-main-heading,
    .main-blog-banner.new-blog-template h1.banner-main-heading {
        padding: 0 !important;
        margin: 0 auto !important;
        font-size: clamp(28px, 7vw, 36px) !important;
        max-width: 100% !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        text-align: center !important;
    }

    .main-blog-banner.new-blog-template .banner-main-heading::before {
        width: 42px;
        margin: 0 auto 16px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .main-blog-banner.new-blog-template figure img,
    .main-blog-banner.new-blog-template picture img,
    .main-blog-banner.new-blog-template .banner-main-heading {
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* ===========================================================
   LEAD MAGNET FORM — Premium editorial popup
   
   Located inside #lead-magnet-form container.
   Includes header eyebrow + italic Cormorant heading + body +
   styled Name/Email inputs + solid clay submit button.
   Matches site branding (clay #B86F4F, sharp 4px corners).
   =========================================================== */

#lead-magnet-form {
    background:
        radial-gradient(ellipse 50% 40% at 8% 8%,
            rgba(184, 111, 79, 0.1), transparent 65%),
        radial-gradient(ellipse 50% 40% at 92% 92%,
            rgba(107, 129, 105, 0.1), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%);
    padding: 40px 24px 44px !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    max-width: 100% !important;
}

/* Top hairline divider */
#lead-magnet-form::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(184, 111, 79, 0.55) 50%,
        transparent);
    z-index: 2;
}

/* Decorative botanical — top-right corner */
#lead-magnet-form::after {
    content: "";
    position: absolute;
    top: 16px;
    right: 16px;
    width: 90px;
    height: 90px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M170 20 Q 140 60, 130 110' stroke='%236B8169' stroke-width='1.2' stroke-opacity='0.3' fill='none' stroke-linecap='round'/><path d='M158 42 Q 168 38, 176 28 Q 170 44, 158 42 Z' fill='%236B8169' fill-opacity='0.16'/><path d='M150 62 Q 162 60, 172 52 Q 164 68, 150 62 Z' fill='%236B8169' fill-opacity='0.16'/><circle cx='130' cy='110' r='2.5' fill='%23B86F4F' fill-opacity='0.4'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
    opacity: 0.7;
}

#lead-magnet-form .grid-container {
    position: relative;
    z-index: 1;
    padding: 0 !important;
    max-width: 100% !important;
}

#lead-magnet-form .grid-x {
    margin: 0 !important;
}

/* Hide spacer */
#lead-magnet-form .spacer.height-40 {
    display: none !important;
}

#lead-magnet-form .ww-form-container {
    max-width: 60%;
    margin: 0 auto;
    text-align: center;
}

/* Add eyebrow before heading via pseudo-element on form */
#lead-magnet-form form::before {
    content: "Free guide";
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #B86F4F;
    line-height: 1;
    margin: 0 auto 16px;
    padding-bottom: 0;
}

/* Heading — italic Cormorant */
#lead-magnet-form .rbw-blog-heading,
#lead-magnet-form h2.rbw-blog-heading {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(22px, 3vw, 30px) !important;
    font-weight: 500 !important;
    color: #2D3B36 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.012em !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
}

/* Clay accent bar before heading */
#lead-magnet-form .rbw-blog-heading::before {
    content: "";
    display: block;
    width: 44px;
    height: 2px;
    background: linear-gradient(90deg, #B86F4F 0%, #C99A8E 100%);
    border-radius: 2px;
    margin: 0 auto 16px;
}

/* Body paragraph */
#lead-magnet-form .ww-form-container p {
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: rgba(45, 59, 54, 0.78) !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
}

/* === Form layout — stacked, left-aligned === */
#lead-magnet-form form {
    width: 60%;
    margin: 0 auto;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

#lead-magnet-form .first_name_wrap,
#lead-magnet-form .email_wrap {
    margin-bottom: 18px;
    text-align: left;
}

/* Labels */
#lead-magnet-form label {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #2D3B36 !important;
    line-height: 1 !important;
    margin: 0 0 8px 2px !important;
}

#lead-magnet-form label .required {
    color: #B86F4F;
    font-weight: 700;
    margin-left: 2px;
}

/* Inputs — match site branding (sharp, clay focus) */
#lead-magnet-form input[type="text"],
#lead-magnet-form input[type="email"],
#lead-magnet-form input.input {
    width: 100%;
    height: 48px;
    padding: 0 16px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    border-radius: 4px !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2D3B36 !important;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease;
    -webkit-appearance: none;
    appearance: none;
    margin: 0 !important;
}

#lead-magnet-form input[type="text"]::placeholder,
#lead-magnet-form input[type="email"]::placeholder {
    color: rgba(45, 59, 54, 0.4);
    font-style: italic;
}

#lead-magnet-form input[type="text"]:focus,
#lead-magnet-form input[type="email"]:focus,
#lead-magnet-form input.input:focus {
    outline: none;
    border-color: #B86F4F !important;
    background: #FFFFFF !important;
    box-shadow:
        0 6px 18px rgba(45, 59, 54, 0.08),
        0 0 0 3px rgba(184, 111, 79, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* Error messages */
#lead-magnet-form .error {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #C44545 !important;
    margin-top: 6px !important;
    line-height: 1.4;
    min-height: 1px;
}

/* Input wraps with error state — red border */
#lead-magnet-form .first_name_wrap:has(.error:not(:empty)) input,
#lead-magnet-form .email_wrap:has(.error:not(:empty)) input {
    border-color: #C44545 !important;
}

/* === reCAPTCHA wrapper === */
#lead-magnet-form .captcha_wrap {
    margin: 4px 0 22px;
    display: flex;
    justify-content: center;
}

#lead-magnet-form .recaptcha-block {
    transform: scale(0.95);
    transform-origin: center;
}

/* === Submit button — solid clay (matches header CTA) === */
#lead-magnet-form .submit_wrap {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0;
    padding-top: 4px !important;
}

#lead-magnet-form input[type="submit"],
#lead-magnet-form .submit_wrap input.button,
#lead-magnet-form .button.input {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #F5EDDF !important;
    text-decoration: none !important;
    padding: 16px 30px !important;
    background: #B86F4F !important;
    border: none !important;
    border-radius: 4px !important;
    line-height: 1 !important;
    height: auto !important;
    width: 100% !important;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

#lead-magnet-form input[type="submit"]:hover,
#lead-magnet-form input[type="submit"]:focus,
#lead-magnet-form .submit_wrap input.button:hover,
#lead-magnet-form .submit_wrap input.button:focus,
#lead-magnet-form .button.input:hover,
#lead-magnet-form .button.input:focus {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
    outline: none;
}

#lead-magnet-form input[type="submit"]:active {
    transform: translateY(0);
}

/* === Entrance animation === */
#lead-magnet-form .ww-form-container > form {
    opacity: 0;
    animation: rbwLeadFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

@keyframes rbwLeadFadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* === Mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    #lead-magnet-form {
        padding: 32px 18px 36px !important;
    }

    #lead-magnet-form form {
        width: 100%;
    }

    #lead-magnet-form::after {
        width: 64px;
        height: 64px;
        top: 12px;
        right: 12px;
    }

    #lead-magnet-form .rbw-blog-heading {
        font-size: clamp(20px, 5.5vw, 26px) !important;
    }

    #lead-magnet-form .ww-form-container p {
        font-size: 13.5px !important;
        line-height: 1.65 !important;
        margin-bottom: 24px !important;
    }

    #lead-magnet-form label {
        font-size: 10.5px !important;
        letter-spacing: 0.12em !important;
    }

    #lead-magnet-form input[type="text"],
    #lead-magnet-form input[type="email"] {
        height: 44px;
        font-size: 14px !important;
    }

    #lead-magnet-form input[type="submit"],
    #lead-magnet-form .button.input {
        padding: 14px 24px !important;
        font-size: 11.5px !important;
        letter-spacing: 0.14em !important;
    }

    #lead-magnet-form .recaptcha-block {
        transform: scale(0.85);
    }

    #lead-magnet-form .submit_wrap::after {
        font-size: 10px;
        margin-top: 14px;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    #lead-magnet-form .ww-form-container > form {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   LEAD MAGNET FORM — WOW EDITION enhancements
   
   Adds premium visual layers:
   - Italic "guide" watermark in background
   - Mirror clay botanical bottom-left (balances sage top-right)
   - Triple-ring ornament replaces simple accent bar
   - Animated pulsing dot before eyebrow
   - Line·dot·line ornament above NAME field
   - Clay underline animation on input focus
   - Submit button glow pulse + premium hover
   - Staggered entrance animations for each element
   =========================================================== */

/* === Mirror clay botanical bottom-left (balances sage top-right) === */
#lead-magnet-form {
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'><path d='M30 180 Q 55 145, 65 95' stroke='%23B86F4F' stroke-width='1.2' stroke-opacity='0.28' fill='none' stroke-linecap='round'/><path d='M40 160 Q 28 164, 18 174 Q 26 156, 40 160 Z' fill='%23B86F4F' fill-opacity='0.14'/><path d='M48 138 Q 36 140, 26 148 Q 34 130, 48 138 Z' fill='%23B86F4F' fill-opacity='0.14'/><path d='M58 116 Q 46 116, 38 124 Q 46 108, 58 116 Z' fill='%23B86F4F' fill-opacity='0.14'/><circle cx='65' cy='95' r='2.5' fill='%236B8169' fill-opacity='0.45'/></svg>") left 24px bottom 24px / 84px 84px no-repeat,
        radial-gradient(ellipse 50% 40% at 8% 8%,
            rgba(184, 111, 79, 0.1), transparent 65%),
        radial-gradient(ellipse 50% 40% at 92% 92%,
            rgba(107, 129, 105, 0.1), transparent 65%),
        linear-gradient(180deg, #FAF4E6 0%, #F3EAD9 100%) !important;
}

/* === Italic "guide" watermark === */
#lead-magnet-form .ww-form-container {
    position: relative;
}

#lead-magnet-form .ww-form-container::before {
    content: "guide";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(140px, 22vw, 220px);
    font-weight: 400;
    color: rgba(184, 111, 79, 0.045);
    line-height: 1;
    letter-spacing: -0.03em;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    white-space: nowrap;
}

/* Form contents above watermark */
#lead-magnet-form .ww-form-container > * {
    position: relative;
    z-index: 1;
}

#lead-magnet-form form > * {
    position: relative;
    z-index: 1;
}

/* === Triple-ring ornament (replaces simple accent bar) === */
#lead-magnet-form .rbw-blog-heading::before {
    content: "" !important;
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    background:
        radial-gradient(circle,
            transparent 6.5px,
            rgba(184, 111, 79, 0.55) 6.5px,
            rgba(184, 111, 79, 0.55) 7.5px,
            transparent 7.5px) center / 38px 38px no-repeat,
        radial-gradient(circle,
            transparent 12px,
            rgba(184, 111, 79, 0.3) 12px,
            rgba(184, 111, 79, 0.3) 12.8px,
            transparent 12.8px) center / 38px 38px no-repeat,
        radial-gradient(circle,
            rgba(184, 111, 79, 0.85) 2.8px,
            transparent 2.8px) center / 38px 38px no-repeat !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    margin: 0 auto 20px !important;
}

/* === Animated pulsing dot before eyebrow === */
@keyframes lmDotPulse {
    0%, 100% {
        background-size: 7px 7px;
        opacity: 1;
    }
    50% {
        background-size: 10px 10px;
        opacity: 0.6;
    }
}

#lead-magnet-form form::before {
    background-image: radial-gradient(circle,
        #B86F4F 50%, transparent 50%) !important;
    background-size: 7px 7px;
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 18px !important;
}

/* === Line·dot·line ornament above NAME field === */
#lead-magnet-form .first_name_wrap::before {
    content: "—  ·  —";
    display: block;
    text-align: center;
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: rgba(184, 111, 79, 0.45);
    font-size: 18px;
    letter-spacing: 0.4em;
    margin: 0 0 24px;
    line-height: 1;
    font-weight: 300;
}

/* === Premium input focus — clay underline animation === */
#lead-magnet-form .first_name_wrap,
#lead-magnet-form .email_wrap {
    position: relative;
}

#lead-magnet-form .first_name_wrap::after,
#lead-magnet-form .email_wrap::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1px;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent,
        #B86F4F 50%,
        transparent);
    transform: translateX(-50%);
    transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
    z-index: 2;
}

#lead-magnet-form .first_name_wrap:focus-within::after,
#lead-magnet-form .email_wrap:focus-within::after {
    width: 70%;
}

/* === Premium label dot accent === */
#lead-magnet-form label {
    padding-left: 12px !important;
    position: relative;
}

#lead-magnet-form label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 5px;
    background: #B86F4F;
    border-radius: 50%;
    opacity: 0.7;
}

/* === Submit button glow pulse animation === */
@keyframes lmSubmitGlow {
    0%, 100% {
        box-shadow:
            0 4px 16px rgba(184, 111, 79, 0.22),
            0 0 0 0 rgba(184, 111, 79, 0);
    }
    50% {
        box-shadow:
            0 6px 22px rgba(184, 111, 79, 0.3),
            0 0 0 4px rgba(184, 111, 79, 0.06);
    }
}

#lead-magnet-form input[type="submit"],
#lead-magnet-form .submit_wrap input.button,
#lead-magnet-form .button.input {
    animation: lmSubmitGlow 3.2s ease-in-out infinite;
}

#lead-magnet-form input[type="submit"]:hover,
#lead-magnet-form input[type="submit"]:focus,
#lead-magnet-form .submit_wrap input.button:hover,
#lead-magnet-form .button.input:hover {
    /* Pause glow on hover (DON'T strip animation — would reset opacity:0 from earlier
       blocks and make button disappear). animation-play-state keeps current keyframe. */
    animation-play-state: paused !important;
}

/* === Staggered entrance animations === */
@keyframes lmFadeUp {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Override the parent form animation (now stagger children) */
#lead-magnet-form .ww-form-container > form {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
}

#lead-magnet-form form::before {
    opacity: 0;
    animation:
        lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.08s forwards,
        lmDotPulse 2.4s ease-in-out 0.9s infinite;
}

#lead-magnet-form .rbw-blog-heading {
    opacity: 0;
    animation: lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.18s forwards;
}

#lead-magnet-form .ww-form-container p {
    opacity: 0;
    animation: lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.28s forwards;
}

#lead-magnet-form .first_name_wrap {
    opacity: 0;
    animation: lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.38s forwards;
}

#lead-magnet-form .email_wrap {
    opacity: 0;
    animation: lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.48s forwards;
}

#lead-magnet-form .captcha_wrap {
    opacity: 0;
    animation: lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.58s forwards;
}

#lead-magnet-form .submit_wrap {
    opacity: 0;
    animation: lmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.68s forwards;
}

#lead-magnet-form input[type="submit"],
#lead-magnet-form .submit_wrap input.button {
    /* Only glow pulse on button itself.
       Entrance animation lives on parent .submit_wrap to avoid
       conflict on :hover (hover was killing fadeUp and reverting opacity to 0). */
    animation: lmSubmitGlow 3.2s ease-in-out 1.5s infinite;
}

/* === Mobile (≤640px) — keep WOW but slightly subdued === */
@media screen and (max-width: 39.9375em) {

    #lead-magnet-form {
        background-size:
            56px 56px,
            auto,
            auto,
            auto !important;
        background-position:
            left 16px bottom 16px,
            0 0,
            0 0,
            0 0 !important;
    }

    #lead-magnet-form .ww-form-container::before {
        font-size: clamp(90px, 26vw, 140px);
    }

    #lead-magnet-form .rbw-blog-heading::before {
        width: 30px !important;
        height: 30px !important;
        background-size:
            30px 30px,
            30px 30px,
            30px 30px !important;
        margin-bottom: 16px !important;
    }

    #lead-magnet-form .first_name_wrap::before {
        font-size: 16px;
        margin-bottom: 18px;
    }
}

/* === Reduced motion respect === */
@media (prefers-reduced-motion: reduce) {
    #lead-magnet-form form::before,
    #lead-magnet-form .rbw-blog-heading,
    #lead-magnet-form .ww-form-container p,
    #lead-magnet-form .first_name_wrap,
    #lead-magnet-form .email_wrap,
    #lead-magnet-form .captcha_wrap,
    #lead-magnet-form .submit_wrap,
    #lead-magnet-form input[type="submit"],
    #lead-magnet-form .submit_wrap input.button {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   CONTACT FORM — WOW EDITION (.form-template-3)
   
   Targets the contact form on contact page:
   - First Name + Last Name (2-col on desktop, stacked mobile)
   - Email, Phone (with intl-tel-input), Message (textarea)
   - All inputs sharp 4px clay branding
   - Solid clay submit button matching header CTA
   - Premium label dots, focus underlines, glow pulse
   =========================================================== */

/* === Section container === */
.form-template-3 {
    position: relative;
    overflow: hidden;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

/* Mobile — reduce padding */
@media screen and (max-width: 39.9375em) {
    .form-template-3 {
        padding-top: 36px !important;
        padding-bottom: 40px !important;
    }
}

/* === Form container === */
.form-template-3 .ww-form-container-3 {
    max-width: 720px;
    margin: 0 auto;
    position: relative;
}

/* Italic "connect" watermark behind */
.form-template-3 .ww-form-container-3::before {
    content: "connect";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: clamp(120px, 18vw, 200px);
    font-weight: 400;
    color: rgba(184, 111, 79, 0.05);
    line-height: 1;
    letter-spacing: -0.03em;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    white-space: nowrap;
}

.form-template-3 .ww-form-container-3 > * {
    position: relative;
    z-index: 1;
}

/* === Form === */
.form-template-3 form {
    width: 100%;
    margin: 0 auto;
}

/* Hide intro text */
.form-template-3 form p.hide {
    display: none !important;
}

/* === Fieldset — 2-column grid for first/last name === */
.form-template-3 fieldset.fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-inline-size: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Ensure .form-container (outer, holds submit) also fills 100% */
.form-template-3 .form-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 12px;
}

.form-template-3 .first_name_wrap {
    grid-column: 1;
    position: relative;
}

.form-template-3 .last_name_wrap {
    grid-column: 2;
    position: relative;
}

.form-template-3 .email_wrap,
.form-template-3 .phone_wrap,
.form-template-3 .field_33453_wrap,
.form-template-3 [class$="_wrap"]:not(.first_name_wrap):not(.last_name_wrap):not(.captcha_wrap):not(.submit_wrap) {
    grid-column: 1 / -1;
    position: relative;
}

/* === Labels with clay dot accent === */
.form-template-3 label {
    display: block !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #2D3B36 !important;
    line-height: 1 !important;
    margin: 0 0 8px 12px !important;
    padding: 0 !important;
    position: relative;
}

.form-template-3 label::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 5px;
    background: #B86F4F;
    border-radius: 50%;
    opacity: 0.7;
}

.form-template-3 label .required {
    color: #B86F4F;
    font-weight: 700;
    margin-left: 3px;
}

/* === Inputs (text, email, tel) === */
.form-template-3 input[type="text"],
.form-template-3 input[type="email"],
.form-template-3 input[type="tel"],
.form-template-3 input.input:not([type="submit"]):not([type="hidden"]) {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    border-radius: 4px !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2D3B36 !important;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease;
    -webkit-appearance: none;
    appearance: none;
    margin: 0 !important;
}

.form-template-3 input[type="text"]::placeholder,
.form-template-3 input[type="email"]::placeholder,
.form-template-3 input[type="tel"]::placeholder {
    color: rgba(45, 59, 54, 0.4);
    font-style: italic;
}

.form-template-3 input[type="text"]:focus,
.form-template-3 input[type="email"]:focus,
.form-template-3 input[type="tel"]:focus {
    outline: none;
    border-color: #B86F4F !important;
    background: #FFFFFF !important;
    box-shadow:
        0 6px 18px rgba(45, 59, 54, 0.08),
        0 0 0 3px rgba(184, 111, 79, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* === Textarea (Message) === */
.form-template-3 textarea,
.form-template-3 textarea.input {
    width: 100% !important;
    min-height: 140px !important;
    padding: 14px 16px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    border-radius: 4px !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2D3B36 !important;
    line-height: 1.5 !important;
    resize: vertical;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease;
    -webkit-appearance: none;
    appearance: none;
    margin: 0 !important;
}

.form-template-3 textarea::placeholder {
    color: rgba(45, 59, 54, 0.4);
    font-style: italic;
}

.form-template-3 textarea:focus {
    outline: none;
    border-color: #B86F4F !important;
    background: #FFFFFF !important;
    box-shadow:
        0 6px 18px rgba(45, 59, 54, 0.08),
        0 0 0 3px rgba(184, 111, 79, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* === Phone input (intl-tel-input) === */
.form-template-3 .iti {
    width: 100%;
    display: block;
}

.form-template-3 .iti--allow-dropdown input[type="tel"] {
    padding-left: 58px !important;
}

.form-template-3 .iti__flag-container {
    border-right: 1px solid rgba(201, 154, 142, 0.32);
}

.form-template-3 .iti__selected-flag {
    padding: 0 12px !important;
    background: transparent !important;
    border-radius: 4px 0 0 4px;
    transition: background 0.3s ease;
}

.form-template-3 .iti__selected-flag:hover,
.form-template-3 .iti__selected-flag:focus {
    background: rgba(184, 111, 79, 0.05) !important;
    outline: none;
}

.form-template-3 .iti__arrow {
    border-top-color: rgba(45, 59, 54, 0.5);
}

.form-template-3 .iti__country-list {
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.4) !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 32px rgba(45, 59, 54, 0.14) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 14px !important;
    max-height: 280px !important;
    padding: 6px 0 !important;
    z-index: 10;
}

.form-template-3 .iti__country {
    padding: 8px 12px !important;
    color: #2D3B36 !important;
    transition: background 0.2s ease;
}

.form-template-3 .iti__country.iti__highlight,
.form-template-3 .iti__country:hover {
    background: rgba(184, 111, 79, 0.08) !important;
}

.form-template-3 .iti__country.iti__active {
    background: rgba(184, 111, 79, 0.12) !important;
}

.form-template-3 .iti__country-name {
    color: #2D3B36;
}

.form-template-3 .iti__dial-code {
    color: rgba(45, 59, 54, 0.55);
    font-size: 13px;
}

.form-template-3 .iti__divider {
    border-bottom: 1px solid rgba(201, 154, 142, 0.25);
}

/* Valid checkmark */
.form-template-3 #mob_phone_phone_number_valid:not(.hide) {
    color: #6B8169 !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    display: block;
    margin-top: 6px;
}

/* === Error messages === */
.form-template-3 .error {
    display: block;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #C44545 !important;
    margin-top: 6px !important;
    line-height: 1.4 !important;
    min-height: 1px;
}

/* === reCAPTCHA wrapper === */
.form-template-3 .captcha_wrap {
    margin: 8px 0 18px;
    display: flex;
    justify-content: center;
}

.form-template-3 .recaptcha-block {
    transform: scale(0.95);
    transform-origin: center;
}

/* === form-container div (holds captcha + submit) === */
.form-template-3 .form-container > div:empty {
    display: none;
}

/* === Submit button — solid clay (matches header CTA) === */
.form-template-3 .submit_wrap {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0;
    padding-top: 8px !important;
}

.form-template-3 input[type="submit"],
.form-template-3 .submit_wrap input.button,
.form-template-3 .button.input {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #F5EDDF !important;
    text-decoration: none !important;
    padding: 16px 30px !important;
    background: #B86F4F !important;
    border: none !important;
    border-radius: 4px !important;
    line-height: 1 !important;
    height: auto !important;
    width: 100% !important;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    -webkit-appearance: none;
    appearance: none;
    margin: 0 !important;
}

.form-template-3 input[type="submit"]:hover,
.form-template-3 input[type="submit"]:focus,
.form-template-3 .submit_wrap input.button:hover,
.form-template-3 .submit_wrap input.button:focus,
.form-template-3 .button.input:hover {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
    outline: none;
    animation-play-state: paused !important;
}

.form-template-3 input[type="submit"]:active {
    transform: translateY(0);
}

/* === Submit button glow pulse === */
@keyframes contactSubmitGlow {
    0%, 100% {
        box-shadow:
            0 4px 16px rgba(184, 111, 79, 0.22),
            0 0 0 0 rgba(184, 111, 79, 0);
    }
    50% {
        box-shadow:
            0 6px 22px rgba(184, 111, 79, 0.3),
            0 0 0 4px rgba(184, 111, 79, 0.06);
    }
}

/* === Staggered entrance animations === */
@keyframes contactFadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.form-template-3 .first_name_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

.form-template-3 .last_name_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}

.form-template-3 .email_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
}

.form-template-3 .phone_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
}

.form-template-3 .field_33453_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}

.form-template-3 .captcha_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.6s forwards;
}

/* Submit wrap fades in (entrance animation on PARENT) */
.form-template-3 .submit_wrap {
    opacity: 0;
    animation: contactFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.7s forwards;
}

/* Submit BUTTON only has glow pulse (no entrance — parent handles it).
   Delay 1.5s lets entrance complete first. */
.form-template-3 input[type="submit"],
.form-template-3 .submit_wrap input.button {
    animation: contactSubmitGlow 3.2s ease-in-out 1.5s infinite;
}

/* === Mobile (≤640px) === */
@media screen and (max-width: 39.9375em) {

    .form-template-3 fieldset.fieldset {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .form-template-3 .first_name_wrap,
    .form-template-3 .last_name_wrap {
        grid-column: 1;
    }

    .form-template-3 .ww-form-container-3::before {
        font-size: clamp(80px, 22vw, 130px);
    }

    .form-template-3 label {
        font-size: 10.5px !important;
        letter-spacing: 0.12em !important;
        margin-left: 10px !important;
    }

    .form-template-3 label::before {
        left: -10px;
        width: 4px;
        height: 4px;
    }

    .form-template-3 input[type="text"],
    .form-template-3 input[type="email"],
    .form-template-3 input[type="tel"] {
        height: 44px !important;
        font-size: 14px !important;
    }

    .form-template-3 textarea {
        font-size: 14px !important;
        min-height: 120px !important;
        padding: 12px 14px !important;
    }

    .form-template-3 input[type="submit"],
    .form-template-3 .button.input {
        padding: 14px 24px !important;
        font-size: 11.5px !important;
        letter-spacing: 0.14em !important;
    }

    .form-template-3 .recaptcha-block {
        transform: scale(0.85);
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .form-template-3 .first_name_wrap,
    .form-template-3 .last_name_wrap,
    .form-template-3 .email_wrap,
    .form-template-3 .phone_wrap,
    .form-template-3 .field_33453_wrap,
    .form-template-3 .captcha_wrap,
    .form-template-3 .submit_wrap,
    .form-template-3 input[type="submit"],
    .form-template-3 .submit_wrap input.button {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ===========================================================
   CONTACT FORM — OVERRIDE existing site CSS
   
   Site has pre-existing CSS for .form-template-3 with higher
   specificity (using .ww-form-container-3 prefix). These rules
   match that specificity to ensure branded styling wins.
   
   Existing conflicting rules being overridden:
   - form { border: 1px solid #999; padding: 2rem 0 }
   - form fieldset > div { width: 90% } (causes alignment issue)
   - div.form-container { width: 90% }
   - inputs { background: #dbdbdb; border-radius: 5px; min-height: 45px }
   =========================================================== */

/* === Reset form border + padding === */
.form-template-3 .ww-form-container-3 form {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* === Reset 90% width on field wraps (let grid control width) === */
.form-template-3 .ww-form-container-3 form fieldset > div,
.form-template-3 .ww-form-container-3 form > p {
    width: 100% !important;
    margin: 0 !important;
}

/* === Reset form-container (where submit lives) to full width === */
.form-template-3 .ww-form-container-3 div.form-container,
.form-template-3 div.form-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

/* === Inputs — override grey bg + 5px radius + min-height === */
.form-template-3 .ww-form-container-3 input[type="text"],
.form-template-3 .ww-form-container-3 input[type="password"],
.form-template-3 .ww-form-container-3 input[type="tel"],
.form-template-3 .ww-form-container-3 input[type="email"],
.form-template-3 .ww-form-container-3 select,
.form-template-3 .ww-form-container-3 #mob_phone_phone_number_tel {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2D3B36 !important;
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* === Textarea — separate height treatment === */
.form-template-3 .ww-form-container-3 textarea {
    width: 100% !important;
    height: auto !important;
    min-height: 140px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2D3B36 !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* === Phone tel — country picker padding === */
.form-template-3 .ww-form-container-3 .iti--allow-dropdown input[type="tel"],
.form-template-3 .ww-form-container-3 .iti--allow-dropdown #mob_phone_phone_number_tel {
    padding-left: 58px !important;
}

/* === Focus states === */
.form-template-3 .ww-form-container-3 input[type="text"]:focus,
.form-template-3 .ww-form-container-3 input[type="email"]:focus,
.form-template-3 .ww-form-container-3 input[type="tel"]:focus,
.form-template-3 .ww-form-container-3 textarea:focus,
.form-template-3 .ww-form-container-3 #mob_phone_phone_number_tel:focus {
    outline: none !important;
    border-color: #B86F4F !important;
    background: #FFFFFF !important;
    box-shadow:
        0 6px 18px rgba(45, 59, 54, 0.08),
        0 0 0 3px rgba(184, 111, 79, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* === Placeholders === */
.form-template-3 .ww-form-container-3 input::placeholder,
.form-template-3 .ww-form-container-3 textarea::placeholder {
    color: rgba(45, 59, 54, 0.4) !important;
    font-style: italic !important;
}

/* === Submit button — override === */
.form-template-3 .ww-form-container-3 input[type="submit"],
.form-template-3 .ww-form-container-3 .submit_wrap input.button,
.form-template-3 .ww-form-container-3 .button.input {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 200px !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 16px 30px !important;
    margin: 0 auto !important;
    background: #B86F4F !important;
    border: none !important;
    border-radius: 4px !important;
    color: #F5EDDF !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.form-template-3 .ww-form-container-3 input[type="submit"]:hover,
.form-template-3 .ww-form-container-3 input[type="submit"]:focus,
.form-template-3 .ww-form-container-3 .submit_wrap input.button:hover,
.form-template-3 .ww-form-container-3 .button.input:hover {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
    outline: none !important;
    animation-play-state: paused !important;
}

/* === phone_wrap iti display fix === */
.form-template-3 .ww-form-container-3 .iti {
    width: 100% !important;
    display: block !important;
}

/* ===========================================================
   LEAD MAGNET FORM — OVERRIDE existing site CSS
   
   Mirrors the contact form override pattern. Ensures any site
   CSS targeting .ww-form-container inputs/form (like greybg,
   5px radius, default fieldset) is overridden by branded styling.
   Selectors use #lead-magnet-form .ww-form-container prefix
   to match or exceed existing site CSS specificity.
   =========================================================== */

/* === Reset form border/padding (if existing site has form border) === */
#lead-magnet-form .ww-form-container form {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* === Inputs — override grey bg + 5px radius (if existing) === */
#lead-magnet-form .ww-form-container input[type="text"],
#lead-magnet-form .ww-form-container input[type="password"],
#lead-magnet-form .ww-form-container input[type="tel"],
#lead-magnet-form .ww-form-container input[type="email"],
#lead-magnet-form .ww-form-container select {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #2D3B36 !important;
    transition: border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* === Textarea (if used) === */
#lead-magnet-form .ww-form-container textarea {
    width: 100% !important;
    height: auto !important;
    min-height: 140px !important;
    padding: 14px 16px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(201, 154, 142, 0.32) !important;
    box-shadow:
        0 2px 8px rgba(45, 59, 54, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    color: #2D3B36 !important;
    line-height: 1.5 !important;
    resize: vertical !important;
}

/* === Focus states === */
#lead-magnet-form .ww-form-container input[type="text"]:focus,
#lead-magnet-form .ww-form-container input[type="email"]:focus,
#lead-magnet-form .ww-form-container input[type="tel"]:focus,
#lead-magnet-form .ww-form-container textarea:focus {
    outline: none !important;
    border-color: #B86F4F !important;
    background: #FFFFFF !important;
    box-shadow:
        0 6px 18px rgba(45, 59, 54, 0.08),
        0 0 0 3px rgba(184, 111, 79, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

/* === Placeholders === */
#lead-magnet-form .ww-form-container input::placeholder,
#lead-magnet-form .ww-form-container textarea::placeholder {
    color: rgba(45, 59, 54, 0.4) !important;
    font-style: italic !important;
}

/* === Submit button — override === */
/* NOTE: Lead magnet uses width:100% (matches input fields edge-to-edge).
   Contact form uses width:200px (since it has more fields, button stands out smaller). */
#lead-magnet-form .ww-form-container input[type="submit"],
#lead-magnet-form .ww-form-container .submit_wrap input.button,
#lead-magnet-form .ww-form-container .button.input {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 16px 30px !important;
    margin: 0 !important;
    background: #B86F4F !important;
    border: none !important;
    border-radius: 4px !important;
    color: #F5EDDF !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(184, 111, 79, 0.22);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

#lead-magnet-form .ww-form-container input[type="submit"]:hover,
#lead-magnet-form .ww-form-container input[type="submit"]:focus,
#lead-magnet-form .ww-form-container .submit_wrap input.button:hover,
#lead-magnet-form .ww-form-container .button.input:hover {
    background: #B86F4F !important;
    color: #F5EDDF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(184, 111, 79, 0.38) !important;
    outline: none !important;
    animation-play-state: paused !important;
}

/* === Reset fieldset wraps + form>p (existing site CSS sets these to 90% width 
       which throws off submit button alignment) === */
#lead-magnet-form .ww-form-container form fieldset > div,
#lead-magnet-form .ww-form-container form > div,
#lead-magnet-form .ww-form-container form > p,
#lead-magnet-form .ww-form-container .submit_wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    display: block !important;
}

/* Ensure submit button stretches edge-to-edge inside its wrap */
#lead-magnet-form .ww-form-container .submit_wrap input.button,
#lead-magnet-form .ww-form-container input[type="submit"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
}

/* === Section padding consistency with contact form === */
#lead-magnet-form {
    padding: 56px 24px !important;
}

@media screen and (max-width: 39.9375em) {
    #lead-magnet-form {
        padding: 36px 18px 40px !important;
    }
}




.rbw-experience-section.rbw-care-spl-section:after {
    content: "Care";
}

.rbw-experience-section.rbw-approach-spl-section:after {
    content: "Approach";
}

.rbw-experience-section.rbw-Compassion-spl-section:after {
    content: "Compassion";
}

.rbw-airdrie-section.rbw-calgary-spl-section:after {
    content: "Calgary";
}

.rbw-airdrie-section.rbw-vancouver-spl-section:after {
    content: "Vancouver";
}

.rbw-airdrie-section.rbw-Toronto-spl-section:after {
    content: "Toronto";
}

.rbw-airdrie-section.rbw-edmonton-spl-section:after {
    content: "Edmonton";
}

.rbw-needs-section.rbw-growth-spl-section:after {
    content: "Growth";
}
.rbw-needs-section.rbw-journey-spl-section:after {
    content: "Journey";
}



.ww-form-container .button {
    gap: 12px;
    background-color: #B86F4F;
    color: #F5EDDF;
    padding: 15px 30px 15px 30px;
    font-family: 'Manrope', system-ui, sans-serif;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(184, 111, 79, 0.32), 0 2px 6px rgba(184, 111, 79, 0.18);
    text-shadow: none;
    transition: background-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-position 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    background-repeat: no-repeat;
    background-position: calc(100% - 22px) center;
        border-radius: 4px !important;
}




@media (min-width:1023.5px) and (max-width:1285px){
    #footer .footer-email {
   font-size: 11.7px !important; 
}
}