/* Rank Forge Marketing wordmark + logo mark */
.site-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  white-space: nowrap;
  max-width: 100%;
}
.site-logo__mark {
  height: 26px;
  width: auto;
  flex-shrink: 0;
}
.site-logo--dark {
  color: #17012C;
}
.footer-widget__logo .site-logo,
.sidebar-one__logo .site-logo,
.logo-box .site-logo {
  font-size: 19px;
}
.footer-widget__logo .site-logo__mark,
.sidebar-one__logo .site-logo__mark,
.logo-box .site-logo__mark {
  height: 32px;
}
@media (max-width: 575px) {
  .site-logo { font-size: 14px; gap: 6px; }
  .site-logo__mark { height: 22px; }
}

/* Shrink the interior page-header banner (title + breadcrumb) so pages
   get to real content faster, especially on mobile. */
/* The site header floats absolutely positioned over whatever is below it
   (by template design) and its real height varies by breakpoint (topbar
   visibility, nav wrapping). page-header padding-top must clear the
   tallest header state at each breakpoint or the title gets clipped. */
.page-header {
  padding-top: 200px;
  padding-bottom: 60px;
}
.page-header__title {
  margin-bottom: 14px;
  font-size: 32px;
}
@media (min-width: 768px) {
  .page-header__title {
    font-size: 40px;
  }
}
@media (max-width: 700px) {
  .page-header {
    padding-top: 115px;
    padding-bottom: 35px;
  }
  .page-header__title {
    font-size: 26px;
    margin-bottom: 10px;
  }
  .growim-breadcrumb {
    padding: 6px 10px 9px;
  }
  .growim-breadcrumb li {
    font-size: 13px;
  }
}

/* Hide the 01/03 slide counter on the homepage hero slider. */
.main-slider-two .growim-owl__carousel__counter {
  display: none !important;
}

/* Shrink the homepage hero slider so the first CTA and services are
   visible sooner, especially on mobile. */
.main-slider-two__item {
  padding-top: 210px;
  padding-bottom: 100px;
}
@media (max-width: 1199px) {
  .main-slider-two__item {
    padding-top: 180px;
    padding-bottom: 90px;
  }
}
@media (max-width: 767px) {
  .main-slider-two__item {
    padding-top: 140px;
    padding-bottom: 60px;
  }
}

/* Google review trust badges: light background, gold stars, and a real
   link to leave/read a review instead of static text. */
