/*
Theme Name: OnePress Child
Theme URI: https://www.famethemes.com/themes/onepress/
Author: FameThemes
Author URI: http://www.famethemes.com
Description: OnePress is an outstanding creative and flexible WordPress one page theme well suited for business website, portfolio, digital agency, product showcase, freelancers and everyone else who appreciate good design. The theme overall is an elegant and classic one, a fine example of Bootstrap 4 WordPress theme which compatibility with latest version of WooCommerce. (Live preview : https://demos.famethemes.com/onepress)
Version: 2.2.0
Template:     onepress
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: onepress
*/
.fa6, .fa6b, .fa6l{
  font-family: 'Font Awesome 6 Pro' !important;
}
.fa6b{
  font-weight: bold !important;
}
.fa6l{
  font-weight: 300 !important
}
.fa-twitter:before {
  content: "\e61b"  !important;
  font-family: 'Font Awesome 6 Brands';
}
.breadcrumbs{
  display: none;
}
.no-sidebar .entry-content > .alignfull{
max-width: 100vw;
max-width: calc(var(--vw, 1vw) * 100);
width: 100vw;
width: calc(var(--vw, 1vw) * 100);
transform: translateX(-50%);
left: 50%;
position: relative;
}
.kt-inner-column-height-full.kt-tab-layout-inherit:not(.kt-row-layout-row)>.wp-block-kadence-column>.kt-inside-inner-col, .kt-inner-column-height-full.kt-tab-layout-row>.wp-block-kadence-column>.kt-inside-inner-col{
  height: 100% !important;
}
.no-sidebar .entry-content > .alignfull{
  transform: unset;
  width: 100%;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50%;
  margin-left: -50vw;
}
#page{
  overflow-x: hidden;
}
.onepress-menu a{
  letter-spacing: 0;
  text-transform: none;
}
#primary{
  padding-top: 0; padding-bottom: 0;
}
.entry-content{
  margin-bottom: 0;
}
.no-sidebar .entry-content > .alignfull{
  margin-top: 0;
  margin-bottom: 0;
}

.wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content{
  padding-right: 0;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
  padding-left: 0;
}
#masthead{
  padding: 15px 0
}
.site-branding .no-logo-img.has-desc, .site-branding .has-logo-img, .site-header{
  line-height: unset;
}
#masthead > .container{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#masthead > .container > div{
  flex: 1;
}
#masthead > .container > div.site-branding{
  max-width: 300px;
  float: none;
}
.header-right-wrapper{
  text-align: right;
}
.onepress-menu{
  float: none;
  text-align: right;
  display: inline-block;
}
.onepress-menu ul, .onepress-menu li{
  text-align: left
}
.onepress-menu > li{
  float: none;
  display: inline-block;
}

