/* Design tokens. Published CMS values override these via #phc-type. */
:root {
  --phc-font-latin: "Plus Jakarta Sans";
  --phc-font-bangla: "Hind Siliguri";
  --phc-font-nav: Inter;
  --phc-font-accent: Caveat;
  --phc-font-stack: var(--phc-font-latin), var(--phc-font-bangla), system-ui, sans-serif;
  --phc-h1-family: var(--phc-font-stack);
  --phc-h1-weight: 800;
  --phc-h1-lh: 0.98;
  --phc-h1-ls: -0.045em;
  --phc-h1-color: var(--navy);
  --phc-h1-transform: none;
  --phc-h1-align: left;
  --phc-h1-size-desktop: 56px;
  --phc-h1-size-tablet: 44px;
  --phc-h1-size-mobile: 34px;
  --phc-h1-size: var(--phc-h1-size-desktop);
  --phc-h2-family: var(--phc-font-stack);
  --phc-h2-weight: 800;
  --phc-h2-lh: 1.1;
  --phc-h2-ls: -0.025em;
  --phc-h2-color: var(--navy);
  --phc-h2-transform: none;
  --phc-h2-align: center;
  --phc-h2-size-desktop: 40px;
  --phc-h2-size-tablet: 32px;
  --phc-h2-size-mobile: 28px;
  --phc-h2-size: var(--phc-h2-size-desktop);
  --phc-h3-family: var(--phc-font-stack);
  --phc-h3-weight: 800;
  --phc-h3-lh: 1.2;
  --phc-h3-ls: 0;
  --phc-h3-color: var(--navy);
  --phc-h3-transform: none;
  --phc-h3-align: left;
  --phc-h3-size-desktop: 18px;
  --phc-h3-size-tablet: 16px;
  --phc-h3-size-mobile: 15px;
  --phc-h3-size: var(--phc-h3-size-desktop);
  --phc-eyebrow-family: var(--phc-font-stack);
  --phc-eyebrow-weight: 500;
  --phc-eyebrow-lh: 1.3;
  --phc-eyebrow-ls: 0.12em;
  --phc-eyebrow-color: var(--navy);
  --phc-eyebrow-transform: uppercase;
  --phc-eyebrow-align: left;
  --phc-eyebrow-size-desktop: 13px;
  --phc-eyebrow-size-tablet: 12px;
  --phc-eyebrow-size-mobile: 12px;
  --phc-eyebrow-size: var(--phc-eyebrow-size-desktop);
  --phc-body-family: var(--phc-font-stack);
  --phc-body-weight: 500;
  --phc-body-lh: 1.5;
  --phc-body-ls: 0;
  --phc-body-color: #24304a;
  --phc-body-transform: none;
  --phc-body-align: left;
  --phc-body-size-desktop: 16px;
  --phc-body-size-tablet: 15px;
  --phc-body-size-mobile: 14.5px;
  --phc-body-size: var(--phc-body-size-desktop);
  --phc-button-family: var(--phc-font-stack);
  --phc-button-weight: 700;
  --phc-button-lh: 1;
  --phc-button-ls: 0;
  --phc-button-color: #fff;
  --phc-button-transform: none;
  --phc-button-align: center;
  --phc-button-size-desktop: 15px;
  --phc-button-size-tablet: 14px;
  --phc-button-size-mobile: 13px;
  --phc-button-size: var(--phc-button-size-desktop);
  --phc-nav-family: var(--phc-font-nav), var(--phc-font-bangla), system-ui, sans-serif;
  --phc-nav-weight: 500;
  --phc-nav-lh: 1.4;
  --phc-nav-ls: -0.01em;
  --phc-nav-color: var(--navy);
  --phc-nav-transform: none;
  --phc-nav-align: left;
  --phc-nav-size-desktop: 14px;
  --phc-nav-size-tablet: 14px;
  --phc-nav-size-mobile: 13.5px;
  --phc-nav-size: var(--phc-nav-size-desktop);
  --phc-footer-family: var(--phc-font-stack);
  --phc-footer-weight: 500;
  --phc-footer-lh: 1.55;
  --phc-footer-ls: 0;
  --phc-footer-color: #cfe0f4;
  --phc-footer-transform: none;
  --phc-footer-align: left;
  --phc-footer-size-desktop: 13.5px;
  --phc-footer-size-tablet: 13px;
  --phc-footer-size-mobile: 12.5px;
  --phc-footer-size: var(--phc-footer-size-desktop);
  --phc-quote-family: var(--phc-font-accent), var(--phc-font-bangla), cursive;
  --phc-quote-weight: 600;
  --phc-quote-lh: 1.05;
  --phc-quote-ls: 0;
  --phc-quote-color: var(--navy);
  --phc-quote-transform: none;
  --phc-quote-align: left;
  --phc-quote-size-desktop: 30px;
  --phc-quote-size-tablet: 26px;
  --phc-quote-size-mobile: 22px;
  --phc-quote-size: var(--phc-quote-size-desktop);
}

