/* || 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-size: 2.8em;
    line-height: 1.2em;
    margin: 0.67em 0;
}

h2, .h2 {
    font-size: 2.2em;
    line-height: 1.2em;
    font-weight:600;
}

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: 0px;
    
    font-weight: 600;
}

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


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


button:hover,
.button:hover,
button:focus,
.button:focus {
    transition: .4s;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.26);
}

.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", serif;
}

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

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

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

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

/* sticky navigation*/
header .with-nav.is-stuck {
    background: #ffffff;
    width:100%;
    position:fixed;
    left:0;
    top:0;
    z-index:99;
    border-bottom: 1px solid #e6e6e6;
    box-shadow: 0 4px 12px 0 #e6e6e6;
    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: #3D5144;
}

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

header .icon, 
header i,
header i.fa-bars.icon{
    color: #3D5144;
}

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

header button,
header .button,
header button:hover,
header button:focus,
header .button:hover,
header .button:focus {
     background:#BF7A64;
     color:#FBF9F4;
}

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: #3D5144;
    font-size: 44px;
    font-family: "Fraunces", serif;
}

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

footer {
    border-top: 1px solid #5B6F60;
}

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

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

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

.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: #3D5144
}

header .text-muted {
    color: #3D5144 !important;
}

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

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


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:#BF7A64
}

.ecommerce-style2 .ps-cart-text-container, .ps-cart-text-container {
    color:#F7F3EC;
    background:#3D5144;
    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:#BF7A64;
}

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: #F7F3EC;
    
}


.header-search-input{
    padding-right:25px;
    color:#26312A;
    background:#FBF9F4;
}

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

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

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

header .ps-cart-text-container {
    color:#F7F3EC;
    background:#3D5144;
    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:#BF7A64;
}

/* || 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: #3D5144;
     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: #FBF9F4;
    background-color: #BF7A64;
}

header .dropdown.menu li ul.submenu {
     background: #3D5144;
     border:none;
}

header .dropdown.menu li ul.submenu li a:not(.button) {
    color: #F7F3EC;
    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: #D9A593;
}

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

header .dropdown.menu > li.is-active > a {
    color: #3D5144;
    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 #BF7A64 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 #BF7A64;
}

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

.header-top-bg {
    background:#3D5144;
    color: #F7F3EC;
}

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

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

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

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

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 :#FBF9F4;
}


.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 #FBF9F4;
}

.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: #BF7A64;
    color: #FBF9F4;
}

.new-header .button.hollow {
    background:transparent;
    color:#3D5144;
    border:1px solid #BF7A64;
}

.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: transparent;
    color: #FBF9F4;
    height: 42px;
    width: 42px;
    text-align: center;
    border-radius: 50px;
    padding-top: 0;
}

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

.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:#BF7A64;
    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 #DDD3C4;
    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: #BF7A64;
    color: #FBF9F4;
    padding:12px 32px;
    font-size:0.9em;
}

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

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

.is-dark-color .button,
.is-dark-color button {
    background: #BF7A64;
    color: #FBF9F4;
}

.is-light-color button,
.is-light-color .button {
    background: #FBF9F4;
    color: #BF7A64;
}

.page-banner-main-heading {
    font-weight: 500; 
    margin-bottom: 10px; 
    font-size:2.8em;
}

.page-banner-sub-heading {
    font-size: 1.2em; 
    font-family: inherit; 
    margin-bottom: 30px;
}

#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:#F7F3EC;
    position: absolute;
    right: 0;
    top:110px;
    width: 100%;
    padding: 40px;
}

#contact-us-form-container form input:not([type="submit"]) {
    border:1px solid #DDD3C4;
    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:#F7F3EC;
}

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

.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: black;
        color: white;
        max-width: 600px; /* Ensure text stays within grid */
    }
    
    .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; /* Ensure image fully covers the space */
    }
}


/* 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:#F7F3EC;
}

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 #5B6F60;
    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 #5B6F60;
    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: #FBF9F4;
}

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

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

.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("//s3-ap-southeast-1.amazonaws.com/assets-powerstores-com/data/org/31306/theme/49205/img/footer_bg.jpg") no-repeat;
    background-position: top;
    background-size: cover;
    margin-top:0;
}

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

.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:#BF7A64;
    font-weight:500;
}

.text-primary {
     color:#BF7A64;
}

strong, b {
    font-weight: bolder;
}

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

.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:;
}

.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-size:2.8em;
    color:#FFFFFF;
    line-height: 1.2em;
}

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

.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:#000000;
}   

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

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

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

.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: px;
    line-height: 1.5;
    font-weight: 600;
}

.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 #BF7A64;
    margin-right: 16px;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 16px;
    color:#BF7A64;
}

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

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

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

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

.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:#000000;
    border: 1px solid #000000;
    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:#000000;
    font-weight: 400;
}

.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:#E7E5E4;
    border:1px solid #E7E5E4;
    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 #BF7A64;
    font-weight:600;
    background:transparent;
}

.new-blog-page-type .article-title {
    color:#2C3B31;
    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: 1023.5px) {
    .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:18px;
    }
    .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 #DDD3C4;
    }
    #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;
        margin-bottom: 30px;
    }
    .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:#3D5144;
}

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

.is-section-guide p.lead {
    color:#F7F3EC;
}
.is-section-guide a.button {
    background:#F7F3EC;
    color:#3D5144;
}

/* || FOOTER || */
.is-footer, .is-wrapper div.is-section.is-footer {
    background-color: #3D5144;
    color: #F7F3EC;
    clear: both;
}

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

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

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

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


footer .border-bottom, 
footer hr {
    border-bottom:1px solid #5B6F60;
}

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

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

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

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


.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:#F7F3EC;
    color:#3D5144;
}

aside.sidenav .featured-section i {
    color:#3D5144;
}

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

aside.sidenav input[type=search]::placeholder {
    color:#26312A;
    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:#26312A
}


aside.sidenav .menu.simple {
    background:transparent;
    color: #3D5144;
}

aside.sidenav .menu.simple a {
    color: #3D5144;
}



aside.sidenav .ps-cart-text-container {
    color:#F7F3EC;
    background:#3D5144;
    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:#BF7A64;
}

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

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

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

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

aside.sidenav .menu.accordion-menu .active > a {
    background:#BF7A64;
    color: #FBF9F4;
}

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

aside.sidenav .menu.accordion-menu > li.has-submenu.active > a::after {
    border-color: #FBF9F4 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 #5B6F60;
    }
    
    footer .border-top-small {
      border-top:1px solid #5B6F60;
    }

    header .border-top-small  {
        border-top:1px solid #DDD3C4;
    }
    
    .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 #DDD3C4;
        border-bottom:1px solid #DDD3C4;
        line-height: 60px;
    }
    
    header .mobile-head-border-section .mobile-border-right {
        border-right:1px solid #DDD3C4;
    }
    
    header .mobile-contact-section .head-icons {
        background: #3D5144;
        color:#F7F3EC;
        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:#F7F3EC;
    }
    
    .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 #DDD3C4;
    }
    
     .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 #DDD3C4;
        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 #5B6F60;
        }
       
        
    /* 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;
    }
}




.ecommerce-product-slider .orbit-previous,
.ecommerce-product-slider .orbit-next {
  color: #cacaca;
}

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

.ecommerce-product-slider .product-card {
  background-color: #fefefe;
  border: 1px solid #e6e6e6;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

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

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

.ecommerce-product-slider .product-card-desc {
  color: #8a8a8a;
  display: block;
  font-family: 'Open sans', sans-serif;
  font-size: 0.85rem;
}

.ecommerce-product-slider .product-card-price {
  color: #3e3e3e;
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-top: 0.8rem;
}

.ecommerce-product-slider .product-card-sale {
  color: #cacaca;
  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;
}

/* === Home Banner (bnl-0) — Colleen Purtill Coaching brand === */
.bnl-0 .bn-overlay { display: none; }
.bnl-0 .pos-ab-ban { z-index: 3; }

/* Gradient scrim over the image for guaranteed text contrast (desktop) */
.bnl-0 .pos-rel-ban::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(44, 59, 49, 0.92) 0%,
        rgba(44, 59, 49, 0.78) 38%,
        rgba(44, 59, 49, 0.30) 70%,
        rgba(44, 59, 49, 0.05) 100%
    );
}

.bnl-0 .bn-content {
    max-width: 600px;
    text-align: left;
    margin-left: 0;
    margin-right: auto;
    padding: 8px 0;
    background: transparent;
    color: #F7F3EC;
}

/* Eyebrow / kicker */
.bnl-0 .bn-eyebrow {
    display: inline-block;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #E8C4B0;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid rgba(191, 122, 100, 0.6);
}

.bnl-0 .bn-content h1 {
    color: #F7F3EC;
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(26px, 3.4vw, 42px);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 16px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}

.bnl-0 .bn-content h2,
.bnl-0 .bn-content h3,
.bnl-0 .bn-content h4 {
    color: #F7F3EC;
    font-family: 'Fraunces', Georgia, serif;
}

.bnl-0 .bn-content p {
    color: rgba(247, 243, 236, 0.94);
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 28px;
    max-width: 52ch;
}

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

/* CTA group */
.bnl-0 .bn-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

.bnl-0 .bn-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 36px;
    border-radius: 30px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    text-decoration: none;
    text-shadow: none;
    transition: transform .25s ease, background-color .25s ease,
                box-shadow .25s ease, color .25s ease;
}

/* Primary — Terracotta solid */
.bnl-0 .bn-btn-primary {
    background: #BF7A64;
    color: #FBF9F4;
    box-shadow: 0 6px 18px rgba(44, 59, 49, 0.32);
}
.bnl-0 .bn-btn-primary:hover {
    transform: translateY(-2px);
    background: #A5604B;
    color: #FBF9F4;
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}

/* Secondary — ghost / outline */
.bnl-0 .bn-btn-ghost {
    background: transparent;
    color: #F7F3EC;
    border: 1.5px solid rgba(247, 243, 236, 0.55);
    box-shadow: none;
}
.bnl-0 .bn-btn-ghost:hover {
    transform: translateY(-2px);
    background: rgba(247, 243, 236, 0.12);
    border-color: #F7F3EC;
    color: #F7F3EC;
}

/* Accessibility — keyboard focus */
.bnl-0 .bn-actions .button:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
}
.ab-mission p.color-white {
    font-size: 16px;
    font-weight: 300;
    font-family: 'Mulish', system-ui, sans-serif;
}
/* Mobile — solid Deep Pine panel below the image */
@media (max-width: 1023.5px) {
    .bnl-0 .pos-rel-ban::after { display: none; }

    .bnl-0 .bn-content {
        background: #2C3B31;
        color: #F7F3EC;
        max-width: 100%;
        width: 100%;
        padding: 32px 22px 36px;
        border-radius: 0 0 0px 0px;
    }
    .bnl-0 .bn-eyebrow { color: #E8C4B0; }
    .bnl-0 .bn-content h1,
    .bnl-0 .bn-content h2,
    .bnl-0 .bn-content h3,
    .bnl-0 .bn-content h4 { color: #F7F3EC; }
    .bnl-0 .bn-content p { color: rgba(247, 243, 236, 0.9); }

    .bnl-0 .bn-actions { gap: 12px; }
    .bnl-0 .bn-actions .button { flex: 1 1 auto; }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
    .bnl-0 .bn-actions .button { transition: none; }
    .bnl-0 .bn-actions .button:hover { transform: none; }
}

/* === Intro Content Section (scl-0) — Colleen Purtill Coaching, luxury executive, full-width gradient === */
.is-wrapper > div.scl-0,
.scl-0 {
    background: linear-gradient(135deg, #FFFFFF 0%, #FBF9F4 55%, #F7F1E6 100%);
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(199, 162, 106, 0.35);
}

/* Soft gold glow, top-right */
.scl-0::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -60px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(199, 162, 106, 0.20) 0%, rgba(199, 162, 106, 0) 70%);
    pointer-events: none;
}

/* Soft forest-green glow, bottom-left */
.scl-0::after {
    content: "";
    position: absolute;
    bottom: -80px;
    left: -40px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(61, 81, 68, 0.10) 0%, rgba(61, 81, 68, 0) 70%);
    pointer-events: none;
}

.scl-0 .scl-inner {
    position: relative;
    z-index: 1;
    max-width: 100%;
    margin: 0 auto;
    padding: 32px 0;
    text-align: center;
}

.scl-0 .scl-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #A5604B;
    margin-bottom: 18px;
}
.scl-0 .scl-eyebrow::before,
.scl-0 .scl-eyebrow::after {
    content: "";
    width: 24px;
    height: 1px;
    background: #C7A26A;
    display: inline-block;
}

.scl-0 .scl-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(27px, 3.1vw, 36px);
    font-weight: 600;
    line-height: 1.16;
    color: #2C3B31;
    margin: 0 0 26px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}

.scl-0 .scl-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #4A4A45;
    margin: 0 auto 34px;
    max-width: 100%;
}

.scl-0 .scl-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 38px;
    border-radius: 30px;
    background: linear-gradient(135deg, #C99F62, #BF7A64);
    color: #241A12;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(199, 162, 106, 0.35);
    transition: transform .25s ease, box-shadow .25s ease;
}
.scl-0 .scl-btn:hover {
    transform: translateY(-2px);
    color: #241A12;
    box-shadow: 0 16px 36px rgba(199, 162, 106, 0.45);
}
.scl-0 .scl-btn i {
    font-size: 14px;
    transition: transform .25s ease;
}
.scl-0 .scl-btn:hover i {
    transform: translateX(4px);
}
.scl-0 .scl-btn:focus-visible {
    outline: 3px solid #C7A26A;
    outline-offset: 3px;
}

/* Mobile */
@media (max-width: 1023.5px) {
    .scl-0 .scl-inner {
        padding: 16px 0;
    }
    .scl-0 .scl-eyebrow::after { display: none; }
    .scl-0 .scl-body {
        font-size: 15px;
        line-height: 1.8;
        margin-bottom: 26px;
    }
    .scl-0 .scl-btn {
        display: flex;
        justify-content: center;
        padding: 15px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .scl-0 .scl-btn,
    .scl-0 .scl-btn i { transition: none; }
    .scl-0 .scl-btn:hover { transform: none; }
    .scl-0 .scl-btn:hover i { transform: none; }
}

/* === Pattern Shifting Section (scl-1) — Colleen Purtill Coaching, editorial overlap === */
.is-wrapper > div.scl-1,
.scl-1 {
    background: #F4EDE1;
    position: relative;
    overflow: hidden;
}

/* Soft gold glow, top-left */
.scl-1::before {
    content: "";
    position: absolute;
    top: -70px;
    left: -40px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(199, 162, 106, 0.16) 0%, rgba(199, 162, 106, 0) 70%);
    pointer-events: none;
}

/* Stage that holds the overlap composition */
.scl-1 .scl1-stage {
    position: relative;
    z-index: 1;
    min-height: 460px;
    margin: 16px 0;
}

/* ============================================================
   Shared HOVER interactions — scl-1 / scl-2 / scl-3
   Image gently zooms, panel lifts with deeper shadow, the gold
   edge thickens and the corner bracket expands. Pure CSS,
   smooth transitions — triggered on hover/focus only.
   ============================================================ */

/* Image zoom on hover (contained by the wrap's overflow:hidden) */
.scl-1 .scl1-img-wrap img,
.scl-2 .scl2-img-wrap img,
.scl-3 .scl3-img-wrap img {
    transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}
.scl-1 .scl1-img-wrap:hover img,
.scl-2 .scl2-img-wrap:hover img,
.scl-3 .scl3-img-wrap:hover img {
    transform: scale(1.07);
}

/* Image overlay deepens slightly on hover */
.scl-1 .scl1-img-wrap::after,
.scl-2 .scl2-img-wrap::after,
.scl-3 .scl3-img-wrap::after {
    transition: opacity 0.5s ease;
}
.scl-1 .scl1-img-wrap:hover::after,
.scl-2 .scl2-img-wrap:hover::after,
.scl-3 .scl3-img-wrap:hover::after {
    opacity: 0.82;
}

/* Panel lift + deeper shadow on hover */
.scl-1 .scl1-panel,
.scl-2 .scl2-panel,
.scl-3 .scl3-panel {
    transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.5s ease;
}
.scl-1 .scl1-panel:hover { transform: translateY(-8px); box-shadow: 0 40px 80px rgba(20, 28, 22, 0.24); }
.scl-2 .scl2-panel:hover { transform: translateY(-8px); box-shadow: 0 40px 80px rgba(0, 0, 0, 0.48); }
.scl-3 .scl3-panel:hover { transform: translateY(-8px); box-shadow: 0 40px 80px rgba(20, 28, 22, 0.22); }

/* Gold edge thickens on panel hover */
.scl-1 .scl1-panel,
.scl-3 .scl3-panel {
    transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.5s ease, border-left-width 0.4s ease;
}
.scl-2 .scl2-panel {
    transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.5s ease, border-right-width 0.4s ease;
}
.scl-1 .scl1-panel:hover { border-left-width: 6px; }
.scl-3 .scl3-panel:hover { border-left-width: 6px; }
.scl-2 .scl2-panel:hover { border-right-width: 6px; }

/* Corner bracket expands when its stage is hovered */
.scl-1 .scl1-corner,
.scl-2 .scl2-corner,
.scl-3 .scl3-corner {
    transition: width 0.45s ease, height 0.45s ease;
}
.scl-1 .scl1-stage:hover .scl1-corner,
.scl-2 .scl2-stage:hover .scl2-corner,
.scl-3 .scl3-stage:hover .scl3-corner {
    width: 64px;
    height: 64px;
}

/* Heading accent shifts on panel hover (subtle warmth) */
.scl-1 .scl1-heading em,
.scl-2 .scl2-heading em,
.scl-3 .scl3-heading em {
    transition: color 0.35s ease;
}
.scl-1 .scl1-panel:hover .scl1-heading em,
.scl-3 .scl3-panel:hover .scl3-heading em {
    color: #A5604B;
}
.scl-2 .scl2-panel:hover .scl2-heading em {
    color: #C7A26A;
}

@media (prefers-reduced-motion: reduce) {
    .scl-1 .scl1-img-wrap img, .scl-2 .scl2-img-wrap img, .scl-3 .scl3-img-wrap img,
    .scl-1 .scl1-panel, .scl-2 .scl2-panel, .scl-3 .scl3-panel,
    .scl-1 .scl1-corner, .scl-2 .scl2-corner, .scl-3 .scl3-corner {
        transition: none !important;
    }
    .scl-1 .scl1-img-wrap:hover img, .scl-2 .scl2-img-wrap:hover img, .scl-3 .scl3-img-wrap:hover img,
    .scl-1 .scl1-panel:hover, .scl-2 .scl2-panel:hover, .scl-3 .scl3-panel:hover {
        transform: none !important;
    }
}

/* Image — right side, large */
.scl-1 .scl1-img-wrap {
    position: absolute;
    right: 0;
    top: 0;
    width: 60%;
    height: 460px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 34px 74px rgba(20, 28, 22, 0.3);
}
.scl-1 .scl1-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
}
.scl-1 .scl1-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(44, 59, 49, 0.62) 0%, rgba(44, 59, 49, 0.12) 40%, rgba(44, 59, 49, 0) 70%);
    pointer-events: none;
}

/* Gold corner bracket on the image */
.scl-1 .scl1-corner {
    position: absolute;
    right: 22px;
    top: 22px;
    width: 54px;
    height: 54px;
    border-top: 2px solid #D9B57E;
    border-right: 2px solid #D9B57E;
    border-radius: 0 6px 0 0;
    z-index: 2;
    pointer-events: none;
}

/* Content panel — left, overlapping the image */
.scl-1 .scl1-panel {
    position: absolute;
    left: 0;
    top: 58px;
    width: 48%;
    background: #FBF9F4;
    border-radius: 16px;
    padding: 46px 44px;
    box-shadow: 0 26px 64px rgba(20, 28, 22, 0.18);
    border-left: 3px solid #C7A26A;
    z-index: 2;
}

/* Number + rule + label unit */
.scl-1 .scl1-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.scl-1 .scl1-num {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 0.8;
    color: #C7A26A;
}
.scl-1 .scl1-rule {
    width: 1px;
    height: 38px;
    background: rgba(199, 162, 106, 0.55);
    display: inline-block;
}
.scl-1 .scl1-label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #A5604B;
    line-height: 1.5;
}

.scl-1 .scl1-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(26px, 2.9vw, 33px);
    font-weight: 600;
    line-height: 1.14;
    color: #2C3B31;
    margin: 0 0 22px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}
.scl-1 .scl1-heading em {
    font-style: italic;
    color: #BF7A64;
}

.scl-1 .scl1-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.82;
    color: #4A4A45;
    margin: 0;
}

/* Mobile — stack: image, then overlapping panel */
@media (max-width: 1023.5px) {
    .scl-1 .scl1-stage {
        min-height: 0;
        margin: 0;
    }
    .scl-1 .scl1-img-wrap {
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        border-radius: 14px;
        margin-bottom: -30px;
        box-shadow: 0 22px 48px rgba(20, 28, 22, 0.26);
    }
    .scl-1 .scl1-img-wrap::after {
        background: linear-gradient(180deg, rgba(44, 59, 49, 0) 40%, rgba(44, 59, 49, 0.4) 100%);
    }
    .scl-1 .scl1-corner {
        right: 14px;
        top: 14px;
        width: 40px;
        height: 40px;
    }
    .scl-1 .scl1-panel {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
        margin: 0 6px;
        padding: 30px 24px;
        border-radius: 14px;
        box-shadow: 0 20px 44px rgba(20, 28, 22, 0.14);
    }
    .scl-1 .scl1-num { font-size: 40px; }
    .scl-1 .scl1-rule { height: 32px; }
}

/* === Dedicated Life Coach for Engineers (scl-2) — editorial overlap, dark, image LEFT (mirrored) === */
.is-wrapper > div.scl-2,
.scl-2 {
    background: #2C3B31;
    position: relative;
    overflow: hidden;
}

/* Blueprint grid motif (precision cue) */
.scl-2::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(199, 162, 106, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(199, 162, 106, 0.06) 1px, transparent 1px);
    background-size: 46px 46px;
    pointer-events: none;
    z-index: 0;
}
/* Soft champagne glow, top-right */
.scl-2::after {
    content: "";
    position: absolute;
    top: -80px;
    right: -50px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(217, 181, 126, 0.16) 0%, rgba(217, 181, 126, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

.scl-2 .scl2-stage {
    position: relative;
    z-index: 1;
    min-height: 460px;
    margin: 16px 0;
}

/* Image — LEFT side */
.scl-2 .scl2-img-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 60%;
    height: 460px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 34px 74px rgba(0, 0, 0, 0.4);
}
.scl-2 .scl2-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
}
.scl-2 .scl2-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(260deg, rgba(20, 28, 22, 0.62) 0%, rgba(20, 28, 22, 0.12) 40%, rgba(20, 28, 22, 0) 70%);
    pointer-events: none;
}

/* Gold corner bracket — top-left */
.scl-2 .scl2-corner {
    position: absolute;
    left: 22px;
    top: 22px;
    width: 54px;
    height: 54px;
    border-top: 2px solid #D9B57E;
    border-left: 2px solid #D9B57E;
    border-radius: 6px 0 0 0;
    z-index: 2;
    pointer-events: none;
}

/* Content panel — RIGHT, overlapping the image */
.scl-2 .scl2-panel {
    position: absolute;
    right: 0;
    top: 58px;
    width: 48%;
    background: #33433A;
    border-radius: 16px;
    padding: 46px 44px;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.4);
    border-right: 3px solid #D9B57E;
    z-index: 2;
    text-align: right;
}

.scl-2 .scl2-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-bottom: 24px;
}
.scl-2 .scl2-label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #D9B57E;
    line-height: 1.5;
}
.scl-2 .scl2-rule {
    width: 1px;
    height: 38px;
    background: rgba(217, 181, 126, 0.5);
    display: inline-block;
}
.scl-2 .scl2-num {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 0.8;
    color: #D9B57E;
}

.scl-2 .scl2-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(26px, 2.9vw, 33px);
    font-weight: 500;
    line-height: 1.14;
    color: #F7F3EC;
    margin: 0 0 22px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}
.scl-2 .scl2-heading em {
    font-style: italic;
    color: #D9B57E;
}

.scl-2 .scl2-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.82;
    color: rgba(247, 243, 236, 0.88);
    margin: 0;
}

/* Mobile — stack: image, then overlapping panel */
@media (max-width: 1023.5px) {
    .scl-2 .scl2-stage {
        min-height: 0;
        margin: 0;
    }
    .scl-2 .scl2-img-wrap {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        border-radius: 14px;
        margin-bottom: -30px;
        box-shadow: 0 22px 48px rgba(0, 0, 0, 0.4);
    }
    .scl-2 .scl2-img-wrap::after {
        background: linear-gradient(180deg, rgba(20, 28, 22, 0) 40%, rgba(20, 28, 22, 0.45) 100%);
    }
    .scl-2 .scl2-corner {
        left: 14px;
        top: 14px;
        width: 40px;
        height: 40px;
    }
    .scl-2 .scl2-panel {
        position: relative;
        right: auto;
        top: auto;
        width: auto;
        margin: 0 6px;
        padding: 30px 24px;
        border-radius: 14px;
        text-align: left;
        box-shadow: 0 20px 44px rgba(0, 0, 0, 0.35);
    }
    .scl-2 .scl2-meta { justify-content: flex-start; }
    .scl-2 .scl2-num { font-size: 40px; }
    .scl-2 .scl2-rule { height: 32px; }
}

/* === Fostering Professional Alignment (scl-3) — editorial overlap, light, image RIGHT === */
.is-wrapper > div.scl-3,
.scl-3 {
    background: linear-gradient(180deg, #FBF9F4 0%, #F4EDE1 100%);
    position: relative;
    overflow: hidden;
}

/* Soft terracotta glow, bottom-right */
.scl-3::before {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -40px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(191, 122, 100, 0.12) 0%, rgba(191, 122, 100, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

.scl-3 .scl3-stage {
    position: relative;
    z-index: 1;
    min-height: 460px;
    margin: 16px 0;
}

/* Image — RIGHT side */
.scl-3 .scl3-img-wrap {
    position: absolute;
    right: 0;
    top: 0;
    width: 60%;
    height: 460px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 34px 74px rgba(20, 28, 22, 0.3);
}
.scl-3 .scl3-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
}
.scl-3 .scl3-img-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(44, 59, 49, 0.55) 0%, rgba(44, 59, 49, 0.1) 40%, rgba(44, 59, 49, 0) 70%);
    pointer-events: none;
}

/* Gold corner bracket — top-right */
.scl-3 .scl3-corner {
    position: absolute;
    right: 22px;
    top: 22px;
    width: 54px;
    height: 54px;
    border-top: 2px solid #D9B57E;
    border-right: 2px solid #D9B57E;
    border-radius: 0 6px 0 0;
    z-index: 2;
    pointer-events: none;
}

/* Content panel — LEFT, overlapping the image */
.scl-3 .scl3-panel {
    position: absolute;
    left: 0;
    top: 58px;
    width: 48%;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 46px 44px;
    box-shadow: 0 26px 64px rgba(20, 28, 22, 0.16);
    border-left: 3px solid #C7A26A;
    z-index: 2;
}

.scl-3 .scl3-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.scl-3 .scl3-num {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 0.8;
    color: #C7A26A;
}
.scl-3 .scl3-rule {
    width: 1px;
    height: 38px;
    background: rgba(199, 162, 106, 0.55);
    display: inline-block;
}
.scl-3 .scl3-label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #A5604B;
    line-height: 1.5;
}

.scl-3 .scl3-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(26px, 2.9vw, 33px);
    font-weight: 600;
    line-height: 1.14;
    color: #2C3B31;
    margin: 0 0 22px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}
.scl-3 .scl3-heading em {
    font-style: italic;
    color: #BF7A64;
}

.scl-3 .scl3-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.82;
    color: #4A4A45;
    margin: 0;
}

/* Mobile — stack: image, then overlapping panel */
@media (max-width: 1023.5px) {
    .scl-3 .scl3-stage {
        min-height: 0;
        margin: 0;
    }
    .scl-3 .scl3-img-wrap {
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        border-radius: 14px;
        margin-bottom: -30px;
        box-shadow: 0 22px 48px rgba(20, 28, 22, 0.26);
    }
    .scl-3 .scl3-img-wrap::after {
        background: linear-gradient(180deg, rgba(44, 59, 49, 0) 40%, rgba(44, 59, 49, 0.4) 100%);
    }
    .scl-3 .scl3-corner {
        right: 14px;
        top: 14px;
        width: 40px;
        height: 40px;
    }
    .scl-3 .scl3-panel {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
        margin: 0 6px;
        padding: 30px 24px;
        border-radius: 14px;
        box-shadow: 0 20px 44px rgba(20, 28, 22, 0.14);
    }
    .scl-3 .scl3-num { font-size: 40px; }
    .scl-3 .scl3-rule { height: 32px; }
}

