﻿/**
 * SHIBY Accountants ? global brand polish (loads after main style.css).
 */

/* ?? Header ??????????????????????????????????????????????????????????? */
.navbar.inner.v2 {
  background-color: rgba(255, 255, 255, 0.97);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(201, 191, 181, 0.5);
  box-shadow: 0 2px 18px rgba(23, 51, 48, 0.07);
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  z-index: 1100;
}

/*
 * Logo chip: the original logo artwork is white, so it sits on a deep-teal
 * chip for contrast. No filters/blending applied to the logo itself.
 */
.navbar.inner.v2 .navbar-logo-wrap {
  display: inline-flex;
  align-items: center;
  background-color: #386D67;
  border-radius: 0.7rem;
  padding: 0.4rem 0.7rem;
  box-shadow: 0 4px 12px rgba(56, 109, 103, 0.18);
}

.navbar.inner.v2 .shiby-site-logo {
  filter: none !important;
  height: clamp(34px, 2.9vw, 46px) !important;
  max-height: 46px !important;
  min-height: 34px !important;
  width: auto !important;
}

/* Desktop nav spacing + vertical centering */
@media screen and (min-width: 992px) {
  .navbar.inner.v2 .nav-menu-links-wrap {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 1.9vw, 2.1rem);
  }
}

/* Nav links ? larger + clearer */
.navbar.inner.v2 .single-nav-link.white,
.navbar.inner.v2 .single-nav-link.white div {
  color: #386D67 !important;
  font-weight: 600 !important;
  font-size: clamp(0.9375rem, 1.15vw, 1.125rem) !important;
  line-height: 1.3 !important;
  opacity: 1 !important;
  letter-spacing: -0.01em;
  transition: color 0.2s ease;
}

.navbar.inner.v2 .single-nav-link.white:hover,
.navbar.inner.v2 .single-nav-link.white:hover div {
  color: #5D928C !important;
}

.navbar.inner.v2 .single-nav-link.white.w--current,
.navbar.inner.v2 .single-nav-link.white.w--current div {
  color: #386D67 !important;
}

/* Refined, clearly visible active-page indicator */
.navbar.inner.v2 .single-nav-link.white.w--current > div {
  box-shadow: inset 0 -2px 0 #5D928C;
  padding-bottom: 3px;
}

.navbar.inner.v2 .dropdown-toggle-text,
.navbar.inner.v2 .dropdown-toggle-arrow {
  color: #386D67 !important;
  font-weight: 600 !important;
  font-size: clamp(0.9375rem, 1.15vw, 1.125rem) !important;
  opacity: 1 !important;
}

.navbar.inner.v2 .single-nav-link.dropdown:hover .dropdown-toggle-text,
.navbar.inner.v2 .single-nav-link.dropdown:hover .dropdown-toggle-arrow {
  color: #5D928C !important;
}

.navbar.inner.v2 .hamburger-menu-bar.white {
  background-color: #386D67;
}

.navbar.inner.v2 .hamburger-menu-lines.white-20 {
  border-color: rgba(56, 109, 103, 0.35);
}

/* Header Get a Quote uses the global .shiby-btn component (teal variant) */

/* Dropdown */
.dropdown-content-wrap {
  background-color: #F7F6F2;
  border-color: rgba(56, 109, 103, 0.12);
  box-shadow: 0 12px 32px rgba(56, 109, 103, 0.1);
}

.dropdown-title {
  color: #386D67 !important;
}

.dropdown-menu-text-link,
.dropdown-menu-text-link div {
  color: #173330 !important;
  font-size: 0.9375rem !important;
}

.dropdown-menu-text-link:hover,
.dropdown-menu-text-link:hover div {
  color: #5D928C !important;
}

@media screen and (max-width: 991px) {
  .navbar.inner.v2 .nav-menu-wrap.midnight-green {
    background-color: #ffffff !important;
    border-bottom: 1px solid rgba(201, 191, 181, 0.5);
    box-shadow: 0 16px 32px rgba(23, 51, 48, 0.1);
  }

  .navbar.inner.v2 .nav-menu-wrap .single-nav-link.white,
  .navbar.inner.v2 .nav-menu-wrap .single-nav-link.white div,
  .navbar.inner.v2 .nav-menu-wrap .dropdown-toggle-text,
  .navbar.inner.v2 .nav-menu-wrap .dropdown-toggle-arrow {
    color: #386D67 !important;
    font-size: 1.0625rem !important;
  }

}

/* Fixed header clears WP admin bar when logged in */
.admin-bar .navbar.inner.v2 {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .navbar.inner.v2 {
    top: 46px;
  }
}

/*
 * All page heroes sit under the fixed white header (.navbar.inner).
 * Clearance = real header height + intentional breathing room.
 */
.section.v2-banner,
.section.about-banner {
  --shiby-header-clearance: clamp(6.5rem, 9vw, 8.25rem);
  padding-top: var(--shiby-header-clearance) !important;
}

.admin-bar .section.v2-banner,
.admin-bar .section.about-banner {
  padding-top: calc(var(--shiby-header-clearance) + 32px) !important;
}

@media screen and (max-width: 782px) {
  .admin-bar .section.v2-banner,
  .admin-bar .section.about-banner {
    padding-top: calc(var(--shiby-header-clearance) + 46px) !important;
  }
}

@media screen and (max-width: 991px) {
  .section.v2-banner,
  .section.about-banner {
    --shiby-header-clearance: clamp(5.75rem, 13vw, 7rem);
  }
}

@media screen and (max-width: 767px) {
  .section.v2-banner,
  .section.about-banner {
    --shiby-header-clearance: clamp(5.25rem, 17vw, 6.25rem);
  }
}

/* Footer ? brand + accreditations under logo, balanced 3-column layout */
.section.footer {
  background:
    radial-gradient(44rem 20rem at 12% 0%, rgba(151, 186, 188, 0.12), transparent 60%),
    linear-gradient(168deg, #386D67 0%, #2E5A54 60%, #274B46 100%);
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  box-sizing: border-box;
}

.section.footer .footer-top-wrapper,
.section.footer .footer-grid,
.section.footer .footer-top-wrap,
.section.footer .footer-main-grid,
.section.footer .footer-copyright-wrapper,
.section.footer .footer-copyright-wrap {
  box-sizing: border-box;
  max-width: 100%;
}

.section.footer .footer-grid {
  width: 100%;
  margin: 0;
  transform: none;
}

.section.footer .footer-top-wrap {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-top: clamp(1.75rem, 2.8vw, 2.75rem);
  padding-bottom: clamp(1.25rem, 2vw, 1.75rem);
  padding-left: clamp(1.25rem, 3.5vw, 2rem);
  padding-right: clamp(1.25rem, 3.5vw, 2rem);
}

.section.footer .footer-main-grid {
  display: grid;
  grid-template-columns: minmax(14rem, 1.15fr) minmax(9rem, 0.7fr) minmax(9rem, 0.85fr);
  gap: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3.5vw, 3.5rem);
  align-items: start;
  padding: 0;
  width: 100%;
}

.section.footer .footer-brand-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.15rem;
  min-width: 0;
  max-width: 100%;
}

.section.footer .footer-logo-wrap {
  border: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: auto;
  max-width: 100%;
}

.section.footer .footer-logo-link {
  display: inline-block;
  max-width: 100%;
}

.section.footer .shiby-site-logo {
  filter: none !important;
  height: clamp(3.75rem, 6.5vw, 6.75rem) !important;
  max-height: 6.75rem !important;
  min-height: 3.75rem !important;
  width: auto !important;
  max-width: min(100%, 18rem) !important;
  object-fit: contain;
  object-position: left center;
}

.section.footer .footer-accreditations {
  width: 100%;
  max-width: 11.5rem;
  padding: 0;
  box-sizing: border-box;
}

.section.footer .footer-accreditations__title {
  margin: 0 0 0.4rem;
  color: rgba(247, 246, 242, 0.88);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.35;
  text-align: left;
}

