/* Focused accessibility and responsive refinements. */
a:focus-visible, button:focus-visible { outline: 3px solid #e28b56; outline-offset: 5px; }
.hero-style-two { padding-top: 75px; padding-bottom: 80px; }
.hero__content-two .xb-item--title { font-size: clamp(32px, 4.2vw, 64px); line-height: 1.22; letter-spacing: -.035em; }
.hero__content-two .hero-summary { max-width: 610px; font-size: 18px; line-height: 1.7; margin-top: 24px; }
.hero__content-two .xb-item--button { margin-top: 30px; }
.hero-right_site { pointer-events: none; }
.overlay-menu .close { background: transparent; border: 0; padding: 12px; }
.contact-location a { display: inline-block; padding-block: 8px; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 767px) {
 .hero-style-two { padding: 45px 8px 60px; }
 .hero__content-two .xb-item--title { font-size: clamp(30px, 8vw, 44px); }
 .hero__content-two .hero-summary { font-size: 17px; }

 .contact.pt-110 { padding-top: 40px; padding-bottom: 60px; }
 .contact .pb-125 { padding-bottom: 20px; }
 .breadcrumb { padding-top: 50px; padding-bottom: 45px; }
 .contact-location { gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto !important; }
 .wow { visibility: visible !important; animation: none !important; }
 .hero-right_site, .marquee-item { animation: none !important; }
}
.contact-location a { color: #e28b56; }
.contact-location a:hover { color: #fff; }
/* Compact section rhythm without changing the site's visual identity. */
main > .hero-style-two { min-height: 0; padding: 56px 0 64px; overflow: hidden; }
.hero .hero-right_site { top: 50%; transform: translateY(-50%); width: 42%; max-width: 620px; right: -5%; }
.hero .hero-right_site > img { width: 100%; }
main > .careear, main > .feature, main > .projects, main > .story { padding-top: 64px; padding-bottom: 64px; }
main > .counter, main > .service { padding-top: 48px; padding-bottom: 48px; }
main .section-title--two { margin-bottom: 32px; }
main .section-title--two .title { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.3; }
main .xb-careear { padding: 36px 24px; min-height: 0; }
main .service-wrapper { padding: 34px 48px; margin-bottom: 20px; }
main .service-button { padding-top: 12px; }
main > .breadcrumb { padding: 40px 0; margin-bottom: 0; }
main > .contact { padding: 48px 0 56px; }
main .contact .pb-125 { padding-bottom: 0; }
main .contact .section-title { padding-bottom: 32px; }
main > .privacy-policy, main > .terms-services { padding: 48px 0 56px; }
main > .privacy-policy .container, main > .terms-services .container { max-width: 960px; }
main > .privacy-policy h2, main > .terms-services h2 { font-size: clamp(23px, 2.4vw, 32px); line-height: 1.35; }
main > .privacy-policy p, main > .terms-services p { line-height: 1.75; }
main > .team-section { padding-top: 48px; padding-bottom: 48px; }
main > .marquee-two { padding-top: 24px; }
footer.footer { padding: 36px 0 24px; }
footer .footer-logo { text-align: center; }
footer .footer-logo img { width: 180px; max-width: 100%; height: auto; }
footer .row.align-items-center { justify-content: center; }
footer .row.align-items-center > div { margin-bottom: 16px; }
footer .row.mt-20 { margin-top: 0; }
@media (max-width: 991px) {
 main > .hero-style-two { padding: 40px 0 48px; }
 .hero
 main > .careear, main > .feature, main > .projects, main > .story { padding-block: 48px; }
 main .service-wrapper { padding: 28px; }
}
@media (max-width: 767px) {
 main > .hero-style-two { padding: 32px 8px 40px; }
 main > .careear, main > .feature, main > .projects, main > .story,
 main > .counter, main > .service { padding-block: 36px; }
 main .section-title--two { margin-bottom: 24px; }
 main .section-title--two .title { font-size: 28px; }
 main .service-wrapper { padding: 26px 22px; }
 main > .breadcrumb { padding: 28px 0; }
 main > .contact, main > .privacy-policy, main > .terms-services { padding: 32px 0 40px; }
 main .contact .section-title { padding-bottom: 24px; }
 main > .privacy-policy .row, main > .terms-services .row { padding-inline: 4px !important; }
 main > .marquee-two { padding-top: 16px; }
 footer.footer { padding: 28px 0 20px; }
 footer .footer-logo img { width: 150px; }
}
main .service-wrapper .xb-item--content { margin-bottom: 0; }
main .service-wrapper .xb-item--title { font-size: clamp(26px, 3vw, 38px); line-height: 1.3; margin-bottom: 16px; }
main .xb-story { padding: 0 28px 32px; }
main .xb-story .xb-item--image { padding-top: 28px; margin-bottom: 24px; }
main .xb-story .xb-item--image img { width: 100px; }
main .xb-story .xb-item--title { font-size: 21px; margin-bottom: 24px; }
main .xb-story .xb-item--title a { line-height: 1.55; }

/* Mobile cards size to their content; retain the hero artwork. */
@media (max-width: 991px) {
 .hero .hero-right_site { display: block; position: relative; top: auto; right: auto; transform: none; width: min(70%, 320px); max-width: 320px; margin: 24px auto 0; }
}
@media (max-width: 767px) {
 main .careear .xb-careear { height: auto !important; min-height: 0; padding: 26px 22px; }
 main .careear .xb-careear .xb-item--holder { flex: none; justify-content: flex-start; }
 main .careear .xb-careear .xb-item--content { margin-bottom: 20px; }
 main .careear .xb-careear .xb-item--title { flex-grow: 0; margin-bottom: 0; line-height: 1.3; }
 main .careear .xb-careear .xb-item--holder > br { display: none; }
 main .counter .row { row-gap: 16px; }
 main .counter .xb-counter { min-height: 0; padding: 28px 16px; }
 main .counter .xb-counter .xb-svgn svg { height: 100%; }
 main .counter .xb-counter .xb-item--count { margin-bottom: 8px; line-height: 1.1; }
 main .counter .xb-counter .xb-item--content { margin-bottom: 0; line-height: 1.5; }
}