/* === Closing CTA (scl-cta) — Colleen Purtill Coaching, dark anchor, final call to action === */
.is-wrapper > div.scl-cta,
.scl-cta {
    background: #2C3B31;
    position: relative;
    overflow: hidden;
}
.scl-cta .sclc-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(199, 162, 106, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(199, 162, 106, 0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
    z-index: 0;
}
.scl-cta .sclc-glow {
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    width: 520px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(217, 181, 126, 0.16) 0%, rgba(217, 181, 126, 0) 70%);
    pointer-events: none;
    z-index: 0;
}
.scl-cta .sclc-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.scl-cta .sclc-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 22px;
}
.scl-cta .sclc-eyebrow span:first-child {
    width: 30px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #D9B57E);
}
.scl-cta .sclc-eyebrow span:last-child {
    width: 30px;
    height: 1px;
    background: linear-gradient(90deg, #D9B57E, transparent);
}
.scl-cta .sclc-eyebrow .sclc-label {
    width: auto;
    height: auto;
    background: none;
    font-family: 'Mulish', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #D9B57E;
}
.scl-cta .sclc-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(26px, 3.2vw, 36px);
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: -0.5px;
    color: #F7F3EC;
    margin: 0 0 24px;
    text-wrap: balance;
}
.scl-cta .sclc-heading em {
    font-style: italic;
    color: #D9B57E;
}
.scl-cta .sclc-body {
    font-family: 'Mulish', sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: rgba(247, 243, 236, 0.88);
    margin: 0 auto 36px;
    max-width: 600px;
}
.scl-cta .sclc-btn,
.scl-cta a.sclc-btn {
    display: inline-block;
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #2C3B31;
    background: #D9B57E;
    padding: 17px 42px;
    border-radius: 30px;
    text-decoration: none;
    border: 2px solid #D9B57E;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.scl-cta .sclc-btn:hover,
.scl-cta a.sclc-btn:hover {
    background: #C7A26A;
    border-color: #C7A26A;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
    color: #2C3B31;
}
.scl-cta .sclc-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(217, 181, 126, 0.5);
}
@media all and (max-width: 640px) {
    .scl-cta .sclc-glow { top: -50px; width: 260px; height: 180px; }
    .scl-cta .sclc-eyebrow { gap: 8px; margin-bottom: 16px; }
    .scl-cta .sclc-eyebrow span:first-child,
    .scl-cta .sclc-eyebrow span:last-child { width: 20px; }
    .scl-cta .sclc-eyebrow .sclc-label { font-size: 10px; letter-spacing: 2px; }
    .scl-cta .sclc-body { font-size: 15px; line-height: 1.8; margin-bottom: 26px; }
    .scl-cta .sclc-btn,
    .scl-cta a.sclc-btn { font-size: 13px; padding: 15px 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .scl-cta .sclc-btn,
    .scl-cta a.sclc-btn { transition: none !important; }
    .scl-cta .sclc-btn:hover,
    .scl-cta a.sclc-btn:hover { transform: none !important; }
}

/* === About + Service Areas (scl-about) — Colleen Purtill Coaching, light, premium polish === */
.is-wrapper > div.scl-about,
.scl-about {
    background: linear-gradient(180deg, #FBF9F4 0%, #F4EDE1 100%);
    position: relative;
    overflow: hidden;
}
.scl-about .scla-glow-a,
.scl-about .scla-glow-b {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.scl-about .scla-glow-a {
    top: -70px;
    right: -50px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(199, 162, 106, 0.14) 0%, rgba(199, 162, 106, 0) 70%);
}
.scl-about .scla-glow-b {
    bottom: -70px;
    left: -50px;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(191, 122, 100, 0.10) 0%, rgba(191, 122, 100, 0) 70%);
}
.scl-about .scla-inner {
    position: relative;
    z-index: 1;
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}
.scl-about .scla-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 30px;
}
.scl-about .scla-eyebrow span:first-child {
    width: 30px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #C7A26A);
}
.scl-about .scla-eyebrow span:last-child {
    width: 30px;
    height: 1px;
    background: linear-gradient(90deg, #C7A26A, transparent);
}
.scl-about .scla-eyebrow .scla-label {
    width: auto;
    height: auto;
    background: none;
    font-family: 'Mulish', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #A5604B;
}
.scl-about .scla-lead-wrap {
    position: relative;
}
.scl-about .scla-quote {
    position: absolute;
    top: -46px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Fraunces', Georgia, serif;
    font-size: 120px;
    line-height: 1;
    color: rgba(199, 162, 106, 0.18);
    pointer-events: none;
    user-select: none;
    z-index: 0;
}
.scl-about .scla-lead {
    position: relative;
    z-index: 1;
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(21px, 2.4vw, 26px);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.3px;
    color: #2C3B31;
    margin: 0 0 22px;
    text-wrap: balance;
}
.scl-about .scla-accent {
    width: 50px;
    height: 2px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    margin: 0 auto 26px;
    border-radius: 2px;
}
.scl-about .scla-body {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 1.9;
    color: #4f4a42;
    margin: 0 auto;
    max-width: 720px;
}
.scl-about .scla-areas {
    margin-top: 44px;
    padding-top: 34px;
    border-top: 1px solid rgba(199, 162, 106, 0.4);
}
.scl-about .scla-areas-title {
    font-family: 'Mulish', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #A5604B;
    margin-bottom: 20px;
}
.scl-about .scla-cities {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.scl-about .scla-cities a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #2C3B31;
    text-decoration: none;
    padding: 9px 18px;
    border: 1px solid rgba(199, 162, 106, 0.45);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.55);
    line-height: 1.4;
    transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.scl-about .scla-cities a i {
    font-size: 12px;
    color: #BF7A64;
    transition: color 0.35s ease, transform 0.35s ease;
}
.scl-about .scla-cities a:hover,
.scl-about .scla-cities a:focus-visible {
    background: #C7A26A;
    border-color: #C7A26A;
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(199, 162, 106, 0.35);
}
.scl-about .scla-cities a:hover i,
.scl-about .scla-cities a:focus-visible i {
    color: #fff;
    transform: translateY(-1px);
}
.scl-about .scla-cities a:focus-visible {
    outline: 2px solid #C7A26A;
    outline-offset: 3px;
}
@media all and (max-width: 640px) {
    .scl-about .scla-glow-a { top: -40px; right: -40px; width: 160px; height: 160px; }
    .scl-about .scla-glow-b { bottom: -40px; left: -40px; width: 160px; height: 160px; }
    .scl-about .scla-eyebrow { gap: 8px; margin-bottom: 20px; }
    .scl-about .scla-eyebrow span:first-child,
    .scl-about .scla-eyebrow span:last-child { width: 20px; }
    .scl-about .scla-eyebrow .scla-label { font-size: 10px; letter-spacing: 2px; }
    .scl-about .scla-quote { top: -30px; font-size: 78px; }
    .scl-about .scla-lead { margin-bottom: 16px; }
    .scl-about .scla-accent { margin-bottom: 18px; }
    .scl-about .scla-body { font-size: 15px; line-height: 1.85; }
    .scl-about .scla-areas { margin-top: 30px; padding-top: 24px; }
    .scl-about .scla-areas-title { font-size: 10px; letter-spacing: 2px; margin-bottom: 16px; }
    .scl-about .scla-cities { gap: 8px; }
    .scl-about .scla-cities a { font-size: 13px; padding: 7px 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .scl-about .scla-cities a,
    .scl-about .scla-cities a i { transition: none; }
    .scl-about .scla-cities a:hover,
    .scl-about .scla-cities a:hover i { transform: none; }
}

/* ============================================================
   SECTION TOP PADDING — Colleen Purtill Coaching
   Adds breathing room above content for the editorial,
   intro, CTA and service-area sections. Hero (bnl-0) is
   intentionally excluded so the banner image is not pushed.
   Absolute-positioned glows/motifs are unaffected.
   ============================================================ */
.scl-0,
.scl-1,
.scl-2,
.scl-3,
.scl-cta,
.scl-0, .scl-1, .scl-2, .scl-3, .scl-cta, .sa-0 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* ============================================================
   UNIFIED BUTTON SYSTEM — Colleen Purtill Coaching
   One identical button across every custom section:
   Terracotta solid pill, Mulish 700, 30px radius, lift-on-hover.
   This block intentionally lives LAST so it overrides each
   section's local button rules — single source of truth.
   ============================================================ */
.bnl-0 .bn-actions .button,
.bnl-0 .bn-btn-primary,
.bnl-0 .bn-btn-ghost,
.scl-0 .scl-btn,
.scl-cta .sclc-btn,
.scl-cta a.sclc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 36px;
    border-radius: 30px;
    background: #BF7A64;
    color: #FBF9F4;
    border: 2px solid #BF7A64;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    line-height: 1.2;
    text-transform: none;
    text-decoration: none;
    text-shadow: none;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(44, 59, 49, 0.32);
    transition: transform .25s ease, background-color .25s ease,
                border-color .25s ease, box-shadow .25s ease, color .25s ease;
}

.bnl-0 .bn-actions .button:hover,
.bnl-0 .bn-btn-primary:hover,
.bnl-0 .bn-btn-ghost:hover,
.scl-0 .scl-btn:hover,
.scl-cta .sclc-btn:hover,
.scl-cta a.sclc-btn:hover {
    transform: translateY(-2px);
    background: #A5604B;
    border-color: #A5604B;
    color: #FBF9F4;
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}

/* Keep the chevron icon (scl-0) animating consistently */
.scl-0 .scl-btn i {
    transition: transform .25s ease;
}
.scl-0 .scl-btn:hover i {
    transform: translateX(4px);
}

/* Unified keyboard focus ring */
.bnl-0 .bn-actions .button:focus-visible,
.scl-0 .scl-btn:focus-visible,
.scl-cta .sclc-btn:focus-visible,
.scl-cta a.sclc-btn:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
    box-shadow: 0 6px 18px rgba(44, 59, 49, 0.32);
}

/* Mobile parity */
@media (max-width: 1023.5px) {
    .bnl-0 .bn-actions .button,
    .bnl-0 .bn-btn-primary,
    .bnl-0 .bn-btn-ghost { flex: 1 1 auto; }

    .scl-0 .scl-btn { width: auto; }
}

/* Respect reduced-motion across all unified buttons */
@media (prefers-reduced-motion: reduce) {
    .bnl-0 .bn-actions .button,
    .bnl-0 .bn-btn-primary,
    .bnl-0 .bn-btn-ghost,
    .scl-0 .scl-btn,
    .scl-0 .scl-btn i,
    .scl-cta .sclc-btn,
    .scl-cta a.sclc-btn { transition: none !important; }

    .bnl-0 .bn-actions .button:hover,
    .bnl-0 .bn-btn-primary:hover,
    .bnl-0 .bn-btn-ghost:hover,
    .scl-0 .scl-btn:hover,
    .scl-cta .sclc-btn:hover,
    .scl-cta a.sclc-btn:hover { transform: none !important; }
    .scl-0 .scl-btn:hover i { transform: none !important; }
}

/* ============================================================
   HEADER / FOOTER BUTTON GEOMETRY — Colleen Purtill Coaching
   COLOR comes from Webware admin settings (header_button_*),
   NOT hardcoded here. This block only unifies SHAPE so header
   & footer CTAs match the custom-section pill:
   30px pill, Mulish 700, consistent padding & hover lift.
   Utility buttons (search, hamburger, menu toggle) are
   intentionally excluded so they keep their native behavior.
   ============================================================ */

/* --- HEADER CTAs --- */
header .button:not(.header-search-button):not(.openMenu):not(.hollow),
header button.cta,
.header-buttons .button,
.new-header .button:not(.hollow),
.mobile-contact-buttom-section .button,
.new-header-2 .mobile-contact-buttom-section .button,
.new-header-3 .mobile-contact-button-section .button,
.new-header-5 .mobile-contact-button-section .button,
.new-header-6 .mobile-contact-button-section .button {
    border-radius: 30px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    padding: 15px 36px;
    text-transform: none;
    text-decoration: none;
    transition: transform .25s ease, background-color .25s ease,
                box-shadow .25s ease, color .25s ease;
}

header .button:not(.header-search-button):not(.openMenu):not(.hollow):hover,
.header-buttons .button:hover,
.new-header .button:not(.hollow):hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}

/* --- FOOTER CTAs --- */
footer .button:not(.button-group .button),
.mailing-list-button .button,
.subscription-button-container .button {
    border-radius: 30px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    padding: 15px 36px;
    text-transform: none;
    text-decoration: none;
    transition: transform .25s ease, background-color .25s ease,
                box-shadow .25s ease, color .25s ease;
}

footer .button:not(.button-group .button):hover,
.mailing-list-button .button:hover,
.subscription-button-container .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}

/* Keyboard focus parity (color-neutral ring) */
header .button:not(.header-search-button):not(.openMenu):focus-visible,
.header-buttons .button:focus-visible,
.new-header .button:not(.hollow):focus-visible,
footer .button:not(.button-group .button):focus-visible,
.mailing-list-button .button:focus-visible,
.subscription-button-container .button:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
}

/* Reduced-motion */
@media (prefers-reduced-motion: reduce) {
    header .button:not(.header-search-button):not(.openMenu):not(.hollow),
    .header-buttons .button,
    .new-header .button:not(.hollow),
    footer .button:not(.button-group .button),
    .mailing-list-button .button,
    .subscription-button-container .button { transition: none !important; }

    header .button:not(.header-search-button):not(.openMenu):not(.hollow):hover,
    .header-buttons .button:hover,
    .new-header .button:not(.hollow):hover,
    footer .button:not(.button-group .button):hover,
    .mailing-list-button .button:hover,
    .subscription-button-container .button:hover { transform: none !important; }
}

/* === Service Area Section (sa-0) — Colleen Purtill Coaching, raised box + linked city rows === */
.is-wrapper > div.sa-0,
.sa-0 {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%);
    position: relative;
    overflow: hidden;
}

/* Soft gold glow, top-right */
.sa-0::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -60px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(199, 162, 106, 0.20) 0%, rgba(199, 162, 106, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

/* Soft forest-green glow, bottom-left */
.sa-0::after {
    content: "";
    position: absolute;
    bottom: -80px;
    left: -40px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(61, 81, 68, 0.10) 0%, rgba(61, 81, 68, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

/* Raised box */
.sa-0 .sa-box {
    position: relative;
    z-index: 1;
    max-width: 100%;
    margin: 0 auto;
    background: #FBF9F4;
    border-radius: 16px;
    padding: 50px 46px;
    box-shadow: 0 34px 74px rgba(20, 28, 22, 0.18), 0 12px 30px rgba(20, 28, 22, 0.10);
    border-left: 3px solid #C7A26A;
    transition: box-shadow 0.5s ease, border-left-width 0.4s ease;
}
.sa-0 .sa-box:hover {
    box-shadow: 0 40px 84px rgba(20, 28, 22, 0.22), 0 14px 34px rgba(20, 28, 22, 0.12);
    border-left-width: 6px;
}

/* Gold corner bracket */
.sa-0 .sa-corner {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 46px;
    height: 46px;
    border-top: 2px solid #D9B57E;
    border-right: 2px solid #D9B57E;
    border-radius: 0 6px 0 0;
    pointer-events: none;
    transition: width 0.45s ease, height 0.45s ease;
}
.sa-0 .sa-box:hover .sa-corner {
    width: 60px;
    height: 60px;
}

/* Intro */
.sa-0 .sa-head {
    text-align: center;
}
.sa-0 .sa-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #A5604B;
    margin-bottom: 18px;
}
.sa-0 .sa-eyebrow::before,
.sa-0 .sa-eyebrow::after {
    content: "";
    width: 24px;
    height: 1px;
    background: #C7A26A;
    display: inline-block;
}
.sa-0 .sa-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(27px, 3.0vw, 33px);
    font-weight: 600;
    line-height: 1.16;
    color: #2C3B31;
    margin: 0 0 22px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}
.sa-0 .sa-heading em {
    font-style: italic;
    color: #BF7A64;
}
.sa-0 .sa-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.82;
    color: #4A4A45;
    margin: 0 0 16px;
}
.sa-0 .sa-body:last-of-type {
    margin-bottom: 32px;
}

/* Cities label */
.sa-0 .sa-label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #A5604B;
    margin: 0 0 18px;
    text-align: center;
}

/* City grid + rows */
.sa-0 .sa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
    gap: 12px;
    justify-content: center;
}
.sa-0 .sa-row {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #FFFFFF;
    border: 1px solid rgba(199, 162, 106, 0.30);
    border-radius: 12px;
    padding: 15px 18px;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.sa-0 .sa-row:hover,
.sa-0 .sa-row:focus {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(20, 28, 22, 0.14);
    border-color: #BF7A64;
}
.sa-0 .sa-row:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
}
.sa-0 .sa-pin {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(199, 162, 106, 0.16);
    transition: background 0.3s ease;
}
.sa-0 .sa-pin i {
    font-size: 18px;
    color: #BF7A64;
    transition: color 0.3s ease;
}
.sa-0 .sa-row:hover .sa-pin {
    background: linear-gradient(135deg, #C99F62, #BF7A64);
}
.sa-0 .sa-row:hover .sa-pin i {
    color: #FBF9F4;
}
.sa-0 .sa-city {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    color: #2C3B31;
    flex: 1;
}
.sa-0 .sa-arrow {
    font-size: 16px;
    color: #C7A26A;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.sa-0 .sa-row:hover .sa-arrow {
    opacity: 1;
    transform: translateX(4px);
}

/* Mobile */
@media (max-width: 1023.5px) {
    .sa-0 .sa-box {
        padding: 36px 24px;
    }
    .sa-0 .sa-corner {
        right: 16px;
        top: 16px;
        width: 38px;
        height: 38px;
    }
    .sa-0 .sa-eyebrow::after { display: none; }
    .sa-0 .sa-body { font-size: 15px; line-height: 1.8; }
    .sa-0 .sa-arrow { opacity: 1; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sa-0 .sa-box,
    .sa-0 .sa-corner,
    .sa-0 .sa-row,
    .sa-0 .sa-pin,
    .sa-0 .sa-pin i,
    .sa-0 .sa-arrow { transition: none !important; }
    .sa-0 .sa-box:hover,
    .sa-0 .sa-row:hover { transform: none !important; }
}

/* =========================================================
   ABOUT PAGE — Colleen Purtill Coaching  (v2 premium redesign)
   Scoped ab-* classes. Brand: Fraunces / Mulish.
   Pine #2C3B31 · Terracotta #BF7A64 · Gold #C7A26A · Cream #FBF9F4
   All section roots use a specificity booster to beat the core
   theme rule `.is-wrapper > div { background: transparent }`.
   ========================================================= */

/* ---- shared section padding (hero excluded elsewhere) ---- */
.ab-mission,
.ab-meet,
.ab-story,
.ab-approach,
.ab-tst,
.ab-cta2 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* ---- shared eyebrow ---- */
.ab-eyebrow {
    display: inline-block;
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    color: #BF7A64;
    margin-bottom: 18px;
    position: relative;
    padding-left: 30px;
}
.ab-eyebrow::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 22px;
    height: 2px;
    background: linear-gradient(90deg, #C7A26A, #BF7A64);
    transform: translateY(-50%);
}
.ab-eyebrow-light {
    color: #E8C4B0;
}
.ab-eyebrow-light::before {
    background: linear-gradient(90deg, #D9B57E, #E8C4B0);
}
/* centered eyebrow variant */
.ab-mission-inner .ab-eyebrow,
.ab-story-inner .ab-eyebrow,
.ab-approach-head .ab-eyebrow,
.ab-tst-head .ab-eyebrow,
.ab-cta2-inner .ab-eyebrow {
    padding-left: 0;
}
.ab-mission-inner .ab-eyebrow::before,
.ab-story-inner .ab-eyebrow::before,
.ab-approach-head .ab-eyebrow::before,
.ab-tst-head .ab-eyebrow::before,
.ab-cta2-inner .ab-eyebrow::before {
    display: none;
}

/* ---- shared button (terracotta pill) ---- */
.ab-btn {
    display: inline-block;
    font-family: 'Mulish', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-decoration: none;
    padding: 17px 44px;
    border-radius: 40px;
    cursor: pointer;
    transition: transform 0.35s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.35s cubic-bezier(0.22,1,0.36,1),
                background 0.35s ease;
    border: 2px solid transparent;
    background: linear-gradient(135deg, #BF7A64, #A5604B);
    color: #FBF9F4;
    box-shadow: 0 10px 30px -8px rgba(165,96,75,0.55);
}
.ab-btn:hover,
.ab-btn:focus {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -10px rgba(165,96,75,0.65);
    color: #FBF9F4;
}
.ab-btn-ghost {
    background: transparent;
    border: 2px solid rgba(247,243,236,0.5);
    color: #F7F3EC;
    box-shadow: none;
}
.ab-btn-ghost:hover,
.ab-btn-ghost:focus {
    background: #F7F3EC;
    border-color: #F7F3EC;
    color: #2C3B31;
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -12px rgba(0,0,0,0.4);
}

/* =========================================================
   SCROLL REVEAL (pure CSS, no JS) — load-time stagger.
   Respects reduced-motion at bottom of file.
   ========================================================= */
[data-ab-reveal] {
    opacity: 0;
    transform: translateY(34px);
    animation: abReveal 0.9s cubic-bezier(0.22,1,0.36,1) forwards;
}
.ab-meet [data-ab-reveal] { animation-delay: 0.08s; }
.ab-approach .cell:nth-child(2) [data-ab-reveal] { animation-delay: 0.05s; }
.ab-approach .cell:nth-child(3) [data-ab-reveal] { animation-delay: 0.18s; }
.ab-approach .cell:nth-child(4) [data-ab-reveal] { animation-delay: 0.31s; }
.ab-tst .cell:nth-child(2) [data-ab-reveal] { animation-delay: 0.06s; }
.ab-tst .cell:nth-child(3) [data-ab-reveal] { animation-delay: 0.19s; }
.ab-tst .cell:nth-child(4) [data-ab-reveal] { animation-delay: 0.32s; }
@keyframes abReveal {
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   1 · MISSION  (deep pine band, blueprint grid, stats)
   ========================================================= */
.is-wrapper > div.ab-mission,
.ab-mission {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
}
.ab-mission::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.ab-mission::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.ab-mission-inner {
    position: relative;
    z-index: 1;
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}
.ab-mission-heading {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 46px);
    line-height: 1.28;
    letter-spacing: -0.3px;
    margin: 0 0 26px;
}
.ab-mission-heading em {
    font-style: italic;
    color: #D9B57E;
}
.ab-mission-sub {
    font-family: 'Mulish', sans-serif;
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.7;
    color: rgba(247,243,236,0.72);
    margin: 0 auto;
    max-width: 560px;
}
/* stats row */
.ab-mission-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 38px;
    margin-top: 50px;
    flex-wrap: wrap;
}
.ab-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 120px;
}
.ab-stat-num {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: clamp(38px, 4.2vw, 52px);
    line-height: 1;
    color: #FBF9F4;
    letter-spacing: -1px;
}
.ab-stat-plus {
    color: #D9B57E;
    margin-left: 1px;
}
.ab-stat-label {
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: rgba(232,196,176,0.85);
    margin-top: 12px;
}
.ab-stat-div {
    width: 1px;
    height: 56px;
    background: linear-gradient(180deg, transparent, rgba(199,162,106,0.5), transparent);
}

/* =========================================================
   2 · MEET COLLEEN  (image + story panel, cream base)
   ========================================================= */
.is-wrapper > div.ab-meet,
.ab-meet {
    background:
        radial-gradient(circle at 88% 12%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    overflow: hidden;
}
.ab-meet-img-wrap {
    position: relative;
    border-radius: 8px;
    overflow: visible;
    isolation: isolate;
}
.ab-meet-img-wrap img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 30px 70px -28px rgba(44,59,49,0.5);
    object-fit: cover;
}
/* gold corner bracket */
.ab-meet-corner {
    position: absolute;
    z-index: 0;
    left: -16px;
    top: -16px;
    width: 86px;
    height: 86px;
    border-top: 3px solid #C7A26A;
    border-left: 3px solid #C7A26A;
    border-top-left-radius: 8px;
}
.ab-meet-img-wrap::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -16px;
    bottom: -16px;
    width: 86px;
    height: 86px;
    border-bottom: 3px solid #BF7A64;
    border-right: 3px solid #BF7A64;
    border-bottom-right-radius: 8px;
}
/* floating credential badge */
.ab-meet-badge {
    position: absolute;
    z-index: 2;
    right: -22px;
    bottom: 34px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 22px;
    background: linear-gradient(135deg, #33433A, #2C3B31);
    border-radius: 14px;
    box-shadow: 0 20px 44px -16px rgba(44,59,49,0.6);
}
.ab-meet-badge-num {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1;
    color: #D9B57E;
}
.ab-meet-badge-txt {
    font-family: 'Mulish', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: rgba(247,243,236,0.85);
    line-height: 1.35;
}
.ab-meet-panel {
    padding-left: 38px;
}
.ab-meet-heading {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.22;
    letter-spacing: -0.4px;
    margin: 0 0 24px;
}
.ab-meet-heading em {
    font-style: italic;
    color: #BF7A64;
}
.ab-meet-body {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 1.85;
    color: #4A4A45;
    margin: 0 0 18px;
}
.ab-meet-sign {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 26px;
    color: #2C3B31;
    margin: 28px 0 2px;
    line-height: 1;
}
.ab-meet-sign-role {
    display: block;
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #BF7A64;
}

/* =========================================================
   3 · OUR STORY  (sand gradient, editorial single column)
   ========================================================= */
.is-wrapper > div.ab-story,
.ab-story {
    background:
        linear-gradient(180deg, #F7F1E6 0%, #F4EDE1 100%) !important;
    position: relative;
    overflow: hidden;
}
.ab-story-inner {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}
.ab-story-mark {
    display: block;
    font-family: 'Fraunces', serif;
    font-size: 130px;
    line-height: 0.6;
    color: rgba(199,162,106,0.32);
    height: 64px;
    margin-bottom: 6px;
    user-select: none;
}
.ab-story-heading {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 36px;
}
.ab-story-heading em {
    font-style: italic;
    color: #BF7A64;
}
.ab-story-body {
    text-align: left;
}
.ab-story-body p {
    font-family: 'Mulish', sans-serif;
    font-size: 16.5px;
    line-height: 1.95;
    color: #4A4A45;
    margin: 0 0 22px;
}
.ab-story-body p:last-child {
    margin-bottom: 0;
}
.ab-story-lead {
    font-size: 19px !important;
    line-height: 1.8 !important;
    color: #2C3B31 !important;
    position: relative;
    padding-left: 26px;
    border-left: 3px solid;
    border-image: linear-gradient(180deg, #C7A26A, #BF7A64) 1;
}

/* =========================================================
   4 · APPROACH  (cream base, 3 numbered step cards)
   ========================================================= */
.is-wrapper > div.ab-approach,
.ab-approach {
    background:
        radial-gradient(circle at 10% 0%, rgba(191,122,100,0.07), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    overflow: hidden;
}
.ab-approach-head {
    max-width: 760px;
    margin: 0 auto 18px;
    text-align: center;
}
.ab-approach-heading {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
}
.ab-approach-heading em {
    font-style: italic;
    color: #BF7A64;
}
.ab-approach-body {
    font-family: 'Mulish', sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
}
/* step card */
.ab-step {
    position: relative;
    height: 100%;
    background: #FFFFFF;
    border: 1px solid rgba(44,59,49,0.08);
    border-radius: 16px;
    padding: 44px 30px 34px;
    margin-top: 28px;
    box-shadow: 0 12px 34px -20px rgba(44,59,49,0.35);
    transition: transform 0.4s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.4s cubic-bezier(0.22,1,0.36,1),
                border-color 0.4s ease;
    overflow: hidden;
}
.ab-step::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #C7A26A, #BF7A64);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.22,1,0.36,1);
}
.ab-step:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 52px -24px rgba(44,59,49,0.5);
    border-color: rgba(199,162,106,0.4);
}
.ab-step:hover::before {
    transform: scaleX(1);
}
.ab-step-num {
    display: block;
    font-family: 'Fraunces', serif;
    font-weight: 400;
    font-size: 52px;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.4px rgba(191,122,100,0.55);
    margin-bottom: 18px;
    transition: color 0.4s ease, -webkit-text-stroke-color 0.4s ease;
}
.ab-step:hover .ab-step-num {
    color: rgba(199,162,106,0.16);
    -webkit-text-stroke-color: rgba(191,122,100,0.85);
}
.ab-step-title {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.3;
    color: #2C3B31;
    margin: 0 0 14px;
}
.ab-step-body {
    font-family: 'Mulish', sans-serif;
    font-size: 15.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   5 · TESTIMONIALS  (sand base, premium cards)
   ========================================================= */
.is-wrapper > div.ab-tst,
.ab-tst {
    background:
        radial-gradient(circle at 90% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #F7F1E6 0%, #FBF9F4 100%) !important;
    position: relative;
    overflow: hidden;
}
.ab-tst-head {
    max-width: 820px;
    margin: 0 auto 22px;
    text-align: center;
}
.ab-tst-heading {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.25;
    letter-spacing: -0.3px;
    margin: 0;
}
.ab-tst-heading em {
    font-style: italic;
    color: #BF7A64;
}
.ab-tst-card {
    position: relative;
    height: 100%;
    background: #FFFFFF;
    border: 1px solid rgba(44,59,49,0.07);
    border-radius: 18px;
    padding: 38px 32px 30px;
    margin-top: 28px;
    box-shadow: 0 14px 38px -22px rgba(44,59,49,0.4);
    transition: transform 0.4s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.4s cubic-bezier(0.22,1,0.36,1);
    overflow: hidden;
}
.ab-tst-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #C7A26A, #BF7A64);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.22,1,0.36,1);
}
.ab-tst-card::after {
    content: "\201C";
    position: absolute;
    top: 6px;
    right: 22px;
    font-family: 'Fraunces', serif;
    font-size: 120px;
    line-height: 1;
    color: rgba(199,162,106,0.12);
    pointer-events: none;
}
.ab-tst-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 56px -26px rgba(44,59,49,0.5);
}
.ab-tst-card:hover::before {
    transform: scaleX(1);
}
.ab-tst-stars {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}
.ab-tst-stars span {
    width: 17px;
    height: 17px;
    background: linear-gradient(135deg, #D9B57E, #C7A26A);
    -webkit-clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.ab-tst-quote {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    line-height: 1.6;
    color: #2C3B31;
    margin: 0 0 28px;
    position: relative;
    z-index: 1;
}
.ab-tst-foot {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 22px;
    border-top: 1px solid rgba(44,59,49,0.1);
    position: relative;
    z-index: 1;
}
.ab-tst-avatar {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fraunces', serif;
    font-size: 22px;
    color: #FBF9F4;
    background: linear-gradient(135deg, #C7A26A, #BF7A64);
    box-shadow: 0 8px 18px -8px rgba(165,96,75,0.6);
}
.ab-tst-name {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #2C3B31;
    margin: 0 0 2px;
}
.ab-tst-role {
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #BF7A64;
    margin: 0;
}

/* =========================================================
   6 · CLOSING CTA  (deep pine band, glow, ghost button)
   ========================================================= */
.is-wrapper > div.ab-cta2,
.ab-cta2 {
    background:
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
}
.ab-cta2::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.045) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 65% 75% at 50% 50%, #000 30%, transparent 78%);
    mask-image: radial-gradient(ellipse 65% 75% at 50% 50%, #000 30%, transparent 78%);
    pointer-events: none;
}
.ab-cta2-glow {
    position: absolute;
    width: 620px;
    height: 620px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(191,122,100,0.26), transparent 62%);
    filter: blur(24px);
    pointer-events: none;
    z-index: 0;
}
.ab-cta2-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.ab-cta2-heading {
    font-family: 'Fraunces', serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 3.8vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.4px;
    margin: 0 0 24px;
}
.ab-cta2-heading em {
    font-style: italic;
    color: #D9B57E;
}
.ab-cta2-body {
    font-family: 'Mulish', sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(247,243,236,0.78);
    margin: 0 auto 38px;
    max-width: 600px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .ab-meet-panel {
        padding-left: 0;
        margin-top: 54px;
    }
    .ab-meet-badge {
        right: 14px;
    }
    .ab-mission-stats {
        gap: 26px;
    }
}
@media all and (max-width: 640px) {
    .ab-mission,
    .ab-meet,
    .ab-story,
    .ab-approach,
    .ab-tst,
    .ab-cta2 {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
    .ab-mission-stats {
        flex-direction: column;
        gap: 22px;
    }
    .ab-stat-div {
        width: 56px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(199,162,106,0.5), transparent);
    }
    .ab-meet-corner,
    .ab-meet-img-wrap::after {
        width: 60px;
        height: 60px;
    }
    .ab-meet-badge {
        right: 10px;
        bottom: 16px;
        padding: 12px 16px;
    }
    .ab-meet-badge-num { font-size: 24px; }
    .ab-story-mark { font-size: 96px; height: 48px; }
    .ab-story-lead {
        font-size: 17px !important;
        padding-left: 18px;
    }
    .ab-step { padding: 36px 26px 30px; }
    .ab-tst-card { padding: 32px 26px 26px; }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    [data-ab-reveal] {
        opacity: 1;
        transform: none;
        animation: none;
    }
    .ab-btn,
    .ab-step,
    .ab-step::before,
    .ab-step-num,
    .ab-tst-card,
    .ab-tst-card::before {
        transition: none;
    }
    .ab-btn:hover,
    .ab-btn:focus,
    .ab-step:hover,
    .ab-tst-card:hover {
        transform: none;
    }
}

/* =========================================================
   SERVICES PAGE — Colleen Purtill Coaching  (svc-*)
   Brand: Fraunces / Mulish.
   Pine #2C3B31 · Terracotta #BF7A64 · Gold #C7A26A · Cream #FBF9F4
   Roots use a specificity booster to beat the core theme rule
   `.is-wrapper > div { background: transparent }`.
   ========================================================= */

/* ---- shared section padding ---- */
.svc-hero,
.svc-grid,
.svc-cta {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* ---- shared eyebrow ---- */
.svc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.svc-eyebrow span:first-child,
.svc-eyebrow span:last-child {
    width: 28px;
    height: 1px;
    display: inline-block;
}

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.svc-hero,
.svc-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
}
.svc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.svc-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.svc-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.svc-hero .svc-eyebrow { color: #E8C4B0; }
.svc-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.svc-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.svc-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 26px;
    text-wrap: balance;
}
.svc-hero-heading em {
    font-style: italic;
    color: #D9B57E;
}
.svc-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · SERVICES GRID  (cream base, premium numbered cards)
   ========================================================= */
.is-wrapper > div.svc-grid,
.svc-grid {
    background:
        radial-gradient(circle at 12% 0%, rgba(191,122,100,0.07), transparent 42%),
        radial-gradient(circle at 88% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    overflow: hidden;
}

/* section heading above the cards */
.svc-grid-head {
    max-width: 720px;
    margin: 0 auto 18px;
    text-align: center;
}
.svc-grid-head .svc-eyebrow { color: #A5604B; }
.svc-grid-head .svc-eyebrow span:first-child,
.svc-grid-head .svc-eyebrow span:last-child { background: #C7A26A; }
.svc-grid-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.18;
    letter-spacing: -0.4px;
    margin: 0 0 16px;
    text-wrap: balance;
}
.svc-grid-heading em {
    font-style: italic;
    color: #BF7A64;
}
.svc-grid-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0 auto;
    max-width: 600px;
}

/* card */
.svc-card {
    position: relative;
    height: 100%;
    min-height: 420px;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 40px -22px rgba(44,59,49,0.45);
    transform: translateY(0);
    transition: transform 0.5s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.5s cubic-bezier(0.22,1,0.36,1);
    will-change: transform;
    isolation: isolate;
}
.svc-card:hover,
.svc-card:focus-within {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -28px rgba(44,59,49,0.6);
}
/* thin accent bar slides across the top on hover */
.svc-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #C7A26A, #BF7A64);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.55s cubic-bezier(0.22,1,0.36,1);
    z-index: 6;
}
.svc-card:hover::before,
.svc-card:focus-within::before { transform: scaleX(1); }

/* === full-bleed image fills the entire card === */
.svc-card-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #2C3B31;
    z-index: 0;
}
.svc-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.04);
    transition: transform 0.9s cubic-bezier(0.22,1,0.36,1),
                filter 0.6s ease;
}
.svc-card:hover .svc-card-media img,
.svc-card:focus-within .svc-card-media img {
    transform: scale(1.12);
    filter: saturate(1.05);
}
/* base gradient: dark at bottom so title stays readable */
.svc-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
                rgba(20,28,22,0.05) 0%,
                rgba(20,28,22,0.10) 38%,
                rgba(20,28,22,0.62) 78%,
                rgba(20,28,22,0.86) 100%);
    transition: background 0.55s ease, opacity 0.55s ease;
    z-index: 1;
}
/* warm colour wash dims/colours the image on hover */
.svc-card-media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg,
                rgba(44,59,49,0.30) 0%,
                rgba(191,122,100,0.30) 55%,
                rgba(44,59,49,0.55) 100%);
    opacity: 0;
    transition: opacity 0.6s ease;
}
.svc-card:hover .svc-card-media::before,
.svc-card:focus-within .svc-card-media::before { opacity: 1; }

