/* Readability improvements over the original blue and orange design. */
:root {
  --bs-body-font-family: 'Inter', Arial, sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-line-height: 1.75;
}
body {
  font-family: var(--bs-body-font-family);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
.container { max-width: 1320px; width: 92%; padding-inline: 0; }
h1, h2, h3 { font-family: inherit; }
h2 { font-size: 32px; font-weight: 750; line-height: 1.3; letter-spacing: -.8px; }
.topbar { font-size: 13px; }
.topbar-inner { min-height: 40px; }
.nav { min-height: 96px; height: auto; flex-wrap: nowrap; padding-block: 20px; }
.brand strong { font-size: 25px; }
.brand small { font-size: 11px; letter-spacing: .25px; line-height: 1.6; }
.nav nav { font-size: 14px; gap: 24px; }
.button { font-size: 14px; min-height: 48px; padding: 12px 25px; font-weight: 600; line-height: 1.5; }
.button:hover, .button:active { color: #fff; }
.button-outline { border-width: 1.5px; }
.button-outline:hover, .button-outline:active { color: var(--blue); }
.button:focus-visible { box-shadow: 0 0 0 4px #ff8a0033; }
.hero-inner { min-height: 490px; }
.hero-art { clip-path: inset(0 0 0 12%); }
.hero-copy { padding-block: 48px 55px; }
.eyebrow { font-size: 12px; line-height: 1.7; letter-spacing: 1.5px; margin-bottom: 17px; }
h1 { font-size: clamp(40px, 3.5vw, 50px); line-height: 1.15; letter-spacing: -1.7px; margin-bottom: 23px; }
.hero-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.85; max-width: 580px; }
.hero-buttons { margin-block: 28px 32px; gap: 16px; }
.trust-row { gap: 20px; flex-wrap: wrap; }
.trust-row > span { font-size: 12px; line-height: 1.6; }


.section { padding-block: 56px; }
.section > p, .section-heading p { font-size: 16px; line-height: 1.8; margin-top: 12px; }
.section-heading { gap: 32px; margin-bottom: 30px; }
.text-link { font-size: 14px; line-height: 1.6; }
/* Bootstrap owns the responsive product columns and their gutters. */
.product-grid { display: flex; gap: 0; }
.product-card { padding: 27px 21px; gap: 20px; flex-direction: column; }
.product-card > div { display: flex; flex: 1; flex-direction: column; width: 100%; }
.product-card h3 { font-size: 16px; font-weight: 700; line-height: 1.5; letter-spacing: -.3px; margin-bottom: 13px; }
.product-card p { font-size: 15px; line-height: 1.8; margin-bottom: 22px; }
.know-more { font-size: 13px; line-height: 1.6; margin-top: auto; }
.about-grid { min-height: 410px; padding-block: 48px; gap: 30px; }
.about-copy h2 { font-size: 32px; }
.about-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.85; margin-block: 20px 25px; }
.about-points { padding: 17px 22px; }
.about-points > div { font-size: 14px; line-height: 1.75; padding-block: 23px; gap: 17px; }
.why h2 { margin-bottom: 30px; }
.why-grid { gap: 20px; }
.why-card { padding: 26px 20px; gap: 19px; flex-direction: column; }
.why-card h3 { font-size: 16px; line-height: 1.5; font-weight: 700; margin-bottom: 13px; }
.why-card p { font-size: 14px; line-height: 1.8; }
.stats-inner { padding-block: 35px; }
.stats strong { font-size: 32px; }
.stats p span { font-size: 15px; margin-top: 9px; }
.process-grid { gap: 45px; padding: 36px 0 5px; }
.process-card { flex-direction: column; gap: 22px; }
.process-card:not(:last-child)::after { top: 10px; right: -20px; }
.process-card h3 { font-size: 18px; padding-top: 0; margin-bottom: 13px; }
.step { font-size: 12px; width: 28px; height: 28px; margin-right: 8px; }
.process-card p { font-size: 15px; line-height: 1.85; max-width: 245px; }
.industry-grid { margin-top: 30px; gap: 20px; }
.industry-card { font-size: 14px; padding: 24px 17px; gap: 13px; line-height: 1.7; }
.testimonials h2 { margin-bottom: 30px; }
.testimonial-grid { gap: 24px; }
.testimonial { padding: 28px 23px; gap: 18px; }
.testimonial p { font-size: 15px; line-height: 1.85; margin-bottom: 20px; }
.testimonial strong { font-size: 15px; line-height: 1.6; }
.testimonial small { font-size: 13px; line-height: 1.6; margin-top: 5px; }
.stars { font-size: 18px; margin-bottom: 15px; }
.faq { padding-top: 8px; }
.faq-grid { gap: 20px 24px; margin-top: 28px; }
details { padding: 23px; }
summary { font-size: 15px; line-height: 1.7; padding-right: 27px; }
details p { font-size: 15px; line-height: 1.85; padding-top: 15px; }
.contact { padding-bottom: 42px; }
.contact-banner { padding: 34px 40px; gap: 28px; }
.contact-banner h2 { font-size: 26px; line-height: 1.4; }
.contact-banner p { font-size: 15px; line-height: 1.8; margin-top: 12px; }
.footer-grid { padding-block: 44px; gap: 28px; }
footer .brand strong { font-size: 20px; }
footer .brand small { font-size: 10px; }
footer h3 { font-size: 15px; font-weight: 600; line-height: 1.5; margin-bottom: 17px; }
footer p, footer a:not(.brand) { font-size: 14px; line-height: 1.85; }
footer a:not(.brand) { margin-bottom: 7px; }
.footer-location { font-size: 12px; line-height: 1.8; }
.footer-bottom, .footer-bottom a { font-size: 12px !important; line-height: 1.8; }
@media (max-width: 1199px) {
  .brand strong { font-size: 22px; }
  .brand small { font-size: 10px; }
  .nav { gap: 18px; }
  .nav nav { gap: 16px; font-size: 13px; }
  .nav-cta { padding-inline: 16px; font-size: 12px; }
  .hero-copy > p:not(.eyebrow) { max-width: 470px; }
  .trust-row > span { font-size: 11px; }
  
  .why-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .about-grid { grid-template-columns: 1.1fr 1fr; gap: 40px; }
  .about-art { display: none; }
  .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
  .footer-about { grid-column: span 2; }
  .footer-grid > div:nth-child(2) { border: 0; }
}
@media (min-width: 801px) and (max-width: 991px) {
  .nav-cta { display: none; }
  .nav nav { margin-left: auto; }
}
@media (max-width: 800px) {
  .topbar { font-size: 12px; }
  .nav { min-height: 84px; padding-block: 18px; }
  .nav nav { top: 84px; font-size: 16px; gap: 8px; }
  .hero-copy { width: 68%; }
  h1 { font-size: 37px; }
  .hero-copy > p:not(.eyebrow) { font-size: 16px; max-width: 400px; }
  .hero-art { opacity: .55; width: 45%; }
  .hero-buttons { flex-wrap: wrap; }
  .eyebrow { font-size: 11px; }
  
  
  .section { padding-block: 46px; }
  .why-card { flex-direction: column; padding: 25px 20px; }
  .stats-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px; }
  .stats-inner > div:nth-child(2) { border: 0; }
  .stats p span { font-size: 14px; }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
  .process-card:not(:last-child)::after { display: none; }
  .testimonial { padding: 27px; }
  .contact-banner .button { margin-left: 0; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid > div { border: 0; padding-right: 0; }
  .footer-grid > div:last-child { grid-column: span 2; }
}
@media (max-width: 575px) {
  .container { width: 90%; }
  .topbar { font-size: 11px; }
  .contact-links { font-size: 11px; gap: 16px; }
  .topbar-inner { min-height: 36px; }
  .brand strong { font-size: 20px; }
  .brand small { font-size: 9px; }
  .nav { gap: 12px; }
  .nav-cta { display: none; }
  .menu-toggle { margin-left: auto; }
  .hero-inner { min-height: 0; }
  .hero-copy { width: 100%; padding-block: 39px 43px; }
  .hero-art { display: none; }
  h1 { font-size: clamp(31px, 8.1vw, 43px); letter-spacing: -1px; line-height: 1.2; }
  h2, .about-copy h2 { font-size: 28px; line-height: 1.35; }
  .hero-copy > p:not(.eyebrow) { font-size: 16px; max-width: none; line-height: 1.85; }
  .hero-buttons { gap: 12px; margin-block: 25px 29px; }
  .hero-buttons .button { font-size: 13px; padding-inline: 18px; }
  .trust-row { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 14px; }
  .trust-row > span { font-size: 12px; }
  
  
  .section { padding-block: 40px; }
  .section-heading { flex-direction: column; gap: 16px; margin-bottom: 24px; }
  .section > p, .section-heading p { font-size: 16px; }
  .text-link { font-size: 14px; }
  .product-grid { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
  .product-card { padding: 22px 16px; gap: 17px; }
  .product-card h3 { font-size: 16px; }
  .product-card p { font-size: 15px; line-height: 1.8; }
  .know-more { font-size: 13px; }
  .about-grid { grid-template-columns: 1fr; padding-block: 40px; gap: 29px; }
  .about-copy > p:not(.eyebrow) { font-size: 16px; }
  .about-points { padding: 5px 20px; grid-template-columns: 1fr; }
  .about-points > div { font-size: 15px; gap: 17px; padding-block: 20px; }
  .about-points > div:nth-child(3) { border-bottom: 1px solid var(--line); }
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .why-card { padding: 23px 17px; gap: 16px; }
  .why-card h3 { font-size: 16px; }
  .why-card p { font-size: 14px; }
  .stats-inner > div { border: 0; gap: 13px; }
  .stats strong { font-size: 30px; }
  .stats p span { font-size: 13px; }
  .process-grid { gap: 29px 24px; padding-top: 29px; }
  .process-card { gap: 18px; }
  .process-card h3 { font-size: 17px; }
  .process-card p { font-size: 15px; }
  .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .industry-card { flex-direction: column; align-items: flex-start; padding: 22px 18px; font-size: 15px; gap: 16px; }
  .testimonial { padding: 24px 19px; gap: 16px; }
  .testimonial p { font-size: 15px; }
  .testimonial strong { font-size: 15px; }
  .testimonial small { font-size: 13px; }
  .faq { padding-top: 5px; }
  .faq-grid { grid-template-columns: 1fr; }
  details { padding: 22px 19px; }
  summary, details p { font-size: 15px; }
  .contact-banner { padding: 30px 24px; gap: 23px; }
  .contact-banner > svg { display: none; }
  .contact-banner h2 { font-size: 26px; }
  .contact-banner p { font-size: 15px; }
  .footer-grid { padding-block: 35px; gap: 32px 24px; }
  footer h3 { font-size: 16px; }
  footer p, footer a:not(.brand) { font-size: 14px; }
  .footer-bottom { gap: 16px; flex-direction: column; }
}
@media (max-width: 359px) {
  .contact-links { font-size: 10px; gap: 11px; }
  .brand strong { font-size: 18px; }
  
  .product-grid { --bs-gutter-x: 1.25rem; }
  .product-grid > .col { flex: 0 0 100%; width: 100%; }
  .hero-buttons .button { width: 100%; }
  .process-grid { grid-template-columns: 1fr; }
  .stats-inner { column-gap: 13px; }
  .stats p span { font-size: 12px; }
}
