/* ==========================================================================
   CRITICAL CSS (Render Blocking)
   Contains: Resets, Base, Header, Nav, Intro/Hero
   ========================================================================== */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

:root {
  --ic-blue: #464b6b;
  --ic-orange: #D9954A;
  --ic-grey: #656565;
  --filter-ic-blue: invert(28%) sepia(8%) saturate(2210%) hue-rotate(195deg) brightness(91%) contrast(84%);
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type=search] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  max-width: 100%;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */
[hidden] {
  display: none;
}

/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: 0;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */
}

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */
figure {
  margin: 0;
}

/**
 * Correct margin displayed oddly in IE 6/7.
 */
form {
  margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.255em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

html,
button,
input,
select,
textarea {
  color: #222;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

img {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

html {
  box-sizing: border-box;
  font-size: 0.5208333333vw;
}
@media (max-width: 1600px) {
  html {
    font-size: 0.625vw;
  }
}
@media (max-width: 1024px) {
  html {
    font-size: 0.7220216606vw;
  }
}
@media (max-width: 920px) {
  html {
    font-size: 1.2048192771vw;
  }
}
@media (max-width: 500px) {
  html {
    font-size: 2.6666666667vw;
  }
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background-color: #edebe5;
  font-family: Lato, sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #0e0e0e;
}
@media (max-width: 500px) {
  body {
    font-size: 1.6rem;
  }
}

img {
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
}

a {
  text-decoration: none;
  color: #fcfcfc;
  transition: all 0.1s linear;
}

section,
#about {
  scroll-margin-top: 8rem;
}


/* Blocks */
.page {
  overflow: hidden;
}

.section-heading {
    font-weight: 900;
    font-size: 4rem;
    color: var(--ic-blue)!important;
    text-transform: uppercase;
    margin-bottom: 4rem;
}
@media (max-width: 920px) {
  .section-heading {
    margin-bottom: 6rem;
  }
}
@media (max-width: 500px) {
  .section-heading {
    margin-bottom: 2rem;
    font-size: 2.5rem!important;
  }
}

.container {
  width: 100%;
  padding: 0 2rem;
  margin: 0 auto;
}

@media (min-width: 920px) {
    .container {
      width: 100%;
      padding: 0 12rem;
      margin: 0 auto;
    }
}

.header__container {
  width: 100%;
  padding: 0!important;
  margin: 0 auto;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  /*display: flex;*/
  align-items: center;
  width: 100%;
  transition: all 0.5s linear;
  transform: translateY(0);
}
.header-scroll-down {
  background-color: #fefefe;
  box-shadow: 0 0.1rem 1rem 0 rgb(105 105 105 / 40%);
}
.header-scroll-top{
    background: linear-gradient(to top, transparent 0%, rgba(0,0,0,0.5) 100%);
}
@media (max-width: 920px) {
  .header {
        height: 6rem;
        box-shadow: none;
  }
    
  .header__inner {
        margin: 0!important;
        background: #fefefe;
        height: 6rem!important;
        padding: 0 5rem;
    }
  .nav-container {
        padding:0!important;
    }
}
@media (max-width: 500px) {
  .header {
    height: 6rem;
  }
    
  .header__inner {
        padding: 0 2rem;
    }
}

/*.header.out {
  transform: translateY(-100%);
  box-shadow: none;*/
}

.header.top {
  background-color: #0f0e0e;
  box-shadow: none;
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 2rem -3rem;
  height: 5rem;
}

.header__logo-img, .modal_logo_img {
  width: 24.7rem;
  aspect-ratio: 5 / 1;
}
@media (max-width: 920px) {
  .header__logo-img, .modal_logo_img {
    width: 17rem;
  }
}

@media (max-width: 920px) {
  .menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
    width: 100%;
    max-height: 0;
    background: #fefefe;
    overflow: hidden;
    transition: all 0.2s linear;
  }
  .menu .menu__nav-list {
    display: grid;
    justify-content: center;
    text-align: center;
    padding: 0 0 3rem;
    margin-top: 2.5rem;
  }
}

.menu__nav-list {
  display: flex;
}

/* 
    v22.08.05 
    Replace 5rem with 3.5rem at line 1816
*/
.nav-list__item + .nav-list__item {
  margin-left: 2.5rem; /*19 Dec 2024*/
}

.nav-list__item-link {
  font-size: 1.6rem;
  text-transform: uppercase;
}

.nav-list__item-link-scroll-down {
  color: var(--ic-blue)!important;
}

.nav-list__item-link-scroll-top {
  color: #fff;
}


@media (max-width: 920px) {
    
  .nav-list__item-link {
      color: var(--ic-blue);
  }
  .nav-list__item + .nav-list__item {
    margin-left: 0;
    margin-top: 0.75rem;
  }
}
@media (max-width: 500px) {
  .nav-list__item + .nav-list__item {
    margin-left: 0;
    margin-top: 1rem;
  }
}