.wp-block-columns{
  margin-bottom: 0;
}
p:empty{
  display: none;
}
#back-to-top{
  position: fixed;
  bottom: 0;
  right: 10px;
  background: gray;
  padding: 5px 10px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  color: #fff;
  border: 0;
}
.tab-slider .kt-tabs-title-list{
  display: none !important;
}
.tab-slider .kt-tabs-content-wrap .wp-block-kadence-tab{
  padding: 0 !important;
  outline: none !important;
  border: 0 !important
}
.tab-slider .kt-tabs-content-wrap .ab-block-container{
  position: relative;
}
.tab-slider .kt-tabs-content-wrap .ab-block-container:before{
  content: '';
  padding-bottom: 30%;
  display: block;
  position: relative;
}
.tab-slider .kt-tabs-content-wrap .ab-block-container .ab-container-content{
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 100%;
  z-index: 20
}
.thumbnail.square, .thumbnail.rectangular{
  position: relative;
}
.thumbnail.square:before, .thumbnail.rectangular:before{
  content: '';
  padding-bottom: 100%;
  position: relative;
  display: block;
}
.thumbnail.rectangular:before{
  padding-bottom: 56%;
}
.thumbnail.square img, .thumbnail.rectangular img{
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  height: 100%; width: 100%; object-fit: cover;
}
#page .pagination{
  display: block;
  margin: 20px 0;
}
#page .pagination .page-numbers{
  padding: 3px 12px 5px;
  border: 1px solid;
  margin-right: 5px;
  border-radius: 2px;
  text-decoration: none !important
}
#page .pagination .page-numbers.current, #page .pagination .page-numbers:hover{
  background: #ddd;
  text-decoration: none;
}
#page .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), #page .gform_wrapper select, #page .gform_wrapper textarea{
  width: 100%;
  padding: 10px;
  border: 1px solid #707070 !important;
  line-height: unset;
  box-shadow: none;
  background: #fff;
  min-height: unset;
  outline: none;
}
#page .gform_wrapper .gform_footer{
  margin-top: 20px;
}
.kb-blocks-bg-video-container .fluid-width-video-wrapper{
  padding-top: 0 !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.offset-to-left, .offset-to-right{
  width: calc(100% +((100vw - 1140px) / 2));
}
.offset-to-left{
  margin-left: calc(((100vw - 1140px) / 2)* -1);
}
#page .expertise-icon-text .kt-inside-inner-col{
  display: flex; flex-wrap: nowrap; align-items: center; row-gap: 20px
}
#page .expertise-icon-text .kt-inside-inner-col figure{
  max-width: 60px;
}
#page .expertise-icon-text .kt-inside-inner-col h5{
  flex: 1
}
#colophon .site-info{
  padding: 10px 0
}
#page .gform_fields{
  row-gap: 20px;
}
#page #gform_fields_3 input, #page #gform_fields_3 textarea{
  padding: 10px 20px; height: auto;
  background: transparent;
  border: 1px solid #C6C6C6 !important; border-radius: 10px;
}
#page #gform_wrapper_3 .gform_footer input{
    color: #fff !important;
    background: #9C6647 !important;
    border-radius: 50px;
    padding: 15px 40px;
    text-transform: uppercase;
    outline: 0 !important;
}
@media (max-width: 1200px){
  .offset-to-left, .offset-to-right{
    width: 100%;
  }
  .offset-to-left{
    margin-left:0
  }
  #nav_menu-2 ul, #nav_menu-2 ul li{
    padding: 0;
  }
  .container{
    width: 100%;
  }
  #nav-toggle span, #nav-toggle span:before, #nav-toggle span:after{
    background: #A06443;
  }
  #nav-toggle{
    position: relative;
    top: 0;
    display: block
  }
  .onepress-menu{
    top: 0px !important;
    height: 100% !important;
    position: fixed !important;
    bottom: 0;
    right: 0;
    max-width: 400px;
    padding-top: 70px;
    padding-left: 30px;
    padding-right: 30px;
    margin-top: 0 !important;
    background: #ece4d3 !important;
  }
  .onepress-menu.onepress-menu-mobile a{
    color: #fff ;
  }
  .onepress-menu.onepress-menu-mobile li{
    background: #4C525D;
  }
  .onepress-menu.onepress-menu-mobile li a{
    padding-left: 0; padding-right: 0;
    text-transform:normal;
  }
  .onepress-menu ul, .onepress-menu ul li a{
    background: transparent;
  }
  .onepress-menu a{
    font-size: 20px;
  }
  .onepress-menu li.current-menu-item > a, .onepress-menu li a:hover{
    text-decoration: underline; 
    color: #fff;
  }
  .onepress-menu .nav-toggle-subarrow{
    left: unset !important;
    right: 0;
  }
  .onepress-menu .nav-toggle-subarrow{
    border-left: 0 !important;
  }
  .onepress-menu.onepress-menu-mobile li{
    border-top: 1px solid #A06443;
  }

  .onepress-menu.onepress-menu-mobile > li > a, .onepress-menu.onepress-menu-mobile .nav-toggle-subarrow{
    padding: 20px;
  }
  .onepress-menu{
    transition: right .2s;
    right: -100%;
  }
  .onepress-menu.onepress-menu-mobile{
    right: 0;
    box-shadow: 2px -5px 9px #a6a6a6
  }
  .onepress-menu.onepress-menu-mobile ul li a{
    padding: 12px 20px;
  }
  .onepress-menu{
    transform: none;
  }
  #nav-toggle.nav-is-visible {
    position: fixed;
    top: 30px;
    z-index: 10000000;
    right: 30px;
  }
  #nav-toggle.nav-is-visible span:before, #nav-toggle.nav-is-visible span:after{
    background: #fff;
  }
  .onepress-menu li ul:before{
    display: none;
  }
  .onepress-menu > li >ul{
    padding: 0 0px 0 20px !important;
  }
  #nav-toggle span{
    width: 36px;
  }
  #nav-toggle span:before, #nav-toggle span:after{
    width: 30px;
  }
  #nav-toggle.nav-is-visible span:after{
    top: 10px;
  }
  #nav-toggle.nav-is-visible span:before{
    top: -10px;
  }
  #content-inside {
    padding: 0 25px;
  }
  .entry-content > .alignfull.gb-block-container:not(.full-width-content) > div > .gb-container-content,
  .entry-content > .alignfull:not(.full-width-content) > div > .kt-row-column-wrap,
  .entry-content > .alignfull:not(.full-width-content) > .kt-row-column-wrap{
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  #masthead .overlay{
    position: fixed;
    top: 0; left: 0; bottom: 0;
    background: #000;
    opacity: 0;
    right: -100%;
    transition: opacity .5s;
    z-index: 100;
    width: 0;
  }
  #masthead .nav-is-visible + .overlay{
    right: 0;
    width: 100%;
    opacity: 0.6;
  }
}

@media (max-width: 600px){
  .onepress-menu{
     top:150px !important;
    background: #ece4d3 !important
  }
  .wp-block-media-text.is-stacked-on-mobile{
    display: block;
  }
  .wp-block-media-text .wp-block-media-text__media{
    margin-bottom: 20px;
  }
  .wp-block-media-text .wp-block-media-text__content{
    padding-left: 0;
    padding-right: 0;
  }
}


/** HEADER  */
body {
  margin: 0px;
  
}



/* =====================================================
   MOBILE NAV FIXES
   - Fix horizontal overflow when nav is closed
   - Hide everything except nav when nav is open
   ===================================================== */

@media (max-width: 1024px) {

  /* Prevent horizontal scroll when nav is closed */
  html {
    overflow-x: hidden;
  }

  /* When nav is open: hide header content, main content, and footer */
  /* Show ONLY the navigation panel */
  body.nav-open .site-branding,
  body.nav-open .header-nav-buttons,
  body.nav-open #masthead > .container > *:not(#site-navigation):not(#nav-toggle),
  body.nav-open #main,
  body.nav-open #colophon,
  body.nav-open #footer-widgets {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Keep the nav toggle button visible when nav is open */
  body.nav-open #nav-toggle {
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Keep the nav itself visible when open */
  body.nav-open #site-navigation {
    visibility: visible !important;
  }

  /* Keep admin bar visible */
  body.nav-open #wpadminbar {
    visibility: visible !important;
  }
}


