@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Newsreader:ital,wght@0,500;0,600;1,500;1,600&display=swap');

/* =========================================================
   Invest Telangana — Rising Editorial (5a). Page-scoped only.
   All rules prefixed with body.re-home.
   Selectors account for Elementor's widget wrapper:
     <div class="...mywrapclass elementor-widget-<type>">
       <div class="elementor-widget-container">
         <img|h*|p|.elementor-button ...>
   ========================================================= */

/* -------- Base -------- */
body.re-home {
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #101828; background: #fff; -webkit-font-smoothing: antialiased;
  /* Fluid gutter: enough padding to keep content ~1184px wide, but shrink to 48px min
     so the design is edge-to-edge on wide viewports and gutters stay reasonable narrow. */
  --re-gutter: max(48px, calc((100vw - 1184px) / 2));
  --re-content-w: 1184px;
}
body.re-home a { color: inherit; text-decoration: none; }
body.re-home img { display: block; max-width: 100%; height: auto; }

/* Cancel Elementor default paragraph margins inside text editors we style ourselves */
body.re-home .elementor-widget-text-editor p { margin: 0; }

/* Page wrapper — FULL viewport width, no card. Section backgrounds extend edge to edge. */
body.re-home .re-page {
  max-width: none !important; margin: 0 !important;
  background: #fff; width: 100%;
}
/* Elementor full-width containers add width via --width var; force to 100% inside our page */
body.re-home .re-page > .e-con,
body.re-home .re-page .re-x { --width: 100%; }
body.re-home .re-page > .re-x,
body.re-home .re-page .re-x { width: 100%; max-width: 100%; }

/* Fully neutralise Elementor's default gap/padding vars on our container instances so
   our own paddings win. We reintroduce padding per section below. */
body.re-home .re-x {
  --padding-block-start: 0; --padding-block-end: 0;
  --padding-inline-start: 0; --padding-inline-end: 0;
  --margin-block-start: 0; --margin-block-end: 0;
  --margin-inline-start: 0; --margin-inline-end: 0;
  --row-gap: 0; --column-gap: 0;
  padding: 0; margin: 0; gap: 0;
}
/* Elementor forces --width: 100% on containers which fights flex/grid child sizing.
   For every re-x container that is a CHILD of another re-x container, let width be auto
   so grid/flex parents can size children naturally. Section-root containers keep 100%. */
body.re-home .re-x .re-x { --width: auto !important; width: auto !important; }

/* ---------- Signature eyebrow ---------- */
body.re-home .re-eyebrow-wrap .elementor-widget-container,
body.re-home .re-eyebrow-wrap {
  display: block;
}
body.re-home .re-eyebrow {
  display: flex; align-items: center; gap: 10px; margin: 0 0 14px;
}
body.re-home .re-eyebrow::before {
  content: ''; display: block; width: 34px; height: 2px; background: #F26522; flex: none;
}
body.re-home .re-eyebrow__label {
  font-size: 12px; font-weight: 700; letter-spacing: 2.5px; color: #0B4EA2; text-transform: uppercase;
}

