@font-face {
  font-family: 'Crimson Pro';
  src: url('assets/CrimsonPro-Bold.woff2') format('woff2'),
       url('assets/CrimsonPro-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root{
  --radius: 16px;
  --glass-bg: rgba(255,255,255,0.65);
  --soft: #f6f7f9;
  --ink: #0f1115;
  --soft-blue: #cdedff;
  --hard-blue: #4b80b9;
  --purple: #403294;
  --bs-btn-border-color: #757575;


}

/* Custom Bootstrap Tooltip Styles */
.tooltip .tooltip-inner {
  background-color: rgba(0, 0, 0, 0.8);
  font-size: 16px;
  padding: 10px 15px;
  border-radius: 10px;
  max-width: 300px;
}

.tooltip .tooltip-arrow::before {
  border-top-color: rgba(0, 0, 0, 0.8);
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: rgba(0, 0, 0, 0.8);
}

.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: rgba(0, 0, 0, 0.8);
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: rgba(0, 0, 0, 0.8);
}

/* Anchor scrolling is handled by jQuery (assets/app.js) for a controlled,
   soft easing; native smooth-scroll is left off to avoid the two fighting. */
html, body { scroll-behavior: auto; }

body{
  font-family: 'mainFont', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--ink);
  background: #fff;
  font-feature-settings: "liga" 1, "kern" 1;
}

p {font-size: 18px;letter-spacing: -0.1pt;}
.h1, h1 {font-size: 40px; font-weight: 600; letter-spacing: -0.8pt; line-height: 56px;}
.h2, h2 {font-size: 35px; font-weight: 600; margin-bottom: -5px; letter-spacing: -0.3pt;}
.h3, h3 {font-size: 29px; font-weight: 700; letter-spacing: -0.3pt;}
.h5, h5 {font-size: 23px; font-weight: 700;letter-spacing: -0.3pt;}
.h6, h6 {font-size: 23px; font-weight: 700;letter-spacing: -0.3pt;margin-bottom: -5px;}

.card-work-title {
	font-size: 25px;
	font-weight: 600;
	letter-spacing: -0.3pt;
	margin-bottom: -5px;
	line-height: 23px;
	margin-top: 8px;
}