/* === Close button: change from angle (<) to centered X === */
@media (max-width: 1024px) {
  body.nav-open #nav-toggle span::before,
  body.nav-open #nav-toggle span::after {
    transform-origin: 50% 50% !important;
  }
}
#nav-toggle.nav-is-visible span::before,
#nav-toggle.nav-is-visible span::after {
  transform-origin: 50% 50% !important;
}

  @import url("https://use.typekit.net/zam5ssz.css");

/* ============================================================
   CUSTOM PROPERTIES
   ============================================================ */

:root {
    --font-primary: "proxima-nova", sans-serif;
    --color-brown: #9c6647;
    --color-brown-dark: #7d4f37;
    --color-brown-darker: #774a2d;
    --color-olive: #6b664c;
    --color-olive-dark: #5a5a3d;
    --color-cream: #EDEAE4;
    --color-footer-bg: #734735;
    --radius-pill: 999px;
    --btn-padding: 14px 30px;
    --btn-font-size: 13px;
    --btn-letter-spacing: 0.08em;
    --transition-base: color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
    --transition-sweep: transform 0.45s cubic-bezier(0.7, 0, 0.3, 1);
}

/* ============================================================
   BASE — Typography & Reset
   ============================================================ */

body {
    margin: 0;
    font-family: var(--font-primary);
    font-size: 1.2rem;
    overflow-x: hidden;
    max-width: 100%;
}

body, p, em, div, a, li, span {
    font-family: var(--font-primary);
    line-height: 1.4em;
    letter-spacing: 1px;
}

h1, h2, h3, h4, h5, h6,
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
    font-family: var(--font-primary);
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.4em;
    margin: 0;
    padding: 0;
}

h1 { font-size: 55px; }
h2 { font-size: 40px; }
h3 { font-size: 25px; }
h5 { font-size: 16px; }

h1 em {
    font-style: italic;
    color: var(--color-brown);
    font-weight: 500;
}

#masthead { max-width: 100%; }
#page { overflow: visible; }

/* ============================================================
   PILL BUTTON — shared base pattern
   (used by nav .join-btn, .kb-button.kt-button, .global-brown)
   ============================================================ */

.btn-pill {
    display: inline-block;
    border-radius: var(--radius-pill);
    padding: var(--btn-padding);
    font-weight: 600;
    letter-spacing: var(--btn-letter-spacing);
    font-size: var(--btn-font-size);
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 0;
    isolation: isolate;
    transition: var(--transition-base);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);
    background: var(--color-brown);
    color: #fff;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.btn-pill::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.18);
    transform: scaleX(0);
    transform-origin: right center;
    transition: var(--transition-sweep);
    z-index: -1;
    border-radius: inherit;
}

.btn-pill:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.btn-pill:hover::before {
    transform: scaleX(1);
    transform-origin: left center;
}

/* ============================================================
   HEADER
   ============================================================ */

/* Neutralise theme's inner masthead so #header-section is the sticky container */
#header-section #masthead.site-header {
    position: static;
    width: auto;
    background: transparent;
    box-shadow: none;
    padding: 0;
    max-width: 100%;
}

#header-section .followWrap {
    position: static;
    height: auto;
}

#header-section {
    position: sticky;
    top: 0;
    width: 100%;
    max-width: 100%;
    z-index: 9999;
    background: var(--color-cream);
    transition: padding 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
    padding: 14px 0;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

#header-section.is-shrunk {
    padding: 40px 0 10px;
    background: rgba(236, 228, 211, 0.97);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    backdrop-filter: saturate(140%) blur(6px);
    -webkit-backdrop-filter: saturate(140%) blur(6px);
}

.site-header,
#header-section .followWrap,
#header-section #masthead {
    width: 100%;
}

#header-section .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* Logo */
.site-logo-div img { max-width: 250px; }
.site-logo-div img.custom-logo { max-height: 64px; }
#header-section.is-shrunk .site-logo-div img.custom-logo { max-height: 50px; }
.logo-footer a { display: block; }

/* Desktop nav */
#site-navigation ul li {
    font-size: 16px;
    padding: 0 10px;
}

#site-navigation ul li a {
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 400;
    text-underline-offset: 6px;
}

#nav-toggle { display: none; }

#masthead .onepress-menu > li > a:hover {
    text-decoration: underline;
    color: var(--color-brown);
}

#masthead .onepress-menu > li.current-menu-ancestor > a,
#masthead .onepress-menu > li.current-menu-item > a {
    text-underline-offset: 0.4em;
    color: #2b3033;
}

/* Current join-btn should not inherit the underline active style */
#masthead .onepress-menu > li.current-menu-item.join-btn > a,
#masthead .onepress-menu > li.current-menu-item.join-btn > a:hover {
    color: #fff;
    text-decoration: none;
}

/* JOIN TODAY nav pill — extends .btn-pill pattern */
#site-navigation ul li.join-btn {
    padding: 0;
    margin-left: 18px;
}

#site-navigation ul li.join-btn > a {
    border-radius: var(--radius-pill);
    padding: var(--btn-padding);
    background: var(--color-brown);
    font-weight: 600;
    letter-spacing: var(--btn-letter-spacing);
    font-size: var(--btn-font-size);
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 0;
    color: #fff;
    isolation: isolate;
    transition: var(--transition-base);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);
}

#site-navigation ul li.join-btn > a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.18);
    transform: scaleX(0);
    transform-origin: right center;
    transition: var(--transition-sweep);
    z-index: -1;
    border-radius: inherit;
}

