/*
  Google-white surface
  Backgrounds: #fff / #f8f9fa
  Type: #202124 primary · #5f6368 secondary · #1a73e8 accent
*/

:root,
[data-theme="light"] {
  --bg-rgb: 255, 255, 255;
  --bg2-rgb: 248, 249, 250;
  --bg3-rgb: 241, 243, 244;
  --text-rgb: 32, 33, 36;
  --detail-mid-rgb: 248, 249, 250;
  --prod-scrim-rgb: 255, 255, 255;
  --prod-detail-end-rgb: 255, 255, 255;
  --bg: #ffffff;
  --bg2: #f8f9fa;
  --bg3: #f1f3f4;
  --panel: #ffffff;
  --panel2: #f8f9fa;
  --text: #202124;
  --heading-strong: #202124;
  --accent-text: #174ea6;
  --on-accent: #ffffff;
  --border: rgba(32, 33, 36, 0.12);
  --border2: rgba(32, 33, 36, 0.2);
  --accent-rgb: 26, 115, 232;
  --cyan: #1a73e8;
  --cyan-hover: #174ea6;
  --blue: #1a73e8;
  --green: #188038;
  --purple: #9334e6;
  --gold: #e37400;
  --green-rgb: 24, 128, 56;
  --brand-gradient: linear-gradient(135deg, #1a73e8 0%, #174ea6 50%, #188038 100%);
  --nav-bg: rgba(255, 255, 255, 0.92);
  --elevated-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 2px 6px rgba(60, 64, 67, 0.15);
  --matrix-opacity: 0;
  --starfield-opacity: 0;
  --glow-opacity: 0;
  --matrix-trail-alpha: 0;
}

html,
body,
#__next,
main {
  background: #ffffff !important;
  color: #202124 !important;
  color-scheme: light !important;
}

/* Force Google white on every major surface */
body *,
body *::before,
body *::after {
  --bg: #ffffff;
  --bg2: #f8f9fa;
  --bg3: #f1f3f4;
  --panel: #ffffff;
  --panel2: #f8f9fa;
}

.hero-vision-pin,
.hero-vision-sticky,
.page-section,
.products-bleed,
.products-mosaic,
.infra-full-bleed,
.infra-split,
.infra-panel,
.partners-marquee-wrap,
.partners-row,
.connect-contact,
.faq-section-inner,
.page-section-inner {
  background-color: transparent !important;
}

/* Hide dark fx layers */
#starfield-canvas,
#matrix-canvas,
.glow-bg,
.products-atmosphere,
.products-atmosphere-grid,
.products-atmosphere-orb {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* —— Brand intro —— */
#brandIntro {
  background: #ffffff !important;
  color: #202124 !important;
}

.brand-intro-grid {
  opacity: 0.035 !important;
}

.brand-intro-scan {
  opacity: 0 !important;
}

.brand-intro-title,
.brand-word {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #202124 !important;
  color: #202124 !important;
  filter: none !important;
}

.brand-word {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.brand-intro-tagline {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #5f6368 !important;
  color: #5f6368 !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.brand-intro-line {
  background: #dadce0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* —— Nav —— */
nav {
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom: 1px solid #dadce0 !important;
  box-shadow: none !important;
}

.nav-links a {
  color: #3c4043 !important;
  -webkit-text-fill-color: #3c4043 !important;
  font-weight: 500 !important;
}

.nav-links a:hover {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
}

.theme-toggle {
  display: none !important;
}

/* —— Page surfaces ——
   Do NOT paint .vision-section / .vision-layer white — they sit above the
   hero (z-index 20) and would cover the first viewport completely. */
.products-section,
.infra-unified,
.team-section,
.partners-section,
.connect-section,
.faq-section,
.blogs-section,
.site-footer,
footer {
  background: #ffffff !important;
}

.hero-vision-pin,
.hero-vision-sticky,
.hero-layer,
#hero-section {
  background: transparent !important;
}

.vision-section,
.vision-layer,
.hero-vision-sticky .vision-layer {
  background: transparent !important;
}

.hero-vision-sticky .vision-split,
.vision-split,
.vision-split-bg {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  grid-template-columns: none !important;
  background: #f8f9fa !important;
  box-shadow: 0 -8px 32px rgba(60, 64, 67, 0.12) !important;
  overflow: hidden !important;
  min-height: 100% !important;
}

.vision-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.vision-visual,
.vision-infra-gallery,
.vision-infra-image {
  display: none !important;
}

.vision-bg-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  filter: saturate(0.85) brightness(1.06) contrast(0.96) !important;
  opacity: 0.42 !important;
  transform: scale(1.02) !important;
}

.vision-bg-wash {
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(248, 249, 250, 0.55) 48%, rgba(255, 255, 255, 0.86) 100%),
    linear-gradient(115deg, rgba(26, 115, 232, 0.05) 0%, transparent 50%, rgba(24, 128, 56, 0.06) 100%) !important;
}

