/* ==========================================================================
   section-fixes.css â Load LAST. Fixes book-section, CTA, author slider.
   Matches bookpub.co layout precisely. Overrides prior conflicts.
   ========================================================================== */

   @font-face {
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDr3icqEw.ttf') format('truetype');
  }
  @font-face {
    font-family: 'Merriweather';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/u-4D0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiScCmDxhtNOKl8yDrOSAqEw.ttf') format('truetype');
  }
  
  /* --------------------------------------------------------------------------
     1) BOOK / GENRE SECTION â exact reference structure
     -------------------------------------------------------------------------- */
  
  .book-section {
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
  }
  
  .book-section .container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .book-section-row,
  .book-section .row.book-section-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    margin: 0 !important;
    min-height: 0 !important;
  }
  
  .book-section .col-lg-4.book-left,
  .book-section .col-lg-6.book-middle,
  .book-section .col-lg-2.book-right {
    float: none !important;
    position: relative;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* Left photo panel ~33% */
  .book-section .book-left {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    width: 33.333333% !important;
    background: #016b72 url('../images/b-1.png') center bottom / cover no-repeat !important;
    color: #fff !important;
    border: none !important;
    min-height: 780px;
    display: block !important;
    padding: 50px !important;
  }
  
  .book-section .book-left > div {
    position: relative;
    border: 4px solid #fff !important;
    border-left: none !important;
    padding: 20px !important;
    padding-left: 0 !important;
    padding-bottom: 100px !important;
    height: 100% !important;
    min-height: calc(780px - 100px);
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    box-sizing: border-box;
  }
  
  .book-section .book-left > div::before {
    content: "" !important;
    position: absolute;
    width: 4px;
    height: calc(100% - 295px);
    background: #fff;
    left: 0;
    top: 0;
  }
  
  .book-section .book-left > div::after {
    content: "" !important;
    position: absolute;
    width: 4px;
    height: 90px;
    background: #fff;
    left: 0;
    bottom: 0;
  }
  
  .book-section .book-left h4 {
    font-size: 20px !important;
    color: #fff !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
    opacity: 1 !important;
    letter-spacing: 0.02em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
  }
  
  .book-section .book-left h3 {
    font-size: 40px !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    font-family: 'Inter', sans-serif !important;
    font-style: normal !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
  }
  
  /* Middle genre cards ~50% â 2 columns x 3 rows */
  .book-section .book-middle {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    background: transparent !important;
    padding: 0 !important;
    display: block !important;
  }
  
  .book-section .book-wrapper {
    display: block !important;
    height: 100%;
    min-height: 0 !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
  }
  
  .book-section .book-wrapper > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    height: 100%;
  }
  
  .book-section .book-wrapper .col-md-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
  }
  
  .book-section .book-item {
    padding: 0 0 35px 35px !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    color: #fff !important;
    background: #016b72 !important;
    height: auto !important;
    min-height: 260px;
    flex: 1 1 auto !important;
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  .book-section .book-item.book-1,
  .book-section .book-item.book-4,
  .book-section .book-item.book-5 {
    background: #016b72 !important;
  }
  
  .book-section .book-item.book-2,
  .book-section .book-item.book-3,
  .book-section .book-item.book-6 {
    background: #174a4c !important;
  }
  
  .book-section .book-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px;
    padding-top: 10px;
  }
  
  .book-section .book-head h4 {
    font-family: 'Aguafina Script', cursive !important;
    font-size: 44px !important;
    font-weight: 400 !important;
    position: relative;
    opacity: 0.4 !important;
    color: #fff !important;
    margin: 0 !important;
    text-transform: none !important;
    line-height: 1.1 !important;
    flex: 1;
  }
  
  .book-section .book-head h4::before {
    content: "" !important;
    position: absolute;
    width: 50px;
    height: 4px;
    background: currentColor;
    bottom: 0;
    left: 0;
    opacity: 0.5;
    display: none; /* reference underline color was #016b72 on dark â skip */
  }
  
  .book-section .book-head img {
    height: 180px !important;
    width: auto !important;
    max-width: 45% !important;
    object-fit: contain !important;
    flex-shrink: 0;
    margin-top: 0 !important;
    margin-right: 10px;
  }
  
  .book-section .book-body {
    padding-right: 35px !important;
    margin-top: 0 !important;
  }
  
  .book-section .book-body h5 {
    font-size: 26px !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin: 0 0 10px !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: none !important;
  }
  
  .book-section .book-body p {
    font-size: 15px !important;
    color: #fff !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
  }
  
  .book-section .book-body p a {
    color: #fff !important;
    text-decoration: underline;
  }
  
  /* Right photo panel ~16.6% */
  .book-section .book-right {
    flex: 0 0 16.666667% !important;
    max-width: 16.666667% !important;
    width: 16.666667% !important;
    background: #174a4c url('../images/b-2.png') center / cover no-repeat !important;
    border: none !important;
    min-height: 780px;
    padding: 0 !important;
  }
  
  /* --------------------------------------------------------------------------
     2) CTA / GET-READY â clean 3-column alignment
     -------------------------------------------------------------------------- */
  
  .get-ready-section.cta-strip,
  section.get-ready-section {
    background: #0098a2 !important;
    background-image: none !important;
    padding: 45px 0 !important;
    text-align: left !important;
    position: relative;
    overflow: visible;
  }
  
  .get-ready-section .container {
    width: min(100% - 40px, 1200px) !important;
    margin-inline: auto !important;
  }
  
  .get-ready-section .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    gap: 20px;
  }
  
  .get-ready-section .col-lg-5,
  .get-ready-section .col-lg-2 {
    float: none !important;
    position: relative !important;
    padding: 0 15px !important;
  }
  
  .get-ready-section .col-lg-5:first-child {
    flex: 1 1 38% !important;
    max-width: 38% !important;
  }
  
  .get-ready-section .col-lg-2 {
    flex: 0 0 160px !important;
    max-width: 160px !important;
    text-align: center !important;
  }
  
  .get-ready-section .col-lg-5:last-child,
  .get-ready-section .get-ready-cta-col {
    flex: 1 1 38% !important;
    max-width: 42% !important;
    text-align: right !important;
  }
  
  .get-ready-section h2 {
    font-size: 42px !important;
    color: #000 !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
    line-height: 1.15 !important;
    text-align: left !important;
  }
  
  .get-ready-section p {
    font-size: 17px !important;
    color: #fff !important;
    margin: 0 !important;
    text-align: left !important;
  }
  
  .get-ready-section .get-ready-image img,
  .get-ready-section .col-lg-2 img {
    position: static !important;
    width: 140px !important;
    max-width: 100% !important;
    height: auto !important;
    display: inline-block !important;
    top: auto !important;
    right: auto !important;
  }
  
  .get-ready-section .get-ready-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px;
    margin: 0 !important;
  }
  
  .get-ready-section .get-ready-actions .btn {
    margin: 4px !important;
    width: auto !important;
  }
  
  .get-ready-section .btn-white {
    background: #fff !important;
    border-color: #fff !important;
    color: #212529 !important;
  }
  
  .get-ready-section .btn-dark {
    background: #212529 !important;
    border-color: #212529 !important;
    color: #fff !important;
  }
  
  .get-ready-section .num-wrap,
  .get-ready-section .get-ready-num {
    margin-top: 12px !important;
    text-align: right !important;
  }
  
  .get-ready-section .num-wrap a,
  .get-ready-section .get-ready-phone {
    display: inline-block !important;
    width: auto !important;
    border: none !important;
    font-size: 16px !important;
    color: #fff !important;
    font-weight: 600 !important;
    padding: 0 5px !important;
    text-decoration: none;
  }
  
  .get-ready-section .num-wrap a:hover,
  .get-ready-section .get-ready-phone:hover {
    color: #212529 !important;
  }
  
  /* --------------------------------------------------------------------------
     3) AUTHOR BOOK SLIDER â match reference x_ layout
     -------------------------------------------------------------------------- */
  
  .author-showcase {
    padding: 60px 0 40px !important;
    background: #fff !important;
    overflow: hidden;
  }
  
  .author-showcase .container {
    width: min(100% - 40px, 1140px) !important;
    margin-inline: auto;
  }
  
  .author-slider {
    position: relative;
    overflow: hidden;
  }
  
  .author-slides.author-slider-track {
    display: flex !important;
    width: 100%;
    transition: transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
  }
  
  .author-slide {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 20px 0;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .author-slide[hidden] {
    display: block !important;
  }
  
  .author-slide.is-active {
    display: block !important;
  }
  
  .author-slide-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px;
  }
  
  .author-slide-image {
    flex: 0 0 42% !important;
    max-width: 42% !important;
    text-align: center;
  }
  
  .author-slide-image img {
    width: 100% !important;
    max-width: 480px !important;
    height: auto !important;
    object-fit: contain !important;
    display: inline-block;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  
  .author-slide-content {
    flex: 0 0 52% !important;
    max-width: 52% !important;
    text-align: left !important;
  }
  
  .author-slide-content .author-name,
  .author-slide-content h2.author-name,
  .author-slide-content .x_hdln {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin: 0 0 24px !important;
    text-align: left !important;
    line-height: 1.2 !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: none !important;
  }
  
  .author-highlights,
  .author-slide-content .x_bl {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
  }
  
  .author-highlights li,
  .author-slide-content .x_bl li {
    font-family: 'Merriweather', Georgia, serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: #333 !important;
    margin-bottom: 10px !important;
    padding-left: 32px !important;
    position: relative !important;
  }
  
  .author-highlights li::before {
    display: none !important;
    content: none !important;
  }
  
  .author-highlights li .check-dot {
    position: absolute;
    left: 0;
    top: 6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #016b72;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  .author-highlights li .check-dot::after {
    content: "";
    width: 10px;
    height: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
    margin-top: -2px;
  }
  
  .author-highlights li em,
  .author-highlights li strong {
    color: #00897B !important;
    font-weight: 700 !important;
    font-style: italic !important;
  }
  
  .author-slide-content .btn {
    margin-left: 0 !important;
  }
  
  .author-slider-controls {
    display: flex !important;
    justify-content: center !important;
    margin-top: 28px !important;
  }
  
  .author-dots,
  .author-dots.slider-dots {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 !important;
  }
  
  .author-dots button,
  .author-dots .dot {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: #ccc !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer;
    transition: background 0.3s;
  }
  
  .author-dots button.is-active,
  .author-dots button.active,
  .author-dots .dot.is-active,
  .author-dots .dot.active {
    background: #333 !important;
    transform: none !important;
    border: none !important;
  }
  
  /* --------------------------------------------------------------------------
     Responsive
     -------------------------------------------------------------------------- */
  
  @media (max-width: 1199px) {
    .book-section .book-left h3 {
      font-size: 32px !important;
    }
    .book-section .book-head h4 {
      font-size: 36px !important;
    }
    .book-section .book-head img {
      height: 150px !important;
    }
  }
  
  @media (max-width: 991px) {
    .book-section-row,
    .book-section .row.book-section-row {
      flex-wrap: wrap !important;
    }
  
    .book-section .book-left,
    .book-section .book-middle,
    .book-section .book-right {
      flex: 0 0 100% !important;
      max-width: 100% !important;
      width: 100% !important;
      min-height: 0 !important;
    }
  
    .book-section .book-left {
      min-height: 420px;
      padding: 30px !important;
    }
  
    .book-section .book-left > div {
      min-height: 360px;
      padding-bottom: 40px !important;
    }
  
    .book-section .book-right {
      min-height: 280px;
    }
  
    .book-section .book-wrapper .col-md-6 {
      flex: 0 0 100% !important;
      max-width: 100% !important;
      width: 100% !important;
    }
  
    .book-section .book-item.book-3 {
      padding-left: 20px !important;
      padding-bottom: 20px !important;
    }
  
    .get-ready-section .row {
      flex-wrap: wrap !important;
      text-align: center !important;
    }
  
    .get-ready-section .col-lg-5:first-child,
    .get-ready-section .col-lg-2,
    .get-ready-section .col-lg-5:last-child {
      flex: 0 0 100% !important;
      max-width: 100% !important;
      text-align: center !important;
    }
  
    .get-ready-section h2,
    .get-ready-section p {
      text-align: center !important;
    }
  
    .get-ready-section .get-ready-actions {
      justify-content: center !important;
    }
  
    .get-ready-section .num-wrap,
    .get-ready-section .get-ready-num {
      text-align: center !important;
    }
  
    .get-ready-section .col-lg-2 img {
      display: none !important;
    }
  
    .author-slide-inner {
      flex-direction: column !important;
      text-align: center !important;
    }
  
    .author-slide-image,
    .author-slide-content {
      flex: 0 0 100% !important;
      max-width: 100% !important;
    }
  
    .author-slide-content {
      text-align: center !important;
    }
  
    .author-slide-content .author-name {
      font-size: 1.8rem !important;
      text-align: center !important;
    }
  
    .author-highlights li {
      text-align: left !important;
    }
  }
  
  @media (max-width: 600px) {
    .book-section .book-head h4 {
      font-size: 30px !important;
    }
    .book-section .book-head img {
      height: 120px !important;
    }
    .book-section .book-body h5 {
      font-size: 22px !important;
    }
    .book-section .book-left h3 {
      font-size: 25px !important;
    }
    .get-ready-section h2 {
      font-size: 30px !important;
    }
  }
  
  /* ==========================================================================
     HEADER OVERLAP FIX  clean layout, no absolute phone over nav
     ========================================================================== */
  
  .site-header,
  .home .site-header,
  body.home .site-header {
    z-index: 1200 !important;
  }
  
  .site-header .header-inner,
  .home .site-header .header-inner,
  .home .header-inner.container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 24px;
    row-gap: 6px;
    position: relative;
  }
  
  /* Logo spans both rows */
  .site-header .site-logo,
  .home .site-header .site-logo {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    z-index: 2;
  }
  
  /* Phone on top row, right aligned  NOT absolute over nav */
  .site-header .header-top-links,
  .home .site-header .header-top-links,
  .home .header-top-links {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    grid-column: 2 / 4;
    grid-row: 1;
    justify-self: end;
    display: flex !important;
    align-items: center;
    z-index: 2;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Nav middle-bottom */
  .site-header .site-nav,
  .home .site-header .site-nav {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin: 0 !important;
  }
  
  .site-header .nav-list,
  .home .site-header .nav-list,
  .home .nav-list {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  
  /* CTA bottom-right */
  .site-header .header-cta,
  .home .site-header .header-cta {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    margin-left: 0 !important;
    z-index: 2;
  }
  
  /* Hamburger */
  .site-header .nav-toggle,
  .home .site-header .nav-toggle {
    grid-column: 3;
    grid-row: 1 / 3;
    justify-self: end;
    align-self: center;
    z-index: 5;
  }
  
  /* Prevent banner image covering header */
  .hero-banner-img,
  .home .hero-banner-img {
    z-index: 1 !important;
    pointer-events: none;
  }
  
  .hero-inner,
  .home .hero-inner {
    z-index: 2;
    position: relative;
  }
  
  /* Scrolled / solid: keep fixed without covering page content awkwardly */
  .site-header.header-solid,
  .site-header.is-scrolled,
  .home .site-header.is-scrolled,
  .home .site-header.header-solid {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #174a4c !important;
  }
  
  /* Inner pages: push content below fixed header */
  body:not(.home) .site-header.header-solid ~ main,
  body:not(.home) main {
    padding-top: 0;
  }
  
  body:not(.home) .page-hero {
    padding-top: 150px !important;
  }
  
  body:not(.home) main > section:first-child:not(.page-hero):not(.hero),
  body:not(.home) main > .container:first-child,
  body:not(.home) main > div:first-child {
    /* fallback spacer if no page-hero */
  }
  
  /* If first main child is NOT page-hero, add top margin via a safe rule */
  body:not(.home) .site-header.header-solid + main > *:first-child:not(.page-hero) {
    margin-top: 110px;
  }
  
  /* Homepage hero needs enough top space under absolute header */
  .home .hero-inner {
    padding-top: 200px !important;
  }
  
  @media (max-width: 1199px) {
    .site-header .nav-link,
    .home .nav-link {
      padding: 8px 10px !important;
      font-size: 14px !important;
    }
    .site-header .header-cta .btn,
    .home .header-cta .btn {
      padding: 10px 14px !important;
      font-size: 14px !important;
    }
    .home .header-phone {
      font-size: 15px !important;
    }
  }
  
  @media (max-width: 991px) {
    .site-header .header-inner,
    .home .site-header .header-inner {
      display: flex !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      justify-content: space-between !important;
    }
  
    .site-header .site-logo,
    .home .site-header .site-logo {
      grid-column: auto;
      grid-row: auto;
    }
  
    .site-header .header-top-links,
    .home .site-header .header-top-links {
      display: none !important;
    }
  
    .site-header .header-cta,
    .home .site-header .header-cta {
      display: none !important;
    }
  
    .site-header .nav-toggle {
      display: flex !important;
    }
  
    /* Mobile drawer stays fixed panel */
    .site-header .site-nav {
      width: min(360px, 88vw);
      justify-self: auto;
    }
  
    .home .hero-inner {
      padding-top: 140px !important;
    }
  }
  
  /* Homepage: keep transparent absolute until scroll */
  .home .site-header:not(.is-scrolled):not(.header-solid) {
    position: absolute !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  
  /* ==========================================================================
     NAV HOVER / ACTIVE + SERVICES DROPDOWN (bookpub.co match)
     ========================================================================== */
  
  @keyframes ebp-dropdown {
    0% {
      opacity: 0;
      transform: translateY(20px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes ebp-dropdownline {
    0% { width: 0%; }
    100% { width: 100%; }
  }
  
  .site-header .nav-link,
  .home .site-header .nav-link {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
  }
  
  /* Hover + active = black (reference) */
  .site-header .nav-link:hover,
  .site-header .nav-link:focus,
  .site-header .nav-link.active,
  .site-header .nav-item.active > .nav-link,
  .site-header .nav-item.dropdown:hover > .nav-link,
  .site-header .nav-item.dropdown.is-open > .nav-link,
  .home .site-header .nav-link:hover,
  .home .site-header .nav-link:focus,
  .home .site-header .nav-link.active,
  .home .site-header .nav-item.active > .nav-link,
  .home .site-header .nav-item.dropdown:hover > .nav-link,
  .home .site-header .nav-item.dropdown.is-open > .nav-link,
  .site-header.is-scrolled .nav-link:hover,
  .site-header.is-scrolled .nav-link.active,
  .site-header.header-solid .nav-link:hover,
  .site-header.header-solid .nav-link.active,
  body:not(.home) .site-header.header-solid .nav-link:hover,
  body:not(.home) .site-header.header-solid .nav-link.active {
    color: #000000 !important;
  }
  
  .site-header .nav-chevron {
    width: 10px;
    height: 10px;
    color: #ffffff;
    transition: color 0.25s ease, transform 0.25s ease;
    flex-shrink: 0;
  }
  
  .site-header .nav-link:hover .nav-chevron,
  .site-header .nav-item.dropdown:hover > .nav-link .nav-chevron,
  .site-header .nav-item.dropdown.is-open > .nav-link .nav-chevron {
    color: #016b72 !important;
    transform: rotate(180deg);
  }
  
  .site-header .dropdown-menu,
  .home .site-header .dropdown-menu,
  .site-header .dropdown-menu.dropdown-mega {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #016b72 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    pointer-events: none;
    z-index: 1300 !important;
    grid-template-columns: none !important;
  }
  
  .site-header .nav-item.dropdown:hover > .dropdown-menu,
  .site-header .nav-item.dropdown.is-open > .dropdown-menu,
  .home .site-header .nav-item.dropdown:hover > .dropdown-menu,
  .home .site-header .nav-item.dropdown.is-open > .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    animation: ebp-dropdown 0.45s linear;
  }
  
  .site-header .dropdown-menu::before,
  .home .site-header .dropdown-menu::before {
    content: "" !important;
    position: absolute !important;
    height: 5px !important;
    width: 100% !important;
    background: #016b72 !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 2;
  }
  
  .site-header .nav-item.dropdown:hover > .dropdown-menu::before,
  .site-header .nav-item.dropdown.is-open > .dropdown-menu::before {
    animation: ebp-dropdownline 0.45s linear;
  }
  
  .site-header .dropdown-item,
  .home .site-header .dropdown-item {
    display: block !important;
    width: 100% !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: #ffffff !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #212529 !important;
    border-radius: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    text-align: left !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
  }
  
  .site-header .dropdown-item:last-child {
    border-bottom: none !important;
  }
  
  .site-header .dropdown-item:hover,
  .site-header .dropdown-item:focus,
  .home .site-header .dropdown-item:hover,
  .home .site-header .dropdown-item:focus {
    background: #016b72 !important;
    color: #000000 !important;
    padding-left: 20px !important;
  }
  
  @media (max-width: 991px) {
    .site-header .nav-link:hover,
    .site-header .nav-link.active,
    .site-header .nav-item.active > .nav-link,
    .site-header .nav-item.dropdown:hover > .nav-link,
    .site-header .nav-item.dropdown.is-open > .nav-link {
      color: #0098a2 !important;
    }
  
    .site-header .dropdown-menu,
    .home .site-header .dropdown-menu {
      position: static !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      transform: none !important;
      animation: none !important;
      display: none !important;
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      margin: 8px 0 12px !important;
      background: rgba(0, 0, 0, 0.22) !important;
    }
  
    .site-header .nav-item.dropdown.is-open > .dropdown-menu {
      display: block !important;
    }
  
    .site-header .dropdown-menu::before {
      display: none !important;
    }
  
    .site-header .dropdown-item {
      border-bottom-color: rgba(255, 255, 255, 0.12) !important;
      font-size: 13px !important;
    }
  
    .site-header .dropdown-item:hover {
      color: #ffffff !important;
      padding-left: 22px !important;
    }
  
    .site-header .dropdown-item::before {
      content: "-";
      font-size: 18px;
      margin-right: 8px;
      line-height: 0;
    }
  }
  
  /* ==========================================================================
     Hire / testimonials split — fix overlap, cramped padding, negative margins
     Applies on Home (and any page using .hire-section / .hiring-section)
     ========================================================================== */
  
  .hire-section,
  .hiring-section {
    overflow: hidden !important;
    padding: 0 !important;
  }
  
  .hire-section .hire-split,
  .hiring-section .hire-split,
  .hire-section > .container-fluid > .row,
  .hiring-section > .container-fluid > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    align-items: stretch !important;
  }
  
  .hire-section .hire-left,
  .hiring-section .hire-left,
  .hire-section .col-lg-6.hire-left,
  .hiring-section .col-lg-6.hire-left {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 48px 36px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    color: #212529 !important;
    background-color: #0098a2 !important;
    background-image: url('../images/cta-bg.png') !important;
    background-size: cover !important;
    background-position: right center !important;
  }
  
  @media (min-width: 992px) {
    .hire-section .hire-left,
    .hiring-section .hire-left,
    .hire-section .col-lg-6.hire-left,
    .hiring-section .col-lg-6.hire-left,
    .hire-section .hire-right,
    .hiring-section .hire-right,
    .hire-section .col-lg-6.hire-right,
    .hiring-section .col-lg-6.hire-right {
      flex: 0 0 50% !important;
      max-width: 50% !important;
      width: 50% !important;
    }
  }
  
  .hire-section .hire-left > div,
  .hiring-section .hire-left > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 28px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  
  .hire-section .hire-left h4,
  .hiring-section .hire-left h4 {
    font-size: clamp(0.95rem, 1.4vw, 1.15rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #174a4c !important;
    margin: 0 0 12px !important;
    line-height: 1.35 !important;
  }
  
  .hire-section .hire-left h2,
  .hire-section .hire-left .an-primary-heading,
  .hiring-section .hire-left h2,
  .hiring-section .hire-left .an-primary-heading {
    font-size: clamp(1.35rem, 2.2vw, 1.85rem) !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: #212529 !important;
    line-height: 1.35 !important;
    margin: 0 0 14px !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  
  .hire-section .hire-left p,
  .hiring-section .hire-left p {
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    color: #212529 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }
  
  /* CTA row — no negative margins / no overlap */
  .hire-section .cta-box,
  .hiring-section .cta-box {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 20px 28px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }
  
  .hire-section .cta-box .cta-book,
  .hiring-section .cta-box .cta-book {
    margin: 0 !important;
    max-width: 130px !important;
    width: 130px !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
  }
  
  .hire-section .cta-box > div,
  .hiring-section .cta-box > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
  
  .hire-section .cta-box .chat,
  .hiring-section .cta-box .chat {
    display: inline-block !important;
    margin: 0 !important;
    line-height: 0 !important;
  }
  
  .hire-section .cta-box .chat img,
  .hire-section .cta-box .avail,
  .hiring-section .cta-box .chat img,
  .hiring-section .cta-box .avail {
    max-width: 130px !important;
    width: 130px !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
  }
  
  .hire-section .cta-box .tel,
  .hiring-section .cta-box .tel {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #174a4c !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
  }
  
  .hire-section .cta-box .tel span,
  .hiring-section .cta-box .tel span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #174a4c !important;
    line-height: 1.2 !important;
    justify-content: flex-start !important;
  }
  
  .hire-section .cta-box .tel span img,
  .hiring-section .cta-box .tel span img {
    width: 22px !important;
    height: auto !important;
  }
  
  /* Right column */
  .hire-section .hire-right,
  .hiring-section .hire-right,
  .hire-section .col-lg-6.hire-right,
  .hiring-section .col-lg-6.hire-right {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    overflow: hidden !important;
  }
  
  .hire-section .hire-right-top,
  .hiring-section .hire-right-top {
    background: #016b72 !important;
    color: #fff !important;
    padding: 0 !important;
  }
  
  .hire-section .hire-right-top .row,
  .hiring-section .hire-right-top .row {
    margin: 0 !important;
    align-items: stretch !important;
  }
  
  .hire-section .hire-right-top .col-sm-4,
  .hiring-section .hire-right-top .col-sm-4 {
    padding: 0 !important;
  }
  
  .hire-section .hire-right-top .col-sm-4 img,
  .hiring-section .hire-right-top .col-sm-4 img {
    width: 100% !important;
    height: 100% !important;
    min-height: 180px !important;
    object-fit: cover !important;
    display: block !important;
  }
  
  .hire-section .hire-right-top .col-sm-8,
  .hiring-section .hire-right-top .col-sm-8 {
    padding: 28px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  
  .hire-section .hire-right-top h3,
  .hiring-section .hire-right-top h3 {
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    color: #fff !important;
    margin: 0 0 10px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }
  
  .hire-section .hire-right-top h3:last-child,
  .hiring-section .hire-right-top h3:last-child {
    margin-bottom: 0 !important;
  }
  
  .hire-section .hire-right-top .newdemands,
  .hiring-section .hire-right-top .newdemands {
    font-size: clamp(0.95rem, 1.4vw, 1.1rem) !important;
    opacity: 0.95;
  }
  
  .hire-section .testimonial-wrap,
  .hiring-section .testimonial-wrap {
    padding: 36px 28px !important;
    background: #212529 !important;
    color: #fff !important;
    text-align: left !important;
    flex: 1 1 auto !important;
    max-width: none !important;
  }
  
  .hire-section .testimonial-wrap h4,
  .hiring-section .testimonial-wrap h4 {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    margin: 0 0 12px !important;
  }
  
  .hire-section .testimonial-wrap p,
  .hiring-section .testimonial-wrap .testimonial-quote,
  .hiring-section .testimonial-wrap p {
    font-size: 1rem !important;
    font-style: normal !important;
    color: rgba(255, 255, 255, 0.92) !important;
    line-height: 1.65 !important;
    margin: 0 0 18px !important;
  }
  
  .hire-section .tes-bottom,
  .hiring-section .tes-bottom {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 8px !important;
    flex-wrap: wrap !important;
  }
  
  .hire-section .tes-bottom img,
  .hiring-section .tes-bottom img {
    max-height: 28px !important;
    width: auto !important;
  }
  
  .hire-section .testimonial-nav,
  .hire-section .testimonial-dots,
  .hiring-section .testimonial-nav,
  .hiring-section .testimonial-dots {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 20px !important;
  }
  
  @media (max-width: 991px) {
    .hire-section .hire-left,
    .hiring-section .hire-left,
    .hire-section .col-lg-6.hire-left,
    .hiring-section .col-lg-6.hire-left,
    .hire-section .hire-right,
    .hiring-section .hire-right {
      flex: 0 0 100% !important;
      max-width: 100% !important;
      width: 100% !important;
    }
  
    .hire-section .hire-left,
    .hiring-section .hire-left {
      padding: 36px 22px !important;
    }
  
    .hire-section .testimonial-wrap,
    .hiring-section .testimonial-wrap {
      padding: 28px 20px !important;
    }
  }
  
  @media (max-width: 575px) {
    .hire-section .cta-box,
    .hiring-section .cta-box {
      flex-direction: column !important;
      align-items: flex-start !important;
    }
  
    .hire-section .hire-right-top .col-sm-4 img,
    .hiring-section .hire-right-top .col-sm-4 img {
      min-height: 200px !important;
    }
  }
  
  /* Ready section — white text on dark teal background */
  .ready-section,
  section.ready {
    color: #ffffff !important;
  }
  
  .ready-section .ready-title h3,
  .ready-section .ready-title h4,
  .ready-section .ready-title h5,
  .ready-title h3,
  .ready-title h4,
  .ready-title h5,
  .ready-section .section-heading,
  .ready-section .section-subheading,
  .ready-section .read-content h3,
  .ready-section .read-content h4,
  .ready-section .read-content p,
  .read-content h3,
  .read-content h4,
  .read-content p {
    color: #ffffff !important;
  }
  
  .ready-section .read-content span,
  .read-content span:not(.read-content-icon) {
    color: #f5c242 !important;
  }
  
  .ready-section .read-content,
  .read-content {
    position: relative;
    padding-left: 18px;
    margin-left: 56px;
  }
  
  .ready-section .read-content::after,
  .read-content::after {
    content: none !important;
    display: none !important;
  }
  
  .ready-section .read-content-icon,
  .read-content-icon {
    position: absolute !important;
    top: 20px;
    left: -80px;
    width: 78px !important;
    height: 78px !important;
    border-radius: 50% !important;
    background: rgba(11, 166, 177, 0.92) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
    color: #fff !important;
  }
  
  .ready-section .read-content-icon svg,
  .read-content-icon svg {
    display: block;
    width: 34px;
    height: 34px;
  }
  
  @media (max-width: 767px) {
    .ready-section .read-content,
    .read-content {
      padding-left: 0;
      margin-left: 0;
    }
  
    .ready-section .read-content-icon,
    .read-content-icon {
      position: static !important;
      margin: 0 0 14px;
      width: 64px !important;
      height: 64px !important;
    }
  
  .ready-section .read-content-icon svg,
  .read-content-icon svg {
    width: 28px;
    height: 28px;
  }
}

/* --------------------------------------------------------------------------
   Button hover — visible fill wipe (overrides broken ::before/::after)
   -------------------------------------------------------------------------- */
.btn::before,
.btn::after,
a.btn::before,
a.btn::after {
  content: none !important;
  display: none !important;
}

.btn,
a.btn {
  position: relative !important;
  overflow: hidden !important;
  transition: color 0.35s ease, border-color 0.35s ease, box-shadow 0.45s ease, transform 0.25s ease !important;
}

.btn-primary,
a.btn-primary {
  box-shadow: inset 0 0 0 0 #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
a.btn-primary:hover,
a.btn-primary:focus-visible {
  color: #174a4c !important;
  text-shadow: none !important;
  box-shadow: inset 0 0 0 100vmax #ffffff !important;
  transform: translateY(-2px);
}

.btn-dark-gray,
a.btn-dark-gray,
.btn-primary.btn-dark-gray {
  box-shadow: inset 0 0 0 0 #ffffff !important;
}

.btn-dark-gray:hover,
.btn-dark-gray:focus-visible,
.btn-primary.btn-dark-gray:hover,
a.btn-dark-gray:hover {
  color: #212529 !important;
  text-shadow: none !important;
  box-shadow: inset 0 0 0 100vmax #ffffff !important;
}

.btn-white,
a.btn-white {
  box-shadow: inset 0 0 0 0 #212529 !important;
}

.btn-white:hover,
.btn-white:focus-visible,
a.btn-white:hover {
  color: #ffffff !important;
  box-shadow: inset 0 0 0 100vmax #212529 !important;
}

.btn-dark,
a.btn-dark {
  box-shadow: inset 0 0 0 0 #ffffff !important;
}

.btn-dark:hover,
.btn-dark:focus-visible,
a.btn-dark:hover {
  color: #212529 !important;
  box-shadow: inset 0 0 0 100vmax #ffffff !important;
}

.btn-outline,
a.btn-outline {
  box-shadow: inset 0 0 0 0 #016b72 !important;
}

.btn-outline:hover,
.btn-outline:focus-visible,
a.btn-outline:hover {
  color: #ffffff !important;
  box-shadow: inset 0 0 0 100vmax #016b72 !important;
}

/* Hero outline (white-border) buttons — white fill wipe */
.home .hero .btn-outline,
.home .hero-actions .btn-outline,
.hero .btn-outline,
.hero-actions .btn-outline {
  background: transparent !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  text-shadow: none !important;
  box-shadow: inset 0 0 0 0 #ffffff !important;
  transition: color 0.4s ease, border-color 0.4s ease, box-shadow 0.45s ease, transform 0.25s ease !important;
}

.home .hero .btn-outline:hover,
.home .hero-actions .btn-outline:hover,
.home .hero .btn-outline:focus-visible,
.home .hero-actions .btn-outline:focus-visible,
.hero .btn-outline:hover,
.hero-actions .btn-outline:hover,
.hero .btn-outline:focus-visible,
.hero-actions .btn-outline:focus-visible {
  border-color: #ffffff !important;
  color: #016b72 !important;
  background: transparent !important;
  text-shadow: none !important;
  box-shadow: inset 0 0 0 100vmax #ffffff !important;
  transform: translateY(-2px);
}

.quote-popup__submit {
  box-shadow: inset 0 0 0 0 #ffffff !important;
  transition: color 0.35s ease, box-shadow 0.45s ease !important;
}

.quote-popup__submit:hover {
  color: #016b72 !important;
  background: #016b72 !important;
  box-shadow: inset 0 0 0 100vmax #ffffff !important;
}
