:root {
  --as-intensity: .78;
  --as-cloud: .1;
  --as-rain: 0;
  --as-snow: 0;
  --as-fog: 0;
  --as-stars: 0;
  --as-warmth: .2;
  --as-ambient: .2;
  --as-glow: .3;
  --as-contrast: 1;
  --as-scene-brightness: 1;
  --as-scene-saturation: .94;
  --as-sun-x: 72%;
  --as-sun-y: 40%;
}

body.asi-atmosphere {
  background-color: #f8fafc !important;
  transition: background-color 1.2s ease, color 1.2s ease;
}

body.asi-atmosphere .asi-v34-root > main {
  background-image: linear-gradient(180deg, rgba(55, 111, 178, calc(var(--as-ambient) * .08)) 0, rgba(248, 250, 252, 0) 1320px);
  background-repeat: no-repeat;
}

/* Layered home scene. Only the selected bitmap is loaded; all motion layers are CSS. */
.as-hero-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: #eaf1fa;
}

.as-hero-media .home-hero-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% center;
  opacity: 0;
  filter: brightness(var(--as-scene-brightness)) saturate(var(--as-scene-saturation)) contrast(var(--as-contrast));
  transform: scale(1.002);
  transition: opacity 1.65s cubic-bezier(.22,.61,.36,1), filter 1.3s ease;
  will-change: opacity;
}

.as-hero-media .home-hero-art.is-active { opacity: 1; }

.as-hero-media > span {
  position: absolute;
  pointer-events: none;
}

.as-sun-glow {
  z-index: 1;
  inset: 0;
  opacity: calc(var(--as-glow) * .52);
  background: radial-gradient(circle at var(--as-sun-x) var(--as-sun-y), rgba(255, 220, 159, .7) 0, rgba(255, 190, 91, .2) 13%, transparent 36%);
  mix-blend-mode: screen;
  transition: opacity 1.4s ease, background-position 1.4s ease;
}

.as-cloud-layer {
  z-index: 2;
  inset: -10% -12%;
  opacity: calc(var(--as-cloud) * .42);
  background:
    radial-gradient(ellipse at 16% 22%, rgba(24, 43, 68, .64) 0 15%, transparent 42%),
    radial-gradient(ellipse at 51% 10%, rgba(34, 53, 78, .52) 0 18%, transparent 45%),
    radial-gradient(ellipse at 82% 26%, rgba(12, 30, 55, .62) 0 17%, transparent 44%);
  filter: blur(24px);
  transform: translate3d(-1.5%, 0, 0) scale(1.05);
  animation: as-cloud-drift 48s ease-in-out infinite alternate;
}

.as-fog-layer {
  z-index: 3;
  right: -4%;
  bottom: -12%;
  left: -4%;
  height: 68%;
  opacity: var(--as-fog);
  background:
    radial-gradient(ellipse at 17% 60%, rgba(225, 235, 244, .74), transparent 46%),
    radial-gradient(ellipse at 58% 78%, rgba(207, 222, 237, .58), transparent 48%),
    linear-gradient(0deg, rgba(215, 228, 240, .42), transparent 76%);
  filter: blur(22px);
  transform: translate3d(0, 1%, 0);
  animation: as-fog-breathe 18s ease-in-out infinite alternate;
}

.as-rain-layer {
  z-index: 4;
  inset: -18% -8%;
  opacity: calc(var(--as-rain) * .48);
  background-image: repeating-linear-gradient(104deg, transparent 0 19px, rgba(225, 238, 251, .55) 20px, transparent 21px 36px);
  background-size: 48px 82px;
  filter: blur(.2px);
  transform: translate3d(0, -4%, 0);
  animation: as-rain-fall .82s linear infinite;
}

.as-snow-layer {
  z-index: 4;
  inset: -8%;
  opacity: calc(var(--as-snow) * .76);
  background-image:
    radial-gradient(circle, rgba(255,255,255,.88) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(255,255,255,.7) 0 1.4px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,.72) 0 .8px, transparent 1.4px);
  background-position: 0 0, 35px 68px, 76px 19px;
  background-size: 92px 118px, 137px 163px, 71px 91px;
  transform: translate3d(0, -3%, 0);
  animation: as-snow-fall 13s linear infinite;
}

.as-grain-layer {
  z-index: 5;
  inset: 0;
  opacity: calc(.018 + var(--as-intensity) * .012);
  background-image: repeating-radial-gradient(circle at 20% 30%, rgba(255,255,255,.7) 0 .45px, rgba(8,20,38,.55) .7px 1px, transparent 1.2px 3px);
  background-size: 5px 5px;
  mix-blend-mode: soft-light;
}

@keyframes as-cloud-drift {
  from { transform: translate3d(-2.5%, 0, 0) scale(1.06); }
  to { transform: translate3d(2%, 1%, 0) scale(1.08); }
}

@keyframes as-fog-breathe {
  from { transform: translate3d(-1.5%, 2%, 0) scale(1.02); }
  to { transform: translate3d(1.5%, -1%, 0) scale(1.06); }
}

@keyframes as-rain-fall {
  to { transform: translate3d(-18px, 82px, 0); }
}

@keyframes as-snow-fall {
  to { transform: translate3d(23px, 122px, 0); }
}

/* The original first paint remains unchanged until the controller has a state. */
body.asi-atmosphere .home-hero {
  isolation: isolate;
  background-color: #eef4fa;
  transition: background-color 1.25s ease;
}

body.asi-atmosphere .home-hero::before {
  background: linear-gradient(90deg, rgba(251,250,247,.995) 0%, rgba(251,250,247,.98) 28%, rgba(251,250,247,.78) 40%, rgba(251,250,247,.13) 55%, rgba(251,250,247,0) 68%);
  transition: background 1.25s ease;
}

body.asi-atmosphere[data-as-tone="dark"] .home-hero {
  background-color: #06162c;
}

body.asi-atmosphere[data-as-tone="dark"] .home-hero::before {
  background: linear-gradient(90deg, rgba(3,13,29,.97) 0%, rgba(4,17,36,.93) 29%, rgba(5,21,44,.7) 42%, rgba(4,17,34,.15) 60%, rgba(3,13,29,0) 72%);
}

body.asi-atmosphere[data-as-weather="fog"] .home-hero::before {
  background: linear-gradient(90deg, rgba(224,231,238,.96) 0%, rgba(218,227,236,.88) 38%, rgba(198,213,227,.38) 61%, transparent 77%);
}