.vision-bg-grid {
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(32, 33, 36, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 33, 36, 0.035) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 75%) !important;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 75%) !important;
  opacity: 0.7 !important;
}

#hero-left,
#hero-left * {
  visibility: visible !important;
}

#hero-left {
  opacity: 1 !important;
  z-index: 30 !important;
  position: relative !important;
}

.vision-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(920px, 88vw) !important;
  margin: 0 auto !important;
  padding: clamp(56px, 8vw, 120px) clamp(24px, 5vw, 64px) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-align: center !important;
  align-items: center !important;
}

.vision-copy .sec-eye {
  justify-content: center !important;
}

.vision-statement {
  max-width: min(720px, 92%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* —— Hero type —— */
.eyebrow,
.sec-eye {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
  opacity: 1 !important;
}

.eyebrow:before,
.sec-eye:before {
  background: #1a73e8 !important;
}

.h1,
.h1 .line2,
.sec-h,
.vision-statement {
  color: #202124 !important;
  -webkit-text-fill-color: #202124 !important;
  background: none !important;
  opacity: 1 !important;
}

.h1 .typed-word {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
  border-color: #1a73e8 !important;
}

.hero-sub,
.sec-p {
  color: #5f6368 !important;
  -webkit-text-fill-color: #5f6368 !important;
  opacity: 1 !important;
}

.btn-row {
  opacity: 1 !important;
  visibility: visible !important;
}

.text-accent {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
}

/* —— Buttons —— */
.btn-p,
.btn-gift-city {
  background: #1a73e8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #1a73e8 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  animation: none !important;
}

.btn-p:hover,
.btn-gift-city:hover {
  background: #174ea6 !important;
  border-color: #174ea6 !important;
  filter: none !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3) !important;
}

.btn-s {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
  border-color: #dadce0 !important;
  background: #ffffff !important;
  border-radius: 4px !important;
}

.btn-s:hover {
  background: #f8f9fa !important;
  border-color: #1a73e8 !important;
  color: #174ea6 !important;
}

.btn-investor-relations,
.btn-investor-label {
  background: #ffffff !important;
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
  /* border: 1px solid #dadce0 !important;
  border-radius: 4px !important; */
  box-shadow: none !important;
}

.btn-gift-city-glow,
.btn-investor-glow {
  display: none !important;
}

/* —— Market hero —— */
.market-hero-frame,
.market-hero-footer {
  background: #ffffff !important;
  border-color: #dadce0 !important;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.2), 0 2px 8px rgba(60, 64, 67, 0.1) !important;
}

.market-mode-copy strong,
#market-mode-title {
  color: #202124 !important;
  -webkit-text-fill-color: #202124 !important;
}

.market-mode-copy span,
#market-mode-description {
  color: #5f6368 !important;
  -webkit-text-fill-color: #5f6368 !important;
}

.market-mode-button {
  color: #5f6368 !important;
  background: #f8f9fa !important;
  border-color: #dadce0 !important;
}

.market-mode-button.is-active {
  color: #ffffff !important;
  background: #1a73e8 !important;
  border-color: #1a73e8 !important;
}

.market-live,
.market-session {
  color: #5f6368 !important;
}

/* —— Product cards —— */
.prod-panel,
[data-theme="light"] .prod-panel {
  --heading-strong: #202124 !important;
  --text-rgb: 32, 33, 36 !important;
  --detail-mid-rgb: 248, 249, 250 !important;
  --prod-detail-end-rgb: 255, 255, 255 !important;
  --prod-scrim-rgb: 255, 255, 255 !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.2), 0 2px 8px rgba(60, 64, 67, 0.1) !important;
}