.burger-menu {
  display: none;
  position: relative;
  top: 30%;
  right: 0;
  z-index: 1000;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background: transparent;
  /*border: 0.1rem solid #777;
  border-radius: 0.7rem;*/
  cursor: pointer;
}
@media (max-width: 920px) {
  .burger-menu {
    display: block;
  }
}

.burger {
  top: 50%;
  transform: translateY(-50%);
}

.burger,
.burger::before,
.burger::after {
  position: absolute;
  left: 50%;
  z-index: 100;
  transform: translateX(-50%);
  display: block;
  width: 2rem;
  height: 1px;
  background-color: var(--ic-blue);
  border-radius: 2.5rem;
  transition: all 0.3s ease-in-out;
}

.burger::before {
  content: "";
  top: 0.7rem;
}

.burger::after {
  content: "";
  bottom: 0.7rem;
}

.burger-menu.menu-on .burger {
  background: rgba(0, 0, 0, 0);
}

.burger-menu.menu-on .burger::before {
  transform: translateX(-50%) rotate(45deg);
  top: 0;
  background-color: #999999;
}

.burger-menu.menu-on .burger::after {
  transform: translateX(-50%) rotate(-45deg);
  bottom: 0;
  background-color: #999999;
}

.intro {
  margin-bottom: 14.6rem;
}
@media (max-width: 920px) {
  .intro {
    margin-bottom: 10rem;
  }
}
@media (max-width: 500px) {
  .intro {
    margin-bottom: 6rem;
  }
}

.intro__inner {
    height: calc(100vh);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background-size: cover;
    overflow: hidden;
}
@media (max-width: 920px) {
  .intro__inner {
    height: 100svh; /* 6 Jan 2025 -- Change the value */
  }
}

.intro__name {
  width: 86.8rem;
  height: 24rem;
  margin-top: 8rem;
  position: absolute;
  top: 25vh;
}
@media (max-width: 920px) {
  .intro__name {
    width: 60rem;
    height: 17rem;
    filter:none;
  }
}
@media (max-width: 500px) {
  .intro__name {
    width: 30rem;
    height: 9rem;
  }
}

.intro__text {
  /*max-width: 116rem;*/
  font-size: 2.4rem;
  text-align: justify;
}
@media (max-width: 920px) {
  .intro__text {
    font-size: 2rem;
    margin-bottom: 10rem;
  }
}
@media (max-width: 500px) {
  .intro__text {
    font-size: 2rem;
    margin-bottom: 6rem;
  }
}

.intro__more {
  display: flex;
  font-weight: bold;
}
@media (max-width: 920px) {
  .intro__more {
  }
}
.intro__more-icon {
  height: 5rem;
  fill: #ffffff;
  margin-bottom:3rem;
  animation: 1s linear 1s infinite alternate slidedown;
  margin-left: -5rem;
}
@media (max-width: 920px) {
  .intro__more-icon {
    height: 5rem;
    margin-left: -8%;
  }
}

@keyframes slidedown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(15px);
  }
}

.reports__inner {
  display: flex;
  justify-content: center;
}
@media (max-width: 500px) {
  .reports__inner {
    flex-wrap: wrap;
  }
}

.reports__item {
  width: 100%;
  /* max-width: 30rem; --> 6 MAY 2025 - Hide this rule*/
  display: flex;
  flex-direction: column;
  cursor: pointer;
}
.reports__item + .reports__item {
  margin-left: 4rem;
}
@media (max-width: 920px) {
  .reports__item + .reports__item {
    margin-left: 2rem;
  }
}
@media (max-width: 500px) {
  .reports__item + .reports__item {
    margin-left: 0;
    /*margin-top: 4rem;*/
  }
}

.reports__item-img {
  width: 100%;
  height: 100%; /* 6 MAY 2025 auto to 100% */
  /* margin-bottom: 3.5rem; --> 6 MAY 2025 Hide this rule */
  border-radius: 1rem; 
  object-fit:cover;
}

.reports__item-heading {
  font-weight: 800;
  font-size: 2rem;
}

.reports__item-descr {
  font-size: 1.6rem;
}

.grid {
    /*background: #EEE;*/
    max-width: 1272px;
    margin: 0 auto;
}

.grid:after {
  content: '';
  display: block;
  clear: both;
}

.grid-sizer,
.grid-item { width: 5%; }

.grid-item {
  height: auto;
  float: left;
  /* vertical gutter */
  margin-bottom: 0;
  border-radius: 5px;
  padding: 2.5%;
  cursor: pointer;
}



