
:root{ --gotb-stack-r:16/9; --gotb-horiz-r:16/9; }

/* -----------------------------------
   Stacking Cards (Cody-style, image right)
----------------------------------- */

/* Wrapper */
.gotb-cody-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding-top: 0;
}
/* Base card setup */
.gotb-cody-card {
position: sticky;
    top: 50px;
    margin-top: 100px !important;
    min-height: 66vh;
  display: grid;
  place-items: center;
  padding: 3rem 1.25rem;
  box-sizing: border-box;
}
/* Pull stacking cards section up closer to previous section */
.gotb-cody-stack {
  position: relative;
  margin-top: -15vh; /* pull up the stack */
  padding-top: 0;
}
/* Adaptive, consistent overlap between cards */
.gotb-cody-card + .gotb-cody-card {
  margin-top: calc(-1 * clamp(15vh, 22vh, 260px));
}
/* Card grid layout */
.gotb-cody-card__grid {
  width: min(1100px, 92vw);
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 5px 20px #d5d8de87;
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  margin: 0 auto;
  justify-content: center;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

@media (min-width: 900px) {
  .gotb-cody-card__grid {
    grid-template-columns: 1fr 1fr;
    max-width: 1000px;
  }
}
/* Card content */
    .gotb-cody-card__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: left;
        padding: clamp(70px, 4vw, 50px);
        height: 100%;
    }
    span.gotb-stack-label {
        font-size: 16px;
        font-size: 14px;
        line-height: 1.3;
        letter-spacing: 0.1em;
        font-family: Montserrat, sans-serif;
        text-transform: uppercase;
        color: var(--global-palette5);
    }
    .gotb-stack-title {
      font-weight: inherit;
      font-size: 35px;
      text-align: left;
      padding-bottom: 10px;
          font-weight: 400;
    }
    p.gotb-stack-desc {
      font-size: 17px;
      text-align: left;
    }
    /* Media styling */
    .gotb-cody-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: var(--gotb-stack-r, 16/9);
    }

/* Button style */
.gotb-stack-btn.wp-block-button__link {
      display: inline-block;
      font-weight: 500;
      text-transform: none;
      border-radius: 30px;
      background-color: var(--global-palette-btn-bg, var(--global-palette1));
      color: var(--global-palette-btn, #fff);
      border: none;
      text-decoration: none;
      line-height: 1.4;
      transition: all 0.3s ease;
      height: auto;
      width:151px;
    }
    .gotb-stack-btn.wp-block-button__link:hover {
      background-color: var(--global-palette-btn-bg-hover, var(--global-palette2));
      color: var(--global-palette-btn-hover, #fff);
      transform: translateY(-2px);
    }
/* Tablet adjustments */
@media (max-width: 1024px) {
  .gotb-cody-card {
    top: 40px;
    margin-top: calc(-1 * clamp(10vh, 15vh, 220px));
    min-height: 90vh;
  }
}

/* Mobile optimization: smaller overlap, keep stacking */
@media (max-width: 768px) {
  .gotb-cody-card {
    top: 0px;
    margin-top: calc(-1 * clamp(8vh, 12vh, 180px));
    min-height: 90vh;
  }    
  .gotb-cody-card__content {
        padding: clamp(34px, 4vw, 50px);
    }

  .gotb-cody-card__media img {
    height: auto;
    min-height: 250px;
    object-fit: cover;
  }
}
/* Enforce consistent card height */
.gotb-cody-card__grid {
  min-height: 650px; /* adjust as needed for your design */
}
/* Ensure it scales well on larger screens */
@media (min-width: 1200px) {
  .gotb-cody-card__grid {
    min-height: 550px;
  }
}

/* Horizontal scroll */
.gotb-horizontal-inner{position:sticky;top:0;height:100vh;display:grid;align-content:center}
.gotb-horizontal-track{display:flex;gap:clamp(16px,3vw,40px);padding:0 5vw;will-change:transform}
.gotb-horizontal-card{flex:0 0 auto;background:#fff;border-radius:20px;box-shadow:0 10px 25px rgba(0,0,0,.1);overflow:hidden;width:min(900px,90vw);height:80vh;display:flex;flex-direction:column}
.gotb-horizontal-image img{width:100%;height:auto;object-fit:cover;aspect-ratio:var(--gotb-horiz-r,16/9)}
.gotb-horizontal-title{font-weight:inherit; font-size:28px;}
.gotb-horizontal-content {padding: 30px 50px 0px;}


/* Logo scroller */
.gotb-logo-scroller{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}
.gotb-logo-track{display:flex;align-items:center;width:max-content;animation:gotb-logo linear infinite}
.gotb-logo-item {
    padding:0 3rem
}
.gotb-logo-item img{max-height:150px;width:auto;/* filter:grayscale(1);*/ transition:filter .3s,transform .3s}
.gotb-logo-item:hover img{filter:grayscale(0);transform:scale(1.03)}
@keyframes gotb-logo{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(prefers-reduced-motion:reduce){
  .gotb-horizontal-track,.gotb-logo-track{animation:none!important;transition:none!important}
}
@media (max-width: 768px) {
 .gotb-logo-item {
    padding:0 1rem;
}
.gotb-logo-item img{max-height:110px;}
}


.gform_title h2 {
  font-size: 34px!important;
  padding-top: 20px!important;
  padding-bottom: 20px!important;
}
.gform_wrapper.gravity-theme .gfield_label {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  padding: 0;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: 0px;
  font-family: var( --global-heading-font-family, inherit );
  font-weight: 400;
  color: var(--global-palette3);
}
.gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"], .gform_wrapper textarea, .gform_wrapper select {
  border-radius: 5px !important;
  background-color: #fff;
  color: inherit;
  padding: 10px !important;
  border: none;
  background: var(--global-palette8);
}

.gform_wrapper input[type="submit"] {
font-style: normal;
  font-weight: 500;
  font-size: 17px;
  text-transform: none;
  border-radius: 30px;
  padding: 7px 30px 7px 30px;   
  border: 0;
  transition-duration: .3s;
  border-radius: 0px;
  padding: 8px 28px;
  cursor: pointer;
  background: var(--global-palette-btn-bg);
  color: var(--global-palette-btn);
  padding: .4em 1em;
  border: 0;
  line-height: 1.6;
  display: inline-block;
  text-decoration: none;
  transition: all .2s ease;
}