#masthead #site-navigation ul li.join-btn > a:hover,
#masthead #site-navigation ul li.join-btn > a:focus {
    background: var(--color-olive);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

#masthead #site-navigation ul li.join-btn > a:hover::before {
    transform: scaleX(1);
    transform-origin: left center;
}

/* ============================================================
   HERO BUTTONS (.kb-button.kt-button)
   ============================================================ */

.kb-button.kt-button {
    border-radius: var(--radius-pill);
    padding: var(--btn-padding);
    font-weight: 600;
    letter-spacing: var(--btn-letter-spacing);
    font-size: var(--btn-font-size);
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 0;
    isolation: isolate;
    transition: var(--transition-base);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);
}

.kb-button.kt-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.18);
    transform: scaleX(0);
    transform-origin: right center;
    transition: var(--transition-sweep);
    z-index: -1;
    border-radius: inherit;
}

.kb-button.kt-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.kb-button.kt-button:hover::before {
    transform: scaleX(1);
    transform-origin: left center;
}

/* Hero secondary button — olive/sage */
.kb-button.kt-button.kb-btn12_74d4ff-9c {
    background-color: #7a7e5a;
    color: #fff;
}

.kb-button.kt-button.kb-btn12_74d4ff-9c:hover {
    background-color: #686b4a;
}

/* ============================================================
   FOOTER
   ============================================================ */

#footer-widgets {
    margin: auto;
    background: var(--color-footer-bg);
}

#footer-widgets > div > .row {
    max-width: 1250px;
    margin: auto;
    display: flex;
    padding: 50px 20px;
    width: 100%;
    box-sizing: border-box;
}

#footer-1 { width: 40%; }
#footer-2 { width: 35%; }
#footer-3 { width: 25%; align-content: middle; }
#footer-3 a { text-decoration: none; }
#footer-widgets #footer-3 figure figure { width: 100%; }

#footer-widgets #footer-3 #block-4 > figure {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

#footer-1 img { max-width: 200px; }
#footer-1 p { font-size: 16px; max-width: 300px; }
#footer-2 h2 { font-size: 20px; }
#footer-2 li,
#footer-2 ul {
    list-style-type: none;
    margin: 10px 0;
    padding-left: 0;
}
#footer-2 li a { font-size: 16px; text-decoration: none; }

#block-8 {
    border-top: 1px solid #C0AB9B;
    font-size: 16px;
    max-width: 1100px;
    margin: auto;
}
#block-8 p a { margin-left: 20px; text-decoration: none; }

.footer-ctrl > div { padding: 0; }
.btn-group-ctrl .wp-block-button { margin: 5px 3px; }
.btn-group-ctrl { font-size: 16px; }
.btn-group-ctrl a,
.btn-group-ctrl2 a { cursor: default; }

/* ============================================================
   GRAVITY FORM #1
   ============================================================ */

#gform_wrapper_1 {
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
}

#gform_wrapper_1 form { position: relative; z-index: 999; }

#gform_wrapper_1 .gform_fields {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    align-items: stretch;
    grid-row-gap: 0;
    padding-right: 270px;
}

#gform_wrapper_1 .gform_fields .gfield {
    flex: 1 1 0;
    min-width: 0;
    grid-column: auto;
}

#gform_wrapper_1 .gfield_label { display: none; }

#gform_wrapper_1 .ginput_container input[type="text"],
#gform_wrapper_1 .ginput_container input[type="email"],
#gform_wrapper_1 .ginput_container input[type="tel"] {
    width: 100%;
    height: 50px;
    padding: 0 22px;
    background: #ffffff;
    border: 1px solid #d9d2c4;
    border-radius: 4px;
    font-size: 16px;
    color: #4a4a4a;
    box-shadow: none;
    outline: none;
    line-height: 1.2;
    box-sizing: border-box;
}

#gform_wrapper_1 .ginput_container input::placeholder {
    color: #9a9a9a;
    opacity: 1;
}

#gform_wrapper_1 .ginput_container input:focus {
    border-color: #8B5E3C;
    box-shadow: 0 0 0 2px rgba(139, 94, 60, 0.15);
}

#gform_wrapper_1 .gform-footer.gform_footer,
#gform_wrapper_1 .gform_footer {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
    position: absolute;
    right: 0;
    top: 0;
}

#gform_wrapper_1 .gform_footer input[type="submit"],
#gform_wrapper_1 input.gform_button.button,
#gform_wrapper_1 button.gform_button,
.gform-footer .global-brown {
    height: 50px;
    min-width: 240px;
    padding: 0 40px;
    background-color: #8B5E3C;
    background-image: none;
    color: #ffffff;
    border: none;
    border-radius: 32px;
    font-size: var(--btn-font-size);
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.05s ease;
    box-shadow: none;
    text-shadow: none;
}

