.bw-site-header,
.bw-site-header *,
.bw-site-footer,
.bw-site-footer * { box-sizing: border-box; }
.bw-site-header { position: relative; z-index: 50; color: #121416; background: #fff; font-family: Inter, Arial, sans-serif; }
.bw-site-header a { color: inherit; text-decoration: none; }
.bw-site-container { width: min(1170px, calc(100% - 32px)); margin: 0 auto; }
.bw-site-desktop { display: block; }
.bw-site-top { height: 50px; padding: 6px 0; border-bottom: 1px solid #e8edf2; }
.bw-site-top-row { display: flex; height: 38px; align-items: center; justify-content: space-between; gap: 14px; }
.bw-site-contact { display: inline-flex; align-items: center; gap: 7px; color: #414d58; font-size: 14px; white-space: nowrap; }
.bw-site-contact img { width: 19px; height: 19px; object-fit: contain; }
.bw-site-messengers { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.bw-site-messengers a,
.bw-site-messengers span { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; }
.bw-site-messengers img { display: block; width: 32px; height: 32px; object-fit: contain; }
.bw-site-callback { display: inline-flex; min-width: 154px; height: 38px; align-items: center; justify-content: center; padding: 0 16px; border: 0; border-radius: 6px; color: #fff; background: #0053cd; font: 700 14px/1 Inter, Arial, sans-serif; cursor: pointer; }
.bw-site-callback:hover { background: #003e9a; }
.bw-site-bottom { height: 72px; padding: 11px 0; border-bottom: 1px solid #b8bdc2; background: #fff; }
.bw-site-bottom-row { display: grid; height: 50px; grid-template-columns: 209px minmax(0, 1fr) 150px; align-items: center; gap: 22px; }
.bw-site-logo { display: block; width: 209px; }
.bw-site-logo img { display: block; width: 209px; height: auto; }
.bw-site-nav { display: flex; align-items: center; justify-content: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.bw-site-nav-item { position: relative; margin: 0; padding: 0; list-style: none; white-space: nowrap; }
.bw-site-nav-item > a,
.bw-site-nav-trigger { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; color: #121416; background: transparent; font: 500 15px/1.2 Inter, Arial, sans-serif; cursor: pointer; }
.bw-site-nav-trigger::after { content: ""; width: 7px; height: 7px; margin: -4px 0 0 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.bw-site-nav-item > a:hover,
.bw-site-nav-trigger:hover { color: #0053cd; }
.bw-site-dropdown { position: absolute; top: calc(100% - 2px); left: -18px; z-index: 60; display: none; min-width: 250px; margin: 0; padding: 10px 0; border: 1px solid #e1e7ed; border-radius: 8px; background: #fff; box-shadow: 0 14px 32px rgba(5, 20, 35, .14); list-style: none; }
.bw-site-nav-item:hover .bw-site-dropdown,
.bw-site-nav-item:focus-within .bw-site-dropdown { display: block; }
.bw-site-dropdown li { margin: 0; padding: 0; list-style: none; }
.bw-site-dropdown a { display: block; padding: 9px 18px; color: #121416; font-size: 14px; line-height: 20px; }
.bw-site-dropdown a:hover { color: #0053cd; background: #f3f7fb; }
.bw-site-rating { display: inline-flex; width: 150px; height: 50px; flex: 0 0 150px; align-items: center; justify-content: center; overflow: hidden; }
.bw-site-rating iframe { display: block; width: 150px; height: 50px; border: 0; }
.bw-site-mobile,
.bw-site-mobile-menu { display: none; }

.bw-site-reviews { padding: 72px 0; border-top: 1px solid rgba(184, 189, 194, .35); background: #fff; font-family: Inter, Arial, sans-serif; }
.bw-site-reviews-container { width: min(1170px, calc(100% - 32px)); margin: 0 auto; }
.bw-site-reviews-heading { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.bw-site-reviews-heading span { color: #0053cd; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bw-site-reviews-heading h2 { margin: 14px 0 0; color: #051423; font-size: clamp(30px, 4vw, 46px); line-height: 1.15; }
.bw-site-reviews-widget { display: flex; justify-content: center; margin-top: 20px; border-radius: 20px; }
.bw-site-reviews iframe { width: 100%; height: 100%; max-width: 1170px; border: 0; outline: 0; padding: 0; margin: 0; }

.bw-site-footer { flex: 0 0 auto; margin-top: 64px; padding: 56px 0 48px; color: #fff; background: #051423; font-family: Inter, Arial, sans-serif; }
.bw-site-footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1.1fr; gap: 34px; }
.bw-site-footer-title { margin: 0 0 24px; color: rgba(255,255,255,.4); font-size: 16px; font-weight: 500; line-height: 22px; }
.bw-site-footer-menu,
.bw-site-footer-contact,
.bw-site-footer-social { margin: 0; padding: 0; list-style: none; }
.bw-site-footer-menu { display: grid; gap: 4px; }
.bw-site-footer a { color: rgba(255,255,255,.8); text-decoration: none; }
.bw-site-footer-menu a,
.bw-site-footer-contact a,
.bw-site-footer-bottom a { font-size: 14px; line-height: 20px; }
.bw-site-footer a:hover { color: #fff; }
.bw-site-footer-logo { display: block; width: 50px; height: 50px; margin-bottom: 24px; }
.bw-site-footer-logo img { display: block; width: 50px; height: 50px; object-fit: contain; }
.bw-site-footer-contact { display: grid; gap: 4px; margin-bottom: 24px; }
.bw-site-footer-social { display: flex; gap: 12px; margin-bottom: 24px; }
.bw-site-footer-social a { display: flex; width: 36px; height: 36px; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; }
.bw-site-footer-social img { display: block; width: 34px; height: 34px; object-fit: contain; }
.bw-site-footer-callback { display: inline-flex; min-width: 154px; height: 40px; align-items: center; justify-content: center; margin: 0 0 24px; padding: 0 16px; border: 0; border-radius: 6px; color: #fff; background: #0053cd; font: 700 14px/1 Inter, Arial, sans-serif; cursor: pointer; }
.bw-site-footer-callback:hover { background: #0b63df; }
.bw-site-footer-address { margin: 0 0 12px; color: rgba(255,255,255,.8); font-style: normal; font-size: 14px; line-height: 20px; }
.bw-site-footer-work { color: rgba(255,255,255,.8); font-size: 14px; line-height: 20px; }
.bw-site-footer-work strong { display: block; color: #fff; font-size: 22px; font-weight: 500; line-height: 28px; }
.bw-site-footer-work span { display: block; }
.bw-site-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 36px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); font-size: 14px; line-height: 20px; }

@media (max-width: 1199.98px) {
  body.bw-site-menu-open { overflow: hidden; }
  .bw-site-desktop { display: none; }
  .bw-site-mobile { display: block; padding: 10px; border-bottom: 1px solid #b8bdc2; background: #fff; }
  .bw-site-mobile-row { position: relative; display: flex; min-height: 50px; align-items: center; gap: 8px; }
  .bw-site-mobile-logo,
  .bw-site-mobile-logo img { display: block; width: 50px; height: 50px; }
  .bw-site-mobile-logo img { object-fit: contain; }
  .bw-site-mobile-row .bw-site-rating { position: absolute; left: 50%; transform: translateX(-50%); }
  .bw-site-mobile-phone { display: flex; width: 38px; height: 38px; min-width: 38px; align-items: center; justify-content: center; margin-left: auto; border: 1px solid #d6dee8; border-radius: 999px; background: #f7f9fc; }
  .bw-site-mobile-phone img { width: 22px; height: 22px; object-fit: contain; }
  .bw-site-burger { display: flex; width: 30px; height: 20px; align-items: center; justify-content: center; padding: 0; border: 0; color: #121416; background: transparent; cursor: pointer; }
  .bw-site-mobile-menu { position: fixed; inset: 0; z-index: 1000; display: block; padding: 0; background: rgba(5, 20, 35, .52); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
  .bw-site-mobile-menu.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
  .bw-site-drawer { width: min(440px, calc(100vw - 44px)); height: 100%; margin-left: auto; padding: 48px 16px 28px; overflow-y: auto; background: #fff; box-shadow: -12px 0 30px rgba(5, 20, 35, .12); transform: translateX(100%); transition: transform .24s ease; }
  .bw-site-mobile-menu.is-open .bw-site-drawer { transform: translateX(0); }
  .bw-site-menu-close { position: absolute; top: 14px; right: 16px; width: 30px; height: 30px; padding: 0; border: 0; color: #121416; background: transparent; cursor: pointer; }
  .bw-site-menu-close::before,
  .bw-site-menu-close::after { content: ""; position: absolute; top: 14px; left: 3px; width: 24px; height: 1px; background: currentColor; }
  .bw-site-menu-close::before { transform: rotate(45deg); }
  .bw-site-menu-close::after { transform: rotate(-45deg); }
  .bw-site-menu-section + .bw-site-menu-section { margin-top: 4px; }
  .bw-site-menu-trigger { display: flex; width: 100%; align-items: center; gap: 10px; padding: 7px 0; border: 0; color: #121416; background: transparent; font: 500 17px/24px Inter, Arial, sans-serif; text-align: left; cursor: pointer; }
  .bw-site-chevron { width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
  .bw-site-menu-trigger[aria-expanded="true"] .bw-site-chevron { transform: rotate(225deg) translate(-1px, -1px); }
  .bw-site-menu-panel[hidden] { display: none; }
  .bw-site-menu-panel a,
  .bw-site-menu-links a { display: block; padding: 5px 0; color: #121416; font-size: 16px; font-weight: 400; line-height: 22px; }
  .bw-site-menu-links { margin-top: 4px; }
  .bw-site-menu-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 34px; }
  .bw-site-menu-actions .bw-site-callback { display: block; width: auto; min-width: 146px; max-width: none; height: 40px; padding: 0 14px; white-space: nowrap; }
  .bw-site-menu-social { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
  .bw-site-menu-social a,
  .bw-site-menu-social span { display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; padding: 0; border-radius: 7px; background: #f4f6f9; }
  .bw-site-menu-social img { width: 25px; height: 25px; object-fit: contain; }
  .bw-site-menu-contacts { display: grid; gap: 14px; margin-top: 36px; }
  .bw-site-menu-contacts > span,
  .bw-site-menu-contacts > a { display: flex; align-items: center; gap: 10px; padding: 0; color: #121416; font-size: 15px; line-height: 22px; }
  .bw-site-menu-contacts img { width: 19px; height: 19px; object-fit: contain; }
  .bw-site-reviews { padding: 52px 0; }
  .bw-site-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 340px) {
  .bw-site-mobile-row .bw-site-rating { width: 132px; height: 44px; flex-basis: 132px; }
  .bw-site-mobile-row .bw-site-rating iframe { transform: scale(.88); transform-origin: center; }
}
