:root {
  --bef-accent: #bc8d55;
  --bef-green: #7c9873;
  --bef-ink: #111411;
  --bef-panel: #1b1e1b;
  --bef-line: rgba(255, 255, 255, 0.14);
}

html { scroll-behavior: smooth; }
body { color: #d5d8d4; }
a { text-decoration: none; }
button, input, textarea { font: inherit; }
/* Keep the header anchored to the viewport, independent of the body scroll
   container and ScrollSmoother's changing content height. */
.site-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; min-height: 96px; }
.site-header .header-5 { background: var(--bef-ink); }
.site-brand { display: flex; align-items: center; gap: 13px; min-width: 235px; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; }
.site-brand:hover { color: #fff; }
.site-brand img { width: 104px; height: 70px; object-fit: contain; }
.site-brand span { display: block; }
.site-brand small { display: block; margin-top: 6px; color: #afb5ae; font-size: 11px; font-weight: 500; }
.header-5 .header-main { min-height: 96px; }
.header-5 .main-menu > nav > ul > li > a { font-size: 14px; }
.header-contact { gap: 20px; color: #fff; }
.header-contact__icon { width: 48px; height: 48px; display: grid; place-items: center; border: 0; border-radius: 5px; background: #aaa68a; color: #fff; font-size: 17px; }
.header-contact .content p { margin: 0 0 4px; color: #f1f1ee; font-size: 15px; line-height: 1.2; }
.header-contact .content h4 { margin: 0; line-height: 1.2; }
.header-contact .content a { color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.header-contact a:hover { color: var(--bef-accent); }
.header-5 .header-main .header-right { gap: 17px; }
.header-5 .header-main .header-right .sidebar__toggle { border: 1px solid rgba(255, 255, 255, .12); background: #1e221f; color: #fff; font-size: 20px; }
.header-5 .header-main .header-right .sidebar__toggle:hover { color: var(--bef-accent); }
.header-5 .header-button .theme-btn { padding: 17px 20px; font-size: 12px; border-radius: 0; }
.header-5 .header-button::before, .header-5 .header-button::after { border-radius: 0; }
.header-5 .sticky .header-right .header__hamburger, .sticky.header-5 .header-right .header__hamburger { display: block !important; }
.header-5 .sticky .header-right .sidebar__toggle, .sticky.header-5 .header-right .sidebar__toggle { display: grid !important; }
.offcanvas__logo { display: flex; flex-direction: column; align-items: flex-start; color: #fff; font-weight: 700; }
.offcanvas__logo img { width: 120px; height: 76px; object-fit: contain; filter: brightness(0); }
.offcanvas__logo:hover { color: #fff; }
.offcanvas__contact-text a { overflow-wrap: anywhere; }
.offcanvas__contact-text a[href^="mailto:"] { text-transform: lowercase; }
.offcanvas__contact .social-icon a { display: grid; place-items: center; }

.bef-hero { margin-top: 0; padding-top: 120px; }
.bef-hero .hero-wrapper .hero-items .hero-image { height: 600px; overflow: hidden; }
.bef-hero .hero-wrapper .hero-items .hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.bef-hero .hero-wrapper .hero-items .hero-content { width: min(100% - 40px, 1070px); padding: 54px 56px; background-color: #1b1e1b; border-left-color: var(--bef-accent); }
.bef-hero .hero-wrapper .hero-items .hero-content h1 { color: #fff; }
.bef-hero .hero-content .hero-eyebrow { margin: 0 0 10px; color: var(--bef-accent); font-size: 12px; font-weight: 700; }
.bef-hero .hero-content > p:not(.hero-eyebrow) { color: #fff; line-height: 1.7; }
.bef-hero .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 24px; }
.bef-hero .hero-text-link { color: #fff; font-size: 14px; font-weight: 700; }
.bef-hero .hero-text-link i { margin-left: 8px; color: var(--bef-accent); }
.bef-hero .swiper-slide-active .hero-content { visibility: visible; opacity: 1; }
.bef-hero .hero-content .theme-btn { background-color: var(--bef-accent); }
.bef-hero .swiper-slide-active .hero-content { transition-delay: .05s; }
.header__hamburger .sidebar__toggle { display: grid !important; place-items: center; padding: 0; }
.header__hamburger .sidebar__toggle img { display: block; width: 24px; height: 24px; }

.section-title h6, .section-kicker { color: var(--bef-accent); letter-spacing: 0; }
.section-title h2 { line-height: 1.16; }
.section-title > p { max-width: 680px; margin: 15px auto 0; color: #bec3bd; line-height: 1.75; }
.about-content .section-title h2 { font-size: 44px; }
.bef-about-image { position: relative; overflow: hidden; }
.bef-about-image > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.about-image-caption { position: absolute; left: 20px; bottom: 20px; display: flex; align-items: center; gap: 12px; padding: 13px 18px; background: rgba(17, 20, 17, 0.92); color: #fff; }
.about-image-caption strong { color: var(--bef-accent); font-size: 30px; line-height: 1; }
.about-image-caption span { max-width: 100px; font-size: 12px; line-height: 1.35; }
.bef-check-list { margin: 20px 0 25px; }
.bef-check-list p { display: flex; gap: 11px; align-items: flex-start; margin: 0 0 12px; color: #e1e4df; }
.bef-check-list i { color: var(--bef-green); padding-top: 4px; }
.bef-home-about { background: #171a17; }
.bef-home-about .about-content .theme-btn { background: var(--bef-accent); }
.bef-service-preview .section-title-area { align-items: end; margin-bottom: 34px; }
.bef-service-preview .section-title-area > p { max-width: 430px; color: #bcc2bb; line-height: 1.7; }
.service-box-items.style-3.bef-service-card { height: 100%; min-height: 265px; display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--bef-line); border-radius: 3px; background: #191c19; transition: border-color .2s ease, transform .2s ease; }
.bef-service-card:hover { transform: translateY(-3px); border-color: var(--bef-accent); }
.bef-service-card .icon { color: var(--bef-accent); font-size: 27px; }
.bef-service-card .content { width: 100%; display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding-top: 22px; }
.bef-service-card .content h3 { min-height: 54px; margin: 0 0 10px; font-size: 21px; line-height: 1.3; }
.bef-service-card .content h3 a { color: #fff; }
.bef-service-card .content h3 a:hover { color: var(--bef-accent); }
.bef-service-card .content p { flex: 1; color: #b8beb7; font-size: 14px; line-height: 1.65; }
.bef-service-card .link-btn { margin-top: 15px; color: var(--bef-accent); font-size: 13px; font-weight: 700; }
.bef-service-card .link-btn:hover { color: #fff; }
.bef-service-preview > .container > .text-center .theme-btn { background: var(--bef-accent); }

.bef-principles { background: #121512; }
.bef-principles .section-title { max-width: 760px; margin: 0 auto; }
.principle-item { height: 100%; padding: 25px 22px; border-top: 1px solid var(--bef-line); background: #191c19; }
.principle-item > span { color: var(--bef-accent); font-size: 12px; font-weight: 700; }
.principle-item h3 { margin: 17px 0 9px; color: #fff; font-size: 20px; }
.principle-item p { margin: 0; color: #b7bdb6; font-size: 14px; line-height: 1.65; }
.bef-reference-strip { background: #181b18; }
.bef-reference-strip .section-title-area { align-items: end; margin-bottom: 28px; }
.bef-reference-strip .section-title h2 { max-width: 570px; }
.bef-reference-strip .link-btn { color: var(--bef-accent); white-space: nowrap; }
.reference-photo { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #222; }
.reference-photo::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(0, 0, 0, .8)); }
.reference-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.reference-photo:hover img { transform: scale(1.04); }
.reference-photo span { position: absolute; z-index: 1; left: 15px; right: 12px; bottom: 14px; color: #fff; font-size: 15px; font-weight: 700; }
.bef-home-cta .cta-wrapper { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 48px; background: #272a26; }
.bef-home-cta .cta-content { max-width: 650px; }
.bef-home-cta .cta-content h2 { color: #fff; font-size: 38px; line-height: 1.2; }
.bef-home-cta .cta-content > p:not(.section-kicker) { max-width: 560px; color: #d3d6d1; line-height: 1.65; }
.bef-home-cta .cta-content .theme-btn { margin-top: 10px; color: #141714; }
.bef-home-cta .cta-image { flex: 0 0 28%; max-width: 300px; }
.bef-home-cta .cta-image img { width: 100%; height: auto; }

.breadcrumb-wrapper { min-height: 330px; padding: 75px 0 62px; background-position: center; background-size: cover; position: relative; }
.breadcrumb-wrapper::before { content: ""; position: absolute; inset: 0; background: rgba(14, 17, 14, .8); }
.breadcrumb-wrapper .container { position: relative; z-index: 1; }
.page-heading { max-width: 850px; }
.page-heading .section-kicker { margin: 0 0 12px; color: #e2c9a8; font-size: 12px; font-weight: 700; }
.page-heading h1 { margin: 0; color: #fff; font-size: 52px; line-height: 1.14; }
.page-heading__intro { max-width: 690px; margin: 16px 0 0; color: #e0e3de; font-size: 16px; line-height: 1.65; }
.breadcrumb-list { display: flex; gap: 10px; align-items: center; margin-top: 22px; color: #d0d4ce; font-size: 13px; }
.breadcrumb-list a { color: var(--bef-accent); }
.text-content { color: #c4c9c3; line-height: 1.8; }
.text-content p { margin: 0 0 17px; }
.bef-about-page { background: #171a17; }
.bef-about-page .section-title h2 { font-size: 42px; }
.bef-about-page .theme-btn { background: var(--bef-accent); }
.bef-about-team { background: #1b1e1b; }
.bef-about-team .section-title-area { align-items: end; }
.bef-narrow-copy { max-width: 810px; margin: 12px 0 0; }
.bef-service-list { background: #151815; }
.bef-service-list .bef-service-card { min-height: 285px; }
.bef-note-panel { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 38px; border-left: 3px solid var(--bef-accent); background: #1c201c; }
.bef-note-panel > div { max-width: 790px; }
.bef-note-panel h2 { margin: 4px 0 10px; color: #fff; font-size: 30px; line-height: 1.2; }
.bef-note-panel p:not(.section-kicker) { margin: 0; color: #c0c6bf; line-height: 1.7; }
.bef-note-panel .theme-btn { flex: 0 0 auto; background: var(--bef-accent); }
.bef-service-detail { background: #151815; }
.service-detail-image { overflow: hidden; aspect-ratio: 16 / 9; background: #232623; }
.service-detail-image img { width: 100%; height: 100%; object-fit: cover; }
.bef-service-detail .section-title h2 { font-size: 38px; }
.service-detail-section { padding: 22px 0 18px; border-bottom: 1px solid var(--bef-line); }
.service-detail-section h3 { margin: 0 0 9px; color: #fff; font-size: 22px; }
.service-detail-section p { margin: 0; color: #c0c6bf; line-height: 1.75; }
.bef-service-legal, .legal-disclaimer { display: flex; gap: 14px; align-items: flex-start; margin-top: 24px; padding: 18px; background: #1d211d; color: #c6ccc5; }
.bef-service-legal i, .legal-disclaimer i { color: var(--bef-accent); padding-top: 4px; }
.bef-service-legal p, .legal-disclaimer p { margin: 0; line-height: 1.65; }
.bef-service-sidebar .single-sidebar-widget.bg-image { margin-top: 35px; background-position: center; border-radius: 5px; overflow: hidden; }
.bef-service-sidebar .theme-btn { background: var(--bef-accent); }

.bef-team-page { background: #151815; }
.bef-team-heading { max-width: 780px; margin: 0 auto 25px; }
.bef-team-heading p { max-width: 680px; margin: 14px auto 0; color: #c0c6bf; line-height: 1.7; }
.bef-team-card { height: 100%; overflow: hidden; }
.bef-team-card .team-image { height: 390px; overflow: hidden; background: #272b27; }
.bef-team-card .team-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; border-radius: 0; }
.bef-team-card .team-content { min-height: 126px; padding: 24px; }
.bef-team-card .team-content h3 { margin-bottom: 6px; color: #101310; }
.bef-team-card .team-content p { margin: 0 0 5px; color: #70766f; }
.bef-team-card .team-content span { color: #626961; font-size: 13px; }
.bef-team-card--initials .team-content h3 { color: var(--header); }
.bef-team-card--initials { display: flex; flex-direction: column; }
.team-initials { flex: 1; min-height: 390px; display: grid; place-items: center; color: #71766f; background: #e7e8e5; font-size: 78px; font-weight: 300; }
.bef-team-cta { background: #171a17; }
.bef-faq-page { background: #151815; }
.bef-accordion .accordion-item { margin-bottom: 12px; border: 1px solid var(--bef-line); border-radius: 2px; background: #1b1f1b; }
.bef-accordion .accordion-button { padding: 20px 22px; color: #fff; background: #1b1f1b; font-size: 17px; font-weight: 600; line-height: 1.45; box-shadow: none; }
.bef-accordion .accordion-button::after { filter: invert(1); }
.bef-accordion .accordion-button:not(.collapsed) { color: #e5c59b; }
.bef-accordion .accordion-body { padding: 0 22px 22px; color: #c2c8c1; line-height: 1.75; }
.bef-faq-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 32px; }
.bef-faq-contact p { margin: 0; color: #dce0da; }
.bef-faq-contact .theme-btn { background: var(--bef-accent); }
.bef-references-page { background: #151815; }
.bef-references-page .section-title-area > p { max-width: 420px; }
.reference-card { height: 100%; overflow: hidden; border: 1px solid var(--bef-line); background: #1b1f1b; border-radius: 3px; }
.reference-card > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.reference-card > div { padding: 19px 20px 17px; }
.reference-card h3 { margin: 0 0 5px; color: #fff; font-size: 19px; line-height: 1.35; }
.reference-card p { margin: 0; color: #afb7ae; font-size: 13px; }
.other-reference { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 13px; margin-top: 23px; padding-top: 17px; border-top: 1px solid var(--bef-line); color: #aeb5ad; font-size: 13px; }
.other-reference strong { color: #fff; font-size: 15px; }

.bef-contact-page { background: #151815; }
.bef-contact-page .section-title h2 { font-size: 40px; }
.contact-info-list { margin-top: 28px; border-top: 1px solid var(--bef-line); }
.contact-info-item { display: flex; gap: 16px; padding: 19px 0; border-bottom: 1px solid var(--bef-line); }
.contact-info-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--bef-line); color: var(--bef-accent); }
.contact-info-item h3 { margin: 0 0 7px; color: #fff; font-size: 17px; }
.contact-info-item p { margin: 0; color: #c0c6bf; line-height: 1.6; }
.contact-info-item a { color: #c6ccc5; }
.contact-info-item a:hover { color: var(--bef-accent); }
.contact-info-item .contact-detail-link { display: block; margin: 3px 0; font-size: 14px; }
.contact-info-item > div > a:not(.contact-detail-link) { color: var(--bef-accent); font-size: 13px; }
.contact-social { display: inline-flex; gap: 9px; align-items: center; margin-top: 22px; color: var(--bef-accent); font-weight: 600; }
.contact-form-wrap { padding: 32px; border: 1px solid var(--bef-line); background: #1a1e1a; }
.contact-form-wrap .section-title { margin-bottom: 24px; }
.contact-form-wrap .section-title h2 { font-size: 30px; }
.bef-contact-form label { display: block; margin-bottom: 7px; color: #e8ebe6; font-size: 13px; font-weight: 600; }
.bef-contact-form label > span, .form-consent > span > span { color: #e5a183; }
.bef-contact-form input:not([type=checkbox]), .bef-contact-form textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.17); border-radius: 2px; outline: 0; background: #111411; color: #fff; }
.bef-contact-form textarea { min-height: 145px; resize: vertical; }
.bef-contact-form input:focus, .bef-contact-form textarea:focus, .newsletter-form input[type=email]:focus { border-color: var(--bef-accent); }
.form-consent { display: flex !important; align-items: flex-start; gap: 10px; font-weight: 400 !important; line-height: 1.5; }
.form-consent input, .newsletter-consent input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; accent-color: var(--bef-accent); }
.form-consent a, .form-privacy-note a { color: #e4c498; text-decoration: underline; text-underline-offset: 3px; }
.form-privacy-note { margin: 17px 0 0; color: #aeb5ad; font-size: 12px; line-height: 1.65; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-feedback { margin: 16px 0 0; padding: 12px 14px; border-left: 3px solid var(--bef-accent); background: #1b1e1b; color: #fff; font-size: 13px; line-height: 1.6; }
.form-feedback[hidden] { display: none; }
.form-feedback--success { border-color: var(--bef-green); }
.form-feedback--error { border-color: #d38b75; }
form[aria-busy="true"] button[type="submit"] { opacity: .65; cursor: wait; }
.site-notice { position: relative; z-index: 2; margin-top: 18px; padding: 14px 18px; border-left: 3px solid var(--bef-green); background: #1b261b; color: #e4eee3; }
.site-notice--error { border-color: #d38b75; background: #2a1d1a; color: #ffe3d9; }

.bef-legal-page { background: #151815; }
.legal-updated { margin-bottom: 30px; color: #aeb5ad; font-size: 13px; }
.legal-content section { padding: 0 0 21px; margin-bottom: 21px; border-bottom: 1px solid var(--bef-line); }
.legal-content h2 { margin: 0 0 10px; color: #fff; font-size: 22px; }
.legal-content p { margin: 0; color: #c4cac3; line-height: 1.8; }
.legal-content a { color: #e3bd8a; text-decoration: underline; text-underline-offset: 3px; }
.legal-disclaimer { margin-top: 25px; }
.error-section { min-height: 60vh; display: grid; align-items: center; background: #151815; }
.error-section h1 { margin: 8px 0 15px; color: #fff; font-size: 44px; }
.error-section p:not(.section-kicker) { max-width: 650px; margin: 0 auto 24px; color: #c1c7c0; line-height: 1.7; }
.error-section .theme-btn { background: var(--bef-accent); }

.site-footer { position: relative; overflow: hidden; }
.site-footer .bg-shape { pointer-events: none; }
.site-footer .footer-content p { color: var(--white); }
.site-footer .bef-footer-services { margin-top: 0; padding-left: 0; list-style: none; }
.site-footer .bef-footer-services li { text-transform: none; }
.site-footer .bef-footer-services li a { display: block; font-size: 14px; line-height: 1.5; }
.site-footer .contact-info-area-2 a { color: var(--white); }
.site-footer a[href^="mailto:"] { text-transform: lowercase; }
.site-footer .contact-info-area-2 a:hover { color: var(--theme); }
.site-footer .footer-newsletter-form .footer-input { margin-top: 16px; }
.site-footer .footer-newsletter-form .footer-input input { padding-right: 70px; }
.site-footer .footer-newsletter-consent { margin: 14px 0 0; }
.footer-newsletter-consent, .bef-home-newsletter-consent { display: flex; align-items: flex-start; gap: 9px; margin: 14px 0 0; color: rgba(255, 255, 255, .78); font-size: 12px; line-height: 1.5; }
.footer-newsletter-consent input, .bef-home-newsletter-consent input { flex: 0 0 15px; width: 15px; height: 15px; margin: 2px 0 0; accent-color: var(--theme); }
.footer-newsletter-consent a, .bef-home-newsletter-consent a { color: var(--theme); text-decoration: underline; text-underline-offset: 2px; }
.site-footer .footer-bottom .footer-wrapper { gap: 24px; }
.site-footer .footer-menu ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.site-footer .footer-menu ul li { margin: 0; }
.site-footer .footer-menu a { color: var(--white); }
.site-footer .footer-menu a:hover { color: var(--theme); }
.bef-home-newsletter-form { display: block; width: min(100%, 600px); }
.bef-home-newsletter-form .form-clt { width: 100%; margin-top: 24px; }
.bef-home-newsletter-form .form-clt input[type=email] { width: 100%; min-width: 0; padding-right: 185px; border-radius: 0; }
.bef-home-newsletter-form .form-clt button { white-space: nowrap; border-radius: 0; }
.bef-home-newsletter-consent { max-width: 420px; }
.bef-home-gallery { padding-top: 0; }
.bef-home-gallery .section-title { margin-top: 0; }
.bef-home-gallery .section-title h2 { max-width: 760px; margin: 0 auto; }
.bef-home-gallery .portfolio-image { border-radius: 0; }
.scroll-up { z-index: 15; }
.scroll-up path { stroke: var(--bef-accent); }

.cookie-notice { position: fixed; left: 24px; bottom: 24px; z-index: 1100; width: min(420px, calc(100% - 48px)); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 24px; background: #1b1e1b; border: 1px solid var(--bef-line); border-top: 3px solid var(--bef-accent); border-radius: 6px; box-shadow: 0 12px 40px rgba(0, 0, 0, .45); color: #d5d8d4; }
.cookie-notice[hidden] { display: none; }
.cookie-notice__eyebrow { color: var(--bef-accent); font-size: 11px; font-weight: 700; letter-spacing: .8px; }
.cookie-notice h2 { margin: 8px 0 12px; color: #fff; font-size: 21px; line-height: 1.3; text-transform: none; }
.cookie-notice p { margin: 0; font-size: 13px; line-height: 1.7; }
.cookie-notice__links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; }
.cookie-notice__links a { color: #e2c9a8; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice__actions { display: flex; gap: 10px; margin-top: 20px; }
.cookie-notice__actions button { flex: 1; padding: 12px 8px; border: 1px solid var(--bef-accent); border-radius: 3px; background: transparent; color: #fff; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.cookie-notice__actions button[data-cookie-choice="accept"] { background: var(--bef-accent); color: #111411; }
.cookie-notice__actions button:hover { border-color: #e2c9a8; background: #33382f; color: #fff; }
.site-footer .cookie-preferences { color: #fff; cursor: pointer; font-size: inherit; line-height: inherit; text-align: left; }
.site-footer .cookie-preferences:hover { color: var(--bef-accent); }
.cookie-notice :focus-visible, .cookie-preferences:focus-visible { outline: 2px solid #e2c9a8; outline-offset: 4px; }
@media (max-width: 767px) {
  .cookie-notice { left: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: calc(100% - 24px); padding: 20px; }
}

.counter-section .counter-items-2 { gap: 16px; }
.counter-section .counter-items-2 .content { padding-left: 16px; }
.counter-section .counter-items-2 .content p { white-space: nowrap; }

@media (max-width: 1199px) {
  .site-header { min-height: 82px; }
  .site-header #header-sticky.sticky { z-index: 1001; }
  .header-5 .header-main { min-height: 82px; }
  .header-5 .main-menu { display: none; }
  .bef-hero { padding-top: 82px; }
}
@media (max-width: 991px) {
  .bef-home-cta .cta-wrapper { padding: 36px; }
  .bef-home-cta .cta-image { flex-basis: 24%; }
  .bef-hero .hero-wrapper .hero-items .hero-image { height: 500px; }
  .bef-hero .hero-wrapper .hero-items .hero-content { padding: 42px 38px; }
}
@media (max-width: 767px) {
  .site-header { min-height: 72px; }
  .bef-about-page .row.g-5,
  .bef-contact-page .row.g-5,
  .bef-service-detail .row.g-5 { --bs-gutter-x: 1.5rem; }
  .bef-home-gallery { padding-top: 40px; }
  .bef-references-page .section-title-area { margin-bottom: 32px; }
  .bef-service-detail .section-title { margin-bottom: 24px; }
  /* The theme hides br on mobile, joining words across intended line breaks. */
  #main-content br { display: revert; }
  .counter-section .counter-wrapper-2 { padding: 30px 20px; }
  .counter-section .counter-items-2 .icon { font-size: 48px; }
  .bef-home-about .about-content .section-title h2 { overflow-wrap: anywhere; }
  .site-brand { min-width: 0; gap: 8px; font-size: 14px; }
  .site-brand img { width: 82px; height: 60px; }
  .site-brand small { font-size: 10px; }
  .header-5 .header-main { min-height: 72px; }
  .bef-hero { padding-top: 72px; }
  .bef-hero .hero-wrapper .hero-items .hero-image { height: 320px; }
  .bef-hero .hero-wrapper .hero-items .hero-content { width: 100%; padding: 30px 24px; }
  .bef-hero .hero-wrapper .hero-items .hero-content h1 { font-size: 40px; }
  .bef-hero .hero-actions { align-items: flex-start; gap: 16px; }
  .bef-hero .hero-actions .theme-btn { padding: 14px 17px; font-size: 12px; }
  .about-content .section-title h2, .bef-about-page .section-title h2, .bef-contact-page .section-title h2 { font-size: 34px; }
  .bef-home-cta .cta-wrapper { padding: 28px 22px; }
  .bef-home-cta .cta-content h2 { font-size: 30px; }
  .bef-home-cta .cta-image { display: none; }
  .page-heading h1 { font-size: 38px; }
  .breadcrumb-wrapper { min-height: 290px; padding: 58px 0 48px; }
  .page-heading__intro { font-size: 14px; }
  .bef-note-panel { align-items: flex-start; flex-direction: column; padding: 27px 22px; }
  .bef-note-panel h2 { font-size: 25px; }
  .bef-service-detail .section-title h2 { font-size: 32px; }
  .service-detail-sidebar { position: static; }
  .bef-team-card .team-image, .team-initials { height: auto; min-height: 320px; }
  .contact-form-wrap { padding: 23px 18px; }
  .contact-form-wrap .section-title h2 { font-size: 27px; }
  .site-footer .footer-wrapper { align-items: flex-start !important; flex-direction: column; }
  .site-footer .footer-menu ul { justify-content: flex-start; }
  .site-footer .bg-shape { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .1; background-image: url('../img/footer-bg-shape.png'); background-position: center top; background-size: 100% 180px; background-repeat: repeat-y; }
  .site-footer .bg-shape img { display: none; }
}
@media (max-width: 420px) {
  .site-brand { font-size: 13px; }
  .site-brand img { width: 68px; height: 52px; }
  .header-5 .header-main .header-right { gap: 9px; }
  .header-5 .header-main .header-right .sidebar__toggle { width: 43px; height: 43px; line-height: 43px; }
  .bef-hero .hero-actions .theme-btn { font-size: 11px; }
  .bef-hero .hero-text-link { font-size: 12px; }
  .bef-hero .hero-content h1 { font-size: 32px; }
  .reference-photo span { left: 10px; bottom: 10px; font-size: 12px; }
  .bef-faq-contact { align-items: flex-start; flex-direction: column; }
}