@media (max-width: 1100px) {
  :root {
    --phc-h1-size: var(--phc-h1-size-tablet);
    --phc-h2-size: var(--phc-h2-size-tablet);
    --phc-h3-size: var(--phc-h3-size-tablet);
    --phc-eyebrow-size: var(--phc-eyebrow-size-tablet);
    --phc-body-size: var(--phc-body-size-tablet);
    --phc-button-size: var(--phc-button-size-tablet);
    --phc-nav-size: var(--phc-nav-size-tablet);
    --phc-footer-size: var(--phc-footer-size-tablet);
    --phc-quote-size: var(--phc-quote-size-tablet);
  }
}

@media (max-width: 767px) {
  :root {
    --phc-h1-size: var(--phc-h1-size-mobile);
    --phc-h2-size: var(--phc-h2-size-mobile);
    --phc-h3-size: var(--phc-h3-size-mobile);
    --phc-eyebrow-size: var(--phc-eyebrow-size-mobile);
    --phc-body-size: var(--phc-body-size-mobile);
    --phc-button-size: var(--phc-button-size-mobile);
    --phc-nav-size: var(--phc-nav-size-mobile);
    --phc-footer-size: var(--phc-footer-size-mobile);
    --phc-quote-size: var(--phc-quote-size-mobile);
  }
}

body {
  font-family: var(--phc-font-stack);
  font-size: var(--phc-body-size);
  font-weight: var(--phc-body-weight);
  line-height: var(--phc-body-lh);
  letter-spacing: var(--phc-body-ls);
  color: var(--phc-body-color);
}

h1,
.hero-title {
  font-family: var(--phc-h1-family);
  font-size: var(--phc-h1-size);
  font-weight: var(--phc-h1-weight);
  line-height: var(--phc-h1-lh);
  letter-spacing: var(--phc-h1-ls);
  color: var(--phc-h1-color);
  text-transform: var(--phc-h1-transform);
  text-align: var(--phc-h1-align);
}

h1.hero-title.bn-hero,
.hero-title.bn-hero {
  font-family: "Hind Siliguri", var(--phc-font-bangla), sans-serif;
  font-weight: 700;
  font-synthesis: none;
  letter-spacing: 0;
  line-height: 1.12;
}

.hero-title.bn-hero .line {
  font-family: "Hind Siliguri", var(--phc-font-bangla), sans-serif;
  font-weight: 700;
  font-synthesis: none;
  letter-spacing: 0;
  line-height: 1.12;
  overflow: visible;
  padding: 0.02em 0 0.04em;
}

.hero-title.bn-hero .line:not(.accent) {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: var(--navy);
  color: var(--navy) !important;
}

.hero-title.bn-hero .accent {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #0a8be0;
  color: #0a8be0 !important;
}