.btn-outline-light {--bs-btn-border-color: #757575;}

.btn-outline-light {
	--bs-btn-hover-color: #979797;
	--bs-btn-hover-bg: #000;
    --bs-btn-hover-border-color: #000;
    --bs-btn-active-bg: #000;
    --bs-btn-active-border-color: #000;
}

/* Call now button: black background, bright white text on hover */
.btn-call {
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #000;
    --bs-btn-hover-border-color: #000;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #000;
    --bs-btn-active-border-color: #000;
}
/* Force white text on hover/focus/active (beats .btn:hover color) */
.btn-call:hover i,
.btn-call:focus i,
.btn-call:active i {
    color: #ffffff !important;
}
/* Purple gradient background on hover (matches the Guaranteed Results section) */
.btn-call:hover,
.btn-call:focus,
.btn-call:active {
    color: #ffffff !important;
    border-color: #4d00aa !important;
    background: #4d00aa !important;
    background: radial-gradient(720px 420px at 88% 0%, rgba(18,102,227,.35), transparent 62%), linear-gradient(0deg, #4d00aa 0%, #0d2240 100%) !important;
}

/* Request a Free Consultation button: blue background, white text on hover */
.btn-consult:hover,
.btn-consult:focus,
.btn-consult:active {
    color: #ffffff !important;
    background-color: #1266e3 !important;
    border-color: #1266e3 !important;
}

.bg-darknav {background-color: #000 !important;background: #000000;
background: linear-gradient(90deg, rgb(0, 0, 0) 0%, rgb(30, 42, 49) 81%);}


.container {max-width: 1200px;}

.text-muted {color: rgba(44, 65, 85, 0.75) !important;}
.text-white {color: #fff !important;}
.iw {color: #fff !important;}
.bm {color: rgba(169, 198, 225, 0.75) !important;}
.text-lgray {color: #f1f2f9 !important;}
.text-purple {color: var(--purple) !important}
.text-lpurple {color: #c6a4ff !important}
.text-orange {color: #ff4800 !important;}
.text-cheddar {color: #ffba35 !important;}
.text-blue {color:#2077ff !important;}
.text-lblue {color:#a1cfff !important;}


.text-grow {
	color: #000 !important;
	display: inline-block;
	background: #ffcc00;
	padding: 0 8px 10px 7px;
	border-radius: 10px;
	transform: rotate(-3deg);
	transform-origin: 50% 80%;    
}



.icons {position: relative;top: -3px; font-size: 19px;}

.font-22 {font-size: 22px !important;}
.font-32 {font-size: 32px !important;}
.font-42 {font-size: 42px !important;}

.subText {font-size: 23px;margin-top: 0px;}

.hand-icon {display: none;}

.badge-title {font-size: 21px; font-weight: 700;letter-spacing: -0.2pt;}
.badge-header {font-size: 28px; font-weight: 300;}

.push-down {
	margin-bottom: 22px !important;
	background-color: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.14);
	padding: 12px;
	border-radius: 10px;
	text-align: center;
}

.bg-purple {
	background: #13315c;
	background: radial-gradient(720px 420px at 88% 0%, rgba(18,102,227,.35), transparent 62%), linear-gradient(0deg, #4d00aa 0%, #0d2240 100%);
}

/* CTA section below Guaranteed Results */
section.bg-dark.text-center {
	background: radial-gradient(760px 340px at 50% -10%, rgba(18,102,227,.35), transparent 70%), linear-gradient(180deg, #20262f 0%, #000 100%) !important;
	padding: 80px 0 5px 0;
}


.bg-bluey {background: #00388c;
    background: linear-gradient(180deg, rgba(0, 56, 140, 1) 0%, rgba(0, 85, 171, 1) 49%);}

.bg-lgray {background-color: #f1f2f9;}
.bg-dgray {background-color: #121212;}

.bi {color: #4c5055;}

.fabText{font-size: 19px;}

.navbar {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.navbar .navbar-brand { letter-spacing: -0.2px; }
.navbar-logo {
  height: 40px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
}

@media (max-width: 768px) {
  .navbar-logo {
    height: 32px;
    max-width: 140px;
  }
}
.tracking-tight { letter-spacing: -0.2px; }
.shadow-xs { box-shadow: 0 4px 16px rgba(0,0,0,0.2); }

/* Section kicker (eyebrow label) */
.section-kicker{
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase;
  color: var(--hard-blue); margin-bottom: 12px;
}
.section-kicker .bi{ color: inherit; font-size: 1.15em; }
.section-kicker.k-light{ color: #8fc1ff; }
.section-kicker.k-gold{ color: #ffc95e; }

.btn-pill { border-radius: 7px; padding: 9px 16px; font-size: 22px;}

/* "Not sure which plan?" contact CTA */
.ask-cta { text-align: center; margin-top: 2.5rem; margin-bottom: 1.5rem; }
.ask-cta-btn {
  display: inline-block;
  width: auto;
  max-width: 100%;
  padding: 12px 32px;
  font-size: 20px;
  white-space: normal;
}
.ask-cta-note {
	margin: 0.35rem auto 0;
	max-width: 420px;
	font-size: 19px;
	color: #495b6a;
}
@media (max-width: 575.98px) {
  .ask-cta-btn { display: block; width: 100%; padding: 12px 20px; font-size: 18px; }
}

.btn-low {background-color: #624ff8;border: none; font:23px; color:#fff;}
.btn-low:hover {background-color: #705eff;}
.btn-low:active {background-color: #4633d9 !important;}

.btn-mid {background-color: #0b71f9;border: none; font:23px; color:#fff;}
.btn-mid:hover {background-color: #1276fb;}
.btn-mid:active {background-color: #024fb5 !important;}

.btn-top {background-color: #000000;border: none; font:23px; color:#fff;}
.btn-top:hover {background-color: #1276fb;}
.btn-top:active {background-color: #024fb5 !important;}

.starter-text {color: #848484 !important;}
.cents-text {color: #849dbd !important;font-size: 12px;}


.brand-dot{
  width: 10px; height: 10px; border-radius: 50%;
  display: inline-block; background: #111; vertical-align: middle; margin-right: 8px;
}

.hero{
  position: relative;
  overflow: hidden; /* clips the hero image's cropped bottom edge so the
                       hand appears to slide under the section below it */
  background: #FFFFFF;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.8) 0%, rgba(234, 234, 234, 0.8) 100%), url('images/line-45.png');
  background-repeat: no-repeat, repeat-x;
  background-size: cover, auto;
}

.testimonials-bg{
  background: #FFFFFF;
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(234, 234, 234, 1) 100%);
}
.hero .hero-trust { font-size: 14px; }

.hero-image {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
}

.hero-img {
  width: auto;
  height: 100%;
  max-height: 500px;
  object-fit: contain;
  margin-left: auto;
  filter: drop-shadow(0 30px 40px rgba(13,34,64,.22));
  /* Pivot at the wrist (bottom-right, where the arm leaves the frame) so the
     card does the moving, and bury the image's cropped bottom/right edges
     slightly past the visible area so the tilt never exposes the cut lines. */
  transform-origin: 92% 96%;
  translate: 10px 12px;
  animation:
    heroSlide 2s .2s cubic-bezier(0.33, 1, 0.68, 1) both,
    heroSway 8s 2.6s ease-in-out infinite;
}
@keyframes heroSlide{
  /* Enter from off the bottom-right along a 45deg diagonal (equal X and Y),
     no fade — the hand slides up into frame and eases to a smooth stop,
     like a hand presenting the card. overflow:hidden hides it until it enters. */
  from{ transform: translate(180px, 180px); }
  to  { transform: none; }
}
@keyframes heroSway{
  0%, 100%{ transform: rotate(0deg); }
  25%     { transform: rotate(2.4deg); }
  75%     { transform: rotate(-2.4deg); }
}
@media (prefers-reduced-motion: reduce){
  .hero-img{ animation: none; }
}
.glass{
  background: var(--glass-bg);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: var(--radius);
}
.check-badge{
  width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center; background: #111; color: #fff;
}

.section-pad{ padding: 80px 0; }

.bg-soft {background: #ccc8c8;background: linear-gradient(0deg, rgb(172, 160, 160) 0%, rgba(230, 226, 226, 1) 100%);
}

.section-head p{ margin-top: 4px;}




.pricing-card-1 {
      border-radius: 13px;
      background: #ebf1f7;
      padding: 28px;
      height: 100%;
      display: flex; flex-direction: column; justify-content: space-between;
      transition: transform .2s ease, box-shadow .2s ease;
      color: #566684;
      border: 1px solid #a3a4a4;
      box-shadow: 0 18px 50px rgba(0,0,0,0.12);
}

.pricing-card-2{
      border-radius: 13px;
      background: #fff;
      padding: 28px;
      height: 100%;
      display: flex; flex-direction: column; justify-content: space-between;
      transition: transform .2s ease, box-shadow .2s ease;
      border: 1px solid #848e8e;
      box-shadow: 0 18px 50px rgba(0,0,0,0.12);
}
.pricing-card-3{
      border-radius: 13px;
      background: #1c1c1c;
      padding: 28px;
      height: 100%;
      display: flex; flex-direction: column; justify-content: space-between;
      transition: transform .2s ease, box-shadow .2s ease;
      background: #1B1B1B;
      background: linear-gradient(339deg, rgb(71, 100, 132) 0%, rgb(25, 25, 64) 100%);
      border: 1px solid #333333;
      box-shadow: 0 18px 50px rgba(0,0,0,0.12);
}



.card-3-text{color: #ff7c54 !important;}

.pricing-card-1:hover, .pricing-card-2:hover, .pricing-card-3:hover{
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
/* Ribbon badge for pricing cards */
.pricing-card-2 {
	position: relative;
	overflow: hidden;
}

.pricing-badge {
	position: absolute;
	top: 34px;
	right: -39px;
	background: #ff4345;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 40px;
	text-transform: uppercase;
	transform: rotate(45deg);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	z-index: 10;
}

.price-title {font-family: 'Pritag', 'mainFont', sans-serif;letter-spacing: 0.2pt;font-size: 32px;}
.ppro {
	font-family: 'Pritag', 'mainFont', sans-serif;
	font-size: 20px;
	letter-spacing: 0.2pt;
	display: inline-block;
	padding: 2px 6px 2px 8px;
	border-radius: 6px;
	background-color: #ff4242;
	color: #fff1f1;
	line-height: 1.15;
	vertical-align: middle;
	transform: skewX(-10deg);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.purps {color: #624ff8;}
.price{font-family: 'mainFont', sans-serif; font-size: 40px; font-weight: 800; letter-spacing: -1pt;}
.card-tagline {
	font-family: 'Pritag', 'mainFont', sans-serif;
	font-size: 20px;
	line-height: 1.35;
	color: #7a8caa;
	margin-bottom: 0;
	font-style: italic;
	letter-spacing: 0pt;
}
.card-tagline.pro{color: #6e80b7;}
.pleasecall{font-size: 30px; font-weight: 600; letter-spacing: -0.5pt;}

.feature{display: flex; align-items: flex-start; gap: 10px; font-size: 17px; margin-left: 20px;}
.featuresp{display: flex; align-items: flex-start; gap: 10px; font-size: 17px; margin-left: 10px;}
.feature i{ margin-top: 3px; }

.step{
  padding: 24px; border: 1px solid rgba(0,0,0,0.3); border-radius: 16px; background: #fff;
  height: 100%; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.step-num{
  width: 29px; height: 29px; border-radius: 50px; background: #33bcf0; color: #fff; display: grid; place-items: center; margin-right: 5px; margin-bottom: 0; font-size: 20px; font-weight: 700; flex-shrink: 0;
}
.step h3 {
  display: flex; align-items: center; margin-bottom: 0;
}

#work {
  position: relative;
  overflow: hidden;
}

#work::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 250%;
  height: 250%;
  background-image: url('images/bkg-dark-pattern.png');
  background-size: 100px;
  background-repeat: repeat;
  opacity: 0.3;
  pointer-events: none;
  z-index: 1;
}

#work .container {
  position: relative;
  z-index: 2;
}

#packages {
  position: relative;
  overflow: hidden;
}

#packages::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('images/bkg-price-pattern.png');
  background-size: 300px;
  background-repeat: repeat;
  opacity: 0.04;
  pointer-events: none;
  z-index: 1;
}

#packages .container {
  position: relative;
  z-index: 2;
}

.work-tile{
  border: 8px solid #fff; border-radius: 16px; overflow: hidden; background: #fff !important;
}
.rounded {border-radius: 12px !important;}
.work-img{
  background: linear-gradient(135deg, #e8eaee, #ffffff);
}
.work-meta{padding: 14px 3px;}

.accordion-button{ border-radius: 7px !important; font-size: 22px; }

.accordion-icon {color: var(--hard-blue); margin-right: 3px;}

/* Enhanced accordion animations for mobile */
.accordion-collapse {
  transition: height 0.4s ease-in-out !important;
  -webkit-transition: height 0.4s ease-in-out !important;
}

.accordion-collapse.collapsing {
  transition: height 0.4s ease-in-out !important;
  -webkit-transition: height 0.4s ease-in-out !important;
}
.accordion-item{ border: none; margin-bottom: 10px; font-size: 21px; max-width: 1000px;}
.accordion-button:focus{ box-shadow: none;}
.accordion-button:not{ box-shadow: none; background-color: var(--soft-blue);}
.accordion-button:hover{ box-shadow: none; background-color: #eaeaea;}

.accordion-body {color: #69758a; max-width: 900px; border-bottom: 1px solid rgba(0,0,0,0.15); margin: 0 12px; padding-bottom: 1rem;}

.accordion-button:not(.collapsed) {background-color: var(--soft-blue);color: var(--hard-blue);}

footer{ background: #fff; border-top: 1px solid rgba(0,0,0,0.06); }

.testimonial-card{
  padding: 28px; border: 1px solid rgba(0,0,0,0.08); border-radius: 16px; background: #fff;
  height: 100%; transition: transform .2s ease, box-shadow .2s ease;
}
.testimonial-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}
.testimonial-card blockquote {
	font-style: italic;
	color: #333;
	line-height: 1.6;
	font-size: 17px;
}
.stars i{ font-size: 14px; }

/* Testimonials: grid on desktop, swipeable auto-carousel on mobile */
.testimonial-dots{ display: none; }
@media (max-width: 767px){
  .testimonial-track{
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .testimonial-track::-webkit-scrollbar{ display: none; }
  .testimonial-track > [class*="col-"]{
    flex: 0 0 100%;
    max-width: 100%;
    scroll-snap-align: start;
  }
  .testimonial-dots{
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
  }
  .testimonial-dots button{
    width: 8px; height: 8px; padding: 0;
    border: none; border-radius: 50%;
    background: rgba(15,17,21,0.2);
    transition: background .25s ease, transform .25s ease;
    cursor: pointer;
  }
  .testimonial-dots button.active{
    background: #0b71f9;
    transform: scale(1.35);
  }
}

.diff {
	border-radius: 9px;
	padding: 3px 0 0 10px;
	font-weight: bold;
    color: #1f6ed7;
    background-color: #dce4f0;
    background: linear-gradient(135deg, rgb(211, 229, 255) 0%, rgb(255, 255, 255) 70%);    
}

.diffe {
	border-radius: 9px;
	padding: 3px 0 0 10px;
	font-weight: bold;
	background: linear-gradient( 135deg, rgb(47, 89, 168) 0%, rgba(33, 90, 198, 0) 80% );
}

.trust-stats{
  border-top: 1px solid rgba(0,0,0,0.08);
  padding-top: 40px;
}
.stat-number{
  font-size: 45px; font-weight: 900; color: var(--ink); line-height: 1; letter-spacing: -1pt;
}
.stat-label{
  font-size: 18px; color: #666; margin-top: 0px;
}



.guarantee-badge{
  background: #e8f5e8; color: #2d5a2d; padding: 8px 16px; border-radius: 12px;
  font-size: 13px; font-weight: 500; border: 1px solid #d4e5d4;
}

.guarantee-box{
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.trust-badge{
  display: flex; align-items-center; gap: 12px;
  padding: 16px; background: #fff; border-radius: 12px; border: 1px solid rgba(0,0,0,0.08);
  transition: transform .2s ease;
}
.trust-badge:hover{
  transform: translateY(-2px);
}
.trust-badge-icon{
  font-size: 24px; min-width: 32px;
}
.trust-badge-text{
  line-height: 1.3;
}

.wyg {font-size: 33px;letter-spacing: -0.5pt;font-weight: 700;}
.wyg-text {font-size:22px;}

.darkFoot {color: #717171;font-size: 13px;background-color: #000;}

.form-control{font-size: 18px; font-weight: 400; letter-spacing: 0.1pt;}
.form-label {font-size: 16px; font-weight: 300;color: #5867a2;margin-bottom: 0;}
.modal-body {padding: 3px 30px; border-radius: 20px;}
.modal-header {background-color: #004c9d;border-bottom: 0;margin-bottom: 21px;}
.modal-title {line-height: 35px;padding: -53px;color: #fff;}
.thank-you {color: #212121; font-size: 41px;font-weight: 500;}

.slide-text {font-size: 17px; line-height: 21px;margin-top: 9px;margin-bottom: 0;}

.section-pad.logosection {background-color: #ccc;}

.client-logos {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.client-logos::before,
.client-logos::after {
  content: '';
  position: absolute;
  top: 0;
  width: 100px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.client-logos::before {
  left: 0;
  background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.client-logos::after {
  right: 0;
  background: linear-gradient(to left, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.section-pad-logo{ padding: 20px 0; }

.logos-slider {
  width: 100%;
  overflow: hidden;
}

.logos-track {
  display: flex;
  animation: slide 80s linear infinite;
  width: calc(200px * 20 + 40px * 20); /* 20 logos + gaps */
}

.logo-item {
  width: 150px;
  height: 100px;
  object-fit: contain;
  margin-right: 80px;
  opacity: 0.4;
  filter: grayscale(100%);
  transition: opacity 0.3s ease, filter 0.3s ease;
  flex-shrink: 0;
}

.icon-adjust {top:-3px; position: relative;}


@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-200px * 10 - 40px * 10)); /* Move by width of 10 original logos */
  }
}

.nav-link {margin-right: 20px;font-size: 18px;}
.nav-link:hover {color: #fff;}

.legal-title {font-size: 23px;}

@media only screen and (max-width: 767px) {
    p {font-size: 17px;letter-spacing: -0.1pt;}
    .h1, h1 {font-size: 35px; font-weight: 600; letter-spacing: -0.8pt;line-height: normal;}
    .h2, h2 {font-size: 29px; font-weight: 600; margin-bottom: -5px; letter-spacing: -0.6pt;}
    .h3, h3 {font-size: 25px; font-weight: 600; letter-spacing: -0.5pt;}
    .h5, h5 {font-size: 21px; font-weight: 500;letter-spacing: -0.3pt;}
    .h6, h6 {font-size: 19px; font-weight: 500;letter-spacing: -0.3pt;margin-bottom: -5px;}
    
    .subText {font-size: 17px;margin-top: 0px;}
    .subText-hero {text-align: center;}
    .step .text-muted {margin-bottom: 0;}
    #process .row.g-4 {--bs-gutter-y: 0.75rem;}
    #samples h2 {font-family: 'Crimson Pro', serif; font-weight: 700; color: #000 !important; font-size: 40px; letter-spacing: -0.8pt;margin-bottom: -12px;}
    #samples .subText {color: #000 !important;}
    .samples-title {display: flex; align-items: center; justify-content: space-between;}
    .hand-icon {display: block; width: 70px; height: auto; margin-left: auto; transform: rotate(-30deg);}
    .card-work-title {font-size: 19px;}
    .section-pad {padding: 40px 0;}

    .hero-trust {text-align: center;}

    .price{font-size: 36px; font-weight: 600; letter-spacing: -0.5px;}


    .stat-number{font-size: 30px; font-weight: 600; color: var(--ink); line-height: 1; letter-spacing: -1pt;}
    .stat-label {font-size: 16px;}

    .card-work-title {font-size: 22px;}
    .badge-header {font-size: 22px;}
    .badge-title {font-size: 19px;}

    .btn-pill {font-size: 20px;}
    .font-22 {font-size: 20px !important;}

    .accordion-button {font-size: 19px;}
    .accordion-item {font-size: 17px;}

    .ask-cta-note {font-size: 17px;}

    /* Ensure trust badges have consistent height on mobile */
    .trust-badge {
        height: 100%;
        min-height: 80px;
    }

    /* Stack badges vertically */
    .trust-badges .row {
        flex-direction: column;
    }

    .trust-badges .row .col-6 {
        width: 100%;
        margin-bottom: 0px;
    }
    
    .counter-top {margin-bottom: 50px;}

}

/* Footer legal links */
.legal-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

.legal-link {
    color: #999999;
    text-decoration: none;
    transition: color 0.3s ease;
}

.legal-link:hover {
    color: #ffffff;
    text-decoration: none;
}

.legal-sep {
    color: #555b66;
    font-size: 12px;
    line-height: 1;
}

.push-down {
	margin-bottom: 22px !important;
	background-color: rgba(0,0,0,0.35);
    border: none;
	padding: 12px;
	border-radius: 10px;
	text-align: center;
}

/* Header changer - rotating headlines */
.header-changer {
    height: 85px;
    max-width: 600px;
    overflow: hidden;
    position: relative;
    margin-top: 40px;
}

.header-changer h1 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    line-height: 40px;
    transition: opacity 0.8s ease-in-out;
}

/* Desktop only: both headlines must overlap pixel-perfectly with identical
   typography, or the post-fade role swap produces a visible jump. */
@media (min-width: 768px) {
    .header-changer .headline-current,
    .header-changer .headline-next {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin-bottom: 0;
        font-size: 40px;
        font-weight: 600;
        letter-spacing: -0.8pt;
        line-height: 40px;
        transition: opacity 0.8s ease-in-out;
    }
}

.header-changer .headline-current {
    opacity: 1;
}

.header-changer .headline-next {
    opacity: 0;
}

@media (max-width: 991.98px) {
    .header-changer {
        height: 140px;
    }
}

@media (max-width: 575.98px) {
    .header-changer {
        height: 90px;
        max-width: 90%;
    }
    .accordion-icon {
        display: none;
    }
    .accordion-button.collapsed {
        background-color: #eaeaea;
    }
}

/* Get a Quote button base */
.btn-quote {
    background-color: #000;
    color: #fff !important;
    border: none;
    position: relative;
}

.btn-quote:hover {
    background-color: #193a77;
}

/* Style 1: Rotating gradient border */
.btn-quote-1 {
    border: 2px solid transparent;
    background-image: linear-gradient(#000, #000), linear-gradient(90deg, #624ff8, #ff4800, #ffba35, #624ff8);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    background-size: 100% 100%, 300% 100%;
    animation: gradient-slide 3s linear infinite;
    margin-bottom: 10px;
}
@keyframes gradient-slide {
    0% { background-position: 0 0, 0% 0; }
    100% { background-position: 0 0, 300% 0; }
}