.section.footer .footer-accreditations__card {
  background: rgba(247, 246, 242, 0.1);
  border: 1px solid rgba(247, 246, 242, 0.18);
  border-radius: 0.55rem;
  box-shadow: none;
  padding: 0.4rem 0.45rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 100%;
}

.section.footer .footer-accreditations__image {
  display: block;
  width: 100%;
  max-width: 10.5rem;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.section.footer .footer-nav-column {
  min-width: 0;
  padding-top: 0.35rem;
}

.section.footer .footer-nav-column .footer-links-title-wrap {
  margin-bottom: 0.85rem;
}

.section.footer .footer-nav-column .footer-links-title {
  color: #F7F6F2;
  margin: 0;
}

.section.footer .footer-nav-column .footer-link-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.section.footer .single-footer-link {
  color: rgba(247, 246, 242, 0.78);
  transition: color 0.2s ease;
}

.section.footer .single-footer-link:hover,
.section.footer .single-footer-link.w--current {
  color: #97BABC;
}

.section.footer .single-footer-link:focus-visible {
  outline: 2px solid #97BABC;
  outline-offset: 3px;
  color: #97BABC;
  border-radius: 0.2rem;
}

.section.footer .footer-copyright-wrapper {
  margin-top: clamp(1.35rem, 2.4vw, 2rem);
  padding: 1rem 0 0;
  border-top: 1px solid rgba(247, 246, 242, 0.12);
  border-right: 0;
  border-left: 0;
  border-bottom: 0;
  width: 100%;
}

.section.footer .footer-copyright-wrap {
  text-align: left;
}

.section.footer .footer-copyright {
  color: rgba(247, 246, 242, 0.7);
  line-height: 1.55;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-wrap: break-word;
}

@media screen and (max-width: 991px) {
  .section.footer .footer-top-wrap {
    padding-left: clamp(1.25rem, 4vw, 1.75rem);
    padding-right: clamp(1.25rem, 4vw, 1.75rem);
  }

  .section.footer .footer-main-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 0.9fr);
    gap: 1.5rem 1.35rem;
    padding: 0;
  }

  .section.footer .footer-accreditations {
    max-width: 10.5rem;
  }

  .section.footer .footer-accreditations__card {
    padding: 0.35rem 0.4rem;
  }

  .section.footer .footer-accreditations__image {
    max-width: 9.75rem;
  }
}

@media screen and (max-width: 767px) {
  .section.footer .footer-top-wrap {
    padding-top: 1.65rem;
    padding-bottom: 1.35rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .section.footer .footer-main-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 0;
  }

  .section.footer .footer-brand-column {
    gap: 1rem;
    width: 100%;
  }

  .section.footer .shiby-site-logo {
    height: 4rem !important;
    max-height: 4.25rem !important;
    max-width: min(100%, 14rem) !important;
  }

  .section.footer .footer-accreditations {
    max-width: 11rem;
    width: 100%;
  }

  .section.footer .footer-accreditations__title {
    margin-bottom: 0.35rem;
  }

  .section.footer .footer-accreditations__card {
    padding: 0.35rem 0.4rem;
    border-radius: 0.5rem;
  }

  .section.footer .footer-accreditations__image {
    max-width: 10rem;
  }

  .section.footer .footer-nav-column {
    padding-top: 0;
  }

  .section.footer .footer-copyright-wrapper {
    margin-top: 1.25rem;
    padding: 0.9rem 0 0;
  }

  .section.footer .footer-copyright {
    text-align: left;
  }
}

@media screen and (max-width: 479px) {
  .section.footer .footer-top-wrap {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .section.footer .shiby-site-logo {
    height: 3.65rem !important;
    max-height: 3.85rem !important;
  }

  .section.footer .footer-accreditations {
    max-width: 10.25rem;
  }
}

/* ?? Watermark ???????????????????????????????????????????????????????? */
body::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: var(--shiby-watermark-url, url("../images/best-logo.png")) center center / min(42vmin, 440px) no-repeat !important;
  opacity: 0.1 !important;
  filter: brightness(0) opacity(0.7) !important;
}

.pages-wrapper {
  position: relative;
  z-index: 1;
  background: transparent;
}

@media screen and (max-width: 767px) {
  body::before {
    background-size: min(58vmin, 300px) !important;
    opacity: 0.08 !important;
  }

  .section.footer .shiby-site-logo {
    height: 3.75rem !important;
    max-height: 4rem !important;
    max-width: min(100%, 13.5rem) !important;
  }
}

@media screen and (max-width: 479px) {
  body::before {
    background-size: min(65vmin, 240px) !important;
    opacity: 0.07 !important;
  }
}

/* ?? Hero title + scribble underline ?????????????????????????????????? */
.section.v2-banner {
  overflow-x: clip;
}

.section.v2-banner .v2-banner-contant-wrap,
.section.v2-banner .v2-banner-2-columns-grid,
.section.v2-banner .v2-banner-left-wrap,
.section.v2-banner .v2-banner-left-contant,
.section.v2-banner .v2-banner-title-wrap,
.section.v2-banner .single-v2-banner-title-wrap {
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.section.v2-banner .v2-banner-left-wrap {
  overflow: visible !important;
}

.section.v2-banner .v2-banner-title-wrap {
  max-width: 100% !important;
}

.section.v2-banner .shiby-hero-title,
.section.v2-banner h1.v2-banner-title.shiby-hero-title {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding-bottom: 0.38em;
  color: #F7F6F2;
  font-size: clamp(2.15rem, 5.4vw, 5.75rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  white-space: normal;
}

.section.v2-banner .shiby-hero-title::after {
  content: "";
  position: absolute;
  left: 0;
  width: min(100%, 18ch);
  max-width: 100%;
  bottom: 0.04em;
  height: 0.26em;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 12' preserveAspectRatio='none'%3E%3Cpath d='M3 7.2 C42 3.8, 78 9.6, 118 6.4 S188 3.2, 228 7.1 S278 9.8, 317 5.6' fill='none' stroke='%23C8BFB5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    left bottom / 100% 100% no-repeat;
  opacity: 0.9;
}

/* Hero layout polish */
.section.v2-banner .v2-banner-2-columns-grid {
  align-items: center;
  column-gap: clamp(1.25rem, 3.5vw, 3.5rem);
  row-gap: clamp(1.25rem, 2.5vw, 2rem);
}

.section.v2-banner .v2-banner-right-wrap {
  justify-content: center;
  overflow: visible !important;
  min-width: 0;
}

.section.v2-banner .shiby-hero-copy.v2-banner-details-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.15rem, 1.8vw, 1.65rem);
  width: 100%;
  max-width: 28.5rem;
  margin: 0;
  padding-left: clamp(1rem, 2vw, 2.0833vw);
  padding-right: clamp(1rem, 2vw, 2.0833vw);
  box-sizing: border-box;
}

.section.v2-banner .v2-banner-details-wrap {
  width: 100%;
}

