/* ========================================================================== 
   WeatherPulse Daystream
   Immersive home presentation. Existing IDs remain the functional contract;
   this layer only changes hierarchy, atmosphere, and interaction affordances.
   ========================================================================== */

body.wp-experience.wp-page-home {
  --ds-page: #f7f6f2;
  --ds-page-deep: #eceae5;
  --ds-ink: #171717;
  --ds-muted: #686868;
  --ds-faint: rgba(0, 0, 0, 0.05);
  --ds-line: rgba(0, 0, 0, 0.11);
  --ds-line-strong: rgba(0, 0, 0, 0.19);
  --ds-paper: rgba(255, 255, 255, 0.96);
  --ds-paper-solid: #ffffff;
  --ds-soft: #f1f0ed;
  --ds-accent: #202020;
  --ds-accent-bright: #505050;
  --ds-good: #16825f;
  --ds-watch: #b87415;
  --ds-alert: #d54a58;
  --ds-sky-ink: #ffffff;
  --ds-sky-muted: rgba(255, 255, 255, 0.74);
  --ds-glass: rgba(20, 20, 20, 0.32);
  --ds-glass-strong: rgba(12, 12, 12, 0.52);
  --ds-shadow: 0 28px 80px rgba(0, 0, 0, 0.13);
  --ds-shadow-soft: 0 14px 38px rgba(0, 0, 0, 0.08);
  --ds-content: min(100%, 1240px);
  --home-page: var(--ds-page);
  --home-page-deep: var(--ds-page-deep);
  --home-surface: var(--ds-paper);
  --home-surface-solid: var(--ds-paper-solid);
  --home-surface-soft: var(--ds-soft);
  --home-text: var(--ds-ink);
  --home-muted: var(--ds-muted);
  --home-line: var(--ds-line);
  --home-line-strong: var(--ds-line-strong);
  --home-accent: var(--ds-accent);
  --home-accent-bright: var(--ds-accent-bright);
  --home-good: var(--ds-good);
  --home-watch: var(--ds-watch);
  --home-alert: var(--ds-alert);
  overflow-x: clip !important;
  background: linear-gradient(180deg, #f7f6f2 0%, #ffffff 44%, #eceae5 100%) !important;
  color: var(--ds-ink) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home,
body.wp-experience.wp-page-home[data-theme="night"] {
  --ds-page: #050505;
  --ds-page-deep: #0b0b0b;
  --ds-ink: #f5f5f5;
  --ds-muted: #a3a3a3;
  --ds-faint: rgba(255, 255, 255, 0.07);
  --ds-line: rgba(255, 255, 255, 0.12);
  --ds-line-strong: rgba(255, 255, 255, 0.2);
  --ds-paper: rgba(17, 17, 17, 0.96);
  --ds-paper-solid: #111111;
  --ds-soft: #1a1a1a;
  --ds-accent: #f1f1f1;
  --ds-accent-bright: #ffffff;
  --ds-good: #68d9ac;
  --ds-watch: #f2be69;
  --ds-alert: #ff7d89;
  --ds-shadow: 0 28px 82px rgba(0, 0, 0, 0.36);
  --ds-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.28);
  background: linear-gradient(180deg, #050505 0%, #0d0d0d 48%, #050505 100%) !important;
}

/* Beat the shared experience theme at the actual scroll surface. */
html[data-theme="day"] body.wp-experience.wp-page-home,
html[data-theme="day"] body.wp-experience.wp-page-home #main-scroll,
html[data-theme="day"] body.wp-experience.wp-page-home .main-wrapper,
html[data-theme="day"] body.wp-experience.wp-page-home .content-backdrop {
  background: #f7f6f2 !important;
  color: #171717 !important;
  color-scheme: light !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home,
html[data-theme="night"] body.wp-experience.wp-page-home #main-scroll,
html[data-theme="night"] body.wp-experience.wp-page-home .main-wrapper,
html[data-theme="night"] body.wp-experience.wp-page-home .content-backdrop {
  background: #050505 !important;
  color: #f5f5f5 !important;
  color-scheme: dark !important;
}

body.wp-experience.wp-page-home #main-scroll,
body.wp-experience.wp-page-home .main-wrapper,
body.wp-experience.wp-page-home .content-backdrop {
  min-width: 0 !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .main-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wp-experience.wp-page-home .sticky-location-bar {
  isolation: isolate;
  z-index: 92 !important;
  width: min(calc(100% - 20px), 1220px) !important;
  min-height: 58px !important;
  margin: max(7px, env(safe-area-inset-top, 0px)) auto 10px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 21px !important;
  background: rgba(250, 253, 250, 0.78) !important;
  box-shadow: 0 8px 34px rgba(0, 0, 0, 0.1) !important;
  backdrop-filter: blur(24px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(155%) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .sticky-location-bar,
body.wp-experience.wp-page-home[data-theme="night"] .sticky-location-bar {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(17, 17, 17, 0.86) !important;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.28) !important;
}

body.wp-experience.wp-page-home .search-pill {
  min-height: 44px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.wp-experience.wp-page-home .search-text,
body.wp-experience.wp-page-home .header-action-btn,
body.wp-experience.wp-page-home .search-icon,
body.wp-experience.wp-page-home .expand-arrow {
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .header-action-btn {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: var(--ds-faint) !important;
}

body.wp-experience.wp-page-home .content-backdrop > div:first-child,
body.wp-experience.wp-page-home #weather-error-state {
  width: min(calc(100% - 24px), 1180px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.wp-experience.wp-page-home .wp-alert-coverage-reminder {
  margin-bottom: 12px !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(184, 116, 21, 0.2) !important;
  border-radius: 18px !important;
  background: rgba(255, 246, 221, 0.9) !important;
  color: #563d13 !important;
  box-shadow: var(--ds-shadow-soft) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-alert-coverage-reminder,
body.wp-experience.wp-page-home[data-theme="night"] .wp-alert-coverage-reminder {
  border-color: rgba(242, 190, 105, 0.24) !important;
  background: rgba(78, 57, 20, 0.52) !important;
  color: #ffe7b8 !important;
}

/* Compatibility DOM is retained for render hooks. The video viewport becomes
   visible when JS moves it into the living hero. */
body.wp-experience.wp-page-home .sticky-hero-block,
body.wp-experience.wp-page-home .hero-spacer,
body.wp-experience.wp-page-home #weather-content {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-home {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: var(--ds-content) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 0 calc(104px + max(var(--safe-bottom, 0px), env(safe-area-inset-bottom, 0px))) !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-home > * {
  min-width: 0;
}

/* Default chapters are editorial, not a repeated card stack. */
body.wp-experience.wp-page-home .wp-life-section {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  padding: clamp(42px, 7vw, 78px) clamp(22px, 5.5vw, 68px) !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-section:not(.wp-life-radar):not(.wp-life-sponsor)::before {
  content: "";
  position: absolute;
  top: 0;
  right: clamp(22px, 5.5vw, 68px);
  left: clamp(22px, 5.5vw, 68px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ds-line-strong) 18%, var(--ds-line) 82%, transparent);
  pointer-events: none;
}

body.wp-experience.wp-page-home .wp-life-section-head,
body.wp-experience.wp-page-home .wp-life-radar-head,
body.wp-experience.wp-page-home .sponsor-spot-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 26px !important;
}

body.wp-experience.wp-page-home .wp-life-section-head > div,
body.wp-experience.wp-page-home .wp-life-radar-copy,
body.wp-experience.wp-page-home .sponsor-spot-head > div {
  min-width: 0;
}

body.wp-experience.wp-page-home .wp-life-kicker,
body.wp-experience.wp-page-home .wp-life-section-head > div > span:first-child,
body.wp-experience.wp-page-home .wp-life-section-mini,
body.wp-experience.wp-page-home .sponsor-spot-label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--ds-accent) !important;
  font-size: 0.7rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-section-head h2,
body.wp-experience.wp-page-home .wp-life-radar h2,
body.wp-experience.wp-page-home .wp-life-sponsor h2 {
  margin: 0 !important;
  color: var(--ds-ink) !important;
  font-size: clamp(1.65rem, 4vw, 3rem) !important;
  font-weight: 850 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

body.wp-experience.wp-page-home .wp-life-text-link {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 12px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ds-accent) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.wp-experience.wp-page-home .wp-life-text-link .material-icons-round {
  font-size: 17px !important;
}

/* Route forecast launch: keep the new drive planner visible without turning
   the Home screen into another full card stack. */
body.wp-experience.wp-page-home .wp-life-route-banner {
  grid-column: 1 / -1 !important;
  width: min(calc(100% - 32px), 1120px) !important;
  min-height: 96px !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 22px auto 4px !important;
  padding: 16px 18px !important;
  border: 1px solid color-mix(in srgb, #2f78d4 30%, var(--ds-line)) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, color-mix(in srgb, #2f78d4 10%, var(--ds-paper-solid)), var(--ds-paper-solid) 64%) !important;
  color: var(--ds-ink) !important;
  text-decoration: none !important;
  box-shadow: var(--ds-shadow-soft) !important;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner:hover {
  border-color: color-mix(in srgb, #2f78d4 56%, var(--ds-line)) !important;
  box-shadow: 0 16px 38px color-mix(in srgb, #2f78d4 14%, transparent) !important;
  transform: translateY(-1px) !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner:active {
  transform: scale(0.992) !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner:focus-visible {
  outline: 3px solid color-mix(in srgb, #2f78d4 72%, white) !important;
  outline-offset: 3px !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-icon {
  width: 56px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 17px !important;
  background: #2f78d4 !important;
  color: #ffffff !important;
  font-size: 29px !important;
  box-shadow: 0 10px 24px rgba(47, 120, 212, 0.24) !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-copy small {
  color: #2366b8 !important;
  font-size: 0.66rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-copy strong {
  color: var(--ds-ink) !important;
  font-size: clamp(1rem, 2.2vw, 1.28rem) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-copy > span {
  color: var(--ds-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-cta {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  background: var(--ds-ink) !important;
  color: var(--ds-paper-solid) !important;
  font-size: 0.74rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body.wp-experience.wp-page-home .wp-life-route-banner-cta .material-icons-round {
  font-size: 17px !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-route-banner-copy small,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-route-banner-copy small {
  color: #8fc1ff !important;
}

/* Brand campaign: premium placement immediately after the Route Planning forecast. */
body.wp-experience.wp-page-home .wp-brand-promo {
  grid-column: 1 / -1 !important;
  width: min(calc(100% - 32px), 1120px) !important;
  margin: 24px auto 0 !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--ds-ink) 18%, transparent) !important;
  border-radius: 22px !important;
  background: #080808 !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.2) !important;
  line-height: 0 !important;
}

body.wp-experience.wp-page-home .wp-brand-promo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

@media (max-width: 759px) {
  body.wp-experience.wp-page-home .wp-brand-promo {
    width: calc(100% - 24px) !important;
    margin-top: 14px !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
  }
}

/* --------------------------------------------------------------------------
   Living atmosphere
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-hero {
  isolation: isolate !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: clamp(760px, 90svh, 980px) !important;
  padding: clamp(26px, 5.5vw, 70px) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 0 44px 44px !important;
  background: linear-gradient(145deg, #4c5156 0%, #777d82 52%, #a9adb0 100%) !important;
  box-shadow: 0 34px 92px rgba(0, 0, 0, 0.24) !important;
  color: var(--ds-sky-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.02) 30%, rgba(0, 0, 0, 0.46) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.25), transparent 58%);
  pointer-events: none;
}

body.wp-experience.wp-page-home .wp-life-hero::after {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-weather="clear"] .wp-life-hero {
  background: linear-gradient(145deg, #60666b 0%, #8b9195 52%, #bfc2c4 100%) !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-weather="cloud"] .wp-life-hero,
body.wp-experience.wp-page-home .wp-life-home[data-weather="calm"] .wp-life-hero {
  background: linear-gradient(145deg, #44484c 0%, #707579 50%, #a6aaad 100%) !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-weather="rain"] .wp-life-hero {
  background: linear-gradient(145deg, #24272a 0%, #474b4f 52%, #74797d 100%) !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-weather="storm"] .wp-life-hero,
body.wp-experience.wp-page-home .wp-life-home[data-weather="alert"] .wp-life-hero,
body.wp-experience.wp-page-home .wp-life-home[data-tone="alert"] .wp-life-hero {
  background: linear-gradient(145deg, #171717 0%, #302b2c 52%, #5a3439 100%) !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-weather="snow"] .wp-life-hero {
  background: linear-gradient(145deg, #72777b 0%, #a4a8ab 50%, #e2e2df 100%) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-hero,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-hero {
  background: linear-gradient(145deg, #030303 0%, #111111 52%, #242424 100%) !important;
  box-shadow: 0 34px 94px rgba(0, 0, 0, 0.44) !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-preview-period="day"] .wp-life-hero,
body.wp-experience.wp-page-home .wp-life-hero[data-preview-period="day"] {
  background: linear-gradient(145deg, #5d6266 0%, #8b9094 54%, #c2c4c5 100%) !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-preview-period="night"] .wp-life-hero,
body.wp-experience.wp-page-home .wp-life-hero[data-preview-period="night"] {
  background: linear-gradient(145deg, #020202 0%, #0d0d0d 54%, #242424 100%) !important;
}

/* The existing weather video and Android fallback become the hero media layer
   after #video-viewport is moved into #wp-life-hero. */
body.wp-experience.wp-page-home .wp-life-hero > #video-viewport,
body.wp-experience.wp-page-home .wp-life-hero .wp-life-hero-media {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background: transparent !important;
  pointer-events: none !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video,
body.wp-experience.wp-page-home .wp-life-hero .wp-life-hero-media .home-hero-video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: translate(-50%, -50%) scale(1.035) !important;
  opacity: 0 !important;
  filter: saturate(1) contrast(1.02) brightness(0.97) !important;
  transition: opacity 700ms ease !important;
  z-index: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video.loaded.is-active,
body.wp-experience.wp-page-home .wp-life-hero .wp-life-hero-media .home-hero-video.loaded.is-active {
  opacity: 0.94 !important;
  z-index: 1 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video.loaded.is-incoming,
body.wp-experience.wp-page-home .wp-life-hero .wp-life-hero-media .home-hero-video.loaded.is-incoming {
  opacity: 0 !important;
  z-index: 2 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video.loaded.is-incoming.is-crossfade-visible,
body.wp-experience.wp-page-home .wp-life-hero .wp-life-hero-media .home-hero-video.loaded.is-incoming.is-crossfade-visible {
  opacity: 0.94 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video.loaded.is-outgoing,
body.wp-experience.wp-page-home .wp-life-hero .wp-life-hero-media .home-hero-video.loaded.is-outgoing {
  opacity: 0 !important;
  z-index: 1 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background: transparent;
  opacity: 0;
  transition: none;
  pointer-events: none;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport.is-weather-transitioning::after {
  opacity: 0;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video[data-video-layout="few-clouds-top"] {
  object-position: center top !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport #android-hero-fx,
body.wp-experience.wp-page-home .wp-life-hero > #video-viewport #motion-overlay {
  position: absolute !important;
  inset: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > *:not(.wp-life-sky-scene):not(#video-viewport):not(.wp-life-hero-media) {
  position: relative;
  z-index: 3;
}

body.wp-experience.wp-page-home .wp-life-sky-scene {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 0.88;
  pointer-events: none !important;
}

body.wp-experience.wp-page-home .wp-life-hero:has(.home-hero-video.loaded.is-active) .wp-life-sky-scene,
body.wp-experience.wp-page-home .wp-life-hero:has(.home-hero-video.loaded.is-incoming.is-crossfade-visible) .wp-life-sky-scene {
  visibility: hidden !important;
  opacity: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-hero > #video-viewport:not(.hero-video-fallback) ~ .wp-life-sky-scene {
  visibility: hidden !important;
  opacity: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-sky-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.28) 0.7px, transparent 0.8px);
  background-size: 9px 9px;
  opacity: 0.14;
  mix-blend-mode: soft-light;
}

body.wp-experience.wp-page-home .wp-life-sky-scene::after {
  content: "";
  position: absolute;
  inset: 34% -12% -30%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.18), transparent 67%) !important;
  transform: rotate(-7deg);
}

body.wp-experience.wp-page-home .wp-life-sky-sun {
  position: absolute !important;
  top: clamp(-100px, -7vw, -46px) !important;
  right: clamp(-56px, 4vw, 72px) !important;
  width: clamp(230px, 35vw, 460px) !important;
  height: clamp(230px, 35vw, 460px) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 255, 233, 0.74) 0 10%, rgba(255, 242, 169, 0.24) 36%, transparent 69%) !important;
  filter: blur(1px) !important;
  opacity: 0.78 !important;
  animation: ds-sun-breathe 9s ease-in-out infinite alternate;
}

body.wp-experience.wp-page-home .wp-life-sky-cloud {
  position: absolute !important;
  display: block !important;
  width: clamp(260px, 34vw, 460px) !important;
  height: clamp(84px, 11vw, 142px) !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.025)) !important;
  filter: blur(2px) !important;
}

body.wp-experience.wp-page-home .wp-life-sky-cloud.one {
  top: 26% !important;
  left: -150px !important;
  transform: rotate(-7deg);
  animation: ds-cloud-left 34s ease-in-out infinite alternate;
}

body.wp-experience.wp-page-home .wp-life-sky-cloud.two {
  top: 51% !important;
  right: -170px !important;
  opacity: 0.58 !important;
  transform: rotate(9deg);
  animation: ds-cloud-right 41s ease-in-out infinite alternate;
}

body.wp-experience.wp-page-home .wp-life-sky-rain {
  position: absolute !important;
  inset: 0 !important;
  background-image: linear-gradient(112deg, rgba(215, 244, 251, 0.42) 0 1px, transparent 1px 13px) !important;
  background-size: 22px 52px !important;
  opacity: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-home[data-weather="rain"] .wp-life-sky-rain,
body.wp-experience.wp-page-home .wp-life-home[data-weather="storm"] .wp-life-sky-rain,
body.wp-experience.wp-page-home .wp-life-home[data-weather="alert"] .wp-life-sky-rain {
  opacity: 0.31 !important;
  animation: ds-rain-drift 7s linear infinite;
}

@keyframes ds-sun-breathe {
  from { transform: scale(0.97); opacity: 0.7; }
  to { transform: scale(1.04); opacity: 0.86; }
}

@keyframes ds-cloud-left {
  from { translate: -2% 0; }
  to { translate: 14% 2%; }
}

@keyframes ds-cloud-right {
  from { translate: 3% 0; }
  to { translate: -13% -2%; }
}

@keyframes ds-rain-drift {
  to { background-position: 120px 220px; }
}

body.wp-experience.wp-page-home .wp-life-hero-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: clamp(18px, 4vw, 48px) !important;
}

body.wp-experience.wp-page-home .wp-life-title-stack {
  display: grid !important;
  gap: 9px !important;
  min-width: 0;
}

body.wp-experience.wp-page-home .wp-life-hero .wp-life-kicker {
  color: rgba(255, 255, 255, 0.74) !important;
}

body.wp-experience.wp-page-home .wp-life-hero h1 {
  max-width: 860px !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(2.8rem, 7.2vw, 6.8rem) !important;
  font-weight: 850 !important;
  line-height: 0.88 !important;
  letter-spacing: -0.068em !important;
  text-wrap: balance;
}

body.wp-experience.wp-page-home .wp-life-summary {
  max-width: 690px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: clamp(0.98rem, 1.7vw, 1.18rem) !important;
  font-weight: 620 !important;
  line-height: 1.45 !important;
}

body.wp-experience.wp-page-home .wp-life-hero-tools {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

body.wp-experience.wp-page-home .wp-life-personalize-open {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  border-radius: 999px !important;
  background: rgba(18, 18, 18, 0.32) !important;
  color: #ffffff !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-open .material-icons-round {
  font-size: 19px !important;
}

body.wp-experience.wp-page-home .wp-life-score-ring {
  flex: 0 0 auto !important;
  width: 94px !important;
  height: 94px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at center, rgba(18, 18, 18, 0.88) 0 55%, transparent 56%),
    conic-gradient(#ffffff var(--wp-life-score, 0deg), rgba(255, 255, 255, 0.17) 0) !important;
  box-shadow: 0 15px 38px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  text-align: center !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.wp-experience.wp-page-home .wp-life-score-ring strong,
body.wp-experience.wp-page-home .wp-life-score-ring span {
  display: block !important;
  color: #ffffff !important;
}

body.wp-experience.wp-page-home .wp-life-score-ring strong {
  font-size: 1.62rem !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
}

body.wp-experience.wp-page-home .wp-life-score-ring span {
  max-width: 62px !important;
  margin-top: 3px !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 0.56rem !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.055em !important;
}

body.wp-experience.wp-page-home .wp-life-now-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body.wp-experience.wp-page-home .wp-life-current-pill,
body.wp-experience.wp-page-home .wp-life-command {
  border: 1px solid rgba(255, 255, 255, 0.19) !important;
  background: rgba(18, 18, 18, 0.3) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(130%) !important;
}

body.wp-experience.wp-page-home .wp-life-current-pill {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 126px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: 1fr auto !important;
  align-items: center !important;
  gap: 8px 16px !important;
  padding: 14px 16px !important;
  border-radius: 20px !important;
}

body.wp-experience.wp-page-home .wp-life-current-pill img {
  grid-row: 1 / 3 !important;
  width: clamp(76px, 9vw, 110px) !important;
  height: clamp(76px, 9vw, 110px) !important;
  filter: drop-shadow(0 12px 20px rgba(2, 33, 47, 0.24));
}

body.wp-experience.wp-page-home .wp-life-current-reading {
  min-width: 0;
}

body.wp-experience.wp-page-home .wp-life-current-reading > small {
  display: block !important;
  margin-bottom: 3px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-current-reading > strong {
  display: block !important;
  color: #ffffff !important;
  font-size: clamp(3.7rem, 8vw, 6.2rem) !important;
  font-weight: 850 !important;
  line-height: 0.82 !important;
  letter-spacing: -0.035em !important;
  font-variant-numeric: tabular-nums;
}

body.wp-experience.wp-page-home .wp-life-current-reading > span {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 0.9rem !important;
  font-weight: 720 !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

body.wp-experience.wp-page-home .wp-life-current-meta {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  min-width: 0;
}

body.wp-experience.wp-page-home .wp-life-current-meta > span {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 0.69rem !important;
  font-weight: 720 !important;
  white-space: nowrap !important;
}

body.wp-experience.wp-page-home .wp-life-current-meta strong {
  color: #ffffff !important;
  font-size: 0.87rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-command {
  min-width: 0 !important;
  display: grid !important;
  align-content: center !important;
  gap: 5px !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: rgba(18, 18, 18, 0.36) !important;
}

body.wp-experience.wp-page-home .wp-life-command span {
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 0.66rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-command strong {
  color: #ffffff !important;
  font-size: clamp(1.22rem, 2.4vw, 1.72rem) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
}

body.wp-experience.wp-page-home .wp-life-command em {
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 0.82rem !important;
  font-style: normal !important;
  font-weight: 620 !important;
  line-height: 1.38 !important;
}

body.wp-experience.wp-page-home .wp-life-alert-row {
  width: 100% !important;
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255, 230, 232, 0.42) !important;
  border-radius: 17px !important;
  background: rgba(121, 16, 37, 0.45) !important;
  color: #ffffff !important;
  text-align: left !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.wp-experience.wp-page-home .wp-life-alert-row[hidden] {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-alert-row strong,
body.wp-experience.wp-page-home .wp-life-alert-row span,
body.wp-experience.wp-page-home .wp-life-alert-row .material-icons-round {
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   The Daystream is the one principal horizontal interaction.
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-daystream-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-top: 4px !important;
}

body.wp-experience.wp-page-home .wp-life-daystream-head > div {
  display: grid !important;
  gap: 3px !important;
}

body.wp-experience.wp-page-home .wp-life-daystream-head span {
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 0.64rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-daystream-head strong {
  color: #ffffff !important;
  font-size: clamp(1.1rem, 2.4vw, 1.48rem) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
}

body.wp-experience.wp-page-home #wp-life-daystream-now {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 999px !important;
  background: rgba(18, 18, 18, 0.3) !important;
  color: #ffffff !important;
  font-size: 0.7rem !important;
  font-weight: 850 !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

body.wp-experience.wp-page-home #wp-life-daystream-now .material-icons-round {
  font-size: 16px !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 1px 0 6px !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  overscroll-behavior-inline: contain;
}

body.wp-experience.wp-page-home .wp-life-nowcast::-webkit-scrollbar {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour {
  position: relative !important;
  flex: 0 0 clamp(106px, 17vw, 150px) !important;
  min-width: 0 !important;
  min-height: 112px !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto auto !important;
  justify-items: start !important;
  align-content: space-between !important;
  gap: 7px !important;
  padding: 13px 16px !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
  scroll-snap-align: start !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 7px;
  left: 16px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour.is-risk::after {
  background: #ffd07e;
  box-shadow: 0 0 16px rgba(255, 208, 126, 0.44);
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour.is-active,
body.wp-experience.wp-page-home .wp-life-nowcast-hour[aria-current="true"] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour.has-daystream-marker {
  min-height: 132px !important;
  padding-top: 38px !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour.has-best-window-marker {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03)) !important;
}

body.wp-experience.wp-page-home .wp-life-daystream-marker {
  position: absolute !important;
  top: 7px !important;
  right: 7px !important;
  left: 7px !important;
  z-index: 2 !important;
  min-width: 0 !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 0 6px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  border-radius: 999px !important;
  background: rgba(247, 246, 242, 0.94) !important;
  color: #171717 !important;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18) !important;
  font-size: 0.58rem !important;
  font-style: normal !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.wp-experience.wp-page-home .wp-life-daystream-marker .material-icons-round {
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 13px !important;
  color: #171717 !important;
  font-size: 13px !important;
  filter: none !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour img,
body.wp-experience.wp-page-home .wp-life-nowcast-hour > .material-icons-round {
  width: 34px !important;
  height: 34px !important;
  color: #ffffff !important;
  font-size: 31px !important;
  filter: drop-shadow(0 7px 12px rgba(1, 24, 36, 0.22));
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour span,
body.wp-experience.wp-page-home .wp-life-nowcast-hour em {
  color: rgba(255, 255, 255, 0.64) !important;
  font-size: 0.65rem !important;
  font-style: normal !important;
  font-weight: 720 !important;
}

body.wp-experience.wp-page-home .wp-life-nowcast-hour strong {
  color: #ffffff !important;
  font-size: 1.3rem !important;
  font-weight: 850 !important;
  font-variant-numeric: tabular-nums;
}

body.wp-experience.wp-page-home .wp-life-daystream-scrubber {
  display: block !important;
  width: 100% !important;
  margin: -1px 0 0 !important;
  padding: 0 2px !important;
}

body.wp-experience.wp-page-home #wp-life-daystream-range {
  width: 100% !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  accent-color: #ffffff;
  cursor: ew-resize;
}

body.wp-experience.wp-page-home #wp-life-daystream-range::-webkit-slider-runnable-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f5f5f5, #bcbcbc, #696969) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}

body.wp-experience.wp-page-home #wp-life-daystream-range::-webkit-slider-thumb {
  width: 22px !important;
  height: 22px !important;
  margin-top: -9px !important;
  border: 4px solid rgba(20, 20, 20, 0.76) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 5px 18px rgba(0, 24, 36, 0.34) !important;
  -webkit-appearance: none !important;
}

body.wp-experience.wp-page-home #wp-life-daystream-range::-moz-range-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f5f5f5, #bcbcbc, #696969) !important;
}

body.wp-experience.wp-page-home #wp-life-daystream-range::-moz-range-thumb {
  width: 16px !important;
  height: 16px !important;
  border: 4px solid rgba(20, 20, 20, 0.76) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 5px 18px rgba(0, 24, 36, 0.34) !important;
}

body.wp-experience.wp-page-home .wp-life-river {
  display: grid !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.17) !important;
  border-radius: 18px !important;
  background: rgba(18, 18, 18, 0.32) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.wp-experience.wp-page-home .wp-life-river-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body.wp-experience.wp-page-home .wp-life-river-head span {
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 0.65rem !important;
  font-weight: 820 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-river-head strong {
  color: #ffffff !important;
  font-size: 0.76rem !important;
  font-weight: 780 !important;
  text-align: right !important;
}

body.wp-experience.wp-page-home .wp-life-river-track {
  height: 72px !important;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: clamp(3px, 0.7vw, 7px) !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar {
  position: relative !important;
  min-width: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  align-items: end !important;
  gap: 6px !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar i {
  width: 100% !important;
  height: max(5px, var(--risk, 8%)) !important;
  min-height: 5px !important;
  border-radius: 999px 999px 4px 4px !important;
  background: linear-gradient(180deg, #f1f1f1, rgba(180, 180, 180, 0.34)) !important;
  box-shadow: 0 -4px 18px rgba(255, 255, 255, 0.1) !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar.is-rain i {
  background: linear-gradient(180deg, #7ed1ff, rgba(74, 150, 212, 0.35)) !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar.is-wind i {
  background: linear-gradient(180deg, #e6d48c, rgba(206, 177, 84, 0.34)) !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar.is-storm i {
  background: linear-gradient(180deg, #ff9c82, rgba(210, 77, 91, 0.42)) !important;
  box-shadow: 0 -4px 18px rgba(255, 119, 131, 0.25) !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar.is-snow i {
  background: linear-gradient(180deg, #ffffff, rgba(190, 229, 240, 0.42)) !important;
}

body.wp-experience.wp-page-home .wp-life-river-bar strong {
  overflow: hidden !important;
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.54rem !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview {
  min-height: 88px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 15px 17px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 9px 22px 22px 22px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.11), transparent 60%),
    rgba(18, 18, 18, 0.3) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview > .material-icons-round {
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.13) !important;
  color: #ffffff !important;
  font-size: 23px !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview > div {
  min-width: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview small,
body.wp-experience.wp-page-home .wp-life-moment-preview strong,
body.wp-experience.wp-page-home .wp-life-moment-preview em {
  display: block !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview small {
  color: rgba(255, 255, 255, 0.61) !important;
  font-size: 0.64rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview strong {
  margin-top: 3px !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1.16 !important;
}

body.wp-experience.wp-page-home .wp-life-moment-preview em {
  margin-top: 4px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.75rem !important;
  font-style: normal !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

body.wp-experience.wp-page-home .wp-life-priority-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-block: 1px solid rgba(255, 255, 255, 0.18) !important;
}

body.wp-experience.wp-page-home .wp-life-priority {
  position: relative !important;
  min-width: 0 !important;
  min-height: 102px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-content: center !important;
  gap: 3px 9px !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.17) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.wp-experience.wp-page-home .wp-life-priority:last-child {
  border-right: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-priority > .material-icons-round {
  grid-row: 1 / 4 !important;
  align-self: center !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 22px !important;
}

body.wp-experience.wp-page-home .wp-life-priority small,
body.wp-experience.wp-page-home .wp-life-priority em {
  color: rgba(255, 255, 255, 0.61) !important;
  font-size: 0.61rem !important;
  font-style: normal !important;
  font-weight: 740 !important;
}

body.wp-experience.wp-page-home .wp-life-priority strong {
  overflow: hidden !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 850 !important;
  line-height: 1.12 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* --------------------------------------------------------------------------
   Day journey: vertical, chronological, and calendar aware
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-schedule {
  padding-bottom: clamp(50px, 8vw, 90px) !important;
}

body.wp-experience.wp-page-home .wp-life-focus {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  overflow: visible !important;
  max-width: 520px !important;
}

body.wp-experience.wp-page-home .wp-life-focus-btn,
body.wp-experience.wp-page-home .wp-life-activity-tab {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 13px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
  font-size: 0.76rem !important;
  font-weight: 820 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.wp-experience.wp-page-home .wp-life-focus-btn .material-icons-round,
body.wp-experience.wp-page-home .wp-life-activity-tab .material-icons-round {
  font-size: 17px !important;
}

body.wp-experience.wp-page-home .wp-life-focus-btn.is-active,
body.wp-experience.wp-page-home .wp-life-activity-tab.is-active,
body.wp-experience.wp-page-home .wp-life-focus-btn[aria-pressed="true"],
body.wp-experience.wp-page-home .wp-life-activity-tab[aria-pressed="true"] {
  border-color: #202020 !important;
  background: #202020 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-focus-btn.is-active,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-activity-tab.is-active,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-focus-btn.is-active,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-activity-tab.is-active {
  border-color: #f1f1f1 !important;
  background: #f1f1f1 !important;
  color: #111111 !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-strip,
body.wp-experience.wp-page-home .wp-life-calendar-cta {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 0 18px !important;
  padding: 15px 16px !important;
  border: 1px solid color-mix(in srgb, var(--ds-accent) 28%, transparent) !important;
  border-radius: 18px 6px 18px 18px !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--ds-accent) 11%, transparent), transparent 60%),
    var(--ds-paper) !important;
  box-shadow: var(--ds-shadow-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-calendar-cta[hidden],
body.wp-experience.wp-page-home .wp-life-personalize-strip[hidden] {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-strip > .material-icons-round,
body.wp-experience.wp-page-home .wp-life-calendar-cta > .material-icons-round {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  font-size: 22px !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-strip > div,
body.wp-experience.wp-page-home .wp-life-calendar-cta > div {
  min-width: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-strip strong,
body.wp-experience.wp-page-home .wp-life-calendar-cta strong {
  display: block !important;
  color: var(--ds-ink) !important;
  font-size: 0.94rem !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-strip span:not(.material-icons-round),
body.wp-experience.wp-page-home .wp-life-calendar-cta span:not(.material-icons-round) {
  display: block !important;
  margin-top: 3px !important;
  color: var(--ds-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

body.wp-experience.wp-page-home .wp-life-personalize-strip button,
body.wp-experience.wp-page-home .wp-life-calendar-cta button {
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalize-strip > .material-icons-round,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-calendar-cta > .material-icons-round,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalize-strip button,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-calendar-cta button,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalize-strip > .material-icons-round,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-calendar-cta > .material-icons-round,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalize-strip button,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-calendar-cta button {
  color: #111111 !important;
}

body.wp-experience.wp-page-home .wp-life-timeline {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  overflow: visible !important;
  padding: 4px 0 0 !important;
  scroll-snap-type: none !important;
}

body.wp-experience.wp-page-home .wp-life-timeline::before {
  content: "";
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 23px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ds-accent), color-mix(in srgb, var(--ds-accent) 22%, var(--ds-line)), var(--ds-line));
}

body.wp-experience.wp-page-home .wp-life-timeline-item {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 15px !important;
  padding: 0 0 29px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  scroll-snap-align: none !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-item:last-child {
  padding-bottom: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-icon {
  position: relative !important;
  z-index: 2 !important;
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  border: 5px solid var(--ds-page) !important;
  border-radius: 50% !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--ds-accent) 22%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-icon .material-icons-round {
  font-size: 19px !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-item.is-alert .wp-life-timeline-icon,
body.wp-experience.wp-page-home .wp-life-timeline-item.is-weather .wp-life-timeline-icon {
  background: var(--ds-alert) !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-item.is-outdoor .wp-life-timeline-icon,
body.wp-experience.wp-page-home .wp-life-timeline-item.is-good .wp-life-timeline-icon {
  background: var(--ds-good) !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-item.is-calendar .wp-life-timeline-icon {
  background: #665ac7 !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-copy {
  min-width: 0 !important;
  padding: 1px 0 25px !important;
  border-bottom: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-item:last-child .wp-life-timeline-copy {
  border-bottom: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-copy span {
  display: block !important;
  color: var(--ds-accent) !important;
  font-size: 0.66rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-copy strong {
  display: block !important;
  margin-top: 5px !important;
  color: var(--ds-ink) !important;
  font-size: clamp(1.05rem, 2.4vw, 1.36rem) !important;
  font-weight: 850 !important;
  line-height: 1.12 !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-copy em {
  display: block !important;
  margin-top: 7px !important;
  overflow: visible !important;
  color: var(--ds-muted) !important;
  font-size: 0.8rem !important;
  font-style: normal !important;
  font-weight: 620 !important;
  line-height: 1.42 !important;
  -webkit-line-clamp: initial !important;
}

/* Loading fallback uses direct children rather than .wp-life-timeline-copy. */
body.wp-experience.wp-page-home .wp-life-timeline-item.is-loading > span:first-child {
  position: relative !important;
  z-index: 2 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 14px !important;
  border: 3px solid color-mix(in srgb, var(--ds-accent) 24%, transparent) !important;
  border-top-color: var(--ds-accent) !important;
  border-radius: 50% !important;
  animation: ds-spin 0.9s linear infinite;
}

body.wp-experience.wp-page-home .wp-life-timeline-item.is-loading > strong,
body.wp-experience.wp-page-home .wp-life-timeline-item.is-loading > em {
  grid-column: 2 !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-timeline-item.is-loading > em {
  margin-top: -11px !important;
  color: var(--ds-muted) !important;
  font-style: normal !important;
}

@keyframes ds-spin {
  to { transform: rotate(360deg); }
}

/* --------------------------------------------------------------------------
   Weather actions are editorial callouts, not four equal cards.
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-actions-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-block: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-life-action {
  min-width: 0 !important;
  min-height: 126px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-content: center !important;
  align-items: start !important;
  gap: 13px !important;
  padding: 22px 20px !important;
  border: 0 !important;
  border-right: 1px solid var(--ds-line) !important;
  border-bottom: 1px solid var(--ds-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.wp-experience.wp-page-home .wp-life-action:nth-child(even) {
  border-right: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-action:nth-last-child(-n + 2) {
  border-bottom: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-action > .material-icons-round {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ds-accent) 12%, transparent) !important;
  color: var(--ds-accent) !important;
  font-size: 21px !important;
}

body.wp-experience.wp-page-home .wp-life-action.is-watch > .material-icons-round {
  background: color-mix(in srgb, var(--ds-watch) 13%, transparent) !important;
  color: var(--ds-watch) !important;
}

body.wp-experience.wp-page-home .wp-life-action.is-alert > .material-icons-round {
  background: color-mix(in srgb, var(--ds-alert) 13%, transparent) !important;
  color: var(--ds-alert) !important;
}

body.wp-experience.wp-page-home .wp-life-action small {
  color: var(--ds-muted) !important;
  font-size: 0.65rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-action strong {
  display: block !important;
  margin-top: 6px !important;
  overflow: visible !important;
  color: var(--ds-ink) !important;
  font-size: 0.91rem !important;
  font-weight: 760 !important;
  line-height: 1.34 !important;
  -webkit-line-clamp: initial !important;
}

/* --------------------------------------------------------------------------
   Activity opportunity window
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-activity {
  margin: clamp(18px, 3vw, 34px) clamp(14px, 3.6vw, 44px) !important;
  padding: clamp(30px, 5vw, 58px) !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-line-strong) !important;
  border-radius: 24px !important;
  background: var(--ds-paper-solid) !important;
  box-shadow: var(--ds-shadow) !important;
}

body.wp-experience.wp-page-home .wp-life-activity::before {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-section-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.wp-experience.wp-page-home .wp-life-score-pill {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 13px !important;
  border: 1px solid color-mix(in srgb, var(--ds-good) 24%, transparent) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--ds-good) 10%, transparent) !important;
  color: var(--ds-good) !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body.wp-experience.wp-page-home .wp-life-score-pill[data-level="fair"] {
  border-color: color-mix(in srgb, var(--ds-watch) 26%, transparent) !important;
  background: color-mix(in srgb, var(--ds-watch) 10%, transparent) !important;
  color: var(--ds-watch) !important;
}

body.wp-experience.wp-page-home .wp-life-score-pill[data-level="poor"] {
  border-color: color-mix(in srgb, var(--ds-alert) 26%, transparent) !important;
  background: color-mix(in srgb, var(--ds-alert) 10%, transparent) !important;
  color: var(--ds-alert) !important;
}

body.wp-experience.wp-page-home .wp-life-icon-btn {
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 46px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 9px 24px color-mix(in srgb, var(--ds-accent) 24%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-icon-btn.subtle {
  width: 42px !important;
  height: 42px !important;
  flex-basis: 42px !important;
  border: 1px solid var(--ds-line) !important;
  background: transparent !important;
  color: var(--ds-accent) !important;
  box-shadow: none !important;
}

body.wp-experience.wp-page-home .wp-life-activity-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  overflow: visible !important;
  scrollbar-width: auto !important;
}

body.wp-experience.wp-page-home .wp-life-activity-summary {
  max-width: 880px !important;
  margin: clamp(22px, 4vw, 38px) 0 20px !important;
  color: var(--ds-ink) !important;
  font-size: clamp(1.26rem, 3.4vw, 2.38rem) !important;
  font-weight: 800 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.034em !important;
  text-wrap: balance;
}

body.wp-experience.wp-page-home .wp-life-activity-hours {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  border-top: 1px solid var(--ds-line) !important;
  scrollbar-width: auto !important;
  scroll-snap-type: none !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hour {
  position: relative !important;
  min-width: 0 !important;
  min-height: 126px !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  justify-items: start !important;
  align-content: space-between !important;
  gap: 8px !important;
  padding: 16px 12px 14px !important;
  border: 0 !important;
  border-right: 1px solid var(--ds-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left !important;
  scroll-snap-align: none !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hour:last-child {
  border-right: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hour::before {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 5px;
  left: 12px;
  height: 4px;
  border-radius: 999px;
  background: var(--ds-good);
  opacity: 0.86;
}

body.wp-experience.wp-page-home .wp-life-activity-hour.is-fair::before {
  background: var(--ds-watch);
}

body.wp-experience.wp-page-home .wp-life-activity-hour.is-poor::before {
  background: var(--ds-alert);
}

body.wp-experience.wp-page-home .wp-life-activity-hour.is-now {
  background: color-mix(in srgb, var(--ds-accent) 7%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hour span,
body.wp-experience.wp-page-home .wp-life-activity-hour em {
  color: var(--ds-muted) !important;
  font-size: 0.65rem !important;
  font-style: normal !important;
  font-weight: 760 !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hour strong {
  align-self: end !important;
  color: var(--ds-ink) !important;
  font-size: clamp(1.12rem, 2.5vw, 1.48rem) !important;
  font-weight: 850 !important;
  font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Hour-by-hour reference grid
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-hourly-strip {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  border-block: 1px solid var(--ds-line) !important;
  scrollbar-width: auto !important;
  scroll-snap-type: none !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip {
  min-width: 0 !important;
  min-height: 112px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: repeat(2, auto) !important;
  justify-items: start !important;
  align-content: center !important;
  gap: 5px 10px !important;
  padding: 15px 14px !important;
  border: 0 !important;
  border-right: 1px solid var(--ds-line) !important;
  border-bottom: 1px solid var(--ds-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left !important;
  scroll-snap-align: none !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip:nth-child(5n) {
  border-right: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip:nth-last-child(-n + 5) {
  border-bottom: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip.is-now {
  background: color-mix(in srgb, var(--ds-accent) 8%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip img,
body.wp-experience.wp-page-home .wp-life-hour-chip > .material-icons-round {
  grid-row: 1 / 3 !important;
  align-self: center !important;
  width: 38px !important;
  height: 38px !important;
  color: var(--ds-accent) !important;
  font-size: 34px !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip span,
body.wp-experience.wp-page-home .wp-life-hour-chip em {
  color: var(--ds-muted) !important;
  font-size: 0.65rem !important;
  font-style: normal !important;
  font-weight: 740 !important;
}

body.wp-experience.wp-page-home .wp-life-hour-chip strong {
  color: var(--ds-ink) !important;
  font-size: 1.12rem !important;
  font-weight: 850 !important;
  font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Radar is a full-width environmental scene.
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-radar {
  isolation: isolate !important;
  position: relative !important;
  display: grid !important;
  grid-template-areas: "radar-scene" !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #06161c !important;
  color: #ffffff !important;
  box-shadow: 0 28px 78px rgba(2, 19, 25, 0.28) !important;
}

body.wp-experience.wp-page-home .wp-life-radar::before {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-radar::after {
  content: "";
  grid-area: radar-scene;
  z-index: 2;
  align-self: stretch;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.2) 34%, rgba(0, 0, 0, 0.08) 60%, rgba(0, 0, 0, 0.84) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.34), transparent 52%);
  pointer-events: none;
}

body.wp-experience.wp-page-home .wp-life-radar-head,
body.wp-experience.wp-page-home .wp-life-radar-shell,
body.wp-experience.wp-page-home .wp-life-radar-footer {
  grid-area: radar-scene !important;
}

body.wp-experience.wp-page-home .wp-life-radar-head {
  z-index: 4 !important;
  align-self: start !important;
  align-items: center !important;
  margin: 0 !important;
  padding: clamp(26px, 5vw, 56px) !important;
  pointer-events: none !important;
}

body.wp-experience.wp-page-home .wp-life-radar-head button,
body.wp-experience.wp-page-home .wp-life-radar-head a {
  pointer-events: auto !important;
}

body.wp-experience.wp-page-home .wp-life-radar-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

body.wp-experience.wp-page-home .wp-life-radar .wp-life-section-mini,
body.wp-experience.wp-page-home .wp-life-radar h2,
body.wp-experience.wp-page-home .wp-life-radar h2 span {
  color: #ffffff !important;
}

body.wp-experience.wp-page-home .wp-life-radar h2 {
  max-width: 760px !important;
  font-size: clamp(1.75rem, 4.7vw, 4.1rem) !important;
  line-height: 0.96 !important;
}

body.wp-experience.wp-page-home .wp-life-radar p {
  max-width: 650px !important;
  margin: 9px 0 0 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: clamp(0.8rem, 1.5vw, 0.96rem) !important;
  font-weight: 620 !important;
  line-height: 1.4 !important;
}

body.wp-experience.wp-page-home .wp-life-live-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #8ce5b8 !important;
  font-size: 0.66rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-live-badge i {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #65dda0 !important;
  box-shadow: 0 0 0 5px rgba(101, 221, 160, 0.13) !important;
  animation: ds-live-pulse 2.2s ease-out infinite;
}

@keyframes ds-live-pulse {
  0%, 45% { box-shadow: 0 0 0 4px rgba(101, 221, 160, 0.14); }
  80%, 100% { box-shadow: 0 0 0 11px rgba(101, 221, 160, 0); }
}

body.wp-experience.wp-page-home .wp-life-radar-shell,
body.wp-experience.wp-page-home .home-radar-shell {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: clamp(380px, 56vw, 500px) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0a2029 !important;
  cursor: pointer !important;
}

body.wp-experience.wp-page-home .home-radar-map,
body.wp-experience.wp-page-home .home-radar-map.mapboxgl-map {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}

body.wp-experience.wp-page-home .home-radar-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
  background: rgba(8, 8, 8, 0.7) !important;
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 0.82rem !important;
  font-weight: 820 !important;
  text-align: center !important;
  pointer-events: none !important;
}

body.wp-experience.wp-page-home .home-radar-overlay.hidden {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-radar-footer {
  z-index: 4 !important;
  align-self: end !important;
  min-height: 72px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 14px clamp(22px, 5vw, 56px) !important;
  pointer-events: none !important;
}

body.wp-experience.wp-page-home .wp-life-radar-footer > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 0.72rem !important;
  font-weight: 720 !important;
}

body.wp-experience.wp-page-home .wp-life-radar-footer > span .material-icons-round {
  font-size: 16px !important;
}

body.wp-experience.wp-page-home .wp-life-radar-footer button {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(12, 12, 12, 0.62) !important;
  color: #ffffff !important;
  font-size: 0.76rem !important;
  font-weight: 850 !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  pointer-events: auto !important;
}

body.wp-experience.wp-page-home .wp-life-radar-footer button .material-icons-round {
  font-size: 17px !important;
}

body.wp-experience.wp-page-home .wp-life-radar-shell:focus-visible,
body.wp-experience.wp-page-home .wp-life-radar-footer button:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: -3px !important;
}

/* --------------------------------------------------------------------------
   Week horizon and deep conditions
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-outlook .daily-list {
  display: grid !important;
  gap: 0 !important;
  border-top: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .day-row {
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 62px 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 5px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ds-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .day-row:nth-child(odd) {
  background: transparent !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .day-row.bad-weather {
  padding-inline: 10px !important;
  border-left: 3px solid var(--ds-watch) !important;
  background: color-mix(in srgb, var(--ds-watch) 7%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .day-name,
body.wp-experience.wp-page-home .wp-life-outlook .range-temp-text {
  color: var(--ds-ink) !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .day-icon {
  width: 38px !important;
  height: 38px !important;
}

html[data-theme="day"] body.wp-experience.wp-page-home .wp-life-outlook .day-icon,
body.wp-experience.wp-page-home[data-theme="day"] .wp-life-outlook .day-icon {
  filter: drop-shadow(1px 0 0 rgba(0, 0, 0, 0.24)) drop-shadow(-1px 0 0 rgba(0, 0, 0, 0.24)) drop-shadow(0 1px 0 rgba(0, 0, 0, 0.24)) drop-shadow(0 -1px 0 rgba(0, 0, 0, 0.24)) !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .range-track {
  background: var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-life-outlook .range-bar {
  background: linear-gradient(90deg, #383838, #a8a8a8) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-outlook .range-bar,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-outlook .range-bar {
  background: linear-gradient(90deg, #8a8a8a, #f0f0f0) !important;
}

body.wp-experience.wp-page-home .wp-life-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-block: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-life-detail {
  min-width: 0 !important;
  min-height: 112px !important;
  display: grid !important;
  align-content: space-between !important;
  gap: 7px !important;
  padding: 17px 15px !important;
  border: 0 !important;
  border-right: 1px solid var(--ds-line) !important;
  border-bottom: 1px solid var(--ds-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.wp-experience.wp-page-home .wp-life-detail:nth-child(4n) {
  border-right: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-detail:nth-last-child(-n + 4) {
  border-bottom: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-detail > .material-icons-round {
  color: var(--ds-accent) !important;
  font-size: 22px !important;
}

body.wp-experience.wp-page-home .wp-life-detail small {
  color: var(--ds-muted) !important;
  font-size: 0.64rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-detail strong {
  overflow: hidden !important;
  color: var(--ds-ink) !important;
  font-size: 1.14rem !important;
  font-weight: 850 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Clearly bounded community partner intermission
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-sponsor {
  margin: clamp(26px, 5vw, 62px) clamp(14px, 3.6vw, 44px) !important;
  padding: clamp(24px, 4.6vw, 52px) !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-line-strong) !important;
  border-radius: 24px !important;
  background: var(--ds-paper-solid) !important;
  box-shadow: var(--ds-shadow) !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor::before {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-head {
  display: flex !important;
  margin: 0 0 18px !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-count {
  flex: 0 0 auto !important;
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 12px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
  font-size: 0.71rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-link {
  display: block !important;
  text-decoration: none !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-frame {
  position: relative !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 22px !important;
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-image-stage {
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-image-stage::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: 0;
  background-image: var(--sponsor-backdrop-image) !important;
  background-position: center !important;
  background-size: cover !important;
  filter: blur(24px) saturate(0.78) !important;
  opacity: 0.2 !important;
  transform: scale(1.09);
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-image-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(255, 255, 255, 0.55);
  pointer-events: none;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-image-stage::after,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-sponsor .sponsor-spot-image-stage::after {
  background: rgba(4, 15, 18, 0.57);
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 11px !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-progress {
  position: absolute !important;
  inset: auto 14px 12px !important;
  z-index: 4 !important;
  height: 3px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(15, 35, 46, 0.14) !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-progress-fill {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform-origin: left center !important;
  background: var(--ds-accent) !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-actions {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  align-items: center !important;
  gap: 9px !important;
  margin-top: 13px !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-nav-btn,
body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-cta {
  min-height: 46px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 15px !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-nav-btn {
  width: 46px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 14px !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-cta .material-icons-round {
  font-size: 17px !important;
}

body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-note {
  display: block !important;
  margin: 12px 0 0 !important;
  color: var(--ds-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 620 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

/* --------------------------------------------------------------------------
   Fixed, accessible lifestyle personalizer
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home:has(.wp-life-personalizer:not([hidden])),
body.wp-experience.wp-page-home.wp-life-personalizer-open {
  overflow: hidden !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 4200 !important;
  display: grid !important;
  align-items: end !important;
  justify-items: center !important;
  padding: 12px 12px max(12px, env(safe-area-inset-bottom, 0px)) !important;
  overflow: hidden !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer[hidden],
body.wp-experience.wp-page-home .wp-life-personalizer[aria-hidden="true"] {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-scrim {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(1, 13, 16, 0.66) !important;
  backdrop-filter: blur(8px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(115%) !important;
  animation: ds-scrim-in 0.24s ease-out both;
}

body.wp-experience.wp-page-home .wp-life-personalizer-panel {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 840px) !important;
  max-height: min(88dvh, 860px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: 0 clamp(20px, 4.5vw, 42px) max(18px, env(safe-area-inset-bottom, 0px)) !important;
  border: 1px solid var(--ds-line-strong) !important;
  border-radius: 32px 12px 32px 32px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  box-shadow: 0 32px 100px rgba(0, 16, 20, 0.42) !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--ds-line-strong) transparent !important;
  animation: ds-sheet-in 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.wp-experience.wp-page-home .wp-life-personalizer-panel::-webkit-scrollbar {
  width: 8px !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-panel::-webkit-scrollbar-thumb {
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background: var(--ds-line-strong) !important;
  background-clip: padding-box !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 calc(clamp(20px, 4.5vw, 42px) * -1) 4px !important;
  padding: clamp(24px, 4vw, 36px) clamp(20px, 4.5vw, 42px) 20px !important;
  border-bottom: 1px solid var(--ds-line) !important;
  background: color-mix(in srgb, var(--ds-paper-solid) 92%, transparent) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-head > div {
  min-width: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-head > div > span {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--ds-accent) !important;
  font-size: 0.66rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-head h2 {
  margin: 0 !important;
  color: var(--ds-ink) !important;
  font-size: clamp(1.55rem, 4.8vw, 2.65rem) !important;
  font-weight: 850 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

body.wp-experience.wp-page-home .wp-life-personalizer-head p {
  max-width: 620px !important;
  margin: 9px 0 0 !important;
  color: var(--ds-muted) !important;
  font-size: 0.79rem !important;
  font-weight: 620 !important;
  line-height: 1.4 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-close {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 44px !important;
  padding: 0 !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 50% !important;
  background: var(--ds-faint) !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-close .material-icons-round {
  font-size: 22px !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-group {
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-label {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 13px !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-label span {
  color: var(--ds-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-label em {
  color: var(--ds-muted) !important;
  font-size: 0.69rem !important;
  font-style: normal !important;
  font-weight: 620 !important;
  text-align: right !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
  gap: 8px !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-grid button {
  min-width: 0 !important;
  min-height: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 15px !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
  font-size: 0.75rem !important;
  font-weight: 760 !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-grid button .material-icons-round {
  flex: 0 0 auto !important;
  color: var(--ds-accent) !important;
  font-size: 19px !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-grid button.is-active,
body.wp-experience.wp-page-home .wp-life-personalizer-grid button[aria-pressed="true"] {
  border-color: #202020 !important;
  background: #202020 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-grid button.is-active .material-icons-round,
body.wp-experience.wp-page-home .wp-life-personalizer-grid button[aria-pressed="true"] .material-icons-round {
  color: #ffffff !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalizer-grid button.is-active,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalizer-grid button[aria-pressed="true"],
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalizer-grid button.is-active,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalizer-grid button[aria-pressed="true"] {
  border-color: #f1f1f1 !important;
  background: #f1f1f1 !important;
  color: #111111 !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalizer-grid button.is-active .material-icons-round,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalizer-grid button[aria-pressed="true"] .material-icons-round,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalizer-grid button.is-active .material-icons-round,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalizer-grid button[aria-pressed="true"] .material-icons-round {
  color: #111111 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 24px 0 !important;
  padding: 15px 16px !important;
  border: 1px solid color-mix(in srgb, var(--ds-good) 24%, transparent) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--ds-good) 7%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities > .material-icons-round {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: var(--ds-good) !important;
  color: #ffffff !important;
  font-size: 21px !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities > div {
  min-width: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities strong,
body.wp-experience.wp-page-home .wp-life-personalizer-activities span {
  display: block !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities strong {
  color: var(--ds-ink) !important;
  font-size: 0.9rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities span:not(.material-icons-round) {
  margin-top: 3px !important;
  color: var(--ds-muted) !important;
  font-size: 0.71rem !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-activities button {
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 999px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-accent) !important;
  font-size: 0.75rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-actions {
  position: sticky !important;
  bottom: calc(env(safe-area-inset-bottom, 0px) * -1) !important;
  z-index: 4 !important;
  display: grid !important;
  grid-template-columns: minmax(110px, 0.42fr) minmax(180px, 1fr) !important;
  gap: 9px !important;
  margin: 0 calc(clamp(20px, 4.5vw, 42px) * -1) calc(max(18px, env(safe-area-inset-bottom, 0px)) * -1) !important;
  padding: 15px clamp(20px, 4.5vw, 42px) calc(15px + max(0px, env(safe-area-inset-bottom, 0px))) !important;
  border-top: 1px solid var(--ds-line) !important;
  background: color-mix(in srgb, var(--ds-paper-solid) 94%, transparent) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-actions button {
  min-height: 48px !important;
  padding: 0 16px !important;
  border-radius: 15px !important;
  font-size: 0.8rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-actions .secondary {
  border: 1px solid var(--ds-line) !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-personalizer-actions .primary {
  border: 1px solid var(--ds-accent) !important;
  background: var(--ds-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--ds-accent) 24%, transparent) !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-personalizer-actions .primary,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-personalizer-actions .primary {
  color: #111111 !important;
}

@keyframes ds-scrim-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes ds-sheet-in {
  from { opacity: 0; transform: translateY(36px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* --------------------------------------------------------------------------
   Responsive editorial composition
   -------------------------------------------------------------------------- */

@media (min-width: 760px) {
  body.wp-experience.wp-page-home .wp-life-home {
    width: min(calc(100% - 32px), 1240px) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero,
  body.wp-experience.wp-page-home .wp-life-radar {
    border-radius: 42px !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor {
    display: grid !important;
    grid-template-columns: minmax(240px, 0.78fr) minmax(360px, 1.42fr) !important;
    grid-template-areas:
      "sponsor-head sponsor-media"
      "sponsor-actions sponsor-media"
      "sponsor-note sponsor-media" !important;
    column-gap: clamp(26px, 4vw, 52px) !important;
    align-items: start !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-head {
    grid-area: sponsor-head !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-link {
    grid-area: sponsor-media !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-actions {
    grid-area: sponsor-actions !important;
    align-self: end !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-note {
    grid-area: sponsor-note !important;
    text-align: left !important;
  }
}

@media (min-width: 1080px) {
  body.wp-experience.wp-page-home .wp-life-home {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: start !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero,
  body.wp-experience.wp-page-home .wp-life-activity,
  body.wp-experience.wp-page-home .wp-life-hourly,
  body.wp-experience.wp-page-home .wp-life-radar,
  body.wp-experience.wp-page-home .wp-life-sponsor {
    grid-column: 1 / -1 !important;
  }

  body.wp-experience.wp-page-home .wp-life-schedule {
    grid-column: 1 / 8 !important;
    padding-right: clamp(34px, 5vw, 68px) !important;
  }

  body.wp-experience.wp-page-home .wp-life-actions {
    grid-column: 8 / -1 !important;
    align-self: stretch !important;
    padding-left: clamp(34px, 5vw, 68px) !important;
  }

  body.wp-experience.wp-page-home .wp-life-actions::after {
    content: "";
    position: absolute;
    top: clamp(42px, 7vw, 78px);
    bottom: clamp(42px, 7vw, 78px);
    left: 0;
    width: 1px;
    background: var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-outlook {
    grid-column: 1 / 8 !important;
  }

  body.wp-experience.wp-page-home .wp-life-details {
    grid-column: 8 / -1 !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail:nth-child(2n) {
    border-right: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 759px) {
  body.wp-experience.wp-page-home .sticky-location-bar {
    width: calc(100% - 16px) !important;
    margin-block: max(6px, env(safe-area-inset-top, 0px)) 8px !important;
    border-radius: 18px !important;
  }

  body.wp-experience.wp-page-home .content-backdrop > div:first-child,
  body.wp-experience.wp-page-home #weather-error-state {
    width: calc(100% - 16px) !important;
  }

  body.wp-experience.wp-page-home .wp-life-home {
    width: 100% !important;
    max-width: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero {
    min-height: 0 !important;
    gap: 12px !important;
    padding: 20px 18px 24px !important;
    border-radius: 0 0 24px 24px !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero h1 {
    font-size: clamp(2.25rem, 10.5vw, 3.2rem) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.052em !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero-top {
    display: block !important;
    width: 100% !important;
    gap: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero-tools {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalize-open {
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalize-open > span:last-child {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-score-ring {
    width: 76px !important;
    height: 76px !important;
  }

  body.wp-experience.wp-page-home .wp-life-score-ring strong {
    font-size: 1.3rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-score-ring span {
    max-width: 50px !important;
    font-size: 0.49rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-now-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-pill,
  body.wp-experience.wp-page-home .wp-life-command {
    border-radius: 18px !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-pill {
    min-height: 112px !important;
    padding: 12px 14px !important;
  }

  body.wp-experience.wp-page-home .wp-life-command {
    gap: 4px !important;
    padding: 13px 15px !important;
  }

  body.wp-experience.wp-page-home .wp-life-command strong {
    font-size: 1.05rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-command em {
    font-size: 0.75rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-priority {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
    padding: 12px 9px !important;
  }

  body.wp-experience.wp-page-home .wp-life-priority > .material-icons-round {
    grid-row: auto !important;
    font-size: 19px !important;
  }

  body.wp-experience.wp-page-home .wp-life-priority em {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-priority strong {
    font-size: 0.82rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-section {
    padding: 32px 18px !important;
  }

  body.wp-experience.wp-page-home .wp-life-section:not(.wp-life-radar):not(.wp-life-sponsor)::before {
    right: 20px !important;
    left: 20px !important;
  }

  body.wp-experience.wp-page-home .wp-life-section-head {
    display: grid !important;
    margin-bottom: 18px !important;
  }

  body.wp-experience.wp-page-home .wp-life-section-head > div > span:first-child {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-focus {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-focus-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 7px !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalize-strip,
  body.wp-experience.wp-page-home .wp-life-calendar-cta {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalize-strip button,
  body.wp-experience.wp-page-home .wp-life-calendar-cta button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body.wp-experience.wp-page-home .wp-life-actions-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.wp-experience.wp-page-home .wp-life-action {
    min-height: 0 !important;
    padding: 18px 4px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-action:last-child {
    border-bottom: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity {
    margin: 14px 10px !important;
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-hours {
    grid-template-columns: repeat(auto-fit, minmax(76px, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-hour {
    min-height: 108px !important;
  }

  body.wp-experience.wp-page-home .wp-life-hourly-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-child(5n) {
    border-right: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-child(2n) {
    border-right: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-last-child(-n + 5) {
    border-bottom: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-radar {
    border-radius: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-radar-head {
    align-items: flex-start !important;
    padding: 24px 20px !important;
  }

  body.wp-experience.wp-page-home .wp-life-radar h2 {
    font-size: clamp(1.7rem, 8vw, 2.7rem) !important;
  }

  body.wp-experience.wp-page-home .wp-life-radar-shell,
  body.wp-experience.wp-page-home .home-radar-shell {
    height: clamp(380px, 56svh, 500px) !important;
  }

  body.wp-experience.wp-page-home .wp-life-radar-footer {
    align-items: stretch !important;
    flex-direction: column !important;
    padding: 16px 20px 20px !important;
  }

  body.wp-experience.wp-page-home .wp-life-radar-footer button {
    width: 100% !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail:nth-child(4n) {
    border-right: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail:nth-child(2n) {
    border-right: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail:nth-last-child(-n + 4) {
    border-bottom: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-detail:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor {
    margin: 24px 10px !important;
    padding: 20px 16px !important;
    border-radius: 22px !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-note {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer {
    padding: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-panel {
    width: 100% !important;
    max-height: min(92dvh, 900px) !important;
    border-width: 1px 0 0 !important;
    border-radius: 24px 24px 0 0 !important;
  }
}

@media (min-width: 600px) and (max-width: 759px) {
  body.wp-experience.wp-page-home .wp-life-hourly-strip {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-child(2n) {
    border-right: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-child(5n) {
    border-right: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--ds-line) !important;
  }

  body.wp-experience.wp-page-home .wp-life-hour-chip:nth-last-child(-n + 5) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 470px) {
  body.wp-experience.wp-page-home .wp-life-hero {
    padding-inline: 16px !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero h1 {
    font-size: clamp(2.15rem, 10vw, 2.9rem) !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-pill {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    padding: 12px !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-pill img {
    width: 60px !important;
    height: 60px !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-reading > strong {
    font-size: 3rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-meta {
    grid-column: 1 / -1 !important;
    justify-content: space-between !important;
    padding-top: 9px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  }

  body.wp-experience.wp-page-home .wp-life-current-meta > span {
    font-size: 0.62rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-river {
    padding-inline: 10px !important;
  }

  body.wp-experience.wp-page-home .wp-life-river-track {
    gap: 2px !important;
  }

  body.wp-experience.wp-page-home .wp-life-river-bar strong {
    font-size: 0.46rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-moment-preview {
    padding-inline: 13px !important;
  }

  body.wp-experience.wp-page-home .wp-life-focus {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-label {
    display: grid !important;
    gap: 3px !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-label em {
    text-align: left !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-activities {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-activities button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalizer-actions {
    grid-template-columns: 0.65fr 1.35fr !important;
  }
}

/* The native shell remains phone-first on wide WebView canvases. */
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-home {
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 560px !important;
  padding-inline: 0 !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-hero,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-schedule,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-actions,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-activity,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-hourly,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-radar,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-outlook,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-details,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-sponsor {
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-hero,
body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-radar {
  border-radius: 0 !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-personalizer-panel {
  max-width: 560px !important;
}

/* Neutral night controls invert cleanly against the dark page. */
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-timeline-icon,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-timeline-icon,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-icon-btn:not(.subtle),
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-icon-btn:not(.subtle),
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-cta,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-sponsor .sponsor-spot-cta {
  color: #111111 !important;
}

html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-timeline-item.is-alert .wp-life-timeline-icon,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-timeline-item.is-weather .wp-life-timeline-icon,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-timeline-item.is-outdoor .wp-life-timeline-icon,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-timeline-item.is-good .wp-life-timeline-icon,
html[data-theme="night"] body.wp-experience.wp-page-home .wp-life-timeline-item.is-calendar .wp-life-timeline-icon,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-timeline-item.is-alert .wp-life-timeline-icon,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-timeline-item.is-weather .wp-life-timeline-icon,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-timeline-item.is-outdoor .wp-life-timeline-icon,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-timeline-item.is-good .wp-life-timeline-icon,
body.wp-experience.wp-page-home[data-theme="night"] .wp-life-timeline-item.is-calendar .wp-life-timeline-icon {
  color: #ffffff !important;
}

/* Consistent, visible focus treatment. */
body.wp-experience.wp-page-home button:focus-visible,
body.wp-experience.wp-page-home a:focus-visible,
body.wp-experience.wp-page-home input:focus-visible,
body.wp-experience.wp-page-home [role="button"]:focus-visible,
body.wp-experience.wp-page-home [role="dialog"]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ds-accent-bright) 80%, white) !important;
  outline-offset: 3px !important;
}

@media (hover: hover) and (pointer: fine) {
  body.wp-experience.wp-page-home .wp-life-focus-btn:hover,
  body.wp-experience.wp-page-home .wp-life-activity-tab:hover,
  body.wp-experience.wp-page-home .wp-life-personalizer-grid button:hover,
  body.wp-experience.wp-page-home .wp-life-text-link:hover {
    border-color: var(--ds-accent) !important;
    color: var(--ds-accent) !important;
  }

  body.wp-experience.wp-page-home .wp-life-personalize-open:hover,
  body.wp-experience.wp-page-home #wp-life-daystream-now:hover,
  body.wp-experience.wp-page-home .wp-life-radar-footer button:hover {
    background: rgba(255, 255, 255, 0.16) !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-spot-cta:hover {
    filter: brightness(1.06);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.wp-experience.wp-page-home *,
  body.wp-experience.wp-page-home *::before,
  body.wp-experience.wp-page-home *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero > #video-viewport .home-hero-video {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-hero > #video-viewport #android-hero-fx .android-clouds,
  body.wp-experience.wp-page-home .wp-life-sky-sun,
  body.wp-experience.wp-page-home .wp-life-sky-cloud,
  body.wp-experience.wp-page-home .wp-life-sky-rain,
  body.wp-experience.wp-page-home .wp-life-live-badge i {
    animation: none !important;
  }
}

/* --------------------------------------------------------------------------
   Neutral icon scale: 16px inline, 18px chips, 22px feature controls.
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-life-home .material-icons-round {
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

body.wp-experience.wp-page-home .wp-life-text-link .material-icons-round,
body.wp-experience.wp-page-home #wp-life-daystream-now .material-icons-round,
body.wp-experience.wp-page-home .wp-life-radar-footer > span .material-icons-round,
body.wp-experience.wp-page-home .wp-life-radar-footer button .material-icons-round,
body.wp-experience.wp-page-home .wp-life-live-badge .material-icons-round {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  font-size: 16px !important;
}

body.wp-experience.wp-page-home .wp-life-focus-btn .material-icons-round,
body.wp-experience.wp-page-home .wp-life-activity-tab .material-icons-round,
body.wp-experience.wp-page-home .wp-life-personalizer-grid button .material-icons-round {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  font-size: 18px !important;
}

body.wp-experience.wp-page-home .wp-life-icon-btn .material-icons-round,
body.wp-experience.wp-page-home .wp-life-personalize-open .material-icons-round,
body.wp-experience.wp-page-home .wp-life-timeline-icon .material-icons-round,
body.wp-experience.wp-page-home .wp-life-detail > .material-icons-round,
body.wp-experience.wp-page-home .wp-life-personalizer-close .material-icons-round,
body.wp-experience.wp-page-home .wp-life-sponsor .sponsor-nav-btn .material-icons-round {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  font-size: 22px !important;
}

body.wp-experience.wp-page-home .wp-life-action > .material-icons-round,
body.wp-experience.wp-page-home .wp-life-moment-preview > .material-icons-round,
body.wp-experience.wp-page-home .wp-life-personalize-strip > .material-icons-round,
body.wp-experience.wp-page-home .wp-life-calendar-cta > .material-icons-round,
body.wp-experience.wp-page-home .wp-life-personalizer-activities > .material-icons-round {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* Alerts keep a semantic edge, but use the same neutral day/night surfaces. */
body.wp-experience.wp-page-home .alert-summary-card,
body.wp-experience.wp-page-home .spc-risk-card,
body.wp-experience.wp-page-home #home-alert-coverage-reminder {
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  border-color: var(--ds-line) !important;
  border-left-color: var(--alert-color, var(--ds-alert)) !important;
}

body.wp-experience.wp-page-home .alert-summary-icon,
body.wp-experience.wp-page-home .spc-risk-icon,
body.wp-experience.wp-page-home .wp-alert-coverage-icon {
  background: var(--ds-soft) !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .alert-summary-title,
body.wp-experience.wp-page-home .spc-risk-title-line,
body.wp-experience.wp-page-home .alert-summary-sub,
body.wp-experience.wp-page-home .spc-risk-sub {
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .spc-risk-pills span {
  background: var(--ds-soft) !important;
  color: var(--ds-ink) !important;
  border-color: var(--ds-line) !important;
}

/* Visible chapter order is set by the selected planning mode in the DOM. */
body.wp-experience.wp-page-home .wp-life-home > * {
  order: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-home > #promo-banner-primary.wp-life-sponsor {
  order: 0 !important;
}

/* --------------------------------------------------------------------------
   Mobile clarity pass: one safety stack, a swipeable activity forecast,
   and current conditions that are easy to scan with one hand.
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home .wp-alert-stack {
  width: 100% !important;
  display: grid !important;
  gap: 0 !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 20px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  box-shadow: var(--ds-shadow-soft) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack-head {
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid var(--ds-line) !important;
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack-head[hidden] {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-alert-stack-head > .material-icons-round {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 11px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  font-size: 18px !important;
}

body.wp-experience.wp-page-home .wp-alert-stack-head small,
body.wp-experience.wp-page-home .wp-alert-stack-head strong {
  display: block !important;
}

body.wp-experience.wp-page-home .wp-alert-stack-head small {
  margin-bottom: 2px !important;
  color: var(--ds-muted) !important;
  font-size: 0.64rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-alert-stack-head strong {
  color: var(--ds-ink) !important;
  font-size: 0.9rem !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
}

body.wp-experience.wp-page-home .wp-alert-stack #alert-strips-container,
body.wp-experience.wp-page-home .wp-alert-stack #spc-risk-banner-container {
  display: block !important;
  margin: 0 !important;
}

body.wp-experience.wp-page-home .wp-alert-stack #alert-strips-container:empty,
body.wp-experience.wp-page-home .wp-alert-stack #spc-risk-banner-container:empty {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-alert-stack #spc-risk-banner-container:not(:empty) {
  border-top: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-card,
body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-card {
  appearance: none !important;
  width: 100% !important;
  min-height: 76px !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) 20px !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
  box-shadow: inset 4px 0 0 var(--alert-color, var(--ds-alert)) !important;
  font: inherit !important;
  text-align: left !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-card {
  grid-template-columns: 40px minmax(0, 1fr) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-icon,
body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-icon {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: var(--ds-soft) !important;
  color: var(--alert-color, var(--ds-alert)) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-icon .material-icons-round,
body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-icon .material-icons-round {
  color: inherit !important;
  font-size: 20px !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-kicker,
body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-kicker {
  margin-bottom: 2px !important;
  color: var(--ds-muted) !important;
  font-size: 0.62rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-title,
body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-title-line {
  color: var(--ds-ink) !important;
  font-size: 0.98rem !important;
  font-weight: 820 !important;
  line-height: 1.16 !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-sub {
  margin-top: 3px !important;
  color: var(--ds-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 620 !important;
  line-height: 1.28 !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-chevron {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  color: var(--ds-muted) !important;
  font-size: 20px !important;
}

body.wp-experience.wp-page-home .wp-alert-stack #home-alert-coverage-reminder {
  width: 100% !important;
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ds-soft) !important;
  color: var(--ds-ink) !important;
  box-shadow: none !important;
}

body.wp-experience.wp-page-home .wp-alert-stack.has-hazards #home-alert-coverage-reminder {
  border-top: 1px solid var(--ds-line) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-icon {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-muted) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-icon .material-icons-round {
  font-size: 17px !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-copy strong,
body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-copy span {
  display: block !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-copy strong {
  font-size: 0.82rem !important;
  font-weight: 800 !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-copy span {
  margin-top: 2px !important;
  color: var(--ds-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 580 !important;
  line-height: 1.25 !important;
}

body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-btn {
  min-height: 34px !important;
  padding: 0 11px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 999px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  box-shadow: none !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
}

body.wp-experience.wp-page-home .wp-life-activity-best {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 14px !important;
  margin: 20px 0 18px !important;
  padding: 17px 18px !important;
  border: 1px solid var(--ds-line) !important;
  border-left: 4px solid var(--ds-good) !important;
  border-radius: 18px !important;
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-activity-best[data-level="fair"] {
  border-left-color: var(--ds-watch) !important;
}

body.wp-experience.wp-page-home .wp-life-activity-best[data-level="poor"] {
  border-left-color: var(--ds-alert) !important;
}

body.wp-experience.wp-page-home .wp-life-activity-best-copy > small,
body.wp-experience.wp-page-home .wp-life-activity-best-copy > strong,
body.wp-experience.wp-page-home .wp-life-activity-best-copy > p {
  display: block !important;
}

body.wp-experience.wp-page-home .wp-life-activity-best-copy > small {
  margin-bottom: 5px !important;
  color: var(--ds-muted) !important;
  font-size: 0.64rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home #wp-life-activity-best-time {
  color: var(--ds-ink) !important;
  font-size: clamp(1.24rem, 2.8vw, 1.72rem) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
}

body.wp-experience.wp-page-home .wp-life-activity-summary {
  max-width: 640px !important;
  margin: 7px 0 0 !important;
  color: var(--ds-muted) !important;
  font-size: 0.92rem !important;
  font-weight: 640 !important;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
  text-wrap: pretty !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hours-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 9px !important;
  color: var(--ds-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-activity-hours {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour {
  min-width: 0 !important;
  min-height: 116px !important;
  padding: 14px 12px 16px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 14px !important;
  background: var(--ds-paper-solid) !important;
}

body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour.is-now {
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour.is-window {
  border-color: color-mix(in srgb, var(--ds-good) 54%, var(--ds-line)) !important;
}

body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour span,
body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour em {
  font-size: 0.7rem !important;
}

body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour strong {
  font-size: 1.32rem !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail-grid {
  overflow: hidden !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 18px !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail {
  min-height: 106px !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-content: start !important;
  align-items: start !important;
  gap: 11px !important;
  padding: 15px !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail > .material-icons-round {
  margin-top: 1px !important;
  color: var(--ds-ink) !important;
  font-size: 20px !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail > div {
  min-width: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail small,
body.wp-experience.wp-page-home .wp-life-details .wp-life-detail strong,
body.wp-experience.wp-page-home .wp-life-details .wp-life-detail em {
  display: block !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail small {
  color: var(--ds-muted) !important;
  font-size: 0.62rem !important;
  font-weight: 820 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail strong {
  margin-top: 5px !important;
  overflow: visible !important;
  color: var(--ds-ink) !important;
  font-size: 1.02rem !important;
  font-weight: 830 !important;
  line-height: 1.16 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body.wp-experience.wp-page-home .wp-life-details .wp-life-detail em {
  margin-top: 4px !important;
  color: var(--ds-muted) !important;
  font-size: 0.68rem !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

@media (max-width: 759px) {
  body.wp-experience.wp-page-home .wp-alert-stack {
    border-radius: 18px !important;
  }

  body.wp-experience.wp-page-home .wp-alert-stack .alert-summary-card,
  body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-card {
    grid-template-columns: 40px minmax(0, 1fr) 20px !important;
    padding: 13px 12px !important;
  }

  body.wp-experience.wp-page-home .wp-alert-stack .spc-risk-card {
    grid-template-columns: 40px minmax(0, 1fr) !important;
  }

  body.wp-experience.wp-page-home .wp-alert-stack #home-alert-coverage-reminder {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    align-items: start !important;
    padding: 11px 12px 12px !important;
  }

  body.wp-experience.wp-page-home .wp-alert-stack .wp-alert-coverage-btn {
    grid-column: 2 !important;
    width: fit-content !important;
    margin-top: 2px !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity {
    padding: 22px 18px 20px !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity #wp-life-activity-title {
    font-size: 1.8rem !important;
    line-height: 1.02 !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-tabs {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin-inline: -18px !important;
    padding: 0 18px 8px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-width: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-tabs::-webkit-scrollbar,
  body.wp-experience.wp-page-home .wp-life-activity-hours::-webkit-scrollbar {
    display: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-tab {
    flex: 0 0 auto !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-best {
    min-height: 112px !important;
    margin-top: 14px !important;
    padding: 15px !important;
    border-radius: 16px !important;
  }

  body.wp-experience.wp-page-home #wp-life-activity-best-time {
    font-size: 1.34rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-summary {
    font-size: 0.88rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-hours {
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 104px !important;
    gap: 8px !important;
    margin-inline: -18px !important;
    padding: 0 18px 8px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity .wp-life-activity-hour {
    min-width: 104px !important;
    scroll-snap-align: start !important;
  }

  body.wp-experience.wp-page-home .wp-life-details {
    padding: 24px 18px !important;
  }

  body.wp-experience.wp-page-home .wp-life-details .wp-life-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wp-experience.wp-page-home .wp-life-details .wp-life-detail {
    min-height: 112px !important;
    padding: 14px 12px !important;
  }
}

/* --------------------------------------------------------------------------
   Human-first setup, dependable partner images, and tighter phone geometry.
   -------------------------------------------------------------------------- */

body.wp-experience.wp-page-home.wp-life-onboarding-open {
  overflow: hidden !important;
}

html:has(body.wp-experience.wp-page-home.wp-life-onboarding-open) {
  overflow: hidden !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding {
  position: fixed !important;
  inset: 0 !important;
  z-index: 4300 !important;
  display: grid !important;
  place-items: end center !important;
  padding: 18px 18px max(18px, env(safe-area-inset-bottom, 0px)) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding[hidden],
body.wp-experience.wp-page-home .wp-life-onboarding[aria-hidden="true"] {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-scrim {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: rgba(0, 0, 0, 0.56) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-panel {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 620px) !important;
  max-height: min(90dvh, 820px) !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 28px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.26) !important;
  animation: ds-sheet-in 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.wp-experience.wp-page-home .wp-life-onboarding-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  align-items: start !important;
  gap: 14px !important;
  padding: 22px 22px 12px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-head > div {
  min-width: 0 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-head > div > span {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--ds-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-head h2 {
  margin: 0 !important;
  color: var(--ds-ink) !important;
  font-size: clamp(1.55rem, 6vw, 2.15rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.02 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-head p {
  margin: 8px 0 0 !important;
  color: var(--ds-muted) !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-close {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 50% !important;
  background: var(--ds-soft) !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-progress {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 5px !important;
  padding: 0 22px 15px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-progress i {
  height: 3px !important;
  border-radius: 999px !important;
  background: var(--ds-line-strong) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-progress i.is-active,
body.wp-experience.wp-page-home .wp-life-onboarding-progress i.is-complete {
  background: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-body {
  min-height: 0 !important;
  padding: 4px 22px 18px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-step[hidden] {
  display: none !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-step.is-active {
  display: block !important;
  animation: ds-content-in 0.22s ease both;
}

body.wp-experience.wp-page-home .wp-life-name-field {
  display: grid !important;
  gap: 9px !important;
}

body.wp-experience.wp-page-home .wp-life-name-field > span {
  color: var(--ds-ink) !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-name-field em {
  color: var(--ds-muted) !important;
  font-size: 0.7rem !important;
  font-style: normal !important;
  font-weight: 650 !important;
}

body.wp-experience.wp-page-home .wp-life-name-field input {
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 15px !important;
  border: 1px solid var(--ds-line-strong) !important;
  border-radius: 15px !important;
  outline: none !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  font: inherit !important;
  font-size: 1rem !important;
  font-weight: 720 !important;
}

body.wp-experience.wp-page-home .wp-life-name-field input:focus {
  border-color: var(--ds-ink) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-ink) 12%, transparent) !important;
}

body.wp-experience.wp-page-home .wp-life-private-note {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 11px 0 0 !important;
  color: var(--ds-muted) !important;
  font-size: 0.73rem !important;
}

body.wp-experience.wp-page-home .wp-life-private-note .material-icons-round {
  font-size: 15px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-prompt {
  margin: 0 0 11px !important;
  color: var(--ds-ink) !important;
  font-size: 0.84rem !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-prompt.secondary {
  margin-top: 22px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-prompt-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-prompt-row > span {
  color: var(--ds-muted) !important;
  font-size: 0.73rem !important;
  font-weight: 800 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-grid button {
  min-width: 0 !important;
  min-height: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 14px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-grid.compact button {
  min-height: 43px !important;
  padding: 8px 11px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-grid button .material-icons-round {
  flex: 0 0 auto !important;
  font-size: 19px !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-grid button.is-active,
body.wp-experience.wp-page-home .wp-life-onboarding-grid button[aria-pressed="true"] {
  border-color: var(--ds-ink) !important;
  background: var(--ds-ink) !important;
  color: var(--ds-paper-solid) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-grid button:disabled {
  opacity: 0.38 !important;
}

body.wp-experience.wp-page-home .wp-life-calendar-choice-copy {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  padding: 15px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 17px !important;
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-calendar-choice-copy > .material-icons-round {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 13px !important;
  background: var(--ds-paper-solid) !important;
}

body.wp-experience.wp-page-home .wp-life-calendar-choice-copy p {
  margin: 0 !important;
  color: var(--ds-ink) !important;
  font-size: 0.79rem !important;
  line-height: 1.45 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-actions {
  display: grid !important;
  grid-template-columns: 0.7fr 1.3fr !important;
  gap: 8px !important;
  padding: 14px 22px max(16px, env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid var(--ds-line) !important;
  background: var(--ds-paper-solid) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-actions > button:not(.wp-life-onboarding-skip) {
  min-height: 49px !important;
  border-radius: 15px !important;
  font-weight: 850 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-actions .secondary {
  border: 1px solid var(--ds-line) !important;
  background: transparent !important;
  color: var(--ds-ink) !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-actions .primary {
  border: 1px solid var(--ds-ink) !important;
  background: var(--ds-ink) !important;
  color: var(--ds-paper-solid) !important;
}

body.wp-experience.wp-page-home #wp-onboard-back[hidden] + #wp-onboard-next {
  grid-column: 1 / -1 !important;
}

body.wp-experience.wp-page-home .wp-life-onboarding-skip {
  grid-column: 1 / -1 !important;
  min-height: 30px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ds-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 750 !important;
}

body.wp-experience.wp-page-home .wp-life-partner-strip {
  --sponsor-compact-width: clamp(108px, 31vw, 128px);
  grid-column: 1 / -1 !important;
  width: min(calc(100% - 20px), 760px) !important;
  margin: 24px auto !important;
  padding: 12px !important;
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: var(--sponsor-compact-width) minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  grid-auto-rows: auto !important;
  align-items: center !important;
  align-self: start !important;
  gap: 12px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 18px !important;
  background: var(--ds-paper-solid) !important;
  color: var(--ds-ink) !important;
  box-shadow: var(--ds-shadow-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-partner-strip .sponsor-spot-frame,
body.wp-experience.wp-page-home .wp-life-partner-strip .sponsor-spot-image-stage {
  position: relative !important;
  width: var(--sponsor-compact-width) !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 12px !important;
  background: var(--ds-soft) !important;
}

body.wp-experience.wp-page-home .wp-life-partner-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 5px !important;
}

body.wp-experience.wp-page-home .wp-life-partner-copy > span {
  color: var(--ds-muted) !important;
  font-size: 0.58rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.wp-experience.wp-page-home .wp-life-partner-copy > strong {
  color: var(--ds-ink) !important;
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
}

body.wp-experience.wp-page-home .wp-life-partner-strip .sponsor-spot-cta {
  width: fit-content !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 11px !important;
  border: 1px solid var(--ds-line) !important;
  border-radius: 11px !important;
  background: var(--ds-soft) !important;
  color: var(--ds-ink) !important;
  font-size: 0.68rem !important;
  font-weight: 820 !important;
  text-decoration: none !important;
}

body.wp-experience.wp-page-home #promo-banner-primary .sponsor-spot-image,
body.wp-experience.wp-page-home #promo-banner-secondary .sponsor-spot-image,
body.wp-experience.wp-page-home #promo-banner-tertiary .sponsor-spot-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  opacity: 0 !important;
  transition: opacity 0.45s ease !important;
}

body.wp-experience.wp-page-home #promo-banner-primary .sponsor-spot-image.is-visible,
body.wp-experience.wp-page-home #promo-banner-secondary .sponsor-spot-image.is-visible,
body.wp-experience.wp-page-home #promo-banner-tertiary .sponsor-spot-image.is-visible {
  opacity: 1 !important;
}

@media (min-width: 760px) {
  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) #main-scroll,
  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .main-wrapper,
  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .content-backdrop {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    border-inline: 0 !important;
    box-shadow: none !important;
  }

  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .sticky-location-bar {
    width: min(calc(100% - 32px), 1220px) !important;
    max-width: 1220px !important;
    margin-inline: auto !important;
  }

  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .content-backdrop > div:first-child {
    width: min(calc(100% - 32px), 1180px) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .wp-life-home {
    width: min(calc(100% - 32px), 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .wp-life-partner-strip {
    width: min(calc(100% - 64px), 760px) !important;
  }

  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .wp-life-section {
    padding-inline: clamp(24px, 4vw, 56px) !important;
  }

  html body.wp-experience.wp-page-home.wp-shell-page:not(.wp-shell-embedded-nav) .wp-life-hero h1 {
    max-width: 980px !important;
    font-size: clamp(48px, 5vw, 72px) !important;
    line-height: 0.98 !important;
  }
}

@media (max-width: 759px) {
  body.wp-experience.wp-page-home .wp-life-route-banner {
    width: calc(100% - 24px) !important;
    min-height: 0 !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body.wp-experience.wp-page-home .wp-life-route-banner-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    font-size: 25px !important;
  }

  body.wp-experience.wp-page-home .wp-life-route-banner-copy > span {
    font-size: 0.73rem !important;
  }

  body.wp-experience.wp-page-home .wp-life-route-banner-cta {
    grid-column: 2 !important;
    width: fit-content !important;
    min-height: 38px !important;
    margin-top: 2px !important;
  }

  body.wp-experience.wp-page-home .wp-life-section {
    padding-inline: 12px !important;
  }

  body.wp-experience.wp-page-home .wp-life-section:not(.wp-life-radar):not(.wp-life-sponsor)::before {
    right: 12px !important;
    left: 12px !important;
  }

  body.wp-experience.wp-page-home .wp-life-details {
    padding-inline: 12px !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity {
    margin-inline: 6px !important;
    padding-inline: 14px !important;
  }

  body.wp-experience.wp-page-home .wp-life-activity-tabs,
  body.wp-experience.wp-page-home .wp-life-activity-hours {
    margin-inline: -14px !important;
    padding-inline: 14px !important;
  }

  body.wp-experience.wp-page-home .wp-life-sponsor {
    margin-inline: 6px !important;
    padding-inline: 12px !important;
  }

  body.wp-experience.wp-page-home .content-backdrop > div:first-child {
    padding-inline: 6px !important;
  }

  body.wp-experience.wp-page-home .wp-life-onboarding {
    padding: 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-onboarding-panel {
    width: 100% !important;
    max-height: 94dvh !important;
    border-width: 1px 0 0 !important;
    border-radius: 26px 26px 0 0 !important;
  }

  body.wp-experience.wp-page-home .wp-life-onboarding-head {
    padding: 20px 16px 10px !important;
  }

  body.wp-experience.wp-page-home .wp-life-onboarding-progress {
    padding: 0 16px 14px !important;
  }

  body.wp-experience.wp-page-home .wp-life-onboarding-body {
    padding: 4px 16px 16px !important;
  }

  body.wp-experience.wp-page-home .wp-life-onboarding-actions {
    padding-inline: 16px !important;
  }

  body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-onboarding {
    --wp-life-onboarding-bottom-clearance: max(
      var(--wp-embedded-bottom-boundary, 0px),
      var(--wp-native-tab-bar-offset, 0px),
      env(safe-area-inset-bottom, 0px)
    );
    padding: 0 8px calc(var(--wp-life-onboarding-bottom-clearance) + 8px) !important;
  }

  body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-onboarding-panel {
    width: 100% !important;
    max-height: min(94dvh, calc(100dvh - var(--wp-life-onboarding-bottom-clearance) - 10px)) !important;
    border-width: 1px !important;
    border-radius: 26px !important;
  }
}

/* 2026-07-13: Keep Home edit sheets between the native app bars. */
body.wp-experience.wp-page-home.wp-shell-embedded-nav {
  --wp-home-editor-top-clearance: calc(
    var(--safe-top, env(safe-area-inset-top, 0px)) + 78px
  );
  --wp-home-editor-bottom-clearance: max(
    var(--wp-embedded-bottom-boundary, 0px),
    var(--wp-native-tab-bar-offset, 0px),
    var(--safe-bottom, env(safe-area-inset-bottom, 0px))
  );
}

html:has(body.wp-page-home.wp-activity-modal-open),
html:has(body.wp-page-home.wp-life-personalizer-open),
body.wp-page-home.wp-activity-modal-open,
body.wp-page-home.wp-life-personalizer-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-personalizer {
  align-items: end !important;
  padding:
    calc(var(--wp-home-editor-top-clearance) + 8px)
    max(8px, env(safe-area-inset-right, 0px))
    calc(var(--wp-home-editor-bottom-clearance) + 8px)
    max(8px, env(safe-area-inset-left, 0px)) !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav .wp-life-personalizer-panel {
  width: min(100%, 560px) !important;
  max-height: calc(
    100dvh - var(--wp-home-editor-top-clearance) -
      var(--wp-home-editor-bottom-clearance) - 16px
  ) !important;
  border-width: 1px !important;
  border-radius: 24px !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav #activity-modal {
  align-items: center !important;
  padding:
    calc(var(--wp-home-editor-top-clearance) + 8px)
    max(12px, env(safe-area-inset-right, 0px))
    calc(var(--wp-home-editor-bottom-clearance) + 8px)
    max(12px, env(safe-area-inset-left, 0px)) !important;
  overflow: hidden !important;
}

body.wp-experience.wp-page-home.wp-shell-embedded-nav #activity-modal .activity-modal-content {
  display: flex !important;
  flex-direction: column !important;
  width: min(100%, 520px) !important;
  max-height: calc(
    100dvh - var(--wp-home-editor-top-clearance) -
      var(--wp-home-editor-bottom-clearance) - 16px
  ) !important;
  overflow: hidden !important;
}

body.wp-experience.wp-page-home #activity-modal .activity-modal-head,
body.wp-experience.wp-page-home #activity-modal .activities-limit-note,
body.wp-experience.wp-page-home #activity-modal .activities-limit-warning {
  flex: 0 0 auto !important;
}

body.wp-experience.wp-page-home #activity-modal .activity-modal-close {
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

body.wp-experience.wp-page-home #activity-modal .activity-manage-list {
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px !important;
}