/* === overlay content pinned to the bottom === */
.svc-card-body-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 28px 30px;
    /* slide the whole block up a touch on hover */
    transform: translateY(0);
    transition: transform 0.55s cubic-bezier(0.22,1,0.36,1);
}
.svc-card-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.22;
    color: #FBF9F4;
    margin: 0;
    letter-spacing: -0.2px;
    text-shadow: 0 2px 14px rgba(20,28,22,0.5);
    transition: margin 0.5s ease;
}
/* body + link are tucked away by default, revealed on hover */
.svc-card-body,
.svc-card-link {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1);
}
.svc-card-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.7;
    color: rgba(251,249,244,0.92);
    margin: 14px 0 18px;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1),
                max-height 0.6s ease, margin 0.5s ease;
}
.svc-card:hover .svc-card-body,
.svc-card:focus-within .svc-card-body {
    opacity: 1;
    transform: translateY(0);
    max-height: 200px;
    margin: 14px 0 18px;
}
.svc-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #FBF9F4;
    text-decoration: none;
    padding: 11px 22px;
    border-radius: 40px;
    border: 1.5px solid rgba(251,249,244,0.55);
    background: rgba(251,249,244,0.08);
    backdrop-filter: blur(2px);
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1),
                background 0.35s ease, border-color 0.35s ease, gap 0.3s ease;
}
.svc-card-link i { flex-shrink: 0; }
.svc-card:hover .svc-card-link,
.svc-card:focus-within .svc-card-link {
    opacity: 1;
    transform: translateY(0);
}
.svc-card-link i { transition: transform 0.3s ease; }
.svc-card-link:hover {
    background: linear-gradient(135deg, #BF7A64, #A5604B);
    border-color: #BF7A64;
    gap: 12px;
    color: #fff;
}
.svc-card-link:hover i { transform: translateX(3px); }
.svc-card-link:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
}

