/* Global final polish layer */

:root {
  --global-navy: var(--footer-bg, #061022);
  --global-navy-2: var(--color-primary, #0b1f48);
  --global-gold: var(--footer-accent, #caa95b);
  --global-paper: var(--surface-paper, #f8f6ef);
  --global-line: rgba(var(--color-primary-strong-rgb, 7, 17, 38), 0.12);
  --global-line-gold: rgba(var(--color-accent-rgb, 202, 169, 91), 0.3);
  --global-shadow-soft: 0 18px 42px rgba(var(--color-primary-strong-rgb, 7, 17, 38), 0.08);
  --global-shadow-card: 0 20px 48px rgba(var(--color-primary-strong-rgb, 7, 17, 38), 0.11);
}

html {
  background: var(--global-navy);
  overflow-x: hidden;
  scroll-padding-top: calc(var(--nav-h, 72px) + 42px);
}

body {
  background: var(--global-paper);
  overflow-x: clip;
  text-rendering: optimizeLegibility;
}

body main {
  position: relative;
  isolation: isolate;
}

body .form-honeypot {
  display: none;
}

body a[aria-disabled="true"] {
  pointer-events: none;
  cursor: not-allowed;
}

body .site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  min-height: var(--nav-h, 72px);
  background: rgba(var(--color-primary-strong-rgb, 5, 11, 24), 0.92);
  border-bottom: 1px solid rgba(var(--color-accent-rgb, 202, 169, 91), 0.22);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(18px);
}

body .container {
  width: min(100% - 48px, var(--max-w, 1360px));
  max-width: var(--max-w, 1360px);
  padding-right: 0;
  padding-left: 0;
}

body .header-inner {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto minmax(170px, 1fr);
  gap: clamp(18px, 2.4vw, 34px);
  align-items: center;
  min-height: var(--nav-h, 72px);
}

body .logo-link {
  min-width: 0;
  gap: 12px;
}

body .logo-emblem {
  position: relative;
  overflow: hidden;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border: 1px solid rgba(var(--color-accent-rgb, 245, 166, 35), 0.64);
  box-shadow: 0 10px 22px rgba(var(--color-accent-rgb, 245, 166, 35), 0.16);
}

body :is(.logo-emblem, .footer-logo-emblem).logo-emblem--asset {
  color: transparent;
  font-size: 0;
}

body :is(.logo-emblem, .footer-logo-emblem) .logo-asset {
  position: absolute;
  inset: 5px;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  object-fit: contain;
}

body .logo-text {
  min-width: 0;
  justify-content: center;
  gap: 2px;
}

body .logo-name {
  font-size: 14px;
  line-height: 1.12;
  letter-spacing: 0;
  white-space: nowrap;
}

body .logo-tagline {
  font-size: 10.5px;
  line-height: 1.2;
}

body .main-nav {
  justify-self: center;
  gap: 3px;
}

body .nav-link {
  min-height: 40px;
  padding: 10px 12px;
  font-size: 12px;
  letter-spacing: 0.08em;
}

body .header-ctas {
  justify-self: end;
  gap: 10px;
}

body .header-ctas .btn {
  min-height: 38px;
  height: 38px;
  padding: 0 18px;
  border-radius: 3px;
  font-size: 12px;
  letter-spacing: 0.05em;
}

body main>section,
body main>div,
body .legal-content {
  scroll-margin-top: calc(var(--nav-h, 72px) + 28px);
}

body main :is(h1, h2, h3)[id],
body main [id]:not(section):not(div) {
  scroll-margin-top: calc(var(--nav-h, 72px) + 42px);
}

body main>section {
  position: relative;
}

body main>section:not(.hero):not(.page-hero):not(.final-cta-section):not(.download-section) {
  padding-top: clamp(24px, 3vw, 32px);
  padding-bottom: clamp(24px, 3vw, 32px);
}

body :is(.section-title, .section-title--white) {
  max-width: 820px;
  margin-top: 12px;
  line-height: 1.08;
  letter-spacing: 0;
}

body :is(.section-lead, .page-hero-sub, .vision-lead, .inclusion-lead, .personas-subhead, .pledges-register-lead) {
  max-width: 700px;
}

body :is(.final-cta-buttons, .vision-hero-actions, .download-actions, .success-share-actions, .share-row) {
  align-items: center;
  justify-content: center;
  gap: 12px;
}

body main>section+section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  width: min(1120px, calc(100% - 48px));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--color-accent-rgb, 202, 169, 91), 0.34), transparent);
  transform: translateX(-50%);
  pointer-events: none;
}