@media (max-width: 900px) {
  .hero .eyebrow {
    font-size: clamp(12px, 3.4vw, 14px);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  h1.hero-title,
  h1.hero-title.bn-hero,
  .hero-title.bn-hero {
    font-size: clamp(26px, 8vw, 36px);
    line-height: normal;
    letter-spacing: 0;
  }
  .hero-title.bn-hero .line {
    white-space: nowrap;
    line-height: 1.12;
  }
  .hero-title.bn-hero .line.accent {
    font-size: inherit;
    margin-top: 0.08em;
    margin-bottom: 28px;
  }
}

h2,
.sec-h h2,
.cl h2,
.lhead h2,
.tl h2,
.bc h2,
.cr h2 {
  font-family: var(--phc-h2-family);
  font-size: var(--phc-h2-size);
  font-weight: var(--phc-h2-weight);
  line-height: var(--phc-h2-lh);
  letter-spacing: var(--phc-h2-ls);
  text-transform: var(--phc-h2-transform);
}

.sec-h h2 {
  text-align: var(--phc-h2-align);
}

h2.bn-hero,
.cl h2.bn-hero,
.cr h2.bn-hero,
.tl h2.bn-hero,
.bc h2.bn-hero {
  font-family: "Hind Siliguri", var(--phc-font-bangla), sans-serif;
  font-weight: 700;
  font-synthesis: none;
  letter-spacing: 0;
  line-height: 1.22;
}

.cr h2.bn-hero {
  font-size: clamp(20px, 2.15vw, 26px);
}

h3,
.wc h3,
.mc h3,
.pi h3,
.st h3,
.pb h3,
.lc h3 {
  font-family: var(--phc-h3-family);
  font-size: var(--phc-h3-size);
  font-weight: var(--phc-h3-weight);
  line-height: var(--phc-h3-lh);
  letter-spacing: var(--phc-h3-ls);
}

.eyebrow,
.kick {
  font-family: var(--phc-eyebrow-family);
  font-size: var(--phc-eyebrow-size);
  font-weight: var(--phc-eyebrow-weight);
  line-height: var(--phc-eyebrow-lh);
  letter-spacing: var(--phc-eyebrow-ls);
  text-transform: var(--phc-eyebrow-transform);
}

.sub,
.sec-h p.sub,
.wc p,
.cl p,
.faq details p,
.st p,
.tl .sub {
  font-family: var(--phc-body-family);
  font-size: var(--phc-body-size);
  font-weight: var(--phc-body-weight);
  line-height: var(--phc-body-lh);
  letter-spacing: var(--phc-body-ls);
}

.st p[lang="bn"],
.tl .sub[lang="bn"],
.bc p[lang="bn"] {
  font-family: "Hind Siliguri", var(--phc-body-family), sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  line-height: 1.65;
}

.btn {
  font-family: var(--phc-button-family);
  font-size: var(--phc-button-size);
  font-weight: var(--phc-button-weight);
  letter-spacing: var(--phc-button-ls);
  text-transform: var(--phc-button-transform);
  text-align: var(--phc-button-align);
}

.site-nav,
.sn-links a,
.skip-link {
  font-family: var(--phc-nav-family);
  font-size: var(--phc-nav-size);
  font-weight: var(--phc-nav-weight);
  letter-spacing: var(--phc-nav-ls);
}

.foot,
.fg,
.copy2,
.fb1 .blurb,
.fb1 .tag {
  font-family: var(--phc-footer-family);
  font-size: var(--phc-footer-size);
  font-weight: var(--phc-footer-weight);
  line-height: var(--phc-footer-lh);
  letter-spacing: var(--phc-footer-ls);
}

.script,
.tscr,
.cm .scr {
  font-family: var(--phc-quote-family);
  font-size: var(--phc-quote-size);
  font-weight: var(--phc-quote-weight);
  line-height: var(--phc-quote-lh);
  letter-spacing: var(--phc-quote-ls);
  color: var(--phc-quote-color);
}

.tl .tscr {
  font-family: Caveat, var(--phc-quote-family), cursive;
  letter-spacing: 0.01em;
  background: linear-gradient(92deg, #7ad4f5 0%, #25a8ea 42%, #b8e27a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.tl .tscr .i {
  color: #b8e27a;
  -webkit-text-fill-color: #b8e27a;
}
