/* Source: /curiospark-v802-simplify.css */
/* CurioSpark v9.5.0 — Editorial Simplification & Explicit Mobile Table Policy
   Presentation only: no roles, permissions, payment rules, or API behavior are changed here. */

:root {
  --v802-ink: #3d1157;
  --v802-purple: #5f2579;
  --v802-soft: #fbf8fc;
  --v802-border: rgba(95, 37, 121, .15);
  --v802-shadow: 0 10px 28px rgba(65, 25, 80, .07);
  --v802-radius: 18px;
}

body.v802-simplified .page-hero.compact-page-hero {
  padding-block: clamp(1.6rem, 4vw, 2.55rem);
}

body.v802-simplified .page-hero h1,
body.v802-simplified .calendar-hero h1,
body.v802-simplified .programs-marketplace-hero h1 {
  max-width: 24ch;
}

body.v802-simplified .page-hero p:not(.eyebrow),
body.v802-simplified .admin-topbar > p,
body.v802-simplified .small-muted {
  max-width: 78ch;
}

/* One consistent workspace nav replaces page-by-page collections of duplicate links. */
.v802-workspace-nav {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
  margin: .95rem 0 1.15rem;
  padding: .68rem;
  border: 1px solid var(--v802-border);
  border-radius: var(--v802-radius);
  background: rgba(255, 255, 255, .97);
  box-shadow: var(--v802-shadow);
  position: sticky;
  top: .6rem;
  z-index: 18;
}

.v802-workspace-nav > a,
.v802-workspace-nav summary,
.v802-workspace-nav .v802-nav-more a {
  color: #4b1f63;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
}

.v802-workspace-nav > a,
.v802-workspace-nav summary {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: .38rem .62rem;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
}

.v802-workspace-nav > a:hover,
.v802-workspace-nav > a:focus-visible,
.v802-workspace-nav summary:hover,
.v802-workspace-nav summary:focus-visible {
  color: var(--v802-purple);
  background: #f4edf7;
  outline: none;
}

.v802-workspace-nav > a[aria-current="page"] {
  color: #fff;
  background: var(--v802-purple);
  box-shadow: 0 5px 12px rgba(95, 37, 121, .2);
}

.v802-nav-more {
  position: relative;
  margin: 0;
}

.v802-nav-more summary {
  cursor: pointer;
  list-style: none;
}
.v802-nav-more summary::-webkit-details-marker { display: none; }
.v802-nav-more summary::after { content: '⌄'; margin-left: .35rem; font-size: .9em; }
.v802-nav-more[open] summary { color: var(--v802-purple); background: #f4edf7; }

.v802-nav-more-menu {
  display: grid;
  gap: .25rem;
  min-width: 13.5rem;
  padding: .45rem;
  border: 1px solid var(--v802-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(65, 25, 80, .16);
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  z-index: 25;
}

.v802-nav-more--finance .v802-nav-more-menu { min-width: 14.75rem; }
.v802-nav-more-menu a {
  display: block;
  padding: .55rem .62rem;
  border-radius: 9px;
}
.v802-nav-more-menu a:hover,
.v802-nav-more-menu a:focus-visible,
.v802-nav-more-menu a[aria-current="page"] {
  color: var(--v802-purple);
  background: #f5eff8;
  outline: none;
}

.v802-nav-finance summary { color: #744400; }
.v802-nav-finance .v802-nav-more-menu { border-color: rgba(181, 126, 26, .25); }

/* Clear card hierarchy, readable spacing, and safe wide-table behavior. */
body.v802-simplified .admin-card,
body.v802-simplified .mini-panel,
body.v802-simplified .payment-desk-panel,
body.v802-simplified .v801-attendance-card,
body.v802-simplified .v801-directory-record {
  border-color: var(--v802-border);
  box-shadow: var(--v802-shadow);
}

body.v802-simplified .admin-card > :first-child,
body.v802-simplified .mini-panel > :first-child,
body.v802-simplified .payment-desk-panel > :first-child {
  margin-top: 0;
}

body.v802-simplified .admin-card-heading,
body.v802-simplified .v760-today-heading,
body.v802-simplified .admin-topbar,
body.v802-simplified .payment-ops-banner {
  gap: .75rem;
}

body.v802-simplified .admin-card-heading h2,
body.v802-simplified .admin-topbar h2,
body.v802-simplified .payment-ops-banner h2 {
  line-height: 1.12;
}

body.v802-simplified .admin-actions,
body.v802-simplified .calm-admin-actions,
body.v802-simplified .team-hub-actions,
body.v802-simplified .v801-ops-toolbar {
  gap: .55rem;
}

body.v802-simplified .button.small {
  min-height: 2.75rem;
}

body.v802-simplified .table-wrap {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid rgba(95, 37, 121, .10);
  border-radius: 14px;
  scrollbar-color: rgba(95, 37, 121, .45) transparent;
}

body.v802-simplified .v802-scroll-region {
  position: relative;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  box-shadow: inset -18px 0 18px -22px rgba(61,17,87,.55);
}
body.v802-simplified .v802-scroll-region:focus-visible {
  outline: 3px solid rgba(244,181,22,.5);
  outline-offset: 3px;
}
body.v802-simplified table.v802-scroll-table { width: 100%; }

body.v802-simplified table {
  border-collapse: separate;
  border-spacing: 0;
}

body.v802-simplified table thead th {
  background: #faf6fc;
  color: #4e176f;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.v802-simplified table th,
body.v802-simplified table td {
  vertical-align: top;
}

body.v802-simplified table tbody tr:last-child td { border-bottom: 0; }
body.v802-simplified .v802-empty-table { display: none; }

/* Common disclosures make long reference material calm rather than hidden. */
.v802-disclosure {
  overflow: hidden;
}
.v802-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  min-height: 3.25rem;
  padding: .9rem 1rem;
  cursor: pointer;
  color: var(--v802-ink);
  font-weight: 850;
  list-style: none;
}
.v802-disclosure > summary::-webkit-details-marker { display: none; }
.v802-disclosure > summary::after {
  content: 'Show';
  flex: 0 0 auto;
  padding: .27rem .55rem;
  border: 1px solid rgba(95, 37, 121, .17);
  border-radius: 999px;
  color: var(--v802-purple);
  font-size: .75rem;
  font-weight: 900;
}
.v802-disclosure[open] > summary { border-bottom: 1px solid rgba(95, 37, 121, .10); background: #fffaf1; }
.v802-disclosure[open] > summary::after { content: 'Hide'; }
.v802-disclosure > .admin-card-heading { display: none; }
.v802-disclosure > :not(summary) { margin-left: 1rem; margin-right: 1rem; }
.v802-disclosure > :last-child { margin-bottom: 1rem; }

/* Team dashboard: a focused action board; help and inspiration remain available, but no longer dominate the work. */
body.v802-team-dashboard .team-hub-image-only,
body.v802-team-dashboard .team-hub-stickers { display: none; }

body.v802-team-dashboard .team-hub-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 1rem;
}

body.v802-team-dashboard .team-hub-card {
  min-height: 165px;
  padding: 1rem;
  border-radius: 18px;
}
body.v802-team-dashboard .team-hub-card h3 { font-size: 1.18rem; }
body.v802-team-dashboard .team-hub-card p { font-size: .9rem; }

body.v802-team-dashboard .team-hub-support.v802-disclosure {
  display: block;
  margin-top: 1rem;
}
body.v802-team-dashboard .team-hub-support.v802-disclosure > summary { margin: 0; }
body.v802-team-dashboard .team-hub-support.v802-disclosure > :not(summary) { margin-left: 1rem; margin-right: 1rem; }

/* Keep finance visibly separate for Full Admin without exposing it to Team. */
body.v802-admin-role .payment-ops-banner,
body.v802-admin-role .payment-totals,
body.v802-admin-role .v760-admin-today {
  border-radius: 18px;
}

/* Better narrow-screen defaults. */
@media (max-width: 1000px) {
  .v802-workspace-nav { position: static; }
  body.v802-team-dashboard .team-hub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body.v802-simplified .page-hero.compact-page-hero { padding-block: 1.35rem; }
  body.v802-simplified .page-hero h1,
  body.v802-simplified .calendar-hero h1,
  body.v802-simplified .programs-marketplace-hero h1 { font-size: clamp(1.95rem, 9vw, 2.65rem); }

  .v802-workspace-nav {
    align-items: flex-start;
    padding: .5rem;
    gap: .35rem;
  }
  .v802-workspace-nav > a,
  .v802-workspace-nav summary { min-height: 2.16rem; padding: .34rem .52rem; font-size: .8rem; }
  .v802-nav-more-menu { position: fixed; left: .75rem; right: .75rem; top: auto; min-width: 0; max-width: none; }

  body.v802-simplified .admin-grid,
  body.v802-simplified .payment-ops-grid,
  body.v802-simplified .payment-flow-grid,
  body.v802-simplified .policy-grid,
  body.v802-simplified .v801-directory-body,
  body.v802-simplified .v801-ops-form {
    grid-template-columns: 1fr;
  }

  body.v802-simplified .admin-topbar,
  body.v802-simplified .payment-ops-banner,
  body.v802-simplified .v760-today-heading,
  body.v802-simplified .v801-ops-toolbar {
    align-items: flex-start;
  }

  body.v802-simplified .admin-actions,
  body.v802-simplified .calm-admin-actions,
  body.v802-simplified .team-hub-actions {
    align-items: stretch;
  }
  body.v802-simplified .admin-actions .button,
  body.v802-simplified .calm-admin-actions .button,
  body.v802-simplified .team-hub-actions .button {
    flex: 1 1 10rem;
    justify-content: center;
  }

  /* Only identity-first operational tables become labelled mobile records. Financial and comparison tables remain scrollable tables. */
  body.v802-simplified table.v802-mobile-records,
  body.v802-simplified table.v802-mobile-records tbody,
  body.v802-simplified table.v802-mobile-records tr,
  body.v802-simplified table.v802-mobile-records td {
    display: block;
    width: 100%;
  }
  body.v802-simplified table.v802-mobile-records thead { display: none; }
  body.v802-simplified table.v802-mobile-records tbody {
    display: grid;
    gap: .75rem;
    padding: .75rem;
  }
  body.v802-simplified table.v802-mobile-records tr {
    overflow: hidden;
    padding: .15rem .85rem;
    border: 1px solid rgba(95, 37, 121, .14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(65, 25, 80, .045);
  }
  body.v802-simplified table.v802-mobile-records td {
    min-height: 0;
    padding: .62rem 0;
    border-bottom: 1px solid rgba(95, 37, 121, .10);
  }
  body.v802-simplified table.v802-mobile-records td:last-child { border-bottom: 0; }
  body.v802-simplified table.v802-mobile-records td::before {
    content: attr(data-v802-label);
    display: block;
    margin-bottom: .22rem;
    color: #735d80;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
  }
  body.v802-simplified table.v802-mobile-records td[data-v802-label=""]::before { display: none; }
  body.v802-simplified table.v802-mobile-records td input,
  body.v802-simplified table.v802-mobile-records td select,
  body.v802-simplified table.v802-mobile-records td textarea { max-width: 100%; }

  body.v802-simplified .v802-scroll-region {
    border-radius: 12px;
    box-shadow: inset -22px 0 20px -24px rgba(61,17,87,.65);
  }

  /* Attendance is intentionally kept as its existing scrollable working grid. */
  body.v802-simplified .v801-attendance-table { min-width: 680px; }

  body.v802-team-dashboard .team-hub-grid { grid-template-columns: 1fr; }
  body.v802-team-dashboard .team-hub-card { min-height: 0; }

  .v802-disclosure > summary { align-items: flex-start; padding: .85rem; }
  .v802-disclosure > :not(summary) { margin-left: .85rem; margin-right: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .v802-workspace-nav *,
  body.v802-simplified * { scroll-behavior: auto !important; transition: none !important; }
}


/* Source: /curiospark-frontdoor-v831.css */
/* CurioSpark v8.31 - public front door phase 1. Loaded only on public pages. */
.public-frontdoor-page .frontdoor-nav { gap: 2px; }
.public-frontdoor-page .frontdoor-nav a { white-space: nowrap; }
.public-frontdoor-page .frontdoor-programs-sync-anchor { display: none !important; }
.public-frontdoor-page .frontdoor-nav .public-nav-join { padding-inline: 14px; }
.public-frontdoor-page .frontdoor-nav .public-nav-existing { font-size: 11px; color: rgba(55, 32, 67, .72); }
.public-frontdoor-page .frontdoor-nav .public-nav-portal { background: rgba(254, 206, 34, .18); color: var(--purple-900); }
.public-frontdoor-page .public-frontdoor-footer .footer-links { max-width: 760px; justify-content: flex-end; }
.frontdoor-hero { padding-bottom: 54px; }
.frontdoor-path-section { padding: 70px 0 34px; }
.frontdoor-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 26px; }
.frontdoor-path-card { min-height: 100%; padding: clamp(24px, 3vw, 38px); border: 1px solid rgba(87, 32, 117, .16); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,249,232,.92)); box-shadow: 0 18px 38px rgba(75, 0, 104, .08); }
.frontdoor-path-card h3 { margin-top: 8px; font-family: var(--serif); font-size: clamp(29px, 3vw, 40px); color: var(--purple-950); }
.frontdoor-path-card p:not(.eyebrow) { margin: 15px 0 0; color: var(--muted); line-height: 1.65; }
.frontdoor-path-card ul { display: grid; gap: 9px; margin: 21px 0 0; padding: 0; list-style: none; }
.frontdoor-path-card li { position: relative; padding-left: 22px; color: var(--purple-950); font-weight: 750; line-height: 1.45; }
.frontdoor-path-card li::before { content: ""; position: absolute; left: 0; top: .48em; width: 10px; height: 10px; border-radius: 50%; background: var(--gold-bright); box-shadow: 0 0 0 3px rgba(254, 206, 34, .18); }
.frontdoor-path-card .hero-actions { margin-top: 24px; }
.purple-path-card { color: #fff; background: linear-gradient(135deg, #42115f, #6a287e); border-color: rgba(254, 206, 34, .42); }
.purple-path-card h3, .purple-path-card p, .purple-path-card li { color: #fff; }
.purple-path-card p:not(.eyebrow) { color: rgba(255,255,255,.84); }
.purple-path-card li::before { background: var(--gold-bright); }
.frontdoor-steps-band { margin-top: 54px; padding: 72px 0; background: linear-gradient(180deg, #fff8e5, #f7f0ff); border-top: 1px solid rgba(87, 32, 117, .10); border-bottom: 1px solid rgba(87, 32, 117, .10); }
.frontdoor-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.frontdoor-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; padding: 16px 18px; border: 1px solid rgba(87, 32, 117, .14); border-radius: 18px; background: rgba(255,255,255,.78); }
.frontdoor-steps li > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--purple); color: #fff; font-size: 13px; font-weight: 900; }
.frontdoor-steps strong { color: var(--purple-950); font-size: 15px; }
.frontdoor-steps p { margin: 4px 0 0; color: var(--muted); line-height: 1.5; }
.frontdoor-reassurance { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; margin: 70px auto; padding: clamp(24px, 4vw, 44px); border: 1px solid rgba(87, 32, 117, .16); border-radius: 28px; background: #fff; box-shadow: 0 16px 36px rgba(75, 0, 104, .08); }
.frontdoor-reassurance h2 { margin-top: 4px; }
.frontdoor-reassurance p:not(.eyebrow) { margin: 12px 0 0; max-width: 700px; color: var(--muted); line-height: 1.65; }
@media (max-width: 1080px) { .public-frontdoor-page .frontdoor-nav a { padding-inline: 8px; font-size: 11px; } .public-frontdoor-page .frontdoor-nav .public-nav-join { padding-inline: 12px; } }
@media (max-width: 820px) { .public-frontdoor-page .frontdoor-nav { gap: 5px; } .public-frontdoor-page .frontdoor-nav a, .public-frontdoor-page .frontdoor-nav button { white-space: normal; } .public-frontdoor-page .public-frontdoor-footer .footer-links { justify-content: flex-start; } .frontdoor-path-grid { grid-template-columns: 1fr; } .frontdoor-reassurance { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .frontdoor-path-section { padding-top: 46px; } .frontdoor-path-card { border-radius: 22px; } .frontdoor-steps-band { padding: 50px 0; } .frontdoor-steps li { grid-template-columns: 34px 1fr; padding: 15px; } .frontdoor-reassurance { margin: 48px auto; border-radius: 22px; } }

/* CurioSpark v9.5.0 — Editorial Edition: open joining sequence. */
.join-frontdoor-page .frontdoor-steps {
  gap: 0;
  border-top: 1px solid rgba(87,32,117,.16);
}
.join-frontdoor-page .frontdoor-steps li {
  grid-template-columns: 42px minmax(0,1fr);
  gap: 1rem;
  padding: 1.15rem 0;
  border: 0;
  border-bottom: 1px solid rgba(87,32,117,.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.join-frontdoor-page .frontdoor-steps li > span {
  margin-top: .05rem;
}
.join-frontdoor-page .frontdoor-reassurance {
  padding-inline: 0;
  border-width: 1px 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
@media (max-width: 560px) {
  .join-frontdoor-page .frontdoor-steps li {
    grid-template-columns: 34px minmax(0,1fr);
    padding: 1rem 0;
  }
}


/* Source: /curiospark-visual-storytelling-v8330.css */
/*
  CurioSpark v8.33.0 — Visual Storytelling + Content Polish
  Scope: public-facing presentation only. This stylesheet is intentionally scoped to
  .public-visual-storytelling and does not alter shared controllers, registration,
  Payhip, auth, APIs, mobile registration, or the global styles.css surface.
*/
.public-visual-storytelling {
  --cs-story-purple: #4b176c;
  --cs-story-ink: #30253a;
  --cs-story-muted: #6d5f73;
  --cs-story-gold: #f6c63c;
  --cs-story-paper: #fffdf8;
  --cs-story-lilac: #f8f0ff;
}

.public-visual-storytelling .cs-photo-story,
.public-visual-storytelling .cs-photo-break,
.public-visual-storytelling .cs-calendar-moment,
.public-visual-storytelling .cs-team-story,
.public-visual-storytelling .cs-resource-story {
  position: relative;
  display: grid;
  gap: clamp(1.4rem, 4vw, 3.5rem);
  margin-top: clamp(3.5rem, 7vw, 6rem);
  margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.public-visual-storytelling .cs-photo-story,
.public-visual-storytelling .cs-photo-break,
.public-visual-storytelling .cs-team-story,
.public-visual-storytelling .cs-resource-story {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  align-items: center;
}

.public-visual-storytelling .cs-photo-story-copy,
.public-visual-storytelling .cs-photo-break-copy,
.public-visual-storytelling .cs-calendar-moment-copy,
.public-visual-storytelling .cs-team-story-copy,
.public-visual-storytelling .cs-resource-story-copy {
  position: relative;
  z-index: 1;
}

.public-visual-storytelling .cs-photo-story h2,
.public-visual-storytelling .cs-photo-break h2,
.public-visual-storytelling .cs-calendar-moment h2,
.public-visual-storytelling .cs-team-story h2,
.public-visual-storytelling .cs-resource-story h2 {
  max-width: 15ch;
  margin: .35rem 0 .85rem;
  color: var(--cs-story-purple);
  font-family: var(--serif, Fraunces, Georgia, serif);
  font-size: clamp(2rem, 4.2vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.public-visual-storytelling .cs-photo-story p:not(.eyebrow),
.public-visual-storytelling .cs-photo-break p:not(.eyebrow),
.public-visual-storytelling .cs-calendar-moment p:not(.eyebrow),
.public-visual-storytelling .cs-team-story p:not(.eyebrow),
.public-visual-storytelling .cs-resource-story p:not(.eyebrow) {
  max-width: 61ch;
  color: var(--cs-story-muted);
  font-size: 1.02rem;
  line-height: 1.72;
}

.public-visual-storytelling .cs-photo-story .button,
.public-visual-storytelling .cs-photo-break .button {
  margin-top: .55rem;
}

.public-visual-storytelling .cs-photo-story-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(.7rem, 1.45vw, 1.1rem);
  min-height: clamp(27rem, 45vw, 37rem);
}

.public-visual-storytelling .cs-photo-frame,
.public-visual-storytelling .cs-photo-break figure,
.public-visual-storytelling .cs-calendar-moment figure,
.public-visual-storytelling .cs-team-story figure,
.public-visual-storytelling .cs-resource-story figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(75, 23, 108, .13);
  border-radius: clamp(1.05rem, 2.2vw, 1.65rem);
  background: #eadff0;
  box-shadow: 0 20px 46px rgba(66, 16, 97, .12);
}

.public-visual-storytelling .cs-photo-frame::after,
.public-visual-storytelling .cs-photo-break figure::after,
.public-visual-storytelling .cs-calendar-moment figure::after,
.public-visual-storytelling .cs-team-story figure::after,
.public-visual-storytelling .cs-resource-story figure::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(20, 4, 29, 0) 48%, rgba(20, 4, 29, .33) 100%);
}

.public-visual-storytelling .cs-photo-frame--tall { grid-row: span 2; }
.public-visual-storytelling .cs-photo-frame img,
.public-visual-storytelling .cs-photo-break img,
.public-visual-storytelling .cs-calendar-moment img,
.public-visual-storytelling .cs-team-story img,
.public-visual-storytelling .cs-resource-story img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .65s ease;
}
.public-visual-storytelling .cs-photo-frame:hover img,
.public-visual-storytelling .cs-photo-break figure:hover img,
.public-visual-storytelling .cs-calendar-moment figure:hover img,
.public-visual-storytelling .cs-team-story figure:hover img,
.public-visual-storytelling .cs-resource-story figure:hover img { transform: scale(1.035); }

.public-visual-storytelling .cs-photo-frame figcaption {
  position: absolute;
  z-index: 1;
  left: .95rem;
  right: .95rem;
  bottom: .85rem;
  color: #fff;
  font-family: var(--serif, Fraunces, Georgia, serif);
  font-size: clamp(1.05rem, 1.75vw, 1.35rem);
  font-weight: 700;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}

.public-visual-storytelling .cs-photo-break-media { min-width: 0; }
.public-visual-storytelling .cs-photo-break-media--split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
  align-items: stretch;
  gap: clamp(.75rem, 1.5vw, 1.1rem);
  min-height: clamp(23rem, 36vw, 31rem);
}
.public-visual-storytelling .cs-photo-break-media--split figure:first-child { min-height: 100%; }
.public-visual-storytelling .cs-photo-break-media--split figure:last-child { min-height: 100%; }
.public-visual-storytelling .cs-photo-break--vision .cs-photo-break-media { order: 2; }
.public-visual-storytelling .cs-photo-break--vision .cs-photo-break-copy { order: 1; }

.public-visual-storytelling .cs-photo-break-media--stacked {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  gap: clamp(.75rem, 1.5vw, 1.1rem);
  min-height: clamp(22rem, 33vw, 29rem);
}
.public-visual-storytelling .cs-photo-break-media--stacked figure:first-child { min-height: 100%; }
.public-visual-storytelling .cs-photo-break-media--stacked figure:last-child { margin-top: clamp(1rem, 4vw, 3.25rem); margin-bottom: clamp(1rem, 4vw, 3.25rem); }

.public-visual-storytelling .cs-photo-break--programs {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid rgba(75, 23, 108, .1);
  border-radius: clamp(1.4rem, 3vw, 2rem);
  background: linear-gradient(135deg, rgba(255, 248, 224, .76), rgba(251, 243, 255, .78));
  box-shadow: 0 19px 44px rgba(69, 19, 102, .075);
}
.public-visual-storytelling .cs-photo-break-media--programs figure { height: 100%; min-height: clamp(18rem, 29vw, 25rem); }
.public-visual-storytelling .cs-photo-break--programs img { object-position: 52% center; }

.public-visual-storytelling .cs-calendar-moment {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  padding: clamp(1.1rem, 2.5vw, 1.8rem);
  border-radius: clamp(1.3rem, 3vw, 2rem);
  background: linear-gradient(130deg, #fff8dd, #f9efff 62%, #fff);
  box-shadow: 0 18px 42px rgba(69, 19, 102, .08);
}
.public-visual-storytelling .cs-calendar-moment-media {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: clamp(.65rem, 1.25vw, 1rem);
  min-height: clamp(15rem, 24vw, 20rem);
}
.public-visual-storytelling .cs-calendar-moment-media figure:first-child { min-height: 100%; }
.public-visual-storytelling .cs-calendar-moment-media figure:last-child { min-height: 100%; }

.public-visual-storytelling .cs-team-story {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  align-items: center;
  padding: clamp(1.1rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(75, 23, 108, .1);
  border-radius: clamp(1.4rem, 3vw, 2rem);
  background: linear-gradient(135deg, rgba(249, 239, 255, .84), rgba(255, 250, 236, .78));
}
.public-visual-storytelling .cs-team-story-media figure { height: clamp(21rem, 32vw, 29rem); }
.public-visual-storytelling .cs-team-story img { object-position: 48% center; }

.public-visual-storytelling .cs-resource-story {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
}
.public-visual-storytelling .cs-resource-story-media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.65rem, 1.25vw, 1rem);
  min-height: clamp(20rem, 32vw, 28rem);
}
.public-visual-storytelling .cs-resource-story-media figure:first-child { margin-top: clamp(1.2rem, 4vw, 3rem); margin-bottom: 0; }
.public-visual-storytelling .cs-resource-story-media figure:last-child { margin-bottom: clamp(1.2rem, 4vw, 3rem); margin-top: 0; }

/* Resource previews: let the existing product artwork do more of the talking without touching its links or Payhip URLs. */
.public-visual-storytelling .resource-card-grid-restored { gap: clamp(1rem, 2vw, 1.4rem); }
.public-visual-storytelling .resource-card-grid-restored .resource-feature-card {
  position: relative;
  grid-template-columns: minmax(155px, .7fr) minmax(0, 1.3fr);
  overflow: hidden;
  border-radius: 1.35rem;
  border-color: rgba(75, 23, 108, .14);
  box-shadow: 0 15px 34px rgba(69, 19, 102, .07);
  transition: transform .22s ease, box-shadow .22s ease;
}
.public-visual-storytelling .resource-card-grid-restored .resource-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 21px 44px rgba(69, 19, 102, .12);
}
.public-visual-storytelling .resource-card-grid-restored .resource-feature-card img {
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-height: 178px;
  border-radius: 0;
  object-fit: cover;
}
.public-visual-storytelling .resource-card-grid-restored .resource-feature-card > div { padding-block: clamp(.15rem, 1vw, .5rem); }
.public-visual-storytelling .resource-card-grid-restored .resource-feature-card h2 { max-width: 17ch; }

/* Existing dynamic program markup stays controller-owned; these rules simply make its existing visual badges feel deliberate. */
.public-visual-storytelling .program-market-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(75, 23, 108, .15);
  box-shadow: 0 16px 38px rgba(69, 19, 102, .085);
  transition: transform .22s ease, box-shadow .22s ease;
}
.public-visual-storytelling .program-market-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #f6c63c, #b05bcb 54%, #5b1c78);
}
.public-visual-storytelling .program-market-card:hover { transform: translateY(-3px); box-shadow: 0 22px 48px rgba(69, 19, 102, .14); }
.public-visual-storytelling .program-card-heading-row { align-items: flex-start; gap: 1rem; }
.public-visual-storytelling .program-card-visual { border: 1px solid rgba(75, 23, 108, .12); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 10px 22px rgba(61, 17, 87, .1); }
.public-visual-storytelling .program-card-actions .button { min-height: 2.75rem; }

/* Team portraits and biography cards retain the existing details/summary behavior while feeling more like a public introduction. */
.public-visual-storytelling .team-grid-compact { gap: clamp(1rem, 2vw, 1.45rem); }
.public-visual-storytelling .team-card-placard {
  overflow: hidden;
  border-radius: 1.5rem;
  border-color: rgba(75, 23, 108, .14);
  box-shadow: 0 16px 38px rgba(69, 19, 102, .08);
}
.public-visual-storytelling .team-card-placard .team-photo-stage { min-height: 17rem; }
.public-visual-storytelling .team-card-placard .team-photo-stage img { transition: transform .65s ease; }
.public-visual-storytelling .team-card-placard:hover .team-photo-stage img { transform: scale(1.035); }
.public-visual-storytelling .team-card-copy { padding: clamp(1.1rem, 2vw, 1.5rem); }
.public-visual-storytelling .team-card-copy details { margin-top: 1rem; padding-top: .95rem; border-top: 1px solid rgba(75, 23, 108, .11); }
.public-visual-storytelling .team-card-copy summary { color: var(--cs-story-purple); font-weight: 850; cursor: pointer; }

.public-visual-storytelling .category-image-card,
.public-visual-storytelling .resource-feature-card { scroll-margin-top: 6rem; }

@media (max-width: 900px) {
  .public-visual-storytelling .cs-photo-story,
  .public-visual-storytelling .cs-photo-break,
  .public-visual-storytelling .cs-calendar-moment,
  .public-visual-storytelling .cs-team-story,
  .public-visual-storytelling .cs-resource-story { grid-template-columns: 1fr; }
  .public-visual-storytelling .cs-photo-break--vision .cs-photo-break-media,
  .public-visual-storytelling .cs-photo-break--vision .cs-photo-break-copy { order: initial; }
  .public-visual-storytelling .cs-photo-break-copy h2,
  .public-visual-storytelling .cs-calendar-moment-copy h2,
  .public-visual-storytelling .cs-team-story-copy h2,
  .public-visual-storytelling .cs-resource-story-copy h2 { max-width: 21ch; }
  .public-visual-storytelling .cs-resource-story-media { max-width: 43rem; }
  .public-visual-storytelling .cs-team-story { grid-template-columns: minmax(0, .66fr) minmax(0, 1.34fr); }
}

@media (max-width: 680px) {
  .public-visual-storytelling .cs-photo-story,
  .public-visual-storytelling .cs-photo-break,
  .public-visual-storytelling .cs-calendar-moment,
  .public-visual-storytelling .cs-team-story,
  .public-visual-storytelling .cs-resource-story { margin-top: 3rem; margin-bottom: 3rem; }
  .public-visual-storytelling .cs-photo-story-gallery { min-height: 24rem; }
  .public-visual-storytelling .cs-photo-break-media--split,
  .public-visual-storytelling .cs-photo-break-media--stacked { min-height: 21rem; }
  .public-visual-storytelling .cs-calendar-moment-media { min-height: 15rem; }
  .public-visual-storytelling .cs-photo-story h2,
  .public-visual-storytelling .cs-photo-break h2,
  .public-visual-storytelling .cs-calendar-moment h2,
  .public-visual-storytelling .cs-team-story h2,
  .public-visual-storytelling .cs-resource-story h2 { max-width: none; }
  .public-visual-storytelling .cs-photo-break--programs { padding: .85rem; }
  .public-visual-storytelling .cs-team-story { grid-template-columns: 1fr; }
  .public-visual-storytelling .cs-team-story-media figure { height: 22rem; }
  .public-visual-storytelling .resource-card-grid-restored .resource-feature-card { grid-template-columns: 1fr; }
  .public-visual-storytelling .resource-card-grid-restored .resource-feature-card img { min-height: 210px; max-height: 245px; }
  .public-visual-storytelling .resource-card-grid-restored .resource-feature-card > div { padding: 1.05rem 1.15rem 1.25rem; }
}

@media (max-width: 460px) {
  .public-visual-storytelling .cs-photo-story-gallery { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: .55rem; min-height: 21.5rem; }
  .public-visual-storytelling .cs-photo-frame figcaption { left: .65rem; right: .65rem; bottom: .6rem; font-size: 1rem; }
  .public-visual-storytelling .cs-photo-break-media--split,
  .public-visual-storytelling .cs-photo-break-media--stacked { gap: .55rem; min-height: 18rem; }
  .public-visual-storytelling .cs-calendar-moment { padding: .85rem; }
  .public-visual-storytelling .cs-calendar-moment-media { gap: .55rem; min-height: 13rem; }
  .public-visual-storytelling .program-market-card { padding: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .public-visual-storytelling .cs-photo-frame img,
  .public-visual-storytelling .cs-photo-break img,
  .public-visual-storytelling .cs-calendar-moment img,
  .public-visual-storytelling .cs-team-story img,
  .public-visual-storytelling .cs-resource-story img,
  .public-visual-storytelling .resource-card-grid-restored .resource-feature-card,
  .public-visual-storytelling .program-market-card { transition: none; }
}


/* Source: /curiospark-experience-refresh-v8350.css */
/* CurioSpark v8.35.0 — Visual Composition Refresh
   Scoped to public experience pages and Family Portal only.
   Preserves the established purple/gold palette and existing functional controllers. */

.visual-composition-refresh {
  --cs-refresh-purple: #2a1235;
  --cs-refresh-violet: #5f2579;
  --cs-refresh-gold: #f4b516;
  --cs-refresh-paper: #ffffff;
  --cs-refresh-mist: #f8f1fa;
  --cs-refresh-line: rgba(95, 37, 121, .16);
  --cs-refresh-shadow: 0 24px 62px rgba(53, 22, 71, .16);
}

.visual-composition-refresh figure { margin: 0; }
.visual-composition-refresh .button { transition: transform .18s ease, box-shadow .18s ease; }
.visual-composition-refresh .button:hover { transform: translateY(-2px); box-shadow: 0 11px 24px rgba(53, 22, 71, .18); }

/* ------------------------------
   Home — photo-led first impression
--------------------------------- */
.visual-composition-refresh .brand-world-hero .brand-hero-grid {
  grid-template-columns: minmax(0, .96fr) minmax(380px, .92fr);
  gap: clamp(34px, 5vw, 74px);
}
.visual-composition-refresh .brand-world-hero .hero-copy { max-width: 640px; }
.visual-composition-refresh .brand-world-hero .hero-copy h1 { max-width: 680px; }
.visual-composition-refresh .home-hero-photo-mosaic {
  position: relative;
  min-height: 440px;
  isolation: isolate;
}
.visual-composition-refresh .home-hero-photo {
  position: absolute;
  overflow: hidden;
  border: 7px solid rgba(255,255,255,.95);
  box-shadow: var(--cs-refresh-shadow);
  background: var(--cs-refresh-mist);
}
.visual-composition-refresh .home-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visual-composition-refresh .home-hero-photo--main {
  left: 0;
  bottom: 0;
  width: 58%;
  height: 88%;
  border-radius: 28px 28px 76px 28px;
}
.visual-composition-refresh .home-hero-photo--main::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(39, 13, 49, .62));
  pointer-events: none;
}
.visual-composition-refresh .home-hero-photo--main figcaption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  z-index: 1;
  color: #fff;
  display: grid;
  gap: 1px;
  text-shadow: 0 2px 7px rgba(0,0,0,.45);
}
.visual-composition-refresh .home-hero-photo--main figcaption span {
  font-weight: 800;
  font-size: .73rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.visual-composition-refresh .home-hero-photo--main figcaption strong {
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.2vw, 2.1rem);
}
.visual-composition-refresh .home-hero-photo--top {
  right: 0;
  top: 0;
  width: 47%;
  height: 43%;
  border-radius: 70px 28px 28px 28px;
}
.visual-composition-refresh .home-hero-photo--bottom {
  right: 2%;
  bottom: 1%;
  width: 40%;
  height: 43%;
  border-radius: 28px 28px 72px 28px;
}
.visual-composition-refresh .home-hero-photo--top::before,
.visual-composition-refresh .home-hero-photo--bottom::before {
  content: "✦";
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  top: 13px;
  right: 13px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--cs-refresh-gold);
  color: var(--cs-refresh-purple);
  font-weight: 900;
}
.visual-composition-refresh .cs-photo-story--home {
  margin-top: clamp(30px, 5vw, 70px);
  padding: clamp(22px, 4vw, 46px);
  border: 1px solid var(--cs-refresh-line);
  border-radius: 30px;
  background: linear-gradient(135deg, #fff 0%, #fff8dc 100%);
  box-shadow: 0 15px 40px rgba(95, 37, 121, .08);
}
.visual-composition-refresh .cs-photo-story--home .cs-photo-story-copy { align-self: center; }
.visual-composition-refresh .mission-values-section {
  margin-top: clamp(48px, 7vw, 88px);
  padding-top: clamp(8px, 2vw, 26px);
}
.visual-composition-refresh .mission-values-grid article {
  position: relative;
  overflow: hidden;
}
.visual-composition-refresh .mission-values-grid article::before {
  content: "✦";
  color: var(--cs-refresh-gold);
  font-size: 1rem;
  margin-right: .4rem;
}

/* ------------------------------
   Programs — experience-forward catalog
--------------------------------- */
.visual-composition-refresh .programs-experience-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 7vw, 92px) 0;
  background:
    radial-gradient(circle at 85% 14%, rgba(244,181,22,.24), transparent 30%),
    linear-gradient(132deg, #fff9df, #f5e7f8 58%, #fff);
}
.visual-composition-refresh .programs-experience-hero::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 110px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.78));
}
.visual-composition-refresh .programs-experience-hero .programs-marketplace-hero-grid {
  position: relative;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr);
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
}
.visual-composition-refresh .programs-experience-hero h1 { max-width: 760px; }
.visual-composition-refresh .programs-hero-side { display: grid; gap: 14px; }
.visual-composition-refresh .programs-hero-photo-set {
  min-height: 360px;
  display: grid;
  grid-template-columns: 1.25fr .78fr;
  gap: 13px;
  padding: 0 7px 7px 0;
}
.visual-composition-refresh .programs-hero-photo {
  position: relative;
  overflow: hidden;
  background: var(--cs-refresh-purple);
  box-shadow: var(--cs-refresh-shadow);
  border: 6px solid #fff;
}
.visual-composition-refresh .programs-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visual-composition-refresh .programs-hero-photo--large { border-radius: 30px 30px 30px 78px; }
.visual-composition-refresh .programs-hero-photo--small { border-radius: 62px 28px 28px 28px; margin-top: 40px; margin-bottom: 24px; }
.visual-composition-refresh .programs-hero-photo--large::after {
  content: "";
  position: absolute;
  inset: 50% 0 0;
  background: linear-gradient(180deg, transparent, rgba(40, 16, 53, .65));
}
.visual-composition-refresh .programs-hero-photo figcaption {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 1;
  max-width: 190px;
  color: #fff;
  font: 800 clamp(1.05rem, 2vw, 1.5rem)/1.12 var(--serif);
  text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.visual-composition-refresh .programs-experience-hero .programs-checkout-status {
  display: grid;
  gap: 3px;
  padding: 14px 17px;
  min-height: 0;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(95,37,121,.17);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(57, 22, 74, .09);
}
.visual-composition-refresh .program-flow-section--refreshed {
  margin-top: clamp(34px, 5vw, 66px);
  margin-bottom: clamp(35px, 5vw, 64px);
}
.visual-composition-refresh .program-flow-section--refreshed .program-flow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.visual-composition-refresh .program-flow-section--refreshed .program-flow article {
  padding: 22px 20px;
  background: #fff;
  border: 1px solid var(--cs-refresh-line);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(67, 24, 82, .08);
}
.visual-composition-refresh .program-flow-section--refreshed .program-flow article > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--gold-soft);
  color: var(--purple-900);
  font-weight: 900;
}
.visual-composition-refresh .program-flow-section--refreshed .program-flow h2 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}
.visual-composition-refresh .programs-list-section .section-heading { max-width: 720px; }
.visual-composition-refresh .programs-marketplace-page .program-marketplace-grid {
  gap: clamp(18px, 2.5vw, 28px);
}
.visual-composition-refresh .programs-marketplace-page .program-market-card {
  position: relative;
  overflow: hidden;
  padding: 8.85rem 22px 23px;
  border: 1px solid rgba(95,37,121,.15);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(55, 17, 70, .12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.visual-composition-refresh .programs-marketplace-page .program-market-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 52px rgba(55, 17, 70, .18);
}
.visual-composition-refresh .programs-marketplace-page .program-market-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7.25rem;
  z-index: 0;
  background:
    linear-gradient(125deg, rgba(42,18,53,.27), rgba(42,18,53,.05)),
    url("/assets/curiospark-in-action/creative-table.webp") center/cover;
}
.visual-composition-refresh .programs-marketplace-page .program-market-card:nth-child(3n + 2)::before {
  background:
    linear-gradient(125deg, rgba(42,18,53,.28), rgba(42,18,53,.05)),
    url("/assets/curiospark-in-action/outdoor-learning.webp") center/cover;
}
.visual-composition-refresh .programs-marketplace-page .program-market-card:nth-child(3n + 3)::before {
  background:
    linear-gradient(125deg, rgba(42,18,53,.28), rgba(42,18,53,.05)),
    url("/assets/curiospark-in-action/bubble-play.webp") center/cover;
}
.visual-composition-refresh .programs-marketplace-page .program-market-card::after {
  content: "CURIO SPARK EXPERIENCE";
  position: absolute;
  top: 16px;
  left: 17px;
  z-index: 1;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.91);
  color: var(--cs-refresh-purple);
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .12em;
}
.visual-composition-refresh .programs-marketplace-page .program-market-card > * { position: relative; z-index: 2; }
.visual-composition-refresh .programs-marketplace-page .program-card-heading-row { gap: 12px; }
.visual-composition-refresh .programs-marketplace-page .program-card-heading-row h2 {
  font-size: clamp(1.55rem, 2.1vw, 2.08rem);
}
.visual-composition-refresh .programs-marketplace-page .program-card-visual-icon {
  transform: scale(1.06);
  box-shadow: 0 8px 18px rgba(95,37,121,.16);
}
.visual-composition-refresh .program-payment-note--refreshed {
  border-radius: 25px;
  border: 1px solid rgba(95,37,121,.14);
  background: linear-gradient(115deg, #fff8df, #f7edf9);
}
.visual-composition-refresh .public-location-note {
  max-width: 860px;
  margin-bottom: 20px;
}

/* ------------------------------
   Resource Shop — product-forward
--------------------------------- */
.visual-composition-refresh .resource-shop-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 18%, rgba(244,181,22,.25), transparent 30%),
    linear-gradient(130deg, #fff9e5, #f8edf9 62%, #fff);
}
.visual-composition-refresh .resource-shop-hero .page-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .84fr);
  gap: clamp(30px, 5vw, 66px);
  align-items: center;
}
.visual-composition-refresh .resource-product-peek {
  position: relative;
  min-height: 320px;
  isolation: isolate;
}
.visual-composition-refresh .resource-product-peek-card {
  position: absolute;
  overflow: hidden;
  width: min(285px, 68%);
  border: 7px solid #fff;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--cs-refresh-shadow);
}
.visual-composition-refresh .resource-product-peek-card img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.visual-composition-refresh .resource-product-peek-card--front {
  top: 8px;
  right: 4px;
  z-index: 2;
  transform: rotate(4deg);
}
.visual-composition-refresh .resource-product-peek-card--back {
  left: 8px;
  bottom: 48px;
  z-index: 1;
  transform: rotate(-7deg);
}
.visual-composition-refresh .resource-product-peek-note {
  position: absolute;
  left: 15%;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: grid;
  gap: 1px;
  padding: 14px 18px;
  border-radius: 17px;
  background: var(--cs-refresh-purple);
  color: #fff;
  box-shadow: 0 12px 28px rgba(42,18,53,.27);
}
.visual-composition-refresh .resource-product-peek-note strong { color: var(--gold-bright); }
.visual-composition-refresh .resource-product-peek-note span { font-size: .88rem; }
.visual-composition-refresh .resource-intro--refreshed {
  max-width: 850px;
  margin-top: clamp(28px, 4vw, 54px);
  margin-bottom: clamp(26px, 3vw, 42px);
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.visual-composition-refresh .resource-intro--refreshed p {
  max-width: 760px;
  font: 500 clamp(1.08rem, 1.6vw, 1.28rem)/1.6 var(--sans);
  color: var(--muted);
}
.visual-composition-refresh .cs-resource-story {
  padding: clamp(22px, 4vw, 44px);
  border-radius: 30px;
  border: 1px solid var(--cs-refresh-line);
  background: #fff;
  box-shadow: 0 16px 38px rgba(56, 21, 74, .09);
}
.visual-composition-refresh .resource-shop-collections { gap: clamp(18px, 2.2vw, 28px); }
.visual-composition-refresh .resource-collections-heading {
  grid-column: 1 / -1;
  max-width: 620px;
  margin-bottom: 4px;
}
.visual-composition-refresh .resource-collections-heading h2 {
  font-size: clamp(2rem, 3.5vw, 3.15rem);
}
.visual-composition-refresh .resource-shop-collections .resource-feature-card {
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(95,37,121,.16);
  border-radius: 22px;
  box-shadow: 0 15px 34px rgba(58, 20, 76, .11);
  transition: transform .2s ease, box-shadow .2s ease;
}
.visual-composition-refresh .resource-shop-collections .resource-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 23px 50px rgba(58, 20, 76, .18);
}
.visual-composition-refresh .resource-shop-collections .resource-feature-card > img {
  aspect-ratio: 1.55 / 1;
  width: 100%;
  object-fit: cover;
  background: var(--gold-soft);
}
.visual-composition-refresh .resource-shop-collections .resource-feature-card > div { padding: 20px 20px 22px; }
.visual-composition-refresh .resource-shop-collections .resource-feature-card h2 {
  font-size: clamp(1.55rem, 2.2vw, 2.05rem);
}

/* ------------------------------
   Family Portal — calm, useful dashboard
--------------------------------- */
.visual-composition-refresh .fp-hero {
  padding-bottom: clamp(42px, 6vw, 70px);
  background:
    radial-gradient(circle at 85% 18%, rgba(244,181,22,.22), transparent 32%),
    linear-gradient(130deg, #f8eef9, #fff8df 88%);
}
.visual-composition-refresh .fp-hero h1 { max-width: 680px; }
.visual-composition-refresh .fp-dashboard-welcome {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(290px, .78fr);
  gap: clamp(24px, 4vw, 50px);
  align-items: center;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--cs-refresh-line);
  border-radius: 27px;
  background: linear-gradient(125deg, #fff 0%, #fff8dc 100%);
  box-shadow: 0 17px 40px rgba(58, 20, 76, .10);
}
.visual-composition-refresh .fp-dashboard-welcome figure {
  overflow: hidden;
  border-radius: 21px;
  background: var(--cs-refresh-purple);
  box-shadow: 0 14px 32px rgba(42,18,53,.21);
}
.visual-composition-refresh .fp-dashboard-welcome figure img {
  width: 100%;
  aspect-ratio: 1.18 / 1;
  object-fit: cover;
}
.visual-composition-refresh .fp-dashboard-welcome figcaption {
  padding: 9px 12px;
  color: #fff;
  background: var(--cs-refresh-purple);
  font-size: .79rem;
  font-weight: 750;
}
.visual-composition-refresh .fp-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 19px;
}
.visual-composition-refresh .fp-family-manager {
  margin-top: clamp(26px, 4vw, 46px);
  scroll-margin-top: 92px;
}
.visual-composition-refresh .fp-families-grid {
  margin-top: clamp(24px, 4vw, 42px);
}
.visual-composition-refresh .fp-program-card,
.visual-composition-refresh .fp-calendar-card {
  border: 1px solid var(--cs-refresh-line);
  box-shadow: 0 14px 34px rgba(58, 20, 76, .09);
}
.visual-composition-refresh .fp-program-card {
  background: linear-gradient(135deg, var(--purple-900), var(--purple-800));
}
.visual-composition-refresh .fp-calendar-card { background: #fff; }
.visual-composition-refresh .fp-calendar-helper { margin: 9px 0 0; }
.visual-composition-refresh .fp-connect-section {
  margin-top: clamp(32px, 5vw, 56px);
  padding-top: clamp(24px, 4vw, 42px);
  border-top: 1px solid var(--cs-refresh-line);
}
.visual-composition-refresh .fp-connect-heading { margin-bottom: 16px; }
.visual-composition-refresh .fp-connect-heading h2 { font-size: clamp(1.85rem, 3vw, 2.65rem); }
.visual-composition-refresh .fp-connect-grid { margin-top: 0; }
.visual-composition-refresh .fp-connect-card {
  border: 1px solid var(--cs-refresh-line);
  box-shadow: 0 12px 30px rgba(58,20,76,.08);
}

/* ------------------------------
   Meet the Team — people-first cards
--------------------------------- */
.visual-composition-refresh .team-hero--people-first {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(244,181,22,.24), transparent 31%),
    linear-gradient(130deg, #fff7dc, #f5e7f7 70%, #fff);
}
.visual-composition-refresh .team-hero--people-first .page-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  align-items: center;
  gap: clamp(30px, 5vw, 64px);
}
.visual-composition-refresh .team-hero-photo-strip {
  min-height: 310px;
  position: relative;
}
.visual-composition-refresh .team-hero-photo-strip figure {
  position: absolute;
  overflow: hidden;
  border: 6px solid #fff;
  background: var(--cs-refresh-purple);
  box-shadow: var(--cs-refresh-shadow);
}
.visual-composition-refresh .team-hero-photo-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visual-composition-refresh .team-hero-photo-strip-main {
  left: 0;
  bottom: 0;
  width: 75%;
  height: 88%;
  border-radius: 30px 30px 30px 75px;
}
.visual-composition-refresh .team-hero-photo-strip-small {
  right: 0;
  top: 0;
  width: 47%;
  height: 58%;
  border-radius: 65px 28px 28px 28px;
}
.visual-composition-refresh .team-placard-grid { gap: clamp(19px, 2.7vw, 32px); }
.visual-composition-refresh .team-card-placard {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--cs-refresh-line);
  border-radius: 24px;
  box-shadow: 0 16px 38px rgba(56, 19, 74, .11);
  transition: transform .2s ease, box-shadow .2s ease;
}
.visual-composition-refresh .team-card-placard:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 52px rgba(56, 19, 74, .18);
}
.visual-composition-refresh .team-card-placard .team-photo-stage {
  position: relative;
  overflow: hidden;
}
.visual-composition-refresh .team-card-placard .team-photo-stage::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(42,18,53,.25));
  pointer-events: none;
}
.visual-composition-refresh .team-card-copy { padding: 21px 21px 24px; }
.visual-composition-refresh .team-card-copy .eyebrow {
  min-height: 2.4em;
  color: var(--purple-800);
  font-size: .65rem;
  line-height: 1.35;
  letter-spacing: .1em;
}
.visual-composition-refresh .team-card-copy h2 { font-size: clamp(1.9rem, 3vw, 2.55rem); }
.visual-composition-refresh .team-personality {
  display: grid;
  gap: 4px;
  margin: 17px 0;
  padding: 13px 14px;
  border-left: 4px solid var(--cs-refresh-gold);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(90deg, #fff5c5, #fff);
}
.visual-composition-refresh .team-personality span {
  color: var(--purple-800);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.visual-composition-refresh .team-personality strong {
  color: var(--purple-950);
  font-family: var(--serif);
  font-size: 1.01rem;
  line-height: 1.35;
}
.visual-composition-refresh .team-card-placard details {
  margin-top: 18px;
  border-top: 1px solid var(--cs-refresh-line);
  padding-top: 14px;
}

/* ------------------------------
   Responsive refinement
--------------------------------- */
@media (max-width: 900px) {
  .visual-composition-refresh .brand-world-hero .brand-hero-grid,
  .visual-composition-refresh .programs-experience-hero .programs-marketplace-hero-grid,
  .visual-composition-refresh .resource-shop-hero .page-hero-grid,
  .visual-composition-refresh .fp-dashboard-welcome,
  .visual-composition-refresh .team-hero--people-first .page-hero-grid {
    grid-template-columns: 1fr;
  }
  .visual-composition-refresh .home-hero-photo-mosaic { min-height: 400px; max-width: 640px; width: 100%; margin: 0 auto; }
  .visual-composition-refresh .programs-hero-side { max-width: 620px; width: 100%; margin: 0 auto; }
  .visual-composition-refresh .resource-product-peek { max-width: 520px; width: 100%; margin: 0 auto; }
  .visual-composition-refresh .team-hero-photo-strip { max-width: 560px; width: 100%; margin: 0 auto; }
  .visual-composition-refresh .program-flow-section--refreshed .program-flow { grid-template-columns: 1fr; }
  .visual-composition-refresh .program-flow-section--refreshed .program-flow article { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; }
  .visual-composition-refresh .program-flow-section--refreshed .program-flow article > span { grid-row: span 2; margin: 0; }
  .visual-composition-refresh .program-flow-section--refreshed .program-flow article h2,
  .visual-composition-refresh .program-flow-section--refreshed .program-flow article p { grid-column: 2; }
}

@media (max-width: 640px) {
  .visual-composition-refresh .brand-world-hero { padding-top: 42px; }
  .visual-composition-refresh .home-hero-photo-mosaic { min-height: 325px; }
  .visual-composition-refresh .home-hero-photo--main { width: 60%; height: 88%; border-radius: 22px 22px 55px 22px; }
  .visual-composition-refresh .home-hero-photo--top { width: 48%; height: 40%; border-radius: 48px 20px 20px 20px; }
  .visual-composition-refresh .home-hero-photo--bottom { width: 43%; height: 42%; border-radius: 20px 20px 52px 20px; }
  .visual-composition-refresh .home-hero-photo--main figcaption { left: 13px; right: 13px; bottom: 12px; }
  .visual-composition-refresh .programs-hero-photo-set { min-height: 275px; }
  .visual-composition-refresh .programs-hero-photo--small { margin-top: 22px; margin-bottom: 15px; }
  .visual-composition-refresh .programs-marketplace-page .program-market-card { padding: 8.25rem 18px 20px; }
  .visual-composition-refresh .resource-product-peek { min-height: 285px; }
  .visual-composition-refresh .resource-product-peek-card { width: min(245px, 72%); }
  .visual-composition-refresh .resource-product-peek-note { left: 7%; padding: 12px 15px; }
  .visual-composition-refresh .fp-dashboard-welcome { padding: 20px; }
  .visual-composition-refresh .fp-dashboard-actions { display: grid; grid-template-columns: 1fr; }
  .visual-composition-refresh .fp-dashboard-actions .button { text-align: center; }
  .visual-composition-refresh .team-hero-photo-strip { min-height: 255px; }
  .visual-composition-refresh .team-card-copy { padding: 18px; }
}


/* v8.35.2 preview-safe guard: prevent legacy hidden sync links from becoming visible. */
.frontdoor-programs-sync-anchor[aria-hidden="true"] { display: none !important; }


/* Source: /curiospark-final-layout-tune-v8354.css */
/*
  CurioSpark v8.35.4 — Final Layout + Alignment Tune
  Scope: presentation only. This is a surgical CSS pass for the exact spacing,
  alignment, and text-emphasis issues identified during preview review.
  No scripts, APIs, registration logic, calendar logic, auth, payments, or
  navigation behavior are changed here.
*/

/* Home: tighten the handoff from the photo story to the mission section. */
body.visual-composition-refresh .cs-photo-story--home {
  margin-bottom: clamp(1.55rem, 3vw, 2.6rem);
}
body.visual-composition-refresh .mission-values-section {
  margin-top: 0;
  padding-top: 0;
}

/* Home: keep the lower-right accent intentional instead of letting it drift. */
body.visual-composition-refresh .brand-world-hero .curio-corner.bottom-right {
  width: 176px;
  height: 136px;
  right: -34px;
  bottom: -32px;
  opacity: .64;
  border-radius: 56% 44% 52% 48%;
}

/* Programs: bring the three-step flow and the live catalog into one rhythm. */
body.programs-marketplace-page .program-flow-section--refreshed {
  margin-top: clamp(1.4rem, 3vw, 2.45rem);
  margin-bottom: clamp(1.35rem, 2.8vw, 2.35rem);
  padding: 0 0 .4rem;
}
body.programs-marketplace-page .programs-list-section {
  padding-top: clamp(1.65rem, 3.2vw, 2.65rem);
}

/* Calendar: use a single aligned content rail for status, controls, grid, and note. */
body.programs-calendar-page .calendar-live-section {
  padding-top: clamp(1.3rem, 2.5vw, 2rem);
}
body.programs-calendar-page .calendar-live-status,
body.programs-calendar-page .calendar-live-controls,
body.programs-calendar-page [data-calendar-months],
body.programs-calendar-page [data-calendar-details],
body.programs-calendar-page .v748-calendar-note {
  width: 100%;
  max-width: 980px;
  margin-inline: auto;
}
body.programs-calendar-page .calendar-live-status {
  margin-bottom: .85rem;
}
body.programs-calendar-page .calendar-live-controls {
  display: grid !important;
  grid-template-columns: max-content minmax(17rem, 18rem);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0;
  margin-bottom: 1rem;
}
body.programs-calendar-page .calendar-month-nav {
  width: 100%;
  min-width: 0;
  justify-self: end;
}
body.programs-calendar-page .calendar-grid-wrap,
body.programs-calendar-page .calendar-detail-card {
  width: 100%;
  max-width: none;
  margin-inline: auto;
}
body.programs-calendar-page .v748-calendar-note {
  display: block;
  box-sizing: border-box;
  margin-top: 1rem;
  padding: .82rem 1rem;
  border: 1px solid rgba(95,37,121,.14);
  border-radius: 1rem;
  background: linear-gradient(135deg, #fff8dc, #fffdf8);
  color: #4a176d;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}
body.programs-calendar-page .v748-calendar-note::before {
  content: "✦ ";
  color: #b67b00;
}

/* Resource Shop: turn the introductory sentence into a purposeful callout. */
body.public-frontdoor-page .resource-intro--refreshed {
  max-width: 820px;
  margin-top: clamp(1.65rem, 3vw, 2.4rem);
  margin-bottom: clamp(1.8rem, 3vw, 2.7rem);
}
body.public-frontdoor-page .resource-intro--refreshed p {
  max-width: none;
  margin: 0;
  padding: .95rem 1.15rem;
  border-left: 4px solid #f4b516;
  border-radius: 0 1rem 1rem 0;
  background: linear-gradient(90deg, #fff7d9, #fffdf8);
  color: #4a176d;
  font-size: clamp(1rem, 1.45vw, 1.16rem);
  font-weight: 750;
  line-height: 1.55;
}

/* Big Vision: reduce dead air and give explanatory copy a clear visual home. */
body.big-vision-page .cs-photo-break--vision {
  margin-top: clamp(2rem, 3.8vw, 3.1rem);
  margin-bottom: clamp(1.8rem, 3.5vw, 2.9rem);
  gap: clamp(1.25rem, 3vw, 2.5rem);
}
body.big-vision-page .cs-photo-break--vision .cs-photo-break-copy {
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid rgba(95,37,121,.12);
  border-radius: 1.35rem;
  background: linear-gradient(135deg, #fffdf8, #fbf4ff);
  box-shadow: 0 12px 28px rgba(58,20,76,.06);
}
body.big-vision-page .cs-photo-break--vision .cs-photo-break-copy p:not(.eyebrow) {
  max-width: none;
  margin: .78rem 0 0;
  padding-left: .82rem;
  border-left: 3px solid #f4b516;
  color: #594864;
  font-weight: 650;
  line-height: 1.62;
}
body.big-vision-page .vision-snapshot-section {
  padding-top: clamp(1.65rem, 3vw, 2.55rem);
}
body.big-vision-page .vision-feature-section {
  padding-top: clamp(1.8rem, 3.5vw, 2.85rem);
  padding-bottom: clamp(1.8rem, 3.5vw, 2.85rem);
}
body.big-vision-page .vision-guide-trigger {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
body.big-vision-page .vision-guide-portal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: min(100%, 535px);
  box-sizing: border-box;
  margin: .2rem auto 0;
  padding: .78rem .95rem;
  border: 1px solid rgba(95,37,121,.16);
  border-radius: .9rem;
  background: linear-gradient(135deg, #fff8dc, #fffdf8);
  color: #4a176d;
  font-size: .92rem;
  font-weight: 850;
  line-height: 1.3;
  text-align: left;
}
body.big-vision-page .vision-guide-portal:hover,
body.big-vision-page .vision-guide-trigger:focus-visible .vision-guide-portal {
  border-color: rgba(95,37,121,.34);
  box-shadow: 0 8px 20px rgba(58,20,76,.10);
  outline: none;
}
body.big-vision-page .vision-feature-caption {
  max-width: 535px;
  margin: .85rem auto 0;
  color: #5b4865;
  font-weight: 750;
  line-height: 1.45;
  text-align: center;
}

/* Family Portal: make the top summary and final enrollment guidance feel deliberate. */
body.simplified-site .fp-hero [data-fp-summary] {
  max-width: 700px;
  margin: .82rem 0 0;
  padding: .84rem 1rem;
  border-left: 4px solid #f4b516;
  border-radius: 0 1rem 1rem 0;
  background: rgba(255,255,255,.72);
  color: #4a176d;
  font-weight: 750;
  line-height: 1.55;
}
body.simplified-site .fp-enrollment-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(151,99,8,.18);
  border-radius: 1rem;
  background: linear-gradient(135deg, #fff8dc, #fffdf8);
}
body.simplified-site .fp-enrollment-footer p {
  max-width: 58ch;
  color: #4f3b58;
  font-weight: 700;
  line-height: 1.5;
}
body.simplified-site .fp-enrollment-footer .button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  margin: 0;
}
body.simplified-site .fp-enrollment-footer .button,
body.simplified-site .fp-enrollment-footer .fp-enrollment-help {
  flex: 0 0 auto;
  margin: 0;
}

@media (max-width: 780px) {
  body.visual-composition-refresh .brand-world-hero .curio-corner.bottom-right {
    width: 132px;
    height: 110px;
    right: -30px;
    bottom: -26px;
    opacity: .52;
  }
  body.programs-calendar-page .calendar-live-controls {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }
  body.programs-calendar-page .calendar-view-toggle,
  body.programs-calendar-page .calendar-month-nav {
    width: 100%;
    justify-self: stretch;
  }
  body.programs-calendar-page .calendar-view-toggle button {
    flex: 1;
  }
  body.simplified-site .fp-enrollment-footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  body.simplified-site .fp-enrollment-footer .button-row {
    justify-content: flex-start;
  }
}

@media (max-width: 540px) {
  body.public-frontdoor-page .resource-intro--refreshed p,
  body.simplified-site .fp-hero [data-fp-summary] {
    padding: .78rem .85rem;
  }
  body.big-vision-page .cs-photo-break--vision .cs-photo-break-copy {
    padding: .9rem;
  }
  body.big-vision-page .vision-guide-portal {
    font-size: .86rem;
  }
}


/* Source: /curiospark-home-streamline-v8361.css */
/* CurioSpark Home Streamline v8.36.1
   Scope: Home page presentation only.
   Purpose: preserve Devin's approved copy while reducing repeated lower-page actions
   and making the existing sections read as a calmer, clearer story.
   No scripts, auth, APIs, registration, payments, or shared stylesheet rules are changed. */

body.home-streamline-v8361 .cs-photo-story--home {
  margin-top: clamp(2rem, 4vw, 3.75rem);
}

body.home-streamline-v8361 .cs-photo-story--home .cs-photo-story-copy > p:not(.eyebrow) {
  max-width: 58ch;
}

/* The hero owns the two primary destinations. Lower sections now offer only a distinct next step. */
body.home-streamline-v8361 .home-path-action {
  margin-top: clamp(1rem, 2vw, 1.35rem);
}

/* Keep both destination panels, but make them feel like concise orientation—not a second home page. */
body.home-streamline-v8361 .local-access-hub {
  padding-top: 0;
  padding-bottom: clamp(1.75rem, 4vw, 3rem);
}

body.home-streamline-v8361 .local-access-hub .mini-panel {
  min-height: 0;
  padding: clamp(1.65rem, 3.2vw, 2.5rem);
}

body.home-streamline-v8361 .local-access-hub .mini-panel h2 {
  max-width: 21ch;
  font-size: clamp(2rem, 3.35vw, 3.15rem);
  line-height: 1.05;
}

body.home-streamline-v8361 .local-access-hub .mini-panel > p:not(.eyebrow) {
  max-width: 59ch;
  margin-bottom: 0;
}

/* The Resource section is its own destination; one eyebrow keeps the hierarchy clean. */
body.home-streamline-v8361 .category-showcase-section {
  padding-top: clamp(2.25rem, 4.2vw, 4.25rem);
}

body.home-streamline-v8361 .category-showcase-section .section-heading .eyebrow {
  margin-bottom: .55rem;
}

@media (max-width: 760px) {
  body.home-streamline-v8361 .cs-photo-story--home {
    margin-top: 1.5rem;
  }

  body.home-streamline-v8361 .local-access-hub .mini-panel {
    padding: 1.5rem;
  }

  body.home-streamline-v8361 .local-access-hub .mini-panel h2 {
    max-width: none;
  }
}


/* Source: /curiospark-home-logo-hero-v8365.css */
/* CurioSpark v8.36.5 - Home logo hero image swap
   Keeps the established hero card dimensions while presenting the approved logo clearly. */
.home-streamline-v8361 .home-hero-photo--main.home-hero-photo--brand {
  background: #ffffff;
}
.home-streamline-v8361 .home-hero-photo--main.home-hero-photo--brand::after {
  display: none;
}
.home-streamline-v8361 .home-hero-photo--main.home-hero-photo--brand img {
  object-fit: cover;
  object-position: center center;
}


/* Source: /curiospark-home-hero-focus-v8369.css */
/* CurioSpark v8.36.9 - Home Hero Logo Focus
   Scope: Home hero mosaic only.
   Intent: one approved logo card, no photo tiles, and safe CSS-only sparkle motion.
   No text, API, auth, registration, payment, script, or shared stylesheet changes. */

body.home-hero-logo-focus .home-hero-photo-mosaic {
  min-height: clamp(390px, 38vw, 510px);
}

body.home-hero-logo-focus .home-hero-photo--main.home-hero-photo--brand {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 34px 34px 80px 34px;
  background: #ffffff;
}

body.home-hero-logo-focus .home-hero-photo--main.home-hero-photo--brand::after {
  display: none;
}

body.home-hero-logo-focus .home-hero-photo--main.home-hero-photo--brand img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

body.home-hero-logo-focus .cs-hero-focus-spark {
  position: absolute;
  z-index: 2;
  display: block;
  width: clamp(11px, 1.35vw, 18px);
  height: clamp(11px, 1.35vw, 18px);
  pointer-events: none;
  clip-path: polygon(50% 0%, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0% 50%, 39% 39%);
  transform-origin: center;
  animation: csHomeHeroFocusSpark 3.8s ease-in-out infinite;
}

body.home-hero-logo-focus .cs-hero-focus-spark--one {
  top: 11%;
  left: 13%;
  background: #f4b516;
}

body.home-hero-logo-focus .cs-hero-focus-spark--two {
  top: 20%;
  right: 13%;
  width: clamp(8px, 1vw, 13px);
  height: clamp(8px, 1vw, 13px);
  background: #5f2579;
  animation-delay: 0.8s;
}

body.home-hero-logo-focus .cs-hero-focus-spark--three {
  bottom: 16%;
  left: 16%;
  width: clamp(9px, 1.1vw, 15px);
  height: clamp(9px, 1.1vw, 15px);
  background: #5f2579;
  animation-delay: 1.6s;
}

body.home-hero-logo-focus .cs-hero-focus-spark--four {
  right: 14%;
  bottom: 12%;
  background: #f4b516;
  animation-delay: 2.3s;
}

@keyframes csHomeHeroFocusSpark {
  0%,
  100% {
    opacity: 0.4;
    transform: translate3d(0, 0, 0) scale(0.78) rotate(0deg);
  }

  50% {
    opacity: 1;
    transform: translate3d(0, -7px, 0) scale(1.08) rotate(10deg);
  }
}

@media (max-width: 900px) {
  body.home-hero-logo-focus .home-hero-photo-mosaic {
    min-height: clamp(360px, 88vw, 500px);
  }
}

@media (max-width: 640px) {
  body.home-hero-logo-focus .home-hero-photo-mosaic {
    min-height: min(88vw, 430px);
    margin-top: 1.2rem;
  }

  body.home-hero-logo-focus .home-hero-photo--main.home-hero-photo--brand {
    border-radius: 28px 28px 64px 28px;
  }

  body.home-hero-logo-focus .cs-hero-focus-spark--one {
    top: 10%;
    left: 12%;
  }

  body.home-hero-logo-focus .cs-hero-focus-spark--two {
    top: 15%;
    right: 12%;
  }

  body.home-hero-logo-focus .cs-hero-focus-spark--three {
    bottom: 15%;
    left: 14%;
  }

  body.home-hero-logo-focus .cs-hero-focus-spark--four {
    right: 13%;
    bottom: 10%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-hero-logo-focus .cs-hero-focus-spark {
    animation: none;
    opacity: 0.82;
  }
}


/* Source: /curiospark-home-hero-warm-backdrop-v83611.css */
/* CurioSpark v8.36.11 - Home Hero Warm Background Restore
   Scope: one existing Home hero logo card only.
   Keeps the approved v8.36.9 image, card dimensions, position, and sparkle animation.
   Adds a warm pale-yellow background by blending behind the existing image—no new logo art. */

body.home-hero-logo-focus .home-hero-photo--main.home-hero-photo--brand {
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.52) 0%, rgba(255, 248, 213, 0.18) 40%, transparent 70%),
    linear-gradient(145deg, #fff5c7 0%, #fff9e5 48%, #fff0b8 100%);
}

/* The existing v8.36.9 logo asset has a white canvas. Multiply lets its white canvas
   inherit the warm card layer underneath while preserving the approved logo artwork. */
body.home-hero-logo-focus .home-hero-photo--main.home-hero-photo--brand > img {
  mix-blend-mode: multiply;
}


/* Source: /curiospark-public-micro-polish-v83612.css */
/* CurioSpark v8.36.12 - Public micro polish
   Exact scope only:
   1) Home mobile hero decoration alignment and safe decorative motion.
   2) Home mission eyebrow placement and weight.
   3) Big Vision hero side decoration removal.
   No shared stylesheet, script, auth, API, registration, payment, or content logic changes. */

/* Home: replace legacy text glyph doodles with CSS-only diamonds.
   This suppresses emoji or encoding fallback without changing the existing HTML. */
body.home-streamline-v8361 .brand-world-hero .floating-doodles span {
  box-sizing: border-box;
  display: block;
  width: 11px;
  height: 11px;
  font-size: 0 !important;
  line-height: 0;
  text-shadow: none !important;
  opacity: 0.58;
}

body.home-streamline-v8361 .brand-world-hero .floating-doodles span::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  clip-path: polygon(50% 0%, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0% 50%, 38% 38%);
}

/* Keep only a restrained pair in the lower outer space of the desktop hero. */
body.home-streamline-v8361 .brand-world-hero .floating-doodles span:nth-child(1),
body.home-streamline-v8361 .brand-world-hero .floating-doodles span:nth-child(2),
body.home-streamline-v8361 .brand-world-hero .floating-doodles span:nth-child(n + 5) {
  display: none;
}

body.home-streamline-v8361 .brand-world-hero .floating-doodles span:nth-child(3) {
  right: 5% !important;
  top: auto !important;
  bottom: 11% !important;
}

body.home-streamline-v8361 .brand-world-hero .floating-doodles span:nth-child(4) {
  left: 5% !important;
  right: auto !important;
  top: auto !important;
  bottom: 11% !important;
}

/* Mission label: intentional, bold, and closer to the top edge of its card. */
body.home-streamline-v8361 .mission-values-heading {
  padding-top: clamp(0.9rem, 1.5vw, 1.15rem) !important;
}

body.home-streamline-v8361 .mission-values-heading > .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 0.4rem !important;
  color: #4b176c;
  font-weight: 900 !important;
  letter-spacing: 0.14em;
}

/* Big Vision: remove only the oversized side ornament pair called out in review. */
body.big-vision-page-compact .big-vision-hero::before,
body.big-vision-page-compact .big-vision-hero::after {
  content: none !important;
  display: none !important;
}

/* On mobile, keep the Home hero handoff clean and aligned. */
@media (max-width: 640px) {
  body.home-streamline-v8361 .brand-world-hero .curio-corner.bottom-right,
  body.home-streamline-v8361 .brand-world-hero .floating-doodles {
    display: none;
  }

  body.home-streamline-v8361 .brand-world-hero .curio-corner.top-left {
    top: -84px;
    left: -98px;
    width: 206px;
    height: 154px;
    opacity: 0.34;
  }

  body.home-streamline-v8361 .mission-values-heading {
    padding-top: 0.95rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-streamline-v8361 .brand-world-hero .floating-doodles span {
    animation: none;
  }
}


/* Source: /curiospark-home-mobile-eyebrow-v83613.css */
/* CurioSpark v8.36.13 - Home mobile eyebrow alignment
   Scope: mobile Home hero eyebrow only. */
@media (max-width: 640px) {
  body.home-streamline-v8361 .brand-world-hero .hero-copy > .eyebrow {
    margin-top: -0.5rem !important;
    margin-bottom: 0.35rem !important;
  }
}


/* Source: /curiospark-home-final-micro-v83614.css */
/* CurioSpark v8.36.14 - Home final micro alignment
   Scope: Home presentation only.
   1. Mobile hero eyebrow strip moves up into its intended hero space.
   2. Austin and digital panels clear the section divider on Home.
   No text, image, script, auth, registration, payment, API, or shared CSS changes. */

/* Give the two Home pathway panels a deliberate top gutter below the divider. */
body.home-streamline-v8361 .local-access-hub {
  padding-top: clamp(1.25rem, 2.2vw, 1.85rem) !important;
}

/* On phones, lift the existing eyebrow strip and its following hero flow together. */
@media (max-width: 640px) {
  body.home-streamline-v8361 .brand-world-hero .hero-copy > .eyebrow {
    margin-top: -2.85rem !important;
    margin-bottom: 0.35rem !important;
  }
}


/* Source: /curiospark-home-mobile-eyebrow-lift-v83616.css */
/* CurioSpark v8.36.16 - Home mobile eyebrow lift
   Scope: Mobile Home hero eyebrow only.
   No text, image, animation, script, auth, registration, payment, API,
   shared stylesheet, or desktop layout changes. */

@media (max-width: 640px) {
  body.home-streamline-v8361 .brand-world-hero .hero-copy > .eyebrow {
    position: relative;
    z-index: 2;
    transform: translateY(-2rem);
  }
}


/* Source: /curiospark-home-mobile-eyebrow-position-v83617.css */
/* CurioSpark v8.36.17 - Home mobile eyebrow position
   Scope: Mobile Home hero eyebrow strip only.
   Adjustment: move the existing strip down one text-line from v8.36.16.
   No text, image, animation, script, auth, registration, payment, API,
   shared stylesheet, or desktop layout changes. */

@media (max-width: 640px) {
  body.home-streamline-v8361 .brand-world-hero .hero-copy > .eyebrow {
    transform: translateY(-1rem);
  }
}


/* Source: /curiospark-home-header-footer-refine-v83619.css */
/* CurioSpark v8.36.19 - Home header wordmark and footer link alignment.
   Scope: Home page only. No content, workflow, script, image, or shared-style changes. */

/* The shared header script applies .header-bulb-brand at runtime. Give the approved
   CurioSpark wordmark its intended visual weight on Home without changing the menu. */
body.home-streamline-v8361 .site-header .logo-brand.header-bulb-brand {
  flex: 0 0 184px;
  width: 184px;
  min-width: 184px;
  height: 70px;
}
body.home-streamline-v8361 .site-header .logo-brand.header-bulb-brand img {
  width: auto !important;
  max-width: none !important;
  height: 62px !important;
  max-height: none !important;
  object-fit: contain;
}

/* Keep the Facebook Community link in the third footer column, aligned with the
   middle navigation links instead of resting at the bottom edge. */
body.home-streamline-v8361 .public-frontdoor-footer .footer-grid {
  padding-bottom: 0;
}
body.home-streamline-v8361 .public-frontdoor-footer .footer-social-corner {
  position: static;
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  margin-top: 5.3rem;
}
body.home-streamline-v8361 .public-frontdoor-footer .footer-grid .footer-facebook-link {
  display: inline-flex !important;
  width: max-content !important;
  margin: 0 !important;
  color: #4b176c !important;
  text-shadow: none !important;
  white-space: nowrap;
}
body.home-streamline-v8361 .public-frontdoor-footer .footer-grid .footer-facebook-link__label {
  color: #4b176c !important;
  opacity: 1 !important;
}

@media (max-width: 820px) {
  body.home-streamline-v8361 .site-header .logo-brand.header-bulb-brand {
    flex-basis: 142px;
    width: 142px;
    min-width: 142px;
    height: 58px;
  }
  body.home-streamline-v8361 .site-header .logo-brand.header-bulb-brand img {
    height: 49px !important;
  }
  body.home-streamline-v8361 .public-frontdoor-footer .footer-grid {
    padding-bottom: 1.25rem;
  }
  body.home-streamline-v8361 .public-frontdoor-footer .footer-social-corner {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-self: start;
    margin-top: .9rem;
  }
}


/* Source: /public-visual-consistency-v849.css */
/* CurioSpark v8.49 - public visual consistency, portrait delivery, and linked resource cards. */

/* Programs: one intentional card stock with aligned content and action zones. */
body.programs-marketplace-page .program-marketplace-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr;
}
body.programs-marketplace-page .v849-course-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}
body.programs-marketplace-page .v849-course-card .program-card-topline {
  min-height: 2.8rem;
}
body.programs-marketplace-page .v849-course-card .program-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
body.programs-marketplace-page .v849-course-card .program-card-heading-row {
  min-height: 7.25rem;
  align-items: flex-start;
}
body.programs-marketplace-page .v849-course-card .program-card-title-block {
  min-width: 0;
  flex: 1 1 auto;
}
body.programs-marketplace-page .v849-course-card .program-card-title-block h2 {
  overflow-wrap: anywhere;
}
body.programs-marketplace-page .v849-course-card .program-card-description-zone {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 15.75rem;
}
body.programs-marketplace-page .v849-course-card .program-description-group {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
body.programs-marketplace-page .v849-course-card .program-details-toggle {
  align-self: flex-start;
  margin-top: auto;
  padding-top: .55rem;
}
body.programs-marketplace-page .v849-course-card .program-card-footer {
  margin-top: auto;
}
body.programs-marketplace-page .v849-course-card .program-meta {
  min-height: 6.05rem;
  align-content: flex-start;
  margin-top: .85rem;
}
body.programs-marketplace-page .v849-course-card .program-card-actions {
  min-height: 4.15rem;
  align-items: flex-end;
}
body.programs-marketplace-page .v849-course-card .program-card-actions > .button {
  min-width: min(100%, 14.25rem);
  justify-content: center;
  text-align: center;
}
body.programs-marketplace-page .v849-course-card .program-setup-note {
  display: block;
  max-width: 32rem;
  line-height: 1.45;
}
body.programs-marketplace-page .v849-course-card .program-card-visual {
  width: 4.45rem;
  height: 4.45rem;
  min-width: 4.45rem;
  display: grid;
  place-items: center;
  border-radius: 1.2rem;
  overflow: hidden;
}
body.programs-marketplace-page .v849-course-card .program-card-visual img {
  width: 3.3rem;
  height: 3.3rem;
  object-fit: contain;
  display: block;
}
body.programs-marketplace-page .program-card-visual--reading { background: linear-gradient(145deg, #fff8d8, #f6eaff); }
body.programs-marketplace-page .program-card-visual--early-literacy { background: linear-gradient(145deg, #fff4be, #e9f9f1); }
body.programs-marketplace-page .program-card-visual--adventure { background: linear-gradient(145deg, #f4e9ff, #fff4be); }
body.programs-marketplace-page .program-card-visual--math { background: linear-gradient(145deg, #eee4f8, #f7f1ff); }
body.programs-marketplace-page .program-card-visual--science { background: linear-gradient(145deg, #e6fbf2, #fff7cc); }
body.programs-marketplace-page .program-card-visual--nature { background: linear-gradient(145deg, #e5f8e7, #f6f1d6); }
body.programs-marketplace-page .program-card-visual--creative { background: linear-gradient(145deg, #fff0df, #f2e6fb); }
body.programs-marketplace-page .program-card-visual--world { background: linear-gradient(145deg, #e5f4ff, #e8f8ec); }
body.programs-marketplace-page .program-card-visual--community { background: linear-gradient(145deg, #fff1e7, #f5e9ff); }
body.programs-marketplace-page .program-card-visual--wonder { background: linear-gradient(145deg, #fff6bd, #efe5f8); }

/* Meet the Team: preserve real source detail and avoid GPU/filter softening. */
.team-placard-grid .team-picture-v849 {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.team-placard-grid .team-picture-v849 img,
.team-placard-grid .team-photo-stage img[data-team-portrait-v849] {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transform: none !important;
  backface-visibility: visible !important;
  will-change: auto !important;
  image-rendering: auto !important;
}
.public-visual-storytelling .team-card-placard:hover .team-picture-v849 img {
  transform: none !important;
}
.team-placard-grid img[data-team-portrait-v849="emily"] { object-position: center 42% !important; }
.team-placard-grid img[data-team-portrait-v849="alex"] { object-position: center 44% !important; }

/* Home resources: the full card is an accessible link with a clear visual affordance. */
.category-image-card.category-image-card-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category-image-card.category-image-card-link:hover {
  transform: translateY(-3px);
  border-color: rgba(95,37,121,.28);
  box-shadow: 0 20px 42px rgba(69,25,91,.14);
}
.category-image-card.category-image-card-link:focus-visible {
  outline: 3px solid #5f2579;
  outline-offset: 4px;
}
.category-image-card-link .category-card-link-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: .72rem;
  color: #5f2579;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.category-image-card-link .category-card-link-label::after {
  content: ' >';
  text-decoration: none;
}

@media (max-width: 760px) {
  body.programs-marketplace-page .v849-course-card .program-card-heading-row,
  body.programs-marketplace-page .v849-course-card .program-card-description-zone,
  body.programs-marketplace-page .v849-course-card .program-meta,
  body.programs-marketplace-page .v849-course-card .program-card-actions {
    min-height: 0;
  }
  body.programs-marketplace-page .v849-course-card .program-card-visual {
    width: 3.75rem;
    height: 3.75rem;
    min-width: 3.75rem;
  }
  body.programs-marketplace-page .v849-course-card .program-card-visual img {
    width: 2.8rem;
    height: 2.8rem;
  }
  body.programs-marketplace-page .v849-course-card .program-card-actions > .button {
    width: 100%;
    min-width: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .category-image-card.category-image-card-link { transition: none; }
  .category-image-card.category-image-card-link:hover { transform: none; }
}


/* Source: /curiospark-premium-elevation-v920.css */
/* CurioSpark v9.5.0 - Editorial Experience System
   Presentation-only consolidation. No content, image, color-palette, workflow, or data changes. */

body.cs-premium-v920 {
  --cs-px-shadow-xs: 0 1px 2px rgba(42,18,53,.05), 0 8px 22px rgba(95,37,121,.055);
  --cs-px-shadow-sm: 0 1px 2px rgba(42,18,53,.045), 0 14px 34px rgba(95,37,121,.075);
  --cs-px-shadow-md: 0 2px 4px rgba(42,18,53,.045), 0 24px 56px rgba(95,37,121,.11);
  --cs-px-shadow-lg: 0 2px 5px rgba(42,18,53,.045), 0 34px 82px rgba(95,37,121,.14);
  --cs-px-border: rgba(95,37,121,.145);
  --cs-px-border-strong: rgba(95,37,121,.22);
  --cs-px-radius-sm: 12px;
  --cs-px-radius-md: 18px;
  --cs-px-radius-lg: 24px;
  --cs-px-radius-xl: 30px;
  --cs-px-ease: cubic-bezier(.2,.8,.2,1);
  --cs-px-ease-spring: cubic-bezier(.2,.9,.25,1.15);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

body.cs-premium-v920 :where(h1,h2,h3,h4) {
  text-wrap: balance;
  font-optical-sizing: auto;
}
body.cs-premium-v920 :where(p,li,blockquote) { text-wrap: pretty; }
body.cs-premium-v920 :where(h1) { letter-spacing: -.052em; line-height: .98; }
body.cs-premium-v920 :where(h2) { letter-spacing: -.044em; line-height: 1.015; }
body.cs-premium-v920 :where(h3,h4) { letter-spacing: -.025em; }
/* v9.2.5: normalize the family without erasing component-specific weight, size, or line-height. */
body.cs-premium-v920 :where(input,select,textarea,button) {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.cs-premium-v920 :where(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid rgba(244,181,22,.45);
  outline-offset: 3px;
}

/* Brand chrome: same CurioSpark palette, cleaner depth and rhythm. */
body.cs-premium-v920 .site-header {
  background: rgba(255,255,255,.9);
  border-bottom-color: rgba(95,37,121,.11);
  box-shadow: 0 10px 36px rgba(42,18,53,.055);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
  backdrop-filter: blur(22px) saturate(1.15);
}
body.cs-premium-v920 .nav { min-height: 72px; }
body.cs-premium-v920 .nav-links a,
body.cs-premium-v920 .v802-workspace-nav > a,
body.cs-premium-v920 .v802-workspace-nav summary {
  transition: transform 180ms var(--cs-px-ease), background 180ms var(--cs-px-ease), color 180ms var(--cs-px-ease), box-shadow 180ms var(--cs-px-ease);
}
body.cs-premium-v920 .nav-links a { letter-spacing: .005em; }
body.cs-premium-v920 .nav-links a.active:not(.nav-button) {
  box-shadow: inset 0 0 0 1px rgba(95,37,121,.08);
}
body.cs-premium-v920 .nav-toggle {
  border-color: var(--cs-px-border);
  box-shadow: var(--cs-px-shadow-xs);
  transition: transform 180ms var(--cs-px-ease), box-shadow 180ms var(--cs-px-ease);
}
body.cs-premium-v920 .nav-toggle:active { transform: scale(.97); }

/* Buttons: refined rather than louder. */
body.cs-premium-v920 .button,
body.cs-premium-v920 button:not(.nav-toggle):not(.program-modal-close):not(.calendar-registration-close) {
  transition: transform 180ms var(--cs-px-ease), box-shadow 220ms var(--cs-px-ease), background 180ms var(--cs-px-ease), border-color 180ms var(--cs-px-ease), color 180ms var(--cs-px-ease);
}
body.cs-premium-v920 .button {
  min-height: 47px;
  padding-inline: 20px;
  letter-spacing: -.008em;
  box-shadow: var(--cs-px-shadow-xs);
}
body.cs-premium-v920 .button.small { min-height: 44px; padding-inline: 16px; }
body.cs-premium-v920 .button.primary,
body.cs-premium-v920 .button.gold { box-shadow: 0 12px 26px rgba(95,37,121,.17); }
body.cs-premium-v920 .button.secondary,
body.cs-premium-v920 .button.ghost {
  background-color: rgba(255,255,255,.88);
  border-color: rgba(95,37,121,.19);
}
body.cs-premium-v920 .button:active { transform: translateY(0) scale(.98); box-shadow: var(--cs-px-shadow-xs); }

/* Premium editorial typography and whitespace on public-facing pages. */
body.cs-premium-v920.public-frontdoor-page,
body.cs-premium-v920.programs-marketplace-page,
body.cs-premium-v920.programs-calendar-page,
body.cs-premium-v920.public-visual-storytelling,
body.cs-premium-v920.family-portal-page {
  font-size: 15px;
}
body.cs-premium-v920.public-frontdoor-page .shell,
body.cs-premium-v920.programs-marketplace-page .shell,
body.cs-premium-v920.programs-calendar-page .shell,
body.cs-premium-v920.public-visual-storytelling .shell {
  width: min(1160px, calc(100% - 48px));
}
body.cs-premium-v920 .eyebrow {
  letter-spacing: .17em;
  line-height: 1.35;
}
body.cs-premium-v920 :where(.hero-lede,.page-hero p,.calendar-hero p,.programs-marketplace-hero p,.team-hero p,.resource-shop-hero p) {
  line-height: 1.72;
}
body.cs-premium-v920 :where(.hero,.page-hero,.calendar-hero,.programs-marketplace-hero,.team-hero,.resource-shop-hero,.fp-hero) {
  isolation: isolate;
}
body.cs-premium-v920 :where(.hero-copy,.page-hero-grid > div:first-child,.calendar-hero .shell,.programs-marketplace-hero-grid > div:first-child,.team-hero > .shell > div:first-child,.resource-shop-hero > .shell > div:first-child) {
  position: relative;
  z-index: 2;
}

/* A quiet section cadence: no reordering, no new colors. */
body.cs-premium-v920.public-frontdoor-page main > section:not(:first-child),
body.cs-premium-v920.programs-marketplace-page main > section:not(:first-child),
body.cs-premium-v920.programs-calendar-page main > section:not(:first-child),
body.cs-premium-v920.public-visual-storytelling main > section:not(:first-child) {
  position: relative;
}
body.cs-premium-v920.public-frontdoor-page main > section:not(:first-child)::before,
body.cs-premium-v920.programs-marketplace-page main > section:not(:first-child)::before,
body.cs-premium-v920.programs-calendar-page main > section:not(:first-child)::before,
body.cs-premium-v920.public-visual-storytelling main > section:not(:first-child)::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: min(132px, 28vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(244,181,22,.72), rgba(95,37,121,.38), transparent);
  pointer-events: none;
}

/* Card system: layered depth with restrained borders. */
body.cs-premium-v920 :where(
  .mini-panel,
  .mission-values-grid > *,
  .cs-photo-story,
  .program-flow > *,
  .program-market-card,
  .program-payment-note,
  .public-location-note,
  .cs-calendar-moment,
  .calendar-note-grid > *,
  .v8492-calendar-list-card,
  .v8492-calendar-detail-card,
  .resource-feature-card,
  .resource-product-peek-card,
  .cs-resource-story,
  .team-card-compact,
  .cs-team-story,
  .fp-connect-card,
  .fp-program-card,
  .fp-calendar-card,
  .page-callout,
  .v743-form-step,
  .v743-payment-panel,
  .v743-review-card,
  .calm-admin-card,
  .team-hub-card,
  .admin-card,
  .payment-ops-card,
  .payment-desk-panel,
  .v910-finance-center,
  .v910-metric,
  .v910-summary-card,
  .v910-plan-card,
  .v910-exception-card,
  .v910-audit-row,
  .v813-payout-card,
  .notice-card
) {
  border-color: var(--cs-px-border);
  box-shadow: var(--cs-px-shadow-sm);
}
body.cs-premium-v920 :where(
  .mini-panel,
  .mission-values-grid > *,
  .program-flow > *,
  .program-market-card,
  .v8492-calendar-list-card,
  .resource-feature-card,
  .team-card-compact,
  .fp-connect-card,
  .fp-program-card,
  .calm-admin-card,
  .team-hub-card,
  .admin-card
) {
  overflow: clip;
}
body.cs-premium-v920 :where(
  .mini-panel,
  .program-market-card,
  .v8492-calendar-list-card,
  .resource-feature-card,
  .team-card-compact,
  .fp-connect-card,
  .fp-program-card,
  .calm-admin-card,
  .team-hub-card,
  .admin-card
) { position: relative; }

/* Home: preserve narrative and imagery, sharpen composition. */
body.cs-premium-v920.home-streamline-v8361 .hero { padding-top: 88px; padding-bottom: 76px; }
body.cs-premium-v920.home-streamline-v8361 .hero-grid { gap: clamp(44px, 6vw, 76px); }
body.cs-premium-v920.home-streamline-v8361 .hero-copy { max-width: 620px; }
body.cs-premium-v920.home-streamline-v8361 .hero h1 { font-size: clamp(46px, 6.4vw, 78px); }
body.cs-premium-v920.home-streamline-v8361 .home-hero-photo-mosaic {
  filter: drop-shadow(0 28px 54px rgba(95,37,121,.14));
}
body.cs-premium-v920 .cs-photo-story {
  border-radius: var(--cs-px-radius-xl);
  box-shadow: var(--cs-px-shadow-md);
}
body.cs-premium-v920 .cs-photo-story-copy { padding-block: clamp(8px, 1.5vw, 20px); }
body.cs-premium-v920 .cs-photo-frame { box-shadow: 0 16px 34px rgba(42,18,53,.11); }
body.cs-premium-v920 .mission-values-section { margin-top: clamp(34px, 5vw, 72px); }
body.cs-premium-v920 .mission-values-heading { padding: clamp(24px, 3.2vw, 42px); border-radius: var(--cs-px-radius-lg); box-shadow: var(--cs-px-shadow-sm); }
body.cs-premium-v920 .mission-values-grid { gap: 14px; }
body.cs-premium-v920 .mission-values-grid > * { border-radius: var(--cs-px-radius-md); }
body.cs-premium-v920 .home-hub { padding-block: clamp(54px, 7vw, 88px); }
body.cs-premium-v920 .hub-grid { gap: 20px; }
body.cs-premium-v920 .mini-panel { border-radius: var(--cs-px-radius-lg); padding: clamp(26px, 3vw, 42px); }
body.cs-premium-v920 .category-showcase-section { padding-block: clamp(64px, 8vw, 108px); }
body.cs-premium-v920 .category-image-grid { gap: 16px; }
body.cs-premium-v920 .category-image-card { border-radius: var(--cs-px-radius-md); box-shadow: var(--cs-px-shadow-sm); }

/* Programs and calendar: premium scanning without changing program data. */
body.cs-premium-v920.programs-marketplace-page .programs-marketplace-hero { padding-block: clamp(70px, 8vw, 112px); }
body.cs-premium-v920.programs-marketplace-page .programs-marketplace-hero-grid { gap: clamp(36px, 6vw, 74px); }
body.cs-premium-v920.programs-marketplace-page .programs-hero-photo-set { filter: drop-shadow(0 24px 48px rgba(95,37,121,.12)); }
body.cs-premium-v920.programs-marketplace-page .program-flow-section { margin-top: clamp(36px, 5vw, 70px); }
body.cs-premium-v920.programs-marketplace-page .program-flow { gap: 14px; }
body.cs-premium-v920.programs-marketplace-page .program-flow > * { border-radius: var(--cs-px-radius-md); }
body.cs-premium-v920.programs-marketplace-page .programs-list-section { padding-block: clamp(64px, 8vw, 108px); }
body.cs-premium-v920.programs-marketplace-page .program-marketplace-grid { gap: 22px; }
body.cs-premium-v920.programs-marketplace-page .program-market-card {
  border-radius: var(--cs-px-radius-lg);
  box-shadow: var(--cs-px-shadow-sm);
}
body.cs-premium-v920.programs-marketplace-page .program-card-body { padding-top: 1.2rem; }
body.cs-premium-v920.programs-marketplace-page .program-card-title-block h2 { font-size: clamp(1.65rem, 2.2vw, 2.15rem); }
body.cs-premium-v920.programs-marketplace-page .program-card-footer { border-top-color: rgba(95,37,121,.1); }
body.cs-premium-v920.programs-marketplace-page .v839-program-filter-panel,
body.cs-premium-v920.programs-calendar-page .calendar-live-section {
  border-radius: var(--cs-px-radius-lg);
  box-shadow: var(--cs-px-shadow-sm);
  border-color: var(--cs-px-border);
}
body.cs-premium-v920.programs-calendar-page .calendar-hero { padding-block: clamp(72px, 8vw, 108px); }
body.cs-premium-v920.programs-calendar-page .cs-calendar-moment { border-radius: var(--cs-px-radius-xl); box-shadow: var(--cs-px-shadow-md); }
body.cs-premium-v920.programs-calendar-page .calendar-live-section { margin-block: clamp(50px, 6vw, 86px); padding: clamp(20px, 3vw, 38px); }
body.cs-premium-v920.programs-calendar-page .v8492-calendar-list-card,
body.cs-premium-v920.programs-calendar-page .v8492-calendar-detail-card { border-radius: var(--cs-px-radius-lg); }
body.cs-premium-v920.programs-calendar-page .calendar-note-grid { gap: 20px; }
body.cs-premium-v920.programs-calendar-page .calendar-note-grid > * { border-radius: var(--cs-px-radius-lg); padding: clamp(25px, 3vw, 40px); }

/* Resource Center and Team: editorial cards, same content and imagery. */
body.cs-premium-v920 .resource-shop-hero,
body.cs-premium-v920 .team-hero { padding-block: clamp(72px, 8vw, 110px); }
body.cs-premium-v920 .resource-product-peek { filter: drop-shadow(0 24px 50px rgba(95,37,121,.13)); }
body.cs-premium-v920 .resource-intro,
body.cs-premium-v920 .cs-resource-story,
body.cs-premium-v920 .cs-team-story { margin-block: clamp(54px, 7vw, 96px); }
body.cs-premium-v920 .cs-public-search-panel { border-radius: var(--cs-px-radius-lg); box-shadow: var(--cs-px-shadow-sm); }
body.cs-premium-v920 .resource-card-grid,
body.cs-premium-v920 .team-grid-compact { gap: 20px; }
body.cs-premium-v920 .resource-feature-card,
body.cs-premium-v920 .team-card-compact { border-radius: var(--cs-px-radius-lg); }
body.cs-premium-v920 .resource-feature-card h3,
body.cs-premium-v920 .team-card-compact h3 { font-size: clamp(1.25rem, 1.8vw, 1.55rem); }
body.cs-premium-v920 .team-photo-stage { box-shadow: 0 18px 40px rgba(42,18,53,.12); }

/* Family, registration, sign-in and portal surfaces. */
body.cs-premium-v920 .fp-hero,
body.cs-premium-v920 .v743-registration-shell { padding-top: clamp(48px, 6vw, 84px); }
body.cs-premium-v920 .fp-community,
body.cs-premium-v920 .v743-registration-layout { gap: 22px; }
body.cs-premium-v920 .fp-connect-section,
body.cs-premium-v920 .fp-family-manager,
body.cs-premium-v920 .v743-auth-gate,
body.cs-premium-v920 .v743-stepper {
  border-radius: var(--cs-px-radius-lg);
  box-shadow: var(--cs-px-shadow-sm);
  border-color: var(--cs-px-border);
}
body.cs-premium-v920 .fp-connect-grid,
body.cs-premium-v920 .fp-families-grid { gap: 18px; }
body.cs-premium-v920 .fp-connect-card,
body.cs-premium-v920 .fp-program-card,
body.cs-premium-v920 .fp-calendar-card,
body.cs-premium-v920 .v743-form-step,
body.cs-premium-v920 .v743-payment-panel,
body.cs-premium-v920 .v743-review-card { border-radius: var(--cs-px-radius-md); }
body.cs-premium-v920 :where(input,select,textarea) {
  border-color: rgba(95,37,121,.2);
  border-radius: 14px;
  background-color: rgba(255,255,255,.96);
  box-shadow: inset 0 1px 2px rgba(42,18,53,.035);
  transition: border-color 160ms var(--cs-px-ease), box-shadow 180ms var(--cs-px-ease), background 160ms var(--cs-px-ease);
}
body.cs-premium-v920 :where(input,select,textarea):focus {
  border-color: rgba(95,37,121,.46);
  box-shadow: 0 0 0 4px rgba(95,37,121,.09), inset 0 1px 2px rgba(42,18,53,.025);
  background-color: #fff;
}

/* Admin platform: quieter density, clearer hierarchy, no workflow changes. */
body.cs-premium-v920:not(.public-frontdoor-page):not(.programs-marketplace-page):not(.programs-calendar-page) .page-hero,
body.cs-premium-v920 .calm-admin-welcome {
  padding-block: clamp(42px, 5vw, 70px);
}
body.cs-premium-v920 .admin-subnav,
body.cs-premium-v920 .v802-workspace-nav {
  border-color: rgba(95,37,121,.13);
  box-shadow: var(--cs-px-shadow-xs);
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
body.cs-premium-v920 .calm-admin-grid,
body.cs-premium-v920 .team-hub-grid,
body.cs-premium-v920 .admin-grid { gap: 18px; }
body.cs-premium-v920 .calm-admin-card,
body.cs-premium-v920 .team-hub-card,
body.cs-premium-v920 .admin-card {
  border-radius: var(--cs-px-radius-lg);
  padding: clamp(18px, 2vw, 26px);
}
body.cs-premium-v920 .panel-head,
body.cs-premium-v920 .v910-panel-head { padding-bottom: .2rem; }
body.cs-premium-v920 .table-wrap,
body.cs-premium-v920 .mobile-table-wrap {
  border-color: var(--cs-px-border);
  border-radius: var(--cs-px-radius-md);
  box-shadow: var(--cs-px-shadow-xs);
  background: #fff;
}
body.cs-premium-v920 :where(.data-table,.v910-table) th {
  letter-spacing: .08em;
  font-weight: 850;
}
body.cs-premium-v920 :where(.data-table,.v910-table) tbody tr {
  transition: background 140ms var(--cs-px-ease);
}
body.cs-premium-v920 :where(.payment-empty-state,.v910-empty,.program-catalog-empty) {
  border-radius: var(--cs-px-radius-md);
  border-color: rgba(95,37,121,.22);
  box-shadow: inset 0 0 0 1px rgba(244,181,22,.08);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,247,214,.46));
}

/* Finance Center: visually simpler, same canonical engine. */
body.cs-premium-v920 .v910-finance-center {
  padding: clamp(20px, 2.7vw, 34px);
  border-radius: var(--cs-px-radius-xl);
  box-shadow: var(--cs-px-shadow-md);
}
body.cs-premium-v920 .v910-finance-head { margin-bottom: 1.25rem; }
body.cs-premium-v920 .v910-finance-head h2 { font-size: clamp(2rem, 3.8vw, 3.2rem); }
body.cs-premium-v920 .v910-source-pill {
  border-radius: var(--cs-px-radius-md);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
body.cs-premium-v920 .v910-finance-tabs {
  gap: .35rem;
  padding: .45rem;
  border-radius: 16px;
  box-shadow: var(--cs-px-shadow-xs);
}
body.cs-premium-v920 .v910-finance-tabs button { min-height: 43px; border-radius: 12px; }
body.cs-premium-v920 .v910-finance-tabs button.is-active { box-shadow: 0 10px 22px rgba(95,37,121,.18); }
body.cs-premium-v920 .v910-metrics { gap: 14px; }
body.cs-premium-v920 .v910-metric {
  min-height: 138px;
  padding: 1.1rem;
  border-radius: var(--cs-px-radius-md);
}
body.cs-premium-v920 .v910-metric strong { margin-top: .62rem; }
body.cs-premium-v920 .v910-summary-grid { gap: 16px; }
body.cs-premium-v920 .v910-summary-card,
body.cs-premium-v920 .v910-plan-card,
body.cs-premium-v920 .v910-exception-card,
body.cs-premium-v920 .v910-audit-row { border-radius: var(--cs-px-radius-md); }
body.cs-premium-v920 .v910-table-wrap { border-radius: var(--cs-px-radius-md); box-shadow: var(--cs-px-shadow-xs); }
body.cs-premium-v920 .v910-table th { background: rgba(244,231,247,.86); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
body.cs-premium-v920 .v910-advanced-tools { border-radius: var(--cs-px-radius-md); box-shadow: var(--cs-px-shadow-xs); }
body.cs-premium-v920 .v813-payout-tabs,
body.cs-premium-v920 .v813-payout-toolbar,
body.cs-premium-v920 .v813-payout-card,
body.cs-premium-v920 .v813-payout-metric { border-radius: var(--cs-px-radius-md); }

/* Footer refinement, palette unchanged. */
body.cs-premium-v920 .site-footer { position: relative; overflow: hidden; }
body.cs-premium-v920 .site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 16% 12%, rgba(244,181,22,.12), transparent 28%), radial-gradient(circle at 88% 80%, rgba(255,255,255,.06), transparent 30%);
}
body.cs-premium-v920 .site-footer .footer-grid { position: relative; z-index: 1; padding-block: clamp(44px, 6vw, 72px); }
body.cs-premium-v920 .footer-links a { transition: opacity 160ms var(--cs-px-ease), transform 160ms var(--cs-px-ease); }

/* Hover interactions only where a pointing device exists. Static records and wrappers never lift. */
@media (hover:hover) and (pointer:fine) {
  body.cs-premium-v920 .nav-links a:hover { transform: translateY(-1px); }
  body.cs-premium-v920 .button:hover { transform: translateY(-2px); box-shadow: var(--cs-px-shadow-sm); }
  body.cs-premium-v920 :where(
    a.category-image-card-link,
    a.team-hub-card,
    .vision-guide-trigger,
    .cs-public-search-result
  ) {
    transition: transform 220ms var(--cs-px-ease), box-shadow 240ms var(--cs-px-ease), border-color 200ms var(--cs-px-ease);
  }
  body.cs-premium-v920 :where(
    a.category-image-card-link,
    a.team-hub-card,
    .vision-guide-trigger,
    .cs-public-search-result
  ):hover {
    transform: translateY(-2px);
    border-color: var(--cs-px-border-strong);
    box-shadow: var(--cs-px-shadow-sm);
  }
  body.cs-premium-v920 .footer-links a:hover { opacity: .82; transform: translateX(2px); }
  body.cs-premium-v920 :where(.data-table,.v910-table) tbody tr:hover { background: rgba(244,231,247,.34); }
}

/* Mobile: intentional rhythm, no desktop shrink-wrap. */
@media (max-width: 760px) {
  body.cs-premium-v920.public-frontdoor-page .shell,
  body.cs-premium-v920.programs-marketplace-page .shell,
  body.cs-premium-v920.programs-calendar-page .shell,
  body.cs-premium-v920.public-visual-storytelling .shell,
  body.cs-premium-v920 .shell { width: min(100% - 28px, 1160px); }
  body.cs-premium-v920 .nav { min-height: 64px; }
  body.cs-premium-v920 :where(.hero,.calendar-hero,.programs-marketplace-hero,.team-hero,.resource-shop-hero,.page-hero,.fp-hero) {
    padding-top: 54px;
    padding-bottom: 48px;
  }
  body.cs-premium-v920 :where(h1) { letter-spacing: -.046em; }
  body.cs-premium-v920 :where(h2) { letter-spacing: -.038em; }
  body.cs-premium-v920 .hero-actions { gap: 9px; }
  body.cs-premium-v920 .button { min-height: 46px; padding-inline: 17px; }
  body.cs-premium-v920 .cs-photo-story,
  body.cs-premium-v920 .cs-calendar-moment,
  body.cs-premium-v920 .cs-resource-story,
  body.cs-premium-v920 .cs-team-story,
  body.cs-premium-v920 .v910-finance-center { border-radius: 24px; }
  body.cs-premium-v920 .mini-panel,
  body.cs-premium-v920 .program-market-card,
  body.cs-premium-v920 .resource-feature-card,
  body.cs-premium-v920 .team-card-compact,
  body.cs-premium-v920 .calm-admin-card,
  body.cs-premium-v920 .team-hub-card,
  body.cs-premium-v920 .admin-card { border-radius: 20px; }
  body.cs-premium-v920 .v910-finance-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cs-premium-v920 .v910-finance-tabs button { min-height: 46px; }
  body.cs-premium-v920 .v910-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cs-premium-v920 .site-footer .footer-grid { padding-block: 44px; }
}

@media (max-width: 430px) {
  body.cs-premium-v920 .v910-metrics { grid-template-columns: 1fr; }
  body.cs-premium-v920 .v910-finance-tabs { grid-template-columns: 1fr; }
  body.cs-premium-v920 .hero-actions .button { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-premium-v920 *,
  body.cs-premium-v920 *::before,
  body.cs-premium-v920 *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* CurioSpark v9.2.5 - Final Font Cleanup
   Presentation-only typography, action-rail, and payout-density refinement.
   No wording, JavaScript, API, SQL, route, navigation, finance calculation,
   registration, payment-plan, waitlist, authentication, or image changes. */

/* Admin typography: keep table labels decisive and consistent. */
body.cs-premium-v920 .admin-table th {
  font-weight: 900;
}
body.cs-premium-v920 .admin-table td {
  line-height: 1.48;
}

/* Finance Center: restore the intended bold segmented-navigation hierarchy. */
body.cs-premium-v920 .v910-finance-tabs button {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  padding-inline: 1rem;
}

/* Embedded Payout Center: balanced tabs with clearer inactive states. */
body.cs-premium-v920 .v813-payout-tabs button {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.008em;
  padding: .68rem .88rem;
}
body.cs-premium-v920 .v813-payout-tabs button:not(.is-active) {
  background: #fbf8fd;
  border-color: rgba(95,37,121,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
}
body.cs-premium-v920 .v813-payout-tabs button:not(.is-active):hover,
body.cs-premium-v920 .v813-payout-tabs button:not(.is-active):focus-visible {
  background: #f5edf9;
  border-color: rgba(95,37,121,.3);
}

/* Roster: turn the Admin column into a compact, aligned action rail. */
@media (min-width: 761px) {
  body.cs-premium-v920 table.admin-table[data-v745-roster-table]:has([data-v745-remove-enrollment]) th:last-child {
    width: 8rem;
    min-width: 8rem;
    padding-inline: .7rem;
    text-align: center;
  }
  body.cs-premium-v920 table.admin-table[data-v745-roster-table] td:has(.table-actions [data-v745-remove-enrollment]) {
    width: 8rem;
    min-width: 8rem;
    padding: 1rem .7rem;
    vertical-align: top;
  }
  body.cs-premium-v920 table.admin-table[data-v745-roster-table] td:has(.table-actions [data-v745-remove-enrollment]) .table-actions {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: .52rem;
    align-content: start;
  }
  body.cs-premium-v920 table.admin-table[data-v745-roster-table] td:has(.table-actions [data-v745-remove-enrollment]) .tiny-button {
    display: inline-flex;
    width: 100%;
    min-height: 2.3rem;
    align-items: center;
    justify-content: center;
    padding: .48rem .62rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }
}

/* Payout Center: give each amount/action stack room to breathe. */
body.cs-premium-v920 .v813-payee-grid {
  gap: 1rem;
}
body.cs-premium-v920 .v813-payee-card-head {
  padding: 1.05rem 1.1rem .82rem;
}
body.cs-premium-v920 .v813-payee-line {
  gap: 1.15rem;
  align-items: center;
  padding: 1.08rem 1.1rem;
}
body.cs-premium-v920 .v813-line-program {
  min-width: 0;
  padding-right: .25rem;
}
body.cs-premium-v920 .v813-line-meta {
  gap: .42rem;
  margin-top: .52rem;
}
body.cs-premium-v920 .v813-line-meta span {
  padding: .28rem .46rem;
  line-height: 1.3;
}
body.cs-premium-v920 .v813-line-amount {
  display: grid;
  min-width: 10.25rem;
  justify-items: end;
  align-content: center;
  row-gap: .4rem;
}
body.cs-premium-v920 .v813-line-amount > strong {
  margin: 0;
  font-size: 1.22rem;
}
body.cs-premium-v920 .v813-line-amount .v813-status,
body.cs-premium-v920 .v813-line-amount .button {
  margin: 0;
}
body.cs-premium-v920 .v813-line-amount .button {
  min-width: 7.35rem;
}
body.cs-premium-v920 .v813-card-total {
  padding: .95rem 1.1rem 1rem;
}

@media (min-width: 701px) {
  body.cs-premium-v920 .v813-payout-toolbar {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  body.cs-premium-v920 .v813-payout-tabs {
    display: grid;
    flex: 1 1 36rem;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .52rem;
  }
  body.cs-premium-v920 .v813-payout-tabs button {
    width: 100%;
  }
  body.cs-premium-v920 .v813-payout-filters {
    flex: 1 1 22rem;
    justify-content: flex-end;
  }
}

@media (max-width: 700px) {
  body.cs-premium-v920 .v813-payee-card-head {
    flex-wrap: wrap;
    row-gap: .65rem;
  }
  body.cs-premium-v920 .v813-payee-card-head > div {
    flex: 1 1 12rem;
    min-width: 0;
  }
  body.cs-premium-v920 .v813-payee-card .v813-email {
    overflow-wrap: anywhere;
  }
  body.cs-premium-v920 .v813-tag {
    white-space: normal;
    text-align: center;
  }
  body.cs-premium-v920 .v910-finance-tabs button,
  body.cs-premium-v920 .v813-payout-tabs button {
    font-size: .82rem;
  }
  body.cs-premium-v920 .v813-payee-line {
    gap: .82rem;
    padding: 1rem;
  }
  body.cs-premium-v920 .v813-line-program {
    padding-right: 0;
  }
  body.cs-premium-v920 .v813-line-amount {
    min-width: 0;
    justify-items: start;
    padding-top: .82rem;
    border-top: 1px solid rgba(95,37,121,.1);
    text-align: left;
  }
  body.cs-premium-v920 .v813-line-amount .button {
    width: 100%;
    min-width: 0;
  }
  body.cs-premium-v920 .v813-card-total .button {
    width: 100%;
  }
}



/* v9.5.0 role split: structural parents are open; records and protected state keep boundaries. */
body.cs-premium-v920 :where(
  .mission-values-heading,
  .mission-values-grid > *,
  .program-flow > *,
  .calm-admin-card,
  .team-hub-card,
  .admin-topbar,
  .v910-finance-center,
  .fp-family-manager,
  .fp-connect-section
) {
  box-shadow: none;
}

body.cs-premium-v920 :where(
  .v743-payment-panel,
  .v743-review-card,
  .v910-metric,
  .v910-summary-card,
  .v910-plan-card,
  .v910-exception-card,
  .v910-audit-row,
  .v813-payout-card,
  .notice-card
) {
  box-shadow: var(--cs-px-shadow-xs);
}

body.cs-premium-v920 :where(
  .admin-card,
  .calm-admin-card,
  .team-hub-card,
  .fp-connect-card,
  .fp-program-card,
  .team-card-compact
) {
  transition: border-color 180ms var(--cs-px-ease), background-color 180ms var(--cs-px-ease);
}


/* Source: /curiospark-premium-refinement-v922.css */
/* CurioSpark v9.2.2 - Premium Refinement Final
   Presentation-only correction layer for the v9.2 premium experience.
   No routes, data, payments, registration, authentication, or business logic change. */

/* Navigation: restore the approved expanding Menu / Close pill. */
body.cs-premium-v920 .site-header .nav-toggle {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 112px !important;
  height: 48px !important;
  padding: 8px 15px !important;
  border-radius: 999px !important;
  overflow: visible !important;
  color: #4b176c !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
body.cs-premium-v920 .site-header .nav-toggle::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}
body.cs-premium-v920 .site-header .nav-toggle::after {
  content: "\2726\00a0 Menu" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin-left: 8px !important;
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body.cs-premium-v920 .site-header .nav-toggle span {
  display: block !important;
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 2px !important;
  margin: 3px 0 !important;
  border-radius: 999px !important;
  transition: transform .2s ease, opacity .2s ease, background .2s ease !important;
}
body.cs-premium-v920 .site-header .nav-toggle[aria-expanded="true"]::after {
  content: "\2726\00a0 Close" !important;
}
body.cs-premium-v920 .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg) !important;
}
body.cs-premium-v920 .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0 !important;
}
body.cs-premium-v920 .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg) !important;
}

/* Navigation: Logout reads and behaves exactly like the other menu rows. */
body.cs-premium-v920 .nav-links .nav-logout,
body.cs-premium-v920 .nav-links .nav-logout.auth-visible,
html.is-signed-in body.cs-premium-v920 .nav-links .nav-logout {
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.62 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
  cursor: pointer !important;
}

/* Home: preserve the design while restoring a tighter, intentional page rhythm. */
body.cs-premium-v920.home-streamline-v8361 .hero {
  padding-top: clamp(64px, 6vw, 78px) !important;
  padding-bottom: clamp(52px, 5vw, 64px) !important;
}
body.cs-premium-v920.home-streamline-v8361 .hero-grid {
  gap: clamp(34px, 5vw, 58px) !important;
}
body.cs-premium-v920.home-streamline-v8361 .hero h1 {
  font-size: clamp(44px, 5.8vw, 70px) !important;
}
body.cs-premium-v920.home-streamline-v8361 .cs-photo-story--home {
  width: min(1040px, calc(100% - 48px)) !important;
  gap: clamp(1.1rem, 2.6vw, 2rem) !important;
  margin-top: clamp(1.75rem, 3.2vw, 2.75rem) !important;
  margin-bottom: clamp(1.35rem, 2.5vw, 2.1rem) !important;
  padding: clamp(1.15rem, 2.3vw, 1.65rem) !important;
  border-radius: 26px !important;
}
body.cs-premium-v920.home-streamline-v8361 .cs-photo-story--home h2 {
  font-size: clamp(1.95rem, 3vw, 2.75rem) !important;
}
body.cs-premium-v920.home-streamline-v8361 .cs-photo-story--home .cs-photo-story-gallery {
  min-height: clamp(21rem, 29vw, 25.5rem) !important;
}
body.cs-premium-v920.home-streamline-v8361 .mission-values-section {
  margin-top: 0 !important;
  padding-bottom: clamp(12px, 2vw, 18px) !important;
}
body.cs-premium-v920.home-streamline-v8361 .mission-values-heading {
  max-width: 880px !important;
  margin-bottom: clamp(1.15rem, 2vw, 1.7rem) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-premium-v920.home-streamline-v8361 .mission-values-heading h2 {
  max-width: 23ch !important;
  margin-bottom: .6rem !important;
  font-size: clamp(2rem, 3.55vw, 3.2rem) !important;
  line-height: 1 !important;
}
body.cs-premium-v920.home-streamline-v8361 .mission-values-heading p {
  margin-top: .45rem !important;
  line-height: 1.55 !important;
}
body.cs-premium-v920.home-streamline-v8361 .mission-values-grid {
  gap: 12px !important;
}
body.cs-premium-v920.home-streamline-v8361 .mission-values-grid article {
  padding: 1.15rem .15rem !important;
  border: 0 !important;
  border-top: 1px solid rgba(95,37,121,.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-premium-v920.home-streamline-v8361 .home-hub {
  padding-top: clamp(34px, 4.5vw, 52px) !important;
  padding-bottom: clamp(32px, 4vw, 48px) !important;
}
body.cs-premium-v920.home-streamline-v8361 .hub-grid {
  gap: 16px !important;
}
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .mini-panel {
  padding: clamp(1.35rem, 2.5vw, 2rem) !important;
}
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .mini-panel h2 {
  font-size: clamp(1.85rem, 2.8vw, 2.65rem) !important;
}
body.cs-premium-v920.home-streamline-v8361 .category-showcase-section {
  padding-top: clamp(2rem, 3.8vw, 3.6rem) !important;
  padding-bottom: clamp(3.25rem, 5vw, 5.2rem) !important;
}

/* Programs: remove the clipped legacy connector arrows between numbered cards. */
body.cs-premium-v920.programs-marketplace-page .program-flow article::after {
  content: none !important;
  display: none !important;
}

/* Calendar: retain the improved long-form copy hierarchy. */
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-copy-zone {
  margin-top: 1.05rem !important;
  padding: clamp(1rem, 2vw, 1.3rem) !important;
  border: 1px solid rgba(95,37,121,.12) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(255,253,248,.96), rgba(250,246,255,.94)) !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .calendar-detail-copy {
  max-width: 80ch;
  color: #5d5167 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-line {
  margin: 0 0 .82rem !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-section-heading {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  margin: 1.15rem 0 .5rem !important;
  color: #3d1157 !important;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(1.12rem, 1.8vw, 1.32rem) !important;
  font-weight: 750 !important;
  letter-spacing: -.018em !important;
  line-height: 1.2 !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-section-heading::before {
  content: "";
  flex: 0 0 auto;
  width: .5rem;
  height: .5rem;
  border-radius: 999px;
  background: #f4b516;
  box-shadow: 0 0 0 4px rgba(244,181,22,.14);
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-line:has(> .program-description-label) {
  display: flex !important;
  align-items: baseline !important;
  gap: .42rem !important;
  margin: .38rem 0 !important;
  padding: .54rem .7rem !important;
  border-left: 3px solid rgba(95,37,121,.28) !important;
  border-radius: 0 10px 10px 0 !important;
  background: rgba(255,255,255,.72) !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-label {
  flex: 0 0 auto;
  min-width: 5.8rem;
  color: #4b176c !important;
  font-weight: 900 !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-list {
  display: grid !important;
  gap: .48rem !important;
  margin: .45rem 0 .95rem !important;
  padding-left: 1.35rem !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-list li {
  padding-left: .2rem !important;
  line-height: 1.62 !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-list li::marker {
  color: #b67b00 !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-facts,
body.cs-premium-v920.programs-calendar-page .v8465-calendar-detail-list {
  margin-top: 1rem !important;
}

/* Calendar: restore a clear primary / secondary action hierarchy. */
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  align-items: center !important;
  justify-content: start !important;
  gap: .72rem !important;
  margin-top: 1rem !important;
  padding-top: 1rem !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .button,
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions > button,
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions > a {
  width: auto !important;
  min-width: 11.5rem !important;
  min-height: 3rem !important;
  margin: 0 !important;
  padding-inline: 1.15rem !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .calendar-detail-toggle,
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions > a.button.secondary {
  border: 1px solid rgba(95,37,121,.22) !important;
  background: #fff !important;
  color: #4b176c !important;
  box-shadow: 0 8px 20px rgba(95,37,121,.08) !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .calendar-register-button {
  border: 1px solid #5f2579 !important;
  background: linear-gradient(135deg, #5f2579, #6f2d86) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(95,37,121,.18) !important;
}
body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .calendar-registration-note {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: .05rem 0 0 !important;
  padding: .72rem .9rem !important;
  border: 1px solid rgba(244,181,22,.2) !important;
  border-radius: 12px !important;
  background: rgba(255,250,240,.88) !important;
  color: #67566e !important;
  line-height: 1.5 !important;
}

/* Admin: identical primary-action presentation for links and buttons. */
body.cs-premium-v920 .calm-admin-actions .button,
body.cs-premium-v920 .admin-preview-controls .button {
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: normal !important;
}
body.cs-premium-v920 .calm-admin-actions .button.primary,
body.cs-premium-v920 .admin-preview-controls .button.primary {
  appearance: none !important;
  -webkit-appearance: none !important;
  border-color: #5f2579 !important;
  background: #5f2579 !important;
  color: #fff !important;
}
body.cs-premium-v920 .calm-admin-actions .button.primary:hover,
body.cs-premium-v920 .admin-preview-controls .button.primary:hover {
  background: #4b176c !important;
  color: #fff !important;
}
body.cs-premium-v920 .calm-admin-grid .calm-admin-actions {
  align-items: center;
}

/* Resource Center: stronger search hierarchy and a balanced five-card launch grid. */
body.cs-premium-v920.public-frontdoor-page .cs-public-search-panel {
  padding: clamp(.4rem, 1vw, .8rem) 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-panel > h2 {
  max-width: 26ch;
  margin-top: .3rem !important;
  font-size: clamp(2.15rem, 4.2vw, 3.25rem) !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-panel > p:not(.cs-public-search-summary) {
  max-width: 66ch;
  line-height: 1.65;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-form {
  margin-top: 1.2rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-form input {
  min-height: 48px !important;
  border-radius: 13px !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-results {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin-top: 1.15rem !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-result {
  grid-column: span 2;
  min-height: 10.25rem !important;
  padding: 1.2rem !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.94) !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-result:nth-child(4):nth-last-child(2),
body.cs-premium-v920.public-frontdoor-page .cs-public-search-result:nth-child(5):last-child {
  grid-column: span 3;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-result strong {
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.08rem, 1.6vw, 1.28rem) !important;
  letter-spacing: -.018em;
  line-height: 1.2 !important;
}
body.cs-premium-v920.public-frontdoor-page .cs-public-search-result-action {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  padding-top: .9rem !important;
  border-top: 1px solid rgba(95,37,121,.09);
}

@media (hover:hover) and (pointer:fine) {
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .calendar-detail-toggle:hover,
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions > a.button.secondary:hover {
    border-color: rgba(95,37,121,.38) !important;
    background: #fffdf8 !important;
    color: #3d1157 !important;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .calendar-register-button:hover {
    background: linear-gradient(135deg, #4b176c, #5f2579) !important;
    color: #fff !important;
  }
}

@media (max-width: 1080px) {
  body.cs-premium-v920.public-frontdoor-page .frontdoor-nav .nav-logout {
    padding-inline: 8px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 900px) {
  body.cs-premium-v920.public-frontdoor-page .cs-public-search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.cs-premium-v920.public-frontdoor-page .cs-public-search-result,
  body.cs-premium-v920.public-frontdoor-page .cs-public-search-result:nth-child(4):nth-last-child(2),
  body.cs-premium-v920.public-frontdoor-page .cs-public-search-result:nth-child(5):last-child {
    grid-column: auto;
  }
}

@media (max-width: 820px) {
  body.cs-premium-v920 .site-header .nav-toggle {
    min-width: 106px !important;
    height: 46px !important;
    padding: 8px 13px !important;
  }
  body.cs-premium-v920 .site-header .nav-toggle::after {
    margin-left: 6px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 700px) {
  body.cs-premium-v920.public-frontdoor-page .cs-public-search-form {
    padding: .6rem !important;
  }
  body.cs-premium-v920.public-frontdoor-page .cs-public-search-results {
    grid-template-columns: 1fr !important;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-copy-zone {
    padding: .9rem !important;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-line:has(> .program-description-label) {
    display: block !important;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-card .program-description-label {
    display: block;
    min-width: 0;
    margin-bottom: .15rem;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions {
    grid-template-columns: 1fr !important;
    gap: .6rem !important;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .button,
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions > button,
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions > a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 47px !important;
  }
  body.cs-premium-v920.programs-calendar-page .v8493-calendar-detail-actions .calendar-registration-note {
    grid-column: 1 !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .cs-photo-story--home {
    width: min(100% - 28px, 1040px) !important;
    gap: 1.15rem !important;
    margin-top: 1.45rem !important;
    margin-bottom: 1.15rem !important;
    padding: 1.05rem !important;
    border-radius: 22px !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .cs-photo-story--home h2 {
    font-size: clamp(1.85rem, 8vw, 2.35rem) !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .cs-photo-story--home .cs-photo-story-gallery {
    min-height: 18rem !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .mission-values-heading {
    padding: 0 !important;
    border-radius: 0 !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .mission-values-heading h2 {
    font-size: clamp(1.9rem, 8vw, 2.5rem) !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .mission-values-grid article {
    padding: 1rem 0 !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .home-hub {
    padding-top: 28px !important;
    padding-bottom: 30px !important;
  }
  body.cs-premium-v920.home-streamline-v8361 .local-access-hub .mini-panel {
    padding: 1.25rem !important;
  }
}

@media (max-width: 480px) {
  body.cs-premium-v920 .site-header .nav-toggle {
    min-width: 100px !important;
    height: 44px !important;
    padding: 7px 10px !important;
  }
  body.cs-premium-v920 .site-header .nav-toggle::after {
    margin-left: 5px !important;
    font-size: 10px !important;
    letter-spacing: .06em !important;
  }
  body.cs-premium-v920 .site-header .nav-toggle span {
    width: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-premium-v920 .site-header .nav-toggle span {
    transition: none !important;
  }
}

/* CurioSpark v9.5.0 - Editorial Edition route consolidation.
   Structural parents open; decisions, records, forms, warnings, finance, safety,
   and transactional state retain their semantic boundaries. */

/* Family Portal: open manager/connect parents while preserving record-level cards. */
body.cs-editorial-family-portal .fp-family-manager,
body.cs-editorial-family-portal .fp-connect-section {
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-family-portal .fp-connect-section {
  border-top: 1px solid rgba(95,37,121,.14) !important;
}
body.cs-editorial-family-portal .fp-manager-grid {
  gap: clamp(1rem, 2.4vw, 1.5rem);
}

/* Sign In: keep auth forms and state messages; open generic session/support framing. */
body.cs-editorial-signin .auth-current-card {
  padding: .35rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-editorial-signin .auth-current-card::before { display: none !important; }
body.cs-editorial-signin .login-panel {
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(65,25,80,.055) !important;
}
body.cs-editorial-signin .small-support-note {
  max-width: 760px;
  padding: 1rem 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Admin Programs: the setup guide is a sequence, not a card inside three cards. */
body.cs-editorial-admin-programs .program-guide-card {
  padding: 0 0 1.2rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-admin-programs .program-guide-steps {
  border-top: 1px solid rgba(95,37,121,.14);
}
body.cs-editorial-admin-programs .program-guide-step {
  padding: 1rem .25rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Reporting: open parent canvases; keep metrics, health states, tables, and exports actionable. */
body.cs-editorial-reporting .admin-card:has(.v770-report-stats),
body.cs-editorial-reporting .admin-card:has(.v818-insight-grid),
body.cs-editorial-reporting .admin-card:has(.v770-export-grid) {
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-reporting .v813-report-legend span {
  padding: .45rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,37,121,.12) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* Finance: open the hosting canvas only. Every amount, record, warning, table, and audit state remains contained. */
body.cs-editorial-finance .v910-finance-center {
  margin-bottom: 2rem;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-finance .v910-finance-head {
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgba(95,37,121,.14);
}
body.cs-editorial-finance .v910-table-wrap,
body.cs-editorial-finance .v813-payout-card,
body.cs-editorial-finance .v910-plan-card,
body.cs-editorial-finance .v910-exception-card,
body.cs-editorial-finance .v910-audit-row {
  box-shadow: none !important;
}

/* Email Center: open workflow parents; preserve recipient review, preview, attachments, and delivery state. */
body.cs-editorial-email-center .v847-card {
  padding: 0 0 1.55rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-email-center .v847-step-row {
  gap: 0 1rem;
  border-top: 1px solid rgba(95,37,121,.13);
}
body.cs-editorial-email-center .v847-step {
  padding: .8rem 0;
  border: 0;
  border-bottom: 1px solid rgba(95,37,121,.13);
  border-radius: 0;
  background: transparent;
}
body.cs-editorial-email-center .v847-helper,
body.cs-editorial-email-center .v847-preview-wrap {
  border-radius: 0;
  box-shadow: none;
}
body.cs-editorial-email-center .v847-preview-wrap {
  padding-right: 0;
  padding-left: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
}

/* Team Handbook: access/safety/agreement remain explicit; guidance becomes an open divided list. */
body.cs-editorial-handbook .admin-shell > .admin-card.wide {
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-handbook .v820-handbook-grid {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(95,37,121,.14);
}
body.cs-editorial-handbook .v820-handbook-card {
  padding: 1rem .1rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-editorial-handbook .v820-handbook-contracts {
  padding-inline: .9rem !important;
  border-left: 3px solid rgba(244,181,22,.8) !important;
  background: rgba(255,248,220,.45) !important;
}

/* Calendar: open only the outer workspace and upcoming/photo shells. Date, event, and registration records remain intact. */
body.programs-calendar-page .calendar-live-section {
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.programs-calendar-page .upcoming-open-section {
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.programs-calendar-page .cs-calendar-moment {
  border: 0 !important;
  box-shadow: none !important;
}

/* Admin home: everyday tools read as grouped actions; true status/attention/current-session cards stay contained. */
body.cs-editorial-admin-home .calm-admin-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 1.5rem !important;
  border-top: 1px solid rgba(95,37,121,.14);
}
body.cs-editorial-admin-home .calm-admin-card {
  min-height: 0 !important;
  padding: 1.1rem .1rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.cs-editorial-admin-home .calm-admin-card .calm-admin-actions {
  margin-top: .8rem;
}

@media (max-width: 760px) {
  body.cs-editorial-admin-home .calm-admin-grid { grid-template-columns: 1fr; }
  body.cs-editorial-email-center .v847-step-row { grid-template-columns: 1fr; }
  body.cs-editorial-finance .v910-finance-head { display: block; }
}


/* Source: /curiospark-premium-refinement-v923.css */
/* CurioSpark v9.2.3 - Production Readiness Refinement
   Presentation-only corrections for Admin spacing, Calendar detail consistency,
   Home brand-color discipline, and Family Portal card balance.
   No routes, data, payments, registration, authentication, or business logic change. */

/* Admin: restore clear separation between the impersonation panel and session card. */
body.cs-premium-v920 .admin-preview-controls {
  margin-top: 22px !important;
  margin-bottom: clamp(32px, 4vw, 44px) !important;
}
body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] {
  margin-top: 0 !important;
}
body.cs-premium-v920 .admin-actions.stacked {
  gap: 10px !important;
}
body.cs-premium-v920 .admin-actions.stacked .button,
body.cs-premium-v920 .admin-actions.stacked button[data-logout] {
  display: inline-flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Calendar: apply the approved label/value detail treatment to every detail card. */
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .calendar-detail-copy {
  max-width: 80ch !important;
  color: #5d5167 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-section-heading {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  margin: 1.15rem 0 .55rem !important;
  color: #3d1157 !important;
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(1.12rem, 1.8vw, 1.32rem) !important;
  font-weight: 750 !important;
  letter-spacing: -.018em !important;
  line-height: 1.2 !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-section-heading::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: .5rem !important;
  height: .5rem !important;
  border-radius: 999px !important;
  background: #f4b516 !important;
  box-shadow: 0 0 0 4px rgba(244,181,22,.14) !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-line:has(> .program-description-label) {
  display: grid !important;
  grid-template-columns: minmax(5.8rem, auto) 1fr !important;
  align-items: baseline !important;
  column-gap: .7rem !important;
  margin: .46rem 0 !important;
  padding: .68rem .82rem !important;
  border-left: 3px solid rgba(95,37,121,.28) !important;
  border-radius: 0 10px 10px 0 !important;
  background: #ffffff !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-label {
  min-width: 0 !important;
  color: #4b176c !important;
  font-weight: 900 !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-list {
  display: grid !important;
  gap: .48rem !important;
  margin: .45rem 0 .95rem !important;
  padding-left: 1.35rem !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-list li {
  padding-left: .2rem !important;
  line-height: 1.62 !important;
}
body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-list li::marker {
  color: #b67b00 !important;
}

/* Home: use clean, fixed brand colors with no added gradient or highlight veil. */
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .mini-panel::after {
  content: none !important;
  display: none !important;
}
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .mini-panel:not(.purple-panel) {
  background: #ffffff !important;
  background-image: none !important;
}
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .purple-panel {
  background: #5f2579 !important;
  background-image: none !important;
  border-color: rgba(244,181,22,.55) !important;
  box-shadow: 0 18px 42px rgba(95,37,121,.14) !important;
}
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .purple-panel h2,
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .purple-panel p,
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .purple-panel .eyebrow {
  color: #ffffff !important;
}

/* Family Portal: solid canonical purple and natural card height, without fade effects. */
body.cs-premium-v920.visual-composition-refresh .fp-families-grid {
  align-items: start !important;
}
body.cs-premium-v920.visual-composition-refresh .fp-program-card {
  align-self: start !important;
  min-height: 0 !important;
  background: #5f2579 !important;
  background-image: none !important;
}
body.cs-premium-v920.visual-composition-refresh .fp-program-card::after {
  content: none !important;
  display: none !important;
}
body.cs-premium-v920.visual-composition-refresh .fp-program-card h2,
body.cs-premium-v920.visual-composition-refresh .fp-program-card p,
body.cs-premium-v920.visual-composition-refresh .fp-program-card .eyebrow {
  color: #ffffff !important;
}

@media (max-width: 700px) {
  body.cs-premium-v920 .admin-preview-controls {
    margin-bottom: 28px !important;
  }
  body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-line:has(> .program-description-label) {
    grid-template-columns: 1fr !important;
    row-gap: .2rem !important;
    padding: .68rem .75rem !important;
  }
  body.cs-premium-v920.programs-calendar-page .calendar-detail-card .program-description-label {
    display: block !important;
  }
  body.cs-premium-v920.visual-composition-refresh .fp-program-card,
  body.cs-premium-v920.visual-composition-refresh .fp-calendar-card {
    width: 100% !important;
  }
}


/* Source: /curiospark-final-production-polish-v924.css */
/* CurioSpark v9.2.4 - Final Production Polish
   Presentation-only finishing pass for Home and Admin.
   The shared v9.2.0 premium stylesheet separately removes only its generic
   white sheen overlay so original images, fills, and component effects remain intact.
   No wording, routes, navigation, scripts, APIs, SQL, authentication, registration,
   finance, payment-plan, or waitlist behavior changes. */

/* Home: make the local-family next step a true solid canonical-purple primary CTA. */
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .home-path-action > a.button.primary[href="/join"],
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .home-path-action > a.button.primary[href="/join"]:visited {
  border-color: #5f2579 !important;
  background: #5f2579 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .home-path-action > a.button.primary[href="/join"]:hover,
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .home-path-action > a.button.primary[href="/join"]:focus-visible,
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .home-path-action > a.button.primary[href="/join"]:active {
  border-color: #4b176c !important;
  background: #4b176c !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Home: keep the purple destination panel on the canonical solid brand color. */
body.cs-premium-v920.home-streamline-v8361 .local-access-hub .purple-panel {
  background: #5f2579 !important;
  background-image: none !important;
}

/* Home: give the Resource Shop CTA a deliberate breathing gap from the copy above it. */
body.cs-premium-v920.home-streamline-v8361 .category-showcase-section .section-heading > a.button[href="/resource-center"] {
  margin-top: clamp(1.15rem, 2vw, 1.5rem) !important;
}

/* Admin: make the Current Session card span the workspace and balance its contents. */
body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] {
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
}
body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .52fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: clamp(1.5rem, 4vw, 3.5rem) !important;
  align-items: start !important;
}
body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .admin-card-heading {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin-bottom: .35rem !important;
}
body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .role-status-card {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin: .6rem 0 0 !important;
}
body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .admin-actions.stacked {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding-left: clamp(1.25rem, 3vw, 2.25rem) !important;
  border-left: 1px solid rgba(95,37,121,.14) !important;
}

@media (max-width: 760px) {
  body.cs-premium-v920.home-streamline-v8361 .category-showcase-section .section-heading > a.button[href="/resource-center"] {
    margin-top: 1.1rem !important;
  }
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 0 !important;
  }
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .admin-card-heading,
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .role-status-card,
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .admin-actions.stacked {
    grid-column: 1 !important;
  }
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .admin-card-heading {
    grid-row: 1 !important;
  }
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .role-status-card {
    grid-row: 2 !important;
  }
  body.cs-premium-v920 .admin-grid[data-team-or-admin-panel] > .admin-card .admin-actions.stacked {
    grid-row: 3 !important;
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    padding-left: 0 !important;
    border-top: 1px solid rgba(95,37,121,.14) !important;
    border-left: 0 !important;
  }
}


/* Source: /curiospark-studio-editorial-v960.css */
/* CurioSpark v9.6.0-R2 — Scale, Navigation, and Density Correction
   Emergency visual-only correction for the v9.6.0 Studio Editorial layer.

   R2 intentionally returns typography, spacing, grids, cards, imagery, and menu
   geometry to the established CurioSpark styles. It keeps only restrained surface
   refinement and a smaller transparent Home hero-logo treatment.

   No wording, HTML, routes, forms, application logic, APIs, SQL, authentication,
   permissions, registration, payments, waitlists, or admin behavior are changed. */

body.cs-studio-v960 {
  --cs-r2-line: rgba(95, 37, 121, .14);
  --cs-r2-line-strong: rgba(95, 37, 121, .22);
  --cs-r2-shadow-soft: 0 9px 24px rgba(52, 16, 63, .06);
  --cs-r2-ease: cubic-bezier(.2, .72, .2, 1);
  overflow-x: clip;
}

/* --------------------------------------------------------------------------
   Header and menu
   Preserve the proven CurioSpark menu dimensions and placement. R2 adds only
   visibility safeguards so the burger/menu control cannot disappear.
   -------------------------------------------------------------------------- */

body.cs-studio-v960 .site-header {
  isolation: isolate;
}

body.cs-studio-v960 .nav-toggle {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 820px) {
  body.cs-studio-v960 .nav-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.cs-studio-v960 .nav-links.open {
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* --------------------------------------------------------------------------
   Home hero logo
   Retain the transparent blended logo, but keep it subordinate to the headline.
   The prior v9.6.0 layer enlarged the media region; R2 deliberately does not.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-hero-logo-focus .home-hero-photo-mosaic {
  width: min(100%, 380px);
  min-height: 0 !important;
  height: auto;
  aspect-ratio: 875 / 873;
  margin-inline: auto;
  filter: drop-shadow(0 15px 32px rgba(95, 37, 121, .09));
}

body.cs-studio-v960.home-hero-logo-focus
.home-hero-photo--main.home-hero-photo--brand {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-studio-v960.home-hero-logo-focus
.home-hero-photo--main.home-hero-photo--brand::before,
body.cs-studio-v960.home-hero-logo-focus
.home-hero-photo--main.home-hero-photo--brand::after {
  content: none !important;
  display: none !important;
}

body.cs-studio-v960.home-hero-logo-focus
.home-hero-photo--main.home-hero-photo--brand > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: normal !important;
  filter: drop-shadow(0 11px 19px rgba(59, 17, 78, .08));
  transform: none !important;
}

body.cs-studio-v960.home-hero-logo-focus .cs-hero-focus-spark {
  opacity: .68;
}

@media (max-width: 900px) {
  body.cs-studio-v960.home-hero-logo-focus .home-hero-photo-mosaic {
    width: min(100%, 320px);
  }
}

@media (max-width: 640px) {
  body.cs-studio-v960.home-hero-logo-focus .home-hero-photo-mosaic {
    width: min(64vw, 240px);
    margin-top: .65rem;
  }
}

@media (max-width: 380px) {
  body.cs-studio-v960.home-hero-logo-focus .home-hero-photo-mosaic {
    width: min(62vw, 220px);
  }
}

/* --------------------------------------------------------------------------
   Restrained de-boxing
   Remove only heavy outer framing from narrative wrappers. Existing section
   spacing, typography, grids, card dimensions, image ratios, and mobile stacking
   remain controlled by the proven CurioSpark styles beneath this layer.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.public-visual-storytelling :where(
  .cs-photo-story,
  .cs-photo-break,
  .cs-team-story,
  .cs-resource-story,
  .cs-calendar-moment
) {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-studio-v960.home-streamline-v8361 .mission-values-heading {
  border: 0 !important;
  border-bottom: 1px solid var(--cs-r2-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-studio-v960 :where(
  .frontdoor-reassurance,
  .program-payment-note,
  .public-location-note,
  .simple-license-note
) {
  box-shadow: none !important;
}

/* Discrete choices stay recognizable as cards; only their visual weight softens. */
body.cs-studio-v960 :where(
  .mission-values-grid > article,
  .category-image-card,
  .frontdoor-path-card,
  .program-flow > article,
  .program-market-card,
  .vision-snapshot-card,
  .vision-card-grid > article,
  .vision-audience-grid > article,
  .team-card-placard,
  .resource-feature-card-restored,
  .calendar-note-grid > article
) {
  border-color: var(--cs-r2-line) !important;
  box-shadow: var(--cs-r2-shadow-soft) !important;
}

body.cs-studio-v960 :where(
  .program-market-card,
  .team-card-placard,
  .resource-feature-card-restored
) {
  transition:
    transform 170ms var(--cs-r2-ease),
    border-color 170ms var(--cs-r2-ease),
    box-shadow 200ms var(--cs-r2-ease);
}

/* Operational cards retain clear boundaries and their original dimensions. */
body.cs-studio-v960 :where(
  .admin-card,
  .calm-admin-card,
  .team-hub-card,
  .payment-ops-card,
  .v910-metric,
  .v910-summary-card
) {
  box-shadow: 0 7px 20px rgba(52, 16, 63, .05) !important;
}

/* Keep dialogs viewport-safe without changing their internal scale. */
body.cs-studio-v960 :where(
  .program-enrollment-dialog,
  .calendar-registration-dialog,
  .vision-guide-modal__dialog,
  [role="dialog"]
) {
  max-width: min(760px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
}

/* --------------------------------------------------------------------------
   Motion correction
   The prior reveal layer could leave content shifted or hidden. R2 removes it;
   the established CurioSpark motion system remains in charge.
   -------------------------------------------------------------------------- */

body.cs-studio-v960 .cs-v960-motion-target,
body.cs-studio-v960 .cs-v960-in-view {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.cs-studio-v960 :where(
    .program-market-card,
    .team-card-placard,
    .resource-feature-card-restored
  ):hover {
    transform: translateY(-2px);
    border-color: var(--cs-r2-line-strong) !important;
    box-shadow: 0 11px 27px rgba(52, 16, 63, .08) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-studio-v960 *,
  body.cs-studio-v960 *::before,
  body.cs-studio-v960 *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* ========================================================================== 
   CurioSpark v9.6.1 — Atelier Sandbox Sprint 1
   Homepage refinement + safe shared interaction tokens.

   This layer is intentionally additive and restrained. It does not increase the
   existing typography scale, card footprints, image footprints, grid counts, or
   section padding. Homepage-specific composition is scoped to
   body.home-streamline-v8361; other v9.6.0 surfaces receive only safe focus,
   selection, motion-timing, and shadow normalization.
   ========================================================================== */

body.cs-studio-v960 {
  --cs-atelier-purple: #5f2579;
  --cs-atelier-purple-deep: #351241;
  --cs-atelier-gold: #f4b516;
  --cs-atelier-line: rgba(95, 37, 121, .13);
  --cs-atelier-line-strong: rgba(95, 37, 121, .22);
  --cs-atelier-paper: rgba(255, 255, 255, .92);
  --cs-atelier-shadow-xs: 0 5px 15px rgba(52, 16, 63, .045);
  --cs-atelier-shadow-sm: 0 10px 26px rgba(52, 16, 63, .065);
  --cs-atelier-shadow-photo: 0 15px 34px rgba(52, 16, 63, .105);
  --cs-atelier-ease: cubic-bezier(.22, .72, .18, 1);
  --cs-atelier-focus: 0 0 0 3px rgba(244, 181, 22, .42), 0 0 0 6px rgba(95, 37, 121, .18);
  scrollbar-color: rgba(95, 37, 121, .58) rgba(95, 37, 121, .07);
}

body.cs-studio-v960 ::selection {
  color: var(--cs-atelier-purple-deep);
  background: rgba(244, 181, 22, .34);
}

body.cs-studio-v960 :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--cs-atelier-purple);
  outline-offset: 3px;
  box-shadow: var(--cs-atelier-focus);
}

body.cs-studio-v960 :where(.button, .tiny-button, .nav-toggle, .footer-facebook-link) {
  transition:
    transform 165ms var(--cs-atelier-ease),
    border-color 165ms var(--cs-atelier-ease),
    background-color 165ms var(--cs-atelier-ease),
    color 165ms var(--cs-atelier-ease),
    box-shadow 190ms var(--cs-atelier-ease);
}

@media (hover: hover) and (pointer: fine) {
  body.cs-studio-v960 :where(a.button, button.button, .tiny-button, .footer-facebook-link):hover {
    transform: translateY(-1px);
  }
}

/* --------------------------------------------------------------------------
   Homepage opening frame
   A shallow purple wash visually connects the established header and hero. It
   occupies no layout space and does not alter the existing hero dimensions.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero {
  isolation: isolate;
  box-shadow:
    inset 0 1px 0 rgba(244, 181, 22, .54),
    inset 0 -1px 0 rgba(95, 37, 121, .08);
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: clamp(76px, 8vw, 112px);
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 0%, rgba(95, 37, 121, .14), transparent 46%),
    linear-gradient(180deg, rgba(95, 37, 121, .105), rgba(95, 37, 121, .025) 52%, transparent);
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .brand-hero-grid {
  position: relative;
  z-index: 2;
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .hero-copy {
  min-width: 0;
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .hero-copy > :where(.eyebrow, h1) {
  text-wrap: balance;
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .hero-lede {
  max-width: 58ch;
  text-wrap: pretty;
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .hero-actions {
  align-items: center;
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .button.primary {
  box-shadow: 0 8px 20px rgba(95, 37, 121, .14);
}

body.cs-studio-v960.home-streamline-v8361 .brand-world-hero .button.secondary {
  box-shadow: var(--cs-atelier-shadow-xs);
}

/* Keep the approved transparent logo footprint exactly where R2 placed it; only
   integrate its edges and surrounding tone more naturally into the hero. */
body.cs-studio-v960.home-streamline-v8361 .home-hero-photo-mosaic {
  isolation: isolate;
}

body.cs-studio-v960.home-streamline-v8361 .home-hero-photo-mosaic::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 12% 4% 8%;
  border-radius: 48% 52% 44% 56%;
  pointer-events: none;
  background:
    radial-gradient(circle at 52% 48%, rgba(255, 249, 223, .92), rgba(244, 181, 22, .095) 42%, rgba(95, 37, 121, .055) 63%, transparent 73%);
  filter: blur(18px);
  opacity: .82;
}

body.cs-studio-v960.home-streamline-v8361 .home-hero-photo--main.home-hero-photo--brand > img {
  filter:
    drop-shadow(0 10px 19px rgba(59, 17, 78, .065))
    saturate(.985);
}

body.cs-studio-v960.home-streamline-v8361 .cs-hero-focus-spark {
  animation-name: csAtelierSparkBreath;
  animation-duration: 9s;
  animation-timing-function: ease-in-out;
  opacity: .7;
}

@keyframes csAtelierSparkBreath {
  0%, 100% { opacity: .5; transform: translate3d(0, 0, 0) scale(.9) rotate(0deg); }
  50% { opacity: .88; transform: translate3d(0, -3px, 0) scale(1.03) rotate(6deg); }
}

/* --------------------------------------------------------------------------
   Homepage photo story
   Remove the last traces of framed-card photography, vary the crop silhouette,
   and use a quiet tonal field behind the gallery rather than a white border.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story--home {
  position: relative;
  isolation: isolate;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story--home::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(244, 181, 22, .64) 18%, rgba(95, 37, 121, .18) 55%, transparent 92%);
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-copy {
  min-width: 0;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-copy::before {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  margin-bottom: .78rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cs-atelier-gold), rgba(95, 37, 121, .58));
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-copy h2 {
  text-wrap: balance;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery {
  position: relative;
  isolation: isolate;
  gap: clamp(.5rem, 1.05vw, .78rem);
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% -5% 4% 7%;
  border-radius: 42% 58% 48% 52%;
  pointer-events: none;
  background: radial-gradient(circle at 46% 48%, rgba(95, 37, 121, .105), rgba(244, 181, 22, .07) 48%, transparent 72%);
  filter: blur(22px);
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame {
  border: 0 !important;
  background: transparent !important;
  box-shadow: var(--cs-atelier-shadow-photo) !important;
  transition:
    transform 230ms var(--cs-atelier-ease),
    box-shadow 230ms var(--cs-atelier-ease);
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:nth-child(1) {
  border-radius: 24px 9px 9px 24px;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:nth-child(2) {
  border-radius: 9px 24px 9px 9px;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:nth-child(3) {
  border-radius: 9px 9px 24px 9px;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame::after {
  background: linear-gradient(180deg, rgba(20, 4, 29, 0) 54%, rgba(20, 4, 29, .27) 100%);
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame img {
  transform: translateZ(0);
  transition: transform 420ms var(--cs-atelier-ease), filter 240ms var(--cs-atelier-ease), opacity 240ms ease;
}

body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame figcaption {
  letter-spacing: -.01em;
}

@media (hover: hover) and (pointer: fine) {
  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(52, 16, 63, .13) !important;
  }

  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:hover img {
    transform: scale(1.012);
  }
}

/* --------------------------------------------------------------------------
   Mission values
   Preserve the four-item structure while making it read as an editorial list,
   not four miniature cards.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-streamline-v8361 .mission-values-heading {
  position: relative;
  border-bottom: 0 !important;
}

body.cs-studio-v960.home-streamline-v8361 .mission-values-heading::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 1rem;
  background: linear-gradient(90deg, rgba(244, 181, 22, .72), rgba(95, 37, 121, .16) 48%, transparent);
}

body.cs-studio-v960.home-streamline-v8361 .mission-values-heading h2 {
  text-wrap: balance;
}

body.cs-studio-v960.home-streamline-v8361 .mission-values-grid > article {
  border: 0 !important;
  border-top: 1px solid var(--cs-atelier-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Local / digital path section
   The left path becomes an open editorial panel; the purple destination remains
   the intentional visual anchor. Geometry and content density are unchanged.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-streamline-v8361 .local-access-hub {
  position: relative;
  border-top: 1px solid rgba(95, 37, 121, .08);
  background:
    radial-gradient(circle at 87% 12%, rgba(95, 37, 121, .075), transparent 34%),
    radial-gradient(circle at 8% 12%, rgba(244, 181, 22, .10), transparent 30%);
}

body.cs-studio-v960.home-streamline-v8361 .local-access-hub .mini-panel:not(.purple-panel) {
  border: 0 !important;
  border-left: 2px solid rgba(244, 181, 22, .82) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-studio-v960.home-streamline-v8361 .local-access-hub .purple-panel {
  border-color: rgba(244, 181, 22, .56) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 32px rgba(52, 16, 63, .12) !important;
}

body.cs-studio-v960.home-streamline-v8361 .local-access-hub .mini-panel h2 {
  text-wrap: balance;
}

/* --------------------------------------------------------------------------
   Resource destination
   Cards remain cards because they are discrete destinations, but their borders,
   radii, image edges, and hover depth are quieter and more deliberate.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-streamline-v8361 .category-showcase-section {
  position: relative;
  box-shadow: inset 0 1px 0 rgba(95, 37, 121, .075);
}

body.cs-studio-v960.home-streamline-v8361 .category-showcase-section .section-heading h2 {
  text-wrap: balance;
}

body.cs-studio-v960.home-streamline-v8361 .category-image-card {
  border-color: rgba(95, 37, 121, .11) !important;
  border-radius: 20px !important;
  box-shadow: var(--cs-atelier-shadow-xs) !important;
  transition:
    transform 210ms var(--cs-atelier-ease),
    border-color 210ms var(--cs-atelier-ease),
    box-shadow 230ms var(--cs-atelier-ease);
}

body.cs-studio-v960.home-streamline-v8361 .category-image-card > img {
  border: 0 !important;
  box-shadow: none !important;
  transition: transform 380ms var(--cs-atelier-ease), filter 220ms ease, opacity 220ms ease;
}

body.cs-studio-v960.home-streamline-v8361 .category-image-card .category-card-link-label {
  text-decoration-color: rgba(95, 37, 121, .32);
  text-underline-offset: .22em;
  transition: text-decoration-color 180ms ease, color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  body.cs-studio-v960.home-streamline-v8361 .category-image-card:hover {
    transform: translateY(-2px);
    border-color: var(--cs-atelier-line-strong) !important;
    box-shadow: var(--cs-atelier-shadow-sm) !important;
  }

  body.cs-studio-v960.home-streamline-v8361 .category-image-card:hover > img {
    transform: scale(1.01);
  }

  body.cs-studio-v960.home-streamline-v8361 .category-image-card:hover .category-card-link-label {
    text-decoration-color: currentColor;
  }
}

/* --------------------------------------------------------------------------
   Progressive image readiness and restrained reveal motion
   These classes are added only by the companion script. Without JavaScript,
   every element remains in its normal visible state.
   -------------------------------------------------------------------------- */

body.cs-studio-v960.home-streamline-v8361 .cs-atelier-image {
  opacity: .94;
  filter: saturate(.96) contrast(.99);
}

body.cs-studio-v960.home-streamline-v8361 .cs-atelier-image.cs-atelier-image-ready {
  opacity: 1;
  filter: none;
}

body.cs-studio-v960.home-streamline-v8361.cs-atelier-motion-ready .cs-atelier-reveal {
  opacity: .94;
  transform: translate3d(0, 6px, 0);
  transition:
    opacity 420ms var(--cs-atelier-ease),
    transform 460ms var(--cs-atelier-ease);
  transition-delay: var(--cs-atelier-delay, 0ms);
  will-change: opacity, transform;
}

body.cs-studio-v960.home-streamline-v8361.cs-atelier-motion-ready .cs-atelier-reveal.cs-atelier-in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* Existing menu architecture stays untouched. This only refines timing and focus. */
@media (max-width: 820px) {
  body.cs-studio-v960 .nav-links {
    transition:
      opacity 180ms var(--cs-atelier-ease),
      transform 190ms var(--cs-atelier-ease),
      visibility 0s linear 190ms;
  }

  body.cs-studio-v960 .nav-links.open {
    transition-delay: 0s;
  }

  body.cs-studio-v960.home-streamline-v8361 .brand-world-hero::before {
    height: 72px;
    opacity: .82;
  }

  body.cs-studio-v960.home-streamline-v8361 .home-hero-photo-mosaic::before {
    inset: 13% 3% 7%;
    filter: blur(14px);
    opacity: .72;
  }
}

@media (max-width: 640px) {
  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-copy::before {
    width: 30px;
    margin-bottom: .65rem;
  }

  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery {
    gap: .48rem;
  }

  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:nth-child(1) {
    border-radius: 18px 6px 6px 18px;
  }

  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:nth-child(2) {
    border-radius: 6px 18px 6px 6px;
  }

  body.cs-studio-v960.home-streamline-v8361 .cs-photo-story-gallery .cs-photo-frame:nth-child(3) {
    border-radius: 6px 6px 18px 6px;
  }

  body.cs-studio-v960.home-streamline-v8361 .local-access-hub .mini-panel:not(.purple-panel) {
    border-left: 0 !important;
    border-top: 2px solid rgba(244, 181, 22, .82) !important;
  }

  body.cs-studio-v960.home-streamline-v8361 .local-access-hub .purple-panel {
    border-radius: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-studio-v960.home-streamline-v8361 .cs-hero-focus-spark {
    animation: none !important;
  }

  body.cs-studio-v960.home-streamline-v8361 .cs-atelier-image,
  body.cs-studio-v960.home-streamline-v8361 .cs-atelier-reveal,
  body.cs-studio-v960.home-streamline-v8361 .cs-atelier-in-view {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* ========================================================================== 
   CurioSpark v9.6.6 — Homepage Wonder & Family Portal Refinement
   Wider composition, livelier brand motion, tighter page rhythm, and a warmer
   family-dashboard frame. Presentation only; no application logic changes.
   ========================================================================== */

body.home-wonder-v966 .site-header .home-nav-v966 {
  width: min(1320px, calc(100% - clamp(28px, 5vw, 72px)));
  max-width: none;
  margin-inline: auto;
  justify-content: space-between;
}

body.home-wonder-v966 .site-header .home-nav-v966 > .brand,
body.home-wonder-v966 .site-header .home-nav-v966 > .nav-toggle {
  flex: 0 0 auto;
}

body.home-wonder-v966 .brand-world-hero {
  min-height: 0 !important;
  padding-block: clamp(28px, 3.8vw, 50px) clamp(26px, 3.5vw, 46px) !important;
}

body.home-wonder-v966 .brand-world-hero .brand-hero-grid {
  width: min(1320px, calc(100% - clamp(28px, 5vw, 72px)));
  max-width: none !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(350px, .96fr) !important;
  gap: clamp(2rem, 5.2vw, 5.25rem) !important;
  align-items: center;
}

body.home-wonder-v966 .brand-world-hero .hero-copy {
  max-width: 760px !important;
}

body.home-wonder-v966 .brand-world-hero .hero-copy h1 {
  max-width: 14ch !important;
}

body.home-wonder-v966 .brand-world-hero .hero-lede {
  max-width: 64ch !important;
}

body.home-wonder-v966.home-hero-logo-focus .home-hero-photo-mosaic {
  width: min(100%, 430px);
  margin-inline: auto;
  animation: csV966LogoFloat 7.5s ease-in-out infinite;
}

body.home-wonder-v966 .home-hero-photo--brand {
  isolation: isolate;
}

body.home-wonder-v966 .home-hero-photo--brand > img {
  position: relative;
  z-index: 4;
}

body.home-wonder-v966 .cs-home-wonder-orbit,
body.home-wonder-v966 .cs-home-wonder-blob {
  position: absolute;
  pointer-events: none;
  user-select: none;
}

body.home-wonder-v966 .cs-home-wonder-orbit {
  z-index: 5;
  inset: -5% -7%;
}

body.home-wonder-v966 .cs-home-wonder-star {
  position: absolute;
  display: grid;
  place-items: center;
  width: 1.4rem;
  height: 1.4rem;
  color: #5f2579;
  font: 900 clamp(.95rem, 1.4vw, 1.35rem)/1 Inter, system-ui, sans-serif;
  font-style: normal;
  text-shadow: 0 4px 14px rgba(95, 37, 121, .18);
  animation: csV966Twinkle 3.8s ease-in-out infinite;
}

body.home-wonder-v966 .cs-home-wonder-star:nth-child(even) {
  color: #e5aa00;
  text-shadow: 0 4px 14px rgba(244, 181, 22, .24);
}

body.home-wonder-v966 .cs-home-wonder-star--1 { left: 5%; top: 20%; animation-delay: -.4s; }
body.home-wonder-v966 .cs-home-wonder-star--2 { left: 19%; top: 3%; animation-delay: -1.5s; }
body.home-wonder-v966 .cs-home-wonder-star--3 { right: 16%; top: 8%; animation-delay: -2.4s; }
body.home-wonder-v966 .cs-home-wonder-star--4 { right: 2%; top: 38%; animation-delay: -.9s; }
body.home-wonder-v966 .cs-home-wonder-star--5 { right: 12%; bottom: 10%; animation-delay: -2s; }
body.home-wonder-v966 .cs-home-wonder-star--6 { left: 19%; bottom: 4%; animation-delay: -3s; }
body.home-wonder-v966 .cs-home-wonder-star--7 { left: 1%; bottom: 33%; animation-delay: -1.1s; }
body.home-wonder-v966 .cs-home-wonder-star--8 { right: 37%; bottom: -1%; animation-delay: -2.7s; }

body.home-wonder-v966 .cs-home-wonder-blob {
  z-index: 1;
  filter: blur(.2px);
  opacity: .58;
  animation: csV966BlobDrift 9s ease-in-out infinite;
}

body.home-wonder-v966 .cs-home-wonder-blob--purple {
  width: 31%;
  aspect-ratio: 1;
  left: -3%;
  top: 10%;
  border-radius: 57% 43% 63% 37%;
  background: radial-gradient(circle at 36% 34%, rgba(173, 113, 190, .34), rgba(95, 37, 121, .11) 62%, transparent 72%);
}

body.home-wonder-v966 .cs-home-wonder-blob--gold {
  width: 27%;
  aspect-ratio: 1;
  right: -1%;
  bottom: 4%;
  border-radius: 38% 62% 45% 55%;
  background: radial-gradient(circle at 45% 44%, rgba(255, 211, 66, .42), rgba(244, 181, 22, .12) 62%, transparent 72%);
  animation-delay: -3.6s;
}

body.home-wonder-v966 .brand-world-hero .floating-doodles {
  display: block !important;
  opacity: .82;
}

body.home-wonder-v966 .brand-world-hero .floating-doodles span {
  display: block !important;
  font-size: clamp(17px, 1.8vw, 27px) !important;
  opacity: .62 !important;
}

body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(1) { left: 3%; top: 31%; }
body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(2) { right: 4%; top: 27%; }
body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(3) { right: 7%; bottom: 22%; }
body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(4) { left: 3%; bottom: 20%; }
body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(5) { left: 48%; top: 8%; }
body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(6) { right: 45%; bottom: 8%; }

body.home-wonder-v966 .cs-photo-story--home {
  width: min(1240px, calc(100% - clamp(28px, 5vw, 72px))) !important;
  max-width: none !important;
  margin-block: clamp(34px, 4.3vw, 54px) !important;
  padding-block: clamp(16px, 2vw, 28px) !important;
}

body.home-wonder-v966 .mission-values-section {
  width: min(1240px, calc(100% - clamp(28px, 5vw, 72px)));
  max-width: none;
  margin-top: clamp(18px, 2.6vw, 34px) !important;
  margin-bottom: clamp(28px, 3.5vw, 48px) !important;
}

body.home-wonder-v966 .home-hub {
  padding-block: clamp(28px, 3.5vw, 46px) !important;
}

body.home-wonder-v966 .home-hub .shell,
body.home-wonder-v966 .category-showcase-section .shell {
  width: min(1240px, calc(100% - clamp(28px, 5vw, 72px)));
  max-width: none;
}

body.home-wonder-v966 .category-showcase-section {
  padding-block: clamp(32px, 4.2vw, 54px) !important;
}

@keyframes csV966LogoFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-.25deg); }
  50% { transform: translate3d(0, -7px, 0) rotate(.35deg); }
}

@keyframes csV966Twinkle {
  0%, 100% { opacity: .34; transform: scale(.72) rotate(-8deg); }
  45% { opacity: 1; transform: scale(1.08) rotate(6deg); }
  70% { opacity: .58; transform: scale(.88) rotate(1deg); }
}

@keyframes csV966BlobDrift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(.96); }
  50% { transform: translate3d(7px, -5px, 0) scale(1.035); }
}

body.cs-editorial-family-portal .fp-home-base-hero {
  padding-block: clamp(1.35rem, 3vw, 2.15rem) clamp(.8rem, 1.8vw, 1.2rem) !important;
}

body.cs-editorial-family-portal .fp-home-base-hero .shell,
body.cs-editorial-family-portal .fp-page {
  width: min(1180px, calc(100% - clamp(24px, 4vw, 56px)));
  max-width: none;
}

body.cs-editorial-family-portal .fp-home-base-hero h1 {
  max-width: 15ch;
  margin-block: .3rem .55rem;
}

body.cs-editorial-family-portal .fp-home-base-hero p:last-child {
  max-width: 62ch;
  margin-bottom: 0;
}

body.cs-editorial-family-portal .fp-page {
  padding-top: clamp(.75rem, 1.6vw, 1.25rem) !important;
}

@media (max-width: 900px) {
  body.home-wonder-v966 .brand-world-hero .brand-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .78fr) !important;
    gap: clamp(1.3rem, 4vw, 2.5rem) !important;
  }

  body.home-wonder-v966.home-hero-logo-focus .home-hero-photo-mosaic {
    width: min(100%, 350px);
  }
}

@media (max-width: 720px) {
  body.home-wonder-v966 .site-header .home-nav-v966 {
    width: calc(100% - 24px);
  }

  body.home-wonder-v966 .brand-world-hero {
    padding-block: 20px 18px !important;
  }

  body.home-wonder-v966 .brand-world-hero .brand-hero-grid {
    width: calc(100% - 28px);
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  body.home-wonder-v966 .brand-world-hero .hero-copy h1 {
    max-width: 13ch !important;
  }

  body.home-wonder-v966.home-hero-logo-focus .home-hero-photo-mosaic {
    width: min(64vw, 250px);
    margin-top: .1rem;
  }

  body.home-wonder-v966 .cs-home-wonder-orbit {
    inset: -8% -14%;
  }

  body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(1),
  body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(2),
  body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(5),
  body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(6) {
    display: none !important;
  }

  body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(3),
  body.home-wonder-v966 .brand-world-hero .floating-doodles span:nth-child(4) {
    display: block !important;
    opacity: .48 !important;
  }

  body.home-wonder-v966 .cs-photo-story--home,
  body.home-wonder-v966 .mission-values-section,
  body.home-wonder-v966 .home-hub .shell,
  body.home-wonder-v966 .category-showcase-section .shell {
    width: calc(100% - 28px) !important;
  }

  body.home-wonder-v966 .cs-photo-story--home {
    margin-block: 22px !important;
    padding-block: 12px 18px !important;
  }

  body.home-wonder-v966 .mission-values-section {
    margin-block: 18px 26px !important;
  }

  body.home-wonder-v966 .home-hub {
    padding-block: 24px !important;
  }

  body.home-wonder-v966 .category-showcase-section {
    padding-block: 26px 34px !important;
  }
}

/* ========================================================================== 
   CurioSpark v9.6.7 — Homepage Story Width & Spatial Balance

   The v9.2.2 Home-specific selector still carried higher specificity than the
   v9.6.6 width rule, leaving the photo-story at 1040px on desktop. This scoped
   correction lets the section use the intended editorial canvas and removes
   decorative inline padding without changing type, imagery, cards, or mobile.
   ========================================================================== */

@media (min-width: 960px) {
  body.cs-premium-v920.cs-studio-v960.home-streamline-v8361.home-wonder-v966.home-spacing-v967
  .cs-photo-story--home {
    width: min(1320px, calc(100% - clamp(32px, 4vw, 72px))) !important;
    max-width: none !important;
    padding-inline: 0 !important;
  }

  body.cs-premium-v920.cs-studio-v960.home-streamline-v8361.home-wonder-v966.home-spacing-v967
  .cs-photo-story--home .cs-photo-story-gallery {
    height: clamp(34rem, 52vw, 40.75rem) !important;
    min-height: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-wonder-v966 .home-hero-photo-mosaic,
  body.home-wonder-v966 .cs-home-wonder-star,
  body.home-wonder-v966 .cs-home-wonder-blob {
    animation: none !important;
    transform: none !important;
  }
}

/* ========================================================================== 
   CurioSpark v9.9.5.2 — Mobile Menu Correction
   Navigation presentation only. Desktop remains unchanged. Mobile keeps the
   existing desktop open/close state (.open + aria-expanded), while the header
   and dropdown are anchored to the current viewport at every scroll depth.
   ========================================================================== */
@media (max-width: 820px) {
  /* Fixed is intentional here: sticky is vulnerable to historical overflow
     ancestors in the mature stylesheet stack. Reserve the same header space
     on the body so page content does not jump beneath the fixed header. */
  html body.cs-studio-v960 {
    padding-top: 72px !important;
    overflow-x: clip !important;
  }

  html body.cs-studio-v960 .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 5000 !important;
    overflow: visible !important;
  }

  html body.cs-studio-v960 .site-header .nav {
    position: relative !important;
    z-index: 5001 !important;
  }

  html body.cs-studio-v960 .site-header .nav-toggle {
    position: relative !important;
    z-index: 5003 !important;
  }

  /* Keep the exact desktop JavaScript state model. Only mobile placement is
     different: the open menu is fixed below the fixed header and can scroll
     internally when its content is taller than the viewport. */
  html body.cs-studio-v960 .site-header .nav-links {
    position: fixed !important;
    top: calc(72px + env(safe-area-inset-top, 0px)) !important;
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    max-height: calc(100dvh - 86px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    z-index: 5002 !important;
  }

  html body.cs-studio-v960 .site-header .nav-links.open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  /* Do not introduce a mobile-only body lock. The menu itself contains scroll,
     and leaving the document scroll position untouched means opening/closing
     cannot re-anchor the user back to the top of the page. */
  html body.cs-studio-v960.nav-open {
    overflow-y: auto !important;
  }
}

@media (max-width: 480px) {
  html body.cs-studio-v960 {
    padding-top: 68px !important;
  }

  html body.cs-studio-v960 .site-header .nav-links {
    top: calc(68px + env(safe-area-inset-top, 0px)) !important;
    max-height: calc(100dvh - 82px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
  }
}



/* Source: /curiospark-premium-editorial-v990.css */
/* CurioSpark v9.9 — Premium Editorial Visual System
   v9.9.2 refines spacing, navigation contrast, hero composition, Programs, and Calendar.
   Presentation-only layer for public discovery routes and the private Admin workspace.
   It does not change application logic, routes, data, auth, registration, payments,
   waitlist behavior, capacity, APIs, email delivery, or database behavior. */

body.cs-public-v990,
body.cs-admin-v990 {
  --cs-v990-ink: #2b1235;
  --cs-v990-purple: #5f2579;
  --cs-v990-purple-deep: #32113f;
  --cs-v990-purple-dark: #24102e;
  --cs-v990-gold: #f4b516;
  --cs-v990-cream: #fbf6eb;
  --cs-v990-cream-deep: #f4ead9;
  --cs-v990-paper: #fffdf8;
  --cs-v990-white: #ffffff;
  --cs-v990-muted: #6a5a70;
  --cs-v990-line: rgba(53, 20, 63, .14);
  --cs-v990-line-strong: rgba(53, 20, 63, .24);
  --cs-v990-shadow: 0 24px 70px rgba(48, 15, 58, .12);
  --cs-v990-shadow-soft: 0 12px 34px rgba(48, 15, 58, .08);
  --cs-v990-ease: cubic-bezier(.2, .72, .2, 1);
  overflow-x: clip;
  color: var(--cs-v990-ink);
}

/* ========================================================================== 
   SHARED BRAND CHROME
   ========================================================================== */

body.cs-public-v990 .shell,
body.cs-admin-v990 .shell {
  width: min(1240px, calc(100% - 64px));
}

body.cs-public-v990 .site-header,
body.cs-admin-v990 .site-header {
  background: rgba(251, 246, 235, .95) !important;
  border: 0;
  border-bottom: 1px solid rgba(50, 17, 63, .1) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}

body.cs-public-v990 .site-header::before,
body.cs-admin-v990 .site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--cs-v990-purple-deep), var(--cs-v990-purple) 62%, var(--cs-v990-gold));
  pointer-events: none;
}

body.cs-public-v990 .nav,
body.cs-admin-v990 .nav {
  min-height: 78px;
  gap: 28px;
}

body.cs-public-v990 .site-header .logo-brand img,
body.cs-admin-v990 .site-header .logo-brand img {
  width: clamp(118px, 10vw, 150px);
}

body.cs-public-v990 .nav-links,
body.cs-admin-v990 .nav-links {
  gap: 2px;
}

body.cs-public-v990 .nav-links a,
body.cs-admin-v990 .nav-links a,
body.cs-public-v990 .nav-logout,
body.cs-admin-v990 .nav-logout {
  position: relative;
  border-radius: 0;
  background: transparent;
  color: rgba(43, 18, 53, .76);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: -.01em;
  padding: 12px 10px;
  box-shadow: none;
}

body.cs-public-v990 .nav-links a:not(.nav-button)::after,
body.cs-admin-v990 .nav-links a:not(.nav-button)::after {
  content: none;
  display: none;
}

body.cs-public-v990 .nav-links a:not(.nav-button):is(:hover, :focus-visible, .active),
body.cs-public-v990 .nav-logout:is(:hover, :focus-visible),
body.cs-admin-v990 .nav-links a:not(.nav-button):is(:hover, :focus-visible, .active),
body.cs-admin-v990 .nav-logout:is(:hover, :focus-visible) {
  background: linear-gradient(135deg, rgba(255, 229, 99, .60), rgba(255, 253, 248, .98)) !important;
  color: var(--cs-v990-purple-deep) !important;
  -webkit-text-fill-color: var(--cs-v990-purple-deep);
  box-shadow: 0 0 0 1px rgba(244,181,22,.58), 0 0 22px rgba(244,181,22,.42), 0 10px 24px rgba(50,17,63,.08);
  transform: translateY(-1px);
}

body.cs-public-v990 .nav-links .nav-button,
body.cs-admin-v990 .nav-links .nav-button {
  border: 1px solid var(--cs-v990-purple-deep);
  border-radius: 999px;
  background: var(--cs-v990-purple-deep);
  color: #fff;
  padding: 11px 17px;
  margin-left: 5px;
}

body.cs-public-v990 .nav-links .nav-button:hover,
body.cs-admin-v990 .nav-links .nav-button:hover {
  background: var(--cs-v990-purple) !important;
  border-color: var(--cs-v990-purple) !important;
  transform: translateY(-1px);
}

body.cs-public-v990 .nav-role-pill,
body.cs-admin-v990 .nav-role-pill {
  border-radius: 999px;
  border: 1px solid var(--cs-v990-line);
  background: rgba(255,255,255,.62);
  color: var(--cs-v990-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 7px 10px;
  text-transform: uppercase;
}

body.cs-public-v990 .button,
body.cs-admin-v990 .button {
  min-height: 42px;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-weight: 800;
  letter-spacing: -.01em;
  transition: transform 170ms var(--cs-v990-ease), background 170ms var(--cs-v990-ease), border-color 170ms var(--cs-v990-ease), color 170ms var(--cs-v990-ease);
}

body.cs-public-v990 .button.primary,
body.cs-admin-v990 .button.primary {
  background: var(--cs-v990-purple-deep);
  border-color: var(--cs-v990-purple-deep);
}

body.cs-public-v990 .button.primary:hover,
body.cs-admin-v990 .button.primary:hover {
  background: var(--cs-v990-purple) !important;
  border-color: var(--cs-v990-purple) !important;
  transform: translateY(-1px);
}

body.cs-public-v990 .button.secondary,
body.cs-admin-v990 .button.secondary,
body.cs-public-v990 .button.ghost,
body.cs-admin-v990 .button.ghost {
  background: transparent;
  border: 1px solid var(--cs-v990-line-strong);
  color: var(--cs-v990-purple-deep);
}

body.cs-public-v990 .button.secondary:hover,
body.cs-admin-v990 .button.secondary:hover,
body.cs-public-v990 .button.ghost:hover,
body.cs-admin-v990 .button.ghost:hover {
  background: rgba(95, 37, 121, .06) !important;
  border-color: var(--cs-v990-purple) !important;
}

body.cs-public-v990 :where(a, button, input, select, textarea, summary):focus-visible,
body.cs-admin-v990 :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(244, 181, 22, .72) !important;
  outline-offset: 3px;
}

/* ========================================================================== 
   PUBLIC HOMEPAGE — COMPOSED, PHOTOGRAPHIC, EDITORIAL
   ========================================================================== */

body.cs-public-v990.cs-home-v990 {
  background: var(--cs-v990-paper);
}

.cs-v990-home-main {
  overflow: clip;
}

.cs-v990-legacy-wonder-hooks {
  display: none;
}

.cs-v990-home-hero {
  position: relative;
  min-height: 650px;
  display: grid;
  align-items: center;
  padding: clamp(46px, 5.4vw, 76px) 0 clamp(50px, 6vw, 84px);
  background:
    radial-gradient(circle at 8% 12%, rgba(244, 181, 22, .15), transparent 27%),
    linear-gradient(135deg, #fffdf8 0%, #fbf6eb 60%, #f5ecf7 100%);
  border-bottom: 1px solid var(--cs-v990-line);
}

.cs-v990-home-hero::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 10px;
  right: -12px;
  bottom: 24px;
  background: var(--cs-v990-gold);
  transform: rotate(-3deg);
  opacity: .9;
}

.cs-v990-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  gap: clamp(36px, 5vw, 70px);
  align-items: center;
}

.cs-v990-hero-copy {
  max-width: 590px;
}

.cs-v990-hero-copy .eyebrow {
  margin-bottom: 20px;
  color: var(--cs-v990-purple);
  letter-spacing: .18em;
}

.cs-v990-hero-copy h1 {
  max-width: 610px;
  color: var(--cs-v990-purple-deep);
  font-size: clamp(52px, 5.6vw, 82px);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.cs-v990-hero-copy .cs-v990-hero-lede {
  max-width: 58ch;
  margin: 22px 0 0;
  color: #615367;
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.7;
}

.cs-v990-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
  margin-top: 24px;
}

.cs-v990-editorial-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: var(--cs-v990-purple-deep);
  font-size: 13px;
  font-weight: 850;
  border-bottom: 1px solid rgba(50, 17, 63, .36);
  transition: color 170ms var(--cs-v990-ease), border-color 170ms var(--cs-v990-ease), transform 170ms var(--cs-v990-ease);
}

.cs-v990-editorial-link:hover {
  color: var(--cs-v990-purple);
  border-color: var(--cs-v990-gold);
  transform: translateX(3px);
}

.cs-v990-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 26px;
  padding-top: 16px;
  border-top: 1px solid var(--cs-v990-line);
  color: #74667a;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cs-v990-hero-proof span + span::before {
  content: "✦";
  margin-right: 18px;
  color: var(--cs-v990-gold);
}

.cs-v990-story-reel {
  position: relative;
  min-width: 0;
  aspect-ratio: 1 / 1.08;
  isolation: isolate;
}

.cs-v990-story-reel::before {
  content: "";
  position: absolute;
  inset: 30px -22px -24px 34px;
  z-index: -1;
  background: var(--cs-v990-purple-deep);
  clip-path: polygon(6% 0, 100% 4%, 96% 100%, 0 94%);
}

.cs-v990-reel-window {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #ddd3e0;
  box-shadow: var(--cs-v990-shadow);
  clip-path: polygon(0 4%, 96% 0, 100% 94%, 5% 100%);
}

.cs-v990-reel-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.035);
  transition: opacity 650ms ease, transform 4.2s linear, visibility 0s linear 650ms;
}

.cs-v990-reel-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  transition-delay: 0s;
  z-index: 1;
}

.cs-v990-reel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cs-v990-reel-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(25, 8, 31, .68) 100%);
}

.cs-v990-reel-slide figcaption {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 4vw, 42px);
  right: clamp(24px, 4vw, 42px);
  bottom: clamp(52px, 7vw, 72px);
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(24px, 2.6vw, 38px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.cs-v990-reel-kicker {
  position: absolute;
  z-index: 4;
  top: 18px;
  left: 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  background: var(--cs-v990-gold);
  color: var(--cs-v990-purple-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(49, 16, 59, .13);
}

.cs-v990-reel-controls {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  left: 34px;
  bottom: 28px;
}

.cs-v990-reel-dot {
  width: 31px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  cursor: pointer;
  transition: width 180ms var(--cs-v990-ease), background 180ms var(--cs-v990-ease);
}

.cs-v990-reel-dot[aria-selected="true"] {
  width: 54px;
  background: var(--cs-v990-gold);
}

.cs-v990-philosophy {
  background: var(--cs-v990-purple-deep);
  color: #fff;
  padding: clamp(56px, 6.5vw, 88px) 0;
}

.cs-v990-philosophy-grid {
  display: grid;
  grid-template-columns: minmax(150px, .3fr) minmax(0, 1.4fr) minmax(250px, .6fr);
  gap: clamp(28px, 4.2vw, 58px);
  align-items: start;
}

.cs-v990-philosophy .eyebrow {
  color: var(--cs-v990-gold);
}

.cs-v990-philosophy blockquote {
  margin: 0;
  max-width: 860px;
  color: #fffaf0;
  font-family: var(--serif);
  font-size: clamp(42px, 5.1vw, 74px);
  line-height: 1.02;
  letter-spacing: -.05em;
}

.cs-v990-philosophy-copy {
  margin: 8px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.75;
}

.cs-v990-image-essay {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(18px, 2.6vw, 34px);
  align-items: stretch;
  padding-top: clamp(48px, 5.6vw, 72px);
  padding-bottom: clamp(48px, 5.6vw, 72px);
}

.cs-v990-image-essay figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #eadfed;
}

.cs-v990-image-essay > figure {
  min-height: 620px;
}

.cs-v990-image-stack {
  display: grid;
  gap: clamp(18px, 2.6vw, 34px);
  grid-template-rows: 1fr 1fr;
}

.cs-v990-image-stack figure {
  min-height: 290px;
}

.cs-v990-image-essay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--cs-v990-ease);
}

.cs-v990-image-essay figure:hover img {
  transform: scale(1.025);
}

.cs-v990-image-essay figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 13px 18px;
  background: rgba(50,17,63,.92);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cs-v990-values {
  padding: clamp(56px, 6.2vw, 82px) 0;
  background: var(--cs-v990-cream);
  border-block: 1px solid var(--cs-v990-line);
}

.cs-v990-values-head {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(28px, 4.5vw, 60px);
  align-items: center;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--cs-v990-line-strong);
}

.cs-v990-values-head h2 {
  max-width: 770px;
  font-size: clamp(40px, 4.7vw, 66px);
  line-height: 1.02;
  text-wrap: balance;
}

.cs-v990-values-head p:last-child {
  position: relative;
  margin: 0;
  max-width: 58ch;
  padding-left: 24px;
  border-left: 3px solid var(--cs-v990-gold);
  color: var(--cs-v990-muted);
  font-size: 16px;
}

.cs-v990-values-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
}

.cs-v990-value {
  padding: 26px 22px 8px 0;
  border-right: 1px solid var(--cs-v990-line);
}

.cs-v990-value + .cs-v990-value {
  padding-left: 22px;
}

.cs-v990-value:last-child {
  border-right: 0;
}

.cs-v990-value strong {
  display: block;
  margin-bottom: 12px;
  color: var(--cs-v990-purple-deep);
  font-family: var(--serif);
  font-size: 24px;
  letter-spacing: -.035em;
}

.cs-v990-value p {
  margin: 0;
  color: var(--cs-v990-muted);
  font-size: 13px;
  line-height: 1.7;
}

.cs-v990-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.cs-v990-path {
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(44px, 5vw, 68px);
  background: #fff;
}

.cs-v990-path:first-child {
  background:
    linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,253,248,.98)),
    url('/assets/curiospark-in-action/outdoor-learning.webp') center 24% / cover no-repeat;
  color: var(--cs-v990-purple-deep);
}

.cs-v990-path--dark {
  background: var(--cs-v990-purple-deep);
  color: #fff;
}

.cs-v990-path .eyebrow {
  color: var(--cs-v990-gold);
}

.cs-v990-path h2 {
  max-width: 620px;
  color: inherit;
  font-size: clamp(38px, 4vw, 58px);
}

.cs-v990-path p {
  max-width: 60ch;
  margin: 20px 0 0;
  color: inherit;
  opacity: .78;
}

.cs-v990-path .cs-v990-editorial-link {
  align-self: flex-start;
  margin-top: 24px;
}

.cs-v990-path--dark .cs-v990-editorial-link {
  color: #fff;
  border-color: rgba(255,255,255,.44);
}

.cs-v990-resources {
  padding: clamp(56px, 6.8vw, 90px) 0;
  background: var(--cs-v990-paper);
}

.cs-v990-resources-grid {
  display: grid;
  grid-template-columns: .74fr 1.26fr;
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

.cs-v990-resources-copy {
  position: sticky;
  top: 120px;
}

.cs-v990-resources-copy h2 {
  max-width: 620px;
  font-size: clamp(40px, 4.5vw, 64px);
}

.cs-v990-resources-copy > p:not(.eyebrow) {
  max-width: 52ch;
  color: var(--cs-v990-muted);
}

.cs-v990-resource-catalog {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1px;
  background: var(--cs-v990-line);
  border: 1px solid var(--cs-v990-line);
}

.cs-v990-resource-entry {
  position: relative;
  min-height: 290px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #fff;
}

.cs-v990-resource-entry:first-child {
  grid-row: span 2;
  min-height: 600px;
}

.cs-v990-resource-entry img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--cs-v990-ease);
}

.cs-v990-resource-entry::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 28%, rgba(32,10,39,.84) 100%);
}

.cs-v990-resource-entry > div {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 28px;
  color: #fff;
}

.cs-v990-resource-entry small {
  display: block;
  color: var(--cs-v990-gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cs-v990-resource-entry strong {
  display: block;
  margin-top: 8px;
  font-family: var(--serif);
  font-size: clamp(24px, 2.5vw, 36px);
  line-height: 1.06;
  letter-spacing: -.035em;
}

.cs-v990-resource-entry:hover img {
  transform: scale(1.035);
}

/* ========================================================================== 
   PUBLIC INNER PAGES — BETTER RHYTHM, LESS TEMPLATE ENERGY
   ========================================================================== */

body.cs-public-v990:not(.cs-home-v990) {
  background: var(--cs-v990-paper);
}

body.cs-public-v990:not(.cs-home-v990) :where(.page-hero, .programs-marketplace-hero, .calendar-hero, .big-vision-hero) {
  position: relative;
  padding-top: clamp(50px, 5.8vw, 82px) !important;
  padding-bottom: clamp(46px, 5vw, 72px) !important;
  border-bottom: 1px solid var(--cs-v990-line);
  background:
    radial-gradient(circle at 88% 18%, rgba(154, 78, 163, .13), transparent 26%),
    radial-gradient(circle at 10% 16%, rgba(244, 181, 22, .16), transparent 27%),
    var(--cs-v990-cream);
  box-shadow: none;
  overflow: hidden;
}

body.cs-public-v990:not(.cs-home-v990) :where(.page-hero, .programs-marketplace-hero, .calendar-hero, .big-vision-hero) h1 {
  max-width: 840px;
  color: var(--cs-v990-purple-deep);
  font-size: clamp(48px, 5.7vw, 78px) !important;
  line-height: .99 !important;
  text-wrap: balance;
}

body.cs-public-v990:not(.cs-home-v990) :where(.page-hero, .programs-marketplace-hero, .calendar-hero, .big-vision-hero) p:not(.eyebrow) {
  max-width: 62ch;
  font-size: 16px;
  line-height: 1.7;
}

body.cs-public-v990 :where(.cs-photo-story, .cs-photo-break, .cs-team-story, .cs-resource-story, .cs-calendar-moment) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

body.cs-public-v990 :where(.section-heading, .resource-intro, .programs-list-section > .section-heading) {
  max-width: 880px;
}

body.cs-public-v990 :where(.section-heading h2, .resource-intro h2, .cs-team-story h2, .cs-resource-story h2) {
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.03;
}

/* Programs become an editorial catalog rather than a wall of product cards. */
body.cs-public-v990.cs-programs-v990 .programs-marketplace-hero-grid {
  gap: clamp(34px, 5vw, 66px);
}

body.cs-public-v990.cs-programs-v990 .programs-hero-photo-set {
  gap: 14px;
}

body.cs-public-v990.cs-programs-v990 .programs-hero-photo {
  border-radius: 0;
  border: 0;
  box-shadow: none;
  overflow: hidden;
}

body.cs-public-v990.cs-programs-v990 .programs-hero-photo--large {
  transform: translateY(-8px);
}

body.cs-public-v990.cs-programs-v990 .programs-hero-photo--small {
  transform: translateY(22px);
}

body.cs-public-v990.cs-programs-v990 .programs-checkout-status {
  border-radius: 0;
  border: 0;
  border-left: 3px solid var(--cs-v990-gold);
  background: transparent;
  box-shadow: none;
  padding-left: 18px;
}

body.cs-public-v990.cs-programs-v990 .program-flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-block: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-programs-v990 .program-flow > article {
  border: 0 !important;
  border-right: 1px solid var(--cs-v990-line) !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  padding: 30px 30px 30px 0;
}

body.cs-public-v990.cs-programs-v990 .program-flow > article + article {
  padding-left: 30px;
}

body.cs-public-v990.cs-programs-v990 .program-flow > article:last-child {
  border-right: 0 !important;
}

body.cs-public-v990.cs-programs-v990 .program-marketplace-grid {
  display: block;
  grid-template-columns: 1fr;
  gap: 0 !important;
  border-top: 1px solid var(--cs-v990-line-strong);
}

body.cs-public-v990.cs-programs-v990 .program-market-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 34px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v990-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.cs-public-v990.cs-programs-v990 .program-card-topline {
  grid-column: 1;
  align-self: stretch;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-programs-v990 .program-card-body,
body.cs-public-v990.cs-programs-v990 .program-card-footer {
  grid-column: 1;
}

body.cs-public-v990.cs-programs-v990 .program-card-body {
  padding-top: clamp(18px, 2.2vw, 26px);
}

body.cs-public-v990.cs-programs-v990 .program-card-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 28px;
  align-items: end;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-programs-v990 :where(.program-date-chip, .v839-course-chip, .program-price) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: var(--cs-v990-muted) !important;
  font-size: 11px !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body.cs-public-v990.cs-programs-v990 .program-price {
  color: var(--cs-v990-purple-deep) !important;
  font-family: var(--serif);
  font-size: clamp(24px, 2.5vw, 30px) !important;
  letter-spacing: -.03em;
  text-transform: none;
}

body.cs-public-v990.cs-programs-v990 .program-card-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

body.cs-public-v990.cs-programs-v990 .program-card-description-zone {
  max-width: 78ch;
  margin-top: 12px;
}

body.cs-public-v990.cs-programs-v990 .program-meta-stack {
  display: grid;
  gap: 10px;
}

body.cs-public-v990.cs-programs-v990 .program-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
}

body.cs-public-v990.cs-programs-v990 .program-meta--primary .v839-course-chip {
  position: relative;
}

body.cs-public-v990.cs-programs-v990 .program-meta--primary .v839-course-chip + .v839-course-chip::before {
  content: "·";
  position: absolute;
  left: -13px;
  color: var(--cs-v990-gold);
}

body.cs-public-v990.cs-programs-v990 .program-card-actions {
  justify-self: end;
  padding-top: 0;
}

body.cs-public-v990.cs-programs-v990 .program-card-title-block h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
}

body.cs-public-v990.cs-programs-v990 .program-card-visual {
  width: 58px !important;
  height: 58px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-public-v990.cs-programs-v990 .program-payment-note,
body.cs-public-v990.cs-programs-v990 .public-location-note {
  border-radius: 0;
  box-shadow: none;
}

/* Resource cards become a clean illustrated index. */
body.cs-public-v990.cs-resources-v990 .resource-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--cs-v990-line);
  border: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-resources-v990 .resource-feature-card {
  margin: 0;
  border: 0 !important;
  border-radius: 0;
  background: var(--cs-v990-paper);
  box-shadow: none !important;
  padding: clamp(26px, 3vw, 40px);
}

body.cs-public-v990.cs-resources-v990 .resource-feature-card:hover {
  background: #fff !important;
  transform: none !important;
}

body.cs-public-v990.cs-resources-v990 .resource-feature-card img {
  border-radius: 0;
}

/* Team profiles use portrait-first editorial composition. */
body.cs-public-v990.cs-team-v990 .team-grid-compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--cs-v990-line);
  border: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-team-v990 .team-card-placard {
  margin: 0;
  min-height: 0;
  border: 0 !important;
  border-radius: 0;
  background: var(--cs-v990-paper);
  box-shadow: none !important;
  padding: clamp(28px, 4vw, 48px);
}

body.cs-public-v990.cs-team-v990 .team-card-placard img {
  border-radius: 0;
  box-shadow: none;
}

/* An odd final profile becomes an intentional half-width editorial ending, not a gray empty card. */
body.cs-public-v990.cs-team-v990 .team-grid-compact > .team-card-placard:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  width: 100%;
  border-right: 0 !important;
}

/* Vision cards become text chapters separated by rules. */
body.cs-public-v990.cs-vision-v990 :where(.vision-snapshot-card, .vision-feature-card, .vision-card-grid > article, .vision-audience-grid > article) {
  border-radius: 0;
  box-shadow: none !important;
}

body.cs-public-v990.cs-vision-v990 .vision-card-grid,
body.cs-public-v990.cs-vision-v990 .vision-audience-grid {
  gap: 1px;
  background: var(--cs-v990-line);
  border: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-vision-v990 :where(.vision-card-grid > article, .vision-audience-grid > article) {
  border: 0 !important;
  background: var(--cs-v990-paper);
}

/* Calendar and Join retain functional cards, but lose decorative bulk. */
body.cs-public-v990.cs-calendar-v990 :where(.calendar-note-grid > article, .event-card, .calendar-card),
body.cs-public-v990.cs-join-v990 .frontdoor-path-card {
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.cs-public-v990.cs-join-v990 .frontdoor-path-section {
  gap: 1px;
  background: var(--cs-v990-line);
  border: 1px solid var(--cs-v990-line);
}

body.cs-public-v990.cs-join-v990 .frontdoor-path-card {
  margin: 0;
  border: 0 !important;
}

/* ========================================================================== 
   v9.9.2 PUBLIC RHYTHM — TIGHTER, CONNECTED, STILL BREATHABLE
   ========================================================================== */

body.cs-public-v990.cs-programs-v990 .program-flow-section {
  margin-top: clamp(24px, 3vw, 42px);
  padding-block: 0;
}

body.cs-public-v990.cs-programs-v990 .programs-list-section {
  padding-block: clamp(42px, 5vw, 70px);
}

body.cs-public-v990.cs-programs-v990 .programs-list-section > .section-heading {
  margin-bottom: clamp(24px, 3vw, 38px);
}

body.cs-public-v990.cs-programs-v990 .program-payment-note {
  margin-top: clamp(34px, 4vw, 54px);
  padding: clamp(24px, 3vw, 36px);
}

body.cs-public-v990.cs-programs-v990 .public-location-note {
  margin-block: clamp(22px, 3vw, 38px);
}

body.cs-public-v990.cs-resources-v990 :where(.resource-intro, .cs-resource-story),
body.cs-public-v990.cs-team-v990 :where(.team-grid-compact, .cs-team-story),
body.cs-public-v990.cs-vision-v990 :where(.vision-snapshot-section, .vision-feature-section, .vision-audience-section),
body.cs-public-v990.cs-join-v990 :where(.frontdoor-path-section, .join-explainer-section) {
  margin-block: clamp(34px, 4.5vw, 64px);
}

body.cs-public-v990.cs-calendar-v990 :where(.calendar-hero, .cs-calendar-moment, .calendar-live-section, .upcoming-open-section, .calendar-note-grid)::before,
body.cs-public-v990.cs-calendar-v990 :where(.calendar-hero, .cs-calendar-moment, .calendar-live-section, .upcoming-open-section, .calendar-note-grid)::after {
  content: none;
  display: none;
}

@media (max-width: 620px) {
  body.cs-public-v990.cs-programs-v990 .program-card-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  body.cs-public-v990.cs-programs-v990 .program-card-heading-row {
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 12px;
  }


  body.cs-public-v990.cs-programs-v990 .program-meta--primary .v839-course-chip + .v839-course-chip::before {
    content: none;
  }

  body.cs-public-v990.cs-programs-v990 .program-meta {
    display: grid;
    gap: 7px;
  }
}

/* ========================================================================== 
   FOOTER — INTENTIONAL, DARK, RESTRAINED
   ========================================================================== */

body.cs-public-v990 .site-footer,
body.cs-admin-v990 .site-footer {
  position: relative;
  padding: 58px 0 44px;
  background: var(--cs-v990-purple-dark) !important;
  border: 0 !important;
  color: #fff;
  box-shadow: none !important;
}

body.cs-public-v990 .site-footer::before,
body.cs-admin-v990 .site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--cs-v990-gold);
}

body.cs-public-v990 .footer-grid,
body.cs-admin-v990 .footer-grid {
  align-items: start;
  gap: 48px;
}

body.cs-public-v990 .footer-logo-brand,
body.cs-admin-v990 .footer-logo-brand {
  display: inline-flex;
  background: var(--cs-v990-cream);
  padding: 8px 11px;
  border-radius: 10px;
  box-shadow: none;
}

body.cs-public-v990 .site-footer p,
body.cs-admin-v990 .site-footer p {
  max-width: 48ch;
  color: rgba(255,255,255,.62) !important;
}

body.cs-public-v990 .footer-links,
body.cs-admin-v990 .footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 10px 24px;
}

body.cs-public-v990 .footer-links a,
body.cs-public-v990 .footer-links button,
body.cs-admin-v990 .footer-links a,
body.cs-admin-v990 .footer-links button {
  color: rgba(255,255,255,.78) !important;
  font-size: 12px;
  text-align: left;
}

body.cs-public-v990 .footer-links a:hover,
body.cs-admin-v990 .footer-links a:hover {
  color: var(--cs-v990-gold) !important;
}

/* ========================================================================== 
   ADMIN — A QUIET OPERATIONS STUDIO, NOT A CARD FARM
   ========================================================================== */

body.cs-admin-v990 {
  background: #f7f2e9;
}

body.cs-admin-v990 main {
  min-height: 68vh;
}

body.cs-admin-v990 .page-hero {
  padding: clamp(46px, 5vw, 72px) 0 !important;
  background:
    linear-gradient(90deg, rgba(244,181,22,.13), transparent 24%),
    var(--cs-v990-paper);
  border-bottom: 1px solid var(--cs-v990-line);
  box-shadow: none;
}

body.cs-admin-v990 .page-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(230px, .35fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: center;
}

body.cs-admin-v990 .page-hero h1 {
  max-width: 830px;
  color: var(--cs-v990-purple-deep);
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: 1;
  text-wrap: balance;
}

body.cs-admin-v990 .page-hero p:not(.eyebrow) {
  max-width: 68ch;
  font-size: 15px;
}

body.cs-admin-v990 .page-callout {
  border: 0;
  border-left: 3px solid var(--cs-v990-gold);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 6px 0 6px 20px;
}

body.cs-admin-v990 .admin-shell {
  padding-top: 28px;
  padding-bottom: 72px;
}

body.cs-admin-v990 .admin-subnav {
  position: sticky;
  top: 79px;
  z-index: 30;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  overflow-x: auto;
  margin: 0 0 32px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--cs-v990-line-strong);
  border-radius: 0;
  background: rgba(247,242,233,.96);
  box-shadow: none;
  scrollbar-width: thin;
}

body.cs-admin-v990 .admin-subnav a {
  flex: 0 0 auto;
  padding: 12px 14px 11px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #6a5a70;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

body.cs-admin-v990 .admin-subnav a:hover,
body.cs-admin-v990 .admin-subnav a[aria-current="page"],
body.cs-admin-v990 .admin-subnav a.active {
  color: var(--cs-v990-purple-deep) !important;
  border-bottom-color: var(--cs-v990-gold) !important;
}

body.cs-admin-v990 :where(.admin-card, .mini-panel, .notice-card, .export-card, .v847-card, .payment-ops-card) {
  border: 1px solid var(--cs-v990-line);
  border-radius: 16px !important;
  background: var(--cs-v990-paper);
  box-shadow: none !important;
}

body.cs-admin-v990 :where(.admin-card, .mini-panel, .notice-card, .export-card, .v847-card) h2,
body.cs-admin-v990 :where(.admin-card, .mini-panel, .notice-card, .export-card, .v847-card) h3 {
  color: var(--cs-v990-purple-deep);
}

body.cs-admin-v990 :where(input, select, textarea) {
  border: 1px solid rgba(50,17,63,.2) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.cs-admin-v990 :where(input, select, textarea):focus {
  border-color: var(--cs-v990-purple) !important;
  box-shadow: 0 0 0 3px rgba(95,37,121,.09) !important;
}

body.cs-admin-v990 table {
  border-collapse: collapse;
  border-spacing: 0;
}

body.cs-admin-v990 th {
  background: #f1e9df !important;
  color: var(--cs-v990-purple-deep) !important;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.cs-admin-v990 td,
body.cs-admin-v990 th {
  border-color: var(--cs-v990-line) !important;
}

body.cs-admin-v990 details {
  border-color: var(--cs-v990-line) !important;
  box-shadow: none !important;
}

/* Admin home: two-dimensional editorial index instead of six floating cards. */
body.cs-admin-v990.cs-admin-home-v990 .calm-admin-welcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  margin: 8px 0 0;
  padding: 34px 0 30px;
  border: 0;
  border-top: 1px solid var(--cs-v990-line-strong);
  border-bottom: 1px solid var(--cs-v990-line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-welcome h2 {
  max-width: 800px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.03;
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-sparkle {
  color: var(--cs-v990-gold);
  font-size: 62px;
  text-shadow: none;
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 0 34px;
  border-left: 1px solid var(--cs-v990-line);
  border-top: 0;
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-card {
  min-height: 220px !important;
  margin: 0;
  padding: 30px !important;
  border: 0;
  border-right: 1px solid var(--cs-v990-line) !important;
  border-bottom: 1px solid var(--cs-v990-line) !important;
  border-radius: 0;
  background: rgba(255,253,248,.72) !important;
  box-shadow: none;
  transition: background 180ms var(--cs-v990-ease);
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-card:hover {
  background: #fff !important;
  transform: none !important;
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-card h3 {
  font-size: clamp(25px, 2.4vw, 34px);
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-actions {
  margin-top: auto;
}

body.cs-admin-v990.cs-admin-home-v990 .calm-admin-actions .button:not(.primary) {
  border: 0;
  border-bottom: 1px solid var(--cs-v990-line-strong);
  border-radius: 0 !important;
  padding-inline: 0;
}

body.cs-admin-v990.cs-admin-home-v990 .admin-preview-controls .admin-card,
body.cs-admin-v990.cs-admin-home-v990 [data-team-or-admin-panel] .admin-card {
  border-radius: 0;
  border-left: 3px solid var(--cs-v990-gold);
}

body.cs-admin-v990.cs-admin-home-v990 .team-hub-image-only {
  border: 0;
  border-block: 1px solid var(--cs-v990-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cs-admin-v990.cs-admin-home-v990 .team-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-left: 1px solid var(--cs-v990-line);
  border-top: 1px solid var(--cs-v990-line);
}

body.cs-admin-v990.cs-admin-home-v990 .team-hub-card {
  min-height: 200px;
  border: 0;
  border-right: 1px solid var(--cs-v990-line);
  border-bottom: 1px solid var(--cs-v990-line);
  border-radius: 0;
  background: var(--cs-v990-paper);
  box-shadow: none !important;
}

body.cs-admin-v990.cs-admin-home-v990 .team-hub-card:hover {
  transform: none !important;
  background: #fff !important;
}

/* Preserve Finance/Payout v9.8.2's specialized inner information architecture. */
body.cs-admin-v990.v982-finance-page :where(.v982-finance-workspace, .v910-finance-center),
body.cs-admin-v990.v982-payout-page :where(.v982-payout-center, .v813-payout-page) {
  font-size: inherit;
}

/* ========================================================================== 
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1040px) {
  body.cs-public-v990 .shell,
  body.cs-admin-v990 .shell {
    width: min(100% - 44px, 1120px);
  }

  .cs-v990-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(410px, 1.1fr);
    gap: 42px;
  }

  .cs-v990-philosophy-grid {
    grid-template-columns: 150px 1fr;
  }

  .cs-v990-philosophy-copy {
    grid-column: 2;
  }

  .cs-v990-values-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .cs-v990-value:nth-child(2) {
    border-right: 0;
  }

  .cs-v990-value:nth-child(n+3) {
    border-top: 1px solid var(--cs-v990-line);
  }
}

@media (max-width: 820px) {
  body.cs-public-v990 .shell,
  body.cs-admin-v990 .shell {
    width: min(100% - 34px, 760px);
  }

  body.cs-public-v990 .nav,
  body.cs-admin-v990 .nav {
    min-height: 70px;
  }

  body.cs-public-v990 .nav-toggle,
  body.cs-admin-v990 .nav-toggle {
    border: 1px solid rgba(95, 37, 121, .42) !important;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(95, 37, 121, 0), rgba(95, 37, 121, .055)), var(--cs-v990-cream) !important;
    transition: color 170ms var(--cs-v990-ease), background 170ms var(--cs-v990-ease), border-color 170ms var(--cs-v990-ease), transform 170ms var(--cs-v990-ease);
  }

  body.cs-public-v990 .nav-toggle span,
  body.cs-admin-v990 .nav-toggle span {
    background: var(--cs-v990-purple-deep) !important;
  }

  body.cs-public-v990 .nav-toggle:hover,
  body.cs-public-v990 .nav-toggle:focus-visible,
  body.cs-admin-v990 .nav-toggle:hover,
  body.cs-admin-v990 .nav-toggle:focus-visible {
    border-color: var(--cs-v990-purple) !important;
    background: linear-gradient(90deg, rgba(95, 37, 121, .09), rgba(95, 37, 121, .16)), var(--cs-v990-cream) !important;
    transform: translateY(-1px);
  }

  body.cs-public-v990 .nav-links,
  body.cs-admin-v990 .nav-links {
    top: calc(100% + 1px) !important;
    left: 17px !important;
    right: 17px !important;
    gap: 0;
    padding: 12px !important;
    border: 1px solid var(--cs-v990-line);
    border-radius: 16px;
    background: rgba(255,253,248,.98);
    box-shadow: var(--cs-v990-shadow-soft);
  }

  body.cs-public-v990 .nav-links a,
  body.cs-admin-v990 .nav-links a,
  body.cs-public-v990 .nav-logout,
  body.cs-admin-v990 .nav-logout {
    width: 100%;
    padding: 12px 11px;
    border-radius: 10px;
    text-align: left;
    transition: background 160ms var(--cs-v990-ease), color 160ms var(--cs-v990-ease);
  }

  body.cs-public-v990 .nav-links a:not(.nav-button):is(:hover, :focus-visible, .active),
  body.cs-public-v990 .nav-logout:is(:hover, :focus-visible),
  body.cs-admin-v990 .nav-links a:not(.nav-button):is(:hover, :focus-visible, .active),
  body.cs-admin-v990 .nav-logout:is(:hover, :focus-visible) {
    background: linear-gradient(135deg, rgba(255, 229, 99, .66), rgba(255, 253, 248, .99)) !important;
    color: var(--cs-v990-purple-deep) !important;
    -webkit-text-fill-color: var(--cs-v990-purple-deep);
    box-shadow: 0 0 0 1px rgba(244,181,22,.62), 0 0 22px rgba(244,181,22,.46);
  }

  body.cs-public-v990 .nav-links .nav-button,
  body.cs-admin-v990 .nav-links .nav-button {
    margin: 8px 0 0;
    text-align: center;
  }

  .cs-v990-home-hero {
    min-height: 0;
    padding: 46px 0 58px;
  }

  .cs-v990-hero-grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .cs-v990-hero-copy {
    max-width: 680px;
  }

  .cs-v990-hero-copy h1 {
    font-size: clamp(48px, 12vw, 72px);
  }

  .cs-v990-story-reel {
    width: min(100%, 660px);
    aspect-ratio: 1.12 / 1;
    margin-inline: auto;
  }

  .cs-v990-philosophy-grid {
    grid-template-columns: 1fr;
  }

  .cs-v990-philosophy-copy {
    grid-column: auto;
    max-width: 60ch;
  }

  .cs-v990-image-essay {
    grid-template-columns: 1fr;
  }

  .cs-v990-image-essay > figure {
    min-height: 520px;
  }

  .cs-v990-image-stack {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .cs-v990-image-stack figure {
    min-height: 310px;
  }

  .cs-v990-values-head {
    grid-template-columns: 1fr;
  }

  .cs-v990-paths {
    grid-template-columns: 1fr;
  }

  .cs-v990-path {
    min-height: 430px;
  }

  .cs-v990-resources-grid {
    grid-template-columns: 1fr;
  }

  .cs-v990-resources-copy {
    position: static;
  }

  body.cs-public-v990.cs-programs-v990 .program-market-card {
    grid-template-columns: 1fr !important;
  }

  body.cs-public-v990.cs-programs-v990 .program-card-topline,
  body.cs-public-v990.cs-programs-v990 .program-card-body,
  body.cs-public-v990.cs-programs-v990 .program-card-footer {
    grid-column: 1;
  }

  body.cs-public-v990.cs-programs-v990 .program-card-footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.cs-public-v990.cs-programs-v990 .program-card-actions {
    justify-self: start;
  }

  body.cs-admin-v990 .page-hero-grid {
    grid-template-columns: 1fr;
  }

  body.cs-admin-v990 .page-callout {
    max-width: 560px;
  }
}

@media (max-width: 620px) {
  body.cs-public-v990 .shell,
  body.cs-admin-v990 .shell {
    width: min(100% - 28px, 560px);
  }

  .cs-v990-home-hero {
    padding: 38px 0 48px;
  }

  .cs-v990-home-hero::after {
    width: 150px;
    height: 12px;
    bottom: 30px;
  }

  .cs-v990-hero-copy .eyebrow {
    margin-bottom: 14px;
  }

  .cs-v990-hero-copy h1 {
    font-size: clamp(43px, 13.5vw, 58px);
    line-height: .99;
  }

  .cs-v990-hero-copy .cs-v990-hero-lede {
    margin-top: 20px;
    font-size: 15px;
  }

  .cs-v990-hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .cs-v990-hero-actions .button {
    width: 100%;
  }

  .cs-v990-editorial-link {
    align-self: flex-start;
  }

  .cs-v990-hero-proof {
    display: grid;
    gap: 8px;
    font-size: 10px;
  }

  .cs-v990-hero-proof span + span::before {
    margin-right: 9px;
  }

  .cs-v990-story-reel {
    width: calc(100% - 10px);
    aspect-ratio: .84 / 1;
  }

  .cs-v990-story-reel::before {
    inset: 20px -10px -14px 18px;
  }

  .cs-v990-reel-kicker {
    left: 14px;
    top: 14px;
  }

  .cs-v990-reel-controls {
    left: 22px;
    bottom: 22px;
  }

  .cs-v990-reel-slide figcaption {
    left: 22px;
    right: 22px;
    bottom: 54px;
    font-size: 27px;
  }

  .cs-v990-philosophy {
    padding: 52px 0;
  }

  .cs-v990-philosophy blockquote {
    font-size: clamp(38px, 11vw, 52px);
  }

  .cs-v990-image-essay {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .cs-v990-image-essay > figure {
    min-height: 430px;
  }

  .cs-v990-image-stack {
    grid-template-columns: 1fr;
  }

  .cs-v990-image-stack figure {
    min-height: 300px;
  }

  .cs-v990-values {
    padding: 48px 0;
  }

  .cs-v990-values-head {
    gap: 20px;
    padding-bottom: 24px;
  }

  .cs-v990-values-head p:last-child {
    padding-left: 0;
    padding-top: 16px;
    border-left: 0;
    border-top: 3px solid var(--cs-v990-gold);
  }

  .cs-v990-values-list {
    grid-template-columns: 1fr;
  }

  .cs-v990-value,
  .cs-v990-value + .cs-v990-value {
    padding: 24px 0;
    border-right: 0;
    border-top: 1px solid var(--cs-v990-line);
  }

  .cs-v990-value:first-child {
    border-top: 0;
  }

  .cs-v990-path {
    min-height: 350px;
    padding: 38px 24px;
  }

  .cs-v990-resource-catalog {
    grid-template-columns: 1fr;
  }

  .cs-v990-resource-entry,
  .cs-v990-resource-entry:first-child {
    grid-row: auto;
    min-height: 360px;
  }

  body.cs-public-v990:not(.cs-home-v990) :where(.page-hero, .programs-marketplace-hero, .calendar-hero, .big-vision-hero) h1 {
    font-size: clamp(42px, 12vw, 58px) !important;
  }

  body.cs-public-v990.cs-programs-v990 .program-flow {
    grid-template-columns: 1fr;
  }

  body.cs-public-v990.cs-programs-v990 .program-flow > article,
  body.cs-public-v990.cs-programs-v990 .program-flow > article + article {
    padding: 24px 0;
    border-right: 0 !important;
    border-bottom: 1px solid var(--cs-v990-line) !important;
  }

  body.cs-public-v990.cs-programs-v990 .program-flow > article:last-child {
    border-bottom: 0 !important;
  }

  body.cs-public-v990.cs-resources-v990 .resource-card-grid,
  body.cs-public-v990.cs-team-v990 .team-grid-compact {
    grid-template-columns: 1fr;
  }

  body.cs-public-v990.cs-team-v990 .team-grid-compact > .team-card-placard:last-child:nth-child(odd) {
    grid-column: auto;
    width: 100%;
    border-right: 0 !important;
  }

  body.cs-admin-v990 .page-hero {
    padding: 42px 0 !important;
  }

  body.cs-admin-v990 .page-hero h1 {
    font-size: clamp(38px, 11vw, 50px);
  }

  body.cs-admin-v990 .admin-shell {
    padding-top: 18px;
  }

  body.cs-admin-v990 .admin-subnav {
    top: 70px;
    margin-bottom: 24px;
  }

  body.cs-admin-v990.cs-admin-home-v990 .calm-admin-welcome {
    grid-template-columns: 1fr;
    padding: 28px 0 24px;
  }

  body.cs-admin-v990.cs-admin-home-v990 .calm-admin-sparkle {
    display: none;
  }

  body.cs-admin-v990.cs-admin-home-v990 .calm-admin-grid,
  body.cs-admin-v990.cs-admin-home-v990 .team-hub-grid {
    grid-template-columns: 1fr !important;
  }

  body.cs-admin-v990.cs-admin-home-v990 .calm-admin-card,
  body.cs-admin-v990.cs-admin-home-v990 .team-hub-card {
    min-height: 0 !important;
    padding: 24px !important;
  }

  body.cs-public-v990 .footer-grid,
  body.cs-admin-v990 .footer-grid {
    gap: 32px;
  }

  body.cs-public-v990 .footer-links,
  body.cs-admin-v990 .footer-links {
    grid-template-columns: 1fr;
  }
}

@media (hover: hover) and (pointer: fine) {
  body.cs-public-v990 .cs-v990-resource-entry:hover,
  body.cs-public-v990 .cs-v990-editorial-link:hover,
  body.cs-public-v990 .button:hover,
  body.cs-admin-v990 .button:hover {
    will-change: transform;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-public-v990 *,
  body.cs-public-v990 *::before,
  body.cs-public-v990 *::after,
  body.cs-admin-v990 *,
  body.cs-admin-v990 *::before,
  body.cs-admin-v990 *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .cs-v990-reel-slide {
    transform: none !important;
  }
}


/* CurioSpark v9.9.3 — final visual/interaction safety */
/* Purple primary actions must retain readable labels through every interaction state. */
body.cs-public-v990 :where(a.button.primary, button.button.primary, a.nav-button, button.nav-button, .vision-cta-button):is(:hover, :focus-visible, :active),
body.cs-admin-v990 :where(a.button.primary, button.button.primary, a.nav-button, button.nav-button):is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.cs-public-v990 :where(a.button.primary, button.button.primary, a.nav-button, button.nav-button, .vision-cta-button):is(:hover, :focus-visible, :active) *,
body.cs-admin-v990 :where(a.button.primary, button.button.primary, a.nav-button, button.nav-button):is(:hover, :focus-visible, :active) * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* The story label belongs to the photo window, not the outer decorative stack. */
body.cs-public-v990.cs-home-v990 .cs-v990-reel-window > .cs-v990-reel-kicker {
  top: clamp(28px, 3vw, 38px);
  left: clamp(24px, 3vw, 34px);
  max-width: calc(100% - 56px);
}

/* Direct collection anchors should land below the sticky header. */
body.cs-public-v990.cs-resources-v990 .resource-feature-card[id] {
  scroll-margin-top: 7rem;
}

@media (max-width: 620px) {
  body.cs-public-v990.cs-home-v990 .cs-v990-reel-window > .cs-v990-reel-kicker {
    top: 22px;
    left: 20px;
    max-width: calc(100% - 40px);
    padding: 8px 10px;
    font-size: 9px;
  }
  body.cs-public-v990 {
    overflow-x: clip;
  }
  body.cs-public-v990 :where(main, section, .shell, .page-hero-grid, .cs-v990-hero-grid, .cs-photo-break, .resource-feature-card) {
    min-width: 0;
    max-width: 100%;
  }
  body.cs-public-v990 :where(.button, .nav-button) {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* ========================================================================== 
   CurioSpark v9.9.4 — Human Editorial Brand Convergence
   Canonical public/Admin-home convergence: human copy scale, two clear paths,
   deterministic buttons, and a useful CurioSpark footer.
   ========================================================================== */

/* Homepage copy uses one strong welcome rather than a stack of slogans. */
body.cs-home-v990 #cs-v990-home-title {
  max-width: 720px;
  font-size: clamp(58px, 7vw, 104px);
  line-height: .91;
}
body.cs-home-v990 .cs-v990-hero-lede {
  max-width: 59ch;
  font-size: clamp(17px, 1.45vw, 20px);
}
body.cs-home-v990 .cs-v990-hero-actions {
  align-items: center;
}
body.cs-home-v990 .cs-v990-philosophy-grid blockquote {
  max-width: 820px;
  font-size: clamp(38px, 4.6vw, 66px);
  line-height: 1.02;
}
body.cs-home-v990 .cs-v990-philosophy-copy {
  max-width: 49ch;
}
body.cs-home-v990 .cs-v990-values-head h2 {
  max-width: 740px;
  font-size: clamp(42px, 5vw, 70px);
}
body.cs-home-v990 .cs-v990-values-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.cs-home-v990 .cs-v990-path {
  min-height: 360px;
  padding: clamp(38px, 4.4vw, 58px);
}
body.cs-home-v990 .cs-v990-path h2 {
  max-width: 560px;
  font-size: clamp(34px, 3.7vw, 52px);
}
body.cs-home-v990 .cs-v994-path-resources {
  background:
    radial-gradient(circle at 90% 12%, rgba(244,181,22,.16), transparent 24%),
    linear-gradient(145deg, #361044 0%, #5b236f 100%);
}
body.cs-home-v990 .cs-v990-resources-copy h2 {
  font-size: clamp(38px, 4vw, 58px);
}

/* Final public footer: rich, useful, and restrained rather than decorative filler. */
body.cs-public-v990 .cs-v994-footer,
body.cs-admin-v990 .cs-v994-footer {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(54px, 6vw, 78px) 0 24px;
  color: rgba(255,255,255,.88);
  background:
    radial-gradient(circle at 12% 22%, rgba(244,181,22,.13) 0 2px, transparent 3px),
    radial-gradient(circle at 81% 28%, rgba(255,255,255,.16) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 70%, rgba(244,181,22,.11), transparent 22%),
    linear-gradient(145deg, #26082f 0%, #401052 52%, #5b236f 100%);
  border-top: 2px solid rgba(244,181,22,.78);
}
body.cs-public-v990 .cs-v994-footer::before,
body.cs-admin-v990 .cs-v994-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .5;
  background-image:
    radial-gradient(circle at 26% 34%, #f4b516 0 1.5px, transparent 2px),
    radial-gradient(circle at 68% 20%, #fff 0 1px, transparent 1.7px),
    radial-gradient(circle at 78% 76%, #f4b516 0 1.4px, transparent 2px),
    radial-gradient(circle at 42% 78%, #fff 0 1px, transparent 1.7px);
}
body.cs-public-v990 .cs-v994-footer-grid,
body.cs-admin-v990 .cs-v994-footer-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) repeat(2, minmax(150px, .72fr)) minmax(220px, 1fr);
  gap: clamp(28px, 4vw, 60px);
  align-items: start;
}
body.cs-public-v990 .cs-v994-footer-logo,
body.cs-admin-v990 .cs-v994-footer-logo {
  display: inline-block;
  max-width: min(100%, 300px);
}
body.cs-public-v990 .cs-v994-footer-logo img,
body.cs-admin-v990 .cs-v994-footer-logo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
body.cs-public-v990 .cs-v994-footer-brand > p,
body.cs-admin-v990 .cs-v994-footer-brand > p {
  max-width: 38ch;
  margin: 14px 0 0;
  color: rgba(255,255,255,.78);
  line-height: 1.65;
}
body.cs-public-v990 .cs-v994-footer-values,
body.cs-admin-v990 .cs-v994-footer-values {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.cs-public-v990 .cs-v994-footer-values span,
body.cs-admin-v990 .cs-v994-footer-values span { color: #f4b516; margin-inline: 6px; }
body.cs-public-v990 .cs-v994-footer h2,
body.cs-admin-v990 .cs-v994-footer h2 {
  margin: 8px 0 16px;
  color: #f4c640;
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.cs-public-v990 .cs-v994-footer-nav,
body.cs-admin-v990 .cs-v994-footer-nav {
  display: grid;
  gap: 10px;
}
body.cs-public-v990 .cs-v994-footer :where(a, button.footer-logout),
body.cs-admin-v990 .cs-v994-footer :where(a, button.footer-logout) {
  color: rgba(255,255,255,.9);
  -webkit-text-fill-color: rgba(255,255,255,.9);
}
body.cs-public-v990 .cs-v994-footer-nav :where(a, button.footer-logout),
body.cs-admin-v990 .cs-v994-footer-nav :where(a, button.footer-logout) {
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  line-height: 1.45;
  text-align: left;
}
body.cs-public-v990 .cs-v994-footer-nav :where(a, button.footer-logout):is(:hover, :focus-visible),
body.cs-admin-v990 .cs-v994-footer-nav :where(a, button.footer-logout):is(:hover, :focus-visible) {
  color: #ffd45d;
  -webkit-text-fill-color: #ffd45d;
}
body.cs-public-v990 .cs-v994-footer-community p,
body.cs-admin-v990 .cs-v994-footer-community p {
  max-width: 28ch;
  margin: 14px 0 0;
  color: rgba(255,255,255,.72);
}
body.cs-public-v990 .cs-v994-footer-community-button,
body.cs-admin-v990 .cs-v994-footer-community-button {
  width: 100%;
  color: #401052;
  -webkit-text-fill-color: #401052;
  background: linear-gradient(135deg, #fffaf0, #ead7f1);
  border-color: rgba(244,181,22,.58);
}
body.cs-public-v990 .cs-v994-footer-community-button:is(:hover, :focus-visible, :active),
body.cs-admin-v990 .cs-v994-footer-community-button:is(:hover, :focus-visible, :active) {
  color: #fff;
  -webkit-text-fill-color: #fff;
  background: #6b2b83;
  border-color: #f4b516;
}
body.cs-public-v990 .cs-v994-footer-meta,
body.cs-admin-v990 .cs-v994-footer-meta {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: clamp(38px, 5vw, 62px);
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.6);
  font-size: 12px;
}

@media (max-width: 920px) {
  body.cs-home-v990 .cs-v990-values-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cs-public-v990 .cs-v994-footer-grid,
  body.cs-admin-v990 .cs-v994-footer-grid { grid-template-columns: minmax(0, 1.2fr) 1fr 1fr; }
  body.cs-public-v990 .cs-v994-footer-community,
  body.cs-admin-v990 .cs-v994-footer-community { grid-column: 1 / -1; max-width: 520px; }
}
@media (max-width: 700px) {
  body.cs-home-v990 #cs-v990-home-title { font-size: clamp(52px, 15vw, 76px); }
  body.cs-home-v990 .cs-v990-values-list { grid-template-columns: 1fr; }
  body.cs-home-v990 .cs-v990-path { min-height: 0; }
  body.cs-public-v990 .cs-v994-footer-grid,
  body.cs-admin-v990 .cs-v994-footer-grid { grid-template-columns: 1fr 1fr; }
  body.cs-public-v990 .cs-v994-footer-brand,
  body.cs-public-v990 .cs-v994-footer-community,
  body.cs-admin-v990 .cs-v994-footer-brand,
  body.cs-admin-v990 .cs-v994-footer-community { grid-column: 1 / -1; }
  body.cs-public-v990 .cs-v994-footer-logo,
  body.cs-admin-v990 .cs-v994-footer-logo { max-width: 260px; }
  body.cs-public-v990 .cs-v994-footer-meta,
  body.cs-admin-v990 .cs-v994-footer-meta { flex-direction: column; }
}
@media (max-width: 430px) {
  body.cs-public-v990 .cs-v994-footer-grid,
  body.cs-admin-v990 .cs-v994-footer-grid { grid-template-columns: 1fr; }
  body.cs-public-v990 .cs-v994-footer-brand,
  body.cs-public-v990 .cs-v994-footer-community,
  body.cs-admin-v990 .cs-v994-footer-brand,
  body.cs-admin-v990 .cs-v994-footer-community { grid-column: auto; }
}



/* CurioSpark v9.9.5 — approved photography and phone-safe program ornaments. */
body.cs-home-v990 .cs-v995-reel-slide--community img { object-position: center 48%; }
body.cs-home-v990 .cs-v995-reel-slide--science img { object-position: center 47%; }
body.cs-home-v990 .cs-v995-reel-slide--hydro img { object-position: center 64%; }
body.cs-programs-v990 .programs-hero-photo--large img { object-position: center 46%; }
body.cs-programs-v990 .programs-hero-photo--small img { object-position: center 45%; }

@media (max-width: 700px) {
  body.cs-public-v990.cs-programs-v990 .program-market-card::after {
    content: none;
    display: none;
  }
  body.cs-public-v990.cs-programs-v990 .program-card-heading-row {
    grid-template-columns: minmax(0, 1fr) 46px;
    gap: 8px;
    overflow: visible;
  }
  body.cs-public-v990.cs-programs-v990 .program-card-title-block { min-width: 0; }
  body.cs-public-v990.cs-programs-v990 .program-card-visual {
    width: 46px;
    min-width: 46px;
    max-width: 46px;
    height: 46px;
    margin-inline-end: 0;
    overflow: hidden;
    justify-self: end;
  }
  body.cs-public-v990.cs-programs-v990 .program-card-visual img {
    width: 38px;
    height: 38px;
    max-width: 100%;
    object-fit: contain;
  }
}


/* Source: /curiospark-premium-refinement-v991.css */
/*
  CurioSpark v9.9.1 — Premium Editorial Refinement + Family Portal Experience
  Presentation-only refinements for explicitly opted public/private routes.
  The only new operation exposed by this release calls the existing audited
  Admin-only archive_family action; no payment, registration, financial,
  waitlist, capacity, authorization, email, API, or database logic is changed.
*/


/* ==========================================================================
   CurioSpark v9.9.1 — Premium Editorial Refinement
   Scope: visual refinement only for the v9.9 public system. No APIs, data,
   registration, payments, waitlist, auth, or email behavior are changed.
   ========================================================================== */

/* Homepage: restore proportion. The imagery remains important without taking
   over the entire desktop viewport. */
body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(350px, .82fr);
  gap: clamp(36px, 4.8vw, 66px);
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-story-reel {
  width: min(100%, 520px);
  aspect-ratio: .94 / 1;
  justify-self: end;
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-reel-window {
  box-shadow: 0 24px 54px rgba(43, 12, 54, .18);
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay {
  width: min(1120px, calc(100% - clamp(32px, 5vw, 72px)));
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  gap: clamp(16px, 2vw, 26px);
  padding-top: clamp(42px, 4.8vw, 66px);
  padding-bottom: clamp(42px, 4.8vw, 66px);
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay > figure {
  height: clamp(420px, 38vw, 500px);
  min-height: 0;
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay > figure > img {
  object-position: 50% 18%;
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-stack {
  height: clamp(420px, 38vw, 500px);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
}

body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-stack figure {
  min-height: 0;
}

/* Meet the Team: the requested oversized photo preamble is gone. A compact
   title introduces the people and then gets out of their way. */
body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 {
  padding: clamp(38px, 5vw, 64px) 0 clamp(24px, 3.5vw, 42px);
  border-bottom: 1px solid var(--cs-v990-line);
  background:
    radial-gradient(circle at 12% 10%, rgba(244, 181, 22, .09), transparent 22rem),
    var(--cs-v990-cream);
}

body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 .shell {
  display: grid;
  gap: 10px;
}

body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 .eyebrow {
  margin: 0;
}

body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 h1 {
  max-width: 780px;
  margin: 0;
  color: var(--cs-v990-purple-deep);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(42px, 5.4vw, 70px);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.045em;
}

body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 + .team-grid-compact {
  padding-top: clamp(34px, 4.5vw, 58px);
}

/* Big Vision: seven real audiences compose themselves without a fake eighth
   tile. Flex growth intentionally makes a four-item first row and centered,
   evenly distributed final row at common desktop widths. */
body.cs-public-v990.cs-v991-refined.cs-vision-v990 .vision-audience-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 1px;
  border: 1px solid var(--cs-v990-line);
  background: var(--cs-v990-line);
}

body.cs-public-v990.cs-v991-refined.cs-vision-v990 .vision-audience-grid > span {
  display: flex;
  flex: 1 1 220px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 70px;
  padding: 16px 18px;
  border: 0;
  border-radius: 0;
  background: var(--cs-v990-paper);
  color: var(--cs-v990-purple-deep);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

body.cs-public-v990.cs-v991-refined.cs-vision-v990 .vision-audience-section .vision-caption {
  width: min(720px, 100%);
  margin-top: 20px;
  border-radius: 0;
  border-inline: 0;
  background: transparent;
  box-shadow: none;
}

/* Calendar: one disciplined rail for status, controls, filters, month grid,
   details, and note. Decorative side shapes are intentionally removed. */
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section {
  width: min(1040px, calc(100% - clamp(28px, 4vw, 56px)));
  max-width: none;
  margin-inline: auto;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section::before,
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section::after {
  content: none;
  display: none;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-status,
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls,
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 [data-calendar-months],
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 [data-calendar-details],
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .v748-calendar-note {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-status {
  box-sizing: border-box;
  margin-bottom: 12px;
  border-radius: 14px;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
  gap: 12px 14px;
  align-items: stretch;
  justify-content: stretch;
  margin: 0 0 14px;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-view-toggle,
body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-month-nav {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  margin: 0;
  border-radius: 14px;
  box-shadow: none;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-view-toggle {
  justify-content: flex-start;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-view-toggle button {
  min-height: 48px;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-month-nav {
  justify-self: stretch;
  justify-content: space-between;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls .v839-calendar-filter-panel {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  border-radius: 14px;
  box-shadow: none;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-grid-wrap {
  border-radius: 16px;
  box-shadow: 0 16px 38px rgba(49, 16, 59, .07);
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-hero {
  padding-block: clamp(44px, 5vw, 68px) !important;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-hero .shell {
  max-width: 820px;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment {
  width: min(1040px, calc(100% - clamp(28px, 4vw, 56px)));
  margin: clamp(32px, 4vw, 52px) auto 0;
  padding: clamp(24px, 3vw, 34px) 0;
  border-block: 1px solid var(--cs-v990-line) !important;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment-copy {
  align-self: center;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment-media {
  min-height: clamp(210px, 24vw, 290px);
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment-media figure {
  min-height: 0 !important;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section {
  padding: 0 !important;
  margin-block: clamp(28px, 3.5vw, 46px) !important;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .upcoming-open-section {
  margin-block: clamp(24px, 3vw, 40px) !important;
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-note-grid {
  margin-top: clamp(28px, 3.5vw, 48px);
  padding-bottom: clamp(44px, 5vw, 70px);
}

body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-note-grid {
  width: min(1040px, calc(100% - clamp(28px, 4vw, 56px)));
}

@media (max-width: 1080px) {
  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(32px, 6vw, 52px);
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-story-reel {
    width: min(100%, 560px);
    justify-self: center;
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay {
    grid-template-columns: 1fr;
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay > figure {
    height: clamp(380px, 52vw, 460px);
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-stack {
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-stack figure {
    height: clamp(220px, 30vw, 290px);
  }
}

@media (max-width: 760px) {
  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-story-reel {
    width: min(94%, 430px);
    aspect-ratio: .92 / 1;
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay {
    width: calc(100% - 28px);
    padding-block: 38px;
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-essay > figure {
    height: clamp(320px, 94vw, 390px);
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-stack {
    grid-template-columns: 1fr;
  }

  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-image-stack figure {
    height: 230px;
  }

  body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 {
    padding-block: 30px 24px;
  }

  body.cs-public-v990.cs-v991-refined.cs-team-v990 .cs-team-intro-v991 h1 {
    font-size: clamp(38px, 12vw, 50px);
  }

  body.cs-public-v990.cs-v991-refined.cs-vision-v990 .vision-audience-grid > span {
    flex-basis: calc(50% - 1px);
    min-height: 62px;
    padding: 14px;
    font-size: 13px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls {
    grid-template-columns: 1fr;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls .v839-calendar-filter-panel {
    grid-column: auto;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-view-toggle,
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-month-nav {
    min-height: 56px;
  }
}

@media (max-width: 470px) {
  body.cs-public-v990.cs-v991-refined.cs-home-v990 .cs-v990-story-reel {
    width: calc(100% - 12px);
  }

  body.cs-public-v990.cs-v991-refined.cs-vision-v990 .vision-audience-grid > span {
    flex-basis: 100%;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section,
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment,
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-note-grid {
    width: calc(100% - 24px);
  }
}

/*
  CurioSpark v9.9.1 — Private Editorial Experience
  Scope: Family Portal, Admin landing, and Family Management presentation.
  This stylesheet does not change data, authorization, registration, payments,
  waitlist, capacity, or API behavior.
*/

:root {
  --cs-private-paper: #fffdf8;
  --cs-private-cream: #f8f1e6;
  --cs-private-purple: #5f2579;
  --cs-private-purple-deep: #351040;
  --cs-private-gold: #f4b516;
  --cs-private-ink: #2f2733;
  --cs-private-muted: #6c5e70;
  --cs-private-line: rgba(53, 16, 64, .14);
  --cs-private-line-strong: rgba(53, 16, 64, .24);
  --cs-private-shadow: 0 18px 44px rgba(44, 14, 54, .08);
}

/* Shared private shell */
body.cs-family-v991,
body.cs-admin-v991,
body.cs-admin-family-v991 {
  background:
    radial-gradient(circle at 8% 0, rgba(244, 181, 22, .08), transparent 24rem),
    linear-gradient(180deg, #fffdf8 0, #fbf7f0 46rem, #fffdf8 100%);
  color: var(--cs-private-ink);
}

body.cs-family-v991 .site-header,
body.cs-admin-v991 .site-header,
body.cs-admin-family-v991 .site-header {
  border-bottom: 1px solid var(--cs-private-line);
  background: rgba(255, 253, 248, .96);
  box-shadow: 0 10px 28px rgba(44, 14, 54, .055);
  backdrop-filter: blur(14px);
}

body.cs-family-v991 .site-header .logo-brand img,
body.cs-admin-v991 .site-header .logo-brand img,
body.cs-admin-family-v991 .site-header .logo-brand img {
  filter: drop-shadow(0 7px 12px rgba(53, 16, 64, .12));
}

body.cs-family-v991 :where(a, button, input, select, textarea, summary):focus-visible,
body.cs-admin-v991 :where(a, button, input, select, textarea, summary):focus-visible,
body.cs-admin-family-v991 :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(244, 181, 22, .46);
  outline-offset: 3px;
}

/* Family Portal: calm application hierarchy, not a marketing page. */
body.cs-family-v991 .fp-home-base-hero {
  padding: clamp(34px, 5vw, 64px) 0 clamp(22px, 3vw, 38px) !important;
  border-bottom: 1px solid var(--cs-private-line);
  background:
    radial-gradient(circle at 84% 20%, rgba(95, 37, 121, .09), transparent 22rem),
    var(--cs-private-cream);
}

body.cs-family-v991 .fp-home-base-hero .shell {
  position: relative;
}

body.cs-family-v991 .fp-home-base-hero .shell::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 0;
  width: clamp(72px, 9vw, 118px);
  height: 4px;
  background: linear-gradient(90deg, var(--cs-private-gold), var(--cs-private-purple));
}

body.cs-family-v991 .fp-home-base-hero h1 {
  max-width: 13ch;
  margin: 8px 0 12px;
  color: var(--cs-private-purple-deep);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -.045em;
}

body.cs-family-v991 .fp-home-base-hero p:last-child {
  max-width: 62ch;
  color: var(--cs-private-muted);
  font-size: 16px;
  line-height: 1.65;
}

body.cs-family-v991 .fp-page {
  width: min(1140px, calc(100% - clamp(26px, 4vw, 56px)));
  padding-top: 0 !important;
}

body.cs-family-v991 .fp-dashboard-layout-v966 {
  gap: 0;
}

body.cs-family-v991 .fp-v991-quick-nav {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 10px;
  border-bottom: 1px solid var(--cs-private-line-strong);
  background: rgba(255, 253, 248, .94);
}

body.cs-family-v991 .fp-v991-quick-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  padding: 0 18px;
  border-bottom: 3px solid transparent;
  color: var(--cs-private-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  text-decoration: none;
}

body.cs-family-v991 .fp-v991-quick-nav a:hover,
body.cs-family-v991 .fp-v991-quick-nav a:focus-visible {
  border-bottom-color: var(--cs-private-gold);
  color: var(--cs-private-purple-deep);
}

body.cs-family-v991 :where(
  .fp-dashboard-section-v966,
  .fp-family-information-v966,
  .fp-registration-payments-v966,
  .fp-community-links-v966
) {
  margin: 0;
  padding: clamp(30px, 4vw, 48px) 0;
  border: 0;
  border-bottom: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966) {
  margin: clamp(26px, 3vw, 38px) 0;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--cs-private-line);
  border-left: 5px solid var(--cs-private-gold);
  border-radius: 16px;
  background: rgba(255, 253, 248, .86);
  box-shadow: none;
}

body.cs-family-v991 .fp-dashboard-section-head-v966 {
  gap: 24px;
  padding-bottom: 6px;
}

body.cs-family-v991 :where(
  .fp-dashboard-section-head-v966 h2,
  .fp-adventure-strip-v966 h2,
  .fp-help-strip-v966 h2,
  .fp-manager-head h2,
  .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 h2
) {
  color: var(--cs-private-purple-deep);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

body.cs-family-v991 :where(.fp-dashboard-section-head-v966 p, .fp-adventure-strip-v966 p, .fp-help-strip-v966 p) {
  color: var(--cs-private-muted);
  line-height: 1.62;
}

body.cs-family-v991 :where(
  .fp-manager-card,
  .fp-payment-plan-card,
  .fp-workshop-plan-card,
  .fp-waitlist-offers-card,
  .fp-enrollment-helper
) {
  border: 1px solid var(--cs-private-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  box-shadow: none;
}

body.cs-family-v991 .fp-manager-card--programs.fp-programs-primary {
  margin: 0;
  padding: clamp(26px, 3vw, 38px) 0;
  border: 0;
  border-bottom: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
}

body.cs-family-v991 :where(.fp-upcoming-grid-v966, .fp-program-list, .fp-learner-list, .fp-purchase-list) {
  gap: 0;
}

body.cs-family-v991 :where(.fp-upcoming-card-v966, .fp-program-status-card, .fp-learner-card, .fp-purchase-card) {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cs-family-v991 .fp-upcoming-card-v966 {
  border-left: 3px solid var(--cs-private-gold);
  padding: 16px 18px;
}

body.cs-family-v991 .fp-program-status-card {
  padding: 20px 0;
}

body.cs-family-v991 .fp-learner-card,
body.cs-family-v991 .fp-purchase-card {
  padding: 15px 0;
}

body.cs-family-v991 .fp-calendar-grid-v966 {
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  box-shadow: none;
}

body.cs-family-v991 .fp-community-link-grid-v966 {
  gap: 1px;
  border: 1px solid var(--cs-private-line);
  background: var(--cs-private-line);
}

body.cs-family-v991 .fp-community-link-grid-v966 article {
  border: 0;
  border-radius: 0;
  background: var(--cs-private-paper);
}

body.cs-family-v991 .fp-status-pill,
body.cs-family-v991 .fp-plan-status {
  border-radius: 7px;
}

body.cs-family-v991 .site-footer {
  margin-top: 0;
}

/* Admin owner studio: stronger hierarchy with specialist tools left intact. */
body.cs-admin-v991 .page-hero {
  padding: clamp(44px, 6vw, 76px) 0 clamp(34px, 4vw, 54px) !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(95, 37, 121, .10), transparent 24rem),
    var(--cs-private-cream);
  border-bottom: 1px solid var(--cs-private-line);
}

body.cs-admin-v991 .page-hero h1 {
  max-width: 16ch;
  color: var(--cs-private-purple-deep);
  font-size: clamp(40px, 5vw, 66px) !important;
  line-height: 1;
  letter-spacing: -.045em;
}

body.cs-admin-v991 .page-hero p:not(.eyebrow) {
  max-width: 68ch;
  color: var(--cs-private-muted);
}

body.cs-admin-v991 .admin-shell {
  width: min(1180px, calc(100% - clamp(26px, 4vw, 56px)));
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-welcome {
  padding-block: 32px;
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--cs-private-line-strong);
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card {
  grid-column: span 6;
  min-height: 0;
  padding: 26px 22px 28px 0;
  border: 0;
  border-bottom: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card:nth-child(even) {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid var(--cs-private-line);
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card h3 {
  font-size: clamp(24px, 2.3vw, 34px);
  letter-spacing: -.025em;
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-actions .button:not(.primary),
body.cs-admin-v991.cs-admin-home-v990 .calm-admin-actions .button.primary {
  min-height: 42px;
}

body.cs-admin-family-v991 .admin-topbar,
body.cs-admin-family-v991 .v792-family-tabs {
  border-color: var(--cs-private-line);
  border-radius: 14px;
  box-shadow: none;
}

body.cs-admin-family-v991 .admin-grid > .admin-card,
body.cs-admin-family-v991 .v760-family360 {
  border: 1px solid var(--cs-private-line);
  border-radius: 16px;
  box-shadow: none;
}

body.cs-admin-family-v991 .v712-family-table th {
  background: #f3ece2;
}

body.cs-admin-family-v991 .v712-actions {
  align-items: stretch;
}

/* Safe family-removal confirmation. Uses the existing Admin-only archive API. */
.v991-remove-family-modal[hidden] {
  display: none !important;
}

.v991-remove-family-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(29, 8, 35, .58);
  backdrop-filter: blur(5px);
}

.v991-remove-family-panel {
  width: min(100%, 590px);
  max-height: min(90vh, 720px);
  overflow: auto;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(141, 36, 55, .24);
  border-radius: 18px;
  background: var(--cs-private-paper);
  box-shadow: 0 30px 86px rgba(25, 5, 31, .32);
}

.v991-remove-family-panel h2 {
  margin: 6px 42px 10px 0;
  color: var(--cs-private-purple-deep);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.04;
}

.v991-remove-family-panel > p {
  color: var(--cs-private-muted);
  line-height: 1.6;
}

.v991-remove-family-summary {
  margin: 20px 0;
  padding: 16px 18px;
  border-left: 4px solid #c63b52;
  background: #fff4f5;
}

.v991-remove-family-summary strong {
  display: block;
  color: #751b2c;
}

.v991-remove-family-summary ul {
  margin: 10px 0 0;
  padding-left: 20px;
  color: #674d54;
  line-height: 1.55;
}

.v991-remove-family-confirm {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 18px 0;
  color: var(--cs-private-ink);
  font-weight: 750;
  line-height: 1.45;
}

.v991-remove-family-confirm input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  accent-color: #8d2437;
}

.v991-remove-family-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid var(--cs-private-line);
}

.v991-remove-family-actions .v991-confirm-remove {
  border-color: #8d2437;
  background: #8d2437;
  color: #fff;
}

.v991-remove-family-actions .v991-confirm-remove:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.v991-remove-family-status {
  flex-basis: 100%;
  margin: 2px 0 0;
  color: var(--cs-private-muted);
  font-size: 14px;
  font-weight: 750;
}

.v991-remove-family-status.error {
  color: #9b263a;
}

@media (max-width: 820px) {
  body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card {
    grid-column: 1 / -1;
    padding: 22px 0;
    border-left: 0 !important;
  }

  body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card:nth-child(even) {
    padding-left: 0;
  }
}

@media (max-width: 650px) {
  body.cs-family-v991 .fp-home-base-hero .shell::after {
    width: 64px;
  }

  body.cs-family-v991 .fp-v991-quick-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cs-family-v991 .fp-v991-quick-nav a {
    justify-content: center;
    min-height: 46px;
    padding-inline: 10px;
    border-bottom-width: 2px;
    font-size: 11px;
  }

  body.cs-family-v991 :where(
    .fp-dashboard-section-v966,
    .fp-family-information-v966,
    .fp-registration-payments-v966,
    .fp-community-links-v966,
    .fp-manager-card--programs.fp-programs-primary
  ) {
    padding-block: 26px;
  }

  body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966) {
    margin-block: 22px;
    padding: 20px;
  }

  body.cs-family-v991 .fp-community-link-grid-v966 {
    grid-template-columns: 1fr;
  }

  .v991-remove-family-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v991-remove-family-actions .button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-hero {
    padding-block: 36px 40px !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment {
    margin-top: 24px;
    padding-block: 22px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment-media {
    min-height: 190px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section {
    margin-block: 24px 34px !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls {
    gap: 10px;
    margin-bottom: 12px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls .v839-calendar-filter-panel {
    padding: 16px !important;
  }

  /* v9.9.2: keep the month grid readable without forcing a sideways phone scroll. */
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-grid-wrap {
    overflow-x: hidden !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 :where(.calendar-weekdays, .calendar-grid) {
    min-width: 0 !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-grid-day {
    min-height: 5.35rem !important;
    padding: .3rem !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip {
    min-width: 0;
    padding: .22rem !important;
    border-left-width: 2px !important;
    font-size: .58rem !important;
    line-height: 1.12 !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip .v845-calendar-chip-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip small {
    display: none;
  }

  body.cs-family-v991 .fp-home-base-hero,
  body.cs-admin-v991 .page-hero,
  body.cs-admin-family-v991 .page-hero {
    scroll-margin-top: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-family-v991 *,
  body.cs-admin-v991 *,
  body.cs-admin-family-v991 * {
    scroll-behavior: auto !important;
  }
}


/* Family Management: make the single destructive action clear without turning
   this operational page into a red-alert dashboard. */
body.cs-admin-family-v991 {
  background:
    radial-gradient(circle at 90% 0, rgba(95, 37, 121, .07), transparent 26rem),
    linear-gradient(180deg, #fffdf8, #faf6ef 44rem, #fffdf8);
  color: var(--cs-private-ink);
}

body.cs-admin-family-v991 .page-hero {
  padding: clamp(38px, 5vw, 62px) 0 clamp(28px, 4vw, 44px) !important;
  border-bottom: 1px solid var(--cs-private-line);
  background: var(--cs-private-cream);
}

body.cs-admin-family-v991 .page-hero h1 {
  color: var(--cs-private-purple-deep);
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1;
  letter-spacing: -.04em;
}

body.cs-admin-family-v991 .admin-shell {
  width: min(1180px, calc(100% - clamp(26px, 4vw, 56px)));
}

body.cs-admin-family-v991 .v991-remove-family {
  color: #8d2437;
  border-color: rgba(141, 36, 55, .28);
  background: #fff7f8;
}

body.cs-admin-family-v991 .v991-remove-family:hover,
body.cs-admin-family-v991 .v991-remove-family:focus-visible {
  border-color: #8d2437;
  background: #fff0f2;
}

@media (max-width: 760px) {
  body.cs-admin-family-v991 .admin-topbar,
  body.cs-admin-family-v991 .v792-family-tabs,
  body.cs-admin-family-v991 .admin-card {
    border-radius: 12px;
  }

  body.cs-admin-family-v991 .v712-actions {
    align-items: stretch;
  }

  body.cs-admin-family-v991 .v712-actions .tiny-button {
    min-height: 40px;
  }
}

@media (max-width: 520px) {
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip {
    display: grid !important;
    place-items: center;
    width: 100% !important;
    min-height: 1.45rem !important;
    padding: 0 !important;
    border: 1px solid rgba(95, 37, 121, .14) !important;
    border-left: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 244, 201, .76) !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip::before {
    content: '';
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: var(--cs-v990-purple);
    box-shadow: 0 0 0 3px rgba(244, 181, 22, .3);
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip :where(.v845-calendar-chip-title, small) {
    display: none !important;
  }
}


/* CurioSpark v9.9.3 — Family Portal clarity and history disclosure */
body.cs-family-v991 {
  overflow-x: clip;
}
body.cs-family-v991 :where(.fp-page, .fp-dashboard-layout-v966, .fp-dashboard-mount-v966, .fp-manager-card, .fp-dashboard-section-v966) {
  min-width: 0;
  max-width: 100%;
}

/* Keep primary action labels visible despite older gold/purple hover cascades. */
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993):is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--cs-private-purple) !important;
  border-color: var(--cs-private-purple) !important;
}
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993):is(:hover, :focus-visible, :active) * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
body.cs-family-v991 .fp-groupme-primary-v993 {
  min-width: 176px;
  justify-content: center;
}

/* Family information reads as one concise record rather than a card inside a card. */
body.cs-family-v991 .fp-family-information-v966 {
  padding-block: clamp(26px, 3.2vw, 38px);
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--cs-private-line);
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head h2 {
  max-width: 22ch;
  font-size: clamp(27px, 3vw, 38px);
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-list {
  margin-top: 0;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card .button {
  align-self: center;
}
body.cs-family-v991 .fp-family-information-v966 .fp-family-actions {
  margin-top: 12px;
}
body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:empty {
  display: none;
  margin: 0;
}

/* Upcoming obligations remain open; paid/completed evidence is intentionally collapsed. */
body.cs-family-v991 .fp-history-disclosure-v993 {
  margin-top: 14px;
  border-top: 1px solid var(--cs-private-line);
}
body.cs-family-v991 .fp-history-disclosure-v993 > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 10px 2px;
  color: var(--cs-private-purple-deep);
  font-size: .86rem;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
body.cs-family-v991 .fp-history-disclosure-v993 > summary::-webkit-details-marker {
  display: none;
}
body.cs-family-v991 .fp-history-disclosure-v993 > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 1px solid var(--cs-private-line-strong);
  border-radius: 999px;
  color: var(--cs-private-purple);
  background: #fff;
}
body.cs-family-v991 .fp-history-disclosure-v993[open] > summary::after {
  content: "−";
}
body.cs-family-v991 .fp-history-list-v993 {
  display: grid;
  gap: 0;
  padding-bottom: 8px;
}
body.cs-family-v991 .fp-history-row-v993 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 12px 2px;
  border-top: 1px solid var(--cs-private-line);
  color: var(--cs-private-muted);
}
body.cs-family-v991 .fp-history-row-v993 strong {
  color: var(--cs-private-purple-deep);
}
body.cs-family-v991 .fp-history-row-v993 small {
  display: block;
  margin-top: 3px;
}
body.cs-family-v991 .fp-completed-plans-v993 {
  margin-top: 18px;
  padding: 0 18px;
  border: 1px solid var(--cs-private-line);
  border-radius: 14px;
  background: rgba(255,255,255,.58);
}
body.cs-family-v991 .fp-workshop-plan-card--primary > .fp-manager-head {
  margin-bottom: 2px;
}
body.cs-family-v991 .fp-workshop-plan-row {
  overflow: hidden;
}
body.cs-family-v991 .fp-workshop-plan-actions {
  max-width: 18rem;
}
body.cs-family-v991 .fp-workshop-plan-actions .button {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

@media (max-width: 700px) {
  body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head,
  body.cs-family-v991 .fp-family-information-v966 .fp-learner-card,
  body.cs-family-v991 .fp-history-row-v993 {
    grid-template-columns: 1fr;
  }
  body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head .button,
  body.cs-family-v991 .fp-family-information-v966 .fp-learner-card .button,
  body.cs-family-v991 .fp-groupme-primary-v993 {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }
  body.cs-family-v991 .fp-workshop-plan-actions {
    width: 100%;
    max-width: none;
  }
  body.cs-family-v991 :where(.button, .fp-text-link) {
    max-width: 100%;
    white-space: normal;
  }
}

/* ========================================================================== 
   CurioSpark v9.9.4 — Family Portal hierarchy + deterministic private buttons
   ========================================================================== */
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993):is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #5f2579 !important;
  border-color: #5f2579 !important;
}
body.cs-family-v991 :where(a.button.secondary, button.button.secondary, a.button.ghost, button.button.ghost) {
  color: #401052 !important;
  -webkit-text-fill-color: #401052 !important;
  background: rgba(255,253,248,.98) !important;
  border-color: rgba(64,16,82,.24) !important;
}
body.cs-family-v991 :where(a.button.secondary, button.button.secondary, a.button.ghost, button.button.ghost):is(:hover, :focus-visible, :active) {
  color: #401052 !important;
  -webkit-text-fill-color: #401052 !important;
  background: #f2e7f6 !important;
  border-color: #7a3d8f !important;
}
body.cs-family-v991 :where(.button.primary, .button.secondary, .button.ghost, .fp-groupme-primary-v993) * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
body.cs-family-v991 .fp-home-base-hero h1 { max-width: 760px; }
body.cs-family-v991 .fp-home-base-hero p:last-child { max-width: 56ch; }
body.cs-family-v991 .fp-v991-quick-nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
body.cs-family-v991 .fp-dashboard-layout-v966 > :where(section, [data-fp-family-manager]) + :where(section, [data-fp-family-manager]) {
  margin-top: clamp(38px, 5vw, 66px);
}
body.cs-family-v991 .fp-adventure-strip-v966,
body.cs-family-v991 .fp-help-strip-v966 {
  padding: clamp(24px, 3vw, 34px);
}
body.cs-family-v991 .fp-community-links-v994 {
  padding-block: clamp(28px, 3.5vw, 44px);
  border-top: 1px solid rgba(75, 31, 91, .14);
}
body.cs-family-v991 .fp-community-links-v994 .fp-dashboard-section-head-v966 {
  align-items: center;
}
body.cs-family-v991 .fp-community-links-v994 .fp-dashboard-section-head-v966 > div { max-width: 720px; }

/* Family Portal shares the rich CurioSpark footer without becoming a marketing page. */
body.cs-family-v991 .cs-v994-footer {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(50px, 6vw, 72px) 0 24px;
  color: rgba(255,255,255,.88);
  background:
    radial-gradient(circle at 12% 22%, rgba(244,181,22,.13) 0 2px, transparent 3px),
    radial-gradient(circle at 81% 28%, rgba(255,255,255,.16) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 70%, rgba(244,181,22,.11), transparent 22%),
    linear-gradient(145deg, #26082f 0%, #401052 52%, #5b236f 100%);
  border-top: 2px solid rgba(244,181,22,.78);
}
body.cs-family-v991 .cs-v994-footer-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) repeat(2, minmax(150px, .72fr)) minmax(220px, 1fr);
  gap: clamp(28px, 4vw, 60px);
  align-items: start;
}
body.cs-family-v991 .cs-v994-footer-logo { display: inline-block; max-width: min(100%, 300px); }
body.cs-family-v991 .cs-v994-footer-logo img { display:block; width:100%; height:auto; }
body.cs-family-v991 .cs-v994-footer-brand > p { max-width:38ch; margin:14px 0 0; color:rgba(255,255,255,.78); line-height:1.65; }
body.cs-family-v991 .cs-v994-footer-values { font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
body.cs-family-v991 .cs-v994-footer-values span { color:#f4b516; margin-inline:6px; }
body.cs-family-v991 .cs-v994-footer h2 { margin:8px 0 16px; color:#f4c640; font-family:Inter,system-ui,sans-serif; font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
body.cs-family-v991 .cs-v994-footer-nav { display:grid; gap:10px; }
body.cs-family-v991 .cs-v994-footer :where(a, button.footer-logout) { color:rgba(255,255,255,.9); -webkit-text-fill-color:rgba(255,255,255,.9); }
body.cs-family-v991 .cs-v994-footer-nav :where(a, button.footer-logout) { width:fit-content; padding:0; border:0; background:transparent; font:inherit; line-height:1.45; text-align:left; }
body.cs-family-v991 .cs-v994-footer-nav :where(a, button.footer-logout):is(:hover, :focus-visible) { color:#ffd45d; -webkit-text-fill-color:#ffd45d; }
body.cs-family-v991 .cs-v994-footer-community p { max-width:28ch; margin:14px 0 0; color:rgba(255,255,255,.72); }
body.cs-family-v991 .cs-v994-footer-community-button { width:100%; color:#401052; -webkit-text-fill-color:#401052; background:linear-gradient(135deg,#fffaf0,#ead7f1); border-color:rgba(244,181,22,.58); }
body.cs-family-v991 .cs-v994-footer-community-button:is(:hover, :focus-visible, :active) { color:#fff; -webkit-text-fill-color:#fff; background:#6b2b83; border-color:#f4b516; }
body.cs-family-v991 .cs-v994-footer-meta { position:relative; z-index:1; display:flex; justify-content:space-between; gap:18px; margin-top:clamp(38px,5vw,62px); padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.6); font-size:12px; }
@media (max-width: 920px) {
  body.cs-family-v991 .fp-v991-quick-nav { grid-template-columns: repeat(6, minmax(120px, 1fr)); overflow-x:auto; }
  body.cs-family-v991 .cs-v994-footer-grid { grid-template-columns:minmax(0,1.2fr) 1fr 1fr; }
  body.cs-family-v991 .cs-v994-footer-community { grid-column:1/-1; max-width:520px; }
}
@media (max-width: 700px) {
  body.cs-family-v991 .fp-v991-quick-nav { display:flex; gap:0; padding-bottom:6px; }
  body.cs-family-v991 .fp-v991-quick-nav a { min-width:max-content; padding-inline:16px; }
  body.cs-family-v991 .cs-v994-footer-grid { grid-template-columns:1fr 1fr; }
  body.cs-family-v991 .cs-v994-footer-brand,
  body.cs-family-v991 .cs-v994-footer-community { grid-column:1/-1; }
  body.cs-family-v991 .cs-v994-footer-logo { max-width:260px; }
  body.cs-family-v991 .cs-v994-footer-meta { flex-direction:column; }
}
@media (max-width: 430px) {
  body.cs-family-v991 .cs-v994-footer-grid { grid-template-columns:1fr; }
  body.cs-family-v991 .cs-v994-footer-brand,
  body.cs-family-v991 .cs-v994-footer-community { grid-column:auto; }
}



/* ==========================================================================
   CurioSpark v9.9.5 — final visual precision
   Compact Big Vision, Admin footer logo parity, and calmer Family records.
   ========================================================================== */

/* Admin uses the same full transparent CurioSpark mark as the Family footer. */
body.cs-admin-v990 .site-footer .cs-admin-footer-logo-v995 {
  display: block;
  width: min(100%, 292px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cs-admin-v990 .site-footer .cs-admin-footer-logo-v995 img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  filter: none;
}

/* The approved Big Vision words remain, but the next section enters the first viewport. */
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero {
  min-height: 0 !important;
  padding: clamp(22px, 2.7vw, 34px) 0 clamp(26px, 3vw, 38px) !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero-inner { max-width: 800px; }
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero .eyebrow {
  margin: 0 0 1px !important;
  font-size: clamp(.76rem, 1vw, .9rem) !important;
  letter-spacing: .15em !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .vision-hero-brand-v993 {
  width: min(92px, 20vw) !important;
  margin: 1px auto 4px !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero h1 {
  max-width: 640px !important;
  margin: 3px auto 7px !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.015 !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero p:not(.eyebrow) {
  margin: 0 auto !important;
  font-size: clamp(.9rem, 1.15vw, 1rem) !important;
  line-height: 1.45 !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero .hero-actions {
  margin-top: 12px !important;
  gap: 8px;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero .hero-actions .button { min-height: 40px; }

/* Family information becomes one compact record surface instead of a card inside a card. */
body.cs-family-v991 .fp-family-information-v966 {
  margin-block: clamp(20px, 2.8vw, 30px);
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--cs-private-line) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 12px 30px rgba(50,17,63,.045) !important;
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head {
  align-items: center;
  gap: 18px;
  padding: 18px clamp(18px, 2.5vw, 26px);
  border-bottom: 1px solid var(--cs-private-line);
  background: linear-gradient(135deg, rgba(255,250,240,.96), rgba(247,239,251,.78));
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head h2 {
  max-width: none;
  margin: 2px 0 4px;
  font-size: clamp(25px, 2.5vw, 33px);
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head p:not(.eyebrow) {
  max-width: 68ch;
  margin: 0;
}
body.cs-family-v991 .fp-family-information-v966 > [data-fp-learner-list] {
  padding: 0 clamp(18px, 2.5vw, 26px) 17px;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-list {
  display: block;
  margin: 0;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card {
  min-width: 0;
  min-height: 0;
  padding: 15px 0;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-private-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card-copy { min-width: 0; }
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 9px;
  margin: 2px 0 4px;
  font-size: 1.02rem;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card small {
  display: block;
  margin-top: 4px;
  line-height: 1.45;
}
body.cs-family-v991 .fp-family-information-v966 .fp-family-actions { margin: 13px 0 0; }
body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:empty { display: none; margin: 0; }
body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:not(:empty) {
  padding: 0 clamp(18px, 2.5vw, 26px) 20px;
}

/* Schedule facts render as one deliberate table-like strip, not floating mini cards. */
body.cs-family-v991 .fp-program-schedule {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 12px 0 3px;
  overflow: hidden;
  border: 1px solid var(--cs-private-line);
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}
body.cs-family-v991 .fp-program-schedule > div {
  min-width: 0;
  padding: 10px 12px;
  border: 0;
  border-left: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
}
body.cs-family-v991 .fp-program-schedule > div:first-child { border-left: 0; }
body.cs-family-v991 .fp-program-schedule > div.is-pending { background: rgba(255,250,240,.7); }
body.cs-family-v991 .fp-program-schedule dt {
  margin: 0 0 3px;
  color: #796781;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
body.cs-family-v991 .fp-program-schedule dd {
  margin: 0;
  color: #421257;
  font-size: .84rem;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Payment-plan records retain every action and amount while reading as clean rows. */
body.cs-family-v991 .fp-workshop-plan-list { gap: 0; }
body.cs-family-v991 .fp-workshop-plan-row {
  gap: 16px;
  padding: 15px 0;
  border: 0;
  border-top: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
}
body.cs-family-v991 .fp-workshop-plan-row:first-child { border-top: 0; }
body.cs-family-v991 .fp-workshop-plan-row.is-payable {
  padding-inline: 14px;
  border: 1px solid rgba(157,102,0,.24);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,250,240,.96), rgba(255,255,255,.96));
}

@media (max-width: 760px) {
  body.cs-family-v991 .fp-program-schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cs-family-v991 .fp-program-schedule > div { border-top: 1px solid var(--cs-private-line); }
  body.cs-family-v991 .fp-program-schedule > div:nth-child(-n+2) { border-top: 0; }
  body.cs-family-v991 .fp-program-schedule > div:nth-child(odd) { border-left: 0; }
}
@media (max-width: 700px) {
  body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero {
    padding: 20px 0 26px !important;
  }
  body.cs-public-v990.cs-vision-v990.cs-v991-refined .vision-hero-brand-v993 {
    width: min(78px, 24vw) !important;
  }
  body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(31px, 9.5vw, 42px) !important;
  }
  body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 17px;
  }
  body.cs-family-v991 .fp-family-information-v966 > [data-fp-learner-list],
  body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:not(:empty) {
    padding-inline: 17px;
  }
  body.cs-family-v991 .fp-family-information-v966 .fp-learner-card {
    grid-template-columns: 1fr;
    gap: 11px;
    align-items: start;
  }
  body.cs-family-v991 .fp-workshop-plan-row { gap: 11px; }
}
@media (max-width: 480px) {
  body.cs-family-v991 .fp-program-schedule { grid-template-columns: 1fr; }
  body.cs-family-v991 .fp-program-schedule > div {
    border-top: 1px solid var(--cs-private-line);
    border-left: 0;
  }
  body.cs-family-v991 .fp-program-schedule > div:first-child { border-top: 0; }
}


/* Source: /curiospark-wonder-layer-v997.css */
/* CurioSpark v9.9.7.1 — Visual Refinement / Art-Direction Correction
   Presentation-only release. Payment, Payhip, registration, waitlist, enrollment,
   Finance, program data, filters, and calendar business logic are intentionally frozen. */

:root {
  --cs-v997-ink: #2f0a46;
  --cs-v997-purple: #5f2579;
  --cs-v997-purple-deep: #25052f;
  --cs-v997-purple-mid: #4b176c;
  --cs-v997-lilac: #eadcf4;
  --cs-v997-cream: #fffaf0;
  --cs-v997-paper: #fffdf8;
  --cs-v997-gold: #f4b516;
  --cs-v997-gold-soft: #ffd65a;
  --cs-v997-mint: #dff5eb;
  --cs-v997-line: rgba(95, 37, 121, .14);
  --cs-v997-shadow-soft: 0 16px 42px rgba(44, 10, 60, .10);
  --cs-v997-shadow-photo: 0 18px 42px rgba(44, 10, 60, .17);
}

/* ========================================================================== 
   1. Canonical modal reliability — production root-cause correction
   The live mobile header uses z-index 5000–5003. v9.9.6.4 used 4000, which let
   the header cover the modal header and close control on iPhone. This layer
   moves the modal above all public navigation and uses an inline SVG X rather
   than depending on a font glyph.
   ========================================================================== */
.cs-modal-shell,
body.cs-public-v990 .vision-guide-modal.cs-modal-shell {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  isolation: isolate;
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.cs-public-v990 .vision-guide-modal.cs-modal-shell[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.vision-modal-open .site-header,
body.vision-modal-open .mobile-menu,
body.vision-modal-open [data-mobile-menu] {
  z-index: 0 !important;
  pointer-events: none !important;
}

body.cs-public-v990 .vision-guide-modal.cs-modal-shell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  padding:
    max(10px, env(safe-area-inset-top))
    max(10px, env(safe-area-inset-right))
    max(10px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left)) !important;
  overflow: hidden !important;
  overscroll-behavior: contain;
  background: rgba(31, 5, 44, .76) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

body.cs-public-v990 .vision-guide-modal__dialog.cs-modal-surface {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(780px, 100%) !important;
  max-width: 100% !important;
  max-height: calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  max-height: calc(100svh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid rgba(255, 205, 46, .94) !important;
  border-radius: 1.55rem !important;
  background: linear-gradient(135deg, #fffdf7 0%, #f9f1ff 100%) !important;
  box-shadow: 0 34px 88px rgba(17, 2, 27, .50) !important;
  overscroll-behavior: contain;
  transform: translate3d(0, 0, 0);
}

body.cs-public-v990 .vision-guide-modal__header.cs-modal-header {
  position: relative !important;
  z-index: 20 !important;
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: .85rem !important;
  min-width: 0;
  padding:
    max(1rem, env(safe-area-inset-top))
    max(1rem, env(safe-area-inset-right))
    .9rem
    max(1rem, env(safe-area-inset-left)) !important;
  border-bottom: 1px solid rgba(95, 37, 121, .16) !important;
  background: linear-gradient(135deg, rgba(255,253,247,.995), rgba(249,241,255,.995)) !important;
  box-shadow: 0 7px 20px rgba(54, 12, 72, .08);
}

body.cs-public-v990 .vision-guide-modal__header-copy {
  min-width: 0;
}

body.cs-public-v990 .vision-guide-modal__header .vision-guide-modal__eyebrow,
body.cs-public-v990 .vision-guide-modal__header h2 {
  margin-right: 0 !important;
}

body.cs-public-v990 .vision-guide-modal__header h2 {
  margin-bottom: 0 !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

body.cs-public-v990 .vision-guide-modal__body.cs-modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 1rem clamp(1rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

body.cs-public-v990 .vision-guide-modal__body > .vision-guide-modal__intro:first-child {
  margin-top: 0;
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close {
  position: relative !important;
  inset: auto !important;
  z-index: 30 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 2px solid var(--cs-v997-gold-soft) !important;
  border-radius: 999px !important;
  background: var(--cs-v997-purple-mid) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 9px 24px rgba(36, 5, 49, .32), 0 0 0 4px rgba(255,255,255,.86) !important;
  cursor: pointer;
  touch-action: manipulation;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateZ(0);
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close svg {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  overflow: visible;
  stroke: currentColor !important;
  stroke-width: 3.1;
  stroke-linecap: round;
  pointer-events: none;
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close:is(:hover, :focus-visible, :active) {
  border-color: #ffe58b !important;
  background: #351047 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: scale(1.04) translateZ(0);
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close:focus-visible {
  outline: 4px solid rgba(248, 201, 40, .94) !important;
  outline-offset: 4px !important;
}

.vision-guide-modal__footer-close-v997 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .72rem 1rem;
  border: 1px solid rgba(95, 37, 121, .24);
  border-radius: 999px;
  color: var(--cs-v997-purple-mid);
  -webkit-text-fill-color: var(--cs-v997-purple-mid);
  background: #fff;
  font: 850 .92rem/1 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.vision-guide-modal__footer-close-v997:is(:hover, :focus-visible, :active) {
  border-color: var(--cs-v997-gold);
  color: var(--cs-v997-purple-deep);
  -webkit-text-fill-color: var(--cs-v997-purple-deep);
  background: #fff4bd;
}

@media (max-width: 620px) {
  body.cs-public-v990 .vision-guide-modal.cs-modal-shell {
    align-items: stretch !important;
    padding:
      max(8px, env(safe-area-inset-top))
      max(8px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left)) !important;
  }

  body.cs-public-v990 .vision-guide-modal__dialog.cs-modal-surface {
    align-self: stretch;
    width: 100% !important;
    max-height: calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    max-height: calc(100svh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    border-radius: 1.15rem !important;
  }

  body.cs-public-v990 .vision-guide-modal__header.cs-modal-header {
    gap: .65rem !important;
    padding:
      max(.9rem, env(safe-area-inset-top))
      max(.9rem, env(safe-area-inset-right))
      .75rem
      max(.9rem, env(safe-area-inset-left)) !important;
  }

  body.cs-public-v990 .vision-guide-modal__header h2 {
    font-size: clamp(1.55rem, 8vw, 2.05rem) !important;
    line-height: 1.02 !important;
  }

  body.cs-public-v990 .vision-guide-modal__body.cs-modal-body {
    padding: .85rem max(.9rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(.9rem, env(safe-area-inset-left)) !important;
  }

  body.cs-public-v990 .vision-guide-modal__close.cs-modal-close {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
  }
}

/* ========================================================================== 
   2. Homepage Wonder Layer — atmosphere without changing approved copy/order
   ========================================================================== */
body.cs-home-v990 .cs-v990-home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 11% 16%, rgba(255, 214, 90, .24), transparent 20rem),
    radial-gradient(circle at 88% 12%, rgba(160, 91, 190, .27), transparent 22rem),
    linear-gradient(126deg, #fffaf0 0%, #fffdf9 50%, #f4e9fb 100%);
}

body.cs-home-v990 .cs-v990-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 8% 21%, rgba(244,181,22,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 16% 72%, rgba(95,37,121,.72) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 41% 11%, rgba(244,181,22,.62) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 73% 14%, rgba(95,37,121,.55) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 93% 64%, rgba(244,181,22,.72) 0 2px, transparent 3px);
  opacity: .76;
}

body.cs-home-v990 .cs-v990-home-hero::after {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -56px;
  height: 112px;
  z-index: -1;
  border-top: 2px solid rgba(244, 181, 22, .76);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  background: rgba(255, 253, 248, .94);
  pointer-events: none;
}

body.cs-home-v990 .cs-v990-hero-grid {
  width: min(1440px, calc(100% - clamp(30px, 6vw, 96px)));
  max-width: none;
  padding-block: clamp(32px, 4.2vw, 58px) clamp(62px, 7vw, 94px);
}

body.cs-home-v990 .cs-v990-hero-copy {
  position: relative;
}

body.cs-home-v990 .cs-v990-hero-copy::after {
  content: "✦";
  position: absolute;
  right: clamp(-24px, -2vw, -8px);
  top: clamp(-24px, -2vw, -8px);
  color: var(--cs-v997-gold);
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  filter: drop-shadow(0 3px 8px rgba(95, 37, 121, .18));
}

body.cs-home-v990 .cs-v990-story-reel {
  border: 0 !important;
  box-shadow: var(--cs-v997-shadow-photo) !important;
  transform: rotate(.45deg);
}

body.cs-home-v990 .cs-v990-image-essay {
  width: min(1440px, calc(100% - clamp(28px, 5vw, 80px)));
  max-width: none;
}

body.cs-home-v990 .cs-v990-image-essay figure {
  border: 0 !important;
  box-shadow: var(--cs-v997-shadow-photo) !important;
}

body.cs-home-v990 .cs-v990-values {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 3% 14%, rgba(244,181,22,.16), transparent 18rem),
    radial-gradient(circle at 94% 78%, rgba(95,37,121,.12), transparent 22rem),
    #fffdf9;
}

body.cs-home-v990 .cs-v990-values-list {
  border-top: 1px solid var(--cs-v997-line);
}

body.cs-home-v990 .cs-v990-value {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 18px;
  align-items: start;
  padding-block: clamp(22px, 3vw, 34px);
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-home-v990 .cs-v990-value .cs-v997-value-icon {
  grid-row: 1 / span 2;
  width: 58px;
  height: 58px;
  padding: 9px;
  border-radius: 48% 52% 43% 57% / 55% 43% 57% 45%;
  background: linear-gradient(145deg, #fff5c4, #f1e3fb);
  box-shadow: 0 9px 22px rgba(63, 17, 83, .10);
}

body.cs-home-v990 .cs-v990-value strong,
body.cs-home-v990 .cs-v990-value p {
  grid-column: 2;
}

body.cs-home-v990 .cs-v990-value strong {
  margin-top: 4px;
  color: var(--cs-v997-purple-deep);
}

body.cs-home-v990 .cs-v990-paths {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  gap: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #fff9ea 0 50%, #351047 50% 100%);
}

body.cs-home-v990 .cs-v990-path {
  min-height: clamp(420px, 44vw, 620px);
  padding-inline: clamp(28px, 7vw, 112px);
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.cs-home-v990 .cs-v990-path:first-child {
  background:
    radial-gradient(circle at 15% 18%, rgba(244,181,22,.20), transparent 14rem),
    linear-gradient(145deg, #fffaf0, #f6e8fb);
}

body.cs-home-v990 .cs-v994-path-resources {
  background:
    radial-gradient(circle at 84% 18%, rgba(255,216,90,.14), transparent 15rem),
    linear-gradient(145deg, #2a0736, #5c2670);
}

body.cs-home-v990 .cs-v990-resources {
  background:
    radial-gradient(circle at 84% 12%, rgba(244,181,22,.13), transparent 18rem),
    linear-gradient(180deg, #fffdf8, #f7edf9);
}

/* ========================================================================== 
   3. Reusable Program Visual Identity — existing data/logic, richer visuals
   ========================================================================== */
.cs-v997-program-art {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(145deg, #f3e5f8, #fff2b7);
}

.cs-v997-program-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center;
  filter: saturate(1.07) contrast(1.02);
}

.cs-v997-program-art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(145deg, transparent 38%, rgba(39, 7, 53, .24));
}

body.cs-programs-v990 .program-card-heading-row,
body.cs-calendar-v990 .v8493-calendar-heading {
  grid-template-columns: minmax(0, 1fr) clamp(112px, 10vw, 142px) !important;
  align-items: start;
}

body.cs-programs-v990 .program-card-visual.cs-v997-program-art,
body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art {
  width: clamp(112px, 10vw, 142px) !important;
  min-width: clamp(112px, 10vw, 142px) !important;
  max-width: clamp(112px, 10vw, 142px) !important;
  height: auto !important;
  min-height: 100px;
  aspect-ratio: 4 / 3;
  border: 0 !important;
  border-radius: 44% 56% 50% 50% / 56% 44% 56% 44% !important;
  box-shadow: var(--cs-v997-shadow-photo) !important;
  transform: rotate(1.1deg);
}

body.cs-programs-v990 .program-card-visual.cs-v997-program-art > img:not(.cs-v997-program-photo),
body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art > img:not(.cs-v997-program-photo) {
  position: absolute !important;
  right: 7px;
  bottom: 7px;
  z-index: 3;
  width: 42px !important;
  height: 42px !important;
  padding: 7px;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 50%;
  background: rgba(255, 250, 240, .96);
  box-shadow: 0 8px 18px rgba(43, 8, 58, .20);
  object-fit: contain !important;
}

body.cs-programs-v990 .program-market-card,
body.cs-calendar-v990 :where(.calendar-schedule-card, .upcoming-open-card) {
  overflow: hidden;
}

.cs-v997-family-program-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 46% 54% 42% 58% / 58% 43% 57% 42%;
  background: linear-gradient(145deg, #fff4be, #eadcf4);
  box-shadow: 0 10px 24px rgba(48, 10, 64, .12);
}

.cs-v997-family-program-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cs-v997-family-program-mark.is-icon img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}

body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
}

body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark > div:first-of-type {
  min-width: 0;
}

body.cs-family-v991 .fp-program-status-card.cs-v997-has-program-mark {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 14px;
  align-items: start;
}

body.cs-family-v991 .fp-program-status-card.cs-v997-has-program-mark > :not(.cs-v997-family-program-mark) {
  grid-column: 2;
}

body.cs-family-v991 .fp-program-status-card .cs-v997-family-program-mark {
  grid-column: 1;
  grid-row: 1 / span 6;
  width: 48px;
  height: 48px;
}

body.cs-family-v991 .fp-program-chat-row-v966.cs-v997-has-program-mark {
  grid-template-columns: 48px minmax(0,1fr) auto;
  align-items: center;
}

body.cs-family-v991 .fp-program-chat-row-v966 .cs-v997-family-program-mark {
  width: 48px;
  height: 48px;
}

.cs-v997-calendar-mark {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  margin-right: .38rem;
  border-radius: 50%;
  background: #fff4be;
  vertical-align: middle;
  box-shadow: 0 3px 8px rgba(55, 12, 75, .10);
}

.cs-v997-calendar-mark img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}

body.cs-family-v991 .fp-calendar-events-v966 > a.cs-v997-calendar-identity {
  grid-template-columns: auto auto minmax(0,1fr);
  align-items: center;
}

body.cs-family-v991 .fp-calendar-events-v966 > a.cs-v997-calendar-identity > strong,
body.cs-family-v991 .fp-calendar-events-v966 > a.cs-v997-calendar-identity > .cs-v997-calendar-mark {
  grid-row: 1 / span 2;
}

/* ========================================================================== 
   4. Family Portal — warmer home base, useful hierarchy, fewer outer boxes
   ========================================================================== */
body.cs-family-v991 .fp-home-base-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(38px, 5vw, 66px) 0 clamp(34px, 4.5vw, 60px) !important;
  border-bottom: 0 !important;
  background:
    radial-gradient(circle at 84% 28%, rgba(244,181,22,.22), transparent 17rem),
    radial-gradient(circle at 74% 78%, rgba(170,95,196,.19), transparent 20rem),
    linear-gradient(126deg, #fffaf0 0%, #fffdf9 54%, #f0e2f7 100%);
}

body.cs-family-v991 .fp-home-base-hero::before {
  content: "";
  position: absolute;
  right: clamp(18px, 7vw, 108px);
  top: 50%;
  z-index: -1;
  width: clamp(180px, 25vw, 340px);
  aspect-ratio: 4 / 3;
  transform: translateY(-50%) rotate(2deg);
  border-radius: 46% 54% 50% 50% / 58% 43% 57% 42%;
  background: url('/assets/curiospark-community-programs-collage.png') center / cover no-repeat;
  box-shadow: var(--cs-v997-shadow-photo);
  opacity: .76;
}

body.cs-family-v991 .fp-home-base-hero::after {
  content: "✦  ·  ✦";
  position: absolute;
  right: clamp(20px, 6vw, 96px);
  bottom: 18px;
  color: rgba(95,37,121,.55);
  letter-spacing: .35em;
}

body.cs-family-v991 .fp-home-base-hero .shell::after {
  content: "";
  display: block;
  width: clamp(72px, 10vw, 132px);
  height: 5px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cs-v997-gold), var(--cs-v997-purple));
}

body.cs-family-v991 .fp-home-base-hero h1 {
  max-width: 11ch;
  font-size: clamp(44px, 6vw, 78px);
  text-wrap: balance;
}

body.cs-family-v991 .fp-home-base-hero p:last-child {
  max-width: 44ch;
  font-size: clamp(1rem, 1.4vw, 1.14rem);
}

body.cs-family-v991 .fp-page {
  width: min(1260px, calc(100% - clamp(26px, 5vw, 80px)));
  max-width: none;
}

body.cs-family-v991 .fp-v991-quick-nav {
  margin-bottom: 0;
  padding-block: 4px;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: rgba(255,253,248,.88) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.cs-family-v991 .fp-v991-quick-nav a {
  position: relative;
  min-height: 48px;
  padding-inline: clamp(12px, 2vw, 20px);
}

body.cs-family-v991 .fp-v991-quick-nav a::before {
  content: "✦";
  margin-right: 7px;
  color: var(--cs-v997-gold);
  font-size: .68rem;
}

body.cs-family-v991 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) {
  margin: 0 !important;
  padding-block: clamp(36px, 5vw, 64px) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966) {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 92% 20%, rgba(244,181,22,.20), transparent 12rem),
    linear-gradient(125deg, #fff7d8, #fffdf8 52%, #f2e5f8) !important;
  box-shadow: none !important;
}

body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966)::after {
  content: "✦";
  position: absolute;
  right: 22px;
  bottom: 14px;
  color: rgba(95,37,121,.30);
  font-size: 1.5rem;
}

body.cs-family-v991 .fp-upcoming-grid-v966 {
  gap: 0;
  margin-top: 1.25rem;
}

body.cs-family-v991 .fp-upcoming-card-v966 {
  padding-block: 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-upcoming-card-v966:last-child {
  border-bottom: 0 !important;
}

body.cs-family-v991 .fp-manager-card--programs.fp-programs-primary {
  padding: clamp(34px, 5vw, 62px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-program-status-card {
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-program-status-card:last-child {
  border-bottom: 0 !important;
}

body.cs-family-v991 .fp-calendar-grid-v966 {
  border: 0 !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,237,251,.84)) !important;
  box-shadow: 0 16px 38px rgba(50, 17, 63, .075) !important;
}

body.cs-family-v991 .fp-calendar-day-v966.has-event {
  background: linear-gradient(145deg, #e7d5f2, #fff2b4) !important;
}

body.cs-family-v991 .fp-program-chat-list-v966 {
  gap: 0 !important;
}

body.cs-family-v991 .fp-program-chat-row-v966 {
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-program-chat-row-v966:last-child {
  border-bottom: 0 !important;
}

body.cs-family-v991 .fp-completed-plans-v993,
body.cs-family-v991 .fp-history-disclosure-v993 {
  border-color: rgba(95,37,121,.10) !important;
  background: rgba(255,255,255,.48) !important;
  box-shadow: none !important;
}

/* ========================================================================== 
   5. Global footer — full-width CurioSpark night sky, flush edge to edge
   ========================================================================== */
.cs-v994-footer {
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(96px, 9vw, 138px) 0 28px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,.92) !important;
  background:
    radial-gradient(circle at 8% 28%, rgba(244,181,22,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.72) 0 1.2px, transparent 2px),
    radial-gradient(circle at 34% 18%, rgba(244,181,22,.72) 0 1.6px, transparent 2.5px),
    radial-gradient(circle at 54% 76%, rgba(255,255,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 73% 22%, rgba(244,181,22,.82) 0 1.7px, transparent 2.6px),
    radial-gradient(circle at 91% 66%, rgba(255,255,255,.68) 0 1.3px, transparent 2.2px),
    radial-gradient(ellipse at 8% 108%, rgba(112,43,137,.78) 0 20%, transparent 21%),
    radial-gradient(ellipse at 93% 108%, rgba(106,39,132,.76) 0 22%, transparent 23%),
    linear-gradient(135deg, #21042b 0%, #3d0d50 49%, #5e2473 100%) !important;
}

.cs-v994-footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 12% 42%, rgba(177,96,199,.22), transparent 16rem),
    radial-gradient(circle at 86% 24%, rgba(244,181,22,.10), transparent 18rem),
    linear-gradient(118deg, transparent 0 56%, rgba(255,255,255,.025) 56% 57%, transparent 57% 100%) !important;
}

.cs-v994-footer::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -5%;
  width: 110%;
  height: clamp(58px, 7vw, 92px);
  z-index: 1;
  pointer-events: none;
  border-bottom: 3px solid rgba(244,181,22,.88);
  border-radius: 0 0 50% 50% / 0 0 72% 72%;
  background: var(--cs-v997-cream);
  box-shadow: 0 7px 20px rgba(244,181,22,.08);
}

.cs-v994-footer .shell {
  width: min(1440px, calc(100% - clamp(32px, 7vw, 112px)));
  max-width: none;
}

.cs-v994-footer-grid,
.cs-v994-footer-meta {
  position: relative;
  z-index: 2;
}

.cs-v994-footer-grid {
  grid-template-columns: minmax(280px, 1.25fr) repeat(2, minmax(150px, .62fr)) minmax(250px, .9fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
}

.cs-v994-footer-logo {
  max-width: min(100%, 300px) !important;
  transform: translateX(-8px);
}

.cs-v994-footer-logo img {
  filter: drop-shadow(0 15px 30px rgba(0,0,0,.24));
}

.cs-v994-footer-brand > p {
  color: rgba(255,255,255,.82) !important;
}

.cs-v994-footer h2 {
  color: var(--cs-v997-gold-soft) !important;
}

.cs-v994-footer-nav a,
.cs-v994-footer-nav button.footer-logout {
  position: relative;
  padding-left: 16px !important;
}

.cs-v994-footer-nav a::before,
.cs-v994-footer-nav button.footer-logout::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: .12em;
  color: var(--cs-v997-gold);
  font-size: .62rem;
}

.cs-v994-footer-community::before {
  content: "♡";
  display: block;
  margin-bottom: 10px;
  color: var(--cs-v997-gold-soft);
  font-size: 2.1rem;
  line-height: 1;
}

html body .cs-v994-footer a.button.secondary.cs-v994-footer-community-button {
  min-height: 52px;
  border: 1px solid rgba(255,220,112,.72) !important;
  color: var(--cs-v997-purple-deep) !important;
  -webkit-text-fill-color: var(--cs-v997-purple-deep) !important;
  background: linear-gradient(135deg, #fff5c6, #e5c8f3) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}

html body .cs-v994-footer a.button.secondary.cs-v994-footer-community-button:is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: linear-gradient(135deg, #6a2782, #4b176c) !important;
}

.cs-v994-footer-meta {
  color: rgba(255,255,255,.67) !important;
}

/* ========================================================================== 
   6. Responsive / flushness / legibility
   ========================================================================== */
@media (max-width: 980px) {
  .cs-v994-footer-grid {
    grid-template-columns: minmax(0, 1.1fr) 1fr 1fr !important;
  }
  .cs-v994-footer-community {
    grid-column: 1 / -1;
    max-width: 560px;
  }

  body.cs-home-v990 .cs-v990-paths {
    grid-template-columns: 1fr;
    background: transparent;
  }

  body.cs-home-v990 .cs-v990-path {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  body.cs-home-v990 .cs-v990-hero-grid,
  body.cs-home-v990 .cs-v990-image-essay,
  .cs-v994-footer .shell,
  body.cs-family-v991 .fp-page {
    width: calc(100% - max(28px, env(safe-area-inset-left) + env(safe-area-inset-right) + 20px));
  }

  body.cs-home-v990 .cs-v990-hero-grid {
    padding-block: 44px 90px;
  }

  body.cs-home-v990 .cs-v990-story-reel {
    transform: none;
  }

  body.cs-home-v990 .cs-v990-value {
    grid-template-columns: 54px minmax(0,1fr);
    column-gap: 14px;
  }

  body.cs-home-v990 .cs-v990-value .cs-v997-value-icon {
    width: 50px;
    height: 50px;
    padding: 8px;
  }

  body.cs-programs-v990 .program-card-heading-row,
  body.cs-calendar-v990 .v8493-calendar-heading {
    grid-template-columns: minmax(0,1fr) 88px !important;
    gap: 12px !important;
  }

  body.cs-programs-v990 .program-card-visual.cs-v997-program-art,
  body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    min-height: 78px;
  }

  body.cs-programs-v990 .program-card-visual.cs-v997-program-art > img:not(.cs-v997-program-photo),
  body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art > img:not(.cs-v997-program-photo) {
    width: 34px !important;
    height: 34px !important;
    padding: 5px;
  }

  body.cs-family-v991 .fp-home-base-hero {
    padding-block: 46px 72px !important;
  }

  body.cs-family-v991 .fp-home-base-hero::before {
    right: -42px;
    top: auto;
    bottom: -14px;
    width: 190px;
    transform: rotate(7deg);
    opacity: .30;
  }

  body.cs-family-v991 .fp-home-base-hero h1,
  body.cs-family-v991 .fp-home-base-hero p:last-child {
    max-width: calc(100% - 38px);
  }

  body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark {
    grid-template-columns: 58px minmax(0,1fr);
  }

  body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark .fp-upcoming-actions-v966 {
    grid-column: 1 / -1;
  }

  body.cs-family-v991 .fp-program-chat-row-v966.cs-v997-has-program-mark {
    grid-template-columns: 48px minmax(0,1fr);
  }

  body.cs-family-v991 .fp-program-chat-row-v966.cs-v997-has-program-mark > .button {
    grid-column: 1 / -1;
  }

  .cs-v994-footer {
    padding-top: 90px !important;
  }

  .cs-v994-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .cs-v994-footer-brand,
  .cs-v994-footer-community {
    grid-column: 1 / -1;
  }
}

@media (max-width: 460px) {
  body.cs-home-v990 .cs-v990-hero-grid,
  body.cs-home-v990 .cs-v990-image-essay,
  .cs-v994-footer .shell,
  body.cs-family-v991 .fp-page {
    width: calc(100% - 24px);
  }

  body.cs-home-v990 .cs-v990-value {
    grid-template-columns: 46px minmax(0,1fr);
  }

  body.cs-home-v990 .cs-v990-value .cs-v997-value-icon {
    width: 44px;
    height: 44px;
    padding: 7px;
  }

  body.cs-programs-v990 .program-card-heading-row,
  body.cs-calendar-v990 .v8493-calendar-heading {
    grid-template-columns: minmax(0,1fr) 78px !important;
    gap: 10px !important;
  }

  body.cs-programs-v990 .program-card-visual.cs-v997-program-art,
  body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    min-height: 70px;
  }

  body.cs-family-v991 .fp-v991-quick-nav {
    display: flex;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  body.cs-family-v991 .fp-v991-quick-nav a {
    flex: 0 0 auto;
    min-width: max-content;
  }

  body.cs-family-v991 .fp-calendar-grid-v966 {
    padding: .55rem;
  }

  .cs-v994-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .cs-v994-footer-brand,
  .cs-v994-footer-community {
    grid-column: auto;
  }

  .cs-v994-footer-logo {
    max-width: 244px !important;
  }

  .cs-v994-footer-nav {
    padding-block: 10px;
    border-top: 1px solid rgba(255,255,255,.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-home-v990 .cs-v990-story-reel,
  body.cs-public-v990 .vision-guide-modal__close.cs-modal-close,
  .cs-v997-program-art {
    transform: none !important;
    transition: none !important;
  }
}


/* ==========================================================================
   v9.9.7.1 — Art-direction correction
   Corrects the current visual layer rather than touching payment, registration,
   program data, filters, calendar behavior, or Family Portal business logic.
   ========================================================================== */

/* Public header: stronger CurioSpark Collective badge without changing nav behavior. */
body.cs-art-v9971 .site-header .logo-brand {
  display: inline-flex;
  align-items: center;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
}
body.cs-art-v9971 .site-header .logo-brand img[src*="curiospark-header-collective"] {
  display: block;
  width: clamp(174px, 16vw, 218px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: 82px !important;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(55, 13, 72, .17));
}
body.cs-art-v9971 .site-header .nav {
  min-height: clamp(76px, 7vw, 92px);
}

/* Homepage: remove the obsolete yellow orbit bar that created dead air. */
body.cs-home-v990.cs-art-v9971 .cs-home-wonder-orbit {
  display: none !important;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-home-hero {
  background:
    radial-gradient(circle at 7% 10%, rgba(255, 215, 85, .34), transparent 15rem),
    radial-gradient(circle at 92% 8%, rgba(139, 72, 170, .42), transparent 19rem),
    radial-gradient(circle at 84% 52%, rgba(255, 255, 255, .92), transparent 17rem),
    linear-gradient(128deg, #fff8e8 0%, #fffdf8 49%, #efe0f8 100%);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-home-hero::before {
  inset: 0;
  opacity: .95;
  background:
    radial-gradient(circle at 4% 15%, rgba(255,255,255,.92) 0 1px, transparent 2px),
    radial-gradient(circle at 12% 31%, rgba(244,181,22,.96) 0 2px, transparent 3px),
    radial-gradient(circle at 36% 9%, rgba(95,37,121,.62) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 67% 13%, rgba(244,181,22,.72) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 23%, rgba(255,255,255,.95) 0 1.5px, transparent 2.5px),
    radial-gradient(ellipse at 97% -5%, rgba(48,8,66,.96) 0 12%, transparent 32%),
    radial-gradient(ellipse at -5% -11%, rgba(63,12,84,.92) 0 9%, transparent 28%);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-home-hero::after {
  bottom: -42px;
  height: 82px;
  background: rgba(255, 253, 248, .97);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid {
  position: relative;
  padding-block: clamp(30px, 4vw, 54px) clamp(56px, 6.8vw, 88px);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid::after {
  content: "";
  position: absolute;
  right: clamp(39%, 43vw, 48%);
  top: clamp(14px, 2.5vw, 34px);
  width: clamp(84px, 8vw, 126px);
  aspect-ratio: 540 / 350;
  background: url('/assets/brand-v9971/home-base-bulb.svg') center / contain no-repeat;
  opacity: .22;
  pointer-events: none;
  transform: rotate(-5deg);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
  padding: clamp(18px, 2.8vw, 34px);
  border-radius: 32px 12px 32px 12px;
  background:
    linear-gradient(105deg, rgba(255,253,248,.97) 0 62%, rgba(255,253,248,.70) 82%, transparent 100%);
  box-shadow: 0 18px 42px rgba(57, 14, 74, .08);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-story-reel {
  margin-top: 0 !important;
}

/* Homepage values: illustration-led islands without thick card borders. */
body.cs-home-v990.cs-art-v9971 .cs-v990-values-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 34px);
  padding-top: clamp(28px, 4vw, 52px);
  border-top: 1px solid var(--cs-v997-line);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  padding: 0 clamp(4px, 1vw, 14px) clamp(22px, 3vw, 38px);
  border: 0 !important;
  background: transparent !important;
  text-align: center;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value::before {
  content: "";
  position: absolute;
  inset: 14px 0 0;
  z-index: -1;
  border-radius: 48% 52% 46% 54% / 58% 46% 54% 42%;
  background: radial-gradient(circle at 50% 12%, rgba(255,228,123,.18), transparent 48%);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
  grid-row: auto;
  width: clamp(92px, 8vw, 126px);
  height: clamp(92px, 8vw, 126px);
  padding: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value strong,
body.cs-home-v990.cs-art-v9971 .cs-v990-value p {
  grid-column: auto;
  max-width: 25ch;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value strong {
  margin-top: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  line-height: 1.08;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value p {
  margin: 0;
  font-size: .96rem;
}

/* Homepage accent photography integrated into the text-led path panels. */
body.cs-home-v990.cs-art-v9971 .cs-v990-path {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(360px, 39vw, 540px);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-path > * {
  position: relative;
  z-index: 2;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-path:first-child {
  background:
    linear-gradient(90deg, rgba(255,250,240,.99) 0 48%, rgba(255,250,240,.86) 64%, rgba(255,250,240,.28) 100%),
    url('/assets/curiospark-in-action/outdoor-learning.webp') right center / cover no-repeat;
}
body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources {
  background:
    linear-gradient(90deg, rgba(42,7,54,.99) 0 48%, rgba(42,7,54,.84) 66%, rgba(42,7,54,.32) 100%),
    url('/assets/curiospark-in-action/creative-table.webp') right center / cover no-repeat;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-path::after {
  content: "";
  position: absolute;
  right: clamp(18px, 3vw, 48px);
  bottom: clamp(14px, 3vw, 42px);
  width: clamp(54px, 6vw, 88px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: url('/assets/program-art-v9971/exploration-compass.svg') center / contain no-repeat;
  opacity: .82;
  pointer-events: none;
}
body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources::after {
  background-image: url('/assets/program-art-v9971/creative-palette.svg');
}

/* Illustrated program identity: no random photo injection. */
.cs-v997-program-art.cs-v9971-illustrated-art {
  display: grid;
  place-items: center;
  overflow: visible;
  background: transparent;
}
.cs-v997-program-art.cs-v9971-illustrated-art::after {
  display: none;
}
body.cs-public-v990.cs-programs-v990.cs-art-v9971 .program-card-visual.cs-v997-program-art.cs-v9971-illustrated-art,
body.cs-public-v990.cs-calendar-v990.cs-art-v9971 .v8491-calendar-visual.cs-v997-program-art.cs-v9971-illustrated-art {
  display: grid !important;
  place-items: center !important;
  min-height: 0 !important;
  aspect-ratio: 1;
  overflow: visible !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255,246,204,.98), rgba(240,223,249,.82)) !important;
  box-shadow: 0 14px 30px rgba(54, 12, 72, .13) !important;
  transform: none !important;
}
body.cs-public-v990.cs-programs-v990.cs-art-v9971 .program-card-visual.cs-v997-program-art.cs-v9971-illustrated-art > img.cs-v9971-program-illustration,
body.cs-public-v990.cs-calendar-v990.cs-art-v9971 .v8491-calendar-visual.cs-v997-program-art.cs-v9971-illustrated-art > img.cs-v9971-program-illustration {
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: block !important;
  width: 94% !important;
  height: 94% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  transform: none !important;
}
.cs-v997-family-program-mark.is-illustration {
  overflow: visible;
  border-radius: 50%;
  background: radial-gradient(circle, #fff8d9, #eadcf4);
  box-shadow: 0 10px 24px rgba(48, 10, 64, .12);
}
.cs-v997-family-program-mark.is-illustration img {
  width: 92%;
  height: 92%;
  padding: 0;
  object-fit: contain;
}

/* Family Portal: illustration-rich home base while preserving existing data/logic. */
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero::before,
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero::after {
  display: none;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(240px, 28vw, 410px);
  grid-template-rows: auto auto auto;
  column-gap: clamp(28px, 6vw, 92px);
  align-items: center;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
  grid-column: 1;
}
body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(66, 18, 87, .17));
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  grid-column: 1;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero {
  background:
    radial-gradient(circle at 89% 16%, rgba(255,210,68,.25), transparent 14rem),
    radial-gradient(circle at 74% 90%, rgba(145,80,172,.20), transparent 18rem),
    linear-gradient(126deg, #fff9e9 0%, #fffdf8 55%, #efe0f7 100%);
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-grid-v966 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(14px, 2vw, 24px);
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966,
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966:last-child {
  padding: clamp(18px, 2.2vw, 26px) !important;
  border: 1px solid rgba(95,37,121,.11) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(255,220,93,.18), transparent 8rem),
    linear-gradient(145deg, rgba(255,255,255,.95), rgba(247,238,251,.86)) !important;
  box-shadow: 0 12px 28px rgba(48,10,64,.07) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966 .cs-v997-family-program-mark {
  width: clamp(66px, 6vw, 88px);
  height: clamp(66px, 6vw, 88px);
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) .fp-dashboard-section-head-v966 > div:first-child {
  position: relative;
  min-height: 62px;
  padding-left: 74px;
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) .fp-dashboard-section-head-v966 > div:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 56px;
  background: url('/assets/program-art-v9971/seasonal-star.svg') center / contain no-repeat;
}
body.cs-family-v991.cs-art-v9971 .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/exploration-compass.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966 {
  min-height: 190px;
  padding-right: clamp(150px, 22vw, 310px) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::before {
  content: "";
  position: absolute;
  right: clamp(24px, 6vw, 80px);
  top: 50%;
  width: clamp(110px, 15vw, 190px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/assets/program-art-v9971/exploration-compass.svg') center / contain no-repeat;
  opacity: .92;
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::after {
  display: none;
}
body.cs-family-v991.cs-art-v9971 .fp-calendar-grid-v966 {
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(255,220,93,.16), transparent 13rem),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(246,235,251,.88)) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-program-chat-row-v966 .cs-v997-family-program-mark,
body.cs-family-v991.cs-art-v9971 .fp-program-status-card .cs-v997-family-program-mark {
  background: radial-gradient(circle, #fff7d1, #eadcf4);
}

/* Footer: richer reference-led celestial destination, true edge-to-edge background. */
body.cs-art-v9971 .cs-v994-footer {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(110px, 9vw, 150px) 0 26px !important;
  overflow: hidden !important;
  color: rgba(255,255,255,.94) !important;
  background:
    radial-gradient(circle at 5% 27%, rgba(255,210,54,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 13% 18%, rgba(255,255,255,.88) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 26% 66%, rgba(255,210,54,.82) 0 1.8px, transparent 2.8px),
    radial-gradient(circle at 43% 22%, rgba(255,255,255,.76) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 58% 70%, rgba(255,210,54,.76) 0 1.6px, transparent 2.6px),
    radial-gradient(circle at 72% 16%, rgba(255,255,255,.88) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 89% 44%, rgba(255,210,54,.88) 0 1.8px, transparent 2.8px),
    radial-gradient(circle at 96% 16%, rgba(255,255,255,.72) 0 1.2px, transparent 2.2px),
    radial-gradient(ellipse at 2% 104%, rgba(109,42,136,.92) 0 18%, transparent 19%),
    radial-gradient(ellipse at 99% 106%, rgba(104,39,131,.94) 0 22%, transparent 23%),
    radial-gradient(circle at 50% 122%, rgba(28,3,38,.88), transparent 52%),
    linear-gradient(132deg, #190221 0%, #2d073d 38%, #46105d 69%, #23042f 100%) !important;
}
body.cs-art-v9971 .cs-v994-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 43%, rgba(185,100,210,.20), transparent 17rem),
    radial-gradient(circle at 86% 29%, rgba(255,199,44,.12), transparent 18rem),
    linear-gradient(112deg, transparent 0 49%, rgba(255,255,255,.028) 49% 50%, transparent 50% 100%);
}
body.cs-art-v9971 .cs-v994-footer::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -4%;
  width: 108%;
  height: clamp(70px, 7vw, 106px);
  z-index: 1;
  pointer-events: none;
  border-bottom: 3px solid #f6c629;
  border-radius: 0 0 50% 50% / 0 0 72% 72%;
  background: #fff9ed;
  box-shadow: 0 9px 22px rgba(244,181,22,.08);
}
body.cs-art-v9971 .cs-v994-footer .shell {
  width: min(1280px, calc(100% - clamp(32px, 7vw, 112px)));
}
body.cs-art-v9971 .cs-v994-footer-grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(270px, 1.18fr) repeat(2, minmax(145px, .58fr)) minmax(250px, .92fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: center;
}
body.cs-art-v9971 .cs-v994-footer-brand {
  text-align: center;
}
body.cs-art-v9971 .cs-v994-footer-logo {
  display: block;
  width: min(100%, 310px) !important;
  max-width: 310px !important;
  margin: 0 auto 1rem;
  transform: none;
}
body.cs-art-v9971 .cs-v994-footer-logo img {
  width: 100% !important;
  height: auto !important;
  max-height: 250px;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.28));
}
body.cs-art-v9971 .cs-v994-footer-brand > p {
  max-width: 34ch;
  margin-inline: auto;
  color: rgba(255,255,255,.83) !important;
}
body.cs-art-v9971 .cs-v994-footer-values {
  color: rgba(229,204,244,.86) !important;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: .75rem;
}
body.cs-art-v9971 .cs-v994-footer h2 {
  margin-bottom: 1rem;
  color: #fff !important;
  font-family: Fraunces, Georgia, serif;
  font-size: 1.2rem;
}
body.cs-art-v9971 .cs-v994-footer-nav a,
body.cs-art-v9971 .cs-v994-footer-nav button.footer-logout {
  min-height: 34px;
  padding: .4rem 0 .4rem 1.55rem !important;
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
  border-bottom: 1px solid rgba(244,181,22,.52);
}
body.cs-art-v9971 .cs-v994-footer-nav a::before,
body.cs-art-v9971 .cs-v994-footer-nav button.footer-logout::before {
  content: "✦";
  top: .55rem;
  color: #ffd74f;
  font-size: .72rem;
}
body.cs-art-v9971 .cs-v994-footer-community {
  position: relative;
  padding: clamp(22px, 3vw, 34px);
  text-align: center;
}
body.cs-art-v9971 .cs-v994-footer-community::before {
  content: "♡";
  margin-bottom: .65rem;
  color: #ffd74f;
  font-size: 2.3rem;
}
body.cs-art-v9971 .cs-v994-footer-community::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 46% 54% 45% 55% / 56% 44% 56% 44%;
  border: 1px solid rgba(255,212,79,.24);
  background: rgba(255,255,255,.045);
}
body.cs-art-v9971 .cs-v994-footer-meta {
  position: relative;
  z-index: 2;
  margin-top: clamp(34px, 5vw, 62px);
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.67) !important;
}

/* Responsive refinement. */
@media (max-width: 980px) {
  body.cs-home-v990.cs-art-v9971 .cs-v990-values-list {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.cs-art-v9971 .cs-v994-footer-grid {
    grid-template-columns: minmax(0,1.2fr) 1fr 1fr !important;
    align-items: start;
  }
  body.cs-art-v9971 .cs-v994-footer-community {
    grid-column: 1 / -1;
    width: min(100%, 560px);
    margin-inline: auto;
  }
}
@media (max-width: 720px) {
  body.cs-art-v9971 .site-header .nav {
    min-height: 78px;
  }
  body.cs-art-v9971 .site-header .logo-brand img[src*="curiospark-header-collective"] {
    width: clamp(148px, 42vw, 172px) !important;
    max-height: 72px !important;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid {
    padding-block: 24px 62px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid::after {
    right: 6px;
    top: 8px;
    width: 86px;
    opacity: .18;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
    padding: 22px 18px;
    border-radius: 24px 10px 24px 10px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-path {
    min-height: 360px;
    padding-right: clamp(24px, 7vw, 48px);
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-path:first-child {
    background:
      linear-gradient(180deg, rgba(255,250,240,.98) 0 62%, rgba(255,250,240,.68) 100%),
      url('/assets/curiospark-in-action/outdoor-learning.webp') center bottom / cover no-repeat;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources {
    background:
      linear-gradient(180deg, rgba(42,7,54,.98) 0 62%, rgba(42,7,54,.64) 100%),
      url('/assets/curiospark-in-action/creative-table.webp') center bottom / cover no-repeat;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    grid-template-columns: minmax(0,1fr) 150px;
    column-gap: 12px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
    max-height: 190px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-upcoming-grid-v966 {
    grid-template-columns: 1fr;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966 {
    padding-right: 130px !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::before {
    right: 10px;
    width: 116px;
    opacity: .72;
  }
  body.cs-art-v9971 .cs-v994-footer {
    padding-top: 96px !important;
  }
}
@media (max-width: 520px) {
  body.cs-home-v990.cs-art-v9971 .cs-v990-values-list {
    grid-template-columns: 1fr 1fr;
    gap: 22px 12px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
    width: 82px;
    height: 82px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-value strong {
    font-size: 1.02rem;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-value p {
    font-size: .84rem;
    line-height: 1.45;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    display: block;
  }
  body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
    position: absolute;
    right: -22px;
    bottom: -8px;
    width: 156px;
    opacity: .33;
    pointer-events: none;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1,
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
    max-width: calc(100% - 42px);
  }
  body.cs-family-v991.cs-art-v9971 :where(
    .fp-upcoming-section-v966,
    .fp-calendar-dashboard-v966,
    .fp-program-chats-v966
  ) .fp-dashboard-section-head-v966 > div:first-child {
    min-height: 50px;
    padding-left: 58px;
  }
  body.cs-family-v991.cs-art-v9971 :where(
    .fp-upcoming-section-v966,
    .fp-calendar-dashboard-v966,
    .fp-program-chats-v966
  ) .fp-dashboard-section-head-v966 > div:first-child::before {
    width: 44px;
    height: 44px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966 {
    min-height: 0;
    padding-right: 16px !important;
    padding-bottom: 112px !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::before {
    right: 18px;
    top: auto;
    bottom: 8px;
    width: 98px;
    transform: none;
  }
  body.cs-art-v9971 .cs-v994-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    text-align: center;
  }
  body.cs-art-v9971 .cs-v994-footer-brand,
  body.cs-art-v9971 .cs-v994-footer-community {
    grid-column: 1 / -1;
  }
  body.cs-art-v9971 .cs-v994-footer-nav {
    padding-block: 14px;
    border-top: 1px solid rgba(255,255,255,.13);
    text-align: left;
  }
  body.cs-art-v9971 .cs-v994-footer-logo {
    max-width: 248px !important;
  }
}

@media (max-width: 360px) {
  body.cs-art-v9971 .cs-v994-footer-grid {
    grid-template-columns: 1fr !important;
  }
  body.cs-art-v9971 .cs-v994-footer-brand,
  body.cs-art-v9971 .cs-v994-footer-community {
    grid-column: auto;
  }
}

/* ==========================================================================
   v9.9.7.2 — Final styling touch-up / strict surgical pass
   Presentation only. Payment, Payhip, registration, waitlist, enrollment,
   Finance, program data/filtering, calendar data, permissions, and Family
   Portal business logic remain frozen.
   ========================================================================== */

/* Approved celestial CurioSpark Collective lockup.
   The background treatment intentionally wins even when legacy auth code
   rewrites the underlying <img> source after sign-in state settles. */
body.cs-art-v9971 .site-header .logo-brand {
  position: relative;
  flex: 0 0 auto;
  width: auto !important;
  height: clamp(76px, 7vw, 90px) !important;
  aspect-ratio: 1116 / 504;
  overflow: visible;
  background: url('/assets/brand-v9971/curiospark-header-collective.png') center / contain no-repeat;
  filter: drop-shadow(0 9px 18px rgba(43, 8, 58, .23));
}
body.cs-art-v9971 .site-header .logo-brand::before,
body.cs-art-v9971 .site-header .logo-brand::after {
  content: none !important;
}
body.cs-art-v9971 .site-header .logo-brand img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 0 !important;
  object-fit: contain !important;
}
body.cs-art-v9971 .site-header .nav {
  min-height: clamp(88px, 8vw, 104px);
}

/* Home: remove the detached grid bulb and keep the bulb inside the copy box. */
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid::after {
  content: none !important;
  display: none !important;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-right: clamp(124px, 13vw, 178px) !important;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy > * {
  position: relative;
  z-index: 2;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: clamp(14px, 2vw, 26px);
  right: clamp(12px, 1.8vw, 26px);
  width: clamp(104px, 10vw, 146px);
  aspect-ratio: 540 / 350;
  background: url('/assets/brand-v9971/home-base-bulb.svg') center / contain no-repeat;
  opacity: .88;
  pointer-events: none;
  filter: drop-shadow(0 12px 20px rgba(65, 18, 86, .16));
  transform: rotate(2deg);
}

/* Additional exact-name program identities. */
.cs-v997-theme-quest,
.cs-v997-theme-math,
.cs-v997-theme-maker,
.cs-v997-theme-minecraft,
.cs-v997-theme-movement,
.cs-v997-theme-fieldtrip,
.cs-v997-theme-music,
.cs-v997-theme-game {
  --cs-v9972-art-ring: rgba(95, 37, 121, .12);
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v9972-illustrated-art,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v9972-illustrated-art {
  outline: 1px solid var(--cs-v9972-art-ring, rgba(95, 37, 121, .10));
  outline-offset: 4px;
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v997-theme-math,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v997-theme-math {
  background: radial-gradient(circle, #fffbea, #e9dcf6) !important;
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v997-theme-quest,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v997-theme-quest {
  background: radial-gradient(circle, #fff4c9, #eadcf4) !important;
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v997-theme-minecraft,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v997-theme-minecraft {
  background: radial-gradient(circle, #e8fff4, #e6dcf4) !important;
}

/* Calendar waitlist action: readable white text in every interaction state. */
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist],
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist]:is(:hover,:focus-visible,:active),
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist]:disabled {
  border-color: #5f2579 !important;
  background: linear-gradient(135deg, #5f2579, #742d91) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px 1px rgba(30, 3, 40, .28);
  opacity: 1 !important;
}
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist]:focus-visible {
  outline: 3px solid #f4c72a !important;
  outline-offset: 3px !important;
}

/* Family Portal: use the approved celestial visual as the actual destination
   backdrop while preserving existing authenticated data and accessible text. */
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero {
  padding: clamp(18px, 3vw, 34px) 0 clamp(28px, 4vw, 52px) !important;
  background: linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-content: center;
  min-height: clamp(300px, 31vw, 390px);
  padding: clamp(34px, 5vw, 72px) clamp(28px, 6vw, 86px) !important;
  overflow: hidden;
  border: 1px solid rgba(244, 181, 22, .38);
  border-radius: clamp(24px, 3vw, 38px);
  background: #22042e url('/assets/brand-v9972-family-portal-celestial.svg') center / cover no-repeat !important;
  box-shadow: 0 24px 58px rgba(46, 8, 61, .18);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(255, 250, 235, .98) 0%,
    rgba(255, 250, 235, .94) 38%,
    rgba(255, 250, 235, .68) 54%,
    rgba(255, 250, 235, .08) 76%,
    transparent 100%);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  content: "✦";
  position: absolute;
  z-index: 3;
  left: clamp(26px, 4vw, 60px);
  bottom: clamp(18px, 3vw, 38px);
  width: auto;
  height: auto;
  border: 0;
  background: none;
  color: #f4b516;
  font-size: clamp(1.2rem, 2vw, 1.9rem);
  line-height: 1;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
  position: relative;
  z-index: 3;
  grid-column: 1 !important;
  max-width: min(56%, 650px);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .eyebrow {
  color: #6a2d82 !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
  margin: .35rem 0 .7rem !important;
  color: #3b0b50 !important;
  font-size: clamp(2.55rem, 5.5vw, 5.25rem) !important;
  line-height: .94 !important;
  text-wrap: balance;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
  max-width: 46ch !important;
  color: #55485e !important;
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  line-height: 1.58;
}
body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  opacity: 0 !important;
  pointer-events: none;
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966,
  .fp-adventure-strip-v966
) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
)::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(-34px, -2vw, -14px);
  top: clamp(-34px, -2vw, -12px);
  width: clamp(110px, 13vw, 180px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: .09;
  background: url('/assets/program-art-v9971/wonder-bulb.svg') center / contain no-repeat;
  pointer-events: none;
}
body.cs-family-v991.cs-art-v9971 .fp-calendar-dashboard-v966::after {
  background-image: url('/assets/program-art-v9971/exploration-compass.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-program-chats-v966::after {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966 {
  background:
    radial-gradient(circle at 92% 8%, rgba(244,181,22,.14), transparent 8rem),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(247,238,251,.90)) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::after {
  content: "✦  ✧  ✦";
  position: absolute;
  right: clamp(20px, 4vw, 54px);
  top: 18px;
  color: rgba(244, 181, 22, .72);
  letter-spacing: .45rem;
  font-size: 1.1rem;
  pointer-events: none;
}

/* Admin pages opt into this exact public footer through the existing shared
   presentation script. No Admin route, data, or action behavior changes. */
body.cs-admin-footer-v9972 {
  overflow-x: clip;
}
body.cs-admin-footer-v9972 main {
  min-height: 58vh;
}
body.cs-admin-footer-v9972 .cs-v994-footer {
  margin-top: clamp(44px, 7vw, 90px) !important;
  width: 100% !important;
  max-width: none !important;
}
body.cs-admin-footer-v9972 .cs-v994-footer .shell {
  box-sizing: border-box;
}
body.cs-admin-footer-v9972 .cs-v994-footer-grid {
  display: grid;
  align-items: start;
}
body.cs-admin-footer-v9972 .cs-v994-footer-nav {
  display: grid;
  gap: 10px;
}
body.cs-admin-footer-v9972 .cs-v994-footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

@media (max-width: 720px) {
  body.cs-admin-footer-v9972 .cs-v994-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.cs-admin-footer-v9972 .cs-v994-footer-brand,
  body.cs-admin-footer-v9972 .cs-v994-footer-community {
    grid-column: 1 / -1;
  }
  body.cs-admin-footer-v9972 .cs-v994-footer-meta {
    flex-direction: column;
  }
  body.cs-art-v9971 .site-header .logo-brand {
    height: clamp(66px, 18vw, 74px) !important;
  }
  body.cs-art-v9971 .site-header .nav {
    min-height: 82px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
    padding-right: 96px !important;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 10px;
    right: 6px;
    width: 84px;
    opacity: .54;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 350px;
    padding: 28px 24px 42px !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
    background: linear-gradient(180deg,
      rgba(255,250,235,.98) 0%,
      rgba(255,250,235,.94) 50%,
      rgba(255,250,235,.56) 70%,
      rgba(255,250,235,.08) 100%);
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
    max-width: 100%;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(2.45rem, 11vw, 4rem) !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
    max-width: 31ch !important;
  }
}

@media (max-width: 430px) {
  body.cs-admin-footer-v9972 .cs-v994-footer-grid {
    grid-template-columns: 1fr !important;
  }
  body.cs-admin-footer-v9972 .cs-v994-footer-brand,
  body.cs-admin-footer-v9972 .cs-v994-footer-community {
    grid-column: auto;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
    padding-right: 20px !important;
    padding-top: 92px !important;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 8px;
    right: 14px;
    width: 94px;
    opacity: .68;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 390px;
    padding: 24px 20px 40px !important;
    border-radius: 24px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
    background: linear-gradient(180deg,
      rgba(255,250,235,.985) 0%,
      rgba(255,250,235,.94) 49%,
      rgba(255,250,235,.48) 71%,
      rgba(255,250,235,0) 100%);
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
    max-width: 10ch !important;
    font-size: clamp(2.3rem, 13vw, 3.55rem) !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
    max-width: 27ch !important;
    font-size: .98rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-art-v9971 .site-header .logo-brand,
  body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
    transition: none !important;
  }
}


/* ==========================================================================
   v9.9.7.3 — Final micro-pass / approved art + role preview restoration
   Presentation-only except for re-exposing the existing safe Admin preview
   controls already implemented by script.js. No permissions are granted.
   ========================================================================== */

/* Header: use the approved footer-purple celestial environment so the existing
   CurioSpark Collective lockup blends into the header rather than appearing as
   a purple rectangle on cream. Applies to public and Admin opt-in shells. */
body.cs-art-v9971 .site-header {
  background:
    radial-gradient(circle at 8% 28%, rgba(255, 210, 54, .20) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 18%, rgba(255,255,255,.22) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 73% 22%, rgba(255,255,255,.20) 0 1.1px, transparent 2px),
    radial-gradient(circle at 91% 46%, rgba(255,210,54,.18) 0 1.5px, transparent 2.5px),
    linear-gradient(132deg, #190221 0%, #2d073d 42%, #46105d 72%, #23042f 100%) !important;
  border-bottom: 2px solid rgba(246,198,41,.92) !important;
  box-shadow: 0 10px 28px rgba(25,2,33,.34) !important;
}
body.cs-art-v9971 .site-header::after {
  opacity: .26 !important;
}
body.cs-art-v9971 .site-header .logo-brand {
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.30));
}
body.cs-art-v9971 .site-header .nav-toggle {
  border-color: rgba(255,214,71,.94) !important;
  background: linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,243,199,.96)) !important;
  color: #46105d !important;
  -webkit-text-fill-color: #46105d !important;
}
body.cs-art-v9971 .site-header .nav-toggle span {
  background: #46105d !important;
}

/* Approved Devin value art: preserve the open editorial layout, but let the
   supplied transparent illustrations read at a useful, consistent scale. */
body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
  width: clamp(112px, 9.6vw, 154px) !important;
  height: clamp(112px, 9.6vw, 154px) !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

/* Remove only the two unwanted floating art chips from the photo-backed Home
   path panels. Main photography, copy, links and card behavior remain intact. */
body.cs-home-v990.cs-art-v9971 .cs-v990-path::after,
body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources::after {
  content: none !important;
  display: none !important;
}

/* Family Portal flagship hero: production vector art mirrors the supplied
   celestial reference without baking homepage copy or a Menu control into the
   image. Portal-specific text remains live, selectable and accessible. */
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero {
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  background: #190221 !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
  position: relative;
  isolation: isolate;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(370px, 34vw, 510px) !important;
  margin: 0 !important;
  padding: clamp(54px, 6vw, 86px) clamp(130px, 15vw, 260px) clamp(74px, 8vw, 112px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center;
  background:
    url('/assets/brand-v9974/family-portal-hero-field.svg') center / cover no-repeat,
    url('/assets/brand-v9973/family-portal-top-reference.webp') center / cover no-repeat,
    url('/assets/brand-v9972-family-portal-celestial.svg') center / cover no-repeat !important;
  box-shadow: 0 24px 54px rgba(27, 2, 37, .22);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before,
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  content: "" !important;
  position: absolute;
  z-index: 1;
  display: block !important;
  pointer-events: none;
  transform: none;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
  left: clamp(-34px, 1vw, 18px) !important;
  top: clamp(64px, 9vw, 132px) !important;
  width: clamp(190px, 22vw, 330px);
  aspect-ratio: 320 / 300;
  background: url('/assets/brand-v9974/family-portal-hero-planet.svg') center / contain no-repeat !important;
  filter: drop-shadow(0 18px 26px rgba(25, 2, 33, .28));
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  right: clamp(-12px, 3vw, 56px) !important;
  top: clamp(48px, 6vw, 92px) !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(176px, 19vw, 290px);
  aspect-ratio: 280 / 360;
  background: url('/assets/brand-v9974/family-portal-hero-bulb.svg') center / contain no-repeat !important;
  filter: drop-shadow(0 20px 30px rgba(25, 2, 33, .3));
}
body.cs-family-v991.cs-art-v9971 .fp-v9974-hero-copy {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
  transform: translateY(clamp(42px, 4vw, 58px));
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
  max-width: none !important;
  margin-inline: auto;
  text-align: center;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .eyebrow {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
  max-width: 14ch !important;
  margin: 0 auto !important;
  color: #3c0b50 !important;
  font-size: clamp(3rem, 6vw, 6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.055em;
  text-wrap: balance;
  text-shadow: 0 2px 0 rgba(255,255,255,.45);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1::after {
  content: "";
  display: block;
  width: min(420px, 76%);
  height: 4px;
  margin: 16px auto 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #f4b516 18%, #7b2c92 82%, transparent);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
  max-width: 54ch !important;
  margin: 0 auto;
  color: #493852 !important;
  font-size: clamp(.98rem, 1.45vw, 1.2rem);
  font-weight: 650;
  line-height: 1.55;
  text-wrap: balance;
}
body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none;
}

/* Existing safe Admin role preview UI, restored as a compact toggle. These
   controls call the already-audited preview functions in script.js and never
   grant or alter account permissions. */
.cs-admin-role-switcher-v9973 {
  position: relative;
  z-index: 40;
  width: 100%;
  margin: 0;
  border-bottom: 1px solid rgba(246,198,41,.38);
  background: linear-gradient(90deg, #22042f, #39104d 55%, #260634);
  color: #fff;
  box-shadow: 0 8px 22px rgba(25,2,33,.18);
}
.cs-admin-role-switcher-v9973[hidden] { display: none !important; }
.cs-admin-role-switcher-v9973__inner {
  width: min(1280px, calc(100% - clamp(24px, 6vw, 96px)));
  margin: 0 auto;
  padding: 10px 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.cs-admin-role-switcher-v9973__label {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cs-admin-role-switcher-v9973__label strong {
  color: #fff;
  font-size: .92rem;
}
.cs-admin-role-switcher-v9973__label span {
  color: rgba(255,255,255,.72);
  font-size: .76rem;
}
.cs-admin-role-switcher-v9973__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.cs-admin-role-switcher-v9973 button {
  min-height: 40px;
  padding: .55rem .88rem;
  border: 1px solid rgba(255,215,79,.58);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  -webkit-text-fill-color: #fff;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}
.cs-admin-role-switcher-v9973 button:is(:hover,:focus-visible),
.cs-admin-role-switcher-v9973 button[aria-pressed="true"] {
  border-color: #ffd74f;
  background: #fff8db;
  color: #431052;
  -webkit-text-fill-color: #431052;
}
.cs-admin-role-switcher-v9973 button:focus-visible {
  outline: 3px solid #ffd74f;
  outline-offset: 2px;
}

@media (max-width: 720px) {
  body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
    width: clamp(104px, 28vw, 138px) !important;
    height: clamp(104px, 28vw, 138px) !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 400px !important;
    padding: 70px 74px 70px !important;
    background-position: center !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(2.7rem, 11vw, 4.2rem) !important;
  }
  .cs-admin-role-switcher-v9973__inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .cs-admin-role-switcher-v9973__buttons {
    width: 100%;
    justify-content: flex-start;
  }
  .cs-admin-role-switcher-v9973 button {
    flex: 1 1 calc(50% - 6px);
  }
}

@media (max-width: 430px) {
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 380px !important;
    border-radius: 0 !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
    max-width: 100% !important;
  }
  .cs-admin-role-switcher-v9973__label span { display: none; }
}


/* ========================================================================== 
   CurioSpark v9.9.7.4 — Family Portal flagship visual pass + anchor accuracy
   Route-scoped presentation only. Payment, registration, enrollment, program,
   calendar, permission and financial business logic remain untouched.
   ========================================================================== */
body.cs-family-v991.cs-family-v9974 {
  --cs-fp-anchor-offset: 116px;
  overflow-x: clip;
  background:
    radial-gradient(circle at 8% 18%, rgba(244,181,22,.08), transparent 22rem),
    radial-gradient(circle at 94% 34%, rgba(117,48,145,.10), transparent 30rem),
    linear-gradient(180deg, #fffaf0 0%, #fffdf9 26%, #faf4fc 68%, #fffaf0 100%);
}
body.cs-family-v991.cs-family-v9974 :where(
  #fp-v991-upcoming,
  #fp-v991-programs,
  #fp-v994-discover,
  #fp-v994-calendar,
  #fp-v994-chats,
  #fp-v991-family,
  #fp-v991-payments,
  #fp-v994-help,
  #your-programs,
  #your-learners,
  #registration-payments
) {
  scroll-margin-top: calc(var(--cs-fp-anchor-offset, 116px) + 18px);
}
body.cs-family-v991.cs-family-v9974 .fp-page {
  width: min(1240px, calc(100% - clamp(24px, 4vw, 64px)));
  padding-bottom: clamp(44px, 7vw, 90px);
}
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav {
  position: relative;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  /* v9.9.7.5: clear the hero instead of overlapping it, while removing the
     old stacked bottom margin that created the oversized blank transition. */
  margin: clamp(14px, 1.6vw, 22px) auto 0 !important;
  padding: 6px !important;
  overflow: hidden;
  border: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 999px !important;
  background: rgba(255,253,248,.94) !important;
  box-shadow: 0 16px 38px rgba(42,8,57,.12) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a {
  justify-content: center;
  min-width: 0;
  min-height: 46px;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 999px;
  color: #654e70;
  text-align: center;
  white-space: nowrap;
}
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a:is(:hover,:focus-visible),
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a[aria-current="location"] {
  color: #3f0d52;
  background: linear-gradient(135deg, #fff1b8, #efe0f6);
  box-shadow: inset 0 0 0 1px rgba(95,37,121,.10);
}
/* When the priority mount has no visible family action, do not preserve the
   legacy section-to-section top margin ahead of the first dashboard panel. */
body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966[hidden] + #fp-v991-upcoming,
body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966:empty + #fp-v991-upcoming {
  margin-top: 0 !important;
}
body.cs-family-v991.cs-family-v9974 .fp-dashboard-layout-v966 {
  gap: clamp(24px, 4vw, 48px);
}
body.cs-family-v991.cs-family-v9974 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) {
  padding: clamp(28px, 4vw, 48px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 44px rgba(50,13,66,.08) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-section-v966 {
  background:
    radial-gradient(circle at 94% 12%, rgba(255,215,76,.22), transparent 13rem),
    linear-gradient(135deg, #fffdf7 0%, #f7eefa 100%) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-dashboard-v966 {
  background:
    radial-gradient(circle at 92% 6%, rgba(146,74,172,.12), transparent 15rem),
    linear-gradient(135deg, #fff 0%, #fff8e4 46%, #f4eafa 100%) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 {
  background:
    radial-gradient(circle at 92% 16%, rgba(255,215,76,.18), transparent 12rem),
    linear-gradient(135deg, #f7edfb 0%, #fffdf8 66%) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-grid-v966 { gap: clamp(14px, 2vw, 22px); }
body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966,
body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966:last-child {
  min-height: 188px;
  padding: clamp(18px, 2vw, 24px) !important;
  border: 1px solid rgba(95,37,121,.11) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 12px 28px rgba(50,13,66,.07) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966 .cs-v997-family-program-mark {
  width: clamp(72px, 7vw, 96px);
  height: clamp(72px, 7vw, 96px);
  border: 0;
  background: radial-gradient(circle, #fff7cc 0 57%, transparent 58%);
}
body.cs-family-v991.cs-family-v9974 #fp-v991-programs > .fp-manager-card--programs,
body.cs-family-v991.cs-family-v9974 #fp-v991-family > .fp-family-information-v966,
body.cs-family-v991.cs-family-v9974 #fp-v991-payments > .fp-registration-payments-v966 {
  padding: clamp(28px, 4vw, 48px) !important;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 44px rgba(50,13,66,.07) !important;
}
body.cs-family-v991.cs-family-v9974 #fp-v991-programs > .fp-manager-card--programs {
  background: linear-gradient(135deg, #fff 0%, #f7effa 100%) !important;
}
body.cs-family-v991.cs-family-v9974 #fp-v991-family > .fp-family-information-v966 {
  background: linear-gradient(135deg, #fffdf8 0%, #fff4cf 100%) !important;
}
body.cs-family-v991.cs-family-v9974 #fp-v991-payments > .fp-registration-payments-v966 {
  background: linear-gradient(135deg, #fff 0%, #faf5fb 100%) !important;
}
body.cs-family-v991.cs-family-v9974 :where(
  #fp-v991-programs .fp-manager-head > div:first-child,
  #fp-v991-family .fp-manager-head > div:first-child,
  #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
  .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
) {
  position: relative;
  min-height: 70px;
  padding-left: 82px;
}
body.cs-family-v991.cs-family-v9974 :where(
  #fp-v991-programs .fp-manager-head > div:first-child,
  #fp-v991-family .fp-manager-head > div:first-child,
  #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
  .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 64px;
  height: 64px;
  background: center / contain no-repeat;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/seasonal-star.svg');
}
body.cs-family-v991.cs-family-v9974 #fp-v991-programs .fp-manager-head > div:first-child::before {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/exploration-compass.svg');
}
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-family-v9974 #fp-v991-family .fp-manager-head > div:first-child::before {
  background-image: url('/assets/value-art-v9973/everyone-belongs.webp');
}
body.cs-family-v991.cs-family-v9974 #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/wonder-bulb.svg');
}
body.cs-family-v991.cs-family-v9974 .fp-program-learner-group {
  padding-block: clamp(16px,2vw,24px);
  border-top: 1px solid rgba(95,37,121,.10);
}
body.cs-family-v991.cs-family-v9974 .fp-program-learner-head { border: 0 !important; background: transparent !important; }
body.cs-family-v991.cs-family-v9974 .fp-program-status-card { border-color: rgba(95,37,121,.11) !important; box-shadow: none !important; }
body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966 {
  position: relative;
  min-height: 210px;
  padding: clamp(30px,4vw,52px) clamp(200px,22vw,340px) clamp(30px,4vw,52px) clamp(30px,4vw,52px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 30px !important;
  background: linear-gradient(120deg, #fff7d4 0%, #fffdf7 54%, #ead8f3 100%) !important;
  box-shadow: 0 18px 44px rgba(50,13,66,.08) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966::before {
  content: "";
  position: absolute;
  right: clamp(40px,8vw,116px);
  top: 50%;
  width: clamp(128px,15vw,200px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/assets/program-art-v9971/exploration-compass.svg') center / contain no-repeat;
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-month-v966 { border: 0 !important; background: rgba(255,255,255,.66) !important; }
body.cs-family-v991.cs-family-v9974 .fp-calendar-grid-v966 { border-color: rgba(95,37,121,.10) !important; }
body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 > a.cs-v997-calendar-identity {
  display: grid;
  grid-template-columns: 58px auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-left: 3px solid #f4b516;
  border-radius: 10px;
  background: rgba(255,255,255,.58);
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 .cs-v997-calendar-mark { width: 50px; height: 50px; }
body.cs-family-v991.cs-family-v9974 .fp-program-chat-list-v966 .fp-dashboard-empty-v966,
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966 {
  position: relative;
  min-height: 190px;
  padding: 30px clamp(170px,20vw,280px) 30px 30px;
  border: 0 !important;
  background: rgba(255,255,255,.66) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966::after {
  content: "";
  position: absolute;
  right: clamp(28px,7vw,92px);
  top: 50%;
  width: clamp(112px,13vw,170px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/assets/program-art-v9971/community-people.svg') center / contain no-repeat;
}
body.cs-family-v991.cs-family-v9974 .fp-program-chat-row-v966 { border-color: rgba(95,37,121,.11) !important; background: rgba(255,255,255,.72) !important; }
body.cs-family-v991.cs-family-v9974 .fp-program-chat-row-v966 .cs-v997-family-program-mark,
body.cs-family-v991.cs-family-v9974 .fp-program-status-card .cs-v997-family-program-mark { width: 66px; height: 66px; }
body.cs-family-v991.cs-family-v9974 .fp-family-information-v966 .fp-learner-card { border: 0 !important; background: rgba(255,255,255,.72) !important; box-shadow: 0 10px 24px rgba(50,13,66,.06) !important; }
body.cs-family-v991.cs-family-v9974 .fp-registration-payments-v966 :where(.fp-manager-card,.fp-workshop-plan-card--primary) { box-shadow: none !important; border-color: rgba(95,37,121,.10) !important; }

@media (max-width: 920px) {
  body.cs-family-v991.cs-family-v9974 { --cs-fp-anchor-offset: 104px; }
  body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav {
    display: flex;
    width: 100%;
    max-width: 100%;
    grid-template-columns: none;
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a {
    flex: 0 0 118px;
    scroll-snap-align: start;
  }
}

@media (max-width: 720px) {
  body.cs-family-v991.cs-family-v9974 { --cs-fp-anchor-offset: 96px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell {
    min-height: 400px !important;
    padding: 70px 74px 70px !important;
    background-position: center !important;
  }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::before {
    left: -54px !important;
    top: 82px !important;
    width: 170px;
  }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::after {
    right: -38px !important;
    top: 74px !important;
    width: 158px;
  }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero h1 { font-size: clamp(2.7rem, 11vw, 4.2rem) !important; }
  body.cs-family-v991.cs-family-v9974 .fp-page { width: min(100% - 22px, 1240px); }
  body.cs-family-v991.cs-family-v9974 :where(
    .fp-upcoming-section-v966,
    .fp-calendar-dashboard-v966,
    .fp-program-chats-v966,
    #fp-v991-programs > .fp-manager-card--programs,
    #fp-v991-family > .fp-family-information-v966,
    #fp-v991-payments > .fp-registration-payments-v966,
    .fp-adventure-strip-v966
  ) { padding: 22px !important; border-radius: 24px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966 { padding-bottom: 150px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966::before {
    right: 50%; top: auto; bottom: 20px; width: 120px; transform: translateX(50%);
  }
  body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966 { min-height: 0; padding: 22px 22px 134px; }
  body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966::after {
    right: 50%; top: auto; bottom: 12px; width: 102px; transform: translateX(50%);
  }
}

@media (max-width: 430px) {
  body.cs-family-v991.cs-family-v9974 { --cs-fp-anchor-offset: 90px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell { min-height: 380px !important; padding: 64px 56px 58px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::before { left: -72px !important; top: 96px !important; width: 148px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::after { right: -54px !important; top: 88px !important; width: 138px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .eyebrow { font-size: .68rem; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero h1 { max-width: 11ch !important; font-size: clamp(2.45rem,12vw,3.35rem) !important; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero p:last-of-type { font-size: .9rem; line-height: 1.45; }
  body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav { margin-top: 14px !important; margin-bottom: 0 !important; }
  body.cs-family-v991.cs-family-v9974 :where(
    #fp-v991-programs .fp-manager-head > div:first-child,
    #fp-v991-family .fp-manager-head > div:first-child,
    #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
    .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
  ) { min-height: 54px; padding-left: 62px; }
  body.cs-family-v991.cs-family-v9974 :where(
    #fp-v991-programs .fp-manager-head > div:first-child,
    #fp-v991-family .fp-manager-head > div:first-child,
    #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
    .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
  )::before { width: 48px; height: 48px; }
  body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966 { min-height: 0; }
  body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 > a.cs-v997-calendar-identity { grid-template-columns: 46px auto minmax(0,1fr); padding-inline: 8px; }
  body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 .cs-v997-calendar-mark { width: 40px; height: 40px; }
}

@media (max-width: 360px) {
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell { min-height: 370px !important; padding-inline: 48px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-page { width: min(100% - 16px, 1240px); }
}

/* ========================================================================== 
   CurioSpark v9.9.7.7 — Approved Family Portal hero + global illustrated header
   Presentation-only micro patch. Uses the supplied approved artwork exactly;
   no Payhip, payment, registration, enrollment, program, calendar, auth,
   permission, Finance, or Admin business logic is changed.
   ========================================================================== */

:root {
  --cs-v9977-header-height: clamp(106px, 9.2vw, 132px);
}

/* The supplied header artwork is the visible header. Existing Home and Menu
   controls remain the real accessible/clickable elements and sit over the
   matching artwork zones. The normal menu panel and its behavior are untouched. */
.site-header {
  min-height: var(--cs-v9977-header-height) !important;
  background: #21042e url('/assets/brand-v9977/curiospark-global-header-desktop.webp') center / 100% 100% no-repeat !important;
  border-bottom: 0 !important;
  box-shadow: 0 12px 30px rgba(25, 2, 33, .28) !important;
}
.site-header::after {
  content: none !important;
  display: none !important;
}
.site-header .nav {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: var(--cs-v9977-header-height) !important;
  height: var(--cs-v9977-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-header .logo-brand {
  position: absolute !important;
  z-index: 1002 !important;
  left: 2.7% !important;
  top: 50% !important;
  width: 22% !important;
  max-width: none !important;
  height: 74% !important;
  aspect-ratio: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
.site-header .logo-brand::before,
.site-header .logo-brand::after {
  content: none !important;
  display: none !important;
}
.site-header .logo-brand img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 0 !important;
  object-fit: contain !important;
  pointer-events: none !important;
}
.site-header .nav-toggle {
  position: absolute !important;
  z-index: 1002 !important;
  right: 2.7% !important;
  top: 50% !important;
  width: 22% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 74% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-size: 0 !important;
}
.site-header .nav-toggle::before,
.site-header .nav-toggle::after,
.site-header .nav-toggle span {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}
.site-header .logo-brand:focus-visible,
.site-header .nav-toggle:focus-visible {
  outline: 4px solid #ffd64a !important;
  outline-offset: 3px !important;
}
.site-header .nav-links {
  top: calc(var(--cs-v9977-header-height) + 10px) !important;
}

/* Use the supplied approved Family Portal image as the headline artwork.
   The prior layered reconstruction is fully retired visually. The existing
   semantic heading/summary remain in the DOM for assistive technology. */
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero {
  padding: 0 !important;
  overflow: hidden !important;
  background: #21042e !important;
  border: 0 !important;
}
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::before,
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::after {
  content: none !important;
  display: none !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9977-hero-picture,
body.cs-family-v991.cs-family-v9974 .fp-v9977-hero-picture img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9977-hero-picture img {
  object-fit: contain !important;
  object-position: center !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9974-hero-copy {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  transform: none !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9971-hero-art {
  display: none !important;
}

@media (max-width: 820px) {
  :root { --cs-v9977-header-height: clamp(84px, 22vw, 104px); }
  .site-header {
    background-image: url('/assets/brand-v9977/curiospark-global-header-mobile.webp') !important;
  }
  .site-header .logo-brand {
    left: 1.2% !important;
    width: 24% !important;
    height: 72% !important;
  }
  .site-header .nav-toggle {
    right: 1.2% !important;
    width: 24% !important;
    height: 72% !important;
  }
}

@media (max-width: 430px) {
  :root { --cs-v9977-header-height: clamp(78px, 23vw, 94px); }
  .site-header .logo-brand,
  .site-header .nav-toggle {
    width: 25.5% !important;
  }
}


/* Source: /curiospark-header-recovery-v9979.css */
/* CurioSpark v9.9.7.9 — Header Recovery
   Header presentation only. Restores the approved CurioSpark logo on the left
   and the existing burger/Menu control on the right. */

:root {
  --cs-header-v9979-height: clamp(88px, 8vw, 104px);
  --cs-header-v9979-purple-1: #190221;
  --cs-header-v9979-purple-2: #2d073d;
  --cs-header-v9979-purple-3: #46105d;
}

html body .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
  min-height: var(--cs-header-v9979-height) !important;
  background:
    radial-gradient(circle at 8% 28%, rgba(255, 210, 54, .22) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 18%, rgba(255,255,255,.22) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 73% 22%, rgba(255,255,255,.20) 0 1.1px, transparent 2px),
    radial-gradient(circle at 91% 46%, rgba(255,210,54,.18) 0 1.5px, transparent 2.5px),
    linear-gradient(132deg, var(--cs-header-v9979-purple-1) 0%, var(--cs-header-v9979-purple-2) 42%, var(--cs-header-v9979-purple-3) 72%, #23042f 100%) !important;
  border-bottom: 2px solid rgba(246,198,41,.94) !important;
  box-shadow: 0 10px 28px rgba(25,2,33,.34) !important;
  isolation: isolate !important;
}

html body .site-header::after { opacity: .24 !important; }

html body .site-header .nav {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(12px, 3vw, 32px) !important;
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  min-height: var(--cs-header-v9979-height) !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 5px 0 !important;
}

html body .site-header .logo-brand {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  z-index: 5002 !important;
  display: block !important;
  flex: 0 1 auto !important;
  width: clamp(230px, 24vw, 340px) !important;
  max-width: calc(100% - 132px) !important;
  height: clamp(74px, 7.8vw, 96px) !important;
  min-height: 0 !important;
  aspect-ratio: 685 / 266 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url('/assets/brand-v9979/curiospark-header-logo-v9979.webp?v=9979') left center / contain no-repeat !important;
  box-shadow: none !important;
  filter: drop-shadow(0 9px 18px rgba(0,0,0,.28)) !important;
}
html body .site-header .logo-brand::before,
html body .site-header .logo-brand::after { content: none !important; display: none !important; }
html body .site-header .logo-brand img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 0 !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

html body .site-header .nav-toggle {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  z-index: 5002 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 112px !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 8px 15px !important;
  transform: none !important;
  overflow: visible !important;
  border: 2px solid rgba(255,214,71,.96) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(255,253,248,.99), rgba(255,243,199,.98)) !important;
  box-shadow: 0 12px 26px rgba(20,2,29,.30) !important;
  color: #46105d !important;
  -webkit-text-fill-color: #46105d !important;
  font-size: inherit !important;
}
html body .site-header .nav-toggle::before { content: none !important; display: none !important; }
html body .site-header .nav-toggle::after {
  content: "✦ Menu" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin-left: 8px !important;
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}
html body .site-header .nav-toggle span {
  display: block !important;
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 2px !important;
  margin: 3px 0 !important;
  opacity: 1 !important;
  background: #46105d !important;
  transition: transform .2s ease, opacity .2s ease, background .2s ease !important;
}
html body .site-header .nav-toggle[aria-expanded="true"] {
  background: radial-gradient(circle at 18% 20%, rgba(254,206,34,.55), transparent 24%), linear-gradient(135deg, #5f2579, #7f3ca0) !important;
  border-color: #ffd647 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 18px 38px rgba(20,2,29,.36), 0 0 0 5px rgba(254,206,34,.18) !important;
}
html body .site-header .nav-toggle[aria-expanded="true"]::after { content: "✦ Close" !important; }
html body .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg) !important; background: #fff !important; }
html body .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0 !important; }
html body .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg) !important; background: #fff !important; }
html body .site-header .logo-brand:focus-visible,
html body .site-header .nav-toggle:focus-visible { outline: 4px solid #ffd64a !important; outline-offset: 3px !important; }
html body .site-header .nav-links { top: calc(var(--cs-header-v9979-height) + 10px) !important; }

@media (max-width: 820px) {
  :root { --cs-header-v9979-height: clamp(82px, 21vw, 100px); }
  html body .site-header .nav { width: calc(100% - 24px) !important; gap: 8px !important; }
  html body .site-header .logo-brand {
    width: clamp(174px, 50vw, 250px) !important;
    max-width: calc(100% - 118px) !important;
    height: clamp(66px, 18vw, 82px) !important;
  }
  html body .site-header .nav-toggle {
    min-width: 106px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 8px 13px !important;
  }
}

@media (max-width: 360px) {
  :root { --cs-header-v9979-height: 82px; }
  html body .site-header .nav { width: calc(100% - 16px) !important; gap: 6px !important; }
  html body .site-header .logo-brand {
    width: 166px !important;
    max-width: calc(100% - 108px) !important;
    height: 66px !important;
  }
  html body .site-header .nav-toggle {
    min-width: 100px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-inline: 11px !important;
  }
  html body .site-header .nav-toggle::after { margin-left: 6px !important; font-size: 11px !important; }
}


/* Source: /curiospark-home-top-gap-v99710.css */
/* CurioSpark v9.9.7.11 — Homepage Top Breathing Room
   Homepage spacing only. Restores a modest visual pause below the sticky
   header while preserving the approved hero layout,
   imagery, header, navigation, copy, and all functional systems untouched. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-home-hero {
  padding-top: clamp(24px, 2.5vw, 36px) !important;
}

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid {
  padding-top: 0 !important;
}

/* Keep the retired decorative orbit from consuming any top-of-hero space. */
body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-home-wonder-orbit {
  display: none !important;
}


/* Source: /curiospark-motion-v1000.css */
/*
 * CurioSpark v10.0 — Premium Motion & Visual Experience
 * Public presentation layer only. No financial, registration, auth, API, or data behavior.
 */

:root {
  --cs-motion-fast: 180ms;
  --cs-motion-normal: 420ms;
  --cs-motion-slow: 820ms;
  --cs-motion-editorial: 880ms;
  --cs-motion-distance: clamp(12px, 1.5vw, 20px);
  --cs-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --cs-motion-ease-soft: cubic-bezier(.25, .8, .25, 1);
  --cs-motion-gold: #ffc928;
  --cs-motion-purple: #5f2579;
  --cs-motion-shadow: 0 18px 42px rgba(64, 23, 79, .13);
  --cs-motion-edge: rgba(255, 201, 40, .62);
}

body.cs-motion-v1000 {
  --cs-motion-page-distance: var(--cs-motion-distance);
}

/* Content is never hidden without successful presentation-only JS initialization. */
body.cs-motion-v1000.cs-motion-primed [data-cs-motion-reveal]:not(.is-cs-motion-visible) {
  opacity: 0;
  translate: 0 var(--cs-motion-page-distance);
}

body.cs-motion-v1000 [data-cs-motion-reveal] {
  opacity: 1;
  translate: 0 0;
  transition:
    opacity var(--cs-motion-editorial) var(--cs-motion-ease),
    translate var(--cs-motion-editorial) var(--cs-motion-ease);
  transition-delay: var(--cs-motion-delay, 0ms);
  will-change: opacity, translate;
}

body.cs-motion-v1000 [data-cs-motion-reveal].is-cs-motion-visible {
  opacity: 1;
  translate: 0 0;
  will-change: auto;
}

body.cs-motion-v1000 .cs-motion-hero-item {
  --cs-motion-page-distance: clamp(10px, 1.2vw, 16px);
}

/* Public cards and editorial surfaces respond without changing dimensions. */
body.cs-motion-v1000 .cs-motion-card,
body.cs-motion-v1000 .cs-motion-photo-surface {
  transition:
    translate var(--cs-motion-normal) var(--cs-motion-ease),
    box-shadow var(--cs-motion-normal) var(--cs-motion-ease),
    border-color var(--cs-motion-normal) var(--cs-motion-ease);
}

body.cs-motion-v1000 .cs-motion-media-shell {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

body.cs-motion-v1000 .cs-motion-media-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border: 1px solid transparent;
  border-radius: inherit;
  pointer-events: none;
  transition: border-color var(--cs-motion-normal) var(--cs-motion-ease),
              box-shadow var(--cs-motion-normal) var(--cs-motion-ease);
}

body.cs-motion-v1000 .cs-motion-media-shell > img,
body.cs-motion-v1000 .cs-motion-media-shell > picture > img,
body.cs-motion-v1000 .cs-motion-media-shell picture img {
  scale: 1;
  transition: scale var(--cs-motion-slow) var(--cs-motion-ease);
  transform-origin: center center;
}

/* Existing homepage reel: cinematic crossfade and microscopic Ken Burns only. */
body.cs-motion-v1000 .cs-v990-reel-window {
  overflow: clip;
  isolation: isolate;
}

body.cs-motion-v1000 .cs-v990-reel-slide {
  transition: opacity 860ms var(--cs-motion-ease-soft), visibility 0s linear 860ms;
}

body.cs-motion-v1000 .cs-v990-reel-slide.is-active {
  transition-delay: 0s;
}

body.cs-motion-v1000 .cs-v990-reel-slide img {
  scale: 1.008;
  transform-origin: 50% 50%;
}

body.cs-motion-v1000 .cs-v990-reel-slide.is-active img {
  animation: cs-motion-ken-burns 8s var(--cs-motion-ease-soft) both;
}

@keyframes cs-motion-ken-burns {
  from { scale: 1.008; }
  to { scale: 1.032; }
}

/* Safe, media-only figure groups can become a single rotating editorial frame. */
body.cs-motion-v1000 .cs-motion-figure-rotator {
  position: relative !important;
  display: block !important;
  width: 100%;
  min-height: var(--cs-motion-rotator-height, 18rem);
  overflow: clip;
  isolation: isolate;
  border-radius: inherit;
}

body.cs-motion-v1000 .cs-motion-figure-rotator > .cs-motion-figure-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  translate: 0 4px;
  transition:
    opacity 860ms var(--cs-motion-ease-soft),
    translate 860ms var(--cs-motion-ease-soft),
    visibility 0s linear 860ms;
}

body.cs-motion-v1000 .cs-motion-figure-rotator > .cs-motion-figure-slide.is-cs-motion-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  translate: 0 0;
  transition-delay: 0s;
}

body.cs-motion-v1000 .cs-motion-figure-rotator > .cs-motion-figure-slide img {
  display: block;
  max-width: 100%;
}

body.cs-motion-v1000 .cs-motion-figure-rotator > .cs-motion-figure-slide.is-cs-motion-active img {
  animation: cs-motion-ken-burns 8s var(--cs-motion-ease-soft) both;
}

body.cs-motion-v1000 .cs-motion-rotator-controls {
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: .34rem;
  padding: .34rem .42rem;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  background: rgba(63, 18, 78, .72);
  box-shadow: 0 8px 22px rgba(48, 12, 60, .18);
  backdrop-filter: blur(8px);
}

body.cs-motion-v1000 .cs-motion-rotator-dot,
body.cs-motion-v1000 .cs-motion-rotator-toggle {
  appearance: none;
  display: inline-grid;
  place-items: center;
  min-width: 1.7rem;
  min-height: 1.7rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font: 800 .72rem/1 Inter, Arial, sans-serif;
  cursor: pointer;
}

body.cs-motion-v1000 .cs-motion-rotator-dot::before {
  content: "";
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .52);
  transition: scale var(--cs-motion-fast) var(--cs-motion-ease),
              background-color var(--cs-motion-fast) var(--cs-motion-ease);
}

body.cs-motion-v1000 .cs-motion-rotator-dot[aria-current="true"]::before {
  scale: 1.28;
  background: var(--cs-motion-gold);
}

body.cs-motion-v1000 .cs-motion-rotator-toggle {
  border-left: 1px solid rgba(255, 255, 255, .34);
  border-radius: 0 999px 999px 0;
  padding-left: .42rem;
}

body.cs-motion-v1000 .cs-motion-rotator-dot:focus-visible,
body.cs-motion-v1000 .cs-motion-rotator-toggle:focus-visible {
  outline: 2px solid var(--cs-motion-gold);
  outline-offset: 2px;
}

/* CTA and editorial-link feedback; financial and registration controls are never tagged. */
body.cs-motion-v1000 .cs-motion-button {
  transition:
    translate var(--cs-motion-fast) var(--cs-motion-ease),
    box-shadow var(--cs-motion-normal) var(--cs-motion-ease),
    border-color var(--cs-motion-fast) var(--cs-motion-ease),
    background-color var(--cs-motion-fast) var(--cs-motion-ease),
    color var(--cs-motion-fast) var(--cs-motion-ease);
}

body.cs-motion-v1000 .cs-motion-arrow-link span[aria-hidden="true"] {
  display: inline-block;
  transition: translate var(--cs-motion-fast) var(--cs-motion-ease);
}

body.cs-motion-v1000 .cs-motion-button:focus-visible,
body.cs-motion-v1000 .cs-motion-arrow-link:focus-visible,
body.cs-motion-v1000 .site-header a:focus-visible {
  outline: 3px solid rgba(255, 201, 40, .76);
  outline-offset: 4px;
}

/* Header polish preserves routes, visibility rules, and mobile-menu behavior. */
body.cs-motion-v1000 .site-header .logo-brand img {
  scale: 1;
  transition: scale var(--cs-motion-normal) var(--cs-motion-ease);
}

body.cs-motion-v1000 .site-header .nav-links a:not(.nav-button) {
  transition: color var(--cs-motion-fast) var(--cs-motion-ease),
              translate var(--cs-motion-fast) var(--cs-motion-ease);
}

/* Page-specific, existing visual assets receive a tiny response rather than new decoration. */
body.cs-motion-v1000 .cs-v990-value .cs-v997-value-icon,
body.cs-motion-v1000 [class*="team"] article img,
body.cs-motion-v1000 [class*="team-card"] img {
  scale: 1;
  rotate: 0deg;
  transition: scale var(--cs-motion-normal) var(--cs-motion-ease),
              rotate var(--cs-motion-normal) var(--cs-motion-ease);
}

@media (hover: hover) and (pointer: fine) {
  body.cs-motion-v1000 .cs-motion-card:hover,
  body.cs-motion-v1000 .cs-motion-photo-surface:hover {
    translate: 0 -4px;
  }

  body.cs-motion-v1000 .cs-motion-card:hover .cs-motion-media-shell > img,
  body.cs-motion-v1000 .cs-motion-card:hover .cs-motion-media-shell picture img,
  body.cs-motion-v1000 .cs-motion-photo-surface:hover .cs-motion-media-shell > img,
  body.cs-motion-v1000 .cs-motion-media-shell:hover > img,
  body.cs-motion-v1000 .cs-motion-media-shell:hover picture img {
    scale: 1.028;
  }

  body.cs-motion-v1000 .cs-motion-media-shell:hover::after {
    border-color: var(--cs-motion-edge);
    box-shadow: inset 0 0 0 1px rgba(255, 201, 40, .16);
  }

  body.cs-motion-v1000 .cs-motion-button:hover {
    translate: 0 -2px;
  }

  body.cs-motion-v1000 .cs-motion-primary-cta:hover {
    box-shadow: 0 12px 26px rgba(95, 37, 121, .18), 0 0 0 3px rgba(255, 201, 40, .14);
  }

  body.cs-motion-v1000 .cs-motion-arrow-link:hover span[aria-hidden="true"] {
    translate: 4px 0;
  }

  body.cs-motion-v1000 .site-header .logo-brand:hover img {
    scale: 1.018;
  }

  body.cs-motion-v1000 .site-header .nav-links a:not(.nav-button):hover {
    translate: 0 -1px;
  }

  body.cs-motion-v1000 .cs-v990-value:hover .cs-v997-value-icon,
  body.cs-motion-v1000 [class*="team-card"]:hover img {
    scale: 1.045;
    rotate: 1.5deg;
  }
}

@media (max-width: 760px) {
  :root {
    --cs-motion-editorial: 700ms;
    --cs-motion-distance: 12px;
  }

  body.cs-motion-v1000 .cs-motion-rotator-controls {
    top: .55rem;
    right: .55rem;
    backdrop-filter: none;
  }

  body.cs-motion-v1000 .cs-motion-card:active,
  body.cs-motion-v1000 .cs-motion-button:active {
    translate: 0 1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-motion-v1000,
  body.cs-motion-v1000 * {
    scroll-behavior: auto !important;
  }

  body.cs-motion-v1000 [data-cs-motion-reveal],
  body.cs-motion-v1000.cs-motion-primed [data-cs-motion-reveal]:not(.is-cs-motion-visible) {
    opacity: 1 !important;
    translate: 0 0 !important;
    transition-duration: 1ms !important;
    transition-delay: 0ms !important;
  }

  body.cs-motion-v1000 .cs-v990-reel-slide,
  body.cs-motion-v1000 .cs-motion-figure-slide,
  body.cs-motion-v1000 .cs-motion-card,
  body.cs-motion-v1000 .cs-motion-photo-surface,
  body.cs-motion-v1000 .cs-motion-button,
  body.cs-motion-v1000 .cs-motion-media-shell > img,
  body.cs-motion-v1000 .cs-motion-media-shell picture img {
    animation: none !important;
    transition-duration: 1ms !important;
    translate: 0 0 !important;
    scale: 1 !important;
    rotate: 0deg !important;
  }

  body.cs-motion-v1000 .cs-motion-rotator-toggle {
    display: none;
  }
}


/* Source: /curiospark-home-mobile-header-hero-gap-v10002b.css */
/* CurioSpark v10.0.2b — Mobile Home Header/Hero Breathing Room
   Home mobile only. Corrects the actual fixed-header reserve mismatch:
   the mobile header is 82–100px tall, while the older mobile-menu layer
   reserves only 68–72px on the body. That overlap consumed the intended
   hero breathing room. This scopes the reserve correction to Home and then
   adds a modest 16px of hero-background breathing room before the copy card. */

@media (max-width: 820px) {
  html body.cs-studio-v960.cs-public-v990.cs-home-v990.cs-art-v9971 {
    padding-top: var(--cs-header-v9979-height, 82px) !important;
  }

  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-home-hero {
    padding-top: 16px !important;
  }

  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}


/* Source: /curiospark-home-hero-debox-v10003.css */
/* CurioSpark v10.0.3 — Home Hero Image De-Box Micro-Patch
   Home photographic reel only. This file intentionally changes no geometry:
   no margin, padding, width, height, position, inset, transform, clip-path,
   overflow, carousel behavior, image order, or mobile header/hero spacing. */

body.cs-public-v990.cs-home-v990 .cs-v990-story-reel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.cs-public-v990.cs-home-v990 .cs-v990-reel-window {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 18px 28px rgba(43, 12, 54, .16));
}

@media (max-width: 760px) {
  body.cs-public-v990.cs-home-v990 .cs-v990-reel-window {
    filter: drop-shadow(0 14px 20px rgba(43, 12, 54, .14));
  }
}


/* Source: /curiospark-home-hero-full-debox-v10004.css */
/* CurioSpark v10.0.4 — Home Hero Full De-Box Micro-Patch
   Home presentation layer only.
   Purpose: remove the remaining boxed/card-like treatment from the left
   home hero copy panel while preserving its exact composition, spacing,
   sizing, buttons, proof row, and the recent mobile header/hero spacing fix.
   No JS, no slideshow changes, no Payhip/registration/payment logic changes. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Keep the bulb illustration and content layering intact while removing
   any remaining boxed shell appearance from the copy area. */
body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::before {
  content: none !important;
  display: none !important;
}


/* Source: /curiospark-home-eyebrow-contrast-v10005.css */
/* CurioSpark v10.0.5 — Home Hero Eyebrow Contrast Micro-Patch
   Home eyebrow only. Keeps the v10.0.4 full de-box composition, geometry,
   spacing, padding, motion, imagery, and all functional behavior unchanged.
   A restrained ivory text halo improves legibility where the atmospheric
   Home hero blend passes behind the small uppercase eyebrow. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy > .eyebrow {
  color: #3a124c !important;
  text-shadow:
    0 1px 0 rgba(255, 253, 248, .98),
    0 0 4px rgba(255, 253, 248, .94),
    0 0 10px rgba(255, 253, 248, .78);
}


/* Source: /curiospark-home-signature-bulb-v10007.css */
/* CurioSpark v10.0.7 — Home Hero Signature Bulb Micro-Patch
   Home presentation layer only.
   Replaces the prior generic Home hero bulb treatment with the exact approved
   bulb artwork isolated from the supplied mockup. The art stays inside the
   existing left hero-copy paint box so it cannot bleed into the rotating reel.
   No hero spacing, reel geometry, JS, motion, Payhip, registration, finance,
   authentication, SQL, environment, or deployment behavior changes. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
  /* Explicit paint containment: the bulb may crop editorially at this box edge,
     but it can never render into the sibling rotating-photography column. */
  overflow: hidden !important;
  isolation: isolate;
}

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: clamp(-14px, -0.7vw, -5px) !important;
  right: clamp(-34px, -2vw, -18px) !important;
  width: clamp(164px, 14.5vw, 220px) !important;
  aspect-ratio: 531 / 512 !important;
  background-image:
    radial-gradient(circle at 62% 43%, rgba(255, 205, 44, .18) 0 24%, rgba(255, 224, 116, .08) 42%, transparent 67%),
    url('/assets/brand-v9971/home-signature-bulb-v10007.png') !important;
  background-position: center, center !important;
  background-size: 94% 94%, contain !important;
  background-repeat: no-repeat !important;
  opacity: .98 !important;
  filter: none !important;
  transform: none !important;
  pointer-events: none !important;
}

@media (max-width: 820px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 2px !important;
    right: 0 !important;
    width: 146px !important;
    opacity: .94 !important;
  }
}

@media (max-width: 720px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 4px !important;
    right: 2px !important;
    width: 118px !important;
    opacity: .92 !important;
  }
}

@media (max-width: 430px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 2px !important;
    right: 8px !important;
    width: 102px !important;
    opacity: .92 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    transition: none !important;
    animation: none !important;
  }
}


/* Source: /curiospark-home-signature-bulb-v10007a.css */
/* CurioSpark v10.0.7a — Home Hero Signature Bulb Positioning Correction
   Home presentation layer only.
   Keeps the exact approved v10.0.7 bulb asset and the existing copy-column
   paint containment, but moves the desktop/tablet bulb fully inside that box
   so its rays and right edge remain visible without entering the rotating reel.
   Mobile positioning below 821px remains exactly as established in v10.0.7. */

@media (min-width: 821px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: clamp(16px, 1.6vw, 24px) !important;
    right: clamp(4px, .55vw, 8px) !important;
    width: clamp(146px, 13vw, 190px) !important;
  }
}


/* Source: /curiospark-home-signature-bulb-v10007b.css */
/* CurioSpark v10.0.7b — Final Bulb Fit Correction
   Home presentation layer only.
   Keeps the exact approved v10.0.7 bulb asset but slightly reduces and
   repositions the pseudo-element and its internal art so the full rays and
   sparkles remain comfortably visible across desktop, tablet, and mobile.
   The hero-copy box remains overflow-hidden, so nothing can bleed into the
   rotating image reel. No changes to headline layout, hero grid, reel,
   imagery, motion, protected functionality, SQL, environment, or deploy. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
  background-position:
    center center,
    calc(50% - 6px) calc(50% + 5px) !important;
  background-size:
    88% 88%,
    90% auto !important;
}

@media (min-width: 1101px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: clamp(18px, 1.85vw, 28px) !important;
    right: clamp(10px, .9vw, 16px) !important;
    width: clamp(138px, 12vw, 172px) !important;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: clamp(18px, 2vw, 24px) !important;
    right: clamp(10px, 1vw, 14px) !important;
    width: clamp(130px, 15vw, 154px) !important;
  }
}

@media (max-width: 820px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 10px !important;
    right: 8px !important;
    width: 122px !important;
    background-position:
      center center,
      calc(50% - 5px) calc(50% + 4px) !important;
    background-size:
      87% 87%,
      89% auto !important;
  }
}

@media (max-width: 720px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 10px !important;
    right: 12px !important;
    width: 106px !important;
    background-size:
      86% 86%,
      88% auto !important;
  }
}

@media (max-width: 430px) {
  body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 8px !important;
    right: 14px !important;
    width: 92px !important;
    background-size:
      84% 84%,
      86% auto !important;
    opacity: .9 !important;
  }
}


/* Source: /curiospark-home-signature-bulb-v10007c.css */
/* CurioSpark v10.0.7c — Signature Bulb Asset Completion
   Home presentation layer only.
   Keeps the v10.0.7b geometry/positioning exactly as established, but swaps in
   a completed transparent bulb asset so the outer rays and sparkles are fully
   visible with no clipped remnants. No reel, spacing, or functional changes. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
  background-image:
    radial-gradient(circle at 62% 43%, rgba(255, 205, 44, .18) 0 24%, rgba(255, 224, 116, .08) 42%, transparent 67%),
    url('/assets/brand-v9971/home-signature-bulb-v10007c.png?v=10007c') !important;
}


/* Source: /curiospark-home-signature-bulb-v10007d.css */
/* CurioSpark v10.0.7d — Exact Bulb Restoration + Ray Completion
   Home presentation layer only.
   Restores the exact original v10.0.7 bulb body and the proven v10.0.7b
   geometry, while replacing only the three clipped right-edge ray fragments
   with complete rays copied from the same original artwork. The asset remains
   the same 531 x 512 canvas, so the approved apparent size and position do not
   change. Hero-copy overflow containment remains intact; nothing can bleed
   into the rotating reel. */

body.cs-public-v990.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
  background-image:
    radial-gradient(circle at 62% 43%, rgba(255, 205, 44, .18) 0 24%, rgba(255, 224, 116, .08) 42%, transparent 67%),
    url('/assets/brand-v9971/home-signature-bulb-v10007d.png?v=10007d') !important;
}