body.asi-atmosphere[data-as-tone="dark"] .hero-copy h1,
body.asi-atmosphere[data-as-tone="dark"] .hero-copy > p,
body.asi-atmosphere[data-as-tone="dark"] .hero-trust strong { color: #f7fbff; }
body.asi-atmosphere[data-as-tone="dark"] .hero-copy > p { color: #d5e1ef; }
body.asi-atmosphere[data-as-tone="dark"] .hero-trust span { color: #afc0d4; }
body.asi-atmosphere[data-as-tone="dark"] .hero-copy h1 em { color: #2f7cff; }
body.asi-atmosphere[data-as-tone="dark"][data-as-anchor="sunset"] .hero-copy h1 em,
body.asi-atmosphere[data-as-tone="dark"][data-as-anchor="sunset"] .hero-copy .eyebrow { color: #f4b33d; }
body.asi-atmosphere[data-as-tone="dark"] .hero-copy .play-link { color: #6aa3ff; }

body.asi-atmosphere[data-as-tone="dark"] .home-hero blockquote {
  border-color: rgba(255,255,255,.28);
  background: rgba(4,18,38,.68);
  color: #f3f7fd;
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  backdrop-filter: blur(16px) saturate(115%);
}
body.asi-atmosphere[data-as-tone="dark"] .home-hero blockquote cite { color: #a8bdd8; }

/* Header and market tape follow the current atmosphere without varying cached HTML. */
body.asi-atmosphere .site-header,
body.asi-atmosphere .asi-v34-market-tape--public {
  transition: background-color 1.1s ease, border-color 1.1s ease, color 1.1s ease, box-shadow 1.1s ease;
}

body.asi-atmosphere[data-as-tone="dark"] .site-header {
  border-bottom-color: rgba(177,202,233,.16) !important;
  background: rgba(3,14,31,.78) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.11);
  backdrop-filter: blur(17px) saturate(125%);
}
body.asi-atmosphere[data-as-tone="dark"] .site-header .brand img { filter: brightness(0) invert(1); }
body.asi-atmosphere[data-as-tone="dark"] .desktop-nav a,
body.asi-atmosphere[data-as-tone="dark"] .header-actions .text-link { color: #eef5ff !important; }
body.asi-atmosphere[data-as-tone="dark"] .desktop-nav a:hover { color: #77aaff !important; }
body.asi-atmosphere[data-as-tone="dark"] .mobile-menu > summary span { background: #fff; }
body.asi-atmosphere[data-as-tone="dark"] .mobile-menu nav { border-color: rgba(255,255,255,.18); background: rgba(4,18,38,.96); }
body.asi-atmosphere[data-as-tone="dark"] .mobile-menu nav a:not(.button) { color: #eef5ff; }

body.asi-atmosphere[data-as-tone="dark"] .asi-v34-market-tape--public,
body.asi-atmosphere[data-as-tone="dark"] .asi-market-tape {
  border-color: rgba(180,204,231,.15) !important;
  background: rgba(5,22,45,.79) !important;
  color: #eaf3ff;
  backdrop-filter: blur(14px) saturate(115%);
}
body.asi-atmosphere[data-as-tone="dark"] .asi-market-tape-item,
body.asi-atmosphere[data-as-tone="dark"] .asi-market-tape-item strong,
body.asi-atmosphere[data-as-tone="dark"] .asi-market-tape-source { color: #dce8f7 !important; }
body.asi-atmosphere[data-as-tone="dark"] .asi-market-tape-item { border-color: rgba(180,204,231,.13) !important; }

/* The first information surfaces inherit the hero; data-heavy sections below return to calm neutral surfaces. */
body.asi-atmosphere.asi-sites-v34--home[data-as-tone="dark"] .asi-v34-root > main {
  background-image: linear-gradient(180deg, #06162c 0, #081b34 830px, #eff4f9 1320px, #fbfaf7 1620px);
}
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot {
  border-color: rgba(185,207,233,.28);
  background: rgba(6,24,48,.79);
  color: #f4f8fd;
  box-shadow: 0 18px 48px rgba(0,0,0,.23);
  backdrop-filter: blur(17px) saturate(115%);
}
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot h2,
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot h3,
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot strong,
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot .market-card-quote > strong { color: #f3f7fd; }
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot small,
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot .activity-state-mini > span { color: #aebfd4; }
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot .market-card,
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot .leading-themes,
body.asi-atmosphere[data-as-tone="dark"] .home-snapshot .activity-state-mini { border-color: rgba(185,207,233,.16); }
body.asi-atmosphere[data-as-tone="dark"] .home-news-ticker .news-ticker {
  border-color: rgba(185,207,233,.25);
  background: rgba(6,24,48,.78);
  box-shadow: 0 12px 30px rgba(0,0,0,.15);
}
body.asi-atmosphere[data-as-tone="dark"] .home-news-ticker .news-ticker a,
body.asi-atmosphere[data-as-tone="dark"] .home-news-ticker .news-ticker span,
body.asi-atmosphere[data-as-tone="dark"] .home-news-ticker .news-ticker small { color: #dce8f7; }

/* Global ambience is deliberately weak on analysis and article surfaces. */
body.asi-atmosphere .market-overview-page,
body.asi-atmosphere .themes-page-content,
body.asi-atmosphere .research-page-content,
body.asi-atmosphere .news-page-content,
body.asi-atmosphere .static-page-content {
  position: relative;
}
body.asi-atmosphere .market-overview-page::before,
body.asi-atmosphere .themes-page-content::before,
body.asi-atmosphere .research-page-content::before,
body.asi-atmosphere .news-page-content::before,
body.asi-atmosphere .static-page-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -30px -4vw auto;
  height: 240px;
  opacity: calc(var(--as-ambient) * .12);
  background: radial-gradient(ellipse at 72% 0, #4f91df, transparent 62%);
  pointer-events: none;
}
body.asi-atmosphere .product-shell {
  background-blend-mode: soft-light;
}
body.asi-atmosphere .product-page .panel,
body.asi-atmosphere .product-page canvas,
body.asi-atmosphere .product-page svg { filter: none !important; }

/* Discreet visitor preference, stored locally in the browser. */
.as-preferences {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}
.as-preferences button {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 7px;
  border: 1px solid #d5deeb;
  border-radius: 999px;
  background: #f7f9fc;
  color: #52617d;
  padding: 5px 10px;
  font: inherit;
  font-size: .65rem;
  cursor: pointer;
}
.as-preferences button:hover { border-color: #96b5eb; color: #0757f7; }
.as-preferences button:focus-visible { outline: 3px solid rgba(7,87,247,.32); outline-offset: 2px; }
.as-preferences button b { color: #0757f7; font-size: .62rem; }
.as-preferences button:disabled { opacity: .48; cursor: not-allowed; }

body.asi-atmosphere--preview::after {
  content: "ATMOSPHERE PREVIEW";
  position: fixed;
  z-index: 99999;
  right: 14px;
  bottom: 14px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(3,17,37,.82);
  color: #fff;
  padding: 7px 11px;
  font: 750 .61rem/1 Arial, sans-serif;
  letter-spacing: .1em;
  pointer-events: none;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
}

body.as-user-disabled .as-hero-media > span { display: none; }
body.as-user-disabled .as-hero-media .as-scene { filter: none; transition: none; }
body.as-page-hidden .as-cloud-layer,
body.as-page-hidden .as-fog-layer,
body.as-page-hidden .as-rain-layer,
body.as-page-hidden .as-snow-layer { animation-play-state: paused; }

@media (max-width: 1180px) {
  .as-hero-media .home-hero-art { object-position: 59% center; }
}

@media (max-width: 820px) {
  .as-hero-media .home-hero-art { object-position: 61% center; }
  body.asi-atmosphere .home-hero::before { background: linear-gradient(90deg, rgba(251,250,247,.99), rgba(251,250,247,.94) 54%, rgba(251,250,247,.35) 84%, rgba(251,250,247,.1)); }
  body.asi-atmosphere[data-as-tone="dark"] .home-hero::before { background: linear-gradient(90deg, rgba(3,13,29,.97), rgba(4,17,36,.92) 55%, rgba(5,21,44,.47) 86%, rgba(3,13,29,.12)); }
}

@media (max-width: 560px) {
  .as-hero-media .home-hero-art { object-position: 64% center; }
  .as-rain-layer { opacity: calc(var(--as-rain) * .32); }
  .as-snow-layer { opacity: calc(var(--as-snow) * .5); }
  body.asi-atmosphere[data-as-tone="dark"] .home-snapshot { background: rgba(6,24,48,.9); }
}

@media (prefers-reduced-motion: reduce) {
  .as-hero-media .home-hero-art { transition-duration: .01ms !important; }
  .as-cloud-layer,
  .as-fog-layer,
  .as-rain-layer,
  .as-snow-layer { animation: none !important; }
}

body.as-low-power .as-rain-layer,
body.as-low-power .as-snow-layer,
body.as-reduced-motion .as-rain-layer,
body.as-reduced-motion .as-snow-layer { animation: none; opacity: 0; }
body.as-low-power .as-cloud-layer,
body.as-low-power .as-fog-layer { animation: none; }

/* 35.0.1 — the complete opening viewport is one continuous atmosphere.
   This deliberately comes last so legacy v34 hero/card rules cannot split it. */
.home-atmosphere-stage {
  position: relative;
  min-height: clamp(900px, 56.28vw, 1200px);
  overflow: visible;
  background: #eaf1fa;
  padding-bottom: clamp(48px, 4vw, 76px);
}

.home-atmosphere-stage > .as-hero-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
}

.home-atmosphere-stage > .as-hero-media .home-hero-art {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
}

.home-atmosphere-stage::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(250,252,255,.91) 0%, rgba(250,252,255,.8) 22%, rgba(247,250,254,.48) 37%, rgba(244,249,254,.1) 58%, transparent 72%),
    linear-gradient(180deg, rgba(250,252,255,.03) 42%, rgba(245,249,253,.2) 75%, rgba(248,250,252,.43) 100%);
  pointer-events: none;
  transition: background 1.25s ease;
}

.home-atmosphere-stage .home-hero,
.home-atmosphere-stage .home-snapshot,
.home-atmosphere-stage .home-news-ticker {
  position: relative;
}

.home-atmosphere-stage .home-hero {
  z-index: 2;
  min-height: clamp(585px, 36.3vw, 720px);
  overflow: visible;
  background: transparent !important;
  isolation: auto;
}

.home-atmosphere-stage .home-hero::before,
.home-atmosphere-stage .home-hero::after { display: none !important; }
.home-atmosphere-stage .hero-copy { margin-left: clamp(42px, 3.7vw, 64px); }
.home-atmosphere-stage .home-hero blockquote { bottom: clamp(54px, 4vw, 68px); }
.home-atmosphere-stage .home-snapshot { z-index: 4; margin-top: -30px; }
.home-atmosphere-stage .home-news-ticker { z-index: 4; }

body.asi-sites-v34--home .asi-v34-root > main,
body.asi-sites-v34--home.asi-atmosphere .asi-v34-root > main,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .asi-v34-root > main {
  background-color: #fbfaf7;
  background-image: none;
}

/* The header and public tape are optically part of the photograph at the top. */
body.asi-sites-v34--home .home-atmosphere-stage .site-header,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .site-header {
  border-bottom-color: rgba(108,133,165,.18) !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding-right: clamp(24px, 1.8vw, 34px) !important;
  padding-left: clamp(42px, 3.2vw, 60px) !important;
}

body.asi-sites-v34--home .home-atmosphere-stage .site-header .brand { width: 205px; }

body.asi-sites-v34--home .home-atmosphere-stage .asi-v34-market-tape--public,
body.asi-sites-v34--home .home-atmosphere-stage .asi-v34-market-tape .asi-market-tape,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-v34-market-tape--public,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-v34-market-tape .asi-market-tape {
  border-color: rgba(108,133,165,.2) !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.asi-sites-v34--home .home-atmosphere-stage .site-header .brand img {
  filter: none !important;
}

.brand .brand-logo-on-dark { display: none; }
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .site-header .brand-logo-default { display: none !important; }
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .site-header .brand-logo-on-dark { display: block !important; filter: none !important; }
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .mobile-menu > summary {
  border-color: rgba(205,222,242,.26);
  background: rgba(4,19,39,.58);
}
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .mobile-menu > summary span { background: #f7fbff; }

/* Guaranteed readable light-scene foreground. */
body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .desktop-nav a,
body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .header-actions .text-link,
body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .hero-copy h1,
body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .hero-copy > p,
body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .hero-trust strong {
  color: #071331 !important;
}

body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .hero-trust span { color: #4d5e78 !important; }

/* Guaranteed readable dark-scene foreground. */
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage::before {
  background:
    linear-gradient(90deg, rgba(3,17,34,.47) 0%, rgba(5,25,46,.36) 25%, rgba(7,30,53,.17) 42%, rgba(4,19,37,.05) 63%, transparent 75%),
    linear-gradient(180deg, rgba(2,10,23,.03) 38%, rgba(2,11,25,.11) 73%, rgba(2,12,27,.25) 100%);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage::before {
  background:
    linear-gradient(90deg, rgba(22,12,17,.58) 0%, rgba(34,18,24,.45) 26%, rgba(47,25,28,.22) 43%, rgba(28,16,21,.05) 65%, transparent 76%),
    linear-gradient(180deg, rgba(35,15,22,.02) 36%, rgba(25,12,19,.13) 72%, rgba(21,12,20,.3) 100%);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage::before,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage::before {
  background:
    linear-gradient(90deg, rgba(5,28,54,.36) 0%, rgba(8,41,73,.28) 28%, rgba(13,55,89,.13) 46%, rgba(11,45,76,.04) 67%, transparent 77%),
    linear-gradient(180deg, rgba(8,36,65,.01) 38%, rgba(5,28,54,.09) 72%, rgba(4,24,48,.22) 100%);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night"] .home-atmosphere-stage::before,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night_storm"] .home-atmosphere-stage::before {
  background:
    linear-gradient(90deg, rgba(1,10,25,.31) 0%, rgba(2,17,36,.23) 27%, rgba(3,23,47,.1) 45%, rgba(2,17,35,.03) 67%, transparent 78%),
    linear-gradient(180deg, rgba(1,8,20,.01) 38%, rgba(1,10,24,.08) 72%, rgba(1,11,26,.22) 100%);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .desktop-nav a,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .header-actions .text-link,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .hero-copy h1,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .hero-copy > p,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .hero-trust strong {
  color: #f7fbff !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.24);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .hero-trust span { color: #c0cede !important; }
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .hero-copy .eyebrow { color: #72a6ff; }
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .hero-copy h1 em,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .hero-copy .eyebrow { color: #f4b33d; }

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-market-tape-item,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-market-tape-item strong,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-market-tape-name,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-market-tape-source {
  color: #e6effa !important;
  text-shadow: 0 1px 9px rgba(0,0,0,.42);
}

/* The quote remains present in every state. */
.home-atmosphere-stage .home-hero blockquote {
  border-color: rgba(255,255,255,.64);
  background: rgba(255,255,255,.86);
  color: #13223f;
  text-shadow: none;
  backdrop-filter: blur(15px) saturate(112%);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-hero blockquote {
  border-color: rgba(208,225,245,.27);
  background: rgba(4,18,38,.66);
  color: #f4f8fd;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-hero blockquote cite { color: #b9c9dc; }

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-hero blockquote {
  border-color: rgba(255,214,143,.26);
  background: rgba(25,16,13,.7);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage .home-hero blockquote,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage .home-hero blockquote {
  background: rgba(20,66,103,.6);
}

/* One translucent snapshot system; no white child cards with white type. */
.home-atmosphere-stage .home-snapshot {
  border-color: rgba(174,194,218,.55);
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(18,43,78,.14);
  backdrop-filter: blur(18px) saturate(112%);
}

.home-atmosphere-stage .home-snapshot .market-card,
.home-atmosphere-stage .home-snapshot .leading-themes,
.home-atmosphere-stage .home-snapshot .activity-state-mini,
.home-atmosphere-stage .home-snapshot .data-state {
  background: transparent;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot {
  border-color: rgba(190,211,235,.24);
  background: rgba(4,19,39,.72);
  color: #f3f7fd;
  box-shadow: 0 20px 48px rgba(0,0,0,.28);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="rain"] .home-atmosphere-stage .home-snapshot,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="rain"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="rain"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(12,43,68,.66);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-snapshot,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  border-color: rgba(244,190,94,.26);
  background: rgba(25,17,13,.72);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night"] .home-atmosphere-stage .home-snapshot,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night_storm"] .home-atmosphere-stage .home-snapshot,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night"] .home-atmosphere-stage .home-news-ticker .news-ticker-open,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night_storm"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night_storm"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(1,18,37,.74);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage .home-snapshot,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage .home-snapshot,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage .home-news-ticker .news-ticker-open,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(8,48,82,.65);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .market-card,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .leading-themes,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .activity-state-mini,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .data-state,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .theme-chips a {
  border-color: rgba(190,211,235,.17);
  background: transparent !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot h2,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot h3,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot strong,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .market-card-quote > strong,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .theme-chips a {
  color: #f3f7fd !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot small,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .quote-source,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .activity-state-mini > span:not(.status-dot) {
  color: #b8c8da !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .data-state-compact strong,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .market-card-quote.pending span {
  color: #f1b84b !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .snapshot-header > a,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .panel-heading > a,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-snapshot .activity-state-mini > a {
  color: #79aaff !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.28);
}

/* News strip uses the same palette as the snapshot above it. */
.home-atmosphere-stage .home-news-ticker .news-ticker,
.home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(16px) saturate(110%);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  border-color: rgba(190,211,235,.22);
  background: rgba(4,19,39,.7);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-news-ticker .news-ticker-label {
  background: rgba(41,102,188,.2);
  color: #79aaff;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-news-ticker .news-ticker a,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-news-ticker .news-ticker span,
body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .home-news-ticker .news-ticker small {
  color: #dce8f7;
}

/* Sparse, cinematic precipitation — visible but never interaction-blocking. */
.home-atmosphere-stage .as-sun-glow { opacity: calc(var(--as-glow) * .22); }
.home-atmosphere-stage .as-cloud-layer { opacity: calc(var(--as-cloud) * .16); }
.home-atmosphere-stage .as-fog-layer { opacity: calc(var(--as-fog) * .45); }

.home-atmosphere-stage .as-rain-layer {
  opacity: calc(var(--as-rain) * .38);
  background-image: repeating-linear-gradient(104deg, transparent 0 38px, rgba(228,240,252,.64) 39px, transparent 41px 78px);
  background-size: 82px 128px;
  animation-duration: 1.05s;
}

.home-atmosphere-stage .as-snow-layer {
  opacity: calc(var(--as-snow) * .68);
  background-position: 0 0, 62px 91px, 118px 27px;
  background-size: 146px 184px, 211px 257px, 119px 151px;
  animation-duration: 15s;
}

/* Once the photo stage has scrolled away, fixed navigation regains a solid,
   high-contrast surface while remaining present. */
body.asi-sites-v34--home.as-stage-passed .site-header {
  border-bottom-color: rgba(212,221,235,.86) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 4px 18px rgba(16,39,80,.06) !important;
  backdrop-filter: blur(18px) saturate(118%) !important;
}

body.asi-sites-v34--home.as-stage-passed .site-header .brand-logo-default { display: block !important; }
body.asi-sites-v34--home.as-stage-passed .site-header .brand-logo-on-dark { display: none !important; }
body.asi-sites-v34--home.as-stage-passed .site-header .desktop-nav a,
body.asi-sites-v34--home.as-stage-passed .site-header .header-actions .text-link { color: #071331 !important; text-shadow: none; }
body.asi-sites-v34--home.as-stage-passed .asi-v34-market-tape .asi-market-tape {
  background: rgba(248,251,255,.96) !important;
  backdrop-filter: blur(15px) saturate(112%) !important;
}
body.asi-sites-v34--home.as-stage-passed .asi-market-tape-item,
body.asi-sites-v34--home.as-stage-passed .asi-market-tape-item strong { color: #17233a !important; text-shadow: none; }
body.asi-sites-v34--home.as-stage-passed .asi-market-tape-name,
body.asi-sites-v34--home.as-stage-passed .asi-market-tape-source { color: #53657a !important; text-shadow: none; }

body.asi-sites-v34--home:not([data-as-tone="dark"]) .home-atmosphere-stage .asi-v34-market-tape .asi-market-tape {
  background: rgba(248,251,255,.58) !important;
  backdrop-filter: blur(7px) saturate(108%) !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage .asi-v34-market-tape .asi-market-tape {
  background: rgba(3,15,32,.32) !important;
  backdrop-filter: blur(7px) saturate(108%) !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="day"] .home-atmosphere-stage .header-actions .text-link {
  color: #f7fbff !important;
  text-shadow: 0 1px 12px rgba(0,35,77,.5);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .hero-copy .button {
  border-color: #f2a617;
  background: linear-gradient(135deg, #ffc54d, #efa116);
  color: #211509;
  box-shadow: 0 11px 26px rgba(226,138,15,.26);
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .hero-copy .play-link,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-snapshot a,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-news-ticker a {
  color: #f3bd55 !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="rain"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="rain"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(12,43,68,.66) !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="sunset"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(25,17,13,.72) !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night"] .home-atmosphere-stage .home-news-ticker .news-ticker-open,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night_storm"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="night_storm"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(1,18,37,.74) !important;
}

body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow"] .home-atmosphere-stage .home-news-ticker .news-ticker-open,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage .home-news-ticker .news-ticker,
body.asi-sites-v34--home.asi-atmosphere[data-as-anchor="snow_night"] .home-atmosphere-stage .home-news-ticker .news-ticker-open {
  background: rgba(8,48,82,.65) !important;
}

@media (max-width: 900px) {
  .home-atmosphere-stage {
    min-height: 0;
    padding-bottom: 54px;
  }
  .home-atmosphere-stage .home-hero {
    min-height: 660px;
    overflow: visible;
  }
  body.asi-sites-v34--home .home-atmosphere-stage .site-header {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  body.asi-sites-v34--home .home-atmosphere-stage .site-header .brand { width: 184px; }
  .home-atmosphere-stage .hero-copy {
    width: min(76%, 620px);
    margin-left: 24px;
  }
  .home-atmosphere-stage > .as-hero-media .home-hero-art { object-position: 62% center; }
  .home-atmosphere-stage::before {
    background: linear-gradient(90deg, rgba(250,252,255,.97), rgba(250,252,255,.9) 55%, rgba(247,250,254,.43) 86%, rgba(247,250,254,.15));
  }
  body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage::before {
    background: linear-gradient(90deg, rgba(3,13,29,.95), rgba(4,17,36,.88) 58%, rgba(4,18,39,.5) 88%, rgba(3,15,32,.2));
  }
}

@media (max-width: 560px) {
  .home-atmosphere-stage .home-hero { min-height: 620px; }
  .home-atmosphere-stage > .as-hero-media .home-hero-art { object-position: 67% center; }
  body.asi-sites-v34--home .home-atmosphere-stage .site-header .brand { width: 168px; }
  .home-atmosphere-stage .hero-copy {
    width: calc(100% - 36px);
    margin-left: 18px;
  }
  .home-atmosphere-stage .home-snapshot { margin-top: -18px; }
  .home-atmosphere-stage .as-rain-layer { opacity: calc(var(--as-rain) * .3); }
  .home-atmosphere-stage .as-snow-layer { opacity: calc(var(--as-snow) * .5); }
}

body.as-low-power .home-atmosphere-stage .as-rain-layer,
body.as-reduced-motion .home-atmosphere-stage .as-rain-layer {
  opacity: calc(var(--as-rain) * .3);
}

body.as-low-power .home-atmosphere-stage .as-snow-layer,
body.as-reduced-motion .home-atmosphere-stage .as-snow-layer {
  opacity: calc(var(--as-snow) * .5);
}

/* 35.0.3 — browser-reviewed weather fidelity, safe stacking and unified navigation glass. */
:root {
  --as-rain-speed: 1.1s;
  --as-snow-speed: 15s;
  --as-cloud-speed: 48s;
  --as-wind-drift: 0px;
  --as-accent-rgb: 63, 126, 205;
  --as-nav-surface: rgba(248,251,255,.9);
  --as-nav-border: rgba(184,202,225,.58);
  --as-tape-price: #142033;
}

body.asi-atmosphere[data-as-anchor="rain"] {
  --as-accent-rgb: 55, 109, 151;
  --as-nav-surface: rgba(12,43,68,.86);
  --as-nav-border: rgba(176,204,230,.22);
  --as-tape-price: #edf5ff;
}
body.asi-atmosphere[data-as-anchor="overcast"] {
  --as-accent-rgb: 91, 119, 145;
  --as-nav-surface: rgba(235,240,245,.92);
  --as-nav-border: rgba(143,161,180,.42);
  --as-tape-price: #17233a;
}
body.asi-atmosphere[data-as-anchor="sunset"] {
  --as-accent-rgb: 218, 147, 46;
  --as-nav-surface: rgba(31,21,17,.87);
  --as-nav-border: rgba(244,190,94,.25);
  --as-tape-price: #fff6e6;
}
body.asi-atmosphere[data-as-anchor="night"] {
  --as-accent-rgb: 48, 104, 180;
  --as-nav-surface: rgba(2,18,37,.88);
  --as-nav-border: rgba(174,202,232,.2);
  --as-tape-price: #edf5ff;
}
body.asi-atmosphere[data-as-anchor="night_storm"] {
  --as-accent-rgb: 54, 100, 151;
  --as-nav-surface: rgba(2,15,31,.9);
  --as-nav-border: rgba(166,196,224,.19);
  --as-tape-price: #edf5ff;
}
body.asi-atmosphere[data-as-anchor="snow"] {
  --as-accent-rgb: 76, 145, 200;
  --as-nav-surface: rgba(9,49,82,.86);
  --as-nav-border: rgba(192,218,238,.24);
  --as-tape-price: #f2f8fd;
}
body.asi-atmosphere[data-as-anchor="snow_night"] {
  --as-accent-rgb: 69, 128, 190;
  --as-nav-surface: rgba(4,28,55,.9);
  --as-nav-border: rgba(185,213,238,.22);
  --as-tape-price: #f2f8fd;
}
body.asi-atmosphere[data-as-anchor="snow_day"] { --as-accent-rgb: 82, 137, 185; }
body.asi-atmosphere[data-as-anchor="fog"] { --as-accent-rgb: 123, 151, 177; }
body.asi-atmosphere[data-as-anchor="partly_cloudy"] { --as-accent-rgb: 72, 137, 211; }

/* Removing the hero stacking context lets the fixed header/tape stay above all
   scrolling sections, including the snapshot and Live News Radar. */
.home-atmosphere-stage .home-hero { z-index: auto !important; }
.home-atmosphere-stage .home-snapshot { z-index: 2; }
.home-snapshot,
.live-news-section,
.research-preview { isolation: isolate; }
.site-header,
.home-hero .site-header { z-index: 120; }
.asi-v34-market-tape--public { z-index: 118; }
.product-launcher { z-index: 125; }

/* The top header is transparent. As soon as scrolling begins, header and price
   tape use exactly the same scene-aware glass surface. */
body.asi-sites-v34--home:not(.as-header-scrolled) .home-atmosphere-stage .site-header,
body.asi-sites-v34--home.asi-atmosphere:not(.as-header-scrolled)[data-as-tone="dark"] .home-atmosphere-stage .site-header {
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

body.asi-atmosphere.as-header-scrolled .site-header,
body.asi-atmosphere.as-header-scrolled .asi-v34-market-tape .asi-market-tape,
body.asi-sites-v34--home.asi-atmosphere.as-header-scrolled .home-atmosphere-stage .site-header,
body.asi-sites-v34--home.asi-atmosphere.as-header-scrolled .home-atmosphere-stage .asi-v34-market-tape .asi-market-tape {
  border-color: var(--as-nav-border) !important;
  background: var(--as-nav-surface) !important;
  backdrop-filter: blur(17px) saturate(116%) !important;
  box-shadow: 0 7px 22px rgba(8,27,55,.08) !important;
}

body.asi-atmosphere.as-header-scrolled .asi-v34-market-tape--public { background: transparent !important; }

/* The uploaded transparent WebP pair switches without filters or duplicate alt
   text. Dark weather keeps the white-ASSET logo even after the stage ends. */
.brand { height: 45px; }
.brand img { width: 100%; height: 100%; object-fit: contain; object-position: left center; filter: none !important; }
body.asi-atmosphere[data-as-tone="dark"] .site-header .brand-logo-default { display: none !important; }
body.asi-atmosphere[data-as-tone="dark"] .site-header .brand-logo-on-dark { display: block !important; }
body.asi-atmosphere:not([data-as-tone="dark"]) .site-header .brand-logo-default { display: block !important; }
body.asi-atmosphere:not([data-as-tone="dark"]) .site-header .brand-logo-on-dark { display: none !important; }

/* Symbol labels such as BTC now use the same colour as their numerical price. */
body.asi-atmosphere .asi-market-tape-name,
body.asi-atmosphere .asi-market-tape-item strong {
  color: var(--as-tape-price) !important;
}
body.asi-sites-v34--home.asi-atmosphere .home-atmosphere-stage .asi-market-tape-name,
body.asi-sites-v34--home.asi-atmosphere .home-atmosphere-stage .asi-market-tape-item strong {
  color: var(--as-tape-price) !important;
  text-shadow: none;
}

/* One image per meaningful sky class; CSS density and speed then interpolate
   the actual nearby cloud, precipitation, visibility and wind readings. */
.home-atmosphere-stage .as-cloud-layer {
  opacity: calc(var(--as-cloud) * .3);
  animation-duration: var(--as-cloud-speed);
}
body[data-as-cloud-level="clear"] .home-atmosphere-stage .as-cloud-layer { opacity: calc(var(--as-cloud) * .12); }
body[data-as-cloud-level="scattered"] .home-atmosphere-stage .as-cloud-layer { opacity: calc(var(--as-cloud) * .27); }
body[data-as-cloud-level="cloudy"] .home-atmosphere-stage .as-cloud-layer { opacity: calc(var(--as-cloud) * .36); }
body[data-as-cloud-level="overcast"] .home-atmosphere-stage .as-cloud-layer { opacity: calc(var(--as-cloud) * .18); }

.home-atmosphere-stage .as-rain-layer {
  opacity: calc(var(--as-rain) * .44);
  animation-duration: var(--as-rain-speed);
}
body[data-as-precip-level="light"] .home-atmosphere-stage .as-rain-layer {
  opacity: calc(var(--as-rain) * .38);
  background-size: 108px 156px;
}
body[data-as-precip-level="moderate"] .home-atmosphere-stage .as-rain-layer {
  opacity: calc(var(--as-rain) * .46);
  background-size: 72px 118px;
}
body[data-as-precip-level="heavy"] .home-atmosphere-stage .as-rain-layer {
  opacity: calc(var(--as-rain) * .54);
  background-size: 48px 92px;
}

.home-atmosphere-stage .as-snow-layer {
  opacity: calc(var(--as-snow) * .56);
  animation-duration: var(--as-snow-speed);
}
body[data-as-precip-level="light"] .home-atmosphere-stage .as-snow-layer {
  opacity: calc(var(--as-snow) * .46);
  background-size: 178px 218px, 249px 296px, 151px 188px;
}
body[data-as-precip-level="moderate"] .home-atmosphere-stage .as-snow-layer {
  opacity: calc(var(--as-snow) * .6);
  background-size: 132px 169px, 195px 231px, 108px 139px;
}
body[data-as-precip-level="heavy"] .home-atmosphere-stage .as-snow-layer {
  opacity: calc(var(--as-snow) * .72);
  background-size: 94px 128px, 143px 181px, 78px 106px;
}

body[data-as-cloud-level="overcast"] .home-atmosphere-stage .as-sun-glow,
body[data-as-weather="rain"] .home-atmosphere-stage .as-sun-glow,
body[data-as-weather="heavy_rain"] .home-atmosphere-stage .as-sun-glow,
body[data-as-weather="storm"] .home-atmosphere-stage .as-sun-glow,
body[data-as-weather="fog"] .home-atmosphere-stage .as-sun-glow,
body[data-as-weather="snow"] .home-atmosphere-stage .as-sun-glow { opacity: calc(var(--as-glow) * .05); }

/* The News Radar ticker now sits immediately above ranked item 01. */
.live-news-radar-ticker {
  position: relative;
  z-index: 1;
  margin: 17px 0 12px;
}
.live-news-radar-ticker .news-ticker { border-radius: 13px; }
.live-news-radar-ticker .news-ticker-label {
  background: rgba(var(--as-accent-rgb),.12);
  color: rgb(var(--as-accent-rgb));
}

/* With the News ticker moved, the opening photograph ends directly after the
   market snapshot instead of leaving an oversized empty lower band. */
.home-atmosphere-stage {
  min-height: clamp(820px, 56.28vw, 1040px);
  padding-bottom: clamp(34px, 3vw, 54px);
}

/* A restrained weather wash reaches the rest of the public site while dense
   data panels remain neutral and unfiltered. */
body.asi-atmosphere .asi-v34-root > main {
  background-color: #fbfaf7;
  background-image:
    radial-gradient(ellipse at 82% 4%, rgba(var(--as-accent-rgb),.055), transparent 34%),
    linear-gradient(180deg, rgba(var(--as-accent-rgb),.028), transparent 760px) !important;
  transition: background-color 1.1s ease, background-image 1.1s ease;
}
body.asi-sites-v34--home.asi-atmosphere .asi-v34-root > main {
  background-image: linear-gradient(180deg, transparent 720px, rgba(var(--as-accent-rgb),.045) 940px, transparent 1540px) !important;
}
body.asi-atmosphere .market-overview-page::before,
body.asi-atmosphere .themes-page-content::before,
body.asi-atmosphere .research-page-content::before,
body.asi-atmosphere .news-page-content::before,
body.asi-atmosphere .static-page-content::before {
  opacity: calc(var(--as-ambient) * .16);
  background: radial-gradient(ellipse at 72% 0, rgb(var(--as-accent-rgb)), transparent 62%);
}

@media (max-width: 620px) {
  .brand { height: 39px; }
  .live-news-radar-ticker { margin-top: 13px; }
}

body.as-low-power .home-atmosphere-stage .as-rain-layer,
body.as-reduced-motion .home-atmosphere-stage .as-rain-layer {
  animation: none !important;
  opacity: calc(var(--as-rain) * .52);
}
body.as-low-power .home-atmosphere-stage .as-snow-layer,
body.as-reduced-motion .home-atmosphere-stage .as-snow-layer {
  animation: none !important;
  opacity: calc(var(--as-snow) * .6);
}

/* 35.0.4 — mobile hierarchy, readable atmosphere and site-wide visual continuity. */
:root {
  --as-nav-surface: rgba(248,251,255,.965);
  --as-nav-border: rgba(184,202,225,.7);
  --as-section-wash: rgba(var(--as-accent-rgb),.046);
  --as-section-line: rgba(var(--as-accent-rgb),.16);
  --as-section-shadow: rgba(var(--as-accent-rgb),.075);
}

body.asi-atmosphere[data-as-anchor="rain"] {
  --as-nav-surface: rgba(9,35,58,.965);
  --as-nav-border: rgba(176,204,230,.3);
}
body.asi-atmosphere[data-as-anchor="overcast"] {
  --as-nav-surface: rgba(235,240,245,.975);
  --as-nav-border: rgba(143,161,180,.5);
}
body.asi-atmosphere[data-as-anchor="sunset"] {
  --as-nav-surface: rgba(28,19,16,.965);
  --as-nav-border: rgba(244,190,94,.32);
}
body.asi-atmosphere[data-as-anchor="night"] {
  --as-nav-surface: rgba(2,16,34,.97);
  --as-nav-border: rgba(174,202,232,.28);
}
body.asi-atmosphere[data-as-anchor="night_storm"] {
  --as-nav-surface: rgba(2,13,28,.975);
  --as-nav-border: rgba(166,196,224,.27);
}
body.asi-atmosphere[data-as-anchor="snow"],
body.asi-atmosphere[data-as-anchor="snow_night"] {
  --as-nav-surface: rgba(6,37,66,.965);
  --as-nav-border: rgba(192,218,238,.31);
}

/* The hero itself must not isolate its children. The copy, quote and fixed
   navigation can then sit above the stage wash while the photograph remains
   below it. This fixes the low-contrast mobile/desktop regression in 35.0.3. */
body.asi-atmosphere .home-atmosphere-stage .home-hero {
  z-index: auto !important;
  isolation: auto !important;
}
.home-atmosphere-stage .hero-copy {
  position: relative;
  z-index: 3;
}
.home-atmosphere-stage .home-hero blockquote { z-index: 3; }

/* Site chrome is the highest site-owned layer, but remains below the
   WordPress administrator bar. Scrolling content can no longer paint over it. */
body.asi-sites-v34 .site-header,
body.asi-sites-v34 .home-hero .site-header {
  z-index: 2200 !important;
  isolation: isolate;
}
body.asi-sites-v34 .asi-v34-market-tape--public {
  z-index: 2190 !important;
  isolation: isolate;
}
body.asi-sites-v34 .product-launcher,
body.asi-sites-v34 .mobile-dock { z-index: 2100 !important; }

body.asi-atmosphere.as-header-scrolled .site-header,
body.asi-atmosphere.as-header-scrolled .asi-v34-market-tape .asi-market-tape,
body.asi-sites-v34--home.asi-atmosphere.as-header-scrolled .home-atmosphere-stage .site-header,
body.asi-sites-v34--home.asi-atmosphere.as-header-scrolled .home-atmosphere-stage .asi-v34-market-tape .asi-market-tape {
  border-color: var(--as-nav-border) !important;
  background: var(--as-nav-surface) !important;
  box-shadow: 0 8px 24px rgba(5,22,46,.13) !important;
  backdrop-filter: blur(20px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(118%) !important;
}

/* Keep both pieces of the scrolled navigation optically identical. */
body.asi-atmosphere.as-header-scrolled .site-header { border-bottom-width: 0 !important; }
body.asi-atmosphere.as-header-scrolled .asi-v34-market-tape .asi-market-tape {
  border-top: 1px solid var(--as-nav-border) !important;
}

/* Public inner pages use light editorial hero chrome. Keep their opening
   header transparent and choose the dark wordmark from the actual surface;
   once scrolling starts the weather-aware nav surface takes over. */
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header {
  border-bottom-color: rgba(91,116,149,.16) !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header .brand-logo-default {
  display: block !important;
}
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header .brand-logo-on-dark {
  display: none !important;
}
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header .desktop-nav a,
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header .header-actions .text-link {
  color: #071331 !important;
  text-shadow: none !important;
}
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header .mobile-menu > summary {
  border-color: rgba(80,105,139,.24);
  background: rgba(255,255,255,.7);
}
body.asi-sites-v34:not(.asi-sites-v34--home).asi-atmosphere:not(.as-header-scrolled) .site-header .mobile-menu > summary span {
  background: #071331;
}

/* Lower sections inherit only a restrained colour temperature and shadow.
   Tables, charts and quote cards are intentionally left neutral. */
body.asi-atmosphere .asi-v34-root > main > :is(
  .opportunity-teaser,
  .how-preview,
  .research-preview,
  .live-news-section,
  .market-overview-page,
  .themes-page-content,
  .research-page-content,
  .news-page-content,
  .pricing-content,
  .simple-example,
  .pedagogy-section,
  .static-page-content
) {
  background-image:
    radial-gradient(ellipse at 88% 4%, var(--as-section-wash), transparent 31%),
    linear-gradient(180deg, rgba(var(--as-accent-rgb),.018), transparent 340px);
  background-repeat: no-repeat;
}

body.asi-atmosphere :is(
  .teaser-grid > article,
  .module-grid > article,
  .research-card,
  .news-radar-card,
  .plan-card,
  .market-reading-guide > article,
  .example-chain > article,
  .help-grid > a,
  .onboarding-grid > article
) {
  box-shadow: 0 16px 42px var(--as-section-shadow);
}

body.asi-atmosphere :is(
  .intelligence-lock,
  .proof-preview,
  .home-pricing-cta,
  .method-cta,
  .checkout-disclosure
) {
  box-shadow:
    inset 0 0 0 1px var(--as-section-line),
    0 20px 52px var(--as-section-shadow);
}

body.asi-atmosphere .hero-with-header:not(.home-hero) {
  box-shadow:
    inset 0 -1px 0 var(--as-section-line),
    0 18px 50px rgba(var(--as-accent-rgb),.055);
}

body.asi-sites-v34 { overflow-x: clip; }
body.asi-sites-v34 :is(
  .home-snapshot,
  .market-card,
  .leading-themes,
  .teaser-grid > article,
  .module-grid > article,
  .research-card,
  .plan-card,
  .news-radar-card
) { min-width: 0; max-width: 100%; }

@media (max-width: 900px) {
  /* Undo the late desktop stage minimum from 35.0.3. The content now defines
     the mobile height, avoiding a large empty or overly zoomed opening band. */
  body.asi-sites-v34--home .home-atmosphere-stage {
    min-height: 0;
    padding-bottom: 30px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage > .as-hero-media .home-hero-art {
    object-position: 64% center;
  }

  body.asi-sites-v34--home .home-atmosphere-stage::before {
    background:
      linear-gradient(90deg, rgba(250,252,255,.95), rgba(250,252,255,.84) 58%, rgba(247,250,254,.29) 88%, rgba(247,250,254,.08)),
      linear-gradient(180deg, rgba(248,251,255,.04) 58%, rgba(244,249,254,.28));
  }

  body.asi-sites-v34--home.asi-atmosphere[data-as-tone="dark"] .home-atmosphere-stage::before {
    background:
      linear-gradient(90deg, rgba(2,13,29,.56), rgba(4,19,39,.42) 58%, rgba(4,18,39,.16) 88%, rgba(3,15,32,.04)),
      linear-gradient(180deg, rgba(1,9,22,.03) 55%, rgba(2,14,30,.24));
  }

  body.asi-atmosphere .asi-v34-root > main > :is(
    .opportunity-teaser,
    .how-preview,
    .research-preview,
    .live-news-section,
    .market-overview-page,
    .themes-page-content,
    .research-page-content,
    .news-page-content,
    .pricing-content,
    .simple-example,
    .pedagogy-section,
    .static-page-content
  ) {
    background-image: radial-gradient(ellipse at 92% 0, var(--as-section-wash), transparent 43%);
  }
}

@media (max-width: 620px) {
  :root { --as-mobile-gutter: 14px; }

  body.asi-sites-v34 .site-header,
  body.asi-sites-v34 .home-hero .site-header {
    padding-right: max(var(--as-mobile-gutter), env(safe-area-inset-right)) !important;
    padding-left: max(var(--as-mobile-gutter), env(safe-area-inset-left)) !important;
  }

  body.asi-sites-v34 .site-header .brand,
  body.asi-sites-v34--home .home-atmosphere-stage .site-header .brand {
    width: min(156px, calc(100vw - 82px));
    height: 35px;
  }

  body.asi-sites-v34 .mobile-menu > summary {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  body.asi-sites-v34:has(.asi-v34-market-tape--public) .mobile-menu nav {
    top: calc(52px + var(--ticker-height));
    width: min(286px, calc(100vw - 28px));
    max-height: calc(100dvh - var(--header-height) - var(--ticker-height) - 28px);
    overflow-y: auto;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-hero {
    min-height: 0;
    padding-bottom: 1px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage > .as-hero-media .home-hero-art {
    object-position: 64% center;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-copy {
    width: calc(100% - 32px);
    max-width: 520px;
    margin-left: 16px;
    padding: calc(var(--header-height) + var(--ticker-height) + 24px) 0 15px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-copy .eyebrow {
    font-size: .61rem;
    letter-spacing: .105em;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-copy h1 {
    max-width: 355px;
    margin: 7px 0 13px;
    font-size: clamp(2.62rem, 12.2vw, 3.08rem);
    line-height: .94;
    letter-spacing: -.045em;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-copy > p {
    max-width: 365px;
    font-size: .93rem;
    line-height: 1.42;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-actions {
    gap: 9px;
    margin-top: 14px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-actions .button {
    min-height: 46px;
    padding-inline: 15px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-actions .play-link {
    min-height: 36px;
    font-size: .76rem;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .hero-trust {
    margin-top: 11px;
    font-size: .67rem;
    line-height: 1.42;
  }

  /* Keep the quotation present, but make it part of the mobile flow instead
     of an overlapping floating card. */
  body.asi-sites-v34--home .home-atmosphere-stage .home-hero blockquote {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: calc(100% - 32px);
    margin: 0 16px 20px;
    border-radius: 15px;
    padding: 13px 15px 12px;
    font-size: .78rem;
    line-height: 1.38;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-hero blockquote b {
    display: inline;
    margin-right: 5px;
    font-size: 1.55rem;
    line-height: .5;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-hero blockquote cite {
    margin-top: 6px;
    font-size: .58rem;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-snapshot {
    width: calc(100% - 20px);
    margin-top: 0;
    border-radius: 21px;
    padding: 15px 13px 13px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .snapshot-header {
    min-height: 34px;
    padding: 0 5px 10px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .snapshot-header h2 {
    font-size: .83rem;
    letter-spacing: .035em;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-overview-layout .market-card-grid {
    grid-template-columns: minmax(0,1fr);
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-overview-layout .live-market-card {
    min-height: 76px;
    grid-template-columns: 38px minmax(0,1fr) auto;
    gap: 8px;
    padding: 9px 5px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .home-overview-layout .live-market-card .icon {
    width: 38px;
    height: 38px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .market-card-name,
  body.asi-sites-v34--home .home-atmosphere-stage .market-card-name > * {
    min-width: 0;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .market-card-name small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .market-card-quote {
    min-width: 76px;
    grid-column: 3;
    grid-row: 1;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .leading-themes {
    padding: 14px 5px 5px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .leading-themes .theme-chips {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px 8px;
  }

  body.asi-sites-v34--home .home-atmosphere-stage .as-rain-layer {
    opacity: calc(var(--as-rain) * .54);
  }

  body.asi-sites-v34--home .home-atmosphere-stage .as-snow-layer {
    opacity: calc(var(--as-snow) * .68);
  }

  body.asi-sites-v34 .public-hero-copy {
    width: calc(100% - 28px) !important;
    max-width: 620px;
    padding-top: calc(var(--header-height) + var(--ticker-height) + 24px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-inline: 14px;
  }

  body.asi-sites-v34 .public-hero-copy h1,
  body.asi-sites-v34 .how-title h1,
  body.asi-sites-v34 .static-page-hero h1 {
    font-size: clamp(2.38rem, 10.7vw, 3.05rem);
    line-height: .98;
    letter-spacing: -.04em;
  }

  body.asi-sites-v34 .section-shell,
  body.asi-sites-v34 .trust-strip {
    width: calc(100% - 20px);
  }

  body.asi-sites-v34 :is(
    .teaser-grid > article,
    .module-grid > article,
    .research-card,
    .news-radar-card,
    .plan-card,
    .example-chain > article,
    .market-reading-guide > article
  ) {
    border-radius: 17px;
  }

  body.asi-sites-v34 .product-launcher { left: 10px; bottom: max(82px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  body.asi-atmosphere .site-header,
  body.asi-atmosphere .asi-v34-market-tape--public,
  body.asi-atmosphere .asi-v34-market-tape .asi-market-tape {
    transition-duration: .01ms !important;
  }
}