#gform_wrapper_1 .gform_footer input[type="submit"]:hover,
#gform_wrapper_1 input.gform_button.button:hover,
#gform_wrapper_1 button.gform_button:hover,
.gform-footer .global-brown:hover {
    background-color: #774a2d;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* ============================================================
   PRICING CARDS
   ============================================================ */

.kb-row-layout-id12_501860-59 .kt-row-column-wrap > .wp-block-kadence-column:hover {
    transform: translateY(-4px) scale(1.03);
    z-index: 2;
}

.kb-row-layout-id12_501860-59 .kt-row-column-wrap > .wp-block-kadence-column:hover > .kt-inside-inner-col {
    box-shadow: 0 18px 36px rgba(58, 40, 24, 0.18);
    border-color: #b69d7c;
}

/* Plan title */
.kadence-column12_b4ff2c-c7 .kt-adv-heading12_b7d571-08,
.kadence-column12_a809cc-38 > .kt-inside-inner-col > p:first-child,
.kadence-column12_29d48a-2a > .kt-inside-inner-col > p:first-child,
.kadence-column12_1c68de-69 > .kt-inside-inner-col > p:nth-child(2) {
    font-family: 'Manrope', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 1.55rem;
    color: var(--color-brown);
    margin: 0 0 4px;
    text-align: center;
}

.kadence-column12_1c68de-69 > .kt-inside-inner-col > p:nth-child(2) {
    color: #d9b896;
}

/* Body description */
.kadence-column12_b4ff2c-c7 > .kt-inside-inner-col > p:nth-of-type(2),
.kadence-column12_a809cc-38 > .kt-inside-inner-col > p:nth-of-type(2),
.kadence-column12_29d48a-2a > .kt-inside-inner-col > p:nth-of-type(2),
.kadence-column12_1c68de-69 > .kt-inside-inner-col > p:nth-of-type(3) {
    line-height: 1.55;
    color: #3d3a36;
    text-align: center;
    margin: 6px 0 0;
}

.kadence-column12_1c68de-69 > .kt-inside-inner-col > p:nth-of-type(3) { color: #f0e8db; }
.kadence-column12_1c68de-69 > .kt-inside-inner-col > p:nth-of-type(4) { color: #f5eedf; }

/* Push button to bottom of card */
.kb-row-layout-id12_501860-59 .wp-block-kadence-advancedbtn {
    margin-top: auto;
    padding-top: 24px;
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Plan select button */
.kb-row-layout-id12_501860-59 .kb-buttons-wrap .kb-button.kt-button {
    background: var(--color-brown);
    color: #fff;
    border-radius: var(--radius-pill);
    padding: 14px 36px;
    font-weight: 600;
    letter-spacing: 0.12em;
    font-size: var(--btn-font-size);
    text-transform: uppercase;
    border: 2px solid var(--color-brown);
    box-shadow: 0 4px 12px rgba(156, 102, 71, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.3s ease;
    min-width: 180px;
    text-align: center;
}

.kb-row-layout-id12_501860-59 .kb-buttons-wrap .kb-button.kt-button:hover {
    background: var(--color-brown-dark);
    border-color: var(--color-brown-dark);
    box-shadow: 0 8px 20px rgba(125, 79, 55, 0.28);
}

/* Highlighted / Annual card */
.kadence-column12_1c68de-69 > .kt-inside-inner-col {
    background: var(--color-olive-dark);
    border-color: var(--color-olive-dark);
    color: #f5eedf;
    padding-top: 44px;
}

.kadence-column12_1c68de-69 .kb-buttons-wrap .kb-button.kt-button {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    box-shadow: none;
}

.kadence-column12_1c68de-69 .kb-buttons-wrap .kb-button.kt-button:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #fff;
}

/* MOST POPULAR badge */
.most-popular {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--color-brown);
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 8px 22px;
    border-radius: var(--radius-pill);
    margin: 0;
    box-shadow: 0 6px 14px rgba(156, 102, 71, 0.25);
    z-index: 3;
    line-height: 1;
    white-space: nowrap;
}

/* Section headings */
.kt-adv-heading12_4b61c9-a1 { text-align: center; margin-top: 30px; }
.kt-adv-heading12_de2f26-3c { text-align: center; }

/* ============================================================
   MISC COMPONENTS
   ============================================================ */

.column-curve h4 { font-size: 1.2rem; margin: 14px 0; }
.coumn-curve p { font-size: 0.9rem; }

.price-ctrl { font-size: 28px; margin: 10px 0; }
.price-ctrl em { font-style: normal; font-size: 14px; color: var(--color-olive); }
.drk-green .price-ctrl em { color: #fff; }

.curved-img img { border-radius: 225px; }
.curved-img2 img {
    border-top-left-radius: 262px;
    border-top-right-radius: 262px;
}

.list-ctrl li { padding: 6px 0; }
.info-box-img .kadence-info-box-image-inner-intrisic-container { width: 40px; }
.info-box-img .kadence-info-box-image-inner-intrisic { top: 10px; }
.membership-tier > div { transform: translateY(-4px) scale(1.03); z-index: 2; }

/* Overflow fix */
#masthead .container,
#header-section .container,
#footer-widgets .container,
.site-info .container,
#content .container {
    box-sizing: border-box;
}

/* AOS fallback — prevent invisible content on page load */
.aos-init,
.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================================
   RESPONSIVE — TABLET LANDSCAPE (max-width: 1199px)
   ============================================================ */

@media (max-width: 1199px) {
    .onepress-menu{
     top:150px !important;
    background: #ece4d3 !important
     }
    #site-navigation .onepress-menu li.join-btn > a { 
    max-width: 250px;
    }
    #masthead .container,
    #header-section .container,
    #footer-widgets .container,
    .site-info .container,
    #content .container {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #footer-widgets .container { padding-left: 20px; padding-right: 20px; }
    #header-section .header-right-wrapper { flex: 0 1 auto; }

    .wp-block-kadence-rowlayout,
    .kb-row-layout-wrap,
    .kb-row-layout-wrap > .kt-row-column-wrap { max-width: 100%; }

    .wp-block-kadence-rowlayout img,
    .kadence-column img,
    .entry-content img { max-width: 100%; height: auto; }

    #footer-widgets > div > .row { margin-left: 0; margin-right: 0; }
    #back-to-top { right: 16px; }
    #content-inside { padding: 0; }
    h2 { font-size: 36px; }

    .kb-row-layout-id12_501860-59 .kt-row-column-wrap.kt-has-4-columns {
        flex-wrap: wrap;
        gap: 20px;
    }

    .kb-row-layout-id12_501860-59 .kt-row-column-wrap.kt-has-4-columns > .wp-block-kadence-column {
        flex: 0 1 calc(50% - 10px);
    }

    .hide-tablet { display: none; }
}

/* ============================================================
   RESPONSIVE — DESKTOP NAV (min-width: 1025px)
   ============================================================ */

@media (min-width: 1025px) {
    #nav-toggle { display: none; }

    #site-navigation.main-navigation,
    #site-navigation.main-navigation .onepress-menu {
        position: static;
        transform: none;
    }

    #site-navigation .onepress-menu {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        justify-content: flex-end;
    }

    #site-navigation .onepress-menu li {
        width: auto;
        border: 0;
        background: transparent;
    }

    #site-navigation .onepress-menu li a {
        color: #2a2a2a;
        padding: 8px 0;
    }
}