body :is(.section-title, .final-cta-headline, .download-title, .contact-info h2, .success-headline) {
  text-wrap: balance;
}

body :is(.section-lead, .final-cta-sub, .page-hero-sub, .success-body) {
  text-wrap: pretty;
}

/* Shared card finish */
body :is(.stat-card,
  .trio-card,
  .fight-block,
  .persona-card,
  .vision-card,
  .inclusion-card,
  .pledge-mini,
  .pledge-full,
  .pillar-card,
  .chapter-card,
  .reason-card,
  .contact-card,
  .form-card,
  .statement-card,
  .presskit-tile,
  .press-tile,
  .dossier-block,
  .timeline-content,
  .founder-quote,
  .legal-disclaimer-box) {
  backface-visibility: hidden;
}

body :is(.contact-card,
  .reason-card,
  .pillar-card,
  .chapter-card,
  .vision-card,
  .inclusion-card,
  .pledge-mini,
  .pledge-full,
  .form-card,
  .presskit-tile,
  .press-tile,
  .legal-content table,
  .legal-content > p:first-child,
  .legal-disclaimer-box) {
  border-radius: 4px;
}

body :is(.contact-card,
  .reason-card,
  .pillar-card,
  .chapter-card,
  .vision-card,
  .inclusion-card,
  .pledge-mini,
  .pledge-full,
  .presskit-tile,
  .press-tile):focus-within {
  outline: 2px solid rgba(202, 169, 91, 0.42);
  outline-offset: 3px;
}

@media (hover: hover) {

  body :is(.contact-card,
    .reason-card,
    .pillar-card,
    .chapter-card,
    .vision-card,
    .pledge-mini,
    .pledge-full,
    .presskit-tile,
    .press-tile):hover {
    border-color: rgba(202, 169, 91, 0.42);
  }
}

/* Section rhythm */
body :is(.final-cta-section, .download-section) {
  position: relative;
  overflow: hidden;
}

body :is(.final-cta-section, .download-section)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(202, 169, 91, 0.34), transparent);
  pointer-events: none;
}

body :is(.final-cta-buttons, .vision-hero-actions, .success-share-actions, .share-row) {
  row-gap: 12px;
}

