/* Bharat Digital webfonts — served from the Fontsource CDN, matching the source system DC.
   Libertinus Serif / Libertinus Serif Display / Public Sans / DM Mono / League Spartan
   are all open-licence (SIL OFL); no binaries are vendored into this project. */
@font-face{font-family:"Libertinus Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/libertinus-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:"Libertinus Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/libertinus-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:"Libertinus Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/libertinus-serif-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:"Libertinus Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/libertinus-serif-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/public-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/public-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/public-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:"Spartan";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/league-spartan-latin-700-normal.woff2) format('woff2')}

:root{
  /* ── Paper & ink (the only colours allowed on type, rules and UI fills) ── */
  --bd-paper:#FFFBF2;
  --bd-paper-soft:#FCF8EF;
  --bd-paper-press:#F3ECDD;      /* secondary-button hover / pressed wash */
  --bd-desk:#EFE9DB;             /* surround behind a page canvas */
  --bd-graphite:#232323;         /* display + body type */
  --bd-ink:#000000;              /* rules, logo, primary CTA, mono labels */
  --bd-ink-secondary:#140D0D;    /* secondary button label */
  --bd-olive:#606C47;            /* section numerals, Labs file sheet */
  --bd-rule-soft:#DED7C7;        /* hairline inside a section (specimen rows) */
  --bd-dash:#696969;             /* dashed service-tag outline */
  --bd-tag-fill:#E7CEC1;         /* service-tag fill */

  /* ── Illustration palette — ONLY inside dithered duotone figures ── */
  --bd-mint:#A4E6B4;
  --bd-periwinkle:#B9B0FA;
  --bd-terracotta:#DC8462;
  --bd-sky:#8BD6F8;
  --bd-mint-pastel:#D3F2DD;
  --bd-periwinkle-pastel:#DCD7FC;
  --bd-terracotta-pastel:#EFC0AE;
  --bd-sky-pastel:#C4E9FB;

  /* ── Logo chevron gradient (saffron → green) ── */
  --bd-saffron:#FF8335;
  --bd-green:#48A225;
  --bd-chevron-gradient:linear-gradient(150deg,#FF8335 0%,#48A225 100%); /* @kind other */

  /* ── Semantic aliases ── */
  --surface-page:var(--bd-paper);
  --surface-panel:var(--bd-paper-soft);
  --surface-desk:var(--bd-desk);
  --surface-card:var(--bd-paper);
  --surface-tag:var(--bd-tag-fill);
  --surface-sheet:var(--bd-olive);
  --text-display:var(--bd-graphite);
  --text-body:var(--bd-graphite);
  --text-muted:rgba(35,35,35,0.55);
  --text-eyebrow:rgba(35,35,35,0.4);
  --text-data:var(--bd-ink);
  --text-on-ink:var(--bd-paper);
  --text-secondary-action:var(--bd-ink-secondary);
  --text-numeral:var(--bd-olive);
  --border-ink:var(--bd-ink);
  --border-soft:var(--bd-rule-soft);
  --action-primary-bg:var(--bd-ink);
  --action-primary-fg:#FFFFFF;
  --action-primary-bg-hover:var(--bd-graphite);
  --action-secondary-fg:var(--bd-ink-secondary);
  --action-secondary-bg-hover:var(--bd-paper-press);
}

:root{
  /* ── Families ── */
  --bd-font-display:"Libertinus Serif Display",ui-serif,Georgia,"Times New Roman",serif;
  --bd-font-serif:"Libertinus Serif",ui-serif,Georgia,"Times New Roman",serif;
  --bd-font-sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --bd-font-mono:"DM Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --bd-font-wordmark:"Spartan","Public Sans",sans-serif;

  /* ── Sizes, as drawn on the 1920×1080 reference frame ── */
  --bd-size-display:80px;        /* hero, uppercase */
  --bd-size-display-lg:104px;    /* masthead */
  --bd-size-heading:60px;        /* section heading, sentence case */
  --bd-size-heading-sm:52px;
  --bd-size-eyebrow:40px;        /* serif eyebrow, 40% ink, one word italic */
  --bd-size-card-title:36px;
  --bd-size-body-lg:32px;
  --bd-size-tag:32px;            /* service tag, mono uppercase */
  --bd-size-body:24px;
  --bd-size-body-sm:19.7px;      /* content-card body — exact Figma value */
  --bd-size-label:20px;          /* folder tabs, mono uppercase 500 */
  --bd-size-caption:14px;
  --bd-size-caption-sm:13px;
  --bd-wordmark-size:21.78px;

  /* ── Line heights ── */
  --bd-leading-display:0.95;
  --bd-leading-flush:1;          /* Figma sets 100% on nearly every text node */
  --bd-leading-heading:1.02;
  --bd-leading-body:1.5;
  --bd-leading-body-tight:1.1;

  /* ── Tracking ── */
  --bd-track-mono:0.04em;
  --bd-track-mono-wide:0.12em;
  --bd-track-mono-widest:0.14em;

  /* ── Weights ── */
  --bd-weight-regular:400;
  --bd-weight-medium:500;
  --bd-weight-semibold:600;
  --bd-weight-wordmark:700;

  /* ── Semantic aliases ── */
  --font-display:var(--bd-font-display);
  --font-heading:var(--bd-font-serif);
  --font-body:var(--bd-font-sans);
  --font-data:var(--bd-font-mono);
}

:root{
  /* 4px base scale — every value that appears in the source frames */
  --bd-space-1:4px;
  --bd-space-2:8px;    /* inline gaps, icon padding */
  --bd-space-3:12px;   /* folder-tab vertical padding */
  --bd-space-4:16px;   /* button & pill padding */
  --bd-space-5:20px;
  --bd-space-6:24px;   /* card gutter, header padding */
  --bd-space-8:32px;   /* component gap */
  --bd-space-10:40px;  /* column gap, nav gap */
  --bd-space-12:48px;  /* block rhythm */
  --bd-space-16:64px;  /* logo clearance */
  --bd-space-18:72px;  /* section padding */
  --bd-space-24:96px;  /* section rhythm (top) */

  /* Layout */
  --bd-frame-w:1920px;
  --bd-frame-h:1080px;
  --bd-columns:12; /* @kind other */
  --bd-gutter:24px;
  --bd-section-pad:72px;
  --bd-section-rhythm:96px;
  --bd-header-pad-y:16px;
  --bd-header-pad-x:64px;

  /* Semantic aliases */
  --space-inline:var(--bd-space-2);
  --space-control:var(--bd-space-4);
  --space-component:var(--bd-space-8);
  --space-block:var(--bd-space-12);
  --space-section:var(--bd-space-18);
}

:root{
  --bd-radius-0:0;      /* rules, cards, sheets — the default */
  --bd-radius-tab:12px; /* folder tab, top corners only */
  --bd-radius-pill:21px;/* service tag */
  --bd-radius-button:30px;
  --bd-radius-full:999px;

  --radius-card:var(--bd-radius-0);
  --radius-tab:var(--bd-radius-tab);
  --radius-tag:var(--bd-radius-pill);
  --radius-button:var(--bd-radius-button);
}

:root{
  /* One border weight for structure; one dashed weight for tags. No shadows anywhere. */
  --bd-border:1px solid #000000; /* @kind other */
  --bd-border-soft:1px solid #DED7C7; /* @kind other */
  --bd-outline-dashed:3px dashed #696969; /* @kind other */
  --bd-outline-dashed-offset:-3px; /* @kind spacing */
  --bd-inset-ink:inset 0 0 0 1px #000000;   /* secondary button "border" */
  --bd-shadow-none:none;

  --border-structure:var(--bd-border); /* @kind other */
  --border-hairline:var(--bd-border-soft); /* @kind other */
  --shadow-card:var(--bd-shadow-none);
}

:root{
  /* Editorial motion: things rise, clip up, or drift in. Nothing bounces. */
  --bd-ease-entrance:cubic-bezier(.18,.7,.2,1); /* @kind other */
  --bd-ease-nav:cubic-bezier(.2,.7,.2,1); /* @kind other */
  --bd-ease-wheel:cubic-bezier(.3,.35,.1,1); /* @kind other */
  --bd-ease-standard:ease; /* @kind other */

  --bd-dur-hover:180ms; /* @kind other */
  --bd-dur-fade:300ms; /* @kind other */
  --bd-dur-reveal:600ms; /* @kind other */
  --bd-dur-entrance:1000ms; /* @kind other */
  --bd-dur-wheel:1250ms; /* @kind other */

  --bd-type-cadence:38ms; /* @kind other */   /* hero headline letter-by-letter reveal */
  --bd-stagger:120ms; /* @kind other */       /* figure / list-item stagger */

  --motion-hover:var(--bd-dur-hover) var(--bd-ease-standard); /* @kind other */
  --motion-entrance:var(--bd-dur-entrance) var(--bd-ease-entrance); /* @kind other */
}