/* ============================================================
   RESPONSIVE — TABLET PORTRAIT / HAMBURGER (max-width: 1024px)
   ============================================================ */

@media (max-width: 1024px) {
    /* Hamburger toggle */
    #nav-toggle {
        display: inline-flex;
        position: relative;
        z-index: 10001;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        color: transparent;
        font-size: 0;
        background: transparent;
        border: 0;
        padding: 0;
        margin: 0;
        cursor: pointer;
    }

    #nav-toggle span,
    #nav-toggle span::before,
    #nav-toggle span::after {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        margin-left: -13px;
        width: 26px;
        height: 2px;
        background: #2a2a2a;
        transition: transform 0.3s ease, top 0.3s ease, opacity 0.25s ease;
    }

    #nav-toggle span { top: 50%; margin-top: -1px; }
    #nav-toggle span::before { top: -9px; }
    #nav-toggle span::after { top: 9px; }

    body.nav-open #nav-toggle span { background: transparent; }
    body.nav-open #nav-toggle span::before { top: 0; transform: rotate(45deg); }
    body.nav-open #nav-toggle span::after { top: 0; transform: rotate(-45deg); }

    /* Off-canvas drawer */
    #site-navigation.main-navigation {
        position: fixed;
        top: 0;
        right: 0;
        left: auto;
        bottom: 0;
        width: min(340px, 86vw);
        max-width: 86vw;
        height: 100vh;
        background: #ece4d3;
        box-shadow: -8px 0 30px rgba(0, 0, 0, 0.18);
        padding: 90px 26px 30px;
        transform: translateX(100%);
        transition: transform 0.35s cubic-bezier(0.7, 0, 0.3, 1);
        overflow-y: auto;
        z-index: 10000;
    }

    body.nav-open #site-navigation.main-navigation { transform: translateX(0); }
    body.nav-open { overflow: hidden; }

    /* Inner menu */
    #site-navigation .onepress-menu,
    #site-navigation ul.onepress-menu.onepress-menu-mobile {
        position: static;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: none;
        height: auto;
        padding: 0 30px;
        margin: 0;
        background: transparent;
        gap: 2px;
        top: auto;
        right: auto;
        left: auto;
        bottom: auto;
    }

    #site-navigation .onepress-menu li,
    #site-navigation ul.onepress-menu.onepress-menu-mobile li {
        width: 100%;
        padding: 0;
        background: transparent;
        border-bottom: 1px solid rgba(74, 55, 40, 0.10);
        list-style: none;
    }

    #site-navigation .onepress-menu li a,
    #site-navigation ul.onepress-menu.onepress-menu-mobile li a {
        display: block;
        color: #2a2a2a;
        padding: 14px 4px;
        font-size: 15px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-decoration: none;
    }

    #site-navigation .onepress-menu li a:hover,
    #site-navigation .onepress-menu li.current-menu-item > a { text-decoration: underline; }
    #site-navigation .onepress-menu li:not(.join-btn) > a::after { display: none; }

    /* JOIN TODAY in off-canvas */
    #site-navigation .onepress-menu li.join-btn {
        border-bottom: 0;
        margin: 22px 0 0;
        text-align: center;
    }

    #site-navigation .onepress-menu li.join-btn > a {
        display: inline-block;
        width: 100%;
        text-align: center;
        background: var(--color-brown);
        color: #fff;
        padding: 16px 28px;
        border-radius: var(--radius-pill);
        font-weight: 600;
        letter-spacing: 0.12em;
        box-shadow: 0 6px 14px rgba(156, 102, 71, 0.25);
        transition: background 0.25s ease, transform 0.25s ease;
    }

    #site-navigation .onepress-menu li.join-btn > a:hover {
        background: var(--color-brown-dark);
        transform: translateY(-1px);
    }

    /* Header layout */
    #header-section .container {
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    #header-section .header-right-wrapper {
        display: flex;
        align-items: center;
        margin-left: auto;
        gap: 6px;
        flex: 0 0 auto;
        justify-content: right;
    }

    #header-section .site-branding { flex: 0 1 auto; min-width: 0; }
    #header-section .site-logo-div img.custom-logo { max-height: 52px; }
    #header-section.is-shrunk .site-logo-div img.custom-logo { max-height: 40px; }
    #header-section .header-right-wrapper .kb-button { display: none; }

    /* Overlay backdrop */
    #header-section .overlay,
    body > .overlay {
        position: fixed;
        inset: 0;
        background: rgba(20, 20, 20, 0.45);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
        z-index: 9990;
    }

    body.nav-open .overlay,
    body.nav-open #header-section .overlay {
        opacity: 1;
        pointer-events: auto;
    }
}