.prod-panel-detail,
[data-theme="light"] .prod-panel-detail {
  background: #ffffff !important;
  color: #202124 !important;
}

.prod-panel-bg,
.prod-panel-scrim,
.prod-panel-glow,
.prod-panel-scan,
.prod-detail-accent {
  opacity: 0 !important;
}

.prod-title,
.prod-cap-title {
  color: #202124 !important;
  -webkit-text-fill-color: #202124 !important;
  text-shadow: none !important;
}

.prod-lead,
.prod-cap-text {
  color: #5f6368 !important;
  -webkit-text-fill-color: #5f6368 !important;
}

.prod-tag,
.prod-cap-heading {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
  background: #e8f0fe !important;
}

.prod-live {
  color: #188038 !important;
}

.prod-flow span {
  color: #5f6368 !important;
}

.prod-flow-accent,
[data-theme="light"] .prod-flow-accent {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #1a73e8 !important;
  box-shadow: none !important;
}

.prod-cta,
[data-theme="light"] .prod-cta {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #1a73e8 !important;
}

/* Align Key Functionalities across the three product cards */
@media (min-width: 901px) {
  .products-mosaic {
    align-items: stretch !important;
    grid-template-rows: none !important;
    min-height: 0 !important;
  }

  .products-mosaic .prod-detail-accent {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
  }

  .products-mosaic > .prod-panel,
  .products-mosaic .prod-panel-detail,
  .products-mosaic .prod-detail-inner {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: span 5 !important;
    height: auto !important;
    min-height: 100% !important;
  }

  .products-mosaic .prod-panel-detail {
    position: relative !important;
  }

  .products-mosaic .prod-detail-inner {
    gap: clamp(12px, 1.4vh, 16px) !important;
    align-content: start !important;
  }
}

@supports not (grid-template-rows: subgrid) {
  @media (min-width: 901px) {
    .products-mosaic .prod-panel,
    .products-mosaic .prod-panel-detail {
      display: flex !important;
      flex-direction: column !important;
      height: 100% !important;
    }

    .products-mosaic .prod-detail-inner {
      display: flex !important;
      flex-direction: column !important;
      flex: 1 1 auto !important;
      height: 100% !important;
    }

    .products-mosaic .prod-meta {
      min-height: 1.75rem;
    }

    .products-mosaic .prod-title {
      min-height: 2.6em;
    }

    .products-mosaic .prod-lead {
      flex: 1 1 auto !important;
    }

    .products-mosaic .prod-cap-heading {
      flex-shrink: 0 !important;
    }
  }
}

/* Keep Connect CTA above market hero hit-area */
#hero-left {
  position: relative !important;
  z-index: 30 !important;
}

#hero-left .btn-row {
  position: relative;
  z-index: 40;
}

#hero-left .btn-row a {
  position: relative;
  z-index: 41;
  pointer-events: auto !important;
}

/* Prevent market wrap from eating clicks over the hero CTA */
#hero-section #hero-globe-wrap.market-hero-wrap {
  position: relative !important;
  inset: auto !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

#hero-section #hero-globe-wrap.market-hero-wrap .market-hero-frame,
#hero-section #hero-globe-wrap.market-hero-wrap .market-mode-button {
  pointer-events: auto !important;
}

/* —— Team / founders / contact / FAQ —— */
.faq-item,
.blog-card,
.contact-card,
.ops-panel,
.ops-principle,
.team-pod,
.chat-win,
.founder-card,
.founder-card.blog-card,
.ops-list-item,
.sygnal-pipe-node,
.gift-city-card {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.15) !important;
}

