/* Source: /team-operations-v820.css */
/* CurioSpark v8.20 - Team Operations Alignment & Handbook */
.v820-team-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.v820-team-tool-grid .team-hub-card{min-height:100%;}
.v820-roster-mobile{display:none;}
.v820-roster-card[hidden]{display:none!important;}
.v820-roster-card{border:1px solid rgba(95,37,121,.18);border-radius:18px;background:#fff;padding:1rem;box-shadow:0 10px 24px rgba(52,21,72,.05);}
.v820-roster-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;}
.v820-roster-card-head h3{margin:.2rem 0;color:#3b1554;font:750 1.35rem/1.12 Fraunces,Georgia,serif;}
.v820-roster-card-head p,.v820-roster-family{margin:.35rem 0;color:#68546f;}
.v820-safety-indicator{display:inline-flex;margin:.65rem 0;padding:.32rem .58rem;border-radius:999px;background:#f4edf7;color:#5f2579;font-size:.8rem;font-weight:800;}
.v820-safety-indicator.has-safety{background:#e5f6ea;color:#227044;}
.v820-roster-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0;}
.v820-roster-details{margin-top:.85rem;border-top:1px solid rgba(95,37,121,.14);padding-top:.7rem;}
.v820-roster-details summary{cursor:pointer;color:#5f2579;font-weight:800;}
.v820-roster-detail-grid{display:grid;gap:.85rem;padding-top:.8rem;}
.v820-roster-detail-grid section{padding:.7rem;border-radius:12px;background:#fcfaff;}
.v820-roster-detail-grid p,.v820-roster-detail-grid ul{margin:.35rem 0 0;color:#5f5060;line-height:1.45;}
.v820-mobile-empty{border:1px dashed rgba(95,37,121,.22);border-radius:16px;padding:1rem;color:#67586e;background:#fcfaff;}
.v820-handbook-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:1rem;border-top:1px solid rgba(95,37,121,.14);}
.v820-handbook-card{padding:1rem .1rem;border:0;border-bottom:1px solid rgba(95,37,121,.14);border-radius:0;background:transparent;box-shadow:none;}
.v820-handbook-card h3{margin:.25rem 0 .55rem;color:#3b1554;font:750 1.3rem/1.15 Fraunces,Georgia,serif;}
.v820-handbook-card p,.v820-handbook-card li{color:#625267;line-height:1.5;}
.v820-handbook-card ul,.v820-handbook-card ol{margin:.55rem 0 0;padding-left:1.25rem;}
.v820-handbook-callout{margin:1rem 0;padding:1rem 1.1rem;border-left:4px solid #5f2579;border-radius:0 14px 14px 0;background:#faf7fc;color:#4c3855;}
.v820-handbook-contracts{padding-inline:.9rem;border-left:3px solid rgba(244,181,22,.8);background:rgba(255,248,220,.45);}
@media (max-width:980px){.v820-team-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.v820-team-tool-grid,.v820-handbook-grid{grid-template-columns:1fr;}.v820-roster-mobile{display:grid;gap:.8rem;margin-top:.85rem;}[data-v820-roster-table-wrap]{display:none;}.v820-roster-card{padding:.9rem}.v820-roster-card-head .status{white-space:nowrap;}.v820-team-support{display:grid;grid-template-columns:1fr;}.v820-roster-actions .tiny-button{flex:1 1 auto;text-align:center;}.v820-handbook-card{padding:1rem;}}
@media (min-width:761px){.v820-roster-mobile{display:none!important;}}

/* v10.4.0.5a: Roster-only closure against the later shared table-scroll cascade.
   Keep desktop styling and every other Admin table's presentation unchanged. */
body.v802-simplified table[data-v745-roster-table] tr[hidden]{display:none!important;}
@media (max-width:760px){
  body.cs-admin-table-scroll-v993 [data-v745-page="rosters"] [data-v820-roster-table-wrap]{display:none!important;}
  [data-v745-page="rosters"] .cs-table-scroll-hint:has(+ [data-v820-roster-table-wrap]){display:none!important;}
  [data-v745-page="rosters"] .v820-roster-card{min-width:0;overflow-wrap:anywhere;}
  [data-v745-page="rosters"] .v820-roster-card-head{flex-wrap:wrap;}
  [data-v745-page="rosters"] .v820-roster-card-head>div{min-width:0;flex:1 1 10rem;}
}


/* Source: /admin-safety-v798.css */
/* CurioSpark v7.98 — Community safety directory */
.v798-safety-intro{margin:0 0 1rem;padding:1rem 1.05rem;border:1px solid rgba(95,37,121,.18);border-radius:18px;background:linear-gradient(135deg,#fffaf1,#faf4ff);color:#5a4865;line-height:1.55}.v798-safety-intro strong{color:#4e176f}.v798-safety-toolbar{display:flex;gap:.75rem;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:0 0 1rem}.v798-safety-toolbar label{flex:1 1 360px}.v798-safety-toolbar input{width:100%;margin-top:.35rem}.v798-safety-summary{margin:0 0 1rem;color:#685875;font-size:.93rem}.v798-safety-results{display:grid;gap:.8rem}.v798-safety-record{border:1px solid rgba(95,37,121,.18);border-radius:18px;background:#fff;overflow:hidden}.v798-safety-record summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.05rem;cursor:pointer;color:#3d1157;list-style:none}.v798-safety-record summary::-webkit-details-marker{display:none}.v798-safety-record summary strong{display:block;font:750 1.1rem/1.2 Inter,Arial,sans-serif}.v798-safety-record summary small{display:block;margin-top:.22rem;color:#75647d}.v798-safety-open{font:800 .78rem/1 Inter,Arial,sans-serif;color:#5f2579;border:1px solid rgba(95,37,121,.2);border-radius:999px;padding:.45rem .6rem;white-space:nowrap}.v798-safety-record[open] .v798-safety-open{background:#5f2579;color:#fff;border-color:#5f2579}.v798-safety-record-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 1.05rem 1.15rem;border-top:1px solid rgba(95,37,121,.12);color:#5b4b64}.v798-safety-record-body section{min-width:0}.v798-safety-record-body h3{margin:.15rem 0 .4rem;color:#3d1157}.v798-safety-record-body p{margin:.25rem 0;line-height:1.5}.v798-secondary{margin-top:.85rem!important;padding-top:.8rem;border-top:1px dashed rgba(95,37,121,.2)}.v798-contact-list{display:grid;gap:.7rem;margin:.2rem 0;padding-left:1.1rem;line-height:1.45}.v798-contact-list span{color:#685875}.v798-learners{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:.8rem}.v798-learners>.eyebrow{grid-column:1/-1;margin:0}.v798-learner-card{padding:.9rem;border:1px solid rgba(95,37,121,.15);border-radius:14px;background:#fcf9ff}.v798-learner-card h3{margin:0 0 .2rem}.v798-safety-list{display:grid;gap:.58rem;margin:.75rem 0 0}.v798-safety-list div{padding-top:.55rem;border-top:1px solid rgba(95,37,121,.1)}.v798-safety-list dt{font-weight:800;color:#4e176f}.v798-safety-list dd{margin:.18rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.v798-wide-note{grid-column:1/-1;padding-top:.9rem;border-top:1px dashed rgba(95,37,121,.2)}@media(max-width:720px){.v798-safety-record-body{grid-template-columns:1fr}.v798-safety-record summary{align-items:flex-start}.v798-safety-open{font-size:.68rem}.v798-safety-toolbar{align-items:stretch}.v798-safety-toolbar .button{width:100%}}


/* Source: /admin-global-search-v843.css */
/* CurioSpark v8.43 - Admin page-level search expansion. */
.v843-admin-search {
  margin: 14px 0 16px;
  padding: 12px;
  border: 1px solid rgba(95,37,121,.16);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,249,229,.96), rgba(247,240,255,.9));
  box-shadow: 0 12px 26px rgba(60,19,78,.06);
}
.v843-admin-search label {
  display: block;
  color: #341247;
  font-weight: 800;
}
.v843-admin-search small,
.v843-admin-search [data-v843-count] {
  display: block;
  margin-top: 6px;
  color: rgba(65,40,76,.72);
  font-size: .85rem;
  font-weight: 650;
}
.v843-admin-search-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 8px;
}
.v843-admin-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding: .9rem 1rem;
  border: 1px solid rgba(95,37,121,.22);
  border-radius: 14px;
  background: #fff;
  color: #2d123f;
  font: inherit;
  font-weight: 650;
  box-shadow: 0 7px 18px rgba(60,19,78,.05);
}
.v843-admin-search input[type="search"]::placeholder { color: rgba(74,44,88,.58); font-weight: 500; }
.v843-admin-search input[type="search"]:focus { outline: 3px solid rgba(254,206,34,.48); outline-offset: 2px; }
.v843-search-clear,
.v843-clear-inline {
  flex: 0 0 auto;
  border: 1px solid rgba(95,37,121,.22);
  border-radius: 14px;
  padding: .75rem 1rem;
  background: #fff;
  color: #5f2579;
  font-weight: 850;
  cursor: pointer;
}
.v843-search-clear:hover,
.v843-clear-inline:hover { background: #fff8d8; }
.v843-empty-state {
  margin: 10px 0 0;
  padding: .85rem 1rem;
  border: 1px dashed rgba(95,37,121,.28);
  border-radius: 14px;
  color: #5a4664;
  background: rgba(255,255,255,.72);
  font-weight: 700;
}
.v843-legacy-count {
  display: inline-block;
  margin-top: 6px;
  color: rgba(65,40,76,.72);
  font-size: .82rem;
  font-weight: 750;
}
.v843-legacy-wrap {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.v843-legacy-wrap input[type="search"] { flex: 1 1 auto; min-width: 0; }
[data-v843-hidden="true"] { display: none !important; }
@media (max-width: 680px) {
  .v843-admin-search-row,
  .v843-legacy-wrap { flex-direction: column; }
  .v843-search-clear,
  .v843-clear-inline { width: 100%; }
}


/* 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-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-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-admin-footer-parity-v104010.css */
/* CurioSpark v10.4.0.10 — Admin Footer Parity.
   Public-footer presentation, statically scoped to Admin footer markup only.
   No shared stylesheet/body class, JavaScript, route, auth or data changes.
   Declarations below come from the supplied approved public visual layers. */
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] {
  --cs-v997-purple-deep: #25052f;
  --cs-v997-cream: #fffaf0;
  --cs-v997-gold: #f4b516;
  --cs-v997-gold-soft: #ffd65a;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.62;
  border: 0 !important;
  box-shadow: none !important;
}

/* Public source: styles.css */
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] a.button.secondary.cs-v994-footer-community-button {
color: #401052 !important;
  -webkit-text-fill-color: #401052 !important;
  background: linear-gradient(135deg, #fffaf0, #ead7f1) !important;
  border-color: rgba(244, 181, 22, .72) !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] a.button.secondary.cs-v994-footer-community-button:is(:hover, :focus-visible, :active) {
color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #6b2b83 !important;
  border-color: #f4b516 !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] a.button.secondary.cs-v994-footer-community-button * {
color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* Public source: curiospark-premium-editorial-v990.css */
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] {
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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010]::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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-logo {
display: inline-block;
  max-width: min(100%, 300px);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-logo img {
display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand > p {
max-width: 38ch;
  margin: 14px 0 0;
  color: rgba(255,255,255,.78);
  line-height: 1.65;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-values {
font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-values span {
color: #f4b516; margin-inline: 6px;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] 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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-nav {
display: grid;
  gap: 10px;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] :where(a, button.footer-logout) {
color: rgba(255,255,255,.9);
  -webkit-text-fill-color: rgba(255,255,255,.9);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-nav :where(a, button.footer-logout):is(:hover, :focus-visible) {
color: #ffd45d;
  -webkit-text-fill-color: #ffd45d;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community p {
max-width: 28ch;
  margin: 14px 0 0;
  color: rgba(255,255,255,.72);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community-button:is(:hover, :focus-visible, :active) {
color: #fff;
  -webkit-text-fill-color: #fff;
  background: #6b2b83;
  border-color: #f4b516;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: minmax(0, 1.2fr) 1fr 1fr;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: 1 / -1; max-width: 520px;
}

}

@media (max-width: 700px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: 1fr 1fr;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: 1 / -1;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-logo {
max-width: 260px;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-meta {
flex-direction: column;
}

}

@media (max-width: 430px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: 1fr;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: auto;
}

}

/* Public source: curiospark-wonder-layer-v997.css */
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] {
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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010]::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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010]::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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .shell {
width: min(1440px, calc(100% - clamp(32px, 7vw, 112px)));
  max-width: none;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-grid,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-meta {
position: relative;
  z-index: 2;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-logo {
max-width: min(100%, 300px) !important;
  transform: translateX(-8px);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-logo img {
filter: drop-shadow(0 15px 30px rgba(0,0,0,.24));
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-brand > p {
color: rgba(255,255,255,.82) !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] h2 {
color: var(--cs-v997-gold-soft) !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-nav a,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-nav button.footer-logout {
position: relative;
  padding-left: 16px !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-nav a::before,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-nav button.footer-logout::before {
content: "✦";
  position: absolute;
  left: 0;
  top: .12em;
  color: var(--cs-v997-gold);
  font-size: .62rem;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-community::before {
content: "♡";
  display: block;
  margin-bottom: 10px;
  color: var(--cs-v997-gold-soft);
  font-size: 2.1rem;
  line-height: 1;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] 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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] 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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-meta {
color: rgba(255,255,255,.67) !important;
}

@media (max-width: 980px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: minmax(0, 1.1fr) 1fr 1fr !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: 1 / -1;
    max-width: 560px;
}

}

@media (max-width: 720px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .shell {
width: calc(100% - max(28px, env(safe-area-inset-left) + env(safe-area-inset-right) + 20px));
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] {
padding-top: 90px !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: 1fr 1fr !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-brand,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: 1 / -1;
}

}

@media (max-width: 460px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .shell {
width: calc(100% - 24px);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: 1fr !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-brand,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: auto;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-logo {
max-width: 244px !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-nav {
padding-block: 10px;
    border-top: 1px solid rgba(255,255,255,.12);
}

}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] {
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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010]::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%);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010]::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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .shell {
width: min(1280px, calc(100% - clamp(32px, 7vw, 112px)));
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand {
text-align: center;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-logo {
display: block;
  width: min(100%, 310px) !important;
  max-width: 310px !important;
  margin: 0 auto 1rem;
  transform: none;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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));
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand > p {
max-width: 34ch;
  margin-inline: auto;
  color: rgba(255,255,255,.83) !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-values {
color: rgba(229,204,244,.86) !important;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: .75rem;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] h2 {
margin-bottom: 1rem;
  color: #fff !important;
  font-family: Fraunces, Georgia, serif;
  font-size: 1.2rem;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-nav a,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-nav a::before,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-nav button.footer-logout::before {
content: "✦";
  top: .55rem;
  color: #ffd74f;
  font-size: .72rem;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
position: relative;
  padding: clamp(22px, 3vw, 34px);
  text-align: center;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community::before {
content: "♡";
  margin-bottom: .65rem;
  color: #ffd74f;
  font-size: 2.3rem;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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);
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .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;
}

@media (max-width: 980px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: minmax(0,1.2fr) 1fr 1fr !important;
    align-items: start;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: 1 / -1;
    width: min(100%, 560px);
    margin-inline: auto;
}

}

@media (max-width: 720px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] {
padding-top: 96px !important;
}

}

@media (max-width: 520px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    text-align: center;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: 1 / -1;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-nav {
padding-block: 14px;
    border-top: 1px solid rgba(255,255,255,.13);
    text-align: left;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-logo {
max-width: 248px !important;
}

}

@media (max-width: 360px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid {
grid-template-columns: 1fr !important;
}

footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-brand,
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community {
grid-column: auto;
}

}

/* Shared public-footer primitives, scoped here for legacy Admin shells. */
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .shell { box-sizing: border-box; margin-inline: auto; }
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-grid { display: grid; }
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-nav { display: grid; gap: 10px; }
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-meta { display: flex; justify-content: space-between; gap: 18px; }

/* Match public typography/button finish without applying public body classes. */
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-community p { color: rgba(255,255,255,.62) !important; }
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] .cs-v994-footer-community-button {
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
/* Existing role markers only control this footer link. Server authorization is unchanged. */
html.is-signed-in[data-cs-effective-role="admin"] footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] [data-role-link="staff"]:not([hidden]):not([aria-hidden="true"]),
html.is-signed-in[data-cs-effective-role="team"] footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] [data-role-link="staff"]:not([hidden]):not([aria-hidden="true"]) { display: inline-flex !important; }

@media (max-width: 640px) { footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010] { line-height: 1.56; } }

/* Preserve public tablet composition until all four columns fit. */
@media (min-width: 981px) and (max-width: 1023px) {
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-grid { grid-template-columns: minmax(0,1.2fr) 1fr 1fr !important; align-items: start; }
footer.site-footer.cs-v994-footer[data-cs-admin-footer-v104010][data-cs-admin-footer-v104010] .cs-v994-footer-community { grid-column: 1 / -1; width: min(100%, 560px); margin-inline: auto; }
}