/* ============================================================
   RESPONSIVE — FOOTER STACK (max-width: 900px)
   ============================================================ */

@media (max-width: 900px) {
    #footer-widgets > div > .row { display: block; }
    #footer-widgets > div > .row > div { width: 90%; margin: auto; text-align: center; }
    #footer-widgets > div > .row > div p { width: 100%; text-align: center; max-width: 100%; }

    .kb-row-layout-id12_501860-59 > .kt-row-column-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ============================================================
   RESPONSIVE — MOBILE (max-width: 700px)
   ============================================================ */

@media (max-width: 700px) {
    /* Header */
    #header-section { padding: 14px 0; }
    #header-section.is-shrunk { padding: 10px 0; }
    #header-section .container { padding-left: 14px; padding-right: 14px; }
    #header-section .site-logo-div img.custom-logo { max-height: 44px; }
    #header-section.is-shrunk .site-logo-div img.custom-logo { max-height: 36px; }
    #site-navigation.main-navigation { width: 100vw !important; padding: 80px 22px 24px; max-width:100%; }
    #site-navigation .onepress-menu li a { padding: 13px 2px; font-size: 14px; }
    #site-navigation .onepress-menu li.join-btn > a { padding: 14px 24px; font-size: 13px; max-width: 250px;}
    #nav-toggle { width: 40px; height: 40px; }
    #nav-toggle span,
    #nav-toggle span::before,
    #nav-toggle span::after { width: 24px; margin-left: -12px; }

    /* Typography */
    h2 { font-size: 1.7em; line-height: 1.4em; }
    h1.kt-adv-heading12_150376-04 { font-size: clamp(1.8rem, 7vw, 2.4rem); }

    /* Layout */
    .hide-mobile,
    .remove-mobile,
    .btt { display: none; }
    .column-curve { max-width: 400px; margin: auto; }

    /* Pricing cards — single column */
    .kb-row-layout-id12_501860-59 .kt-row-column-wrap.kt-has-4-columns > .wp-block-kadence-column {
        flex: 0 1 100%;
    }
    .kb-row-layout-id12_501860-59 .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
        padding: 32px 22px 26px;
    }
    .kb-row-layout-id12_501860-59 > .kt-row-column-wrap {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    /* Approach section */
    .kb-row-layout-idaa3aef-b4 > .kt-row-column-wrap {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
        text-align: center;
    }

    /* Footer */
    #footer-widgets > div > .row { display: block; padding: 0 20px; }
    #footer-widgets > div > .row > div { width: 100%; }
    #footer-widgets > div > .row > #footer-2,
    #footer-widgets > div > .row > #footer-1 { width: 90%; text-align: center; }
    #footer-1 figure { text-align: center; }
    #footer-1 p { width: 100%; max-width: 100%; }
    #footer-2 { margin-top: 30px; }
    footer #footer-3 { width: 90%; text-align: center; }
    #block-3, #block-8 p { width: 90%; }
    #block-8 p { font-size: 14px; text-align: center; }
    .footer-widgets { padding: 50px 0; }
    .btn-group-ctrl { font-size: 12px; }

    /* Gravity Form — stacked */
    #gform_wrapper_1 .gform_fields {
        flex-direction: column;
        flex-wrap: wrap;
        gap: 12px;
        padding-right: 0;
    }

    #gform_wrapper_1 .gform_fields .gfield { flex: 1 1 100%; width: 100%; }

    #gform_wrapper_1 .ginput_container input[type="text"],
    #gform_wrapper_1 .ginput_container input[type="email"] { width: 100%; }

    #gform_wrapper_1 .gform-footer.gform_footer,
    #gform_wrapper_1 .gform_footer {
        position: static;
        margin-top: 12px;
        width: 100%;
    }

    #gform_wrapper_1 .gform_footer input[type="submit"],
    #gform_wrapper_1 input.gform_button.button,
    #gform_wrapper_1 button.gform_button { width: 100%; min-width: 0; }
}

/* ============================================================
 *    HEADER  Logo & Nav Alignment + Nav Hover White
 *    ============================================================ */

/* Ensure logo and nav are vertically centered */
#header-section .container {
    align-items: center;
    flex-wrap: nowrap;
}

/* Ensure right-wrapper is flex for alignment */
.header-right-wrapper {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
}

.site-branding {
         display: flex;
         align-items: center;
}

#site-navigation {
         display: flex;
         align-items: center;
}

#site-navigation ul {
         display: flex;
         align-items: center;
         margin: 0;
         padding: 0;
}

#site-navigation ul li {
         display: flex;
         align-items: center;
}

/* Nav link hover  white font color */
#masthead .onepress-menu > li > a:hover,
#masthead .onepress-menu > li > a:focus {
         color: #fff;
}

#masthead .onepress-menu > li.current-menu-ancestor > a,
#masthead .onepress-menu > li.current-menu-item > a {
         color: #fff;
}

/* ============================================================
 *    RESPONSIVE  max-width: 1199px
 *    ============================================================ */

@media (max-width: 1199px) {
     #header-section .container {
                  align-items: center;
         flex-wrap: nowrap;
     }
     
     .site-branding {
                  align-items: center;
     }
     
     #site-navigation {
                  align-items: center;
     }
    #site-navigation .onepress-menu, #site-navigation ul.onepress-menu.onepress-menu-mobile {
        position: unset;
    }
}

/* ============================================================
 *    RESPONSIVE  max-width: 900px
 *    ============================================================ */