body :is(.btn, button, .share-button, .success-share-btn, .success-next-link) {
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

@media (hover: hover) {
  body :is(.btn, button, .share-button, .success-share-btn, .success-next-link):hover {
    transform: translateY(-1px);
  }
}

/* Shared inner-page hero containment */
body:not(.has-hero) main .page-hero,
body.legal-page main .legal-hero,
body.newsroom-page main>.newsroom-masthead-strip {
  overflow: hidden;
  isolation: isolate;
  color: #ffffff;
  background:
    radial-gradient(ellipse 42% 58% at 50% 8%, rgba(202, 169, 91, 0.12), transparent 66%),
    radial-gradient(ellipse 52% 72% at 8% 92%, rgba(27, 58, 140, 0.12), transparent 68%),
    linear-gradient(135deg, #050b18 0%, #071126 54%, #081225 100%) !important;
  border-bottom: 1px solid rgba(202, 169, 91, 0.26);
}

body:not(.has-hero) main .page-hero::before,
body.legal-page main .legal-hero::before,
body.newsroom-page main>.newsroom-masthead-strip::before {
  opacity: 0.11 !important;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
}

body:not(.has-hero) main .page-hero::after,
body.legal-page main .legal-hero::after,
body.newsroom-page main>.newsroom-masthead-strip::after {
  background:
    linear-gradient(180deg, rgba(5, 11, 24, 0), rgba(248, 246, 239, 0.88) 96%, var(--global-paper) 100%),
    linear-gradient(90deg, transparent, rgba(202, 169, 91, 0.16), transparent) !important;
}

body.vision-page main .page-hero::after,
body.join-page main .page-hero::after {
  background:
    linear-gradient(180deg, rgba(5, 11, 24, 0), rgba(5, 11, 24, 0.32) 62%, rgba(248, 246, 239, 0.86) 100%),
    linear-gradient(90deg, transparent, rgba(202, 169, 91, 0.16), transparent) !important;
}

body:not(.has-hero) main .page-hero :is(h1, .page-hero-sub),
body.legal-page main .legal-hero :is(h1, .updated) {
  position: relative;
  z-index: 2;
}

body:is(.about-page, .contact-page) main .page-hero-inner,
body:is(.about-page, .contact-page) main .page-hero h1,
body:is(.about-page, .contact-page) main .page-hero .page-hero-sub,
body.legal-page main .legal-hero .container,
body.legal-page main .legal-hero h1,
body.legal-page main .legal-hero .updated {
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

body:is(.vision-page, .join-page) main .page-hero-inner,
body:is(.vision-page, .join-page) main .page-hero h1,
body:is(.vision-page, .join-page) main .page-hero .page-hero-sub {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body:is(.vision-page, .join-page) main .page-hero h1::after {
  margin-left: auto;
  margin-right: auto;
}

/* Footer */
body .site-footer {
  position: relative;
  overflow: hidden;
  background: #2A6DB5 !important;
  border-top: 1px solid rgba(202, 169, 91, 0.26);
}

body .site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.1;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 54px 54px;
  pointer-events: none;
}

body .site-footer>.container {
  position: relative;
  z-index: 1;
}

body .footer-main {
  gap: 44px;
  padding-top: 56px;
  padding-bottom: 42px;
}

body .footer-logo-emblem {
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(245, 166, 35, 0.18);
}

body .footer-logo-text {
  color: rgba(255, 255, 255, 0.96);
}

body .footer-odia,
body .footer-tagline-en {
  color: rgba(255, 255, 255, 0.62);
}

body .footer-col h3 {
  color: #f0d98c;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

body .footer-col a,
body .footer-contact address {
  color: rgba(255, 255, 255, 0.64);
  line-height: 1.75;
}

body .footer-col a:hover,
body .footer-contact a:hover,
body .footer-legal-links a:hover {
  color: #f0d98c;
}

body .footer-bottom {
  align-items: center;
  gap: 20px;
  padding-top: 22px;
  padding-bottom: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body .footer-bottom p {
  margin: 0;
  line-height: 1.6;
}

body .footer-disclaimer {
  margin-top: 10px;
}

body .footer-bottom p[style] {
  color: rgba(255, 255, 255, 0.56) !important;
  font-size: 0.78rem !important;
}

body .footer-legal-links {
  gap: 14px;
}

body .footer-legal-links a {
  color: rgba(255, 255, 255, 0.58);
  text-decoration: none;
}

body .footer-copyright {
  color: rgba(255, 255, 255, 0.44);
}

/* Floating and cookie UI */
body .wa-float {
  box-shadow: 0 16px 38px rgba(18, 140, 72, 0.28);
}

body .cookie-banner {
  right: 18px;
  bottom: 18px;
  left: auto;
  max-width: min(560px, calc(100% - 36px));
  border: 1px solid rgba(202, 169, 91, 0.28);
  border-radius: 4px;
  background: rgba(6, 16, 34, 0.96);
  color: rgba(255, 255, 255, 0.82);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.28);
}

body .cookie-banner a {
  color: #f0d98c;
}

body .cookie-btn {
  border-radius: 3px;
}

/* Mobile */
@media (max-width: 768px) {
  body .container {
    width: min(100% - 32px, var(--max-w, 1200px));
  }

  body .header-inner {
    display: flex;
    gap: 14px;
    min-height: 64px;
  }

  body .logo-emblem {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  body .logo-name {
    max-width: none;
    overflow: visible;
    font-size: 13px;
    white-space: nowrap;
  }

  body main>section+section::before {
    width: calc(100% - 32px);
  }

  body :is(.final-cta-buttons, .vision-hero-actions, .success-share-actions, .share-row) {
    gap: 10px;
  }

  body .footer-main {
    gap: 32px;
    padding-top: 44px;
    padding-bottom: 32px;
  }

  body .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  body .footer-legal-links {
    gap: 12px;
  }

  body .cookie-banner {
    right: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
  }

  body:is(.about-page, .contact-page) main .page-hero-inner,
  body:is(.about-page, .contact-page) main .page-hero h1,
  body:is(.about-page, .contact-page) main .page-hero .page-hero-sub,
  body.legal-page main .legal-hero .container,
  body.legal-page main .legal-hero h1,
  body.legal-page main .legal-hero .updated {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  body:is(.about-page, .contact-page) main .page-hero h1::after,
  body.legal-page main .legal-hero h1::after {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 420px) {
  body .footer-legal-links {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================
   REMOVE ALL SECTION SEPARATOR LINES & DIVIDERS ACROSS WHOLE SITE
   ============================================================ */
.pledges-trio-section::before,
.chapters-section::before,
.hero-trust-divider,
.contact-info::before,
.newsroom-rule,
.newsroom-rule-thin,
hr,
.divider,
.section-divider {
  display: none !important;
  height: 0 !important;
  border: none !important;
}

section,
.pledges-trio-section,
.founder-section,
.pledges-grid-section,
.three-fights-section,
.press-kit-section,
.district-grid-section,
.about-pillars-section,
.timeline-section,
.stats-section,
.ideology-section,
.personas-section {
  border-top: none !important;
  border-bottom: none !important;
}

/* ============================================================
   MOBILE & TABLET ANIMATIONS FOR TEXT & BUTTONS
   ============================================================ */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.fade-in.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.fade-in-delay-1 {
  transition-delay: 0.08s !important;
}

.fade-in-delay-2 {
  transition-delay: 0.16s !important;
}

.fade-in-delay-3 {
  transition-delay: 0.24s !important;
}

.fade-in-delay-4 {
  transition-delay: 0.32s !important;
}

/* Touch feedback for all interactive buttons on mobile & tablet */
@media (max-width: 768px) {

  body .main-nav,
  .main-nav {
    display: none !important;
  }

  body .header-ctas,
  .header-ctas {
    display: none !important;
  }

  body .hamburger,
  .hamburger {
    display: flex !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
  }

  body .header-inner,
  .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .btn,
  button,
  a.btn {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.4, 1), background 0.18s ease, box-shadow 0.18s ease !important;
  }

  .btn:active,
  button:active,
  a.btn:active {
    transform: scale(0.96) translateY(1px) !important;
    opacity: 0.92 !important;
  }

  .hero-mobile-headline-odia {
    color: var(--pr-gold, #D8A21D) !important;
  }

  /* Ensure text elements in mobile view fade in smoothly */
  .hero-mobile-headline,
  .hero-mobile-headline-odia,
  .hero-mobile-ctas {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .hero-mobile-headline.visible,
  .hero-mobile-headline-odia.visible,
  .hero-mobile-ctas.visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  body.about-page .media-cell-container {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 24px !important;
  }

  body.about-page .media-cell-sidebar {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.about-page .media-cell-main {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.about-page .media-cell-main .org-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.join-page .district-grid,
  .district-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
  }

  body.join-page .district-tag,
  .district-tag {
    padding: 8px 4px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

/* Remove all animations from District Grid section */
.district-grid,
.district-tag,
body.join-page .district-grid,
body.join-page .district-tag {
  opacity: 1 !important;
  transform: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
  animation: none !important;
}

/* Parallel headline & body text alignment for reason cards */
body.join-page .reason-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

body.join-page .reason-title {
  min-height: 2.6em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.join-page .reason-card--wide .reason-title,
body.join-page .reasons-grid>.reason-card:last-child .reason-title {
  min-height: 0 !important;
}

.contact-card-icon::before,
.contact-card-icon::after,
body.contact-page .contact-card-icon::before,
body.contact-page .contact-card-icon::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 1024px) {

  body.contact-page .contact-channel-grid,
  body.contact-page main>section:nth-of-type(2) .container>div,
  body.contact-page .contact-channels,
  body.contact-page .contact-cards,
  .contact-channel-grid,
  .contact-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.contact-page .contact-card,
  .contact-card {
    padding: 14px 10px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    min-height: 0 !important;
  }

  body.contact-page .contact-cards>.contact-card:first-child,
  body.contact-page .contact-cards>.contact-card:last-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  html body.about-page .about-pillars-section .pillar-card:last-child,
  body.about-page .about-pillars-section .pillar-card:last-child {
    grid-column: auto !important;
  }

  body.about-page .about-flag-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
  }

  body.about-page .about-flag-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile drawer navigation buttons styling */
.mobile-nav .btn-outline {
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  color: #ffffff !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 240px !important;
  height: 46px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: var(--pr-r-lg, 10px) !important;
  text-decoration: none !important;
  transition: all 0.22s ease !important;
}

.mobile-nav .btn-outline:hover,
.mobile-nav .btn-outline:active {
  border-color: var(--pr-yellow, #F6C21A) !important;
  color: var(--pr-yellow, #F6C21A) !important;
  background: rgba(246, 194, 26, 0.12) !important;
}

/* Small Phone Hero Overlay & Title Text Scaling (<= 480px) */
@media (max-width: 480px) {
  body.has-hero .hero-mobile-headline,
  body .hero-mobile-headline,
  .hero-mobile-headline {
    font-size: clamp(1.0rem, 4.3vw, 1.25rem) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    max-width: none !important;
    left: clamp(24px, 6.5vw, 34px) !important;
    top: 17% !important;
    text-align: left !important;
  }

  body.has-hero .hero-mobile-headline-odia,
  body .hero-mobile-headline-odia,
  .hero-mobile-headline-odia {
    font-size: clamp(0.72rem, 3.1vw, 0.88rem) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    max-width: none !important;
    left: clamp(24px, 6.5vw, 34px) !important;
    top: calc(17% + clamp(1.6rem, 5.5vw, 2.2rem)) !important;
    text-align: left !important;
  }

  body .page-hero h1,
  .page-hero h1 {
    font-size: clamp(22px, 6.5vw, 28px) !important;
    line-height: 1.18 !important;
  }

  body .section-title,
  .section-title {
    font-size: clamp(19px, 5.5vw, 24px) !important;
    line-height: 1.22 !important;
  }
}

/* Global clean sans-serif ampersand rule */
html body .amp,
html body .org-amp,
body .amp,
body .org-amp,
.amp,
.org-amp,
span.amp,
span.org-amp {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

/* ═══════════════════════════════════════════════════════════
   LANGUAGE SWITCHER — Segmented Pill Toggle Control (EN | ଓଡ଼ିଆ)
   ═══════════════════════════════════════════════════════════ */

.lang-toggle-pill {
  display: inline-flex;
  align-items: center;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
  vertical-align: middle;
}

.lang-pill-track {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: rgba(58, 95, 163, 0.08);
  border: 1px solid rgba(58, 95, 163, 0.16);
  border-radius: 9999px;
  padding: 3px;
  box-shadow: inset 0 1px 2px rgba(8, 20, 35, 0.04);
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.site-header.scrolled .lang-pill-track {
  background: rgba(58, 95, 163, 0.07);
  border-color: rgba(58, 95, 163, 0.18);
}

.lang-pill-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 9999px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #4A5D78;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  position: relative;
}

/* Odia script optical balance */
.lang-pill-item[lang="od"] {
  font-family: 'Noto Sans Oriya', 'DM Sans', sans-serif;
  font-size: 12.5px;
  padding-bottom: 1px;
}

/* Inactive item hover and focus */
a.lang-pill-item:hover {
  color: var(--near-black, #0D1B2A);
  background: rgba(255, 255, 255, 0.6);
}

a.lang-pill-item:focus-visible {
  outline: 2px solid var(--ojcp-yellow, #F2D21B);
  outline-offset: 1px;
}

/* Active Segment — Crisp elevated white pill */
.lang-pill-item--active {
  background: #ffffff;
  color: var(--ojcp-logo-blue, #3A5FA3);
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(8, 20, 35, 0.12), 0 1px 2px rgba(8, 20, 35, 0.06);
  cursor: default;
  pointer-events: none;
}

/* Desktop: visible in .header-ctas */
.lang-toggle-pill--desktop {
  display: inline-flex;
}

/* Mobile Header Variant: Hidden on desktop, placed beside hamburger on mobile */
.lang-toggle-pill--header-mobile {
  display: none !important;
}

@media (max-width: 768px) {
  body .site-header .container,
  body .header-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    min-height: 58px !important;
  }

  body .logo-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    overflow: visible !important;
  }

  body .logo-emblem {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  body .logo-text {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: visible !important;
  }

  body .logo-name {
    font-size: clamp(12px, 3.4vw, 13.5px) !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: none !important;
    line-height: 1.15 !important;
  }

  body .logo-tagline {
    display: none !important;
  }

  .lang-toggle-pill--header-mobile {
    display: inline-flex !important;
    position: static !important;
    transform: none !important;
    margin: 0 4px 0 auto !important;
    flex-shrink: 0 !important;
    z-index: 910 !important;
  }

  .lang-toggle-pill--header-mobile .lang-pill-track {
    padding: 2px;
    gap: 1px;
  }

  .lang-toggle-pill--header-mobile .lang-pill-item {
    height: 26px;
    padding: 0 7px;
    font-size: 11px;
  }

  .lang-toggle-pill--header-mobile .lang-pill-item[lang="od"] {
    font-size: 11px;
    padding-bottom: 1px;
  }

  body .hamburger {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    padding: 3px !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   ODIA TYPOGRAPHY — :lang(od) overrides
   Odia script needs slightly more breathing room at the
   same px size compared to Latin text.
   ═══════════════════════════════════════════════════════════ */

:lang(od) body {
  font-family: 'Noto Sans Oriya', 'DM Sans', sans-serif;
}

:lang(od) p,
:lang(od) li,
:lang(od) address,
:lang(od) .footer-mission,
:lang(od) .hero-text-desc,
:lang(od) .stat-label,
:lang(od) .ideology-body,
:lang(od) .persona-body,
:lang(od) .founder-body,
:lang(od) .vision-hero-sub {
  font-family: 'Noto Sans Oriya', 'DM Sans', sans-serif;
  line-height: 1.75;
}

:lang(od) h1,
:lang(od) h2,
:lang(od) h3,
:lang(od) h4,
:lang(od) .hero-text-title,
:lang(od) .section-title,
:lang(od) .founder-headline,
:lang(od) .ideology-headline,
:lang(od) .vision-hero-headline {
  font-family: 'Noto Sans Oriya', 'Playfair Display', serif;
  line-height: 1.4;
}

:lang(od) .eyebrow,
:lang(od) .eyebrow-text,
:lang(od) .stat-source,
:lang(od) .persona-kicker,
:lang(od) .card-reveal-kicker {
  font-family: 'Noto Sans Oriya', 'DM Sans', sans-serif;
  letter-spacing: 0.02em;
}

/* Slightly larger base for Odia to match visual weight of Latin text */
:lang(od) .stat-label {
  font-size: 0.97em;
}