@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat-variable.ttf") format("truetype-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Bengali";
  src: url("../fonts/noto-sans-bengali-variable.ttf") format("truetype-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0980-09FF, U+200C-200D, U+25CC;
}

/* Shared theLaaL palette: Ruby Red, Black and neutral surfaces. */
:root {
  --brand-red: #9b111e;
  --brand-red-rgb: 155, 17, 30;
  --brand-red-hover: #7d0e18;
  --brand-red-hover-rgb: 125, 14, 24;
  --brand-red-deep: #45080f;
  --brand-red-deep-rgb: 69, 8, 15;
  --brand-charcoal: #000000;
  --brand-charcoal-rgb: 0, 0, 0;
  --brand-charcoal-soft: #171717;
  --brand-rose: #9b111e;
  --brand-rose-rgb: 155, 17, 30;
  --brand-rose-hover: #7d0e18;
  --brand-tint: #fff5f6;
  --brand-tint-strong: #f8e1e4;
  --brand-surface: #ffffff;
  --brand-surface-muted: #f8f7f4;
  --brand-muted: #646464;
  --brand-border: #e7dadd;
  --bs-primary: var(--brand-red);
  --bs-primary-rgb: var(--brand-red-rgb);
  --bs-link-color: var(--brand-red);
  --bs-link-color-rgb: var(--brand-red-rgb);
  --bs-link-hover-color: var(--brand-red-hover);
  --bs-link-hover-color-rgb: var(--brand-red-hover-rgb);
  --bs-body-color: var(--brand-charcoal);
  --bs-body-color-rgb: var(--brand-charcoal-rgb);
  --bs-body-font-family: "Montserrat", "Noto Sans Bengali", sans-serif;
  --bs-focus-ring-color: rgba(var(--brand-red-rgb), .2);
}

body,
button,
input,
select,
textarea {
  font-family: "Montserrat", "Noto Sans Bengali", sans-serif;
}

.fw-bold {
  font-weight: 600 !important;
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-weight: 600 !important;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brand-red);
  --bs-btn-border-color: var(--brand-red);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-red-hover);
  --bs-btn-hover-border-color: var(--brand-red-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--brand-red-hover);
  --bs-btn-active-border-color: var(--brand-red-hover);
  --bs-btn-disabled-bg: var(--brand-red);
  --bs-btn-disabled-border-color: var(--brand-red);
  --bs-btn-focus-shadow-rgb: var(--brand-red-rgb);
}
.btn-outline-primary {
  --bs-btn-color: var(--brand-red);
  --bs-btn-border-color: var(--brand-red);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-red);
  --bs-btn-hover-border-color: var(--brand-red);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--brand-red-hover);
  --bs-btn-active-border-color: var(--brand-red-hover);
  --bs-btn-disabled-color: var(--brand-red);
  --bs-btn-disabled-border-color: var(--brand-red);
  --bs-btn-focus-shadow-rgb: var(--brand-red-rgb);
}
.form-check-input:checked { background-color: var(--brand-red); border-color: var(--brand-red); }
.form-check-input:focus, .form-control:focus, .form-select:focus { border-color: var(--brand-red); box-shadow: 0 0 0 .2rem rgba(var(--brand-red-rgb), .16); }
.form-range::-webkit-slider-thumb { background-color: var(--brand-red); }
.form-range::-moz-range-thumb { background-color: var(--brand-red); }
.pagination { --bs-pagination-color: var(--brand-red); --bs-pagination-hover-color: var(--brand-red-hover); --bs-pagination-focus-color: var(--brand-red-hover); --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(var(--brand-red-rgb), .16); --bs-pagination-active-bg: var(--brand-red); --bs-pagination-active-border-color: var(--brand-red); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--brand-red); }
.progress { --bs-progress-bar-bg: var(--brand-red); }
::selection { background: var(--brand-red); color: #fff; }

/* One-click language selection, shared by the website and dashboards. */
.site-language-switcher { display: inline-flex; align-items: center; flex-shrink: 0; gap: 3px; padding: 3px; border: 1px solid var(--brand-border); border-radius: 999px; background: #fff; }
.site-language-switcher button { min-height: 36px; padding: 5px 11px; border: 0; border-radius: 999px; background: transparent; color: var(--brand-charcoal); font-family: "Montserrat", "Noto Sans Bengali", sans-serif; font-size: 12px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.site-language-switcher button[aria-pressed="true"] { background: var(--brand-red); color: #fff; }
.site-language-switcher button:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 3px; }
.topbar > .site-language-switcher { margin-left: auto; margin-right: 16px; }
html[lang="bn"] [data-property-language="en"],
html[lang="en"] [data-property-language="bn"] { display: none !important; }
html[lang="bn"] [data-property-language="bn"],
html[lang="en"] [data-property-language="en"] { display: revert !important; }
html[lang="bn"] .company-hero h1 > span, html[lang="bn"] .about-editorial h1, html[lang="bn"] .about-editorial h2 { letter-spacing: normal; line-height: 1.4; }
html[lang="bn"] .company-hero-services-heading > span:first-child,
html[lang="bn"] .company-hero-partner-label {
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: normal;
}
html[lang="bn"] :is(
  .section-eyebrow,
  [class$="-label"],
  [class$="-kicker"],
  [class*="-badge"],
  .company-hero-masthead,
  .company-hero-banner-foot
) {
  line-height: 1.6;
  letter-spacing: normal !important;
}
@media (max-width: 575.98px) {
  .topbar { flex-wrap: wrap; gap: 10px; }
  .topbar > .site-language-switcher { margin-right: 0; }
}

.property-vetted-badge { display: inline-flex; align-items: center; gap: .4rem; max-width: 100%; padding: .35rem .6rem; margin-bottom: .5rem; border: 1px solid currentColor; color: var(--brand-red, #9b111e); font-size: .75rem; font-weight: 600; line-height: 1.5; }

/* Keep native upload behavior while localizing browser-owned picker labels. */
.localized-file-input { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.localized-file-picker { display: flex; align-items: center; gap: .75rem; padding: 0 .75rem 0 0; min-width: 0; }
.localized-file-picker button { flex: 0 0 auto; align-self: stretch; border: 0; border-right: 1px solid #dee2e6; padding: .5rem .75rem; color: inherit; background: #f8f9fa; border-radius: inherit; font: inherit; }
.localized-file-picker > span { min-width: 0; overflow-wrap: anywhere; }
.localized-file-picker button:hover { background: #e9ecef; }
.localized-file-picker button:focus-visible { outline: 2px solid var(--brand-red, #9b111e); outline-offset: -2px; }