.grid-item--width_half { width: 47.5%; }
.grid-item--width5 { width: 5%; }
.grid-item--width10 { width: 10%; }
.grid-item--width15 { width: 15%; }
.grid-item--width20 { width: 20%; }
.grid-item--width25 { width: 25%; }
.grid-item--width30 { width: 30%; }
.grid-item--width35 { width: 35%; }
.grid-item--width40 { width: 40%; }
.grid-item--width45 { width: 45%; }
.grid-item--width50 { width: 50%; }
.grid-item--width55 { width: 55%; }
.grid-item--width60 { width: 60%; }
.grid-item--height2 { height: 100px; }
.grid-item--height3 { height: 300px; }
.grid-item--height3_5 { height: 350px; }
.grid-item--height4 { height: 400px; }
.grid-item--height4_5 { height: 450px; }
.grid-item--height5 { height: 500px; }
.grid-item--height5_5 { height: 550px; }
.grid-item--height6 { height: 600px; }
.grid-item--margin10 { margin-top: 10px; }
.grid-item--margin20 { margin-top: 20px; }
.grid-item--margin30 { margin-top: 30px; }
.grid-item--margin40 { margin-top: 40px; }
.grid-item--margin50 { margin-top: 50px; }
.grid-item--margin40inv { margin-top: -40px; }


.report-desc-container {
    width: 100%;
    border-radius: 1rem;
    padding: 2rem;
    box-sizing: border-box;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(0deg, #000C, transparent);
    align-items: end;
    backdrop-filter: none;
    transition: all linear 0.3s;
    pointer-events: none;
}

.report-text-container {
    display: block;
    width: 95%;
    align-content: center;
    text-align: left;
}

.report-subtitle {
    /*text-transform: uppercase;*/
    font-size: 12px;
    color: #f09e24;
  transition: all linear 0.3s;
}

.report-heading {
    font-weight: bold;
    font-size: 18px;
    color: #fff;
  transition: all linear 0.2s;
}

.report-icon-container {
    display: block;
    width: 5%;
    align-content: center;
}

.report-icon-container img {
    display: block;
    width: 22px;
    opacity: 0.66;
    filter:invert(1);
    padding-bottom: 8px;
}

.relativeDiv {
  position: relative;
  height: 100%;
  width: 100%;
}

.grid-item-buffer {display: block}

@media (max-width: 500px) {
  .grid-item--width_half, 
  .grid-item--width5,
  .grid-item--width10,
  .grid-item--width15, 
  .grid-item--width20,
  .grid-item--width25,
  .grid-item--width30,
  .grid-item--width35,
  .grid-item--width40,
  .grid-item--width45,
  .grid-item--width50,
  .grid-item--width55,
  .grid-item--width60 { width: 100%; }
  
  .grid-item--height2,
  .grid-item--height3,
  .grid-item--height3_5,
  .grid-item--height4,
  .grid-item--height4_5,
  .grid-item--height5,
  .grid-item--height5_5,
  .grid-item--height6 { height: 275px; }
  
  .grid-item--margin10,
  .grid-item--margin20,
  .grid-item--margin30,
  .grid-item--margin40,
  .grid-item--margin50,
  .grid-item--margin40inv { margin-top: 0; }
  
  .grid-item-buffer { display: none; height: 0; width: 0; }
}

/* --- ANTI-FOUC (Flash of Unstyled Content) FIX --- */

/* 1. Hide these specific sections initially */
.intro-toast,
.team, 
.reports, 
.research-db, 
.charity, 
.awards, 
#about, 
#investorcall, 
#india-conference, 
#in-conversation, 
.footer,
#whitepaper-modal {
    opacity: 0;
    /* transition: opacity 0.5s ease-in; removed here, added to loaded state */
}

/* 2. Generic constraints to prevent massive image explosions before CSS loads */
img {
    max-width: 100%;
    height: auto;
}

/* 3. Reserve vertical space so scrollbar doesn't jump */
#about { min-height: 100vh; }
.reports { min-height: 500px; }

/* 4. The class that reveals everything */
/*body.css-loaded .intro-toast, 
body.css-loaded .team, 
body.css-loaded .reports, 
body.css-loaded .research-db, 
body.css-loaded .charity, 
body.css-loaded .awards, 
body.css-loaded #about, 
body.css-loaded #investorcall, 
body.css-loaded #india-conference, 
body.css-loaded #in-conversation, 
body.css-loaded .footer,
body.css-loaded #whitepaper-modal {
    opacity: 1;
    transition: opacity 0.5s ease-in;*/ /* Smooth fade-in */
/*}*/
html.css-loaded .intro-toast,
html.css-loaded .team,
html.css-loaded .reports,
html.css-loaded .research-db,
html.css-loaded .charity,
html.css-loaded .awards,
html.css-loaded #about,
html.css-loaded #investorcall,
html.css-loaded #india-conference,
html.css-loaded #in-conversation,
html.css-loaded .footer,
html.css-loaded #whitepaper-modal {
    opacity: 1;
    transition: opacity 0.5s ease-in; /* Smooth fade-in */
}
/* Deep-link Highlight for Research Items */
/*.report-desc-container.direct-link-highlight {
    border: 3px solid #FFD700 !important;*/ /* Bright Yellow */
    /*box-shadow: 0 0 15px rgba(255, 215, 0, 0.5);
    transition: border 0.3s ease-in-out;
    pointer-events: auto;*/ /* Ensures the container is interactive if needed */
/*}*/