/* card scroll-reveal stagger (per row of 3 on large) */
.svc-grid [data-svc-reveal] {
    opacity: 0;
    transform: translateY(34px);
    animation: svcReveal 0.85s cubic-bezier(0.22,1,0.36,1) forwards;
}
.svc-grid .cell:nth-child(3n+1) [data-svc-reveal] { animation-delay: 0.05s; }
.svc-grid .cell:nth-child(3n+2) [data-svc-reveal] { animation-delay: 0.16s; }
.svc-grid .cell:nth-child(3n+3) [data-svc-reveal] { animation-delay: 0.27s; }
@keyframes svcReveal {
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   3 · CLOSING CTA  (light cream band, terracotta button)
   Deliberately light so it contrasts with the standard
   deep-pine scl-cta block that follows on the page.
   ========================================================= */
.is-wrapper > div.svc-cta,
.svc-cta {
    background:
        radial-gradient(circle at 12% 0%, rgba(191,122,100,0.08), transparent 42%),
        radial-gradient(circle at 88% 100%, rgba(199,162,106,0.12), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F4EDE1 100%) !important;
    position: relative;
    overflow: hidden;
}
.svc-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(44,59,49,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(44,59,49,0.04) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 65% 75% at 50% 50%, #000 30%, transparent 78%);
    mask-image: radial-gradient(ellipse 65% 75% at 50% 50%, #000 30%, transparent 78%);
    pointer-events: none;
}
.svc-cta-glow {
    position: absolute;
    width: 560px;
    height: 560px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(199,162,106,0.18), transparent 62%);
    filter: blur(24px);
    pointer-events: none;
    z-index: 0;
}
.svc-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
/* eyebrow accent above heading (flanking gold lines) */
.svc-cta-inner .svc-eyebrow { color: #A5604B; }
.svc-cta-inner .svc-eyebrow span:first-child,
.svc-cta-inner .svc-eyebrow span:last-child { background: #C7A26A; }
.svc-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.svc-cta-heading em {
    font-style: italic;
    color: #BF7A64;
}
.svc-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #4A4A45;
    margin: 0 auto 36px;
    max-width: 620px;
}
.svc-btn,
a.svc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-decoration: none;
    padding: 17px 44px;
    border-radius: 40px;
    cursor: pointer;
    border: 2px solid #BF7A64;
    background: linear-gradient(135deg, #BF7A64, #A5604B);
    color: #FBF9F4;
    box-shadow: 0 10px 30px -8px rgba(165,96,75,0.40);
    transition: transform 0.35s cubic-bezier(0.22,1,0.36,1),
                box-shadow 0.35s cubic-bezier(0.22,1,0.36,1),
                background 0.35s ease, border-color 0.35s ease;
}
.svc-btn:hover,
a.svc-btn:hover {
    transform: translateY(-3px);
    background: linear-gradient(135deg, #A5604B, #8F4F3C);
    border-color: #A5604B;
    color: #FBF9F4;
    box-shadow: 0 18px 40px -10px rgba(165,96,75,0.5);
}
.svc-btn i { transition: transform 0.3s ease; }
.svc-btn:hover i { transform: translateX(4px); }
.svc-btn:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 640px) {
    .svc-hero,
    .svc-grid,
    .svc-cta {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
    .svc-eyebrow span:first-child,
    .svc-eyebrow span:last-child { width: 18px; }
    .svc-card { min-height: 380px; }
    .svc-card-body-wrap { padding: 24px 22px 26px; }
    /* touch devices have no hover: show the body + link up-front */
    .svc-card-body {
        opacity: 1;
        transform: none;
        max-height: 200px;
        margin: 12px 0 16px;
    }
    .svc-card-link { opacity: 1; transform: none; }
    .svc-card-media::before { opacity: 1; }
    .svc-card-media img { transform: scale(1.04); }
    .svc-btn,
    a.svc-btn { padding: 15px 34px; }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    .svc-grid [data-svc-reveal] {
        opacity: 1;
        transform: none;
        animation: none;
    }
    .svc-card,
    .svc-card::before,
    .svc-card-media img,
    .svc-card-media::after,
    .svc-card-media::before,
    .svc-card-body,
    .svc-card-link,
    .svc-card-link i,
    .svc-btn,
    .svc-btn i { transition: none !important; }
    .svc-card:hover,
    .svc-card:focus-within,
    .svc-btn:hover { transform: none !important; }
    .svc-card:hover { box-shadow: 0 32px 60px -26px rgba(44,59,49,0.5); }
    .svc-card:hover .svc-card-media img { transform: scale(1.04) !important; }
    .svc-card:hover::before { transform: scaleX(1) !important; }
    /* reveal content without motion */
    .svc-card-body {
        opacity: 1 !important;
        transform: none !important;
        max-height: 200px !important;
        margin: 14px 0 18px !important;
    }
    .svc-card-link { opacity: 1 !important; transform: none !important; }
    .svc-card-media::before { opacity: 1 !important; }
    .svc-btn:hover i,
    .svc-card-link:hover i { transform: none !important; }
}


/* ============================================================
   =====================  ENERGY COACHING PAGE  ===============
   Scoped prefix: ec-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.ec-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.ec-section-heading em { font-style: italic; color: #BF7A64; }
.ec-body,
.ec-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.ec-body { font-size: 16px; line-height: 1.85; }
.ec-lead { font-size: 17px; line-height: 1.85; }
.ec-body:last-child,
.ec-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.ec-hero,
.ec-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.ec-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.ec-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.ec-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.ec-hero .svc-eyebrow { color: #E8C4B0; }
.ec-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.ec-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.ec-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.ec-hero-heading em { font-style: italic; color: #D9B57E; }
.ec-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.ec-intro,
.ec-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.ec-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.ec-intro-inner .svc-eyebrow { color: #A5604B; }
.ec-intro-inner .svc-eyebrow span:first-child,
.ec-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.ec-expert,
.ec-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.ec-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.ec-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.ec-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.ec-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.ec-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.ec-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-feature:hover .ec-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.ec-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.ec-feature:hover .ec-feature-num { color: rgba(191,122,100,0.32); }

.ec-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.ec-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-feature:hover .ec-feature-line { width: 54px; }

.ec-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.ec-split,
.ec-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.ec-split-alt,
.ec-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.ec-split-text { max-width: 540px; }
.ec-split-text .svc-eyebrow { color: #A5604B; }
.ec-split-text .svc-eyebrow span:first-child,
.ec-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.ec-split .cell:has(> .ec-split-media) {
    align-self: stretch;
    display: flex;
}
.ec-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.ec-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.ec-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.ec-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.ec-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.ec-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.ec-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.ec-split-media:hover .ec-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.ec-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-split-media:hover .ec-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.ec-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.ec-split-tag i { color: #D9B57E; font-size: 13px; }
.ec-split-media:hover .ec-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.ec-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.ec-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.ec-list li:last-child { border-bottom: 0; }
.ec-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.ec-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .ec-order-1 = text, .ec-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .ec-split-alt .ec-order-2 { order: 1; }  /* media left */
    .ec-split-alt .ec-order-1 { order: 2; }  /* text right */
    .ec-split-alt .ec-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.ec-faq,
.ec-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.ec-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.ec-faq-head .svc-eyebrow { color: #A5604B; }
.ec-faq-head .svc-eyebrow span:first-child,
.ec-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.ec-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.ec-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.ec-acc-item:last-child { margin-bottom: 0; }
.ec-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.ec-acc-q::-webkit-details-marker { display: none; }
.ec-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.ec-acc-q:hover { color: #8F4F3C; }
.ec-acc-item[open] .ec-acc-q { color: #8F4F3C; }
.ec-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.ec-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-acc-icon::before,
.ec-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.ec-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.ec-acc-q:hover .ec-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.ec-acc-item[open] .ec-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.ec-acc-item[open] .ec-acc-icon::before,
.ec-acc-item[open] .ec-acc-icon::after { background: #FBF9F4; }
.ec-acc-item[open] .ec-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.ec-acc-a {
    padding: 0 26px 24px;
    animation: ecAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.ec-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes ecAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.ec-cta,
.ec-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.ec-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.ec-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.ec-cta-inner .svc-eyebrow { color: #E8C4B0; }
.ec-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.ec-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.ec-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.ec-cta-heading em { font-style: italic; color: #D9B57E; }
.ec-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.ec-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .ec-split-text { max-width: none; }
    .ec-split .cell:has(> .ec-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .ec-split:not(.ec-split-alt) .cell:has(> .ec-split-media) { order: 1; }
    .ec-split:not(.ec-split-alt) .cell:has(> .ec-split-text) { order: 2; }
    .ec-split-media { margin-top: 0; margin-bottom: 26px; }
    .ec-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .ec-hero,
    .ec-intro,
    .ec-expert,
    .ec-split,
    .ec-faq,
    .ec-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .ec-feature { padding: 26px 22px; }
    .ec-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .ec-feature,
    .ec-feature::before,
    .ec-feature-icon,
    .ec-feature-num,
    .ec-feature-line,
    .ec-acc-item,
    .ec-acc-icon,
    .ec-acc-icon::before,
    .ec-acc-icon::after,
    .ec-split-media,
    .ec-split-media img,
    .ec-split-media-overlay::after,
    .ec-split-tag,
    .ec-list li,
    .ec-list li i { transition: none !important; }
    .ec-feature:hover { transform: none !important; }
    .ec-feature:hover::before { transform: scaleX(1) !important; }
    .ec-feature:hover .ec-feature-icon { transform: none !important; }
    .ec-acc-item[open] .ec-acc-icon { transform: none !important; }
    .ec-acc-a { animation: none !important; }
    .ec-split-media:hover,
    .ec-split-media:hover img,
    .ec-list li:hover,
    .ec-list li:hover i { transform: none !important; }
    .ec-split-media:hover .ec-split-media-overlay::after { transform: rotate(18deg) !important; }
    .ec-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END ENERGY COACHING PAGE  ============== */


/* ============================================================
   ===================  LIFE COACHING PAGE  ==================
   Generated from the Energy Coaching system (identical design,
   scoped prefix lc-*). Reuses .svc-eyebrow + .svc-btn.
   ============================================================ */
   =====================  LIFE COACHING PAGE  ===============
   Scoped prefix: lc-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.lc-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.lc-section-heading em { font-style: italic; color: #BF7A64; }
.lc-body,
.lc-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.lc-body { font-size: 16px; line-height: 1.85; }
.lc-lead { font-size: 17px; line-height: 1.85; }
.lc-body:last-child,
.lc-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.lc-hero,
.lc-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.lc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.lc-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.lc-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.lc-hero .svc-eyebrow { color: #E8C4B0; }
.lc-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.lc-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.lc-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.lc-hero-heading em { font-style: italic; color: #D9B57E; }
.lc-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.lc-intro,
.lc-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.lc-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.lc-intro-inner .svc-eyebrow { color: #A5604B; }
.lc-intro-inner .svc-eyebrow span:first-child,
.lc-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.lc-expert,
.lc-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.lc-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.lc-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.lc-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.lc-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.lc-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.lc-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-feature:hover .lc-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.lc-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.lc-feature:hover .lc-feature-num { color: rgba(191,122,100,0.32); }

.lc-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.lc-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-feature:hover .lc-feature-line { width: 54px; }

.lc-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.lc-split,
.lc-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.lc-split-alt,
.lc-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.lc-split-text { max-width: 540px; }
.lc-split-text .svc-eyebrow { color: #A5604B; }
.lc-split-text .svc-eyebrow span:first-child,
.lc-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.lc-split .cell:has(> .lc-split-media) {
    align-self: stretch;
    display: flex;
}
.lc-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.lc-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.lc-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.lc-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.lc-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.lc-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.lc-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.lc-split-media:hover .lc-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.lc-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-split-media:hover .lc-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.lc-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.lc-split-tag i { color: #D9B57E; font-size: 13px; }
.lc-split-media:hover .lc-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.lc-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.lc-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.lc-list li:last-child { border-bottom: 0; }
.lc-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.lc-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .lc-order-1 = text, .lc-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .lc-split-alt .lc-order-2 { order: 1; }  /* media left */
    .lc-split-alt .lc-order-1 { order: 2; }  /* text right */
    .lc-split-alt .lc-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.lc-faq,
.lc-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.lc-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.lc-faq-head .svc-eyebrow { color: #A5604B; }
.lc-faq-head .svc-eyebrow span:first-child,
.lc-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.lc-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.lc-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.lc-acc-item:last-child { margin-bottom: 0; }
.lc-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.lc-acc-q::-webkit-details-marker { display: none; }
.lc-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.lc-acc-q:hover { color: #8F4F3C; }
.lc-acc-item[open] .lc-acc-q { color: #8F4F3C; }
.lc-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.lc-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-acc-icon::before,
.lc-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.lc-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.lc-acc-q:hover .lc-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.lc-acc-item[open] .lc-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.lc-acc-item[open] .lc-acc-icon::before,
.lc-acc-item[open] .lc-acc-icon::after { background: #FBF9F4; }
.lc-acc-item[open] .lc-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.lc-acc-a {
    padding: 0 26px 24px;
    animation: lcAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.lc-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes lcAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.lc-cta,
.lc-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.lc-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.lc-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.lc-cta-inner .svc-eyebrow { color: #E8C4B0; }
.lc-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.lc-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.lc-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.lc-cta-heading em { font-style: italic; color: #D9B57E; }
.lc-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.lc-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .lc-split-text { max-width: none; }
    .lc-split .cell:has(> .lc-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .lc-split:not(.lc-split-alt) .cell:has(> .lc-split-media) { order: 1; }
    .lc-split:not(.lc-split-alt) .cell:has(> .lc-split-text) { order: 2; }
    .lc-split-media { margin-top: 0; margin-bottom: 26px; }
    .lc-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .lc-hero,
    .lc-intro,
    .lc-expert,
    .lc-split,
    .lc-faq,
    .lc-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .lc-feature { padding: 26px 22px; }
    .lc-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .lc-feature,
    .lc-feature::before,
    .lc-feature-icon,
    .lc-feature-num,
    .lc-feature-line,
    .lc-acc-item,
    .lc-acc-icon,
    .lc-acc-icon::before,
    .lc-acc-icon::after,
    .lc-split-media,
    .lc-split-media img,
    .lc-split-media-overlay::after,
    .lc-split-tag,
    .lc-list li,
    .lc-list li i { transition: none !important; }
    .lc-feature:hover { transform: none !important; }
    .lc-feature:hover::before { transform: scaleX(1) !important; }
    .lc-feature:hover .lc-feature-icon { transform: none !important; }
    .lc-acc-item[open] .lc-acc-icon { transform: none !important; }
    .lc-acc-a { animation: none !important; }
    .lc-split-media:hover,
    .lc-split-media:hover img,
    .lc-list li:hover,
    .lc-list li:hover i { transform: none !important; }
    .lc-split-media:hover .lc-split-media-overlay::after { transform: rotate(18deg) !important; }
    .lc-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END LIFE COACHING PAGE  ============== */


   ===================  RELATIONSHIP COACHING PAGE  ==================
   Generated from the Energy Coaching system (identical design,
   scoped prefix rc-*). Reuses .svc-eyebrow + .svc-btn.
   ============================================================ */
   =====================  RELATIONSHIP COACHING PAGE  ===============
   Scoped prefix: rc-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.rc-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.rc-section-heading em { font-style: italic; color: #BF7A64; }
.rc-body,
.rc-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.rc-body { font-size: 16px; line-height: 1.85; }
.rc-lead { font-size: 17px; line-height: 1.85; }
.rc-body:last-child,
.rc-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.rc-hero,
.rc-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.rc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.rc-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.rc-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.rc-hero .svc-eyebrow { color: #E8C4B0; }
.rc-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.rc-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.rc-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.rc-hero-heading em { font-style: italic; color: #D9B57E; }
.rc-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.rc-intro,
.rc-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.rc-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.rc-intro-inner .svc-eyebrow { color: #A5604B; }
.rc-intro-inner .svc-eyebrow span:first-child,
.rc-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.rc-expert,
.rc-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.rc-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.rc-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.rc-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.rc-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.rc-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.rc-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-feature:hover .rc-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.rc-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.rc-feature:hover .rc-feature-num { color: rgba(191,122,100,0.32); }

.rc-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.rc-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-feature:hover .rc-feature-line { width: 54px; }

.rc-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.rc-split,
.rc-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.rc-split-alt,
.rc-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.rc-split-text { max-width: 540px; }
.rc-split-text .svc-eyebrow { color: #A5604B; }
.rc-split-text .svc-eyebrow span:first-child,
.rc-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.rc-split .cell:has(> .rc-split-media) {
    align-self: stretch;
    display: flex;
}
.rc-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.rc-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.rc-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.rc-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.rc-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.rc-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.rc-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.rc-split-media:hover .rc-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.rc-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-split-media:hover .rc-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.rc-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.rc-split-tag i { color: #D9B57E; font-size: 13px; }
.rc-split-media:hover .rc-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.rc-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.rc-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.rc-list li:last-child { border-bottom: 0; }
.rc-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.rc-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .rc-order-1 = text, .rc-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .rc-split-alt .rc-order-2 { order: 1; }  /* media left */
    .rc-split-alt .rc-order-1 { order: 2; }  /* text right */
    .rc-split-alt .rc-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.rc-faq,
.rc-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.rc-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.rc-faq-head .svc-eyebrow { color: #A5604B; }
.rc-faq-head .svc-eyebrow span:first-child,
.rc-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.rc-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.rc-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.rc-acc-item:last-child { margin-bottom: 0; }
.rc-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.rc-acc-q::-webkit-details-marker { display: none; }
.rc-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.rc-acc-q:hover { color: #8F4F3C; }
.rc-acc-item[open] .rc-acc-q { color: #8F4F3C; }
.rc-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.rc-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-acc-icon::before,
.rc-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.rc-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.rc-acc-q:hover .rc-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.rc-acc-item[open] .rc-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.rc-acc-item[open] .rc-acc-icon::before,
.rc-acc-item[open] .rc-acc-icon::after { background: #FBF9F4; }
.rc-acc-item[open] .rc-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.rc-acc-a {
    padding: 0 26px 24px;
    animation: rcAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.rc-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes rcAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.rc-cta,
.rc-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.rc-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.rc-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.rc-cta-inner .svc-eyebrow { color: #E8C4B0; }
.rc-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.rc-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.rc-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.rc-cta-heading em { font-style: italic; color: #D9B57E; }
.rc-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.rc-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .rc-split-text { max-width: none; }
    .rc-split .cell:has(> .rc-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .rc-split:not(.rc-split-alt) .cell:has(> .rc-split-media) { order: 1; }
    .rc-split:not(.rc-split-alt) .cell:has(> .rc-split-text) { order: 2; }
    .rc-split-media { margin-top: 0; margin-bottom: 26px; }
    .rc-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .rc-hero,
    .rc-intro,
    .rc-expert,
    .rc-split,
    .rc-faq,
    .rc-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .rc-feature { padding: 26px 22px; }
    .rc-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .rc-feature,
    .rc-feature::before,
    .rc-feature-icon,
    .rc-feature-num,
    .rc-feature-line,
    .rc-acc-item,
    .rc-acc-icon,
    .rc-acc-icon::before,
    .rc-acc-icon::after,
    .rc-split-media,
    .rc-split-media img,
    .rc-split-media-overlay::after,
    .rc-split-tag,
    .rc-list li,
    .rc-list li i { transition: none !important; }
    .rc-feature:hover { transform: none !important; }
    .rc-feature:hover::before { transform: scaleX(1) !important; }
    .rc-feature:hover .rc-feature-icon { transform: none !important; }
    .rc-acc-item[open] .rc-acc-icon { transform: none !important; }
    .rc-acc-a { animation: none !important; }
    .rc-split-media:hover,
    .rc-split-media:hover img,
    .rc-list li:hover,
    .rc-list li:hover i { transform: none !important; }
    .rc-split-media:hover .rc-split-media-overlay::after { transform: rotate(18deg) !important; }
    .rc-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END RELATIONSHIP COACHING PAGE  ============== */


   ===================  ENERGY COACHING FOR SCIENTISTS PAGE  ==================
   Generated from the Energy Coaching system (identical design,
   scoped prefix sc-*). Reuses .svc-eyebrow + .svc-btn.
   ============================================================ */
   =====================  ENERGY COACHING FOR SCIENTISTS PAGE  ===============
   Scoped prefix: sc-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.sc-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.sc-section-heading em { font-style: italic; color: #BF7A64; }
.sc-body,
.sc-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.sc-body { font-size: 16px; line-height: 1.85; }
.sc-lead { font-size: 17px; line-height: 1.85; }
.sc-body:last-child,
.sc-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.sc-hero,
.sc-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.sc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.sc-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.sc-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.sc-hero .svc-eyebrow { color: #E8C4B0; }
.sc-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.sc-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.sc-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.sc-hero-heading em { font-style: italic; color: #D9B57E; }
.sc-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.sc-intro,
.sc-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.sc-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.sc-intro-inner .svc-eyebrow { color: #A5604B; }
.sc-intro-inner .svc-eyebrow span:first-child,
.sc-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.sc-expert,
.sc-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.sc-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.sc-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.sc-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.sc-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.sc-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.sc-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-feature:hover .sc-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.sc-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.sc-feature:hover .sc-feature-num { color: rgba(191,122,100,0.32); }

.sc-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.sc-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-feature:hover .sc-feature-line { width: 54px; }

.sc-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.sc-split,
.sc-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.sc-split-alt,
.sc-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.sc-split-text { max-width: 540px; }
.sc-split-text .svc-eyebrow { color: #A5604B; }
.sc-split-text .svc-eyebrow span:first-child,
.sc-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.sc-split .cell:has(> .sc-split-media) {
    align-self: stretch;
    display: flex;
}
.sc-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.sc-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.sc-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.sc-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.sc-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.sc-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.sc-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.sc-split-media:hover .sc-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.sc-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-split-media:hover .sc-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.sc-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.sc-split-tag i { color: #D9B57E; font-size: 13px; }
.sc-split-media:hover .sc-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.sc-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.sc-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.sc-list li:last-child { border-bottom: 0; }
.sc-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.sc-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .sc-order-1 = text, .sc-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .sc-split-alt .sc-order-2 { order: 1; }  /* media left */
    .sc-split-alt .sc-order-1 { order: 2; }  /* text right */
    .sc-split-alt .sc-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.sc-faq,
.sc-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.sc-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.sc-faq-head .svc-eyebrow { color: #A5604B; }
.sc-faq-head .svc-eyebrow span:first-child,
.sc-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.sc-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.sc-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.sc-acc-item:last-child { margin-bottom: 0; }
.sc-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.sc-acc-q::-webkit-details-marker { display: none; }
.sc-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.sc-acc-q:hover { color: #8F4F3C; }
.sc-acc-item[open] .sc-acc-q { color: #8F4F3C; }
.sc-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.sc-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-acc-icon::before,
.sc-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.sc-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.sc-acc-q:hover .sc-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.sc-acc-item[open] .sc-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.sc-acc-item[open] .sc-acc-icon::before,
.sc-acc-item[open] .sc-acc-icon::after { background: #FBF9F4; }
.sc-acc-item[open] .sc-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.sc-acc-a {
    padding: 0 26px 24px;
    animation: scAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes scAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.sc-cta,
.sc-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.sc-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.sc-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.sc-cta-inner .svc-eyebrow { color: #E8C4B0; }
.sc-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.sc-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.sc-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.sc-cta-heading em { font-style: italic; color: #D9B57E; }
.sc-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.sc-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .sc-split-text { max-width: none; }
    .sc-split .cell:has(> .sc-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .sc-split:not(.sc-split-alt) .cell:has(> .sc-split-media) { order: 1; }
    .sc-split:not(.sc-split-alt) .cell:has(> .sc-split-text) { order: 2; }
    .sc-split-media { margin-top: 0; margin-bottom: 26px; }
    .sc-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .sc-hero,
    .sc-intro,
    .sc-expert,
    .sc-split,
    .sc-faq,
    .sc-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .sc-feature { padding: 26px 22px; }
    .sc-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sc-feature,
    .sc-feature::before,
    .sc-feature-icon,
    .sc-feature-num,
    .sc-feature-line,
    .sc-acc-item,
    .sc-acc-icon,
    .sc-acc-icon::before,
    .sc-acc-icon::after,
    .sc-split-media,
    .sc-split-media img,
    .sc-split-media-overlay::after,
    .sc-split-tag,
    .sc-list li,
    .sc-list li i { transition: none !important; }
    .sc-feature:hover { transform: none !important; }
    .sc-feature:hover::before { transform: scaleX(1) !important; }
    .sc-feature:hover .sc-feature-icon { transform: none !important; }
    .sc-acc-item[open] .sc-acc-icon { transform: none !important; }
    .sc-acc-a { animation: none !important; }
    .sc-split-media:hover,
    .sc-split-media:hover img,
    .sc-list li:hover,
    .sc-list li:hover i { transform: none !important; }
    .sc-split-media:hover .sc-split-media-overlay::after { transform: rotate(18deg) !important; }
    .sc-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END ENERGY COACHING FOR SCIENTISTS PAGE  ============== */


/* ============================================================
   ===========  ENERGY-FOR-SCIENTISTS · DEEP SECTIONS  ========
   Image-less feature sections (Stagnation / Crossroads /
   Leadership): text + boxed checklist card, alternating sides.
   Reuses sc-split-text typography and sc-list rows.
   ============================================================ */
.is-wrapper > div.sc-deep,
.sc-deep {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.is-wrapper > div.sc-deep-alt,
.sc-deep-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.sc-deep-text { max-width: 600px; }
.sc-deep-alt .sc-deep-text { margin-left: auto; }
.sc-deep-text .svc-eyebrow { color: #A5604B; }
.sc-deep-text .svc-eyebrow span:first-child,
.sc-deep-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* boxed checklist card */
.sc-checklist {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 20px;
    padding: 30px 30px 24px;
    box-shadow: 0 30px 60px -34px rgba(44,59,49,0.42);
    position: relative;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.5s ease, border-color 0.5s ease;
}
.sc-checklist::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1);
}
.sc-checklist:hover {
    transform: translateY(-6px);
    box-shadow: 0 44px 80px -38px rgba(44,59,49,0.5);
    border-color: rgba(199,162,106,0.5);
}
.sc-checklist:hover::before { transform: scaleX(1); }
.sc-checklist .sc-list { margin: 0; }

/* desktop mirroring: order-1 = text, order-2 = checklist */
@media all and (min-width: 1024px) {
    .sc-deep-alt .sc-order-1 { order: 1; }
    .sc-deep-alt .sc-order-2 { order: 2; }
}
@media all and (max-width: 1023.5px) {
    .sc-deep-text { max-width: none; }
    .sc-deep-alt .sc-deep-text { margin-left: 0; }
    .sc-checklist { margin-top: 26px; }
    .sc-deep-alt .sc-checklist { margin-top: 0; margin-bottom: 26px; }
}
@media all and (max-width: 640px) {
    .sc-deep { padding-top: 48px !important; padding-bottom: 48px !important; }
    .sc-checklist { padding: 24px 22px 18px; }
}


   ===================  HEALTH AND WELLNESS PAGE  ==================
   Generated from the Energy Coaching system (identical design,
   scoped prefix hw-*). Reuses .svc-eyebrow + .svc-btn.
   ============================================================ */
   =====================  HEALTH AND WELLNESS PAGE  ===============
   Scoped prefix: hw-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.hw-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.hw-section-heading em { font-style: italic; color: #BF7A64; }
.hw-body,
.hw-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.hw-body { font-size: 16px; line-height: 1.85; }
.hw-lead { font-size: 17px; line-height: 1.85; }
.hw-body:last-child,
.hw-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.hw-hero,
.hw-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.hw-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.hw-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.hw-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.hw-hero .svc-eyebrow { color: #E8C4B0; }
.hw-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.hw-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.hw-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.hw-hero-heading em { font-style: italic; color: #D9B57E; }
.hw-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.hw-intro,
.hw-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.hw-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.hw-intro-inner .svc-eyebrow { color: #A5604B; }
.hw-intro-inner .svc-eyebrow span:first-child,
.hw-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.hw-expert,
.hw-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.hw-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.hw-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.hw-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.hw-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.hw-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.hw-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-feature:hover .hw-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.hw-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.hw-feature:hover .hw-feature-num { color: rgba(191,122,100,0.32); }

.hw-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.hw-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-feature:hover .hw-feature-line { width: 54px; }

.hw-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.hw-split,
.hw-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.hw-split-alt,
.hw-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.hw-split-text { max-width: 540px; }
.hw-split-text .svc-eyebrow { color: #A5604B; }
.hw-split-text .svc-eyebrow span:first-child,
.hw-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.hw-split .cell:has(> .hw-split-media) {
    align-self: stretch;
    display: flex;
}
.hw-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.hw-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.hw-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.hw-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.hw-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.hw-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.hw-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.hw-split-media:hover .hw-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.hw-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-split-media:hover .hw-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.hw-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.hw-split-tag i { color: #D9B57E; font-size: 13px; }
.hw-split-media:hover .hw-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.hw-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.hw-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.hw-list li:last-child { border-bottom: 0; }
.hw-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.hw-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .hw-order-1 = text, .hw-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .hw-split-alt .hw-order-2 { order: 1; }  /* media left */
    .hw-split-alt .hw-order-1 { order: 2; }  /* text right */
    .hw-split-alt .hw-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.hw-faq,
.hw-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.hw-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.hw-faq-head .svc-eyebrow { color: #A5604B; }
.hw-faq-head .svc-eyebrow span:first-child,
.hw-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.hw-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.hw-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.hw-acc-item:last-child { margin-bottom: 0; }
.hw-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.hw-acc-q::-webkit-details-marker { display: none; }
.hw-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.hw-acc-q:hover { color: #8F4F3C; }
.hw-acc-item[open] .hw-acc-q { color: #8F4F3C; }
.hw-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.hw-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-acc-icon::before,
.hw-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.hw-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.hw-acc-q:hover .hw-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.hw-acc-item[open] .hw-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.hw-acc-item[open] .hw-acc-icon::before,
.hw-acc-item[open] .hw-acc-icon::after { background: #FBF9F4; }
.hw-acc-item[open] .hw-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.hw-acc-a {
    padding: 0 26px 24px;
    animation: hwAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.hw-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes hwAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.hw-cta,
.hw-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.hw-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.hw-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.hw-cta-inner .svc-eyebrow { color: #E8C4B0; }
.hw-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.hw-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.hw-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.hw-cta-heading em { font-style: italic; color: #D9B57E; }
.hw-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.hw-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .hw-split-text { max-width: none; }
    .hw-split .cell:has(> .hw-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .hw-split:not(.hw-split-alt) .cell:has(> .hw-split-media) { order: 1; }
    .hw-split:not(.hw-split-alt) .cell:has(> .hw-split-text) { order: 2; }
    .hw-split-media { margin-top: 0; margin-bottom: 26px; }
    .hw-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .hw-hero,
    .hw-intro,
    .hw-expert,
    .hw-split,
    .hw-faq,
    .hw-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .hw-feature { padding: 26px 22px; }
    .hw-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .hw-feature,
    .hw-feature::before,
    .hw-feature-icon,
    .hw-feature-num,
    .hw-feature-line,
    .hw-acc-item,
    .hw-acc-icon,
    .hw-acc-icon::before,
    .hw-acc-icon::after,
    .hw-split-media,
    .hw-split-media img,
    .hw-split-media-overlay::after,
    .hw-split-tag,
    .hw-list li,
    .hw-list li i { transition: none !important; }
    .hw-feature:hover { transform: none !important; }
    .hw-feature:hover::before { transform: scaleX(1) !important; }
    .hw-feature:hover .hw-feature-icon { transform: none !important; }
    .hw-acc-item[open] .hw-acc-icon { transform: none !important; }
    .hw-acc-a { animation: none !important; }
    .hw-split-media:hover,
    .hw-split-media:hover img,
    .hw-list li:hover,
    .hw-list li:hover i { transform: none !important; }
    .hw-split-media:hover .hw-split-media-overlay::after { transform: rotate(18deg) !important; }
    .hw-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END HEALTH AND WELLNESS PAGE  ============== */




   ===================  GROUP ENERGY COACHING PAGE  ==================
   Generated from the Energy Coaching system (identical design,
   scoped prefix gw-*). Reuses .svc-eyebrow + .svc-btn.
   ============================================================ */
   =====================  GROUP ENERGY COACHING PAGE  ===============
   Scoped prefix: gw-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.gw-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.gw-section-heading em { font-style: italic; color: #BF7A64; }
.gw-body,
.gw-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.gw-body { font-size: 16px; line-height: 1.85; }
.gw-lead { font-size: 17px; line-height: 1.85; }
.gw-body:last-child,
.gw-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.gw-hero,
.gw-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.gw-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.gw-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.gw-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.gw-hero .svc-eyebrow { color: #E8C4B0; }
.gw-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.gw-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.gw-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.gw-hero-heading em { font-style: italic; color: #D9B57E; }
.gw-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.gw-intro,
.gw-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.gw-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.gw-intro-inner .svc-eyebrow { color: #A5604B; }
.gw-intro-inner .svc-eyebrow span:first-child,
.gw-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.gw-expert,
.gw-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.gw-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.gw-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.gw-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.gw-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.gw-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.gw-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-feature:hover .gw-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.gw-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.gw-feature:hover .gw-feature-num { color: rgba(191,122,100,0.32); }

.gw-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.gw-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-feature:hover .gw-feature-line { width: 54px; }

.gw-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.gw-split,
.gw-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.gw-split-alt,
.gw-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.gw-split-text { max-width: 540px; }
.gw-split-text .svc-eyebrow { color: #A5604B; }
.gw-split-text .svc-eyebrow span:first-child,
.gw-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.gw-split .cell:has(> .gw-split-media) {
    align-self: stretch;
    display: flex;
}
.gw-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.gw-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.gw-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.gw-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.gw-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.gw-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.gw-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.gw-split-media:hover .gw-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.gw-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-split-media:hover .gw-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.gw-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.gw-split-tag i { color: #D9B57E; font-size: 13px; }
.gw-split-media:hover .gw-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.gw-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.gw-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.gw-list li:last-child { border-bottom: 0; }
.gw-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.gw-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .gw-order-1 = text, .gw-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .gw-split-alt .gw-order-2 { order: 1; }  /* media left */
    .gw-split-alt .gw-order-1 { order: 2; }  /* text right */
    .gw-split-alt .gw-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.gw-faq,
.gw-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.gw-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.gw-faq-head .svc-eyebrow { color: #A5604B; }
.gw-faq-head .svc-eyebrow span:first-child,
.gw-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.gw-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.gw-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.gw-acc-item:last-child { margin-bottom: 0; }
.gw-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.gw-acc-q::-webkit-details-marker { display: none; }
.gw-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.gw-acc-q:hover { color: #8F4F3C; }
.gw-acc-item[open] .gw-acc-q { color: #8F4F3C; }
.gw-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.gw-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-acc-icon::before,
.gw-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.gw-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.gw-acc-q:hover .gw-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.gw-acc-item[open] .gw-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.gw-acc-item[open] .gw-acc-icon::before,
.gw-acc-item[open] .gw-acc-icon::after { background: #FBF9F4; }
.gw-acc-item[open] .gw-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.gw-acc-a {
    padding: 0 26px 24px;
    animation: gwAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.gw-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes gwAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.gw-cta,
.gw-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.gw-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.gw-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.gw-cta-inner .svc-eyebrow { color: #E8C4B0; }
.gw-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.gw-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.gw-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.gw-cta-heading em { font-style: italic; color: #D9B57E; }
.gw-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.gw-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .gw-split-text { max-width: none; }
    .gw-split .cell:has(> .gw-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .gw-split:not(.gw-split-alt) .cell:has(> .gw-split-media) { order: 1; }
    .gw-split:not(.gw-split-alt) .cell:has(> .gw-split-text) { order: 2; }
    .gw-split-media { margin-top: 0; margin-bottom: 26px; }
    .gw-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .gw-hero,
    .gw-intro,
    .gw-expert,
    .gw-split,
    .gw-faq,
    .gw-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .gw-feature { padding: 26px 22px; }
    .gw-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .gw-feature,
    .gw-feature::before,
    .gw-feature-icon,
    .gw-feature-num,
    .gw-feature-line,
    .gw-acc-item,
    .gw-acc-icon,
    .gw-acc-icon::before,
    .gw-acc-icon::after,
    .gw-split-media,
    .gw-split-media img,
    .gw-split-media-overlay::after,
    .gw-split-tag,
    .gw-list li,
    .gw-list li i { transition: none !important; }
    .gw-feature:hover { transform: none !important; }
    .gw-feature:hover::before { transform: scaleX(1) !important; }
    .gw-feature:hover .gw-feature-icon { transform: none !important; }
    .gw-acc-item[open] .gw-acc-icon { transform: none !important; }
    .gw-acc-a { animation: none !important; }
    .gw-split-media:hover,
    .gw-split-media:hover img,
    .gw-list li:hover,
    .gw-list li:hover i { transform: none !important; }
    .gw-split-media:hover .gw-split-media-overlay::after { transform: rotate(18deg) !important; }
    .gw-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END GROUP ENERGY COACHING PAGE  ============== */




   ===================  ENERGY HEALING RETREATS PAGE  ==================
   Generated from the Energy Coaching system (identical design,
   scoped prefix er-*). Reuses .svc-eyebrow + .svc-btn.
   ============================================================ */
   =====================  ENERGY HEALING RETREATS PAGE  ===============
   Scoped prefix: er-*  (reuses .svc-eyebrow + .svc-btn).
   Brand: Forest #3D5144 · Pine #2C3B31 · Terracotta #BF7A64
   Clay #A5604B · Gold #C7A26A/#D9B57E · Cream #FBF9F4/#F7F3EC
   Linen #F4EDE1 · body #4A4A45 · Fraunces + Mulish.
   Booster selectors (.is-wrapper > div.<class>) beat the
   theme's transparent-background rule. Wrappers untouched.
   ============================================================ */

/* shared section heading + body type ----------------------- */
.er-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #2C3B31;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
    letter-spacing: -0.4px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.er-section-heading em { font-style: italic; color: #BF7A64; }
.er-body,
.er-lead {
    font-family: 'Mulish', system-ui, sans-serif;
    color: #4A4A45;
    margin: 0 0 18px;
}
.er-body { font-size: 16px; line-height: 1.85; }
.er-lead { font-size: 17px; line-height: 1.85; }
.er-body:last-child,
.er-lead:last-child { margin-bottom: 0; }

/* =========================================================
   1 · HERO  (deep pine band, blueprint grid + glow)
   ========================================================= */
.is-wrapper > div.er-hero,
.er-hero {
    background:
        radial-gradient(ellipse 80% 90% at 50% -10%, rgba(199,162,106,0.16), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.er-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(247,243,236,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(247,243,236,0.05) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 35%, transparent 80%);
    pointer-events: none;
}
.er-hero::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -120px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(191,122,100,0.20), transparent 70%);
    filter: blur(20px);
    pointer-events: none;
}
.er-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.er-hero .svc-eyebrow { color: #E8C4B0; }
.er-hero .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.er-hero .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.er-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 24px;
    text-wrap: balance;
}
.er-hero-heading em { font-style: italic; color: #D9B57E; }
.er-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 640px;
}

/* =========================================================
   2 · CLARITY / ALIGNMENT INTRO  (cream, centered)
   ========================================================= */
.is-wrapper > div.er-intro,
.er-intro {
    background:
        radial-gradient(circle at 15% 0%, rgba(191,122,100,0.06), transparent 40%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.er-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.er-intro-inner .svc-eyebrow { color: #A5604B; }
.er-intro-inner .svc-eyebrow span:first-child,
.er-intro-inner .svc-eyebrow span:last-child { background: #C7A26A; }

/* =========================================================
   3 · EXPERT COACHING + 4 FEATURE CARDS  (linen)
   ========================================================= */
.is-wrapper > div.er-expert,
.er-expert {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.er-expert-head {
    max-width: 860px;
    margin: 0 auto 14px;
    text-align: center;
}
.er-feature {
    position: relative;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    padding: 30px 26px;
    overflow: hidden;
    box-shadow: 0 14px 30px -22px rgba(44,59,49,0.35);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
/* top accent bar grows on hover */
.er-feature::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.er-feature:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 50px -24px rgba(44,59,49,0.5);
    border-color: rgba(191,122,100,0.35);
}
.er-feature:hover::before { transform: scaleX(1); }

/* top row: icon + ghost number */
.er-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.er-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 25%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 23px;
    box-shadow: 0 10px 20px -10px rgba(143,79,60,0.75);
    transition: transform 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.er-feature:hover .er-feature-icon {
    transform: rotate(-6deg) scale(1.06);
}
.er-feature-num {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: 40px;
    line-height: 1;
    color: rgba(61,81,68,0.14);
    transition: color 0.45s ease;
}
.er-feature:hover .er-feature-num { color: rgba(191,122,100,0.32); }

.er-feature-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 14px;
}
/* short accent line under title */
.er-feature-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin: 0 0 14px;
    transition: width 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.er-feature:hover .er-feature-line { width: 54px; }

.er-feature-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #4A4A45;
    margin: 0;
}

/* =========================================================
   4 / 5 / 6 · IMAGE-TEXT SPLIT SECTIONS
   ========================================================= */
.is-wrapper > div.er-split,
.er-split {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
/* alternate band tint for the mirrored (workshops) section */
.is-wrapper > div.er-split-alt,
.er-split-alt {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
}
.er-split-text { max-width: 540px; }
.er-split-text .svc-eyebrow { color: #A5604B; }
.er-split-text .svc-eyebrow span:first-child,
.er-split-text .svc-eyebrow span:last-child { background: #C7A26A; }

/* image frame */
/* make the image fill the full height of the row (matches the
   taller text column) so there is no blank space above/below
   when the row is vertically centered (align-middle). */
.er-split .cell:has(> .er-split-media) {
    align-self: stretch;
    display: flex;
}
.er-split-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(44,59,49,0.5);
    transition: transform 0.55s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.55s ease;
    will-change: transform;
}
.er-split-media:hover {
    transform: translateY(-8px);
    box-shadow: 0 44px 80px -34px rgba(44,59,49,0.62);
}
/* inner hairline frame */
.er-split-media::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(247,243,236,0.25);
    border-radius: 20px;
    pointer-events: none;
    z-index: 3;
    transition: border-color 0.55s ease;
}
.er-split-media:hover::after { border-color: rgba(217,181,126,0.55); }
.er-split-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(0.2,0.7,0.2,1);
}
.er-split-media:hover img { transform: scale(1.09); }

/* warm tint + sheen sweep wrapper */
.er-split-media-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}
/* gradient tint that softens on hover so the image brightens */
.er-split-media-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.28) 0%, transparent 45%, rgba(143,79,60,0.30) 100%);
    opacity: 1;
    transition: opacity 0.55s ease;
}
.er-split-media:hover .er-split-media-overlay::before { opacity: 0.45; }
/* diagonal light sheen that sweeps across on hover */
.er-split-media-overlay::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -75%;
    width: 55%;
    height: 220%;
    background: linear-gradient(90deg, transparent, rgba(247,243,236,0.35), transparent);
    transform: rotate(18deg) translateX(0);
    transition: transform 0.85s cubic-bezier(0.2,0.7,0.2,1);
}
.er-split-media:hover .er-split-media-overlay::after {
    transform: rotate(18deg) translateX(360%);
}

/* floating corner tag inside the image */
.er-split-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 40px;
    background: rgba(36,48,41,0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(247,243,236,0.25);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #F7F3EC;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.2,0.7,0.2,1), background 0.4s ease;
}
.er-split-tag i { color: #D9B57E; font-size: 13px; }
.er-split-media:hover .er-split-tag {
    opacity: 1;
    transform: translateY(0);
    background: rgba(143,79,60,0.7);
}

/* feature / list */
.er-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.er-list li {
    position: relative;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #2C3B31;
    padding: 12px 10px;
    margin: 0 -10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1), color 0.35s ease;
}
.er-list li:last-child { border-bottom: 0; }
.er-list li i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.er-list li:hover {
    background: rgba(247,243,236,0.85);
    transform: translateX(6px);
    color: #8F4F3C;
}
.er-list li:hover i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: scale(1.1) rotate(-6deg);
}

/* mirrored section: swap visual order on desktop.
   .er-order-1 = text, .er-order-2 = media (markup order
   is media-first so mobile shows image above text). */
@media all and (min-width: 1024px) {
    .er-split-alt .er-order-2 { order: 1; }  /* media left */
    .er-split-alt .er-order-1 { order: 2; }  /* text right */
    .er-split-alt .er-split-text { margin-left: auto; }
}

/* =========================================================
   7 · FAQ  (cream, pure-CSS accordion)
   ========================================================= */
.is-wrapper > div.er-faq,
.er-faq {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.er-faq-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.er-faq-head .svc-eyebrow { color: #A5604B; }
.er-faq-head .svc-eyebrow span:first-child,
.er-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }

/* accordion wrapper */
.er-accordion {
    max-width: 820px;
    margin: 0 auto;
}
.er-acc-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.er-acc-item:last-child { margin-bottom: 0; }
.er-acc-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* hide native marker */
.er-acc-q::-webkit-details-marker { display: none; }
.er-acc-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.er-acc-q:hover { color: #8F4F3C; }
.er-acc-item[open] .er-acc-q { color: #8F4F3C; }
.er-acc-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}

/* +/- circular toggle icon */
.er-acc-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.er-acc-icon::before,
.er-acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.er-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.er-acc-q:hover .er-acc-icon { background: rgba(191,122,100,0.22); }
/* open state: rotate to "-" + fill */
.er-acc-item[open] .er-acc-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.er-acc-item[open] .er-acc-icon::before,
.er-acc-item[open] .er-acc-icon::after { background: #FBF9F4; }
.er-acc-item[open] .er-acc-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.er-acc-a {
    padding: 0 26px 24px;
    animation: erAccReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.er-acc-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid rgba(61,81,68,0.10);
    padding-top: 18px;
}
@keyframes erAccReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   8 · CLOSING CTA  (deep pine, glow)
   ========================================================= */
.is-wrapper > div.er-cta,
.er-cta {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.er-cta-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
}
.er-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.er-cta-inner .svc-eyebrow { color: #E8C4B0; }
.er-cta-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.er-cta-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.er-cta-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 22px;
    text-wrap: balance;
}
.er-cta-heading em { font-style: italic; color: #D9B57E; }
.er-cta-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto 18px;
    max-width: 620px;
}
.er-cta-body:last-of-type { margin-bottom: 30px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media all and (max-width: 1023.5px) {
    .er-split-text { max-width: none; }
    .er-split .cell:has(> .er-split-media) { align-self: auto; display: block; }
    /* mobile: image first, text second. Standard split markup is text-first,
       so flip it. -split-alt is already media-first in markup; leave it. */
    .er-split:not(.er-split-alt) .cell:has(> .er-split-media) { order: 1; }
    .er-split:not(.er-split-alt) .cell:has(> .er-split-text) { order: 2; }
    .er-split-media { margin-top: 0; margin-bottom: 26px; }
    .er-split-media img { min-height: 340px; max-height: 440px; }
}
@media all and (max-width: 640px) {
    .er-hero,
    .er-intro,
    .er-expert,
    .er-split,
    .er-faq,
    .er-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .er-feature { padding: 26px 22px; }
    .er-split-media img { min-height: 280px; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .er-feature,
    .er-feature::before,
    .er-feature-icon,
    .er-feature-num,
    .er-feature-line,
    .er-acc-item,
    .er-acc-icon,
    .er-acc-icon::before,
    .er-acc-icon::after,
    .er-split-media,
    .er-split-media img,
    .er-split-media-overlay::after,
    .er-split-tag,
    .er-list li,
    .er-list li i { transition: none !important; }
    .er-feature:hover { transform: none !important; }
    .er-feature:hover::before { transform: scaleX(1) !important; }
    .er-feature:hover .er-feature-icon { transform: none !important; }
    .er-acc-item[open] .er-acc-icon { transform: none !important; }
    .er-acc-a { animation: none !important; }
    .er-split-media:hover,
    .er-split-media:hover img,
    .er-list li:hover,
    .er-list li:hover i { transform: none !important; }
    .er-split-media:hover .er-split-media-overlay::after { transform: rotate(18deg) !important; }
    .er-split-tag { opacity: 1 !important; transform: none !important; }
}
/* =================  END ENERGY HEALING RETREATS PAGE  ============== */




/* ===================  SERVICE AREAS / HOME PAGE  =================== */

/* ---- 1 · HERO (deep pine) ---- */
.is-wrapper > div.home-hero,
.home-hero {
    background: radial-gradient(120% 120% at 50% 0%, #3D5144 0%, #2C3B31 70%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 96px !important;
    padding-bottom: 96px !important;
}
.home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(199,162,106,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(199,162,106,0.06) 1px, transparent 1px);
    background-size: 46px 46px;
    pointer-events: none;
}
.home-hero::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: -160px;
    right: -120px;
    background: radial-gradient(circle, rgba(191,122,100,0.30), transparent 65%);
    pointer-events: none;
}
.home-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}
.home-hero .svc-eyebrow { color: #D9B57E; }
.home-hero .svc-eyebrow span:first-child,
.home-hero .svc-eyebrow span:last-child { background: #C7A26A; }
.home-hero-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 52px;
    line-height: 1.1;
    color: #FBF9F4;
    margin: 0 0 22px;
    letter-spacing: -0.5px;
}
.home-hero-heading em { font-style: italic; color: #E8C4B0; }
.home-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: rgba(247,243,236,0.84);
    margin: 0 auto;
    max-width: 680px;
}

/* ---- shared heading + body for home ---- */
.home-section-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 38px;
    line-height: 1.18;
    color: #2C3B31;
    margin: 0 0 20px;
    letter-spacing: -0.4px;
}
.home-section-heading em { font-style: italic; color: #BF7A64; }
.home-lead,
.home-body {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0 0 18px;
}

/* ---- 2 · INTRO (cream) ---- */
.is-wrapper > div.home-intro,
.home-intro {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}
.home-intro-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.home-intro .svc-eyebrow { color: #A5604B; }
.home-intro .svc-eyebrow span:first-child,
.home-intro .svc-eyebrow span:last-child { background: #C7A26A; }
.home-intro .home-lead { font-size: 17px; }

/* ---- 3 · SERVICES CARDS (linen) ---- */
.is-wrapper > div.home-services,
.home-services {
    background: linear-gradient(180deg, #F4EDE1 0%, #EFE6D6 100%) !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}
.home-services-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 14px;
}
.home-services-head .svc-eyebrow { color: #A5604B; }
.home-services-head .svc-eyebrow span:first-child,
.home-services-head .svc-eyebrow span:last-child { background: #C7A26A; }
.home-services-intro { margin: 0 auto; max-width: 620px; }

.home-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 16px;
    padding: 32px 28px;
    margin-top: 26px;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.home-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s ease;
}
.home-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 44px rgba(44,59,49,0.14);
    border-color: rgba(199,162,106,0.45);
}
.home-card:hover::before { transform: scaleX(1); }
.home-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    font-size: 24px;
    margin-bottom: 20px;
    transition: transform 0.4s ease;
}
.home-card:hover .home-card-icon { transform: rotate(-8deg) scale(1.06); }
.home-card-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.3;
    color: #2C3B31;
    margin: 0 0 14px;
}
.home-card-line {
    display: block;
    width: 34px;
    height: 2px;
    background: #C7A26A;
    margin-bottom: 16px;
    transition: width 0.4s ease;
}
.home-card:hover .home-card-line { width: 56px; }
.home-card-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.7;
    color: #4A4A45;
    margin: 0 0 20px;
    flex-grow: 1;
}
.home-card-link {
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
    color: #BF7A64;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.35s ease, color 0.35s ease;
}
.home-card-link i { font-size: 13px; transition: transform 0.35s ease; }
.home-card:hover .home-card-link { color: #8F4F3C; }
.home-card:hover .home-card-link i { transform: translateX(5px); }

/* ---- 4 · EXPLORE LIST (cream) ---- */
.is-wrapper > div.home-explore,
.home-explore {
    background: linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    padding-top: 80px !important;
    padding-bottom: 84px !important;
}
.home-explore-head {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 18px;
}
.home-explore-head .svc-eyebrow { color: #A5604B; }
.home-explore-head .svc-eyebrow span:first-child,
.home-explore-head .svc-eyebrow span:last-child { background: #C7A26A; }
.home-explore-intro { margin: 0 auto; max-width: 640px; }

.home-explore-list {
    list-style: none;
    margin: 30px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.home-explore-list li {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    padding: 22px 24px;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.home-explore-list li:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(44,59,49,0.10);
    border-color: rgba(199,162,106,0.4);
}
.home-explore-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #F4EDE1;
    color: #BF7A64;
    font-size: 19px;
    transition: background 0.35s ease, color 0.35s ease;
}
.home-explore-list li:hover .home-explore-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
}
.home-explore-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.3;
    color: #2C3B31;
    margin: 0 0 6px;
}
.home-explore-copy p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.65;
    color: #4A4A45;
    margin: 0;
}

/* ---- RESPONSIVE ---- */
@media all and (max-width: 1023.5px) {
    .home-hero-heading { font-size: 40px; }
    .home-section-heading { font-size: 31px; }
    .home-explore-list { grid-template-columns: 1fr; }
}
@media all and (max-width: 640px) {
    .home-hero { padding-top: 64px !important; padding-bottom: 64px !important; }
    .home-hero-heading { font-size: 32px; }
    .home-hero-sub { font-size: 16px; }
    .home-intro,
    .home-services,
    .home-explore { padding-top: 56px !important; padding-bottom: 56px !important; }
    .home-section-heading { font-size: 26px; }
    .home-card { padding: 26px 22px; }
}


/* ===================  HOME · FEATURED IMAGE CARDS (Energy + Life)  =================== */
.home-feat {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 20px;
    overflow: hidden;
    margin-top: 26px;
    text-decoration: none !important;
    position: relative;
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}
.home-feat:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 60px rgba(44,59,49,0.20);
    border-color: rgba(199,162,106,0.5);
}

/* media */
.home-feat-media {
    position: relative;
    height: 190px;
    overflow: hidden;
}
.home-feat-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    transition: transform 1.1s ease;
}
.home-feat:hover .home-feat-media img { transform: scale(1.12); }
/* warm gradient so the badge + future text always read */
.home-feat-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(44,59,49,0.05) 0%, rgba(44,59,49,0.45) 100%);
    z-index: 1;
    transition: opacity 0.45s ease;
}
.home-feat:hover .home-feat-media::before { opacity: 0.75; }
/* diagonal sheen sweep on hover */
.home-feat-media::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -40%;
    width: 50%;
    height: 220%;
    background: linear-gradient(115deg, transparent, rgba(255,255,255,0.35), transparent);
    transform: rotate(18deg) translateX(-120%);
    z-index: 2;
    pointer-events: none;
}
.home-feat:hover .home-feat-media::after {
    transition: transform 0.9s ease;
    transform: rotate(18deg) translateX(360%);
}
.home-feat-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(251,249,244,0.92);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: #8F4F3C;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 10.5px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 100px;
    transition: transform 0.45s ease, background 0.45s ease;
}
.home-feat-badge i { color: #BF7A64; font-size: 12px; }
.home-feat:hover .home-feat-badge {
    transform: translateY(-2px);
    background: #BF7A64;
    color: #FBF9F4;
}
.home-feat:hover .home-feat-badge i { color: #FBF9F4; }

/* body */
.home-feat-body {
    padding: 26px 24px 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.home-feat-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.3;
    color: #2C3B31;
    margin: 0 0 12px;
}
.home-feat-line {
    display: block;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A);
    margin-bottom: 18px;
    transition: width 0.45s ease;
}
.home-feat:hover .home-feat-line { width: 68px; }
.home-feat-text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.65;
    color: #4A4A45;
    margin: 0 0 18px;
}

/* animated check points */
.home-feat-points {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
}
.home-feat-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #2C3B31;
    padding: 7px 10px;
    border-radius: 9px;
    transition: background 0.35s ease, transform 0.35s ease;
}
.home-feat-points li + li { margin-top: 3px; }
.home-feat-points li i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #F4EDE1;
    color: #BF7A64;
    font-size: 10px;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease;
}
.home-feat:hover .home-feat-points li { background: #F7F1E6; transform: translateX(6px); }
.home-feat:hover .home-feat-points li i {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    color: #FBF9F4;
    transform: rotate(360deg);
}

/* CTA link sits at bottom */
.home-feat-link {
    margin-top: auto;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    color: #BF7A64;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    transition: gap 0.35s ease, color 0.35s ease;
}
.home-feat-link i { transition: transform 0.35s ease; }
.home-feat:hover .home-feat-link { color: #8F4F3C; }
.home-feat:hover .home-feat-link i { transform: translateX(6px); }

@media all and (max-width: 1023.5px) {
    .home-feat-media { height: 210px; }
    .home-feat-title { font-size: 22px; }
}
@media all and (max-width: 640px) {
    .home-feat-media { height: 200px; }
    .home-feat-body { padding: 26px 22px 28px; }
}


/* ===================  CALGARY · WHY CHOOSE ME (full-width text + 7-point list)  =================== */
.is-wrapper > div.cal-why { background: #FBF9F4; }
.cal-why .home-section-heading { margin-top: 14px; }
.cal-why-text .home-body { margin-bottom: 24px; max-width: 900px; }

/* 7-point list in two columns (full width), simple hover */
.cal-why-list {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 24px;
}
.cal-why-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #4A4A45;
    padding: 12px 14px;
    border-radius: 12px;
    transition: background 0.3s ease;
}
.cal-why-list li i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-top: 1px;
    border-radius: 50%;
    background: #F4EDE1;
    color: #BF7A64;
    font-size: 12px;
    transition: background 0.3s ease, color 0.3s ease;
}
.cal-why-list li:hover { background: #F7F1E6; }
.cal-why-list li:hover i { background: #BF7A64; color: #FBF9F4; }

@media all and (max-width: 1023.5px) {
    .cal-why-list { grid-template-columns: 1fr; gap: 4px; }
}


/* ===================  CALGARY · SERVICES (image left + full text right)  =================== */
.is-wrapper > div.cal-svc { background: #F4EDE1; }
.cal-svc .home-section-heading { margin-top: 14px; }

/* media column */
.cal-svc .cell:has(> .cal-svc-media) { align-self: stretch; display: flex; }
.cal-svc-media {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(44,59,49,0.16);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cal-svc-media img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.cal-svc-media:hover { transform: translateY(-5px); box-shadow: 0 30px 58px rgba(44,59,49,0.20); }
.cal-svc-media:hover img { transform: scale(1.05); }
/* static warm tint for tag legibility */
.cal-svc-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(44,59,49,0.05) 0%, rgba(44,59,49,0.42) 100%);
    z-index: 1;
}
.cal-svc-tag {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(251,249,244,0.92);
    color: #8F4F3C;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.6px;
    padding: 9px 16px;
    border-radius: 100px;
}
.cal-svc-tag i { color: #BF7A64; font-size: 13px; }

/* text column */
.cal-svc-text { padding-left: 10px; }
.cal-svc-text .home-body { margin-bottom: 22px; }

/* services list (simple hover) */
.cal-svc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cal-svc-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 13px 14px;
    border-radius: 12px;
    border-bottom: 1px solid rgba(61,81,68,0.10);
    transition: background 0.3s ease, transform 0.3s ease;
}
.cal-svc-list li:last-child { border-bottom: 0; }
.cal-svc-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 12px;
    background: #FBF9F4;
    color: #BF7A64;
    font-size: 17px;
    box-shadow: 0 4px 12px rgba(44,59,49,0.08);
    transition: background 0.3s ease, color 0.3s ease;
}
.cal-svc-list li:hover { background: #FBF9F4; transform: translateX(5px); }
.cal-svc-list li:hover .cal-svc-ico { background: #BF7A64; color: #FBF9F4; }
.cal-svc-copy {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #4A4A45;
}
.cal-svc-copy strong {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    color: #2C3B31;
}

/* desktop: media left, text right */
@media all and (min-width: 1024px) {
    .cal-svc .cal-svc-order-1 { order: 1; }
    .cal-svc .cal-svc-order-2 { order: 2; }
}
/* stacked: image first */
@media all and (max-width: 1023.5px) {
    .cal-svc .cal-svc-order-1 { order: 1; }
    .cal-svc .cal-svc-order-2 { order: 2; }
    .cal-svc .cell:has(> .cal-svc-media) { display: block; }
    .cal-svc-media img { min-height: 320px; max-height: 440px; }
    .cal-svc-text { padding-left: 0; margin-top: 30px; }
}





/* =====================================================================
   COLLEEN PURTILL COACHING — BLOG LISTING  ·  EDITORIAL LUXE (WOW)
   Scoped under .new-blog-page-type. Webware locked template untouched.
   No inline styles / no <style>. Liquid drives palette:
     blog_page_section_heading_color #2C3B31 (Deep Pine)
     blog_page_icon_color            #BF7A64 (Terracotta)
     button_background_color         #3D5144 (Forest Green)
     button_text_color · link_hover_color · body_text_color · site_border_color
   Fonts: Fraunces (serif headings/italic <em>) · Mulish (sans body).
   Image cards: engage automatically IF Webware emits .article-image /
   .article-img / figure inside .blog-article; text-only stays elegant.
   Pure CSS, no JS.
   ===================================================================== */


/* ----- motion ----- */
@keyframes cpbReveal {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes cpbMesh {
    0%   { transform: translate3d(0,0,0) scale(1); }
    50%  { transform: translate3d(2.5%, -2%, 0) scale(1.06); }
    100% { transform: translate3d(0,0,0) scale(1); }
}
@keyframes cpbFloat {
    0%,100% { transform: translateY(0); }
    50%     { transform: translateY(-7px); }
}


/* ----- page shell + living mesh ----- */
.new-blog-page-type {
    position: relative;
    isolation: isolate;
    background: #FBF9F4;
    overflow: hidden;
}
.new-blog-page-type::before {
    content: "";
    position: absolute;
    inset: -10% -10% auto -10%;
    height: 75%;
    z-index: -1;
    background:
        radial-gradient(46rem 40rem at 88% -8%, rgba(191,122,100,0.16), transparent 60%),
        radial-gradient(40rem 38rem at 6% 4%, rgba(61,81,68,0.13), transparent 58%),
        radial-gradient(34rem 30rem at 60% 30%, rgba(199,162,106,0.12), transparent 62%);
    animation: cpbMesh 26s ease-in-out infinite;
    pointer-events: none;
}
.new-blog-page-type .main-blog-widget { position: relative; padding-top: 64px; }


/* ----- search bar (floating glass pill) ----- */
.new-blog-page-type .blog-search-container {
    margin-bottom: 8px;
    animation: cpbReveal 0.6s ease both;
}
.new-blog-page-type .blog-search-container .position-relative {
    max-width: 620px;
    margin: 0 auto;
}
.new-blog-page-type #search-input-blog {
    width: 100%;
    height: 62px;
    border-radius: 100px;
    border: 1px solid rgba(61,81,68,0.16);
    background: rgba(255,255,255,0.78);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 0 64px 0 28px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    color: #26312A;
    box-shadow: 0 18px 44px rgba(44,59,49,0.10);
    transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease, background 0.4s ease;
}
.new-blog-page-type #search-input-blog::placeholder { color: #a39d93; }
.new-blog-page-type #search-input-blog:focus {
    outline: none;
    background: #FFFFFF;
    border-color: #000000;
    box-shadow: 0 0 0 5px rgba(191,122,100,0.14), 0 22px 48px rgba(44,59,49,0.14);
    transform: translateY(-2px);
}
/* search button: premium gradient circle pinned to the right of the pill */
.new-blog-page-type .blog-search-container .blog-search-button {
    position: absolute;
    top: 50%;
    right: 8px;
    left: auto;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    line-height: 0;
    background: linear-gradient(135deg, #000000 0%, #C7A26A 100%);
    box-shadow: 0 8px 20px rgba(191,122,100,0.35);
    transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.35s ease, filter 0.35s ease;
}
.new-blog-page-type .blog-search-container .blog-search-button:hover {
    transform: translateY(-50%) scale(1.08) rotate(-6deg);
    box-shadow: 0 12px 28px rgba(191,122,100,0.50);
    filter: saturate(1.1);
}
.new-blog-page-type .blog-search-container .blog-search-button:active {
    transform: translateY(-50%) scale(0.96);
}
/* white icon: override the markup's fill="none" on <svg> and empty fill on <path> */
.new-blog-page-type .blog-search-button svg { width: 17px; height: 17px; fill: #FFFFFF; }
.new-blog-page-type .blog-search-button svg path { fill: #FFFFFF; }
/* keep the decorative clip rect transparent so it never shows a white square */
.new-blog-page-type .blog-search-button svg rect { fill: transparent; }


/* ----- layout rhythm ----- */
.new-blog-page-type .blog-articles { margin-top: 50px; }
.new-blog-page-type .blog-sidebar  { margin-top: 50px; }


/* ----- article list ----- */
.new-blog-page-type .blog-ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    list-style: none;
    margin-left: 0;
    margin-bottom: 0;
    counter-reset: cpbpost;
}
.new-blog-page-type .blog-ul .blog-li {
    margin-bottom: 0;
    counter-increment: cpbpost;
    animation: cpbReveal 0.65s cubic-bezier(0.16,1,0.3,1) both;
}
.new-blog-page-type .blog-ul .blog-li-2 { animation-delay: 0.08s; }
.new-blog-page-type .blog-ul .blog-li-3 { animation-delay: 0.16s; }
.new-blog-page-type .blog-ul .blog-li-4 { animation-delay: 0.24s; }
.new-blog-page-type .blog-ul .blog-li-5 { animation-delay: 0.32s; }
.new-blog-page-type .blog-ul .blog-li-6 { animation-delay: 0.40s; }

/* keep Webware inner row/article full width (NO margin/padding reset) */
.new-blog-page-type .blog-ul .blog-li .row,
.new-blog-page-type .blog-ul .blog-li .blog-article {
    width: 100%;
    max-width: 100%;
}

/* the card */
.new-blog-page-type .blog-ul .blog-article {
    position: relative;
    background: #FFFFFF;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 22px;
    padding: clamp(30px, 4vw, 48px);
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(44,59,49,0.06);
    transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), box-shadow 0.5s ease, border-color 0.5s ease;
}
/* serif quote-mark watermark (decorative, editorial) */
.new-blog-page-type .blog-ul .blog-article::after {
    content: "\201D";                    /* ” closing double-quote */
    position: absolute;
    top: -18px;
    right: 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 150px;
    line-height: 1;
    color: rgba(61,81,68,0.05);
    pointer-events: none;
    transition: color 0.5s ease, transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
/* left accent bar grows on hover */
.new-blog-page-type .blog-ul .blog-article::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #000000, #C7A26A);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.55s ease;
}
.new-blog-page-type .blog-ul .blog-article:hover {
    transform: translateY(-8px);
    box-shadow: 0 36px 70px rgba(44,59,49,0.15);
    border-color: rgba(191,122,100,0.42);
}
.new-blog-page-type .blog-ul .blog-article:hover::before { transform: scaleY(1); }
.new-blog-page-type .blog-ul .blog-article:hover::after {
    color: rgba(191,122,100,0.12);
    transform: translateY(4px) rotate(-4deg);
}

/* FEATURED FIRST POST — bigger, banded, editorial highlight */
.new-blog-page-type .blog-ul .blog-li-1 .blog-article {
    background:
        radial-gradient(36rem 26rem at 112% -20%, rgba(191,122,100,0.10), transparent 60%),
        radial-gradient(30rem 24rem at -10% 120%, rgba(61,81,68,0.07), transparent 60%),
        #FFFFFF;
    border-color: rgba(191,122,100,0.30);
    box-shadow: 0 26px 56px rgba(44,59,49,0.10);
}
.new-blog-page-type .blog-ul .blog-li-1 .article-title {
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.16;
}
.new-blog-page-type .blog-ul .blog-li-1 .article-body,
.new-blog-page-type .blog-ul .blog-li-1 .article-body p { font-size: 17px; }
/* "Latest" ribbon on featured card */
.new-blog-page-type .blog-ul .blog-li-1 .blog-article > .row::before,
.new-blog-page-type .blog-ul .blog-li-1 .blog-article > .article-category::before {
    content: "\f005  Latest";
    font-family: 'Font Awesome 5 Pro', 'Mulish', sans-serif;
    font-weight: 900;
    font-size: 10.5px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #FBF9F4;
    background: #BF7A64;
    display: inline-block;
    padding: 7px 16px;
    border-radius: 100px;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
}


/* ----- OPTIONAL article image (graceful — only if Webware emits it) ----- */
.new-blog-page-type .blog-article .article-image,
.new-blog-page-type .blog-article .article-img,
.new-blog-page-type .blog-article figure {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0 0 24px;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #F4EDE1;
}
.new-blog-page-type .blog-article .article-image img,
.new-blog-page-type .blog-article .article-img img,
.new-blog-page-type .blog-article figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.new-blog-page-type .blog-article:hover .article-image img,
.new-blog-page-type .blog-article:hover .article-img img,
.new-blog-page-type .blog-article:hover figure img {
    transform: scale(1.06);
}
/* featured image taller */
.new-blog-page-type .blog-li-1 .blog-article .article-image,
.new-blog-page-type .blog-li-1 .blog-article .article-img,
.new-blog-page-type .blog-li-1 .blog-article figure { aspect-ratio: 21 / 9; }


/* ----- category line (label + tag pills) ----- */
.new-blog-page-type .article-category {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    line-height: 1;
}
.new-blog-page-type .article-category .categories_text {
    display: inline-block;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #a39d93;
    margin-right: 8px;
    vertical-align: middle;
}
.new-blog-page-type .article-category > span:has(> a) {
    display: inline-block;
    margin: 0 6px 6px 0;
    vertical-align: middle;
}
.new-blog-page-type .article-category > span > a {
    display: inline-block;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: capitalize;          /* normalises Webware leading-space */
    color: #000000;
    background: #F7F1E6;
    border: 1px solid rgba(191,122,100,0.22);
    padding: 6px 14px;
    border-radius: 100px;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.new-blog-page-type .article-category > span > a:hover {
    background: #000000;
    color: #FBF9F4;
    border-color: #000000;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(191,122,100,0.30);
}
/* hide literal comma-separator spans (clean pill look) */
.new-blog-page-type .article-category > span:not(:has(a)) { font-size: 0; }


/* ----- title ----- */
.new-blog-page-type .article-title,
.new-blog-page-type .blog-ul h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 14px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(24px, 2.6vw, 33px);
    line-height: 1.26;
    text-wrap: balance;
}
.new-blog-page-type .article-title a,
.new-blog-page-type .blog-ul h2 a {
    color: #000000;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 3px;
    transition: background-size 0.5s ease, color 0.3s ease;
}
.new-blog-page-type .article-title a:hover,
.new-blog-page-type .blog-ul h2 a:hover {
    color: #000000;
    background-size: 100% 2px;
}


/* ----- excerpt + read more ----- */
.new-blog-page-type .article-body,
.new-blog-page-type .article-body p {
    position: relative;
    z-index: 1;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.74;
    color: #26312A;
    margin-bottom: 0;
}
.new-blog-page-type .blog-read-more {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    padding-bottom: 3px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.4px;
    color: #000000;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 1.5px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: gap 0.3s ease, color 0.3s ease, background-size 0.4s ease;
}
.new-blog-page-type .blog-read-more::after {
    content: "\f061";                    /* fa arrow-right */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 12px;
    transition: transform 0.3s ease;
}
.new-blog-page-type .blog-read-more:hover {
    color: #A5604B;
    gap: 13px;
    background-size: 100% 1.5px;
}
.new-blog-page-type .blog-read-more:hover::after { transform: translateX(5px); }
.new-blog-page-type .pb-0.mb-0 { margin: 0; }


/* ----- sidebar: sticky glass card ----- */
.new-blog-page-type .blog-sidebar .articles-filter-container {
    position: sticky;
    top: 24px;
    background:
        radial-gradient(28rem 26rem at 118% -12%, rgba(191,122,100,0.08), transparent 60%),
        rgba(255,255,255,0.84);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 22px;
    padding: 34px 30px;
    box-shadow: 0 18px 40px rgba(44,59,49,0.08);
    animation: cpbReveal 0.65s ease 0.12s both;
}
.new-blog-page-type .articles-filter-container h3 {
    position: relative;
    margin: 0 0 24px;
    padding-bottom: 16px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 24px;
    color: #000000;
}
.new-blog-page-type .articles-filter-container h3::after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 48px; height: 2px;
    background: linear-gradient(90deg, #000000, #C7A26A);
}

/* category list */
.new-blog-page-type .ps-blog-category {
    list-style: none;
    margin: 0;
    padding: 0;
}
.new-blog-page-type .ps-blog-category li {
    display: block;
    margin: 0 0 9px;
}
.new-blog-page-type .ps-blog-category li a {
    position: relative;
    display: flex;
    align-items: center;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14.5px;
    font-weight: 600;
    text-transform: capitalize;          /* fixes Webware leading-space */
    color: #26312A;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.08);
    padding: 12px 18px 12px 34px;
    border-radius: 100px;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.new-blog-page-type .ps-blog-category li a::before {
    content: "";
    position: absolute;
    left: 17px; top: 50%;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #000000;
    transform: translateY(-50%) scale(0.55);
    opacity: 0.5;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.new-blog-page-type .ps-blog-category li a:hover {
    transform: translateX(6px);
    border-color: rgba(191,122,100,0.45);
    color: #000000;
    box-shadow: 0 10px 22px rgba(44,59,49,0.07);
}
.new-blog-page-type .ps-blog-category li a:hover::before { transform: translateY(-50%) scale(1); opacity: 1; }
/* "All" + active = forest-green filled pill with champagne dot */
.new-blog-page-type .ps-blog-category li.active a,
.new-blog-page-type .ps-blog-category li a.all-blogs {
    background: #BF7A64;
    color: #FBF9F4;
    border-color: #BF7A64;
}
.new-blog-page-type .ps-blog-category li.active a::before,
.new-blog-page-type .ps-blog-category li a.all-blogs::before { background: #C7A26A; opacity: 1; transform: translateY(-50%) scale(1); }
.new-blog-page-type .ps-blog-category li.active a:hover,
.new-blog-page-type .ps-blog-category li a.all-blogs:hover {
    transform: translateX(6px);
    color: #FBF9F4;
    opacity: 0.95;
}


/* ----- mobile category block (hide-for-large) ----- */
.new-blog-page-type .articles-filter-container.hide-for-large {
    background: rgba(255,255,255,0.86);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 20px;
    padding: 28px 24px;
    margin-bottom: 34px;
    box-shadow: 0 14px 34px rgba(44,59,49,0.06);
}


/* ----- featured block (display:none in markup; pre-styled) ----- */
.new-blog-page-type .featured-articles-section { margin-top: 46px; }
.new-blog-page-type .featured-articles {
    position: relative;
    background:
        radial-gradient(38rem 28rem at 112% -22%, rgba(191,122,100,0.08), transparent 60%),
        #FFFFFF;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 22px;
    padding: clamp(30px, 4vw, 48px);
    box-shadow: 0 16px 38px rgba(44,59,49,0.07);
}
.new-blog-page-type .featured-articles h5 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 18px;
}
.new-blog-page-type .featured-articles h5::before {
    content: "\f005";                    /* fa star */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 11px;
}
.new-blog-page-type .featured-articles-slider { list-style: none; margin-left: 0; }
.new-blog-page-type .featured-articles-slider img { margin-bottom: 12px; border-radius: 14px; }


/* ----- pagination ----- */
.new-blog-page-type .ps-pagination-bar { margin-top: 52px; text-align: center; }
.new-blog-page-type .ps-pagination-bar p:empty { display: none; }
.new-blog-page-type .ps-pagination-bar span {
    display: inline-block;
    margin: 0 4px 8px;
    border-radius: 100px;
    background: rgba(255,255,255,0.8);
    border: 1px solid rgba(61,81,68,0.12);
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 600;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.new-blog-page-type .ps-pagination-bar span a { display: block; padding: 11px 17px; color: #26312A; }
.new-blog-page-type .ps-pagination-bar span.current { padding: 11px 17px; background: #BF7A64; color: #FBF9F4; border-color: #BF7A64; }
.new-blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type .ps-pagination-bar span.prev { border-color: rgba(191,122,100,0.4); }
.new-blog-page-type .ps-pagination-bar span:hover { border-color: #000000; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(44,59,49,0.08); }


/* ----- responsive ----- */
@media all and (max-width: 1023.5px) {
    .new-blog-page-type::before { height: 60%; }
    .new-blog-page-type .main-blog-widget { padding-top: 44px; }
    .new-blog-page-type .blog-articles { margin-top: 32px; }
    .new-blog-page-type .blog-sidebar .articles-filter-container { position: static; }
    .new-blog-page-type .blog-ul .blog-article::after { font-size: 110px; }
}
@media all and (max-width: 640px) {
    .new-blog-page-type #search-input-blog { height: 54px; }
    .new-blog-page-type .blog-ul .blog-article { border-radius: 18px; }
    .new-blog-page-type .blog-ul .blog-article::after { font-size: 86px; right: 18px; }
}


/* override theme cap on category list (let full list show, no inner scroll)
   theme rule: .articles-filter-container .ps-blog-category { max-height:500px; overflow:auto }
   ours is more specific (0,3,0) — no !important needed */
.new-blog-page-type .articles-filter-container .ps-blog-category {
    max-height: none;
    overflow: visible;
}


/* =====================================================================
   COLLEEN PURTILL COACHING — HEADER (new-header-6)  ·  PREMIUM
   Scoped under .new-header.new-header-6. Webware locked section
   wrappers (is-section/is-box/is-boxes/is-box-centered) untouched.
   No inline styles. Solid CREAM sticky bar, dark text, Fraunces logo
   feel, terracotta "Book a Call" pill, refined dropdowns.
   Brand: Forest #3D5144 · Terracotta #BF7A64 · Deep Pine #2C3B31
          Cream #FBF9F4 · Linen #F4EDE1 · Champagne #C7A26A · text #4A4A45
   ===================================================================== */


/* ----- the bar: solid cream, soft shadow ----- */
.new-header.new-header-6.has-bg {
    background: rgba(251,249,244,0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(61,81,68,0.10);
    box-shadow: 0 6px 24px rgba(44,59,49,0.05);
    transition: box-shadow 0.4s ease, background 0.4s ease, padding 0.4s ease;
}
.new-header.new-header-6 .custom-grid-container {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    transition: padding 0.4s ease;
}

/* sticky/stuck state — deeper shadow, tighter */
header .with-nav.is-stuck,
.new-header.new-header-6.has-bg.is-stuck {
    background: rgba(251,249,244,0.96) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 10px 34px rgba(44,59,49,0.12) !important;
    border-bottom: 1px solid rgba(191,122,100,0.18);
}
.new-header.new-header-6.is-stuck .custom-grid-container {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}


/* ----- logo ----- */
.new-header-6 .logo-container a { display: inline-block; line-height: 0; }
.new-header-6 .logo-container img {
    max-height: 64px;
    width: auto;
    transition: max-height 0.4s ease, transform 0.4s ease;
}
.new-header-6.is-stuck .logo-container img { max-height: 50px; }
.new-header-6 .logo-container a:hover img { transform: scale(1.03); }


/* ----- "Call Today" contact link ----- */
.new-header-6 .menu a.head-contact-links {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 6px 8px;
    color: #26312A;
    transition: color 0.3s ease, transform 0.3s ease;
}
.new-header-6 .menu a.head-contact-links:hover { transform: translateY(-1px); }
.new-header-6 .menu a.head-contact-links .icon-part {
    width: 44px;
    height: 44px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #BF7A64;
    border: 2px solid #BF7A64;
    color: #FBF9F4;
    font-size: 16px;
    box-shadow: 0 6px 18px rgba(44, 59, 49, 0.32);
    transition: transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.new-header-6 .menu a.head-contact-links:hover .icon-part {
    background: #A5604B;
    border-color: #A5604B;
    color: #FBF9F4;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}
.new-header-6 .menu a.head-contact-links .icon-part i { color: #FBF9F4; }
.new-header-6 .menu a.head-contact-links .text-part { text-align: left; line-height: 1.25; }
.new-header-6 .menu a.head-contact-links .text-part .heading {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #a39d93;
}
.new-header-6 .menu a.head-contact-links .text-part .below-text,
.new-header-6 .menu a.head-contact-links .text-part .below-text .siteDisplayNumber {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: #000000;
}


/* ----- "Book a Call" — EXACT match to site's unified button ----- */
.new-header-6 .contact-section .button,
.new-header-6 .mobile-contact-button-section .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 36px !important;
    border-radius: 30px !important;
    background: #BF7A64 !important;
    color: #FBF9F4 !important;
    border: 2px solid #BF7A64 !important;
    font-family: 'Mulish', system-ui, sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.3px;
    line-height: 1.2;
    text-transform: none;
    text-decoration: none;
    text-shadow: none;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(44, 59, 49, 0.32);
    transition: transform .25s ease, background-color .25s ease,
                border-color .25s ease, box-shadow .25s ease, color .25s ease;
}
.new-header-6 .contact-section .button:hover,
.new-header-6 .mobile-contact-button-section .button:hover {
    transform: translateY(-2px);
    background: #A5604B !important;
    border-color: #A5604B !important;
    color: #FBF9F4 !important;
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}
.new-header-6 .contact-section .button:focus-visible,
.new-header-6 .mobile-contact-button-section .button:focus-visible {
    outline: 3px solid #E8C4B0;
    outline-offset: 3px;
}


/* ----- top-level nav links ----- */
.new-header-6 ul.dropdown.menu.level-1 > li > a:not(.button) {
    position: relative;
    z-index: 0;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    font-weight: 600;
    padding: 15px 25px;
    margin: 0 1px;
    border-radius: 100px;
    color: #26312A;
    overflow: hidden;
    transition: color 0.35s ease;
}
/* pill fill that wipes in left -> right behind the text */
.new-header-6 ul.dropdown.menu.level-1 > li > a:not(.button)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 100px;
    background: #BF7A64;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.42s cubic-bezier(0.65,0,0.35,1);
}
/* keep the link text above the fill */
.new-header-6 ul.dropdown.menu.level-1 > li > a:not(.button) span {
    position: relative;
    z-index: 1;
    transition: color 0.35s ease;
}
/* HOVER / ACTIVE — fill wipes in, text turns cream */
.new-header-6 ul.dropdown.menu.level-1 > li:hover > a:not(.button)::before,
.new-header-6 ul.dropdown.menu.level-1 > li.active > a:not(.button)::before {
    transform: scaleX(1);
}
.new-header-6 ul.dropdown.menu.level-1 > li:hover > a:not(.button),
.new-header-6 ul.dropdown.menu.level-1 > li.active > a:not(.button),
.new-header-6 ul.dropdown.menu.level-1 > li:hover > a:not(.button) span,
.new-header-6 ul.dropdown.menu.level-1 > li.active > a:not(.button) span {
    color: #FBF9F4;
}

/* submenu caret spacing */
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent > a { padding-right: 38px; }

/* ----- dropdown caret: clean FA chevron, brand colour, correct position ----- */
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
    content: "\f078" !important;          /* fa chevron-down */
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 900 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    background: none !important;
    background-image: none !important;
    position: absolute !important;
    top: 53% !important;
    right:4px !important;
    left: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    color: #26312A !important;
    transition: transform 0.3s ease, color 0.3s ease;
}
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent:hover > a::after,
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.active > a::after {
    color: #FBF9F4 !important;
    transform: translateY(-50%) rotate(180deg) !important;
}

/* sub-submenu items (none here, but normalise opens-left/right just in case) */
.new-header-6 .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    content: "\f054" !important;          /* fa chevron-right */
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 900 !important;
    font-size: 9px !important;
    border: 0 !important;
    background: none !important;
    color: #26312A !important;
    transform: none !important;
}


/* ----- dropdown submenu panel ----- */
.new-header-6 .dropdown.menu li ul.submenu,
.new-header-6 .is-dropdown-submenu {
    background: #FFFFFF !important;
    border: 1px solid rgba(61,81,68,0.10) !important;
    border-radius: 14px !important;
    padding: 10px !important;
    min-width: 248px;
    box-shadow: 0 22px 48px rgba(44,59,49,0.16) !important;
    margin-top: 12px;
    /* WOW open animation: 3D perspective unfold from the top */
    position: absolute;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    overflow: visible !important;
    perspective: 1400px;
    transform: translateY(-14px) rotateX(-18deg) scale(0.96);
    transform-origin: top center;
    transition: opacity 0.34s ease,
                transform 0.5s cubic-bezier(0.22,1.2,0.36,1),
                box-shadow 0.4s ease,
                visibility 0s linear 0.5s;
}
/* growing terracotta accent bar across the top of the panel */
.new-header-6 .dropdown.menu li ul.submenu::before,
.new-header-6 .is-dropdown-submenu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #BF7A64 0%, #C7A26A 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.5s cubic-bezier(0.22,1,0.36,1) 0.08s;
}
/* soft terracotta glow halo behind the panel */
.new-header-6 .dropdown.menu li ul.submenu::after,
.new-header-6 .is-dropdown-submenu::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 14px;
    pointer-events: none;
    box-shadow: 0 0 0 0 rgba(191,122,100,0);
    transition: box-shadow 0.5s ease 0.1s;
}
/* Foundation adds .js-dropdown-active (click) / shows on :hover — animate in */
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent:hover > ul.submenu,
.new-header-6 .dropdown.menu li ul.submenu.js-dropdown-active,
.new-header-6 .is-dropdown-submenu.js-dropdown-active {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) rotateX(0) scale(1);
    box-shadow: 0 28px 60px rgba(44,59,49,0.22) !important;
    transition: opacity 0.34s ease,
                transform 0.5s cubic-bezier(0.22,1.2,0.36,1),
                box-shadow 0.4s ease,
                visibility 0s;
}
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent:hover > ul.submenu::before,
.new-header-6 .dropdown.menu li ul.submenu.js-dropdown-active::before,
.new-header-6 .is-dropdown-submenu.js-dropdown-active::before {
    transform: scaleX(1);
}
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent:hover > ul.submenu::after,
.new-header-6 .dropdown.menu li ul.submenu.js-dropdown-active::after,
.new-header-6 .is-dropdown-submenu.js-dropdown-active::after {
    box-shadow: 0 0 32px 2px rgba(191,122,100,0.18);
}
/* Items are ALWAYS visible (no opacity:0 default).
   Earlier the items sat at opacity:0 and only un-hid on :hover/.js-dropdown-active;
   on click-open pages that signal never fired, leaving an empty panel.
   The panel's own 3D unfold + accent-bar give the entrance polish. */
.new-header-6 .dropdown.menu li ul.submenu li {
    opacity: 1;
    transform: none;
    margin: 0 0 2px;
    border-radius: 9px;
    overflow: hidden;
}
.new-header-6 .dropdown.menu li ul.submenu li a:not(.button) {
    position: relative;
    z-index: 0;
    display: block;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    padding: 11px 16px !important;
    color: #26312A !important;
    border-radius: 9px;
    overflow: hidden;
    transition: color 0.3s ease;
}
/* same left -> right solid terracotta fill behind the item */
.new-header-6 .dropdown.menu li ul.submenu li a:not(.button)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 9px;
    background: #BF7A64;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.42s cubic-bezier(0.65,0,0.35,1);
}
/* keep the item text above the fill */
.new-header-6 .dropdown.menu li ul.submenu li a:not(.button) span {
    position: relative;
    z-index: 1;
}
.new-header-6 .dropdown.menu li ul.submenu li a:not(.button):hover::before,
.new-header-6 .dropdown.menu li ul.submenu li.active > a:not(.button)::before,
.new-header-6 .dropdown.menu li ul.submenu li.is-active > a:not(.button)::before {
    transform: scaleX(1);
}
.new-header-6 .dropdown.menu li ul.submenu li a:not(.button):hover,
.new-header-6 .dropdown.menu li ul.submenu li.active > a:not(.button),
.new-header-6 .dropdown.menu li ul.submenu li.is-active > a:not(.button) {
    color: #FBF9F4 !important;
}

/* ============================================================
   DROPDOWN OPEN-STATE FIX — bind visible state to EVERY open signal
   (theme opens via parent .active / aria-expanded, not only :hover/.js-dropdown-active)
   Without this the panel + items stay opacity:0 and the page shows through.
   ============================================================ */
/*.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.active > ul.submenu,
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.is-active > ul.submenu,
.new-header-6 .dropdown.menu > li.is-active > ul.submenu,*/
.new-header-6 .dropdown.menu > li[aria-expanded="true"] > ul.submenu,
.new-header-6 .dropdown.menu li ul.submenu[aria-expanded="true"],
.new-header-6 .dropdown.menu li ul.submenu.is-active,
.new-header-6 .is-dropdown-submenu.is-active,
.new-header-6 .is-dropdown-submenu[aria-expanded="true"] {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) rotateX(0) scale(1) !important;
    box-shadow: 0 28px 60px rgba(44,59,49,0.22) !important;
}
/* accent bar + glow for those same open signals */
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.active > ul.submenu::before,
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.is-active > ul.submenu::before,
.new-header-6 .dropdown.menu > li[aria-expanded="true"] > ul.submenu::before,
.new-header-6 .dropdown.menu li ul.submenu.is-active::before,
.new-header-6 .is-dropdown-submenu.is-active::before {
    transform: scaleX(1) !important;
}
/* items fully opaque for those same open signals */
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.active > ul.submenu li,
.new-header-6 .dropdown.menu > li.is-dropdown-submenu-parent.is-active > ul.submenu li,
.new-header-6 .dropdown.menu > li.is-active > ul.submenu li,
.new-header-6 .dropdown.menu > li[aria-expanded="true"] > ul.submenu li,
.new-header-6 .dropdown.menu li ul.submenu.is-active li,
.new-header-6 .is-dropdown-submenu.is-active li {
    opacity: 1 !important;
    transform: translateY(0) rotateX(0) !important;
}

/* SAFETY NET: the submenu must NEVER be see-through while displayed.
   Solid opaque panel + a backing layer so page content can never bleed through,
   even mid-animation. */
.new-header-6 .dropdown.menu li ul.submenu,
.new-header-6 .is-dropdown-submenu {
    background-color: #FFFFFF !important;
    background-clip: padding-box;
}
.new-header-6 .dropdown.menu li ul.submenu li {
    background: #FFFFFF;          /* each row opaque so faded text never reveals page */
    border-radius: 9px;
}


/* ----- hamburger (mobile) ----- */
.new-header-6 .sidenav-container .openMenu {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 12px;
    background: #BF7A64;
    border: 1px solid #BF7A64;
    transition: background 0.3s ease, transform 0.3s ease;
}
.new-header-6 .sidenav-container .openMenu:hover { background: #A5604B; transform: translateY(-1px); }
.new-header-6 .sidenav-container i.fa-bars.icon { color: #fff; }


/* ----- mobile contact strip ----- */
.new-header-6 .hide-for-large .mobile-contact-button-section {
    text-align: center;
    margin-top: 10px;
}
.new-header-6 .hide-for-large .mobile-contact-button-section:first-child { margin-top: 0; padding-top: 10px; }
.new-header-6 .mobile-contact-button-section a.head-contact-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 6px 8px;
    color: #26312A;
    transition: color 0.3s ease, transform 0.3s ease;
}
.new-header-6 .mobile-contact-button-section a.head-contact-links:hover { transform: translateY(-1px); }
.new-header-6 .mobile-contact-button-section a.head-contact-links .icon-part {
    width: 44px;
    height: 44px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #BF7A64;
    border: 2px solid #BF7A64;
    color: #FBF9F4;
    font-size: 16px;
    box-shadow: 0 6px 18px rgba(44, 59, 49, 0.32);
    transition: transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.new-header-6 .mobile-contact-button-section a.head-contact-links:hover .icon-part {
    background: #A5604B;
    border-color: #A5604B;
    color: #FBF9F4;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(44, 59, 49, 0.4);
}
.new-header-6 .mobile-contact-button-section a.head-contact-links .icon-part i { color: #FBF9F4; }
.new-header-6 .mobile-contact-button-section a.head-contact-links .text-part { text-align: left; line-height: 1.25; }
.new-header-6 .mobile-contact-button-section a.head-contact-links .text-part .heading {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #a39d93;
}
.new-header-6 .mobile-contact-button-section a.head-contact-links .text-part .below-text,
.new-header-6 .mobile-contact-button-section a.head-contact-links .text-part .below-text .siteDisplayNumber {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: #000000;
}
.new-header-6 .mobile-contact-button-section .button { width: auto; }


/* ----- responsive ----- */
@media all and (max-width: 1023.5px) {
    .new-header.new-header-6 .custom-grid-container {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .new-header-6 .logo-container img { max-height: 50px; }
}

/* ============================================================
   COLLEEN PURTILL COACHING — MOBILE SIDENAV (off-canvas)
   Branding matched to desktop .new-header-6
   (uses #sidenav for specificity to beat theme base rules)
   ============================================================ */
#sidenav.sidenav {
    background: #FBF9F4 !important;
    box-shadow: -18px 0 48px rgba(44,59,49,0.18);
    border-left: 1px solid rgba(61,81,68,0.10);
    padding-top: 12px;
}
#sidenav .menu.accordion-menu {
    background: transparent;
    padding: 8px 10px 24px;
}

/* every top-level row */
#sidenav .menu.accordion-menu > li {
    border: 0 !important;
    border-bottom: 1px solid rgba(61,81,68,0.08) !important;
    margin: 0 !important;
    background: transparent !important;
    position: relative;
}
#sidenav .menu.accordion-menu > li:last-child {
    border-bottom: 0 !important;
}

/* link rows */
#sidenav .menu.accordion-menu li a {
    font-family: 'Mulish', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px;
    color: #26312A !important;
    padding: 15px 14px !important;
    background: transparent !important;
    border-radius: 10px;
    transition: color 0.28s ease, background 0.28s ease, padding-left 0.28s ease;
}
#sidenav .menu.accordion-menu li a span {
    transition: inherit;
}
#sidenav .menu.accordion-menu li a:hover,
#sidenav .menu.accordion-menu li a:focus {
    color: #BF7A64 !important;
    background: rgba(191,122,100,0.08) !important;
    padding-left: 20px !important;
}

/* active page → terracotta accent + tint */
#sidenav .menu.accordion-menu > li.active > a,
#sidenav .menu.accordion-menu li.is-page.active > a {
    color: #2C3B31 !important;
    font-weight: 700 !important;
    background: rgba(191,122,100,0.10) !important;
}
#sidenav .menu.accordion-menu > li.active > a::before,
#sidenav .menu.accordion-menu li.is-page.active > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: linear-gradient(180deg, #BF7A64 0%, #C7A26A 100%);
}

/* submenu-parent caret — branded FA chevron, rotates on expand */
#sidenav .menu.accordion-menu li.is-accordion-submenu-parent > a::after,
#sidenav .menu.accordion-menu li.has-submenu > a::after {
    content: "\f078" !important;
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    color: #BF7A64 !important;
    border: 0 !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(0deg) !important;
    transition: transform 0.32s cubic-bezier(0.22,1,0.36,1), color 0.28s ease !important;
}
#sidenav .menu.accordion-menu > li.is-accordion-submenu-parent.is-active > a::after,
#sidenav .menu.accordion-menu > li.has-submenu.active > a::after,
#sidenav .menu.accordion-menu > li.is-accordion-submenu-parent[aria-expanded="true"] > a::after {
    transform: translateY(-50%) rotate(180deg) !important;
    color: #A5604B !important;
}

/* nested submenu panel */
#sidenav .menu.accordion-menu .is-accordion-submenu,
#sidenav .menu.accordion-menu ul.submenu {
    background: rgba(244,237,225,0.55) !important;
    border-radius: 12px;
    margin: 0 0 10px !important;
    padding: 6px !important;
}
#sidenav .menu.accordion-menu .is-accordion-submenu li {
    border: 0 !important;
    border-bottom: 1px solid rgba(61,81,68,0.06) !important;
    margin: 0 !important;
}
#sidenav .menu.accordion-menu .is-accordion-submenu li:last-child {
    border-bottom: 0 !important;
}
#sidenav .menu.accordion-menu .is-accordion-submenu li a {
    font-size: 14.5px !important;
    font-weight: 500 !important;
    padding: 12px 14px !important;
    color: #4A4A45 !important;
}
#sidenav .menu.accordion-menu .is-accordion-submenu li a span.padding-left-1 {
    padding-left: 0 !important;
}
#sidenav .menu.accordion-menu .is-accordion-submenu li a:hover {
    color: #BF7A64 !important;
    background: rgba(191,122,100,0.10) !important;
    padding-left: 20px !important;
}
#sidenav .menu.accordion-menu .is-accordion-submenu li.active > a {
    color: #BF7A64 !important;
    font-weight: 700 !important;
    background: rgba(191,122,100,0.12) !important;
}

/* smooth accordion expand (Foundation toggles display; animate when shown) */
#sidenav .menu.accordion-menu .is-accordion-submenu li {
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.3s ease, transform 0.34s cubic-bezier(0.22,1,0.36,1);
}
#sidenav .menu.accordion-menu .is-accordion-submenu[style*="display: block"] li,
#sidenav .menu.accordion-menu .is-accordion-submenu[aria-hidden="false"] li,
#sidenav .menu.accordion-menu li.is-active > .is-accordion-submenu li {
    opacity: 1;
    transform: translateX(0);
}
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(1) { transition-delay: 0.04s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(2) { transition-delay: 0.08s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(3) { transition-delay: 0.12s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(4) { transition-delay: 0.16s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(5) { transition-delay: 0.20s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(6) { transition-delay: 0.24s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(7) { transition-delay: 0.28s; }
#sidenav .menu.accordion-menu .is-accordion-submenu li:nth-child(8) { transition-delay: 0.32s; }

/* ============================================================
   COLLEEN PURTILL — FOOTER CONTACT ICONS (address / phone / email)
   Premium round terracotta icon-chips, brand-matched, hover glow
   ============================================================ */
footer .column-container .actual-address.address-container,
footer .column-container .contact-number .footer-phone,
footer .column-container .contact-email .footer-email {
    position: relative;
    padding-left: 44px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    line-height: 1.55;
    transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), color 0.28s ease;
}
footer .column-container .actual-address.address-container::before,
footer .column-container .contact-number .footer-phone::before,
footer .column-container .contact-email .footer-email::before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #BF7A64 0%, #C7A26A 100%);
    color: #FBF9F4;
    font-size: 13px;
    box-shadow: 0 5px 14px rgba(191, 122, 100, 0.30);
    transition: transform 0.32s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s ease, background 0.3s ease;
}
footer .column-container .actual-address.address-container::before { content: "\f3c5"; }   /* map-marker-alt */
footer .column-container .contact-number .footer-phone::before     { content: "\f879"; }   /* phone-alt */
footer .column-container .contact-email .footer-email::before      { content: "\f0e0"; }   /* envelope */

/* hover — chip lifts + glows, link nudges right */
footer .column-container .contact-number .footer-phone:hover,
footer .column-container .contact-email .footer-email:hover,
footer .column-container a:hover .actual-address.address-container {
    transform: translateX(3px);
}
footer .column-container .contact-number .footer-phone:hover::before,
footer .column-container .contact-email .footer-email:hover::before,
footer .column-container a:hover .actual-address.address-container::before {
    background: linear-gradient(135deg, #A5604B 0%, #BF7A64 100%);
    transform: translateY(-50%) scale(1.08) rotate(-6deg);
    box-shadow: 0 8px 20px rgba(191, 122, 100, 0.45);
}
/* small consistent gap between phone and email rows */
footer .column-container .contact-number,
footer .column-container .contact-email {
    margin: 0 !important;
    padding: 5px 0 !important;
}
footer .column-container .contact-number .footer-phone,
footer .column-container .contact-email .footer-email {
    margin: 0 !important;
}

/* MOBILE — center footer keeps icon-chip beside the text (not split) */
@media all and (max-width: 1023.5px) {
    footer .column-container .actual-address.address-container,
    footer .column-container .contact-number .footer-phone,
    footer .column-container .contact-email .footer-email {
        padding-left: 0;
        gap: 10px;
        justify-content: center;
        text-align:center;
    }
    footer .column-container .actual-address.address-container::before,
    footer .column-container .contact-number .footer-phone::before,
    footer .column-container .contact-email .footer-email::before {
        position: static;
        top: auto;
        transform: none;
        flex: 0 0 30px;
    }
    /* keep the hover tilt working without the translateY centering */
    footer .column-container .contact-number .footer-phone:hover::before,
    footer .column-container .contact-email .footer-email:hover::before,
    footer .column-container a:hover .actual-address.address-container::before {
        transform: scale(1.08) rotate(-6deg);
    }
}

/* ============================================================
   COLLEEN PURTILL — FOOTER SOCIAL ICONS (animated)
   Round brand chips, hover lift + scale + glow + icon flip-in
   ============================================================ */
footer .social-media-icons.menu {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
footer .social-media-icons.menu li {
    margin: 0;
    padding: 0;
}
footer .social-media-icons.menu li a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0 !important;
    border-radius: 50%;
    background: rgba(191, 122, 100, 0.10);
    border: 1px solid rgba(191, 122, 100, 0.25);
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.22,1.2,0.36,1),
                background 0.35s ease,
                border-color 0.35s ease,
                box-shadow 0.35s ease;
}
/* terracotta fill that rises from the bottom on hover */
footer .social-media-icons.menu li a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(135deg, #BF7A64 0%, #C7A26A 100%);
    transform: translateY(101%);
    transition: transform 0.42s cubic-bezier(0.22,1,0.36,1);
}
footer .social-media-icons.menu li a svg.social-icon {
    position: relative;
    z-index: 1;
    height: 20px !important;
    width: 20px !important;
    fill: #BF7A64;
    transition: fill 0.35s ease, transform 0.45s cubic-bezier(0.22,1.2,0.36,1);
}
/* hover — chip lifts, fill rises, icon turns cream + subtle pop */
footer .social-media-icons.menu li a:hover,
footer .social-media-icons.menu li a:focus-visible {
    transform: translateY(-5px);
    border-color: #BF7A64;
    box-shadow: 0 12px 26px rgba(191, 122, 100, 0.40);
}
footer .social-media-icons.menu li a:hover::before,
footer .social-media-icons.menu li a:focus-visible::before {
    transform: translateY(0);
}
footer .social-media-icons.menu li a:hover svg.social-icon,
footer .social-media-icons.menu li a:focus-visible svg.social-icon {
    fill: #FBF9F4;
    transform: scale(1.12) rotate(-6deg);
}
/* gentle staggered float-in when footer scrolls into view feel (idle bob on hover row) */
@media all and (max-width: 1023.5px) {
    footer .social-media-icons.menu { justify-content: center; }
}

/* ============================================================
   COLLEEN PURTILL — FOOTER MENU LINK ANIMATION
   Arrow reveals + text slides; terracotta accent
   (footer nav list; excludes social-icon list)
   ============================================================ */
footer ul.no-bullet:not(.social-media-icons) li a {
    position: relative;
    display: inline-block;
    padding-left: 0;
    color: #D9A593;
    text-decoration: none;
    transition: color 0.32s ease, padding-left 0.4s cubic-bezier(0.22,1,0.36,1);
}
/* terracotta arrow that fades + slides in from the left */
footer ul.no-bullet:not(.social-media-icons) li a::before {
    content: "\f061";              /* arrow-right */
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 0.72em;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) translateX(-8px);
    color: #BF7A64;
    opacity: 0;
    transition: opacity 0.32s ease, transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
footer ul.no-bullet:not(.social-media-icons) li a:hover,
footer ul.no-bullet:not(.social-media-icons) li a:focus-visible {
    color: #BF7A64;
    padding-left: 22px;
}
footer ul.no-bullet:not(.social-media-icons) li a:hover::before,
footer ul.no-bullet:not(.social-media-icons) li a:focus-visible::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}
/* active page — arrow stays revealed + terracotta */
footer ul.no-bullet:not(.social-media-icons) li.active > a {
    color: #BF7A64;
    font-weight: 600;
    padding-left: 22px;
}
footer ul.no-bullet:not(.social-media-icons) li.active > a::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

/* ============================================================
   COLLEEN PURTILL — BACK TO TOP BUTTON (premium)
   Terracotta circle, white arrow, hover lift + glow + bounce
   ============================================================ */
a.back-to-top-button {
    bottom: 26px !important;
    right: 26px !important;
    z-index: 990 !important;
    width: 52px;
    height: 52px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #BF7A64 0%, #C7A26A 100%);
    box-shadow: 0 10px 26px rgba(191, 122, 100, 0.40);
    text-decoration: none;
    transition: transform 0.4s cubic-bezier(0.22,1.2,0.36,1),
                box-shadow 0.35s ease,
                background 0.35s ease;
}
/* neutralise the theme's FA modifiers (border / pull / rotate / size) */
a.back-to-top-button i.fas {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    float: none !important;
    color: #FBF9F4 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    /* point the arrow UP regardless of the inline rotate-270 class */
    transform: rotate(-90deg);
    transition: transform 0.4s cubic-bezier(0.22,1.2,0.36,1);
}
a.back-to-top-button:hover,
a.back-to-top-button:focus-visible {
    transform: translateY(-5px);
    background: linear-gradient(135deg, #A5604B 0%, #BF7A64 100%);
    box-shadow: 0 16px 34px rgba(191, 122, 100, 0.52);
}
a.back-to-top-button:hover i.fas,
a.back-to-top-button:focus-visible i.fas {
    transform: rotate(-90deg) translateX(3px);   /* nudges arrow upward on hover */
}
a.back-to-top-button:active {
    transform: translateY(-1px) scale(0.96);
}
@media all and (max-width: 1023.5px) {
    a.back-to-top-button {
        bottom: 5px !important;
        right: 18px !important;
        width: 46px;
        height: 46px;
    }
    a.back-to-top-button i.fas { font-size: 16px !important; }
}

/* ============================================================
   COLLEEN PURTILL COACHING — COMING SOON SECTION (.csn-)
   Premium branded; locked wrappers untouched
   ============================================================ */
.csn-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(1100px 620px at 78% -8%, rgba(199,162,106,0.18), transparent 60%),
        radial-gradient(900px 560px at 10% 110%, rgba(61,81,68,0.10), transparent 60%),
        linear-gradient(135deg, #FFFFFF 0%, #FBF9F4 50%, #F7F1E6 100%);
}
/* soft drifting glow orbs */
.csn-section::before,
.csn-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(8px);
    opacity: 0.5;
}
.csn-section::before {
    width: 320px; height: 320px;
    top: -90px; right: -60px;
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    animation: csnFloat 16s ease-in-out infinite;
}
.csn-section::after {
    width: 280px; height: 280px;
    bottom: -80px; left: -50px;
    background: radial-gradient(circle, rgba(61,81,68,0.16), transparent 70%);
    animation: csnFloat 20s ease-in-out infinite reverse;
}
@keyframes csnFloat {
    0%, 100% { transform: translate(0, 0); }
    50%      { transform: translate(20px, 26px); }
}

.csn-inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
    padding: 20px 0;
}

/* eyebrow */
.csn-eyebrow {
    display: inline-block;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #BF7A64;
    margin-bottom: 22px;
    opacity: 0;
    animation: csnFadeUp 0.7s ease forwards 0.05s;
}

/* floating seedling badge */
.csn-badge {
    width: 96px;
    height: 96px;
    margin: 0 auto 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #BF7A64 0%, #C7A26A 100%);
    box-shadow: 0 18px 40px rgba(191,122,100,0.40);
    opacity: 0;
    animation: csnPop 0.7s cubic-bezier(0.22,1.2,0.36,1) forwards 0.15s,
               csnBob 5s ease-in-out infinite 1s;
}
.csn-badge i {
    font-size: 38px;
    color: #FBF9F4;
}

/* heading */
.csn-heading {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(34px, 5.4vw, 60px);
    line-height: 1.12;
    color: #2C3B31;
    text-wrap: balance;
    margin: 0 0 18px;
    opacity: 0;
    animation: csnFadeUp 0.7s ease forwards 0.28s;
}
.csn-heading em {
    font-style: italic;
    color: #BF7A64;
}

/* subtitle */
.csn-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 18px;
    line-height: 1.75;
    color: #4A4A45;
    max-width: 560px;
    margin: 0 auto;
    opacity: 0;
    animation: csnFadeUp 0.7s ease forwards 0.4s;
}

/* leaf divider */
.csn-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 30px auto 32px;
    opacity: 0;
    animation: csnFadeUp 0.7s ease forwards 0.5s;
}
.csn-divider span {
    height: 1px;
    width: 56px;
    background: linear-gradient(90deg, transparent, rgba(191,122,100,0.55), transparent);
}
.csn-divider i {
    color: #C7A26A;
    font-size: 16px;
}

/* actions */
.csn-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    opacity: 0;
    animation: csnFadeUp 0.7s ease forwards 0.6s;
}
.csn-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
    padding: 15px 34px;
    border-radius: 30px;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}
.csn-btn i { font-size: 0.9em; transition: transform 0.3s ease; }
.csn-btn-primary {
    background: #BF7A64 !important;
    color: #FBF9F4 !important;
    border: 2px solid #BF7A64 !important;
    box-shadow: 0 6px 18px rgba(44,59,49,0.32);
}
.csn-btn-primary i,
.csn-btn-primary span {
    color: #FBF9F4 !important;
    background: transparent !important;
}
.csn-btn-primary:hover,
.csn-btn-primary:focus,
.csn-btn-primary:focus-visible {
    transform: translateY(-2px);
    background: #A5604B !important;
    border-color: #A5604B !important;
    color: #FBF9F4 !important;
    box-shadow: 0 10px 24px rgba(44,59,49,0.40);
}
.csn-btn-primary:hover i,
.csn-btn-primary:hover span,
.csn-btn-primary:focus i,
.csn-btn-primary:focus span,
.csn-btn-primary:focus-visible i,
.csn-btn-primary:focus-visible span {
    color: #FBF9F4 !important;
}
.csn-btn-primary:hover i { transform: translateX(4px); }
.csn-btn-ghost {
    background: transparent !important;
    color: #2C3B31 !important;
    border: 2px solid rgba(61,81,68,0.22) !important;
}
.csn-btn-ghost:hover,
.csn-btn-ghost:focus,
.csn-btn-ghost:focus-visible {
    transform: translateY(-2px);
    border-color: #BF7A64 !important;
    color: #BF7A64 !important;
}

/* note */
.csn-note {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
    color: #a39d93;
    margin: 28px 0 0;
    opacity: 0;
    animation: csnFadeUp 0.7s ease forwards 0.7s;
}
.csn-note .csn-mail {
    color: #BF7A64 !important;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(191,122,100,0.4);
    transition: color 0.3s ease, border-color 0.3s ease;
}
.csn-note .csn-mail:hover,
.csn-note .csn-mail:focus-visible {
    color: #A5604B !important;
    border-bottom-color: #A5604B;
}

@keyframes csnFadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes csnPop {
    0%   { opacity: 0; transform: scale(0.6); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes csnBob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-10px); }
}

@media all and (max-width: 640px) {
    .csn-badge { width: 80px; height: 80px; }
    .csn-badge i { font-size: 32px; }
    .csn-sub { font-size: 16px; }
    .csn-btn { padding: 13px 28px; }
    .csn-actions { flex-direction: column; align-items: stretch; }
    .csn-actions .csn-btn { justify-content: center; }
}


/* ============================================================
   COLLEEN PURTILL — BLOG ARTICLE (DETAIL) PAGE  ·  EDITORIAL WOW
   Scoped to .article-page-type so listing styles stay intact.
   HTML unchanged. Pure CSS. Reading bar = scroll-timeline (progressive enhancement).
   ============================================================ */

/* ---- page canvas: soft editorial mesh ---- */
.new-blog-page-type.article-page-type {
    position: relative;
    background:
        radial-gradient(40rem 34rem at -8% -6%, rgba(199,162,106,0.07), transparent 60%),
        radial-gradient(38rem 32rem at 108% 4%, rgba(61,81,68,0.06), transparent 62%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F3EC 100%);
}

/* ---- branded reading-progress bar (top, fixed) ---- */
/* Animates with scroll where supported; static branded strip elsewhere. */
.new-blog-page-type.article-page-type::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    height: 4px;
    width: 100%;
    transform-origin: 0 50%;
    transform: scaleX(0);
    background: linear-gradient(90deg, #BF7A64 0%, #C7A26A 55%, #3D5144 100%);
    box-shadow: 0 1px 8px rgba(191,122,100,0.45);
    z-index: 9999;
    animation: cpcReadProgress linear;
    animation-timeline: scroll(root block);
}
@keyframes cpcReadProgress {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}
/* fallback: browsers without scroll-timeline show a subtle full bar */
@supports not (animation-timeline: scroll()) {
    .new-blog-page-type.article-page-type::before {
        transform: scaleX(1);
        opacity: 0.85;
    }
}

/* ---- main content card: lifted paper ---- */
.new-blog-page-type.article-page-type .blog-article-content {
    position: relative;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 26px;
    padding: clamp(26px, 4vw, 56px);
    box-shadow: 0 24px 60px rgba(44,59,49,0.10);
    overflow: hidden;
}
/* top accent ribbon on the card */
.new-blog-page-type.article-page-type .blog-article-content::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A, #3D5144);
}

/* ---- H1 title: editorial hero ---- */
.new-blog-page-type.article-page-type .blog-article-content > .article-title {
    position: relative;
    z-index: 1;
    margin: 8px 0 22px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(30px, 4.4vw, 52px);
    line-height: 1.18;
    letter-spacing: -0.01em;
    color: #2C3B31;
    text-wrap: balance;
}

/* ---- author / meta row ---- */
.new-blog-page-type.article-page-type .blog-author {
    margin-bottom: 8px;
}
.new-blog-page-type.article-page-type .blog-author .lab-ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin: 0;
    padding: 16px 0 22px;
    border-top: 1px solid rgba(61,81,68,0.12);
    border-bottom: 1px solid rgba(61,81,68,0.12);
    font-family: 'Mulish', system-ui, sans-serif;
}
.new-blog-page-type.article-page-type .blog-author .lab-ul > li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
/* author name with leading icon */
.new-blog-page-type.article-page-type .author_name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14.5px;
    color: #3D5144;
}
.new-blog-page-type.article-page-type .author_name::before {
    content: "\f007";                 /* fa user */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 12px;
    color: #BF7A64;
}
/* publish date pill */
.new-blog-page-type.article-page-type .pubdate {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #6f6a60 !important;
}
.new-blog-page-type.article-page-type .pubdate::before {
    content: "\f133";                 /* fa calendar-alt */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    font-size: 12px;
    color: #BF7A64;
}

/* ---- categories: terracotta pills, hide literal comma spans ---- */
.new-blog-page-type.article-page-type .lab-ul > span:not(:has(a)) {
    font-size: 0;
    margin: 0;
}
.new-blog-page-type.article-page-type .lab-ul > span:has(a) {
    display: inline-flex;
}
.new-blog-page-type.article-page-type .lab-ul > span:has(a) a {
    display: inline-block;
    padding: 5px 13px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #8F4F3C;
    background: rgba(191,122,100,0.10);
    border: 1px solid rgba(191,122,100,0.28);
    border-radius: 999px;
    line-height: 1.4;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.new-blog-page-type.article-page-type .lab-ul > span:has(a) a:hover {
    background: #BF7A64;
    color: #FBF9F4;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(191,122,100,0.35);
}

/* ---- ARTICLE BODY: refined long-form reading ---- */
.new-blog-page-type.article-page-type .article-body.rte {
    position: relative;
    z-index: 1;
    margin-top: 34px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17.5px;
    line-height: 1.84;
    color: #4A4A45;
    max-width: 100%;
}
.new-blog-page-type.article-page-type .article-body.rte p {
    margin: 0 0 1.35em;
    font-size: 17.5px;
    line-height: 1.84;
    color: #4A4A45;
}
/* lead paragraph: larger, with drop cap */
.new-blog-page-type.article-page-type .article-body.rte > p:first-of-type {
    font-size: 19.5px;
    line-height: 1.78;
    color: #3a3a35;
}
.new-blog-page-type.article-page-type .article-body.rte > p:first-of-type::first-letter {
    float: left;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 3.4em;
    line-height: 0.86;
    padding: 6px 12px 0 0;
    color: #BF7A64;
}

/* section headings inside body */
.new-blog-page-type.article-page-type .article-body.rte h2 {
    position: relative;
    margin: 1.7em 0 0.6em;
    padding-left: 18px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(23px, 2.6vw, 31px);
    line-height: 1.3;
    color: #2C3B31;
    text-wrap: balance;
}
.new-blog-page-type.article-page-type .article-body.rte h2::before {
    content: "";
    position: absolute;
    left: 0; top: 0.18em; bottom: 0.18em;
    width: 5px;
    border-radius: 4px;
    background: linear-gradient(180deg, #BF7A64, #C7A26A);
}
.new-blog-page-type.article-page-type .article-body.rte h3 {
    margin: 1.5em 0 0.5em;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.34;
    color: #3D5144;
}

/* body lists: branded leaf markers */
.new-blog-page-type.article-page-type .article-body.rte ul {
    list-style: none;
    margin: 0 0 1.5em;
    padding: 0;
}
.new-blog-page-type.article-page-type .article-body.rte ul > li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 0.7em;
    line-height: 1.7;
}
.new-blog-page-type.article-page-type .article-body.rte ul > li::before {
    content: "\f06c";                 /* fa leaf */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 12px;
    color: #BF7A64;
    position: absolute;
    left: 0;
    top: 0.28em;
}
.new-blog-page-type.article-page-type .article-body.rte li strong {
    color: #2C3B31;
    font-weight: 700;
}

/* inline links in body */
.new-blog-page-type.article-page-type .article-body.rte a {
    color: #BF7A64;
    font-weight: 600;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 1.5px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 2px;
    transition: background-size 0.4s ease, color 0.3s ease;
}
.new-blog-page-type.article-page-type .article-body.rte a:hover {
    color: #A5604B;
    background-size: 100% 1.5px;
}

/* closing CTA paragraph (the contact line) — soft highlight panel */
.new-blog-page-type.article-page-type .article-body.rte > p:last-of-type {
    margin-top: 1.6em;
    padding: 22px 26px;
    background:
        radial-gradient(20rem 16rem at 110% -20%, rgba(199,162,106,0.12), transparent 60%),
        rgba(244,237,225,0.6);
    border: 1px solid rgba(191,122,100,0.22);
    border-left: 4px solid #BF7A64;
    border-radius: 16px;
    font-size: 17px;
}

/* ============================================================
   RECENT POSTS WIDGET (article-detail context)
   ============================================================ */
.new-blog-page-type.article-page-type .blog-sidebar {
    margin-top: 56px;
}
.new-blog-page-type.article-page-type .blog-sidebar-widget {
    position: relative;
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 24px;
    padding: clamp(24px, 3vw, 40px);
    box-shadow: 0 18px 46px rgba(44,59,49,0.08);
    overflow: hidden;
}
.new-blog-page-type.article-page-type .blog-sidebar-widget::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #3D5144, #C7A26A, #BF7A64);
}
.new-blog-page-type.article-page-type .blog-sidebar-h2 {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(24px, 2.6vw, 32px);
    color: #2C3B31;
}
.new-blog-page-type.article-page-type .blog-sidebar-h2::before {
    content: "\f02d";                 /* fa book */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 0.7em;
    color: #BF7A64;
}

/* single/few posts: auto-fit so it never looks empty */
.new-blog-page-type.article-page-type .ps-blog-recent-posts {
    display: grid;
    grid-template-columns: repeat(3, minmax(280px, 1fr));
    gap: 22px;
    margin: 0;
    list-style: none;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts > li {
    margin: 0;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .row,
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-article {
    height: 100%;
    margin: 0;
    width: 100%;
}
/* each recent post = bordered editorial card */
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-article {
    display: flex;
    flex-direction: column;
    padding: 24px 24px 26px;
    background: rgba(251,249,244,0.7);
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 18px;
    transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease, border-color 0.4s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-article:hover {
    transform: translateY(-5px);
    border-color: rgba(191,122,100,0.4);
    box-shadow: 0 16px 36px rgba(44,59,49,0.12);
}

/* recent-post category line: small pills, hide commas */
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category .categories_text {
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 800;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #a39d93;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category > span:not(:has(a)) {
    font-size: 0;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category > span:has(a) a {
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 700;
    color: #8F4F3C;
    background: rgba(191,122,100,0.10);
    border: 1px solid rgba(191,122,100,0.26);
    border-radius: 999px;
    transition: background 0.3s ease, color 0.3s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category > span:has(a) a:hover {
    background: #BF7A64;
    color: #FBF9F4;
}

/* recent-post title */
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-title {
    margin: 0 0 12px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.3;
    text-wrap: balance;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-title a {
    color: #2C3B31 !important;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 2px;
    transition: background-size 0.5s ease, color 0.3s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-title a:hover {
    color: #BF7A64 !important;
    background-size: 100% 2px;
}

/* recent-post excerpt */
.new-blog-page-type.article-page-type .ps-blog-recent-posts .item-body,
.new-blog-page-type.article-page-type .ps-blog-recent-posts .item-body p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.66;
    color: #4A4A45;
    margin: 0 0 16px;
}

/* recent-post read more */
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 0.4px;
    color: #BF7A64;
    transition: gap 0.3s ease, color 0.3s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-read-more::after {
    content: "\f061";                 /* fa arrow-right */
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 11px;
    transition: transform 0.3s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-read-more:hover {
    color: #A5604B;
    gap: 12px;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .blog-read-more:hover::after {
    transform: translateX(5px);
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .pb-0.mb-0 { margin: 0; }

/* ---- mobile ---- */
@media all and (max-width: 1023.5px) {
    .new-blog-page-type.article-page-type .blog-article-content {
        padding: 24px 20px;
        border-radius: 20px;
    }
    .new-blog-page-type.article-page-type .article-body.rte,
    .new-blog-page-type.article-page-type .article-body.rte p { font-size: 16.5px; }
    .new-blog-page-type.article-page-type .article-body.rte > p:first-of-type { font-size: 18px; }
    .new-blog-page-type.article-page-type .ps-blog-recent-posts {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   COLLEEN PURTILL — FAQ PAGE  (.cpc-faq-*)
   Locked wrappers untouched. Pure-CSS <details> accordion.
   Matches service-page FAQ pattern + brand tokens.
   ============================================================ */

/* ---- 1 · HERO ---- */
.is-wrapper > div.cpc-faq-hero,
.cpc-faq-hero {
    background:
        radial-gradient(38rem 30rem at -6% -10%, rgba(199,162,106,0.10), transparent 60%),
        radial-gradient(36rem 30rem at 106% 0%, rgba(61,81,68,0.07), transparent 62%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 78px !important;
    padding-bottom: 60px !important;
}
.cpc-faq-hero-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.cpc-faq-hero-inner .svc-eyebrow { color: #A5604B; justify-content: center; }
.cpc-faq-hero-inner .svc-eyebrow span:first-child,
.cpc-faq-hero-inner .svc-eyebrow span:last-child { background: #C7A26A; }
.cpc-faq-h1 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(32px, 4.8vw, 56px);
    line-height: 1.16;
    letter-spacing: -0.01em;
    color: #2C3B31;
    margin: 0 0 20px;
    text-wrap: balance;
}
.cpc-faq-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17.5px;
    line-height: 1.78;
    color: #4A4A45;
    margin: 0 auto;
    max-width: 680px;
}

/* ---- 2 · INTRO ---- */
.is-wrapper > div.cpc-faq-intro,
.cpc-faq-intro {
    background: #FBF9F4 !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}
.cpc-faq-intro-inner {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}
.cpc-faq-intro-h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(26px, 3.4vw, 40px);
    line-height: 1.22;
    color: #2C3B31;
    margin: 0 0 18px;
    text-wrap: balance;
}
.cpc-faq-intro-p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.82;
    color: #4A4A45;
    margin: 0;
}

/* ---- 3 · FAQ ACCORDION ---- */
.is-wrapper > div.cpc-faq-list,
.cpc-faq-list {
    background:
        radial-gradient(circle at 85% 100%, rgba(199,162,106,0.10), transparent 45%),
        linear-gradient(180deg, #F7F1E6 0%, #FBF9F4 100%) !important;
    position: relative;
    padding-top: 64px !important;
    padding-bottom: 72px !important;
}
.cpc-faq-head {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}
.cpc-faq-head .svc-eyebrow { color: #A5604B; justify-content: center; }
.cpc-faq-head .svc-eyebrow span:first-child,
.cpc-faq-head .svc-eyebrow span:last-child { background: #C7A26A; }
.cpc-faq-list-h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.2;
    color: #2C3B31;
    margin: 0 0 16px;
    text-wrap: balance;
}
.cpc-faq-list-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.78;
    color: #4A4A45;
    margin: 0;
}

/* accordion wrapper */
.cpc-faq-accordion {
    max-width: 860px;
    margin: 0 auto;
}
.cpc-faq-item {
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 14px;
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.35);
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.cpc-faq-item:last-child { margin-bottom: 0; }
.cpc-faq-item[open] {
    border-color: rgba(191,122,100,0.40);
    box-shadow: 0 20px 40px -22px rgba(44,59,49,0.45);
}
/* question row */
.cpc-faq-q::-webkit-details-marker { display: none; }
.cpc-faq-q {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 26px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: #2C3B31;
    font-size: 18px;
    line-height: 1.35;
    transition: color 0.3s ease, background 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}
.cpc-faq-q:hover { color: #8F4F3C; }
.cpc-faq-item[open] .cpc-faq-q { color: #8F4F3C; }
.cpc-faq-q:focus-visible {
    outline: 2px solid #BF7A64;
    outline-offset: -2px;
}
.cpc-faq-q-text { flex: 1; }

/* +/- circular toggle icon */
.cpc-faq-icon {
    position: relative;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(191,122,100,0.12);
    transition: background 0.35s ease, transform 0.35s cubic-bezier(0.2,0.7,0.2,1);
}
.cpc-faq-icon::before,
.cpc-faq-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 2px;
    background: #BF7A64;
    transform: translate(-50%, -50%);
    transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), background 0.35s ease;
}
.cpc-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.cpc-faq-q:hover .cpc-faq-icon { background: rgba(191,122,100,0.22); }
.cpc-faq-item[open] .cpc-faq-icon {
    background: radial-gradient(circle at 30% 30%, #BF7A64, #8F4F3C);
    transform: rotate(180deg);
}
.cpc-faq-item[open] .cpc-faq-icon::before,
.cpc-faq-item[open] .cpc-faq-icon::after { background: #FBF9F4; }
.cpc-faq-item[open] .cpc-faq-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/* answer panel */
.cpc-faq-a {
    padding: 0 26px 24px;
    animation: cpcFaqReveal 0.45s cubic-bezier(0.2,0.7,0.2,1);
}
.cpc-faq-a p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15.5px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid rgba(61,81,68,0.10);
}
@keyframes cpcFaqReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---- 4 · STAY CONNECTED (deep pine, glow) ---- */
.is-wrapper > div.cpc-faq-connect,
.cpc-faq-connect {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.cpc-faq-connect-inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.cpc-faq-connect-glow {
    position: absolute;
    width: 460px;
    height: 460px;
    left: 50%;
    top: -200px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(191,122,100,0.22), transparent 70%);
    filter: blur(30px);
    pointer-events: none;
    z-index: 0;
}
.cpc-faq-connect-inner .svc-eyebrow {
    position: relative;
    z-index: 1;
    color: #E8C4B0;
    justify-content: center;
}
.cpc-faq-connect-inner .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.cpc-faq-connect-inner .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.cpc-faq-connect-h2 {
    position: relative;
    z-index: 1;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    color: #F7F3EC;
    font-size: clamp(28px, 3.6vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.5px;
    margin: 0 0 20px;
    text-wrap: balance;
}
.cpc-faq-connect-p {
    position: relative;
    z-index: 1;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(247,243,236,0.82);
    margin: 0 auto;
    max-width: 600px;
}

/* ---- RESPONSIVE ---- */
@media all and (max-width: 1023.5px) {
    .cpc-faq-q { font-size: 17px; padding: 20px 22px; }
    .cpc-faq-a { padding: 0 22px 22px; }
}
@media all and (max-width: 640px) {
    .cpc-faq-hero,
    .cpc-faq-intro,
    .cpc-faq-list,
    .cpc-faq-connect {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .cpc-faq-q { font-size: 16px; gap: 12px; }
    .cpc-faq-icon { width: 28px; height: 28px; }
}


/* ============================================================
   COLLEEN PURTILL — CONTACT PAGE  (.cpc-ct-*)
   Locked wrappers untouched. No inline styles. Form is visual.
   ============================================================ */

/* ---- 1 · HERO ---- */
.is-wrapper > div.cpc-ct-hero,
.cpc-ct-hero {
    background:
        radial-gradient(38rem 30rem at -6% -10%, rgba(199,162,106,0.10), transparent 60%),
        radial-gradient(36rem 30rem at 106% 0%, rgba(61,81,68,0.07), transparent 62%),
        linear-gradient(180deg, #FBF9F4 0%, #F7F1E6 100%) !important;
    position: relative;
    padding-top: 78px !important;
    padding-bottom: 60px !important;
}
.cpc-ct-hero-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.cpc-ct-hero-inner .svc-eyebrow { color: #A5604B; justify-content: center; }
.cpc-ct-hero-inner .svc-eyebrow span:first-child,
.cpc-ct-hero-inner .svc-eyebrow span:last-child { background: #C7A26A; }
.cpc-ct-h1 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(32px, 4.8vw, 56px);
    line-height: 1.16;
    letter-spacing: -0.01em;
    color: #2C3B31;
    margin: 0 0 20px;
    text-wrap: balance;
}
.cpc-ct-hero-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 17.5px;
    line-height: 1.78;
    color: #4A4A45;
    margin: 0 auto;
    max-width: 660px;
}

/* ---- 2 · CONTACT INFO + FORM ---- */
.is-wrapper > div.cpc-ct-main,
.cpc-ct-main {
    background: #FBF9F4 !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.cpc-ct-main .grid-x { align-items: stretch; }

/* LEFT info */
.cpc-ct-info-cell { align-self: center; }
.cpc-ct-info-cell .svc-eyebrow { color: #A5604B; }
.cpc-ct-info-cell .svc-eyebrow span:first-child,
.cpc-ct-info-cell .svc-eyebrow span:last-child { background: #C7A26A; }
.cpc-ct-info-h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.22;
    color: #2C3B31;
    margin: 0 0 16px;
    text-wrap: balance;
}
.cpc-ct-info-p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #4A4A45;
    margin: 0 0 30px;
}

/* contact cards */
.cpc-ct-cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.cpc-ct-card {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 16px;
    box-shadow: 0 10px 24px -20px rgba(44,59,49,0.4);
    transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease, border-color 0.4s ease;
}
.cpc-ct-card:hover {
    transform: translateX(4px);
    border-color: rgba(191,122,100,0.4);
    box-shadow: 0 16px 34px -22px rgba(44,59,49,0.5);
}
.cpc-ct-card-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #BF7A64, #C7A26A);
    box-shadow: 0 6px 16px rgba(191,122,100,0.32);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
}
.cpc-ct-card:hover .cpc-ct-card-icon {
    transform: scale(1.08) rotate(-6deg);
    box-shadow: 0 10px 22px rgba(191,122,100,0.45);
}
.cpc-ct-card-icon::before {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-size: 18px;
    color: #FBF9F4;
}
.cpc-ct-icon-map::before   { content: "\f3c5"; } /* map-marker-alt */
.cpc-ct-icon-phone::before { content: "\f879"; } /* phone-alt */
.cpc-ct-icon-mail::before  { content: "\f0e0"; font-weight: 400; } /* envelope */
.cpc-ct-card-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.cpc-ct-card-label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 800;
    font-size: 10.5px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #a39d93;
}
.cpc-ct-card-value {
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #3D5144;
    word-break: break-word;
    transition: color 0.3s ease;
}
a.cpc-ct-card-value:hover { color: #BF7A64; }

/* RIGHT form card */
.cpc-ct-form-cell { align-self: stretch; }
.cpc-ct-form-card {
    height: 100%;
    background:
        radial-gradient(26rem 22rem at 110% -10%, rgba(199,162,106,0.10), transparent 60%),
        #fff;
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 24px;
    padding: clamp(26px, 3vw, 42px);
    box-shadow: 0 24px 60px -30px rgba(44,59,49,0.45);
    position: relative;
    overflow: hidden;
}
.cpc-ct-form-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, #BF7A64, #C7A26A, #3D5144);
}
.cpc-ct-form-h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: clamp(24px, 2.8vw, 32px);
    line-height: 1.2;
    color: #2C3B31;
    margin: 6px 0 8px;
}
.cpc-ct-form-sub {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #4A4A45;
    margin: 0 0 26px;
}
.cpc-ct-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.cpc-ct-field { display: flex; flex-direction: column; gap: 7px; }
.cpc-ct-field-full { grid-column: 1 / -1; }
.cpc-ct-label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 12.5px;
    letter-spacing: 0.3px;
    color: #3D5144;
}
.cpc-ct-input {
    width: 100%;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    color: #2C3B31;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.16);
    border-radius: 12px;
    padding: 13px 16px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
    -webkit-appearance: none;
    appearance: none;
}
.cpc-ct-input::placeholder { color: #a39d93; }
.cpc-ct-input:focus {
    outline: none;
    background: #fff;
    border-color: #BF7A64;
    box-shadow: 0 0 0 3px rgba(232,196,176,0.55);
}
.cpc-ct-textarea { resize: vertical; min-height: 120px; line-height: 1.6; }

/* submit (canonical terracotta button, forced cream text) */
.cpc-ct-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    padding: 15px 36px;
    background: #BF7A64 !important;
    color: #FBF9F4 !important;
    border: 2px solid #BF7A64 !important;
    border-radius: 30px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    box-shadow: 0 6px 18px rgba(44,59,49,0.32);
    cursor: pointer;
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.cpc-ct-submit i,
.cpc-ct-submit span {
    color: #FBF9F4 !important;
    background: transparent !important;
    transition: transform 0.3s ease;
}
.cpc-ct-submit:hover,
.cpc-ct-submit:focus,
.cpc-ct-submit:focus-visible {
    transform: translateY(-2px);
    background: #A5604B !important;
    border-color: #A5604B !important;
    color: #FBF9F4 !important;
    box-shadow: 0 10px 24px rgba(44,59,49,0.4);
}
.cpc-ct-submit:hover i,
.cpc-ct-submit:hover span,
.cpc-ct-submit:focus i,
.cpc-ct-submit:focus span,
.cpc-ct-submit:focus-visible i,
.cpc-ct-submit:focus-visible span {
    color: #FBF9F4 !important;
}
.cpc-ct-submit:hover i { transform: translateX(4px); }

/* ---- 3 · MAP (dark deep-pine) ---- */
.is-wrapper > div.cpc-ct-map,
.cpc-ct-map {
    background:
        radial-gradient(ellipse 70% 80% at 50% 0%, rgba(199,162,106,0.14), transparent 60%),
        linear-gradient(160deg, #33433A 0%, #2C3B31 55%, #243029 100%) !important;
    padding-top: 64px !important;
    padding-bottom: 72px !important;
}
.cpc-ct-map-head {
    max-width: 720px;
    margin: 0 auto 30px;
    text-align: center;
}
.cpc-ct-map-head .svc-eyebrow { color: #E8C4B0; justify-content: center; }
.cpc-ct-map-head .svc-eyebrow span:first-child { background: linear-gradient(90deg, transparent, #D9B57E); }
.cpc-ct-map-head .svc-eyebrow span:last-child { background: linear-gradient(90deg, #D9B57E, transparent); }
.cpc-ct-map-h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    font-size: clamp(26px, 3.4vw, 40px);
    line-height: 1.2;
    color: #F7F3EC;
    margin: 0 0 14px;
    text-wrap: balance;
}
.cpc-ct-map-p {
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.78;
    color: rgba(247,243,236,0.82);
    margin: 0;
}
.cpc-ct-map-frame {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(217,181,126,0.25);
    box-shadow: 0 30px 70px -30px rgba(0,0,0,0.55);
    line-height: 0;
}
.cpc-ct-map-frame iframe {
    display: block;
    width: 100%;
    border: 0;
    filter: grayscale(0.18) contrast(1.02);
    transition: filter 0.5s ease;
}
.cpc-ct-map-frame:hover iframe { filter: grayscale(0) contrast(1.05); }

/* ---- RESPONSIVE ---- */
@media all and (max-width: 1023.5px) {
    .cpc-ct-form-grid { grid-template-columns: 1fr; }
    .cpc-ct-info-cell { margin-bottom: 30px; }
    .cpc-ct-info-h2 { text-align: left; }
}
@media all and (max-width: 640px) {
    .cpc-ct-hero,
    .cpc-ct-main,
    .cpc-ct-map {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .cpc-ct-card { padding: 16px; gap: 14px; }
    .cpc-ct-card-icon { width: 44px; height: 44px; }
    .cpc-ct-submit { width: 100%; }
    .cpc-ct-map-frame iframe { height: 340px; }
}


/* ============================================================
   CONTACT PAGE — WEBWARE FORM WIDGET (.ww-form-container-3 inside [data-module="form-module"])
   Scoped so it only restyles the contact form. No inline styles.
   ============================================================ */

/* widget wrappers: strip Webware default spacing inside our card */
[data-module="form-module"] .ww-form-container-3,
[data-module="form-module"] .ww-form-container-3 .grid-container,
[data-module="form-module"] .ww-form-container-3 .grid-x {
    margin: 0;
    padding: 0;
    max-width: 100%;
    width: 100%;
}
[data-module="form-module"] .ww-form-container-3 .cell { padding: 0; }
/* kill the default top spacer the widget injects */
[data-module="form-module"] .ww-form-container-3 .spacer.height-40 { display: none; }
[data-module="form-module"] .form-template-3 form,
[data-module="form-module"] .ww-form-container-3 form {
    border: 0;
    padding: 0;
    margin: 0;
    box-shadow: none;
    background: transparent;
}

/* heading + sub already styled by .cpc-ct-form-h2 / .cpc-ct-form-sub */
[data-module="form-module"] .ww-form-container-3 .cpc-ct-form-sub { margin-bottom: 24px; }

/* fieldset → responsive 2-col grid */
[data-module="form-module"] .ww-form-container-3 fieldset.fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 18px;
}
/* each field wrap */
[data-module="form-module"] .first_name_wrap,
[data-module="form-module"] .last_name_wrap,
[data-module="form-module"] .email_wrap,
[data-module="form-module"] .phone_wrap,
[data-module="form-module"] .field_33471_wrap {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
    min-width: 0;
}
/* email, phone, message span full width; first/last stay half */
[data-module="form-module"] .email_wrap,
[data-module="form-module"] .phone_wrap,
[data-module="form-module"] .field_33471_wrap { grid-column: 1 / -1; }

/* labels */
[data-module="form-module"] .ww-form-container-3 label {
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 12.5px;
    letter-spacing: 0.3px;
    color: #3D5144;
    margin: 0;
    display: block;
}
[data-module="form-module"] .ww-form-container-3 label .required {
    color: #BF7A64;
    margin-left: 3px;
    font-weight: 700;
}

/* inputs / textarea / select / intl-tel field */
[data-module="form-module"] .ww-form-container-3 input[type="text"],
[data-module="form-module"] .ww-form-container-3 input[type="email"],
[data-module="form-module"] .ww-form-container-3 input[type="tel"],
[data-module="form-module"] .ww-form-container-3 select,
[data-module="form-module"] .ww-form-container-3 textarea,
[data-module="form-module"] #mob_phone_phone_number_tel {
    width: 100%;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 15px;
    color: #2C3B31;
    background: #FBF9F4;
    border: 1px solid rgba(61,81,68,0.16);
    border-radius: 12px;
    min-height: 48px;
    padding: 13px 16px;
    margin: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
[data-module="form-module"] .ww-form-container-3 input::placeholder,
[data-module="form-module"] .ww-form-container-3 textarea::placeholder { color: #a39d93; }
[data-module="form-module"] .ww-form-container-3 input:focus,
[data-module="form-module"] .ww-form-container-3 select:focus,
[data-module="form-module"] .ww-form-container-3 textarea:focus,
[data-module="form-module"] #mob_phone_phone_number_tel:focus {
    outline: none;
    background: #fff;
    border-color: #BF7A64;
    box-shadow: 0 0 0 3px rgba(232,196,176,0.55);
}
[data-module="form-module"] .ww-form-container-3 textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.6;
}

/* intl-tel-input: make container full width + room for flag dropdown */
[data-module="form-module"] .iti { display: block; width: 100%; }
[data-module="form-module"] .iti--allow-dropdown input,
[data-module="form-module"] .iti--allow-dropdown #mob_phone_phone_number_tel { padding-left: 52px; }
[data-module="form-module"] .iti__flag-container { border-radius: 12px 0 0 12px; }
[data-module="form-module"] .iti__selected-flag {
    border-radius: 12px 0 0 12px;
    padding: 0 8px 0 12px;
    background: rgba(61,81,68,0.04);
}
[data-module="form-module"] .iti__selected-flag:hover,
[data-module="form-module"] .iti__selected-flag:focus { background: rgba(191,122,100,0.10); }
[data-module="form-module"] .iti__country-list {
    border: 1px solid rgba(61,81,68,0.14);
    border-radius: 10px;
    box-shadow: 0 18px 40px -18px rgba(44,59,49,0.4);
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 14px;
}
[data-module="form-module"] .iti__country.iti__highlight,
[data-module="form-module"] .iti__country:hover { background: rgba(191,122,100,0.10); }
[data-module="form-module"] .iti__dial-code { color: #a39d93; }

/* phone "valid" badge */
[data-module="form-module"] #mob_phone_phone_number_valid {
    display: inline-block;
    margin-top: 6px;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    color: #3D5144 !important;
}
[data-module="form-module"] #mob_phone_phone_number_valid.hide { display: none; }

/* error messages */
[data-module="form-module"] .ww-form-container-3 .error {
    display: block;
    margin: 4px 0 0;
    font-family: 'Mulish', system-ui, sans-serif;
    font-size: 12.5px;
    color: #C0392B;
    vertical-align: baseline;
}

/* lower form-container (captcha + submit) */
[data-module="form-module"] .ww-form-container-3 .form-container {
    width: 100%;
    max-width: 100%;
    margin: 18px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
[data-module="form-module"] .captcha_wrap { margin: 0; }
[data-module="form-module"] .recaptcha-block { margin: 0; }

/* submit button = canonical terracotta pill, children forced cream */
[data-module="form-module"] .submit_wrap {
    margin: 0;
    padding: 0;
}
[data-module="form-module"] .ww-form-container-3 input[type="submit"],
[data-module="form-module"] .ww-form-container-3 .button.input,
[data-module="form-module"] #Submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 200px;
    margin: 0;
    padding: 15px 40px;
    background: #BF7A64 !important;
    color: #FBF9F4 !important;
    border: 2px solid #BF7A64 !important;
    border-radius: 30px !important;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    text-transform: none;
    line-height: 1.4;
    box-shadow: 0 6px 18px rgba(44,59,49,0.32);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:hover,
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:focus,
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:focus-visible,
[data-module="form-module"] #Submit:hover,
[data-module="form-module"] #Submit:focus,
[data-module="form-module"] #Submit:focus-visible {
    transform: translateY(-2px);
    background: #A5604B !important;
    border-color: #A5604B !important;
    color: #FBF9F4 !important;
    box-shadow: 0 10px 24px rgba(44,59,49,0.4);
    outline: none;
}

/* responsive: stack name fields on small */
@media all and (max-width: 640px) {
    [data-module="form-module"] .ww-form-container-3 fieldset.fieldset { grid-template-columns: 1fr; }
    [data-module="form-module"] .first_name_wrap,
    [data-module="form-module"] .last_name_wrap { grid-column: 1 / -1; }
    [data-module="form-module"] .ww-form-container-3 input[type="submit"],
    [data-module="form-module"] #Submit { width: 100%; }
}


/* ============================================================
   CONTACT FORM — "WOW" PREMIUM LAYER (overrides above; same scope)
   Decorative depth, focus glow, label shift, gradient submit + sheen.
   ============================================================ */

/* form container gets soft positioning context + faint top-right glow */
[data-module="form-module"] .ww-form-container-3 {
    position: relative;
    isolation: isolate;
}
[data-module="form-module"] .ww-form-container-3::before {
    content: "";
    position: absolute;
    top: -40px;
    right: -30px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle at 60% 40%, rgba(199,162,106,0.20), transparent 68%);
    filter: blur(6px);
    z-index: -1;
    pointer-events: none;
}

/* fields: glassy fill + soft inset, smoother motion */
[data-module="form-module"] .ww-form-container-3 input[type="text"],
[data-module="form-module"] .ww-form-container-3 input[type="email"],
[data-module="form-module"] .ww-form-container-3 input[type="tel"],
[data-module="form-module"] .ww-form-container-3 select,
[data-module="form-module"] .ww-form-container-3 textarea,
[data-module="form-module"] #mob_phone_phone_number_tel {
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF7F0 100%);
    border: 1.5px solid rgba(61,81,68,0.14);
    border-radius: 14px;
    box-shadow: inset 0 1px 2px rgba(44,59,49,0.04);
    transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease, transform 0.35s ease;
}
/* focus: lift + dual ring (terracotta line + champagne halo) */
[data-module="form-module"] .ww-form-container-3 input:focus,
[data-module="form-module"] .ww-form-container-3 select:focus,
[data-module="form-module"] .ww-form-container-3 textarea:focus,
[data-module="form-module"] #mob_phone_phone_number_tel:focus {
    background: #fff;
    border-color: #BF7A64;
    box-shadow:
        0 0 0 3px rgba(232,196,176,0.50),
        0 8px 22px -10px rgba(191,122,100,0.55);
    transform: translateY(-1px);
}

/* label shifts to terracotta when its field is focused */
[data-module="form-module"] .first_name_wrap:focus-within > label,
[data-module="form-module"] .last_name_wrap:focus-within > label,
[data-module="form-module"] .email_wrap:focus-within > label,
[data-module="form-module"] .phone_wrap:focus-within > label,
[data-module="form-module"] .field_33471_wrap:focus-within > label {
    color: #BF7A64;
    transition: color 0.3s ease;
}
[data-module="form-module"] .ww-form-container-3 label {
    transition: color 0.3s ease;
    text-transform: uppercase;
    font-size: 11.5px;
    letter-spacing: 0.6px;
}

/* intl-tel flag → pill chip with tint + animated arrow */
[data-module="form-module"] .iti__flag-container { border-radius: 14px 0 0 14px; }
[data-module="form-module"] .iti__selected-flag {
    border-radius: 14px 0 0 14px;
    background: linear-gradient(180deg, rgba(191,122,100,0.10), rgba(191,122,100,0.04));
    transition: background 0.3s ease;
}
[data-module="form-module"] .iti__arrow {
    transition: transform 0.3s ease;
    border-top-color: #BF7A64;
}
[data-module="form-module"] .iti--allow-dropdown:hover .iti__arrow { transform: translateY(1px); }
[data-module="form-module"] .iti__country-list {
    border-radius: 14px;
    max-height: 230px;
    box-shadow: 0 24px 50px -22px rgba(44,59,49,0.55);
}

/* reCAPTCHA: subtle framed + tidy */
[data-module="form-module"] .recaptcha-block {
    display: inline-block;
    padding: 4px;
    border-radius: 12px;
    background: rgba(247,243,236,0.6);
}

/* SUBMIT: gradient pill + sheen sweep + arrow ::after */
[data-module="form-module"] .ww-form-container-3 input[type="submit"],
[data-module="form-module"] .ww-form-container-3 .button.input,
[data-module="form-module"] #Submit {
    position: relative;
    overflow: hidden;
    min-width: 220px;
    padding: 16px 44px;
    background: linear-gradient(135deg, #C9876F 0%, #BF7A64 45%, #A5604B 100%) !important;
    border: 0 !important;
    border-radius: 40px !important;
    font-size: 14.5px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    box-shadow: 0 10px 26px -8px rgba(165,96,75,0.6), inset 0 1px 0 rgba(255,255,255,0.25);
    transition: transform 0.35s cubic-bezier(.2,.8,.2,1), box-shadow 0.35s ease, filter 0.35s ease;
}
/* sheen */
[data-module="form-module"] .ww-form-container-3 input[type="submit"]::before,
[data-module="form-module"] #Submit::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,0.45), transparent);
    transform: skewX(-18deg);
    transition: left 0.6s ease;
    pointer-events: none;
}
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:hover,
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:focus,
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:focus-visible,
[data-module="form-module"] #Submit:hover,
[data-module="form-module"] #Submit:focus,
[data-module="form-module"] #Submit:focus-visible {
    transform: translateY(-3px) scale(1.015);
    background: linear-gradient(135deg, #BF7A64 0%, #A5604B 55%, #8F4F3C 100%) !important;
    border: 0 !important;
    box-shadow: 0 16px 34px -10px rgba(143,79,60,0.7), inset 0 1px 0 rgba(255,255,255,0.3);
    filter: saturate(1.05);
}
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:hover::before,
[data-module="form-module"] #Submit:hover::before { left: 130%; }
[data-module="form-module"] .ww-form-container-3 input[type="submit"]:active,
[data-module="form-module"] #Submit:active { transform: translateY(-1px) scale(0.997); }

/* gentle entrance for the whole form */
@keyframes cpcFormRise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
[data-module="form-module"] .ww-form-container-3 fieldset.fieldset,
[data-module="form-module"] .ww-form-container-3 .form-container {
    animation: cpcFormRise 0.6s ease both;
}
[data-module="form-module"] .ww-form-container-3 .form-container { animation-delay: 0.08s; }

@media (prefers-reduced-motion: reduce) {
    [data-module="form-module"] .ww-form-container-3 fieldset.fieldset,
    [data-module="form-module"] .ww-form-container-3 .form-container { animation: none; }
    [data-module="form-module"] #Submit::before { display: none; }
}


/* ============================================================
   CONTACT FORM — CARD STYLE WRAP (turns .ww-form-container-3 into an elevated card)
   ============================================================ */

/* make the widget itself the card */
[data-module="form-module"] .ww-form-container-3 {
    background: linear-gradient(180deg, #FFFFFF 0%, #FDFBF7 100%);
    border: 1px solid rgba(61,81,68,0.10);
    border-radius: 26px;
    padding: 44px 42px 40px;
    box-shadow:
        0 30px 70px -34px rgba(44,59,49,0.45),
        0 8px 22px -16px rgba(44,59,49,0.30);
    overflow: hidden;
}

/* top accent ribbon across the card */
[data-module="form-module"] .ww-form-container-3 form {
    position: relative;
}
[data-module="form-module"] .ww-form-container-3 form::before {
    content: "";
    position: absolute;
    top: -44px;
    left: -42px;
    right: -42px;
    height: 5px;
    background: linear-gradient(90deg, #C7A26A 0%, #BF7A64 45%, #A5604B 100%);
    border-radius: 26px 26px 0 0;
}

/* keep the decorative glow inside the rounded card */
[data-module="form-module"] .ww-form-container-3::before {
    top: -10px;
    right: -10px;
}

/* heading spacing inside the card */
[data-module="form-module"] .ww-form-container-3 .cpc-ct-form-h2 {
    margin-top: 6px;
}

/* responsive: tighter card padding on small screens */
@media all and (max-width: 640px) {
    [data-module="form-module"] .ww-form-container-3 {
        padding: 32px 22px 28px;
        border-radius: 20px;
    }
    [data-module="form-module"] .ww-form-container-3 form::before {
        top: -32px;
        left: -22px;
        right: -22px;
        border-radius: 20px 20px 0 0;
    }
}


/* ============================================================
   CONTACT INFO COLUMN — GLASSMORPHISM LAYER (overrides base above)
   Frosted glass cards, filled gradient chips, soft light.
   ============================================================ */

/* give the info cell a faint ambient tint behind the glass */
.cpc-ct-info-cell { position: relative; }

/* frosted glass cards */
.cpc-ct-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255,255,255,0.55), rgba(247,241,230,0.30));
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 18px;
    padding: 20px 22px;
    box-shadow:
        0 18px 40px -26px rgba(44,59,49,0.55),
        inset 0 1px 0 rgba(255,255,255,0.6);
}
/* top sheen streak across the glass */
.cpc-ct-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(255,255,255,0.35), transparent);
    pointer-events: none;
}
.cpc-ct-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255,255,255,0.8);
    box-shadow:
        0 26px 52px -26px rgba(44,59,49,0.6),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* filled gradient chip (kept), tuned to glow on frosted bg */
.cpc-ct-card-icon {
    position: relative;
    width: 52px;
    height: 52px;
    background:
        radial-gradient(circle at 32% 28%, rgba(255,255,255,0.4), transparent 55%),
        linear-gradient(135deg, #C9876F 0%, #BF7A64 50%, #A5604B 100%);
    box-shadow:
        0 10px 22px -6px rgba(165,96,75,0.55),
        inset 0 1px 0 rgba(255,255,255,0.35);
}
.cpc-ct-card:hover .cpc-ct-card-icon {
    transform: scale(1.08) rotate(-6deg);
    box-shadow: 0 14px 28px -6px rgba(165,96,75,0.65), inset 0 1px 0 rgba(255,255,255,0.4);
}
.cpc-ct-card-icon::before { font-size: 19px; }

/* values readable over glass */
.cpc-ct-card-value { color: #2C3B31; }
a.cpc-ct-card-value:hover { color: #A5604B; }
.cpc-ct-card-label { color: #8a8478; }

/* heading kerning */
.cpc-ct-info-h2 { letter-spacing: -0.2px; }

/* Safari/old fallback: if no backdrop-filter, use a solid frosted tint */
@supports not ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))) {
    .cpc-ct-card {
        background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(247,241,230,0.85));
    }
}


/* ============================================================
   CONTACT FORM — EDITORIAL PANEL UPGRADE (fresh look, overrides above)
   Tinted header band + per-field left-highlight focus + full-width submit.
   ============================================================ */

/* let the header band bleed to the card edges */
[data-module="form-module"] .ww-form-container-3 {
    padding: 0 0 38px;          /* remove top/side padding so band can span full width */
    overflow: hidden;
}
[data-module="form-module"] .ww-form-container-3 form { padding: 0 40px; }

/* HEADER BAND: deep-pine -> forest gradient strip holding the heading + sub */
[data-module="form-module"] .ww-form-container-3 form::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: auto;               /* cancel old 5px ribbon sizing */
}
[data-module="form-module"] .cpc-ct-form-h2 {
    position: relative;
    margin: 0 -40px 0;          /* span the band full width */
    padding: 34px 40px 6px;
    background: linear-gradient(135deg, #2C3B31 0%, #3D5144 100%);
    color: #FBF9F4 !important;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
}
/* champagne eyebrow accent above the heading text */
[data-module="form-module"] .cpc-ct-form-h2::before {
    content: "Let's Connect";
    display: block;
    font-family: 'Mulish', system-ui, sans-serif;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #D9B57E;
    margin-bottom: 8px;
}
[data-module="form-module"] .cpc-ct-form-sub {
    position: relative;
    margin: 0 -40px 30px !important;
    padding: 0 40px 30px;
    background: linear-gradient(135deg, #2C3B31 0%, #3D5144 100%);
    color: rgba(251,249,244,0.82) !important;
    font-family: 'Mulish', system-ui, sans-serif;
}

/* FIELDS: clean, with a left highlight bar that appears on focus */
[data-module="form-module"] .first_name_wrap,
[data-module="form-module"] .last_name_wrap,
[data-module="form-module"] .email_wrap,
[data-module="form-module"] .phone_wrap,
[data-module="form-module"] .field_33471_wrap {
    position: relative;
}
[data-module="form-module"] .ww-form-container-3 input[type="text"],
[data-module="form-module"] .ww-form-container-3 input[type="email"],
[data-module="form-module"] .ww-form-container-3 input[type="tel"],
[data-module="form-module"] .ww-form-container-3 textarea,
[data-module="form-module"] #mob_phone_phone_number_tel {
    background: #FBF7F0 !important;
    border: 1px solid rgba(61,81,68,0.14) !important;
    border-left: 3px solid transparent !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease, background 0.3s ease, border-left-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}
[data-module="form-module"] .ww-form-container-3 input:focus,
[data-module="form-module"] .ww-form-container-3 textarea:focus,
[data-module="form-module"] #mob_phone_phone_number_tel:focus {
    background: #fff !important;
    border-color: rgba(191,122,100,0.55) !important;
    border-left-color: #BF7A64 !important;
    box-shadow: 0 8px 22px -14px rgba(44,59,49,0.5) !important;
    transform: translateY(-1px);
}

/* labels: quiet uppercase, tint to clay when its field is focused */
[data-module="form-module"] .ww-form-container-3 label {
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-size: 11.5px;
    font-weight: 800;
    color: #3D5144;
    transition: color 0.3s ease;
}
[data-module="form-module"] .first_name_wrap:focus-within > label,
[data-module="form-module"] .last_name_wrap:focus-within > label,
[data-module="form-module"] .email_wrap:focus-within > label,
[data-module="form-module"] .phone_wrap:focus-within > label,
[data-module="form-module"] .field_33471_wrap:focus-within > label { color: #BF7A64; }

/* SUBMIT: full-width, gradient, lift on hover (children forced for theme a:hover) */
[data-module="form-module"] .submit_wrap { margin-top: 4px; }
[data-module="form-module"] input#Submit.button {
    width: 100% !important;
    display: block !important;
    background: linear-gradient(135deg, #C9876F 0%, #BF7A64 50%, #A5604B 100%) !important;
    color: #FBF9F4 !important;
    border: 0 !important;
    border-radius: 12px !important;
    padding: 15px 28px !important;
    font-family: 'Mulish', system-ui, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    text-transform: none !important;
    box-shadow: 0 12px 26px -12px rgba(165,96,75,0.65) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease !important;
    cursor: pointer;
}
[data-module="form-module"] input#Submit.button:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.04) !important;
    box-shadow: 0 18px 34px -12px rgba(165,96,75,0.75) !important;
}

/* responsive: keep the band tidy on small screens */
@media all and (max-width: 640px) {
    [data-module="form-module"] .ww-form-container-3 form { padding: 0 22px; }
    [data-module="form-module"] .cpc-ct-form-h2 {
        margin: 0 -22px 0;
        padding: 28px 22px 6px;
    }
    [data-module="form-module"] .cpc-ct-form-sub {
        margin: 0 -22px 26px !important;
        padding: 0 22px 26px;
    }
}


.ww-form-container .button{
    border-radius: 30px !important; 
}

h1.banner-main-heading.font-bold.aos-init.aos-animate {
    color: #F7F3EC;
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(26px, 3.4vw, 42px);
    font-weight: 600;
    line-height: 1.15;
    margin: 0 0 16px;
    letter-spacing: -0.4px;
    text-wrap: balance;
}

@media (min-width: 1023.5px) and (max-width: 1200px) {
.new-header-6 ul.dropdown.menu.level-1 > li > a:not(.button){
    
      padding: 15px 15px;  
}
a.footer-email {
    font-size: 16px;
}
}


@media screen and (max-width: 1023.5px) {
    .inner-banner.blog-banner {
        position: relative;
        max-width: 100%;
        display: flex;
        justify-content: center;
        text-align: center;
        background: #2C3B31;
        color: #F7F3EC;
        max-width: 100%;
        padding: 32px 22px 36px;
        border-radius: 0 0 14px 14px;
    }

}
footer .disc-text

 {
    
      font-size: 15px;
    font-weight: 300;
}
@media screen and  (min-width: 1024px){
.home-banner-sect.bnl-0 .bn-content {
    max-width: 100%;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
    padding: 40px 0;
    background: transparent;
    color: #F7F3EC;
}
.home-banner-sect.bnl-0 .bn-content p {
    
    max-width: 100%;
}
.home-banner-sect.bnl-0 .bn-actions {
    
    justify-content: center;
}
}
@media screen and  (max-width: 1023.5px){
.rev-colm {
    
    flex-direction: column-reverse;
}
.scl-cta.cours-pg p

 {
        font-size: 16px;
    }
}
@media screen and (min-width: 1024px) and (max-width: 1200px){
    .bnl-0 .bn-content h1 {
   
    font-size: clamp(26px, 3vw, 32px);
   
    margin: 0 0 8px;
   
}
.bnl-0 .bn-content p {
    
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 8px;
    max-width: 52ch;
}
}