@media (max-width: 900px) {
     #header-section .container {
                  align-items: center;
         flex-wrap: nowrap;
     }
     
     .site-branding {
                  align-items: center;
     }
}



/* ============================================================
   MOBILE NAV — Fix pointer-events & visibility for mobile menu
   (max-width: 1024px) — added to existing breakpoint
   ============================================================ */

@media (max-width: 1024px) {

    /* The theme hides .header-right-wrapper (parent of #site-navigation)
       when nav is open. We restore visibility directly on #site-navigation
       and ensure all nav items are clickable. The theme already sets
       body.nav-open #site-navigation { visibility: visible !important }
       so we just need pointer-events fixed. */

    body.nav-open #masthead #site-navigation,
    body.nav-open #masthead #site-navigation ul,
    body.nav-open #masthead #site-navigation li,
    body.nav-open #masthead #site-navigation a {
        pointer-events: auto !important;
        visibility: visible !important;
    }

    /* Restore nav-toggle clickability */
    body.nav-open #masthead #nav-toggle {
        pointer-events: auto !important;
        visibility: visible !important;
    }
}

/* ============================================================
   MOBILE — AOS Animation Fix & Overflow Fix
   (max-width: 900px) — added to existing breakpoint
   ============================================================ */

@media (max-width: 900px) {

    /* AOS (Animate on Scroll) elements are not triggering on mobile
       because overflow:hidden on html/body blocks scroll detection.
       Force all AOS elements to be fully visible on mobile. */
    [data-aos],
    [data-aos].aos-init {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    [data-aos].aos-animate {
        opacity: 1 !important;
        transform: none !important;
    }
}
.contact-btn {
     padding-left: 0px; margin-left: 0px !important;
}
.contact-section a {
     color: #9c6647;
	 font-weight: 600;
}
.contact-section a:hover {
	color: #6b664c;
	text-decoration: underline;
}

/* =============================================
   FIX: Mobile/Tablet hamburger menu - content
   turning white (visibility:hidden) when nav opens
   ============================================= */
@media (max-width: 1024px) {
    body.nav-open #main,
    body.nav-open #colophon,
    body.nav-open #footer-widgets,
    body.nav-open .site-branding,
    body.nav-open .header-nav-buttons,
    body.nav-open #masthead > .container > *:not(#site-navigation):not(#nav-toggle) {
        visibility: visible !important;
    }
}



/* ============================================================
   MOBILE NAV FIX: Hamburger visibility, X close button, nav display
   ============================================================ */

@media (max-width: 1024px) {

  /* 1. Make hamburger bars visible (dark on cream background) */
  #nav-toggle span,
  #nav-toggle span::before,
  #nav-toggle span::after {
    background: #2a2a2a !important;
    background-color: #2a2a2a !important;
  }

  /* 2. When nav is open: show the X (bars animate to X, keep them dark
        since the drawer background is #ece4d3 which is light) */
  body.nav-open #nav-toggle span {
    background: transparent !important;
    background-color: transparent !important;
  }
  body.nav-open #nav-toggle span::before,
  body.nav-open #nav-toggle span::after {
    background: #2a2a2a !important;
    background-color: #2a2a2a !important;
  }

  /* 3. Ensure #nav-toggle is visible and on top */
  #nav-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10002 !important;
  }

  /* 4. Make nav drawer visible even when jQuery sets display:none.
        Use !important to override inline style from theme JS.
        The drawer uses translateX for show/hide, so force display:flex
        always and let transform handle visibility. */
  #site-navigation.main-navigation {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
  }

  /* 5. When nav is closed: slide it off-screen (hidden but rendered) */
  #site-navigation.main-navigation {
    transform: translateX(100%) !important;
    pointer-events: none !important;
  }

  /* 6. When nav is open (body.nav-open): slide it in */
  body.nav-open #site-navigation.main-navigation {
    transform: translateX(0) !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  /* 7. Keep nav-toggle fixed on top when nav is open */
  body.nav-open #nav-toggle {
    position: fixed;
    top: 70px;
    right: 18px;
    z-index: 10002;
    visibility: visible;
    pointer-events: auto;
  }

  /* 8. Overlay fix: ensure it covers screen when nav is open */
  body.nav-open .overlay {
    opacity: 1;
    pointer-events: auto;
    width: 100%;
    right: 0;
  }
}

@media (max-width: 700px) {
  /* Also fix the nav-toggle position when open on small screens */
  body.nav-open #nav-toggle {
    top: 80px;
    right: 14px;
  }
}


/* ============================================================
   MOBILE NAV FIX PART 2: X close button via .nav-is-visible
   The original OnePress JS uses #nav-toggle.nav-is-visible class
   when nav is open. Override the white bars with dark visible color.
   ============================================================ */

@media (max-width: 1200px) {
  /* Override the white X bars that are invisible on cream background */
  #nav-toggle.nav-is-visible span::before,
  #nav-toggle.nav-is-visible span::after {
    background: #2a2a2a;
    background-color: #2a2a2a;
  }

  /* Also ensure X button is visible and fixed on top of the drawer */
  #nav-toggle.nav-is-visible {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10002;
    visibility: visible;
    display: inline-flex;
  }

  /* When hamburger is closed state - make bars dark brown for brand consistency */
  #nav-toggle:not(.nav-is-visible) span,
  #nav-toggle:not(.nav-is-visible) span::before,
  #nav-toggle:not(.nav-is-visible) span::after {
    background: #9c6647 !important;
    background-color: #9c6647 !important;
  }
}