.gift-city-card {
  background: linear-gradient(145deg, #ffffff, #f8f9fa) !important;
}

.founder-name,
.team-pod-title,
.team-pillar-heading,
.gift-city-title,
.faq-q,
.contact-val {
  color: #202124 !important;
  -webkit-text-fill-color: #202124 !important;
}

.founder-bio,
.gift-city-copy,
.faq-a,
.team-pod-points li,
.contact-val.contact-link {
  color: #5f6368 !important;
  -webkit-text-fill-color: #5f6368 !important;
}

.founder-role,
.contact-label,
.gift-city-kicker,
.team-pod-strength,
.team-pillar-label,
.team-pod-block-label {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
}

.founder-tag,
.team-pod-tags li {
  color: #5f6368 !important;
  background: #f1f3f4 !important;
  border-color: #dadce0 !important;
}

.gift-city-node {
  color: #202124 !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
}

.contact-link:hover {
  color: #1a73e8 !important;
}

/* —— Infra stats: bare 3+2 boxes, no outer container —— */
.infra-numbers-only .infra-full-bleed {
  padding-left: clamp(24px, 4vw, 56px) !important;
  padding-right: clamp(24px, 4vw, 56px) !important;
}

.infra-numbers-only .infra-stats,
.infra-numbers-only .infra-panel-stats .infra-stats,
[data-theme="light"] .infra-numbers-only .infra-stats,
[data-theme="light"] .infra-numbers-only .infra-panel-stats .infra-stats {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto !important;
  gap: clamp(14px, 1.8vw, 20px) !important;
  width: min(100%, 1100px) !important;
  max-width: 1100px !important;
  margin: 8px auto 72px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.infra-numbers-only .infra-stat:nth-child(1) { grid-row: 1 !important; grid-column: 1 / 3 !important; }
.infra-numbers-only .infra-stat:nth-child(2) { grid-row: 1 !important; grid-column: 3 / 5 !important; }
.infra-numbers-only .infra-stat:nth-child(3) { grid-row: 1 !important; grid-column: 5 / 7 !important; }
.infra-numbers-only .infra-stat:nth-child(4) { grid-row: 2 !important; grid-column: 2 / 4 !important; }
.infra-numbers-only .infra-stat:nth-child(5) { grid-row: 2 !important; grid-column: 4 / 6 !important; }

.infra-numbers-only .infra-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(148px, 18vw, 190px) !important;
  padding: clamp(22px, 2.4vw, 32px) clamp(14px, 1.6vw, 22px) !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.12) !important;
}

.infra-numbers-only .infra-stat:before,
.infra-numbers-only .infra-stat:after,
.infra-numbers-only .infra-stat:not(:last-child):after {
  display: none !important;
}

.infra-stat-num {
  font-family: "Newsreader", "Times New Roman", Georgia, serif !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  letter-spacing: -0.03em !important;
  color: #202124 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.infra-numbers-only .infra-stat-num {
  font-size: clamp(40px, 4.6vw, 64px) !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

.infra-stat-label {
  font-family: "Albert Sans", "Helvetica Neue", Helvetica, sans-serif !important;
  color: #5f6368 !important;
}

.infra-stat-cyan .infra-stat-num { color: #1a73e8 !important; }
.infra-stat-blue .infra-stat-num { color: #1a73e8 !important; }
.infra-stat-green .infra-stat-num { color: #188038 !important; }
.infra-stat-purple .infra-stat-num { color: #9334e6 !important; }
.infra-stat-gold .infra-stat-num { color: #e37400 !important; }

@media (max-width: 900px) {
  .infra-numbers-only .infra-stats,
  .infra-numbers-only .infra-panel-stats .infra-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .infra-numbers-only .infra-stat:nth-child(n) {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  .infra-numbers-only .infra-stat:nth-child(5) {
    grid-column: 1 / -1 !important;
    max-width: 50%;
    justify-self: center;
  }
}

@media (max-width: 560px) {
  .infra-numbers-only .infra-stats,
  .infra-numbers-only .infra-panel-stats .infra-stats {
    grid-template-columns: 1fr !important;
  }

  .infra-numbers-only .infra-stat:nth-child(5) {
    max-width: 100%;
  }
}

.partners-fade-left {
  background: linear-gradient(90deg, #ffffff, transparent) !important;
}

.partners-fade-right {
  background: linear-gradient(270deg, #ffffff, transparent) !important;
}

.site-footer,
footer {
  background: #f8f9fa !important;
  border-top: 1px solid #dadce0 !important;
}

.footer-legal,
.footer-legal p,
.footer-copy,
.footer-links a,
.footer-regs p {
  color: #5f6368 !important;
  -webkit-text-fill-color: #5f6368 !important;
}

.footer-links-title {
  color: #202124 !important;
  -webkit-text-fill-color: #202124 !important;
}

.footer-links a:hover,
.footer-legal a {
  color: #1a73e8 !important;
  -webkit-text-fill-color: #1a73e8 !important;
}

.blog-card-scan {
  opacity: 0 !important;
}