.section.v2-banner .v2-banner-details {
  color: rgba(247, 246, 242, 0.92);
  font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
  line-height: 1.7;
  max-width: 100%;
  margin: 0;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.section.v2-banner .shiby-hero-cta.button-wrapper {
  margin: 0;
  width: auto;
  display: flex;
  justify-content: flex-start;
}

/* All CTAs now use the global .shiby-btn component (see Button system). */
/* Hero Get a Quote uses the global .shiby-btn component (cream default) */

@media screen and (max-width: 1199px) {
  .section.v2-banner .shiby-hero-title,
  .section.v2-banner h1.v2-banner-title.shiby-hero-title {
    font-size: clamp(2.1rem, 5vw, 4.5rem) !important;
  }
}

@media screen and (max-width: 991px) {
  .section.v2-banner .v2-banner-2-columns-grid {
    row-gap: 1.5rem;
  }

  .section.v2-banner .v2-banner-left-wrap {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .section.v2-banner .shiby-hero-title,
  .section.v2-banner h1.v2-banner-title.shiby-hero-title {
    font-size: clamp(2.25rem, 7.5vw, 3.5rem) !important;
    text-align: center;
  }

  .section.v2-banner .shiby-hero-title::after {
    left: 50%;
    transform: translateX(-50%);
    width: min(100%, 14ch);
  }

  .section.v2-banner .v2-banner-right-wrap {
    align-items: center;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .section.v2-banner .shiby-hero-copy.v2-banner-details-wrapper {
    align-items: center;
    text-align: center;
    max-width: 36rem;
    padding-left: 0;
    padding-right: 0;
  }

  .section.v2-banner .shiby-hero-cta.button-wrapper {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .section.v2-banner .shiby-hero-title,
  .section.v2-banner h1.v2-banner-title.shiby-hero-title {
    font-size: clamp(1.9rem, 9vw, 2.75rem) !important;
  }

  .section.v2-banner .shiby-hero-title::after {
    height: 0.24em;
    width: min(100%, 12ch);
  }

  .section.v2-banner .v2-banner-details {
    font-size: 0.95rem;
    line-height: 1.65;
  }

  .section.v2-banner .shiby-btn {
    padding: 0.9rem 1.4rem;
  }
}

@media screen and (max-width: 479px) {
  .section.v2-banner .v2-banner-left-wrap,
  .section.v2-banner .v2-banner-right-wrap {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .section.v2-banner .shiby-hero-title,
  .section.v2-banner h1.v2-banner-title.shiby-hero-title {
    font-size: clamp(1.75rem, 9.5vw, 2.25rem) !important;
  }
}

/* ?? FAQ 3D flip ? front = question, back = answer ???????????????????? */
.section.faq .faq-grid,
.faq-grid {
  perspective: 1400px;
}

.section.faq .single-faq-wrap,
.single-faq-wrap {
  position: relative;
  min-height: clamp(15rem, 22vw, 19rem);
  height: 100%;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

.section.faq .faq-card,
.faq-card {
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transform: translate3d(0, 0, 1px) rotateY(0deg);
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background-color: rgba(151, 185, 187, 0.28) !important;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0.781vw;
  box-sizing: border-box;
}

.section.faq .faq-details-card,
.faq-details-card {
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transform: rotateY(180deg) translate3d(0, 0, 1px);
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  background-color: #F7F6F2 !important;
  border: 1px solid rgba(56, 109, 103, 0.16);
  border-radius: 0.781vw;
  box-sizing: border-box;
}

.section.faq .faq-card-question-wrap,
.faq-card-question-wrap {
  overflow: hidden;
}

.section.faq .faq-card-question,
.faq-card-question {
  color: #386D67 !important;
  font-weight: 700 !important;
}

.section.faq .faq-card-ans-wrap,
.faq-card-ans-wrap {
  overflow: auto !important;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  -webkit-overflow-scrolling: touch;
  padding-right: 0.15rem;
}

.section.faq .faq-card-ans,
.faq-card-ans {
  color: #173330 !important;
  font-weight: 500 !important;
  font-size: clamp(0.8125rem, 1.05vw, 1.05rem) !important;
  line-height: 1.5 !important;
  margin: 0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Keep 3D while Webflow/Ltd JS rotates the wrap */
.section.faq .single-faq-wrap[style*="rotateY"],
.single-faq-wrap[style*="rotateY"] {
  -webkit-transform-style: preserve-3d !important;
  transform-style: preserve-3d !important;
}

@media screen and (max-width: 991px) {
  .section.faq .single-faq-wrap,
  .single-faq-wrap {
    min-height: 17rem;
  }

  .section.faq .faq-card,
  .section.faq .faq-details-card,
  .faq-card,
  .faq-details-card {
    border-radius: 0.75rem;
  }

  .section.faq .faq-card-ans,
  .faq-card-ans {
    font-size: 0.9rem !important;
  }
}

@media screen and (max-width: 767px) {
  .section.faq .single-faq-wrap,
  .single-faq-wrap {
    min-height: 16.5rem;
  }

  .section.faq .faq-card-ans,
  .faq-card-ans {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
  }
}

@media screen and (max-width: 479px) {
  .section.faq .single-faq-wrap,
  .single-faq-wrap {
    min-height: 16rem;
  }

  .section.faq .faq-grid {
    grid-template-columns: 1fr;
  }
}

/* Plugin surface accents (buttons now use the global .shiby-btn component) */
.shiby-enquiry-form__card {
  background: linear-gradient(145deg, #386D67 0%, #5D928C 100%);
}

/* ?? Self Assessment Topics ? static 4-card grid ?????????????????????? */
.section.v2-about .section-title-wrap {
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
}

.section.v2-about .shiby-topics {
  width: 100%;
  position: relative;
  z-index: 1;
}

.section.v2-about .shiby-topics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.4vw, 1.35rem);
}

.section.v2-about .shiby-topics__card {
  background-color: #F7F6F2;
  border: 1px solid rgba(56, 109, 103, 0.14);
  border-radius: 1rem;
  box-shadow: 0 10px 28px rgba(23, 51, 48, 0.05);
  padding: clamp(1.25rem, 1.8vw, 1.75rem);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.section.v2-about .shiby-topics__card:hover {
  transform: translateY(-3px);
  border-color: rgba(93, 146, 140, 0.45);
  box-shadow: 0 16px 36px rgba(56, 109, 103, 0.12);
  background-color: #ffffff;
}

.section.v2-about .shiby-topics__title {
  margin: 0;
  color: #386D67;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.section.v2-about .shiby-topics__text {
  margin: 0;
  color: #173330;
  font-size: clamp(0.875rem, 1.05vw, 0.98rem);
  line-height: 1.55;
  opacity: 0.9;
}

.section.v2-about .shiby-topics__footer {
  margin-top: clamp(1.75rem, 3vw, 2.75rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(1.15rem, 2vw, 1.75rem);
}

.section.v2-about .shiby-topics__description {
  margin: 0;
  max-width: 42rem;
  color: #173330;
  font-size: clamp(0.95rem, 1.15vw, 1.125rem);
  line-height: 1.65;
}

.section.v2-about .shiby-topics__images.about-info-image-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0 auto;
}

.section.v2-about .shiby-topics__images .single-about-info-image-wrap {
  position: relative;
  margin: 0;
}

.section.v2-about .shiby-topics__images .single-about-info-image-wrap._2nd {
  margin-left: -0.65rem;
  margin-right: -0.65rem;
  z-index: 1;
}

@media screen and (max-width: 1199px) {
  .section.v2-about .shiby-topics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 991px) {
  .section.v2-about .shiby-topics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .section.v2-about .shiby-topics__description {
    max-width: 36rem;
    padding: 0 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .section.v2-about .shiby-topics__grid {
    grid-template-columns: 1fr;
  }

  .section.v2-about .shiby-topics__card {
    border-radius: 0.875rem;
  }

  .section.v2-about .shiby-topics__footer {
    margin-top: 1.5rem;
  }
}

/* Working Process ? 4 cards + CTA below */

.section.working-process {
  overflow-x: clip;
  overflow-y: visible;
  background-color: transparent;
  max-width: 100%;
}

.section.working-process .working-process-contant-wrapper {
  padding-left: clamp(1rem, 5vw, 4rem) !important;
  padding-right: clamp(1rem, 5vw, 4rem) !important;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}

.section.working-process .working-process-contant-wrap {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible;
}

.section.working-process .working-process-sticky-wrap {
  position: static !important;
  top: auto !important;
  overflow: visible !important;
  padding-top: 0.4rem;
}

.section.working-process .working-process-flex-wrap {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.1rem;
  align-items: stretch;
  overflow: visible;
  padding-top: 0.25rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.section.working-process .single-working-process-wrap,
.section.working-process .working-process-title-contant {
  display: flex;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  height: auto;
  position: relative;
  z-index: 1;
  transform: none !important;
  -webkit-transform: none !important;
  overflow: visible;
  isolation: isolate;
}

.section.working-process .working-process-title-contant {
  grid-column: 1 / -1;
  margin-top: 0.35rem;
}

.section.working-process .working-process-card {
  background-color: #ffffff;
  border: 1px solid rgba(56, 109, 103, 0.12);
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(23, 51, 48, 0.06);
  padding: 1rem 1rem 1.35rem !important;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.section.working-process .working-process-card:hover {
  transform: translateY(-2px);
  border-color: rgba(93, 146, 140, 0.28);
  box-shadow: 0 12px 28px rgba(56, 109, 103, 0.1);
  z-index: 1;
}

.section.working-process .working-process-card-contant {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  gap: 1rem;
}

.section.working-process .working-process-info-wrap {
  display: block !important;
  margin-bottom: 0 !important;
  flex: 0 0 auto;
}

.section.working-process .working-process-number-wrap {
  display: none !important;
}

.section.working-process .working-process-image-wrap {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 16 / 10;
  border-radius: 0.75rem !important;
  overflow: hidden;
  background-color: rgba(151, 185, 187, 0.2);
}

.section.working-process .working-process-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: none !important;
}

.section.working-process .working-process-image-wrap picture {
  display: block;
  width: 100%;
  height: 100%;
}

/* Per-card focal points so each photo crops on its subject */
.section.working-process .single-working-process-wrap:first-child .working-process-image {
  object-position: 50% 32%; /* consultation: faces sit in the upper half */
}

.section.working-process .single-working-process-wrap._2nd .working-process-image {
  object-position: 28% center; /* record review: keep the documents, trim the faded edge */
}

.section.working-process .single-working-process-wrap._3rd .working-process-image {
  object-position: 42% center; /* preparation: hand, pen and calculator */
}

.section.working-process .single-working-process-wrap._4th .working-process-image {
  object-position: center 38%; /* follow-up: keep the whole meeting in frame */
}

.section.working-process .working-process-title-details {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex: 1 1 auto;
  min-width: 0;
}

.section.working-process .working-process-title-wrap {
  max-width: 100% !important;
  margin-bottom: 0 !important;
}

.section.working-process .process-card-title,
.section.working-process h3.working-process-title.process-card-title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  color: #386D67 !important;
  font-size: clamp(0.95rem, 1.05vw, 1.08rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}

.section.working-process .process-card-title > span:last-child {
  min-width: 0;
  flex: 1 1 auto;
}

.section.working-process .process-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background-color: #386D67;
  color: #F7F6F2;
  font-family: Chivo Mono, monospace;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
}

.section.working-process .working-process-details-wrap {
  overflow: visible;
  min-width: 0;
}

.section.working-process .working-process-details {
  margin: 0;
  color: #3d5652 !important;
  font-size: clamp(0.84rem, 0.95vw, 0.92rem) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  overflow: visible;
  white-space: normal;
  display: block;
}

/* CTA banner below cards */
.section.working-process .working-process-title-card {
  background-color: #386D67 !important;
  background-image: linear-gradient(160deg, #386D67 0%, #5D928C 100%) !important;
  border: 1px solid rgba(247, 246, 242, 0.1) !important;
  border-radius: 1rem !important;
  box-shadow: 0 12px 32px rgba(23, 51, 48, 0.12);
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem) !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem 2rem;
  text-align: left;
  box-sizing: border-box;
  overflow: hidden;
}

.section.working-process .working-process-card-title {
  color: #F7F6F2 !important;
  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.55rem !important;
  width: 100%;
  max-width: 34rem;
}

.section.working-process .working-process-card-details-wrap {
  max-width: 34rem !important;
  width: 100%;
  margin: 0 !important;
  flex: 1 1 18rem;
}

.section.working-process .working-process-card-details {
  color: rgba(247, 246, 242, 0.9) !important;
  font-size: clamp(0.92rem, 1.05vw, 1.02rem) !important;
  line-height: 1.6 !important;
  margin: 0;
}

.section.working-process .working-process-title-card .button-wrapper {
  margin: 0;
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
  flex: 0 0 auto;
}

/* Working Process ? responsive grid + CTA */
@media screen and (max-width: 991px) {
  .section.working-process .working-process-contant-wrapper {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .section.working-process .working-process-flex-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem;
    padding-top: 0;
  }

  .section.working-process .working-process-sticky-wrap {
    padding-top: 0;
  }

  .section.working-process .single-working-process-wrap,
  .section.working-process .working-process-title-contant {
    width: 100% !important;
    max-width: none !important;
  }

  .section.working-process .working-process-card {
    height: 100%;
    min-height: 100%;
    padding: 1rem 1rem 1.25rem !important;
  }

  .section.working-process .working-process-info-wrap {
    display: block !important;
    margin-bottom: 0 !important;
  }

  .section.working-process .working-process-image-wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  .section.working-process .working-process-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .section.working-process .process-card-title,
  .section.working-process h3.working-process-title.process-card-title {
    font-size: 1.02rem !important;
  }

  .section.working-process .working-process-details {
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
  }

  .section.working-process .working-process-title-card {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: 1rem;
    padding: 1.5rem 1.35rem !important;
  }

  .section.working-process .working-process-card-title {
    max-width: 100% !important;
    width: 100%;
    margin-bottom: 0.35rem !important;
  }

  .section.working-process .working-process-card-details-wrap {
    max-width: 100% !important;
    flex: 1 1 auto;
    margin: 0 !important;
  }

  .section.working-process .working-process-title-card .button-wrapper {
    margin-left: 0;
    width: 100%;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .section.working-process .working-process-flex-wrap {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.9rem;
  }

  .section.working-process .process-step-number {
    width: 1.6rem;
    height: 1.6rem;
    font-size: 0.72rem;
  }

  .section.working-process .working-process-title-card {
    align-items: center;
    text-align: center;
    padding: 1.35rem 1.15rem !important;
  }

  .section.working-process .working-process-card-title,
  .section.working-process .working-process-card-details-wrap,
  .section.working-process .working-process-card-details {
    max-width: 100% !important;
    text-align: center;
  }

  .section.working-process .working-process-title-card .button-wrapper {
    justify-content: center;
  }

  .section.working-process .working-process-title-card .shiby-btn {
    width: 100%;
    max-width: 18rem;
  }
}

@media screen and (max-width: 479px) {
  .section.working-process .working-process-contant-wrapper {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  .section.working-process .working-process-card {
    padding: 0.9rem 0.9rem 1.15rem !important;
  }

  .section.working-process .working-process-image-wrap {
    aspect-ratio: 16 / 10 !important;
  }
}

/* Testimonials ? multi-card desktop + responsive alignment / arrows */

.section.testimonial {
  position: relative;
  z-index: 1;
  overflow-x: clip;
  overflow-y: visible;
  max-width: 100%;
}

.section.testimonial .section-title {
  color: #173330;
}

.section.testimonial .testimonial-contant-wrap {
  display: flex;
  align-items: stretch;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  gap: 0;
  max-width: 100%;
}

.section.testimonial .testimonial-review-wrap {
  z-index: 3;
  width: 100%;
  max-width: 23.958vw;
  flex: 0 0 23.958vw;
  position: relative;
}

.section.testimonial .testimonial-review-card {
  background: linear-gradient(165deg, #386D67 0%, #5D928C 100%) !important;
  border: 1px solid rgba(247, 246, 242, 0.12) !important;
  border-radius: 1rem 0 0 1rem !important;
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(1.75rem, 2.6vw, 2.6rem) !important;
  height: 100%;
  min-height: 24rem;
  box-shadow: 0 10px 28px rgba(23, 51, 48, 0.1);
}

.section.testimonial .testimonial-review-card-contant {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  text-align: left;
}

.section.testimonial .testimonial-review-number-wrap {
  margin-bottom: 1.1rem !important;
}

.section.testimonial .testimonials-quote-icon-wrap {
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 999px;
  background: rgba(247, 246, 242, 0.14);
  border: 1px solid rgba(247, 246, 242, 0.2);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.section.testimonial .testimonials-quote-icon {
  width: 1.4rem !important;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

.section.testimonial .testimonial-review-info-wrap {
  margin-bottom: 0.75rem !important;
}

.section.testimonial .testimonial-review-info {
  color: #F7F6F2 !important;
  font-family: inherit !important;
  font-size: clamp(1.2rem, 1.45vw, 1.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  text-align: left !important;
}

.section.testimonial .testimonial-review-details-wrap {
  max-width: 100% !important;
  margin: 0 0 1.4rem !important;
}

.section.testimonial .testimonial-review-details {
  color: rgba(247, 246, 242, 0.9) !important;
  font-size: clamp(0.9rem, 1vw, 0.98rem) !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  text-align: left !important;
}

.section.testimonial .shiby-leave-review-wrap {
  margin-top: 0.15rem;
  justify-content: flex-start !important;
  width: 100%;
}

/* Leave a Review button styling comes from the global .shiby-btn component */

.section.testimonial .testimonial-slider-wrap {
  width: 100%;
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.section.testimonial .testimonial-slider {
  background-color: transparent;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: visible;
}

.section.testimonial .testimonial-slider-mask {
  max-width: 23.958vw !important;
  width: 23.958vw !important;
  overflow: visible !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  height: 100%;
}

.section.testimonial .testimonial-slide.w-slide,
.section.testimonial .testimonial-slide {
  width: 100%;
  margin-right: 1.04vw;
  vertical-align: top;
  text-align: left !important;
  height: 100%;
  box-sizing: border-box;
}

.section.testimonial .testimonial-card {
  background-color: #ffffff !important;
  border: 1px solid rgba(56, 109, 103, 0.12) !important;
  border-radius: 0.9rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 1.35rem !important;
  min-height: 22rem;
  height: 100%;
  box-shadow: 0 8px 24px rgba(23, 51, 48, 0.05);
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch !important;
  text-align: left !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.section.testimonial .testimonial-card:hover {
  transform: none;
  border-color: rgba(93, 146, 140, 0.32) !important;
  box-shadow: 0 12px 28px rgba(56, 109, 103, 0.1);
}

.section.testimonial .testimonial-image-info {
  margin-bottom: 1.15rem !important;
  gap: 0.8rem !important;
  align-items: center !important;
  justify-content: flex-start !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  flex-direction: row !important;
  text-align: left !important;
  width: 100%;
}

.section.testimonial .testimonial-image-wrap {
  border-radius: 999px !important;
  overflow: visible;
  flex: 0 0 auto;
  margin: 0 !important;
  align-self: flex-start;
}

.section.testimonial .testimonial-initials {
  background: linear-gradient(145deg, #386D67 0%, #5D928C 100%) !important;
  color: #F7F6F2 !important;
  border-radius: 999px !important;
  width: 3rem !important;
  height: 3rem !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
}

.section.testimonial .testimonial-info-wrap {
  text-align: left !important;
  flex: 1 1 auto;
  min-width: 0;
  align-self: center;
}

.section.testimonial .testimonial-info {
  color: #386D67 !important;
  font-size: clamp(1rem, 1.15vw, 1.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  margin-bottom: 0.2rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

.section.testimonial .testimonial-info-details {
  color: #5D928C !important;
  font-family: Chivo Mono, monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  line-height: 1.3 !important;
  text-align: left !important;
  margin: 0 !important;
}

.section.testimonial .testimonial-rating {
  margin-bottom: 0.85rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 0.15rem !important;
  justify-content: flex-start !important;
  align-items: center !important;
  display: flex !important;
  width: 100%;
  text-align: left !important;
}

.section.testimonial .testimonial-star {
  color: #E2D3A8 !important;
  font-size: 1rem !important;
}

.section.testimonial .testimonial-star.is-filled {
  color: #D4A017 !important;
}

.section.testimonial .testimonial-details-button {
  margin-top: auto;
  width: 100%;
  text-align: left !important;
}

.section.testimonial .testimonial-details-wrap {
  margin-bottom: 0 !important;
  width: 100%;
  text-align: left !important;
}

.section.testimonial .testimonial-details {
  color: #173330 !important;
  font-size: clamp(0.88rem, 1vw, 0.98rem) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  margin: 0;
  white-space: normal;
  overflow: visible;
  text-align: left !important;
}

.section.testimonial .testimonial-slider-overlay {
  display: block !important;
  z-index: 2;
  background-color: #F7F6F2 !important;
  position: absolute;
  inset: 0 0% 0 -100%;
  transform: translate(-50%);
  pointer-events: none;
}

.section.testimonial .testimonial-button {
  background-color: #ffffff !important;
  border: 1px solid rgba(56, 109, 103, 0.16);
  border-radius: 999px !important;
  width: 3.125vw !important;
  height: 3.125vw !important;
  min-width: 2.75rem;
  min-height: 2.75rem;
  box-shadow: 0 6px 16px rgba(23, 51, 48, 0.08);
  z-index: 4;
  cursor: pointer;
  pointer-events: auto;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.section.testimonial .testimonial-button.left {
  position: absolute !important;
  inset: auto auto -5.7vw -24vw !important;
}

.section.testimonial .testimonial-button.right {
  position: absolute !important;
  inset: auto auto -5.7vw -20vw !important;
}

.section.testimonial .testimonial-button:hover {
  background-color: #386D67 !important;
  border-color: #386D67;
  box-shadow: 0 10px 20px rgba(56, 109, 103, 0.2);
}

.section.testimonial .testimonial-button-arrow,
.section.testimonial .testimonial-button-hover-arrow {
  width: 0.8854vw !important;
  min-width: 0.75rem;
}

@media screen and (max-width: 1199px) and (min-width: 992px) {
  .section.testimonial .testimonial-review-wrap {
    max-width: 22vw;
    flex: 0 0 22vw;
  }

  .section.testimonial .testimonial-slider-mask {
    max-width: 22vw !important;
    width: 22vw !important;
  }

  .section.testimonial .testimonial-button.left {
    inset: auto auto -4.5vw -22vw !important;
  }

  .section.testimonial .testimonial-button.right {
    inset: auto auto -4.5vw -18vw !important;
  }
}

@media screen and (max-width: 991px) {
  .section.testimonial {
    padding-bottom: 6.5rem !important;
  }

  .section.testimonial .testimonial-contant-wrap {
    flex-flow: column;
    gap: 1.25rem;
    align-items: stretch;
  }

  .section.testimonial .testimonial-review-wrap {
    max-width: 100%;
    flex: 1 1 auto;
  }

  .section.testimonial .testimonial-review-card {
    border-radius: 1rem !important;
    min-height: 0;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .section.testimonial .testimonial-slider-wrap {
    width: 100%;
    padding-bottom: 0;
  }

  .section.testimonial .testimonial-slider {
    padding-bottom: 3.75rem;
    box-sizing: border-box;
  }

  .section.testimonial .testimonial-slider-mask {
    max-width: min(28.75rem, 100%) !important;
    width: min(28.75rem, 100%) !important;
    overflow: visible !important;
    margin: 0 !important;
  }

  .section.testimonial .testimonial-slide.w-slide,
  .section.testimonial .testimonial-slide {
    margin-right: 1.25rem;
    text-align: left !important;
    height: 100% !important;
  }

  .section.testimonial .testimonial-card {
    min-height: 18.5rem;
    height: 100% !important;
    padding: 1.25rem !important;
    text-align: left !important;
    align-items: stretch !important;
  }

  .section.testimonial .testimonial-image-info {
    display: flex !important;
    flex-flow: row nowrap !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    width: 100%;
  }

  .section.testimonial .testimonial-image-wrap,
  .section.testimonial .testimonial-info-wrap,
  .section.testimonial .testimonial-info,
  .section.testimonial .testimonial-info-details,
  .section.testimonial .testimonial-details,
  .section.testimonial .testimonial-details-wrap,
  .section.testimonial .testimonial-details-button {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .section.testimonial .testimonial-rating {
    justify-content: flex-start !important;
    width: 100%;
  }

  .section.testimonial .testimonial-slider-overlay {
    display: none !important;
  }

  .section.testimonial .testimonial-button {
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  .section.testimonial .testimonial-button.left {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 0 !important;
    left: calc(50% - 3.1rem) !important;
    inset: auto auto 0 calc(50% - 3.1rem) !important;
  }

  .section.testimonial .testimonial-button.right {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 0 !important;
    left: calc(50% + 0.35rem) !important;
    inset: auto auto 0 calc(50% + 0.35rem) !important;
  }

  .section.testimonial .testimonial-button-arrow,
  .section.testimonial .testimonial-button-hover-arrow {
    width: 0.95rem !important;
  }
}

@media screen and (max-width: 767px) {
  .section.testimonial {
    padding-bottom: 5.75rem !important;
  }

  .section.testimonial .testimonial-slider {
    padding-bottom: 3.5rem;
  }

  .section.testimonial .testimonial-slider-mask {
    max-width: 100% !important;
    width: 100% !important;
  }

  .section.testimonial .testimonial-slide.w-slide,
  .section.testimonial .testimonial-slide {
    margin-right: 0;
    width: 100%;
    height: 100% !important;
  }

  .section.testimonial .testimonial-card {
    min-height: 17.5rem;
    height: 100% !important;
    width: 100%;
    padding: 1.15rem !important;
    text-align: left !important;
  }

  .section.testimonial .testimonial-image-info {
    flex-flow: row nowrap !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .section.testimonial .testimonial-details {
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .section.testimonial .shiby-leave-review-wrap {
    justify-content: flex-start !important;
  }

  .section.testimonial .shiby-leave-review-btn {
    width: auto;
    max-width: 100%;
  }

  .section.testimonial .testimonial-button.left {
    left: calc(50% - 3.1rem) !important;
    inset: auto auto 0 calc(50% - 3.1rem) !important;
  }

  .section.testimonial .testimonial-button.right {
    left: calc(50% + 0.35rem) !important;
    inset: auto auto 0 calc(50% + 0.35rem) !important;
  }
}

@media screen and (max-width: 479px) {
  .section.testimonial .testimonial-image-info {
    flex-flow: row nowrap !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

  .section.testimonial .testimonial-card {
    min-height: 16.5rem;
    padding: 1rem !important;
    text-align: left !important;
  }

  .section.testimonial .testimonial-info,
  .section.testimonial .testimonial-info-details,
  .section.testimonial .testimonial-details {
    text-align: left !important;
  }

  .section.testimonial .testimonial-rating {
    justify-content: flex-start !important;
  }

  .section.testimonial .testimonial-button {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem;
    min-height: 2.5rem;
  }

  .section.testimonial .testimonial-button.left {
    left: calc(50% - 2.85rem) !important;
    inset: auto auto 0 calc(50% - 2.85rem) !important;
  }

  .section.testimonial .testimonial-button.right {
    left: calc(50% + 0.25rem) !important;
    inset: auto auto 0 calc(50% + 0.25rem) !important;
  }
}

@media screen and (max-width: 375px) {
  .section.testimonial .testimonial-card {
    min-height: 15.5rem;
  }

  .section.testimonial .testimonial-review-card {
    padding: 1.35rem !important;
  }

  .section.testimonial .testimonial-image-info {
    flex-flow: row nowrap !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
  }
}

/* ============================================================
   Ltd Companies page  scoped polish only
   ============================================================ */
.shiby-ltd-companies-page {
  --shiby-ltd-accent: #5D928C;
  --shiby-ltd-accent-soft: rgba(151, 186, 188, 0.22);
}

/* Ltd / About heroes reuse Home v2-banner; tune underline to shorter titles */
.section.v2-banner.shiby-ltd-banner .shiby-hero-title::after,
.section.v2-banner.shiby-about-banner .shiby-hero-title::after {
  width: min(100%, 13ch);
}

@media screen and (max-width: 991px) {
  .section.v2-banner.shiby-ltd-banner .shiby-hero-title::after,
  .section.v2-banner.shiby-about-banner .shiby-hero-title::after {
    width: min(100%, 13ch);
  }
}

/* Hide removed support-steps leftovers if cached markup remains */
.shiby-ltd-companies-page .ltd-company-support-steps {
  display: none !important;
}

/* Limited Company Services + brown accent */
.shiby-ltd-companies-page .ltd-services-section {
  background-color: #F7F6F2;
}

.shiby-ltd-companies-page .ltd-services-section__subtitle .section-subtitle-dot {
  background-color: var(--shiby-ltd-accent) !important;
}

.shiby-ltd-companies-page .ltd-services-section__subtitle .section-subtitle-text {
  color: var(--shiby-ltd-accent) !important;
}

.shiby-ltd-companies-page .ltd-services-section__header {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(2rem, 3.2vw, 3rem);
}

.shiby-ltd-companies-page .ltd-services-section__title {
  color: #173330;
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(0.85rem, 1.2vw, 1.15rem);
  text-wrap: balance;
}

.shiby-ltd-companies-page .ltd-services-section__intro {
  color: #3d5652;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

.shiby-ltd-companies-page .ltd-services-section__card {
  background: #ffffff;
  border: 1px solid rgba(56, 109, 103, 0.12);
  border-radius: 1rem;
  box-shadow: 0 8px 22px rgba(23, 51, 48, 0.05);
  height: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.shiby-ltd-companies-page .ltd-services-section__card::before {
  background: linear-gradient(90deg, #386D67 0%, var(--shiby-ltd-accent) 100%) !important;
}

.shiby-ltd-companies-page .ltd-services-section__card:hover {
  border-color: rgba(93, 146, 140, 0.4);
  box-shadow: 0 14px 28px rgba(56, 109, 103, 0.1);
  transform: translateY(-2px);
}

.shiby-ltd-companies-page .ltd-services-section__card-icon {
  background: rgba(93, 146, 140, 0.12);
  color: #386D67;
  border: 1px solid rgba(56, 109, 103, 0.12);
}

.shiby-ltd-companies-page .ltd-services-section__card-icon--accent,
.shiby-ltd-companies-page .ltd-services-section__card--feature .ltd-services-section__card-icon {
  background: var(--shiby-ltd-accent-soft);
  color: var(--shiby-ltd-accent);
  border-color: rgba(93, 146, 140, 0.3);
}

.shiby-ltd-companies-page .ltd-services-section__card:hover .ltd-services-section__card-icon {
  background: #386D67;
  color: #F7F6F2;
  border-color: #386D67;
}

.shiby-ltd-companies-page .ltd-services-section__card:hover .ltd-services-section__card-icon--accent,
.shiby-ltd-companies-page .ltd-services-section__card--feature:hover .ltd-services-section__card-icon {
  background: var(--shiby-ltd-accent);
  color: #F7F6F2;
  border-color: var(--shiby-ltd-accent);
}

.shiby-ltd-companies-page .ltd-services-section__card-title {
  color: #173330;
}

.shiby-ltd-companies-page .ltd-services-section__card-text {
  color: #3d5652;
}

.shiby-ltd-companies-page .ltd-services-section__card--feature {
  border-color: rgba(93, 146, 140, 0.25);
  background: linear-gradient(180deg, #ffffff 0%, rgba(247, 246, 242, 0.95) 100%);
}

/* Pillars accents + "Trusted support" section composition */
.shiby-ltd-companies-page .shiby-ltd-pillars {
  background-color: #ffffff;
}

.shiby-ltd-companies-page .shiby-ltd-pillars__header {
  max-width: 46rem;
  margin-bottom: clamp(2rem, 3vw, 2.75rem);
}

.shiby-ltd-companies-page .shiby-ltd-pillars__title {
  text-wrap: balance;
}

.shiby-ltd-companies-page .shiby-ltd-pillars__figure {
  border-radius: var(--shiby-radius-card);
  border-color: rgba(201, 191, 181, 0.55);
  box-shadow: 0 14px 34px rgba(23, 51, 48, 0.12);
}

.shiby-ltd-companies-page .shiby-ltd-pillars__visual-badge {
  border-radius: 0.75rem;
  background-color: #386D67;
  border-color: rgba(151, 186, 188, 0.35);
  box-shadow: 0 12px 28px rgba(23, 51, 48, 0.24);
}

.shiby-ltd-companies-page .shiby-ltd-pillars__visual-badge-label {
  color: #C9BFB5;
}

.shiby-ltd-companies-page .shiby-ltd-pillars__grid {
  align-items: stretch;
  gap: 1.25rem;
}

.shiby-ltd-companies-page .shiby-ltd-pillars__card {
  background: #ffffff;
  height: 100%;
}

.shiby-ltd-companies-page .shiby-ltd-pillars__card-icon--accent {
  background: var(--shiby-ltd-accent-soft);
  color: var(--shiby-ltd-accent);
}

/* How We Work / Our approach  palette harmony */
.shiby-ltd-companies-page .shiby-ltd-process {
  background:
    linear-gradient(160deg, rgba(56, 109, 103, 0.96) 0%, rgba(93, 146, 140, 0.94) 58%, rgba(151, 185, 187, 0.9) 100%);
  padding-top: clamp(3.75rem, 6vw, 5.5rem);
  padding-bottom: clamp(3.75rem, 6vw, 5.5rem);
}

.shiby-ltd-companies-page .shiby-ltd-process__header .section-subtitle-text {
  color: #C9BFB5 !important;
}

.shiby-ltd-companies-page .shiby-ltd-process__header .section-subtitle-dot {
  background-color: #C9BFB5 !important;
}

.shiby-ltd-companies-page .shiby-ltd-process__header .section-title.white {
  color: #F7F6F2 !important;
}

.shiby-ltd-companies-page .shiby-ltd-process__grid {
  gap: 1.25rem;
}

/* Keep number + heading on one row even if older card CSS reappears */
.shiby-ltd-companies-page .shiby-ltd-process__step-title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.65rem;
}

.shiby-ltd-companies-page .shiby-ltd-process__step-number {
  display: inline-flex !important;
  width: 1.75rem !important;
  height: 1.75rem !important;
  flex: 0 0 1.75rem !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background-color: #386D67 !important;
  color: #F7F6F2 !important;
}

/* Get Started CTA image optimization helpers */
.shiby-ltd-companies-page .self-assessment-cta__background {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.shiby-ltd-companies-page .self-assessment-cta__overlay {
  background: linear-gradient(
    105deg,
    rgba(56, 109, 103, 0.88) 0%,
    rgba(56, 109, 103, 0.72) 48%,
    rgba(93, 146, 140, 0.4) 100%
  );
}

@media screen and (max-width: 991px) {
  .shiby-ltd-companies-page .ltd-services-section__title {
    max-width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .shiby-ltd-companies-page .shiby-ltd-pricing__card {
    padding: 1.25rem 1rem;
  }

  .shiby-ltd-companies-page .ltd-services-section__card {
    padding: 1.25rem 1.1rem;
  }

  .shiby-ltd-companies-page .shiby-ltd-pillars__grid {
    grid-template-columns: 1fr;
  }

  .shiby-ltd-companies-page .shiby-ltd-process__step-body {
    padding: 1rem 1rem 1.2rem;
  }
}

/* ============================================================
   SHIBY Redesign System
   Palette rhythm, typography, buttons, cards, section surfaces.
   Loads last in the cascade; approved palette only.
   ============================================================ */

:root {
  --shiby-surface-taupe: #F4F0EA;   /* warm taupe tint for light bands */
  --shiby-surface-mist: #EDF3F3;    /* soft mist tint for cool bands */
  --shiby-card-border: rgba(201, 191, 181, 0.6);
  --shiby-card-shadow: 0 1px 2px rgba(23, 51, 48, 0.05), 0 14px 34px rgba(23, 51, 48, 0.07);
  --shiby-card-shadow-hover: 0 2px 4px rgba(23, 51, 48, 0.06), 0 22px 44px rgba(23, 51, 48, 0.11);
  --shiby-radius-card: 1.125rem;
  --shiby-label-color: #5D928C;
}

/* --- Typography system ------------------------------------------ */

h2.section-title,
.section-title,
h2.about-title,
.about-title {
  font-size: clamp(2rem, 3.5vw, 2.875rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.shiby-topics__title,
.working-process-title.process-card-title,
.ltd-services-section__card-title,
.shiby-ltd-pillars__card-title,
.shiby-ltd-process__step-title {
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.section-details,
.cta-details,
.ltd-services-section__intro,
.ltd-services-section__card-text,
.shiby-ltd-pillars__card-text,
.shiby-ltd-process__step-text,
.working-process-card-details,
.shiby-topics__text {
  font-size: clamp(1rem, 1.15vw, 1.125rem);
  line-height: 1.7;
}

/* Eyebrow labels: quiet, tracked, brand-toned */
.section-subtitle-text {
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--shiby-label-color);
}

.section-subtitle-dot {
  background-color: var(--shiby-label-color);
}

/* Readable measure for intros */
.ltd-services-section__intro,
.section-details {
  max-width: 47.5rem;
}

/* Breathing room between section headers and their content */
.section-title-wrap {
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
}

/* --- Hero treatments (Home / About / Ltd) ------------------------ */

.section.v2-banner {
  background:
    radial-gradient(52rem 26rem at 88% -4%, rgba(151, 186, 188, 0.2), transparent 62%),
    linear-gradient(168deg, #386D67 0%, #35625C 55%, #2C5450 100%);
}

.section.about-banner {
  background:
    radial-gradient(48rem 24rem at 85% 0%, rgba(151, 186, 188, 0.18), transparent 60%),
    linear-gradient(168deg, #386D67 0%, #35625C 58%, #2C5450 100%);
}

/* Dark sections use taupe labels for warmth */
.section.v2-banner,
.section.about-banner,
.shiby-ltd-companies-page .shiby-ltd-process,
.section.cta {
  --shiby-label-color: #C9BFB5;
}

/* --- Section surface rhythm -------------------------------------- */

/* Home (v2-services stays deep teal as the dark band of the page) */
.section.v2-about { background-color: #ffffff; }
.section.shiby-video-section { background-color: var(--shiby-surface-taupe); }
.section.v2-services {
  --shiby-label-color: #C9BFB5;
  background:
    radial-gradient(50rem 26rem at 10% 0%, rgba(151, 186, 188, 0.14), transparent 62%),
    linear-gradient(168deg, #386D67 0%, #35625C 55%, #2C5450 100%);
}
.section.why-choose-us { background-color: var(--shiby-surface-mist); }
.section.working-process { background-color: var(--shiby-surface-taupe); }
.section.testimonial { background-color: #ffffff; }
.section.faq { background-color: var(--shiby-surface-mist); }
.section.quote-section { background-color: var(--shiby-surface-taupe); }

/* About (solution stays deep teal as the dark band of the page) */
.section.history { background-color: #ffffff; }
.section.guiding-values { background-color: var(--shiby-surface-taupe); }
.section.solution {
  --shiby-label-color: #C9BFB5;
  background:
    radial-gradient(46rem 22rem at 88% 0%, rgba(151, 186, 188, 0.16), transparent 60%),
    linear-gradient(168deg, #386D67 0%, #35625C 58%, #2C5450 100%);
}

/* Ltd Companies */
.shiby-ltd-companies-page .ltd-services-section {
  background-color: var(--shiby-surface-taupe);
}

.shiby-ltd-companies-page .shiby-ltd-pillars {
  background-color: #ffffff;
}

/* --- Card system -------------------------------------------------- */

/* Shared premium card base */
.shiby-topics__card,
.ltd-services-section__card,
.shiby-ltd-pillars__card,
.working-process-card {
  border-radius: var(--shiby-radius-card);
  box-shadow: var(--shiby-card-shadow);
}

.section.v2-about .shiby-topics__card {
  background-color: #ffffff;
  border: 1px solid var(--shiby-card-border);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.section.v2-about .shiby-topics__card:hover {
  transform: translateY(-3px);
  border-color: rgba(151, 186, 188, 0.8);
  box-shadow: var(--shiby-card-shadow-hover);
}

.ltd-services-section__card,
.shiby-ltd-pillars__card {
  border-color: var(--shiby-card-border);
  padding: 2rem 1.875rem;
}

.shiby-ltd-companies-page .ltd-services-section__card:hover,
.shiby-ltd-companies-page .shiby-ltd-pillars__card:hover {
  box-shadow: var(--shiby-card-shadow-hover);
}

.section.working-process .working-process-card {
  border-color: var(--shiby-card-border);
}

/* Icon containers: 56px, softly tinted, consistent */
.ltd-services-section__card-icon,
.shiby-ltd-pillars__card-icon {
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  min-height: 3.5rem;
  border-radius: 0.75rem;
}

.ltd-services-section__icon-svg,
.shiby-ltd-pillars__icon-svg {
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

/* FAQ cards: white question card + mist answer card on the mist band */
.section.faq .faq-card {
  background-color: #ffffff;
  border: 1px solid var(--shiby-card-border);
  border-radius: var(--shiby-radius-card);
  box-shadow: var(--shiby-card-shadow);
}

.section.faq .faq-details-card {
  border-radius: var(--shiby-radius-card);
}

/* Testimonial cards: warm frame on white band */
.section.testimonial .testimonial-card {
  border: 1px solid var(--shiby-card-border);
  box-shadow: var(--shiby-card-shadow);
}

/* --- Button system: .shiby-btn ------------------------------------ */
/*
   One global button component, cloned from the approved Home hero CTA.
   Default = cream pill (identical to the hero button, for dark surfaces).
   .shiby-btn--teal = same geometry, font, arrow, and motion for light
   surfaces where a cream pill would not read (header, white bands, modal).
   Used by <a>, <button>, and plugin submit buttons sitewide.
*/

.shiby-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  min-height: 3.05rem;
  margin: 0;
  padding: 0.95rem 1.55rem;
  border: 1.5px solid #C9BFB5;
  border-radius: 999px;
  background-color: #F7F6F2;
  color: #386D67;
  font-family: "Chivo Mono", "DM Sans", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: none;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  box-shadow: 0 10px 28px rgba(23, 51, 48, 0.28);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.shiby-btn__label {
  display: inline-block;
  color: inherit;
}

.shiby-btn__arrow {
  width: 1rem;
  height: 0.75rem;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 21'><path d='M27.0773 9.42265L27.0766 9.42334V9.41919L27.0753 9.42057V9.41781L26.8702 9.4185C20.2639 9.32155 15.7553 4.5952 15.7553 0.111485L14.2548 0.112176C14.2551 3.84436 16.7422 7.46103 20.6229 9.41919L0.918525 9.4185V10.9183L20.6326 10.919C16.7464 12.8762 14.2548 16.4949 14.2548 20.2302H15.7546C15.7546 15.7179 20.3214 10.9598 26.9965 10.9218C27.0234 10.9219 27.0504 10.9225 27.0773 10.9225L27.0773 9.42265Z' fill='black'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 21'><path d='M27.0773 9.42265L27.0766 9.42334V9.41919L27.0753 9.42057V9.41781L26.8702 9.4185C20.2639 9.32155 15.7553 4.5952 15.7553 0.111485L14.2548 0.112176C14.2551 3.84436 16.7422 7.46103 20.6229 9.41919L0.918525 9.4185V10.9183L20.6326 10.919C16.7464 12.8762 14.2548 16.4949 14.2548 20.2302H15.7546C15.7546 15.7179 20.3214 10.9598 26.9965 10.9218C27.0234 10.9219 27.0504 10.9225 27.0773 10.9225L27.0773 9.42265Z' fill='black'/></svg>") center / contain no-repeat;
  transition: transform 0.2s ease;
}

.shiby-btn:hover,
.shiby-btn:focus-visible {
  background-color: #C9BFB5;
  border-color: #C9BFB5;
  color: #173330;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(23, 51, 48, 0.34);
}

.shiby-btn:hover .shiby-btn__arrow,
.shiby-btn:focus-visible .shiby-btn__arrow {
  transform: translateX(3px);
}

.shiby-btn:active {
  transform: translateY(0);
  box-shadow: 0 8px 20px rgba(23, 51, 48, 0.24);
}

.shiby-btn:focus-visible {
  outline: 3px solid rgba(151, 186, 188, 0.95);
  outline-offset: 2px;
}

.shiby-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 6px 16px rgba(23, 51, 48, 0.16);
}

/* Teal variant for light surfaces (same geometry, motion, and arrow) */
.shiby-btn--teal {
  background-color: #386D67;
  border-color: #386D67;
  color: #F7F6F2;
  box-shadow: 0 10px 28px rgba(56, 109, 103, 0.24);
}

.shiby-btn--teal:hover,
.shiby-btn--teal:focus-visible {
  background-color: #5D928C;
  border-color: #5D928C;
  color: #F7F6F2;
  box-shadow: 0 14px 34px rgba(93, 146, 140, 0.32);
}

@media (prefers-reduced-motion: reduce) {
  .shiby-btn,
  .shiby-btn__arrow {
    transition-duration: 0.001s;
  }

  .shiby-btn:hover,
  .shiby-btn:focus-visible,
  .shiby-btn:hover .shiby-btn__arrow,
  .shiby-btn:focus-visible .shiby-btn__arrow {
    transform: none;
  }
}

/* Visible keyboard focus on light + dark surfaces */
.single-nav-link:focus-visible,
.single-footer-link:focus-visible,
.dropdown-menu-text-link:focus-visible {
  outline: 3px solid rgba(151, 186, 188, 0.95);
  outline-offset: 2px;
}

/* --- Header refinements ------------------------------------------- */
/* Header styling lives in the header block at the top of this file
   (white bar, teal logo chip, nav states, pill CTA with arrow). */

.navbar.inner.v2 .single-nav-link {
  transition: color 0.2s ease, opacity 0.2s ease;
}

/* --- Footer refinements ------------------------------------------- */

.section.footer {
  position: relative;
}

.section.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #C9BFB5 0%, #97BABC 40%, #5D928C 75%, #386D67 100%);
}

.section.footer .footer-links-title {
  color: #C9BFB5;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.section.footer .single-footer-link div {
  transition: color 0.2s ease, transform 0.2s ease;
}

.section.footer .single-footer-link:hover div {
  color: #97BABC;
}

.section.footer .single-footer-link:focus-visible div {
  color: #97BABC;
}

.section.footer .footer-copyright {
  color: rgba(247, 246, 242, 0.72);
}

/* --- Image presentation ------------------------------------------- */

.why-choose-us .image-wrapper,
.guiding-values .image-wrapper,
.section.history .image-wrapper,
.single-about-info-image-wrap {
  border-radius: var(--shiby-radius-card);
  overflow: hidden;
}

/* --- Layout guards ------------------------------------------------- */

.pages-wrapper {
  overflow-x: clip;
}

/* --- Responsive refinements ---------------------------------------- */

@media screen and (max-width: 991px) {
  .section-title-wrap {
    margin-bottom: clamp(1.5rem, 4vw, 2.25rem);
  }
}

@media screen and (max-width: 479px) {
  .section-title,
  h2.section-title,
  .about-title,
  h2.about-title {
    font-size: clamp(1.625rem, 7.5vw, 2rem);
  }

  .section-details,
  .cta-details,
  .ltd-services-section__card-text,
  .shiby-ltd-pillars__card-text,
  .shiby-ltd-process__step-text,
  .working-process-card-details,
  .shiby-topics__text {
    font-size: 1rem;
  }

  .ltd-services-section__card,
  .shiby-ltd-pillars__card {
    padding: 1.5rem 1.25rem;
  }

  .shiby-btn {
    width: 100%;
    max-width: 20rem;
    justify-content: center;
  }

  /* Header CTA must stay compact so the navbar row fits the viewport */
  .navbar .shiby-btn {
    width: auto;
    max-width: none;
  }

  /* The header CTA must stay compact next to the hamburger */
  .navbar.inner.v2 .shiby-btn {
    width: auto;
    max-width: none;
  }
}
