/* 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: /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-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-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: /meet-the-team-portrait-clarity-v10400.css */
/* CurioSpark v10.4.0 — page-scoped portrait clarity correction.
   Removes the layered accent/compositing surface that crossed Devin, Rosie,
   and Aegean's faces. Portrait files and global motion remain unchanged. */
body.phase-d-team-portrait-clarity .team-placard-grid .team-photo-stage.portrait-clarity-target{
  isolation:isolate!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.phase-d-team-portrait-clarity .team-placard-grid .team-photo-stage.portrait-clarity-target::before,
body.phase-d-team-portrait-clarity .team-placard-grid .team-photo-stage.portrait-clarity-target::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body.phase-d-team-portrait-clarity .team-placard-grid .team-photo-stage.portrait-clarity-target>img,
body.phase-d-team-portrait-clarity .team-placard-grid .team-photo-stage.portrait-clarity-target picture,
body.phase-d-team-portrait-clarity .team-placard-grid .team-photo-stage.portrait-clarity-target picture img{
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  rotate:0deg!important;
  clip-path:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  animation:none!important;
  backface-visibility:visible!important;
  will-change:auto!important;
}