/* ---------- Buttons ---------- */
body.re-home .re-btn .elementor-button {
  display: inline-block; font-family: 'Manrope', sans-serif; font-weight: 700;
  font-size: 14px; line-height: 1; padding: 15px 30px;
  border-radius: 0 !important; border: 0; cursor: pointer;
  text-decoration: none; text-align: center;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
  box-shadow: none;
}
body.re-home .re-btn .elementor-button-text { font-weight: inherit; letter-spacing: 0; }
body.re-home .re-btn--orange .elementor-button { background: #F26522; color: #fff; font-weight: 800; fill: #fff; }
body.re-home .re-btn--orange .elementor-button:hover { background: #d9571a; color: #fff; }
body.re-home .re-btn--blue .elementor-button { background: #0B4EA2; color: #fff; font-weight: 800; fill: #fff; }
body.re-home .re-btn--blue .elementor-button:hover { background: #093f83; color: #fff; }
body.re-home .re-btn--outline-dark .elementor-button {
  background: transparent; border: 1.5px solid #101828; color: #101828; font-weight: 700; padding: 13.5px 28.5px;
}
body.re-home .re-btn--outline-dark .elementor-button:hover { background: #101828; color: #fff; }
body.re-home .re-btn--outline-white .elementor-button {
  background: transparent; border: 1.5px solid rgba(255,255,255,.6); color: #fff; font-weight: 700; padding: 13.5px 28.5px;
}
body.re-home .re-btn--outline-white .elementor-button:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }
body.re-home .re-btn--sm .elementor-button { padding: 13px 26px; font-size: 13.5px; font-weight: 800; }

/* ---------- Govt strip ---------- */
body.re-home .re-govt {
  background: #0B4EA2; color: rgba(255,255,255,.85);
  font-size: 11.5px; letter-spacing: .4px;
  padding: 8px var(--re-gutter);
  display: flex; flex-direction: row; align-items: center;
}
body.re-home .re-govt__inner {
  flex: 1; display: flex; flex-direction: row;
  justify-content: space-between; align-items: center; gap: 18px;
}
/* The two HTML widgets stay as flex children; their inner containers hug content
   so the right-side links group tightly together on the far right. */
body.re-home .re-govt__inner > .elementor-widget { flex: 0 0 auto; display: block; }
body.re-home .re-govt__inner > .elementor-widget > .elementor-widget-container { display: inline-flex; gap: 18px; align-items: center; }
body.re-home .re-govt__left,
body.re-home .re-govt__right {
  display: flex; flex-direction: row; align-items: center;
}
body.re-home .re-govt__left .elementor-widget-container,
body.re-home .re-govt__right .elementor-widget-container { gap: 18px; }
body.re-home .re-govt__right a { color: rgba(255,255,255,.85); }
body.re-home .re-govt__right a:hover { color: #fff; }

/* ---------- Header ---------- */
body.re-home .re-header {
  background: #fff; border-bottom: 1px solid #e4e7ec;
  padding: 14px var(--re-gutter); display: flex; flex-direction: row;
  align-items: center; justify-content: space-between;
}
body.re-home .re-header__inner {
  flex: 1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px;
}
body.re-home .re-header__logos {
  display: flex; flex-direction: row; align-items: center; gap: 16px;
}
/* Every logo widget slot: flex-center so images sit on the row baseline regardless
   of widget type (Elementor image widget OR HTML widget) */
body.re-home .re-header__logos .elementor-widget,
body.re-home .re-header__logos .re-header__logo--it,
body.re-home .re-header__logos .re-header__logo--tr,
body.re-home .re-header__logos .re-header__logo--emb {
  flex: none !important; display: flex !important; align-items: center;
  padding: 0 !important; margin: 0 !important;
}
body.re-home .re-header__logos .elementor-widget-container {
  display: flex; align-items: center;
}
body.re-home .re-header__logos img { width: auto !important; display: block; }
body.re-home .re-header__logo--it img { height: 56px !important; }
body.re-home .re-header__logo--tr img { height: 50px !important; }
body.re-home .re-header__logo--emb img { height: 44px !important; }
/* Vertical hairline separators between logos */
body.re-home .re-header__logo--tr::before,
body.re-home .re-header__logo--emb::before {
  content: ''; display: block; width: 1px; height: 40px; background: #e4e7ec; margin-right: 16px; flex: none;
}
body.re-home .re-header__nav-wrap {
  display: flex; flex-direction: row; align-items: center; gap: 16px;
}

/* ---------- Mega-menu ---------- */
body.re-home .re-header__nav .elementor-widget-container { display: contents; }
body.re-home .re-nav {
  display: flex; flex-direction: row; align-items: center; gap: 2px;
  font-size: 13.5px; font-weight: 600; color: #344054;
}
body.re-home .re-nav__item { position: relative; }
body.re-home .re-nav__label {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 10px 10px; cursor: pointer;
  border: 0; border-bottom: 2px solid transparent; background: transparent;
  font: inherit; color: inherit; white-space: nowrap;
  transition: color .15s ease, border-color .15s ease;
}
/* Compact spacing so full nav + button fits at 1280px.
   Elementor sets containers to --width: 100% (width: var(--width)) which competes
   with flex sizing. Force width: auto on inner row containers. */
body.re-home .re-header__inner {
  gap: 12px; min-width: 0;
  --width: 100%; width: 100%;
  justify-content: space-between; align-items: center;
}
body.re-home .re-header__logos {
  --width: auto !important; width: auto !important;
  flex: 0 0 auto; gap: 14px;
}
body.re-home .re-header__nav-wrap {
  --width: auto !important; width: auto !important;
  flex: 0 0 auto; gap: 12px; min-width: 0;
}
body.re-home .re-header__nav { --width: auto !important; width: auto !important; }
body.re-home .re-nav { gap: 0; flex-wrap: nowrap; }
body.re-home .re-header__cta { --width: auto !important; width: auto !important; }
body.re-home .re-nav__caret { font-size: 12px; color: #98a2b3; }
body.re-home .re-nav__item:hover .re-nav__label,
body.re-home .re-nav__item.is-open .re-nav__label { color: #0B4EA2; border-bottom-color: #F26522; }
body.re-home .re-nav__dropdown {
  position: absolute; top: 100%; right: 0; background: #fff;
  border: 1px solid #e4e7ec; box-shadow: 0 20px 48px rgba(16,24,40,.12);
  padding: 8px; z-index: 60; min-width: 250px; gap: 2px;
  display: none;
  grid-template-columns: var(--cols, 1fr);
}
body.re-home .re-nav__item:hover .re-nav__dropdown,
body.re-home .re-nav__item.is-open .re-nav__dropdown { display: grid; }
body.re-home .re-nav__dropdown a {
  display: block; padding: 10px 12px; font-size: 13px; font-weight: 600; color: #344054;
  white-space: nowrap; border-left: 2px solid transparent;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
body.re-home .re-nav__dropdown a:hover {
  background: #f5f8fd; color: #0B4EA2; border-left-color: #F26522;
}
body.re-home .re-nav__burger { display: none; }

/* ---------- Hero ---------- */
body.re-home .re-hero {
  padding: 64px var(--re-gutter) 0;
  display: flex; flex-direction: column;
}
body.re-home .re-hero__grid {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 52px; align-items: center;
}
body.re-home .re-hero__left, body.re-home .re-hero__right {
  display: flex; flex-direction: column; min-width: 0;
}
body.re-home .re-hero__rule-wrap { margin: 0 0 22px; }
body.re-home .re-hero__rule {
  display: inline-block; width: 34px; height: 2px; background: #F26522;
}
body.re-home .re-hero__title .elementor-heading-title {
  font-family: 'Newsreader', serif !important; font-size: 58px; line-height: 1.12;
  font-weight: 500; letter-spacing: -1.2px; color: #101828; margin: 0 0 20px;
}
body.re-home .re-hero__title--blue { color: #0B4EA2; }
body.re-home .re-hero__sub .elementor-widget-container,
body.re-home .re-hero__sub p {
  font-size: 15.5px; line-height: 1.7; color: #475467; max-width: 520px; margin: 0;
}
body.re-home .re-hero__sub { margin: 0 0 30px !important; }
body.re-home .re-hero__btns {
  display: flex; flex-direction: row; gap: 12px; margin: 0 0 36px; flex-wrap: wrap;
}
body.re-home .re-hero__btns .elementor-widget { width: auto; }
body.re-home .re-hero__chips {
  display: flex; flex-direction: row; gap: 10px; flex-wrap: wrap;
}

/* Chips */
body.re-home .re-chip {
  display: flex; flex-direction: row; align-items: center; gap: 13px;
  border: 1px solid #e4e7ec; padding: 10px 20px 10px 10px; background: #fff;
}
body.re-home .re-chip__img { flex: none; }
body.re-home .re-chip__img img {
  height: 60px; width: 60px; object-fit: cover; object-position: top; border-radius: 50%;
}
body.re-home .re-chip__meta .elementor-widget-container { display: contents; }
body.re-home .re-chip__eyebrow {
  font-size: 9.5px; letter-spacing: 1.4px; font-weight: 800; color: #F26522;
  margin-bottom: 3px; text-transform: uppercase;
}
body.re-home .re-chip__name { font-family: 'Newsreader', serif; font-weight: 600; font-size: 16px; color: #101828; }
body.re-home .re-chip__org { font-size: 11px; color: #667085; }
body.re-home .re-chip--minister { gap: 11px; padding: 10px 18px 10px 10px; }
body.re-home .re-chip--minister .re-chip__img img { height: 48px; width: 48px; }
body.re-home .re-chip--minister .re-chip__eyebrow {
  font-size: 8.5px; letter-spacing: 1.2px; color: #0B4EA2; margin-bottom: 2px;
}
body.re-home .re-chip--minister .re-chip__name { font-size: 13.5px; }

/* Hero right image */
body.re-home .re-hero__frame {
  border: 1px solid #e4e7ec; padding: 10px; background: #fff;
  height: auto;
}
body.re-home .re-hero__image {
  position: relative; overflow: hidden; height: 400px;
}
body.re-home .re-hero__image .elementor-widget-container,
body.re-home .re-hero__image a,
body.re-home .re-hero__image figure { height: 100%; margin: 0; }
body.re-home .re-hero__image img {
  width: 100%; height: 100%; object-fit: cover;
}
body.re-home .re-hero__caption { margin-top: 10px !important; }
body.re-home .re-hero__caption p,
body.re-home .re-hero__caption .elementor-widget-container {
  font-size: 12px; color: #667085; margin: 0;
}

/* ---------- Stats ---------- */
body.re-home .re-stats {
  margin: 44px var(--re-gutter) 0;
  border-top: 2px solid #101828; border-bottom: 1px solid #e4e7ec;
}
body.re-home .re-stats__grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 0;
}
body.re-home .re-stat {
  padding: 24px 22px 22px; border-right: 1px solid #e4e7ec;
  display: flex; flex-direction: column;
}
body.re-home .re-stat:last-child { border-right: 0; }
body.re-home .re-stat__v .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 34px; font-weight: 500;
  letter-spacing: -.5px; color: #0B4EA2; line-height: 1.1; margin: 0;
}
body.re-home .re-stat__l .elementor-heading-title {
  font-size: 11.5px; color: #344054; margin: 4px 0 0; line-height: 1.4; font-weight: 700;
  font-family: 'Manrope', sans-serif;
}
body.re-home .re-stat__s .elementor-heading-title {
  font-size: 10.5px; color: #98a2b3; margin: 2px 0 0; font-family: 'Manrope', sans-serif; font-weight: 400;
}

/* ---------- Why Telangana ---------- */
body.re-home .re-why { padding: 60px var(--re-gutter); }
body.re-home .re-why__title .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 40px; font-weight: 500;
  letter-spacing: -.8px; margin: 0 0 38px; color: #101828; line-height: 1.15;
}
body.re-home .re-why__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #e4e7ec;
}
body.re-home .re-why__col {
  padding: 26px 28px; border-right: 1px solid #e4e7ec;
  display: flex; flex-direction: column;
}
body.re-home .re-why__col:first-child { padding-left: 0; }
body.re-home .re-why__col:last-child { padding-right: 0; border-right: 0; }
body.re-home .re-why__num .elementor-heading-title {
  font-size: 13px; font-weight: 700; color: #F26522; margin: 0 0 14px; font-family: 'Manrope', sans-serif;
}
body.re-home .re-why__h .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 23px; font-weight: 600; color: #101828; margin: 0 0 10px;
}
body.re-home .re-why__p p,
body.re-home .re-why__p .elementor-widget-container {
  font-size: 13.5px; line-height: 1.65; color: #475467; margin: 0;
}
body.re-home .re-why__link-wrap { margin-top: 14px; }
body.re-home .re-why__a {
  display: inline-block; font-size: 13px; font-weight: 700;
  color: #0B4EA2; text-decoration: underline; text-underline-offset: 3px;
}

/* ---------- Vision band ---------- */
body.re-home .re-vision {
  background: #0B4EA2; color: #fff; padding: 56px var(--re-gutter);
}
body.re-home .re-vision__grid {
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center;
}
body.re-home .re-vision__left { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
body.re-home .re-vision__logoimg {
  margin-bottom: 22px !important;
  display: inline-block;
  background: #fff; padding: 8px 10px; border-radius: 10px;
  width: auto !important;
}
body.re-home .re-vision__logoimg .elementor-widget-container { display: inline-block; }
body.re-home .re-vision__logoimg img { height: 66px; width: auto; display: block; }
body.re-home .re-vision__h .elementor-heading-title,
body.re-home .re-vision__h h1,
body.re-home .re-vision__h h2,
body.re-home .re-vision__h h3 {
  font-family: 'Newsreader', serif !important; font-size: 40px; font-weight: 500;
  letter-spacing: -.8px; line-height: 1.1; margin: 0 0 14px; color: #fff !important;
}
body.re-home .re-part__ph .elementor-heading-title,
body.re-home .re-part__panel h1,
body.re-home .re-part__panel h2,
body.re-home .re-part__panel h3 { color: #fff !important; }
body.re-home .re-vision__copy p,
body.re-home .re-vision__copy .elementor-widget-container {
  font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.75); margin: 0;
}
body.re-home .re-vision__rows {
  display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.25);
}
body.re-home .re-vision__rows .elementor-widget-html .elementor-widget-container { display: block; }
body.re-home .re-vision__row {
  padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.25);
  display: flex; flex-direction: row; gap: 18px; align-items: baseline;
}
body.re-home .re-vision__key {
  font-weight: 800; font-size: 15px; width: 56px; flex: none; letter-spacing: .5px;
}
body.re-home .re-vision__key--cure { color: #FDB515; }
body.re-home .re-vision__key--pure { color: #8FC3FF; }
body.re-home .re-vision__key--rare { color: #7EDDA4; }
body.re-home .re-vision__val { font-size: 13.5px; color: rgba(255,255,255,.85); line-height: 1.6; }

/* ---------- Sectors ---------- */
body.re-home .re-sectors { padding: 60px var(--re-gutter); }
body.re-home .re-sectors__head {
  display: flex; flex-direction: row; justify-content: space-between; align-items: baseline;
  margin-bottom: 30px; gap: 24px; flex-wrap: wrap;
}
body.re-home .re-sectors__title .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 40px; font-weight: 500;
  letter-spacing: -.8px; margin: 0; color: #101828; line-height: 1.15;
}
body.re-home .re-sectors__head-left {
  display: flex !important; flex-direction: column !important; min-width: 0;
}
body.re-home .re-sectors__main-title .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 40px; font-weight: 500;
  letter-spacing: -.8px; margin: 0 0 6px; color: #101828; line-height: 1.15;
}
body.re-home .re-sectors__head-left .re-sectors__title .elementor-heading-title {
  font-family: 'Manrope', system-ui, sans-serif; font-size: 16px; font-weight: 600;
  letter-spacing: 0; color: #475467; margin: 0;
}
body.re-home .re-sectors__link,
body.re-home .re-sectors__link-wrap a {
  font-size: 13px; color: #0B4EA2; font-weight: 700; text-decoration: underline; text-underline-offset: 3px;
}
body.re-home .re-sectors__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px;
  border-top: 1px solid #e4e7ec;
}
body.re-home .re-sectors__grid .elementor-widget-html { display: block; }
body.re-home .re-sector {
  display: flex; flex-direction: row; align-items: center; gap: 12px;
  padding: 13px 0; border-bottom: 1px solid #e4e7ec;
}
body.re-home .re-sector__icon {
  font-family: 'Material Symbols Outlined', sans-serif; font-size: 20px; color: #F26522;
  font-weight: normal; font-style: normal; line-height: 1;
  letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal;
  direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased;
}
body.re-home .re-sector__name { font-size: 14px; font-weight: 600; color: #1d2939; }

/* ---------- Ecosystem ---------- */
body.re-home .re-eco { padding: 0 var(--re-gutter) 60px; }
body.re-home .re-eco__title .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 32px; font-weight: 500;
  letter-spacing: -.5px; margin: 0 0 30px; color: #101828; line-height: 1.2;
}
body.re-home .re-eco__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-left: 1px solid #e4e7ec; border-top: 1px solid #e4e7ec;
}
/* Grid children (HTML widget wrappers) must stretch full grid-cell height so the
   cell borders sit on the actual grid lines, not just where content ends. */
body.re-home .re-eco__grid > .elementor-widget-html,
body.re-home .re-eco__grid > .re-eco-cell-wrap {
  display: flex; align-self: stretch; height: 100%;
}
body.re-home .re-eco__grid > .elementor-widget-html > .elementor-widget-container {
  display: flex; width: 100%;
}
body.re-home .re-eco__cell {
  border-right: 1px solid #e4e7ec; border-bottom: 1px solid #e4e7ec;
  padding: 20px; display: flex; flex-direction: column;
  width: 100%; box-sizing: border-box;
}
body.re-home .re-eco__logo {
  width: 100%; height: 42px; background-size: contain;
  background-position: left center; background-repeat: no-repeat; margin-bottom: 12px;
}
body.re-home .re-eco__name { font-weight: 800; font-size: 14px; margin-bottom: 5px; color: #101828; }
body.re-home .re-eco__desc { font-size: 11.5px; line-height: 1.55; color: #667085; }

/* ---------- Advantage ---------- */
body.re-home .re-adv { padding: 0 var(--re-gutter) 60px; }
body.re-home .re-adv__grid {
  display: grid; grid-template-columns: 1fr 1.05fr; gap: 48px; align-items: stretch;
}
body.re-home .re-adv__col-left, body.re-home .re-adv__col-right {
  display: flex; flex-direction: column; min-width: 0;
}
body.re-home .re-adv__frame-wrap { flex: 1; display: flex; flex-direction: column; }
body.re-home .re-adv__frame-wrap .elementor-widget-container { display: flex; flex: 1; }
body.re-home .re-adv__frame {
  border: 1px solid #e4e7ec; padding: 10px; background: #fff; flex: 1;
  display: flex;
}
body.re-home .re-adv__frame > * {
  position: relative; overflow: hidden; flex: 1; min-height: 340px;
}
body.re-home .re-adv__frame img {
  width: 100%; height: 100%; object-fit: cover;
}
body.re-home .re-adv__cap { margin-top: 10px !important; }
body.re-home .re-adv__cap p,
body.re-home .re-adv__cap .elementor-widget-container { font-size: 12px; color: #667085; margin: 0; }
body.re-home .re-adv__h .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 38px; font-weight: 500;
  letter-spacing: -.8px; line-height: 1.15; margin: 0 0 6px; color: #101828;
}
body.re-home .re-adv__h em { color: #0B4EA2; font-style: italic; }
body.re-home .re-adv__src p,
body.re-home .re-adv__src .elementor-widget-container {
  font-size: 13px; color: #667085; margin: 0 0 22px;
}
body.re-home .re-adv__rows-wrap .elementor-widget-container { display: block; }
body.re-home .re-adv__rows {
  display: flex; flex-direction: column; border-top: 1px solid #e4e7ec;
}
body.re-home .re-adv__row {
  display: flex; flex-direction: row; gap: 16px; padding: 18px 0;
  border-bottom: 1px solid #e4e7ec; align-items: flex-start;
}
body.re-home .re-adv__ricon {
  font-family: 'Material Symbols Outlined', sans-serif; font-size: 24px;
  color: #F26522; margin-top: 2px; flex: none;
  font-weight: normal; font-style: normal; line-height: 1;
  letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal;
}
body.re-home .re-adv__rh { font-weight: 800; font-size: 14.5px; margin-bottom: 3px; color: #101828; }
body.re-home .re-adv__rp { font-size: 13px; color: #475467; line-height: 1.6; }
body.re-home .re-adv__link-wrap { margin-top: 18px; }
body.re-home .re-adv__a {
  display: inline-block; font-size: 13px; font-weight: 700;
  color: #0B4EA2; text-decoration: underline; text-underline-offset: 3px;
}

/* ---------- Partnerships + FDI ---------- */
body.re-home .re-part { padding: 0 var(--re-gutter) 60px; }
body.re-home .re-part__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
body.re-home .re-part__left, body.re-home .re-part__panel {
  display: flex; flex-direction: column;
}
body.re-home .re-part__h .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 32px; font-weight: 500;
  letter-spacing: -.5px; margin: 0 0 14px; color: #101828; line-height: 1.2;
}
body.re-home .re-part__p p,
body.re-home .re-part__p .elementor-widget-container {
  font-size: 14px; line-height: 1.7; color: #475467; margin: 0 0 22px;
}
body.re-home .re-part__chips {
  display: flex; flex-direction: row; gap: 10px; flex-wrap: wrap;
}
body.re-home .re-part__chip {
  border: 1px solid #d0d5dd; padding: 8px 18px;
  font-size: 13px; font-weight: 600; color: #1d2939; background: #fff; display: inline-block;
}
body.re-home .re-part__panel {
  background: #0B4EA2; padding: 34px; color: #fff;
}
body.re-home .re-part__ph .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 24px; font-weight: 600; margin: 0 0 8px; color: #fff;
}
body.re-home .re-part__pp p,
body.re-home .re-part__pp .elementor-widget-container {
  font-size: 13.5px; color: rgba(255,255,255,.8); line-height: 1.65; margin: 0 0 22px;
}
body.re-home .re-part__btns {
  display: flex; flex-direction: row; gap: 12px; flex-wrap: wrap;
}

/* ---------- Investor wall ---------- */
body.re-home .re-inv { display: none !important; }
body.re-home .re-inv { padding: 0 var(--re-gutter) 60px; }
body.re-home .re-inv__head {
  display: flex !important; flex-direction: row !important;
  justify-content: space-between; align-items: flex-end;
  margin-bottom: 26px; gap: 24px; flex-wrap: wrap;
}
body.re-home .re-inv__head-left {
  display: flex !important; flex-direction: column !important; min-width: 0;
}
/* Same pattern for sectors head */
body.re-home .re-sectors__head {
  display: flex !important; flex-direction: row !important;
  justify-content: space-between; align-items: baseline;
  margin-bottom: 30px; gap: 24px; flex-wrap: wrap;
}
body.re-home .re-inv__title .elementor-heading-title {
  font-family: 'Newsreader', serif; font-size: 32px; font-weight: 500;
  letter-spacing: -.5px; margin: 0; color: #101828; line-height: 1.2;
}
body.re-home .re-inv__link {
  font-size: 13px; color: #0B4EA2; font-weight: 700; text-decoration: underline; text-underline-offset: 3px;
}
body.re-home .re-inv__grid-wrap .elementor-widget-container { display: block; }
body.re-home .re-inv__grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 0;
  border-left: 1px solid #e4e7ec; border-top: 1px solid #e4e7ec;
}
body.re-home .re-inv__cell {
  background: #fff; border-right: 1px solid #e4e7ec; border-bottom: 1px solid #e4e7ec;
  height: 92px; display: flex; align-items: center; justify-content: center;
  transition: background .15s ease;
}
body.re-home .re-inv__cell:hover { background: #f5f8fd; }
body.re-home .re-inv__logo {
  width: 112px; height: 32px; background-size: contain;
  background-position: center; background-repeat: no-repeat;
}

/* ---------- Testimonials ---------- */
body.re-home .re-test { padding: 0 var(--re-gutter) 60px; }
body.re-home .re-test__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-left: 1px solid #e4e7ec; border-top: 1px solid #e4e7ec;
}
body.re-home .re-test__cell {
  border-right: 1px solid #e4e7ec; border-bottom: 1px solid #e4e7ec;
  padding: 24px; display: flex; flex-direction: column;
}
body.re-home .re-test__q p,
body.re-home .re-test__q .elementor-widget-container {
  font-family: 'Newsreader', serif; font-style: italic; font-size: 15.5px;
  line-height: 1.6; color: #344054; margin: 0 0 16px;
}
body.re-home .re-test__meta {
  display: flex; flex-direction: row; align-items: center; gap: 12px; margin-top: auto;
}
body.re-home .re-test__avatar { flex: none; }
body.re-home .re-test__avatar img {
  width: 48px; height: 48px; border-radius: 50%;
  object-fit: cover; object-position: top;
}
body.re-home .re-test__ident-wrap .elementor-widget-container { display: contents; }
body.re-home .re-test__name { font-weight: 800; font-size: 13px; color: #101828; }
body.re-home .re-test__title { font-size: 10.5px; color: #667085; }
body.re-home .re-test__co {
  font-size: 10px; font-weight: 800; letter-spacing: 1.5px;
  color: #F26522; margin-top: 2px; text-transform: uppercase;
}

/* ---------- CM quote ---------- */
body.re-home .re-cmq {
  border-top: 1px solid #e4e7ec; padding: 56px var(--re-gutter);
}
body.re-home .re-cmq__grid {
  display: grid; grid-template-columns: auto 1fr; gap: 48px; align-items: center;
}
body.re-home .re-cmq__img { flex: none; align-self: center; }
body.re-home .re-cmq__img img { height: 240px; width: auto; }
body.re-home .re-cmq__body { display: flex; flex-direction: column; }
body.re-home .re-cmq__q p,
body.re-home .re-cmq__q .elementor-widget-container {
  font-family: 'Newsreader', serif; font-style: italic; font-size: 26px;
  line-height: 1.5; font-weight: 400; color: #101828; max-width: 840px; margin: 0;
}
body.re-home .re-cmq__sig-wrap { margin-top: 20px; }
body.re-home .re-cmq__sig { display: flex; align-items: center; gap: 10px; }
body.re-home .re-cmq__sig .re-cmq__rule {
  display: inline-block; width: 34px; height: 2px; background: #F26522;
}
body.re-home .re-cmq__name {
  font-family: 'Newsreader', serif !important; font-weight: 600; font-size: 16px; color: #101828 !important;
}
body.re-home .re-cmq__role { font-size: 12px; color: #667085 !important; }
body.re-home .re-cmq__sig div span { color: inherit; }

/* ---------- Footer ---------- */
body.re-home .re-footer {
  background: #0B4EA2; color: rgba(255,255,255,.8);
  padding: 28px var(--re-gutter); font-size: 12px;
}
body.re-home .re-footer__inner {
  display: flex; flex-direction: row; justify-content: space-between; align-items: center;
  gap: 12px; flex-wrap: wrap;
}
body.re-home .re-footer__left {
  display: flex; flex-direction: row; gap: 14px; align-items: center; flex-wrap: wrap;
}
body.re-home .re-footer__logos {
  display: inline-flex; flex-direction: row; align-items: center; gap: 14px;
  background: #fff; padding: 14px 20px;
  border-radius: 10px;
  width: fit-content !important; --width: fit-content !important;
}
body.re-home .re-footer__logos .elementor-widget,
body.re-home .re-footer__logos .re-footer__logo--it,
body.re-home .re-footer__logos .re-footer__logo--tr,
body.re-home .re-footer__logos .re-footer__logo--emb {
  flex: none !important; display: flex !important; align-items: center;
  padding: 0 !important; margin: 0 !important;
}
body.re-home .re-footer__logos .elementor-widget-container {
  display: flex; align-items: center;
}
body.re-home .re-footer__logos img { width: auto !important; display: block; }
body.re-home .re-footer__logo--it img { height: 40px !important; }
body.re-home .re-footer__logo--tr img { height: 36px !important; }
body.re-home .re-footer__logo--emb img { height: 32px !important; }
body.re-home .re-footer__logo--tr::before,
body.re-home .re-footer__logo--emb::before {
  content: ''; display: block; width: 1px; height: 30px; background: #e4e7ec; margin-right: 12px; flex: none;
}
body.re-home .re-footer__copy { color: rgba(255,255,255,.8); }
body.re-home .re-footer__copy-block {
  display: flex; flex-direction: column; gap: 4px; line-height: 1.4;
}
body.re-home .re-footer__developed {
  font-size: 11px; color: rgba(255,255,255,.6); letter-spacing: .2px;
}
body.re-home .re-footer__developed a {
  color: rgba(255,255,255,.9); font-weight: 700; text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.35);
  transition: color .15s ease, border-color .15s ease;
}
body.re-home .re-footer__developed a:hover {
  color: #fff; border-bottom-color: #fff;
}
body.re-home .re-footer__links {
  display: flex; flex-direction: row; gap: 20px; flex-wrap: wrap;
}
body.re-home .re-footer__links span,
body.re-home .re-footer__links a { color: rgba(255,255,255,.8); }

/* ---------- Responsive: <= 1024px ---------- */
@media (max-width: 1024px) {
  body.re-home { --re-gutter: 32px; }
  body.re-home .re-hero__grid { grid-template-columns: 1fr; gap: 36px; }
  body.re-home .re-hero__title .elementor-heading-title { font-size: 44px; }
  body.re-home .re-hero__image { height: 320px; }

  body.re-home .re-vision__grid { grid-template-columns: 1fr; gap: 32px; }
  body.re-home .re-vision__h .elementor-heading-title { font-size: 32px; }

  body.re-home .re-part__grid { grid-template-columns: 1fr; gap: 32px; }
  body.re-home .re-adv__grid { grid-template-columns: 1fr; gap: 32px; }

  body.re-home .re-cmq__grid { grid-template-columns: 1fr; gap: 24px; }
  body.re-home .re-cmq__img img { height: 180px; }
  body.re-home .re-cmq__q p { font-size: 22px; }

  body.re-home .re-stats__grid { grid-template-columns: repeat(2, 1fr); }
  body.re-home .re-stat:nth-child(even) { border-right: 0; }
  body.re-home .re-stat:nth-child(5) { grid-column: 1 / -1; border-right: 0; border-top: 1px solid #e4e7ec; }

  body.re-home .re-why__grid { grid-template-columns: 1fr; }
  body.re-home .re-why__col {
    padding: 26px 0; border-right: 0; border-bottom: 1px solid #e4e7ec;
  }
  body.re-home .re-why__col:last-child { border-bottom: 0; }
  body.re-home .re-why__title .elementor-heading-title,
  body.re-home .re-sectors__title .elementor-heading-title { font-size: 32px; }
  body.re-home .re-adv__h .elementor-heading-title { font-size: 30px; }

  body.re-home .re-sectors__grid { grid-template-columns: repeat(2, 1fr); gap: 0 32px; }
  body.re-home .re-eco__grid { grid-template-columns: repeat(2, 1fr); }
  body.re-home .re-inv__grid { grid-template-columns: repeat(3, 1fr); }
  body.re-home .re-test__grid { grid-template-columns: repeat(2, 1fr); }

  body.re-home .re-header__nav .re-nav { display: none; }
  /* Force intermediate widget/container wrappers to NOT be positioned so the
     .re-nav drawer positions against the full-width .re-header. */
  body.re-home .re-header { position: relative; }
  body.re-home .re-header__inner,
  body.re-home .re-header__nav-wrap,
  body.re-home .re-header__nav,
  body.re-home .re-header__nav .elementor-widget-container { position: static !important; }
  /* Mobile menu open: absolutely-positioned drawer under the header */
  body.re-home .re-header__nav .re-nav.is-mobile-open {
    display: flex; flex-direction: column;
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-top: 1px solid #e4e7ec; border-bottom: 1px solid #e4e7ec;
    box-shadow: 0 20px 48px rgba(16,24,40,.12);
    padding: 8px var(--re-gutter); z-index: 60; gap: 0;
    max-height: calc(100vh - 200px); overflow-y: auto;
  }
  body.re-home .re-nav.is-mobile-open .re-nav__item {
    display: block; border-bottom: 1px solid #f0f2f5;
  }
  body.re-home .re-nav.is-mobile-open .re-nav__item:last-child { border-bottom: 0; }
  body.re-home .re-nav.is-mobile-open .re-nav__label {
    display: flex; justify-content: space-between; align-items: center;
    width: 100%; padding: 14px 0; border-bottom: 0;
  }
  body.re-home .re-nav.is-mobile-open .re-nav__dropdown {
    position: static; box-shadow: none; border: 0; padding: 0 0 14px 12px; min-width: 0;
    display: none; grid-template-columns: 1fr;
  }
  body.re-home .re-nav.is-mobile-open .re-nav__item.is-open .re-nav__dropdown {
    display: grid;
  }
  body.re-home .re-nav__burger {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; font-size: 20px;
    color: #101828; background: transparent; border: 0; cursor: pointer;
  }
}

/* ---------- Responsive: <= 640px ---------- */
@media (max-width: 640px) {
  body.re-home { --re-gutter: 20px; }
  body.re-home .re-hero__grid { gap: 28px; }
  body.re-home .re-hero__title .elementor-heading-title { font-size: 36px; letter-spacing: -.8px; }
  body.re-home .re-hero__sub p { font-size: 14.5px; }
  body.re-home .re-hero__image { height: 240px; }

  body.re-home .re-stats__grid { grid-template-columns: 1fr; }
  body.re-home .re-stat { border-right: 0 !important; border-bottom: 1px solid #e4e7ec; }
  body.re-home .re-stat:last-child { border-bottom: 0; }
  body.re-home .re-stat:nth-child(5) { grid-column: auto; border-top: 0; }

  body.re-home .re-sectors__grid,
  body.re-home .re-eco__grid,
  body.re-home .re-test__grid { grid-template-columns: 1fr; gap: 0; }
  body.re-home .re-inv__grid { grid-template-columns: repeat(2, 1fr); }

  body.re-home .re-hero__chips { flex-direction: column; }
  body.re-home .re-hero__btns { flex-direction: column; align-items: stretch; }
  body.re-home .re-hero__btns .elementor-widget-button,
  body.re-home .re-hero__btns .elementor-button { width: 100%; }

  body.re-home .re-govt { flex-direction: column; gap: 6px; text-align: center; }
  body.re-home .re-govt__inner { flex-direction: column; align-items: center; gap: 6px; }

  /* Mobile header optimization: logos left, burger right */
  body.re-home .re-header {
    padding: 12px var(--re-gutter);
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  body.re-home .re-header__inner {
    gap: 0;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    flex: 1 1 auto;
  }
  body.re-home .re-header__logos {
    gap: 8px;
    flex: 0 0 auto;
    justify-content: flex-start;
  }
  /* Adjust logo sizes for mobile */
  body.re-home .re-header__logo--tr img { height: 36px; }
  body.re-home .re-header__logo--emb img { height: 30px; }

  /* Navigation wrap and CTA: hamburger menu on right */
  body.re-home .re-header__nav-wrap {
    width: auto;
    justify-content: flex-end;
    align-items: center;
    gap: 0;
    flex: 0 0 auto;
  }
  body.re-home .re-header__nav {
    flex: 0 0 auto;
  }
  /* Hide Start Investing button on mobile */
  body.re-home .re-header__cta {
    display: none !important;
  }
  body.re-home .re-header__cta .elementor-button {
    padding: 12px 18px;
    font-size: 13px;
    white-space: nowrap;
  }

  body.re-home .re-footer__inner { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* --- Temporary: hide Invest Telangana logo and show a gray placeholder block instead. --- */
/* Completely hide the actual logo image */
body.re-home .re-header__logo--it img,
body.re-home .re-footer__logo--it img {
  display: none !important;
}

/* Show gray placeholder block using ::after pseudo-element */
body.re-home .re-header__logo--it,
body.re-home .re-footer__logo--it {
  position: relative;
  width: 56px;
  height: 56px;
  min-width: 56px;
  min-height: 56px;
}

body.re-home .re-header__logo--it::after,
body.re-home .re-footer__logo--it::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #d0d5dd;
  display: block;
}

/* On mobile, make the placeholder smaller */
@media (max-width: 640px) {
  body.re-home .re-header__logo--it,
  body.re-home .re-footer__logo--it {
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }
}

/* --- Sticky footer for coming-soon pages: fill viewport, footer pinned to bottom --- */
body.re-home--coming-soon {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.re-home--coming-soon > .elementor {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
body.re-home--coming-soon .re-page {
  flex: 1 1 auto;
  min-height: 100vh;
}
body.re-home--coming-soon .re-comingsoon {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: stretch;
}

/* --- Sector cards: stacked layout (name row + logo row) --- */
body.re-home .re-sector {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 16px 0;
}
body.re-home .re-sector__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 100%;
}
body.re-home .re-sector__name {
  flex: 1 1 auto;
  min-width: 0;
}
body.re-home .re-sector__logos {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: stretch;
  /* Sit visually under the sector name, past the icon */
  margin-left: 32px;
}
body.re-home .re-sector__logo-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 112px;
  height: 52px;
  padding: 6px 10px;
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 3px;
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body.re-home .re-sector__logo-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
body.re-home .re-sector:hover .re-sector__logo-tile {
  border-color: #0B4EA2;
  box-shadow: 0 1px 4px rgba(11,78,162,.08);
}
/* Text-fallback pill (used only when a logo file is missing) */
body.re-home .re-sector__logo-tile--text {
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.4px;
  color: #667085;
  background: #f2f4f7;
  text-transform: uppercase;
  padding: 0 8px;
  text-align: center;
  line-height: 1.15;
}