.service-two__bottom--light {
  background-image: none !important;
  background-color: var(--growim-white, #fff);
  border: 1px solid var(--growim-border2-color, #D4DCFF);
}
.service-two__bottom--light::after {
  display: none;
}
.service-two__bottom__clients span.service-two__bottom__stars,
.about-one__image__clients span.service-two__bottom__stars {
  color: #F5B301 !important;
}
.service-two__bottom--light .service-two__bottom__clients span,
.service-two__bottom--light .service-two__bottom__rating {
  color: var(--growim-black, #17012C);
}
.service-two__bottom__rating,
.about-one__image__clients__rating {
  font-weight: 600;
  display: inline-block;
  text-transform: capitalize;
  letter-spacing: -0.32px;
  margin-left: 10px;
  text-decoration: none;
  transition: color 300ms ease;
}
.about-one__image__clients__rating {
  color: var(--growim-black, #17012C);
}
.service-two__bottom__rating:hover,
.about-one__image__clients__rating:hover {
  color: var(--growim-primary, #635AD9);
}

/* Inline educational links inside service card descriptions: signal they
   explain a term, without looking like a broken/plain link. */
.service-two__item__jargon {
  text-decoration: underline dotted;
  text-underline-offset: 3px;
}

/* Trust bar: third-party review platform badges shown just below the hero,
   styled as individual bordered cards instead of cramped inline text. */
.trust-bar {
  background-color: var(--growim-white, #fff);
  border-bottom: 1px solid var(--growim-border2-color, #D4DCFF);
  padding: 32px 0;
}
.trust-bar__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.trust-bar__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--growim-text, #504E4E);
}
.trust-bar__items {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 16px;
}
.trust-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 140px;
  padding: 16px 20px;
  border: 1px solid var(--growim-border2-color, #D4DCFF);
  border-radius: 12px;
  text-decoration: none;
  color: var(--growim-black, #17012C);
  transition: all 300ms ease;
}
a.trust-bar__item:hover {
  border-color: var(--growim-primary, #635AD9);
  box-shadow: 0px 8px 20px rgba(99, 90, 217, 0.12);
  transform: translateY(-2px);
}
.trust-bar__item__name {
  font-weight: 700;
  font-size: 15px;
}
.trust-bar__item__stars {
  color: #F5B301;
  font-size: 13px;
  letter-spacing: 1px;
  white-space: nowrap;
}
.trust-bar__item__logo {
  height: 62px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
@media (max-width: 767px) {
  .trust-bar__item__logo {
    height: 51px;
    max-width: 100%;
  }
}
.trust-bar__item--static {
  opacity: 0.7;
}
@media (max-width: 767px) {
  .trust-bar {
    padding: 26px 0;
  }
  .trust-bar__items {
    gap: 12px;
  }
  .trust-bar__item {
    min-width: calc(50% - 6px);
    padding: 14px 12px;
  }
}

/* Custom cursor glow effect removed per request. */
.custom-cursor__cursor,
.custom-cursor__cursor-two {
  display: none !important;
}

/* About page founder bio. */
.founder-bio__card {
  background: var(--growim-black, #17012C);
  border-radius: 16px;
  padding: 24px;
  height: 100%;
}
.founder-bio__image {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
}
.founder-bio__image img {
  width: 100%;
  height: auto;
  display: block;
}
.founder-bio__name {
  color: var(--growim-white, #fff);
  font-size: 22px;
  margin: 0 0 4px;
}
.founder-bio__title {
  color: var(--growim-primary, #635AD9);
  font-weight: 600;
  margin: 0 0 18px;
}
.founder-bio__credentials {
  list-style: none;
  margin: 0 0 22px;
  padding: 18px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.founder-bio__credentials li {
  position: relative;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  line-height: 1.5;
  padding-left: 20px;
  margin-bottom: 12px;
}
.founder-bio__credentials li::before {
  content: "\203A";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--growim-primary, #635AD9);
  font-weight: 700;
}
.founder-bio__linkedin {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--growim-white, #fff);
  color: var(--growim-black, #17012C);
  font-weight: 600;
  font-size: 14px;
  padding: 12px 20px;
  border-radius: 100px;
  transition: all 300ms ease;
}
.founder-bio__linkedin:hover {
  background-color: var(--growim-primary, #635AD9);
  color: var(--growim-white, #fff);
}
.founder-bio__headline {
  font-size: 30px;
  margin: 0 0 20px;
}
.founder-bio__text {
  color: var(--growim-text, #504E4E);
  line-height: 1.8;
  margin: 0 0 18px;
}
.founder-bio__text a {
  color: var(--growim-secondary, #FF5B19);
  text-decoration: underline;
}
.founder-bio__quote {
  margin: 24px 0 0;
  padding: 20px 24px;
  border-left: 4px solid var(--growim-secondary, #FF5B19);
  background-color: var(--growim-smoke, #F7F5FF);
  font-size: 18px;
  font-weight: 600;
  color: var(--growim-black, #17012C);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .founder-bio__headline {
    font-size: 24px;
  }
}
.founder-bio__press {
  margin: 14px 0 0;
  font-size: 14px;
  color: var(--growim-text, #504E4E);
  line-height: 1.6;
}
.founder-bio__press a {
  color: var(--growim-secondary, #FF5B19);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Newsletter section: the template image slot showed an unrelated stock
   screenshot, so it was removed from the markup. Center the form in the
   space it leaves behind instead of letting it sit off to one side. */
.mail-section__form--center {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}
.mail-section__form--center .mc-form {
  margin: 0 auto;
}

/* The "Typical Agency vs. Rank Forge" comparison cards use the template's
   absolutely-positioned ribbon badge as the card title, which overlaps the
   description text below it unless the text is pushed clear. */
.package-one__item__title {
  max-width: 62%;
  text-align: right;
}
.package-one__item__text {
  padding-top: 46px;
}

/* The homepage footer (.main-footer-two) sits on a light background and
   already recolors most of its text dark, but the intro paragraph and
   wordmark kept the template's light-on-dark defaults, making them
   nearly invisible. Force them dark to match the rest of the footer. */
.main-footer-two .footer-widget__text {
  color: var(--growim-text, #504E4E);
}

/* Service ticker (near "SERVICES") and the matching one above the footer:
   smaller, uniformly filled text instead of the large alternating
   outline/fill effect, a small bullet instead of the asterisk separator,
   and each item links to its service page. */
.service-two__slide-text__list,
.slide-text--home-two .slide-text__list {
  gap: 48px;
}
@media (max-width: 767px) {
  .service-two__slide-text__list,
  .slide-text--home-two .slide-text__list {
    gap: 36px;
  }
}
.service-two__slide-text__list li,
.slide-text--home-two .slide-text__list li {
  font-size: 26px;
}
@media (max-width: 767px) {
  .service-two__slide-text__list li,
  .slide-text--home-two .slide-text__list li {
    font-size: 18px;
  }
}
.service-two__slide-text__list li,
.service-two__slide-text__list li:nth-child(even),
.slide-text--home-two .slide-text__list li,
.slide-text--home-two .slide-text__list li:nth-child(even) {
  color: var(--growim-black, #17012C) !important;
  text-shadow: none !important;
}
.service-two__slide-text__list li a,
.slide-text--home-two .slide-text__list li a {
  color: inherit;
  text-decoration: none;
  transition: color 300ms ease;
}
.service-two__slide-text__list li a:hover,
.slide-text--home-two .slide-text__list li a:hover {
  color: var(--growim-primary, #635AD9);
}
.service-two__slide-text__list li::after,
.slide-text--home-two .slide-text__list li::after {
  content: "";
  font-family: inherit;
  width: 6px;
  height: 6px;
  right: -27px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: var(--growim-black, #17012C);
  border-radius: 50%;
  font-size: 0;
  color: transparent;
  text-shadow: none;
}
@media (max-width: 767px) {
  .service-two__slide-text__list li::after,
  .slide-text--home-two .slide-text__list li::after {
    right: -21px;
    width: 5px;
    height: 5px;
  }
}

/* Service cards (SEO / Local SEO / Web Design / Paid Ads): scaled up
   roughly 50% so they read as the section's primary content. */
.service-two__item {
  min-height: 430px;
  border-radius: 26px;
}
.service-two__item::after {
  border-radius: 26px;
}
.service-two__item__content {
  padding: 38px 45px 38px 60px;
}
.service-two__item--no-image .service-two__item__content {
  padding: 38px 45px;
}
.service-two__item__title {
  font-size: 34px;
  margin-bottom: 22px;
}
.service-two__item__text {
  font-size: 18px;
  line-height: 1.7;
}
.service-two__item__rm {
  width: 68px;
  height: 68px;
  font-size: 20px;
}
.service-two__item__number {
  font-size: 66px;
  right: 40px;
  bottom: 40px;
}
.service-two__item__image img {
  min-height: 430px;
}
@media (max-width: 767px) {
  .service-two__item {
    min-height: 0;
  }
  .service-two__item__content {
    padding: 30px;
  }
  .service-two__item__title {
    font-size: 26px;
  }
  .service-two__item__text {
    font-size: 16px;
  }
}

/* On service/industry/niche/location pages the sidebar (industries list,
   hours, call box) sits before the main content in the markup, which pushes
   it above the actual content on tablet/mobile. Show content first there. */
@media (max-width: 991px) {
  .service-details .row {
    display: flex;
    flex-wrap: wrap;
  }
  .service-details .row > .col-lg-4 {
    order: 2;
  }
  .service-details .row > .col-lg-8 {
    order: 1;
  }
}

/* service-details__list checkmarks: the theme's flex-wrap:wrap moves the
   whole text to a new row (below the checkmark) instead of just wrapping
   the text itself, whenever an item's copy is too long for its column. */
.service-details__list li {
  flex-wrap: nowrap;
  align-items: flex-start;
}
.service-details__list li i {
  flex: none;
  margin-top: 6px;
}

/* Brand tokens for the productized offers (pricing, audit form, additional
   services strip). Used directly rather than the theme's --growim-primary/
   --growim-secondary variables, which are purple/blue on most pages and
   orange only on index.html (growim-color-1.css is homepage-only) -
   re-theming those globally is a separate, much larger change. */
:root {
  --rf-orange: #F26522;
  --rf-navy: #1E2A3A;
}

/* Hero: second, lower-emphasis CTA next to the primary audit CTA. */
.main-slider-two__btn {
  gap: 16px;
  flex-wrap: wrap;
}
.growim-btn--outline .growim-btn__text {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: var(--growim-white, #fff);
}
.growim-btn--outline .growim-btn__text::after {
  background-color: rgba(255, 255, 255, 0.15);
}
.growim-btn--outline:hover .growim-btn__text {
  border-color: #fff;
}

/* Pricing cards (pricing.html) */
.pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 991px) {
  .pricing-cards {
    grid-template-columns: 1fr;
  }
}
.pricing-card {
  background: var(--growim-white, #fff);
  border: 1px solid var(--growim-border2-color, #D4DCFF);
  border-radius: 16px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
}
.pricing-card--featured {
  border-color: var(--rf-orange);
  border-width: 2px;
  box-shadow: 0px 16px 40px rgba(242, 101, 34, 0.14);
  position: relative;
}
.pricing-card__badge {
  display: inline-block;
  align-self: flex-start;
  background-color: var(--rf-orange);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 14px;
  border-radius: 100px;
  margin-bottom: 16px;
}
.pricing-card__name {
  font-size: 22px;
  font-weight: 800;
  color: var(--rf-navy);
  margin: 0 0 8px;
}
.pricing-card__outcome {
  color: var(--growim-text, #504E4E);
  margin: 0 0 20px;
  line-height: 1.6;
}
.pricing-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
}
.pricing-card__price__amount {
  font-size: 38px;
  font-weight: 800;
  color: var(--rf-navy);
  line-height: 1;
}
.pricing-card__price__term {
  font-size: 14px;
  color: var(--growim-text, #504E4E);
}
.pricing-card__price__note {
  font-size: 13px;
  color: var(--growim-text, #504E4E);
  margin: 0 0 22px;
}
.pricing-card__list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  flex-grow: 1;
}
.pricing-card__list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  font-size: 14px;
  color: var(--rf-navy);
  line-height: 1.5;
}
.pricing-card__list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rf-orange);
  font-weight: 700;
}
.pricing-card .growim-btn__text {
  background-color: var(--rf-navy);
  width: 100%;
  text-align: center;
}
.pricing-card--featured .growim-btn__text {
  background-color: var(--rf-orange);
}
.pricing-card .growim-btn {
  display: block;
}

/* "What's Included" detail section below the pricing cards */
.pricing-detail {
  margin-top: 70px;
}
.pricing-detail__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 30px;
}
@media (max-width: 991px) {
  .pricing-detail__grid {
    grid-template-columns: 1fr;
  }
}
.pricing-detail__col h4 {
  font-size: 18px;
  font-weight: 800;
  color: var(--rf-navy);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--rf-orange);
}
.pricing-detail__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pricing-detail__col li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  font-size: 14px;
  color: var(--growim-text, #504E4E);
  line-height: 1.5;
}
.pricing-detail__col li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--rf-orange);
  font-weight: 700;
  font-size: 13px;
}

/* Add-ons strip */
.addons {
  margin-top: 60px;
  background-color: var(--growim-smoke, #F7F5FF);
  border-radius: 16px;
  padding: 36px 40px;
}
.addons__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 30px;
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}
@media (max-width: 767px) {
  .addons__list {
    grid-template-columns: 1fr;
  }
}
.addons__list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  color: var(--rf-navy);
  padding: 10px 0;
  border-bottom: 1px solid rgba(30, 42, 58, 0.1);
}
.addons__list li span {
  color: var(--growim-text, #504E4E);
  font-size: 13px;
  white-space: nowrap;
}

/* Homepage services: three primary cards get full prominence; everything
   else moves into a smaller, clearly secondary "Additional Services" strip
   instead of competing for the same visual weight. */
.additional-services {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--growim-border2-color, #D4DCFF);
}
.additional-services__label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--growim-text, #504E4E);
  margin: 0 0 18px;
}
.additional-services__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.additional-services__list a {
  display: inline-block;
  padding: 10px 18px;
  border: 1px solid var(--growim-border2-color, #D4DCFF);
  border-radius: 100px;
  color: var(--rf-navy);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 300ms ease;
}
.additional-services__list a:hover {
  border-color: var(--rf-orange);
  color: var(--rf-orange);
}

/* Free Local Visibility Audit form (free-audit.html) - select field to
   match the existing .form-one text-input styling via bootstrap-select. */
.form-one .bootstrap-select .dropdown-menu {
  font-size: 14px;
}
.form-one__control select.form-control {
  display: block;
  width: 100%;
  height: 56px;
  background-color: var(--growim-white, #fff);
  border-radius: 10px;
  color: var(--growim-text, #504E4E);
  font-size: 14px;
  font-weight: 500;
  border: none;
  outline: none;
  padding-left: 20px;
  padding-right: 20px;
}
