/* Source: /family-portal-family-manager.css */
/* CurioSpark v7.58 — Family Portal learner manager + purchase history */
.fp-manager-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;margin:1rem 0}.fp-manager-card{min-width:0;padding:1.15rem;border:1px solid rgba(95,37,121,.15);border-radius:1.35rem;background:#fff;box-shadow:0 12px 28px rgba(45,24,64,.05)}.fp-manager-card--learners{background:linear-gradient(145deg,#fffdf8,#fdfaff)}.fp-manager-card--purchases{background:linear-gradient(145deg,#fdfaff,#fbf8ff)}.fp-manager-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.fp-manager-head h2{margin:.15rem 0 .42rem;color:#431258;font:750 clamp(1.4rem,2.4vw,2rem)/1.08 Fraunces,Georgia,serif}.fp-manager-head p{margin:.2rem 0;color:#695d74;line-height:1.5}.fp-manager-head .button{flex:0 0 auto}.fp-learner-list{display:grid;gap:.65rem;margin-top:1rem}.fp-learner-card{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.9rem 1rem;border:1px solid rgba(95,37,121,.13);border-radius:1rem;background:rgba(255,255,255,.78)}.fp-learner-card h3{margin:.12rem 0;font:800 1.05rem/1.2 Inter,system-ui,sans-serif;color:#4a1766}.fp-learner-card p{margin:.2rem 0;color:#67576e;font-size:.9rem}.fp-learner-card small{color:#84758d;font-size:.8rem}.fp-family-actions{margin-top:.8rem}.fp-editor-slot{margin-top:1rem}.fp-learner-form{display:grid;gap:.85rem;padding:1rem;border:1px solid rgba(95,37,121,.17);border-radius:1.05rem;background:#fff}.fp-form-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.fp-form-heading h3{margin:.12rem 0;color:#431258;font:750 1.3rem/1.1 Fraunces,Georgia,serif}.fp-form-note{margin:0;color:#65566d;font-size:.9rem}.fp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.fp-form-grid label{display:grid;gap:.35rem;color:#4d1c67;font-size:.87rem;font-weight:800}.fp-form-grid label span{color:#82718b;font-size:.77rem;font-weight:650}.fp-form-grid label.full{grid-column:1 / -1}.fp-form-grid input,.fp-form-grid select,.fp-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid rgba(95,37,121,.23);border-radius:.75rem;padding:.7rem .78rem;background:#fff;color:#321143;font:500 .95rem/1.35 Inter,system-ui,sans-serif}.fp-form-grid textarea{min-height:78px;resize:vertical}.fp-form-grid input:focus,.fp-form-grid select:focus,.fp-form-grid textarea:focus{outline:3px solid rgba(255,202,31,.32);border-color:#e5b81a}.fp-form-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.fp-form-actions [data-fp-learner-save-status]{font-size:.88rem;font-weight:700;color:#6f6078}.fp-form-actions [data-fp-learner-save-status].is-error{color:#9d2740}.fp-quiet-button{border:0;background:transparent;padding:.2rem;color:#572174;font:700 .9rem/1.2 Inter,system-ui,sans-serif;text-decoration:underline;cursor:pointer}.fp-purchase-list{display:grid;gap:.7rem;margin-top:1rem}.fp-purchase-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.95rem 1rem;border:1px solid rgba(95,37,121,.13);border-radius:1rem;background:rgba(255,255,255,.78)}.fp-purchase-card h3{margin:.12rem 0;color:#4a1766;font:800 1rem/1.25 Inter,system-ui,sans-serif}.fp-purchase-card p{margin:.22rem 0;color:#6a5a72;font-size:.87rem}.fp-purchase-meta{display:grid;gap:.48rem;justify-items:end;text-align:right;color:#39104f}.fp-purchase-meta strong{font:750 1.05rem/1 Fraunces,Georgia,serif}.fp-status-pill{display:inline-flex;align-items:center;padding:.28rem .52rem;border-radius:999px;font-size:.76rem;font-weight:850;white-space:nowrap}.fp-status-pill.good{background:#eaf6eb;color:#24713f}.fp-status-pill.warn{background:#fff0ca;color:#8d5b00}.fp-status-pill.neutral{background:#eee9f1;color:#5f5069}.fp-purchase-attention{color:#926019!important;font-weight:750}.fp-payhip-help{margin-top:1rem;border-top:1px solid rgba(95,37,121,.12);padding-top:.85rem;color:#67576e;font-size:.9rem}.fp-payhip-help summary{cursor:pointer;color:#4b1768;font-weight:850}.fp-payhip-help ol{margin:.65rem 0 0;padding-left:1.15rem;display:grid;gap:.42rem;line-height:1.45}.fp-empty-card,.fp-manager-loading,.fp-manager-error{margin-top:1rem;padding:1rem;border:1px dashed rgba(95,37,121,.28);border-radius:1rem;background:#fffcf4;color:#62546a}.fp-empty-card strong,.fp-manager-error strong{color:#45145f}.fp-empty-card p,.fp-manager-error p{margin:.4rem 0 .8rem;line-height:1.45}@media(max-width:900px){.fp-manager-grid{grid-template-columns:1fr}.fp-manager-head{flex-direction:column}.fp-manager-head .button{width:100%;justify-content:center}}@media(max-width:600px){.fp-manager-card{padding:1rem}.fp-learner-card{align-items:flex-start;flex-direction:column}.fp-learner-card .button{width:100%;justify-content:center}.fp-form-grid{grid-template-columns:1fr}.fp-form-grid label.full{grid-column:auto}.fp-purchase-card{grid-template-columns:1fr}.fp-purchase-meta{justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;align-items:center}.fp-form-actions .button{width:100%;justify-content:center}}

/* v7.60.1 — read-only annual payment arrangement card for families */
.fp-payment-plan-card{display:grid;gap:.85rem;background:linear-gradient(145deg,#fffdf5,#faf5ff)}
.fp-payment-plan-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.fp-payment-plan-card h2{margin:.18rem 0 .35rem}.fp-payment-plan-card p{margin:.3rem 0;color:#695d74}
.fp-plan-status{display:inline-flex;align-items:center;justify-content:center;padding:.42rem .65rem;border-radius:999px;font-size:.77rem;font-weight:900;white-space:nowrap}
.fp-plan-status.good{background:#e8f4ea;color:#28714d}.fp-plan-status.warn{background:#fff0c9;color:#875800}.fp-plan-status.bad{background:#fde5e5;color:#9a2331}
.fp-plan-progress{height:.66rem;border-radius:999px;overflow:hidden;background:#eee4f4}.fp-plan-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5f2579,#a667b8)}
.fp-plan-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.fp-plan-facts div{padding:.68rem;border:1px solid rgba(95,37,121,.14);border-radius:.75rem;background:#fff}.fp-plan-facts strong{display:block;color:#401358;font-size:1rem}.fp-plan-facts span{display:block;margin-top:.16rem;color:#796885;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.fp-payment-plan-card .button-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.1rem}.fp-payment-plan-card .button{margin:0}
@media(max-width:600px){.fp-payment-plan-head{align-items:flex-start;flex-direction:column}.fp-plan-facts{grid-template-columns:1fr}.fp-payment-plan-card .button{width:100%;justify-content:center}}


/* v7.60.2 — Family Portal enrollment helper visual repair
   Restores the composed card layout for the guided enrollment steps. */
.fp-enrollment-helper{
  margin:1rem 0 1.15rem;
  padding:clamp(1rem,2.4vw,1.5rem);
  border:1px solid rgba(95,37,121,.16);
  border-radius:1.4rem;
  background:linear-gradient(135deg,#fffdf7 0%,#fff 45%,#f9f2ff 100%);
  box-shadow:0 14px 34px rgba(58,25,74,.07);
}
.fp-enrollment-helper-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.fp-enrollment-helper h2{
  margin:.18rem 0 .45rem;
  color:#431258;
  font:750 clamp(1.75rem,3vw,2.55rem)/1.02 Fraunces,Georgia,serif;
  letter-spacing:-.025em;
}
.fp-enrollment-helper-head > div > p:not(.eyebrow){
  max-width:48rem;
  margin:0;
  color:#695d74;
  line-height:1.55;
}
.fp-progress-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:2rem;
  padding:.38rem .7rem;
  border:1px solid rgba(95,37,121,.16);
  border-radius:999px;
  background:#f3ebf8;
  color:#5f2579;
  font-size:.8rem;
  font-weight:900;
  white-space:nowrap;
}
.fp-progress-badge.is-ready{
  border-color:rgba(42,119,74,.18);
  background:#e9f6ea;
  color:#267044;
}
.fp-enrollment-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
  margin:1.1rem 0 .9rem;
}
.fp-enrollment-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:.7rem;
  min-width:0;
  padding:.9rem;
  border:1px solid rgba(95,37,121,.13);
  border-radius:1rem;
  background:rgba(255,255,255,.8);
}
.fp-enrollment-step.is-complete{
  border-color:rgba(39,111,71,.21);
  background:linear-gradient(145deg,#f4fbf4,#fff);
}
.fp-enrollment-step-number{
  display:grid;
  place-items:center;
  width:1.85rem;
  height:1.85rem;
  flex:0 0 auto;
  border-radius:50%;
  background:#ffcc2e;
  color:#431258;
  font-size:.88rem;
  font-weight:950;
  line-height:1;
}
.fp-enrollment-step.is-complete .fp-enrollment-step-number{
  background:#dff2e2;
  color:#267044;
}
.fp-enrollment-step h3{
  margin:.06rem 0 .3rem;
  color:#44145e;
  font:800 1rem/1.22 Inter,system-ui,sans-serif;
}
.fp-enrollment-step p{
  margin:0;
  color:#695d74;
  font-size:.88rem;
  line-height:1.45;
}
.fp-text-link,.fp-text-button{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  width:max-content;
  max-width:100%;
  margin-top:.58rem;
  padding:0;
  border:0;
  background:transparent;
  color:#592072;
  font:800 .88rem/1.35 Inter,system-ui,sans-serif;
  text-decoration:underline;
  text-underline-offset:.18em;
  cursor:pointer;
}
.fp-text-link:hover,.fp-text-button:hover{color:#3f1056}
.fp-checkout-return{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
  padding:.88rem 1rem;
  border:1px solid rgba(151,99,8,.18);
  border-radius:1rem;
  background:#fff8df;
  color:#69531f;
}
.fp-checkout-return strong{display:block;color:#6d4a00;margin-bottom:.16rem}
.fp-checkout-return p{margin:0;font-size:.9rem;line-height:1.45}
.fp-enrollment-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:.15rem;
}
.fp-enrollment-footer p{
  max-width:52rem;
  margin:0;
  color:#67586f;
  font-size:.92rem;
  line-height:1.5;
}
.fp-enrollment-footer .button{flex:0 0 auto;margin:0}
@media(max-width:980px){
  .fp-enrollment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .fp-enrollment-helper{padding:1rem;border-radius:1.1rem}
  .fp-enrollment-helper-head,.fp-enrollment-footer,.fp-checkout-return{align-items:stretch;flex-direction:column}
  .fp-progress-badge{align-self:flex-start}
  .fp-enrollment-steps{grid-template-columns:1fr}
  .fp-enrollment-step{padding:.85rem}
  .fp-enrollment-footer .button,.fp-checkout-return .button{width:100%;justify-content:center}
}


/* v7.60.5 — Put the safe “Already paid?” recovery link beside progress, not in a duplicate status card. */
.fp-enrollment-helper-tools{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
}
.fp-enrollment-helper-tools .button{margin:0;white-space:nowrap}
.fp-payment-recovery-button{font-size:.8rem}
@media(max-width:640px){
  .fp-enrollment-helper-tools{align-self:stretch;justify-content:flex-start}
  .fp-enrollment-helper-tools .button{width:auto}
}
/* CurioSpark v7.64 — workshop payment plans */
.fp-workshop-plan-card{margin-top:1rem}.fp-workshop-plan-list{display:grid;gap:.75rem}.fp-workshop-plan-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid rgba(95,37,121,.16);border-radius:16px;padding:1rem;background:#fffdfa}.fp-workshop-plan-row h3{margin:.15rem 0 .35rem}.fp-workshop-plan-row p{margin:.1rem 0;color:#66566e}.fp-workshop-plan-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;min-width:12rem}.fp-workshop-plan-actions .button{white-space:nowrap}@media(max-width:640px){.fp-workshop-plan-row{flex-direction:column;align-items:flex-start}.fp-workshop-plan-actions{align-items:flex-start;min-width:0;width:100%}.fp-workshop-plan-actions .button{width:100%}}

/* v7.72.3: show that the sibling reduction has already been applied to the plan. */
.fp-workshop-plan-discount { max-width:42rem; margin:.55rem 0 0; color:#26714d; font-size:.86rem; font-weight:650; line-height:1.45; }
.fp-workshop-plan-discount strong { color:#1d5f3f; }

/* CurioSpark v9.5.1 — email deep-link destination states. */
.fp-email-link-status{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #d9c7e2;border-radius:12px;background:#fbf7fc;color:#4a3154;font-weight:650;line-height:1.45}
.fp-email-link-status.is-good{border-color:#b9d7c6;background:#f3faf6;color:#245f3d}
.fp-email-link-status.is-warn{border-color:#e6c98b;background:#fff9eb;color:#765215}
.fp-email-deep-link-focus{outline:3px solid #d8ad32;outline-offset:4px;scroll-margin-top:8rem}
@media (max-width:430px){.fp-email-link-status{padding:.75rem .85rem}.fp-email-deep-link-focus{scroll-margin-top:6.5rem}}

/* v9.6.2 — Family Portal programs clarity
   Groups current registrations by learner and uses precise, parent-facing status language. */
.fp-manager-card--programs{overflow:hidden}
.fp-program-list{display:grid;gap:1.35rem;margin-top:1.1rem}
.fp-program-learner-group{min-width:0}
.fp-program-learner-group + .fp-program-learner-group{padding-top:.15rem}
.fp-program-learner-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 0 .62rem;border-bottom:1px solid rgba(95,37,121,.18)}
.fp-program-learner-head .eyebrow{margin:0 0 .18rem}
.fp-program-learner-head h3{margin:0;color:#431258;font:750 clamp(1.25rem,2.2vw,1.65rem)/1.08 Fraunces,Georgia,serif;letter-spacing:-.015em;overflow-wrap:anywhere}
.fp-program-learner-head>span{flex:0 0 auto;color:#75667d;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fp-program-rows{display:grid}
.fp-program-status-card{min-width:0;padding:.9rem 0;border-bottom:1px solid rgba(95,37,121,.11);background:transparent;box-shadow:none}
.fp-program-status-card:last-child{border-bottom:0;padding-bottom:.1rem}
.fp-program-status-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}
.fp-program-status-title h4{min-width:0;margin:0;color:#45145f;font:800 1rem/1.3 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
.fp-program-status-title .fp-status-pill{flex:0 0 auto;max-width:min(15rem,52%);justify-content:center;white-space:normal;text-align:center;line-height:1.2}
.fp-program-status-detail{max-width:58ch;margin:.38rem 0 0;color:#66556f;font-size:.9rem;line-height:1.48}
.fp-program-status-meta{margin:.48rem 0 0;color:#817389;font-size:.76rem;line-height:1.35}
.fp-program-status-meta span{font-weight:800;color:#675770}
.fp-manager-card--programs .fp-empty-card{margin-bottom:0}
@media(max-width:600px){
  .fp-program-list{gap:1.15rem}
  .fp-program-learner-head{align-items:flex-start}
  .fp-program-status-card{padding:.82rem 0}
  .fp-program-status-title{display:grid;gap:.48rem}
  .fp-program-status-title .fp-status-pill{justify-self:start;max-width:100%}
  .fp-program-status-detail{font-size:.88rem}
}


/* v9.6.3.1 — Family Portal cumulative status delivery compatibility refresh */

/* v9.6.4 — Family Portal priority, enrollment prominence, and payment-plan clarity. */
.fp-programs-primary{margin:1rem 0 1.15rem;border-color:rgba(95,37,121,.24);border-left:5px solid #5f2579;background:linear-gradient(135deg,#fff 0%,#fffdf8 52%,#fbf5ff 100%);box-shadow:0 16px 36px rgba(65,25,80,.07);scroll-margin-top:7rem}
.fp-programs-primary>.fp-manager-head{align-items:center}
.fp-programs-primary>.fp-manager-head h2{font-size:clamp(1.75rem,3.2vw,2.55rem)}
.fp-program-overview{display:flex;flex-wrap:wrap;gap:.55rem;margin:.95rem 0 .25rem}
.fp-program-overview>span{display:inline-flex;align-items:baseline;gap:.3rem;min-height:2.25rem;padding:.46rem .72rem;border:1px solid rgba(95,37,121,.14);border-radius:999px;background:#f7f0fa;color:#5f5069;font-size:.8rem;font-weight:750}
.fp-program-overview strong{color:#431258;font-size:1rem}
.fp-program-overview .is-review{border-color:rgba(160,105,4,.2);background:#fff7dc;color:#765215}
.fp-priority-payments{margin:1rem 0 1.15rem;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid rgba(172,111,0,.24);border-left:5px solid #e5a600;border-radius:1.25rem;background:linear-gradient(135deg,#fffaf0,#fff 62%,#fbf5ff);box-shadow:0 12px 30px rgba(82,53,0,.06)}
.fp-priority-payments.is-upcoming{border-color:rgba(95,37,121,.2);border-left-color:#8a56a0;background:linear-gradient(135deg,#fcf8ff,#fff)}
.fp-priority-payments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.fp-priority-payments-head h2{margin:.15rem 0 .4rem;color:#431258;font:750 clamp(1.55rem,2.7vw,2.2rem)/1.05 Fraunces,Georgia,serif}
.fp-priority-payments-head p{max-width:50rem;margin:0;color:#695d74;line-height:1.5}
.fp-priority-payment-list{display:grid;gap:.7rem;margin-top:1rem}
.fp-priority-payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid rgba(95,37,121,.14);border-radius:1rem;background:#fff}
.fp-priority-payment-row h3{margin:.12rem 0 .28rem;color:#45145f;font:800 1.05rem/1.25 Inter,system-ui,sans-serif}
.fp-priority-payment-row p{margin:.15rem 0;color:#6b5a72;font-size:.88rem;line-height:1.4}
.fp-priority-payment-action{display:grid;justify-items:end;gap:.48rem;min-width:13rem;text-align:right}
.fp-priority-payment-action>strong{color:#431258;font:750 1.45rem/1 Fraunces,Georgia,serif;font-variant-numeric:tabular-nums}
.fp-priority-payment-action .button{margin:0;min-height:44px}
.fp-workshop-plan-card--primary{margin:1rem 0 1.15rem;scroll-margin-top:7rem}
.fp-workshop-plan-card--primary>.fp-manager-head{margin-bottom:.9rem}
.fp-workshop-plan-row{align-items:stretch}
.fp-workshop-plan-row.is-payable{border-color:rgba(157,102,0,.28);background:linear-gradient(135deg,#fffaf0,#fff)}
.fp-workshop-plan-copy{min-width:0;flex:1}
.fp-plan-next-payment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .75rem;align-items:baseline;margin:.65rem 0 .45rem;padding:.72rem .8rem;border-left:4px solid #5f2579;background:#f8f2fb}
.fp-plan-next-payment>span{grid-column:1;color:#6b5873;font-size:.76rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.fp-plan-next-payment>strong{grid-column:1;color:#431258;font:750 clamp(1.35rem,2.4vw,1.8rem)/1 Fraunces,Georgia,serif;font-variant-numeric:tabular-nums}
.fp-plan-next-payment>small{grid-column:2;grid-row:1 / span 2;align-self:center;color:#5f5068;font-size:.88rem;font-weight:750;line-height:1.35}
.fp-plan-remaining{margin:.35rem 0 0!important;color:#71617a!important;font-size:.82rem!important;line-height:1.45!important}
.fp-plan-remaining strong{color:#52345d}
.fp-plan-availability{max-width:15rem;margin:.05rem 0 0!important;color:#75667d!important;font-size:.78rem!important;line-height:1.4!important;text-align:right}
.fp-workshop-plan-actions .button{min-height:44px}
.fp-enrollment-complete{margin:1.2rem 0 0;border-top:1px solid rgba(95,37,121,.16);border-bottom:1px solid rgba(95,37,121,.16);background:rgba(255,255,255,.58)}
.fp-enrollment-complete>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.9rem .15rem;cursor:pointer;list-style:none;color:#431258}
.fp-enrollment-complete>summary::-webkit-details-marker{display:none}
.fp-enrollment-complete-check{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e5f5e8;color:#267044;font-weight:950}
.fp-enrollment-complete-copy{display:grid;gap:.15rem;min-width:0}
.fp-enrollment-complete-copy strong{font:800 1rem/1.2 Inter,system-ui,sans-serif}
.fp-enrollment-complete-copy small{color:#75667d;font-size:.8rem;line-height:1.35}
.fp-enrollment-complete-action{color:#5f2579;font-size:.82rem;font-weight:850;text-decoration:underline;text-underline-offset:.18em}
.fp-enrollment-complete-body{padding:0 2.95rem 1rem;color:#695d74}
.fp-enrollment-complete-body p{margin:0 0 .65rem;line-height:1.5}
.fp-enrollment-complete-body .button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}
.fp-enrollment-complete-body .button,.fp-enrollment-complete-body .fp-text-link{margin:0}
@media(max-width:700px){
  .fp-priority-payments-head{flex-direction:column}
  .fp-priority-payments-head .button{width:100%;justify-content:center}
  .fp-priority-payment-row{grid-template-columns:1fr}
  .fp-priority-payment-action{justify-items:start;min-width:0;width:100%;text-align:left}
  .fp-priority-payment-action .button{width:100%;justify-content:center}
  .fp-workshop-plan-row{gap:.8rem}
  .fp-plan-next-payment{grid-template-columns:1fr}
  .fp-plan-next-payment>span,.fp-plan-next-payment>strong,.fp-plan-next-payment>small{grid-column:1;grid-row:auto}
  .fp-plan-availability{text-align:left;max-width:none}
}
@media(max-width:520px){
  .fp-programs-primary{border-left-width:4px;padding:1rem}
  .fp-program-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fp-program-overview>span{justify-content:center;border-radius:.85rem;text-align:center}
  .fp-program-overview>span:last-child:nth-child(odd){grid-column:1 / -1}
  .fp-enrollment-complete>summary{grid-template-columns:auto minmax(0,1fr)}
  .fp-enrollment-complete-action{grid-column:2}
  .fp-enrollment-complete-body{padding:0 0 1rem}
  .fp-enrollment-complete-body .button{width:100%;justify-content:center}
}



/* v9.6.5 — Family Portal registration details and class schedule clarity. */
.fp-programs-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;flex:0 0 auto}
.fp-programs-head-actions .button{margin:0}
.fp-program-schedule{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.5rem;margin:.72rem 0 .15rem}
.fp-program-schedule>div{min-width:0;padding:.62rem .7rem;border:1px solid rgba(95,37,121,.12);border-radius:.8rem;background:linear-gradient(145deg,#fbf7fd,#fff);box-shadow:none}
.fp-program-schedule>div.is-pending{border-style:dashed;background:#fffdf8}
.fp-program-schedule dt{margin:0 0 .18rem;color:#796781;font-size:.68rem;font-weight:900;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}
.fp-program-schedule dd{margin:0;color:#421257;font-size:.86rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.fp-program-schedule>div.is-pending dd{color:#826d45;font-weight:750}
.fp-program-status-detail{margin-top:.62rem}
@media(max-width:900px){
  .fp-programs-primary>.fp-manager-head{align-items:stretch}
  .fp-programs-head-actions{width:100%;justify-content:stretch}
  .fp-programs-head-actions .button{flex:1 1 12rem;width:auto;justify-content:center}
}
@media(max-width:520px){
  .fp-programs-head-actions{display:grid;grid-template-columns:1fr}
  .fp-programs-head-actions .button{width:100%}
  .fp-program-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .fp-program-schedule>div{padding:.58rem .62rem}
  .fp-program-schedule dd{font-size:.82rem}
  .fp-program-schedule>div:nth-child(n+3){grid-column:1 / -1}
}


/* ========================================================================== 
   CurioSpark v9.6.6 — Family Portal home-base hierarchy and family-first flow.
   ========================================================================== */
.fp-dashboard-layout-v966{display:grid;gap:clamp(1rem,2vw,1.55rem)}
.fp-priority-mount-v966:empty{display:none}
.fp-priority-mount-v966>.fp-email-link-status[hidden]:only-child{display:none}
.fp-dashboard-section-v966,.fp-adventure-strip-v966,.fp-help-strip-v966,.fp-community-links-v966,.fp-family-information-v966,.fp-registration-payments-v966{min-width:0;padding:clamp(1rem,2.2vw,1.4rem);border:1px solid rgba(95,37,121,.14);border-radius:1.35rem;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(65,25,80,.055)}
.fp-dashboard-section-head-v966{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.fp-dashboard-section-head-v966 h2,.fp-adventure-strip-v966 h2,.fp-help-strip-v966 h2,.fp-registration-payments-v966> .fp-dashboard-section-head-v966 h2{margin:.15rem 0 .4rem;color:#431258;font:750 clamp(1.55rem,2.8vw,2.25rem)/1.06 Fraunces,Georgia,serif;letter-spacing:-.018em}
.fp-dashboard-section-head-v966 p,.fp-adventure-strip-v966 p,.fp-help-strip-v966 p{max-width:62ch;margin:.2rem 0;color:#695d74;line-height:1.5}
.fp-dashboard-loading-v966,.fp-dashboard-empty-v966{padding:1rem;border:1px dashed rgba(95,37,121,.2);border-radius:1rem;background:#fffdf8;color:#695d74}
.fp-dashboard-empty-v966 strong{display:block;color:#45145f}
.fp-dashboard-empty-v966 p{margin:.35rem 0 .6rem;line-height:1.45}
.fp-upcoming-grid-v966{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.fp-upcoming-card-v966{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;min-width:0;padding:.95rem 1rem;border:1px solid rgba(95,37,121,.14);border-left:4px solid #ffc928;border-radius:1rem;background:linear-gradient(145deg,#fff,#fdf8ff)}
.fp-upcoming-card-v966 h3{margin:.15rem 0 .35rem;color:#431258;font:800 1.05rem/1.25 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
.fp-upcoming-meta-v966{margin:0;color:#67576f;font-size:.88rem;line-height:1.45}
.fp-upcoming-actions-v966{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}
.fp-upcoming-actions-v966 .button{margin:0;min-height:42px}
.fp-adventure-strip-v966,.fp-help-strip-v966{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;background:linear-gradient(135deg,#fff8dc,#fff 48%,#f9f1ff)}
.fp-adventure-actions-v966{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.fp-adventure-actions-v966 .button,.fp-help-strip-v966 .button{margin:0}
.fp-calendar-toolbar-v966{align-items:center}
.fp-calendar-controls-v966{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex:0 0 auto}
.fp-calendar-controls-v966 strong{min-width:9rem;text-align:center;color:#431258;font-size:.95rem}
.fp-calendar-controls-v966 .button{min-width:2.75rem;margin:0;padding-inline:.75rem}
.fp-calendar-month-v966{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(14rem,.65fr);gap:1rem;margin-top:1rem}
.fp-calendar-grid-v966{min-width:0;padding:.85rem;border:1px solid rgba(95,37,121,.13);border-radius:1rem;background:#fdfaff}
.fp-calendar-weekdays-v966,.fp-calendar-days-v966{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}
.fp-calendar-weekdays-v966 span{padding:.2rem 0;text-align:center;color:#75657e;font-size:.67rem;font-weight:850}
.fp-calendar-day-v966{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:2.55rem;padding:.38rem;border-radius:.65rem;color:#58465f;font-size:.78rem}
.fp-calendar-day-v966.is-empty{visibility:hidden}
.fp-calendar-day-v966.is-today{outline:2px solid #ffc928;outline-offset:-2px}
.fp-calendar-day-v966.has-event{background:#eee0f7;color:#4b1765;font-weight:850}
.fp-calendar-day-v966 i{display:grid;place-items:center;width:1.05rem;height:1.05rem;border-radius:50%;background:#5f2579;color:#fff;font-size:.6rem;font-style:normal}
.fp-calendar-events-v966{display:grid;align-content:start;gap:.42rem}
.fp-calendar-events-v966>a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.08rem .55rem;padding:.58rem .65rem;border-left:3px solid #ffc928;background:#fff;color:#4c1965;text-decoration:none}
.fp-calendar-events-v966>a strong{grid-row:1 / span 2;font-size:.78rem}
.fp-calendar-events-v966>a span{font-size:.84rem;font-weight:800;overflow-wrap:anywhere}
.fp-calendar-events-v966>a small{color:#77677f;font-size:.73rem}
.fp-calendar-events-v966>p{margin:0;color:#695d74;line-height:1.45}
.fp-calendar-full-link-v966{margin-top:.75rem}
.fp-program-chat-list-v966{display:grid;gap:.65rem;margin-top:1rem}
.fp-program-chat-row-v966{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.82rem 0;border-top:1px solid rgba(95,37,121,.13)}
.fp-program-chat-row-v966:first-child{border-top:0}
.fp-program-chat-row-v966 h3{margin:.1rem 0 .25rem;color:#431258;font:800 1rem/1.25 Inter,system-ui,sans-serif}
.fp-program-chat-row-v966 p:not(.eyebrow){margin:0;color:#6a5b72;font-size:.86rem}
.fp-family-information-v966{background:linear-gradient(145deg,#fffdf8,#fdfaff)}
.fp-family-information-v966 .fp-learner-list{margin-top:1rem}
.fp-registration-payments-v966{display:grid;gap:1rem;background:linear-gradient(145deg,#fff,#fffdf8)}
.fp-registration-payments-v966>.fp-dashboard-section-head-v966{padding-bottom:.15rem}
.fp-registration-grid-v966{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.fp-registration-grid-v966>.fp-manager-card,.fp-registration-grid-v966>.fp-payment-plan-card,.fp-registration-grid-v966>.fp-workshop-plan-card{margin:0;min-width:0}
.fp-community-link-grid-v966{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.fp-community-link-grid-v966 article{padding:1rem;border:1px solid rgba(95,37,121,.13);border-radius:1rem;background:#fff}
.fp-community-link-grid-v966 h3{margin:.1rem 0 .35rem;color:#431258;font:800 1rem/1.25 Inter,system-ui,sans-serif}
.fp-community-link-grid-v966 p{margin:.25rem 0 .75rem;color:#695d74;font-size:.88rem;line-height:1.45}
.fp-community-link-grid-v966 .button{margin:0}
.fp-manager-card--programs.fp-programs-primary{margin:0}
.fp-family-information-v966.fp-manager-card{margin:0}
.fp-registration-payments-v966 .fp-workshop-plan-card--primary{margin:0}
.fp-registration-payments-v966 .fp-enrollment-complete{margin-top:.2rem}
.fp-registration-payments-v966 .fp-staff-family-summary{margin:0}
.fp-registration-payments-v966 .fp-manager-card--purchases{grid-column:1 / -1}

@media(max-width:900px){
  .fp-upcoming-grid-v966,.fp-registration-grid-v966{grid-template-columns:1fr}
  .fp-calendar-month-v966{grid-template-columns:1fr}
  .fp-dashboard-section-head-v966,.fp-calendar-toolbar-v966{align-items:flex-start;flex-direction:column}
  .fp-calendar-controls-v966{width:100%;justify-content:space-between}
  .fp-registration-payments-v966 .fp-manager-card--purchases{grid-column:auto}
}
@media(max-width:650px){
  .fp-dashboard-layout-v966{gap:.9rem}
  .fp-dashboard-section-v966,.fp-adventure-strip-v966,.fp-help-strip-v966,.fp-community-links-v966,.fp-family-information-v966,.fp-registration-payments-v966{padding:1rem;border-radius:1.05rem}
  .fp-upcoming-card-v966,.fp-program-chat-row-v966,.fp-adventure-strip-v966,.fp-help-strip-v966{grid-template-columns:1fr}
  .fp-upcoming-actions-v966,.fp-adventure-actions-v966{justify-content:stretch}
  .fp-upcoming-actions-v966 .button,.fp-adventure-actions-v966 .button,.fp-help-strip-v966 .button,.fp-program-chat-row-v966 .button{width:100%;justify-content:center}
  .fp-calendar-weekdays-v966 span{font-size:.58rem}
  .fp-calendar-day-v966{min-height:2.2rem;padding:.25rem;font-size:.72rem}
  .fp-calendar-day-v966 i{width:.9rem;height:.9rem;font-size:.54rem}
  .fp-community-link-grid-v966{grid-template-columns:1fr}
}


/* Source: /family-portal-payment-guidance-v790.css */
/* CurioSpark v7.90 — Family Portal keeps payment matching in help, not the normal path. */
.fp-enrollment-help{min-width:0;border:1px solid rgba(95,37,121,.18);border-radius:999px;background:#fff;overflow:hidden;color:#56206f}
.fp-enrollment-help>summary{cursor:pointer;list-style:none;padding:.62rem .88rem;font:800 .87rem/1.2 Inter,system-ui,sans-serif;white-space:nowrap}
.fp-enrollment-help>summary::-webkit-details-marker{display:none}
.fp-enrollment-help>summary::after{content:'?';display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;margin-left:.42rem;border-radius:50%;background:#f0e4f6;color:#5e2577;font-size:.74rem}
.fp-enrollment-help[open]{width:min(100%,31rem);border-radius:1rem}
.fp-enrollment-help[open]>summary{border-bottom:1px solid rgba(95,37,121,.12);background:#fbf7ff}
.fp-enrollment-help-body{padding:.85rem .95rem;color:#695d74;font-size:.88rem;line-height:1.5}
.fp-enrollment-help-body p{margin:0 0 .7rem}
.fp-enrollment-help-alert{padding:.72rem .78rem;border:1px solid rgba(170,111,10,.24);border-radius:.78rem;background:#fff7dc;color:#754f0a}
.fp-enrollment-help-alert strong{color:#6b4600}
.fp-enrollment-help-alert a{font-weight:850;color:#58206f}
@media(max-width:640px){.fp-enrollment-footer .button-row{width:100%;display:flex;flex-direction:column;align-items:stretch}.fp-enrollment-help{width:100%;border-radius:1rem}.fp-enrollment-help>summary{white-space:normal}.fp-enrollment-help[open]{width:100%}}


/* Source: /family-portal-waitlist-offers-v854.css */
/* CurioSpark v8.54 — Family Portal waitlist seat-offer cards. */
.fp-staff-family-summary{margin-bottom:1rem;border-color:#b9dfc7!important;background:#f2fbf5!important}
.fp-staff-family-summary h2{margin:.25rem 0 .5rem}
.fp-staff-family-summary p{margin:0}
.fp-waitlist-offers-card{border-color:rgba(95,37,121,.22);background:linear-gradient(145deg,#fffdf8,#fbf6ff)}
.fp-waitlist-offer-list{display:grid;gap:.85rem;margin-top:1rem}
.fp-waitlist-offer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,.42fr);gap:1rem;align-items:start;padding:1rem;border:1px solid rgba(95,37,121,.14);border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(65,25,80,.05)}
.fp-waitlist-offer-copy{min-width:0}
.fp-waitlist-offer-copy h3{margin:.2rem 0 .4rem;color:#4d146a}
.fp-waitlist-offer-copy>p:not(.eyebrow){margin:.35rem 0;color:#695d74;line-height:1.5}
.fp-waitlist-deadline{padding:.55rem .7rem;border-radius:12px;background:#fff5cf;color:#5f4300!important}
.fp-waitlist-offer-actions{display:grid;gap:.6rem;justify-items:stretch;align-items:start}
.fp-waitlist-offer-actions .fp-status-pill{justify-self:start}
.fp-waitlist-amount{font-size:1.12rem;color:#4d146a}
.fp-waitlist-offer-actions .button{width:100%;min-width:0;white-space:normal;text-align:center;justify-content:center}
.fp-waitlist-offer-message{min-height:1.35rem;margin:.55rem 0 0!important;font-size:.88rem;font-weight:750;color:#65546e!important}
.fp-waitlist-offer-message.is-good{color:#237247!important}
.fp-waitlist-offer-message.is-error{color:#9a2c3e!important}
@media(max-width:760px){
  .fp-waitlist-offer-row{grid-template-columns:minmax(0,1fr)}
  .fp-waitlist-offer-actions{justify-items:stretch}
  .fp-waitlist-offer-actions .fp-status-pill{justify-self:start}
}


/* 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-experience-refresh-v8350.css */
/* CurioSpark v8.35.0 — Visual Composition Refresh
   Scoped to public experience pages and Family Portal only.
   Preserves the established purple/gold palette and existing functional controllers. */

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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


/* Source: /curiospark-family-portal-clarity-v8362.css */
/* CurioSpark v8.36.2 — Family Portal Welcome Copy + Purple Frame
   Scope: Family Portal presentation and approved parent-facing copy only.
   No scripts, auth, APIs, registration, payment, calendar, or role behavior are changed. */

/* Match the collage frame precisely to the primary Family Details button color. */
body.visual-composition-refresh .fp-dashboard-welcome.fp-welcome-v8362 figure {
  border: 3px solid var(--purple) !important; /* #5F2579 */
  background: var(--purple) !important;
  box-shadow: 0 14px 32px rgba(95, 37, 121, .24);
}

body.visual-composition-refresh .fp-dashboard-welcome.fp-welcome-v8362 figcaption {
  background: var(--purple) !important; /* #5F2579 */
  color: #fff;
  font-weight: 800;
  letter-spacing: .01em;
}

/* Keep the approved welcome copy warm, readable, and compact. */
body.visual-composition-refresh .fp-welcome-v8362 .fp-community-copy {
  max-width: 62ch;
}

body.visual-composition-refresh .fp-welcome-v8362 .fp-community-copy h2 {
  max-width: 12ch;
  margin-bottom: .7rem;
}

body.visual-composition-refresh .fp-welcome-v8362 .fp-community-copy p:not(.eyebrow) {
  max-width: 60ch;
  margin: 0 0 .72rem;
}

body.visual-composition-refresh .fp-welcome-v8362 .fp-dashboard-actions {
  margin-top: 1.15rem;
}

body.visual-composition-refresh .fp-connect-card .fp-groupme-note {
  color: var(--purple);
  font-weight: 700;
}

@media (max-width: 900px) {
  body.visual-composition-refresh .fp-welcome-v8362 .fp-community-copy h2 {
    max-width: none;
  }

  body.visual-composition-refresh .fp-dashboard-welcome.fp-welcome-v8362 figure {
    border-width: 2px !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-premium-refinement-v923.css */
/* CurioSpark v9.2.3 - Production Readiness Refinement
   Presentation-only corrections for Admin spacing, Calendar detail consistency,
   Home brand-color discipline, and Family Portal card balance.
   No routes, data, payments, registration, authentication, or business logic change. */

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card h3 {
  font-size: clamp(24px, 2.3vw, 34px);
  letter-spacing: -.025em;
}

body.cs-admin-v991.cs-admin-home-v990 .calm-admin-actions .button:not(.primary),
body.cs-admin-v991.cs-admin-home-v990 .calm-admin-actions .button.primary {
  min-height: 42px;
}

body.cs-admin-family-v991 .admin-topbar,
body.cs-admin-family-v991 .v792-family-tabs {
  border-color: var(--cs-private-line);
  border-radius: 14px;
  box-shadow: none;
}

body.cs-admin-family-v991 .admin-grid > .admin-card,
body.cs-admin-family-v991 .v760-family360 {
  border: 1px solid var(--cs-private-line);
  border-radius: 16px;
  box-shadow: none;
}

body.cs-admin-family-v991 .v712-family-table th {
  background: #f3ece2;
}

body.cs-admin-family-v991 .v712-actions {
  align-items: stretch;
}

/* Safe family-removal confirmation. Uses the existing Admin-only archive API. */
.v991-remove-family-modal[hidden] {
  display: none !important;
}

.v991-remove-family-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(29, 8, 35, .58);
  backdrop-filter: blur(5px);
}

.v991-remove-family-panel {
  width: min(100%, 590px);
  max-height: min(90vh, 720px);
  overflow: auto;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(141, 36, 55, .24);
  border-radius: 18px;
  background: var(--cs-private-paper);
  box-shadow: 0 30px 86px rgba(25, 5, 31, .32);
}

.v991-remove-family-panel h2 {
  margin: 6px 42px 10px 0;
  color: var(--cs-private-purple-deep);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.04;
}

.v991-remove-family-panel > p {
  color: var(--cs-private-muted);
  line-height: 1.6;
}

.v991-remove-family-summary {
  margin: 20px 0;
  padding: 16px 18px;
  border-left: 4px solid #c63b52;
  background: #fff4f5;
}

.v991-remove-family-summary strong {
  display: block;
  color: #751b2c;
}

.v991-remove-family-summary ul {
  margin: 10px 0 0;
  padding-left: 20px;
  color: #674d54;
  line-height: 1.55;
}

.v991-remove-family-confirm {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 18px 0;
  color: var(--cs-private-ink);
  font-weight: 750;
  line-height: 1.45;
}

.v991-remove-family-confirm input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  accent-color: #8d2437;
}

.v991-remove-family-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid var(--cs-private-line);
}

.v991-remove-family-actions .v991-confirm-remove {
  border-color: #8d2437;
  background: #8d2437;
  color: #fff;
}

.v991-remove-family-actions .v991-confirm-remove:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.v991-remove-family-status {
  flex-basis: 100%;
  margin: 2px 0 0;
  color: var(--cs-private-muted);
  font-size: 14px;
  font-weight: 750;
}

.v991-remove-family-status.error {
  color: #9b263a;
}

@media (max-width: 820px) {
  body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card {
    grid-column: 1 / -1;
    padding: 22px 0;
    border-left: 0 !important;
  }

  body.cs-admin-v991.cs-admin-home-v990 .calm-admin-card:nth-child(even) {
    padding-left: 0;
  }
}

@media (max-width: 650px) {
  body.cs-family-v991 .fp-home-base-hero .shell::after {
    width: 64px;
  }

  body.cs-family-v991 .fp-v991-quick-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cs-family-v991 .fp-v991-quick-nav a {
    justify-content: center;
    min-height: 46px;
    padding-inline: 10px;
    border-bottom-width: 2px;
    font-size: 11px;
  }

  body.cs-family-v991 :where(
    .fp-dashboard-section-v966,
    .fp-family-information-v966,
    .fp-registration-payments-v966,
    .fp-community-links-v966,
    .fp-manager-card--programs.fp-programs-primary
  ) {
    padding-block: 26px;
  }

  body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966) {
    margin-block: 22px;
    padding: 20px;
  }

  body.cs-family-v991 .fp-community-link-grid-v966 {
    grid-template-columns: 1fr;
  }

  .v991-remove-family-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v991-remove-family-actions .button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-hero {
    padding-block: 36px 40px !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment {
    margin-top: 24px;
    padding-block: 22px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .cs-calendar-moment-media {
    min-height: 190px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-section {
    margin-block: 24px 34px !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls {
    gap: 10px;
    margin-bottom: 12px;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-live-controls .v839-calendar-filter-panel {
    padding: 16px !important;
  }

  /* v9.9.2: keep the month grid readable without forcing a sideways phone scroll. */
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-grid-wrap {
    overflow-x: hidden !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 :where(.calendar-weekdays, .calendar-grid) {
    min-width: 0 !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-grid-day {
    min-height: 5.35rem !important;
    padding: .3rem !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip {
    min-width: 0;
    padding: .22rem !important;
    border-left-width: 2px !important;
    font-size: .58rem !important;
    line-height: 1.12 !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip .v845-calendar-chip-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip small {
    display: none;
  }

  body.cs-family-v991 .fp-home-base-hero,
  body.cs-admin-v991 .page-hero,
  body.cs-admin-family-v991 .page-hero {
    scroll-margin-top: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-family-v991 *,
  body.cs-admin-v991 *,
  body.cs-admin-family-v991 * {
    scroll-behavior: auto !important;
  }
}


/* Family Management: make the single destructive action clear without turning
   this operational page into a red-alert dashboard. */
body.cs-admin-family-v991 {
  background:
    radial-gradient(circle at 90% 0, rgba(95, 37, 121, .07), transparent 26rem),
    linear-gradient(180deg, #fffdf8, #faf6ef 44rem, #fffdf8);
  color: var(--cs-private-ink);
}

body.cs-admin-family-v991 .page-hero {
  padding: clamp(38px, 5vw, 62px) 0 clamp(28px, 4vw, 44px) !important;
  border-bottom: 1px solid var(--cs-private-line);
  background: var(--cs-private-cream);
}

body.cs-admin-family-v991 .page-hero h1 {
  color: var(--cs-private-purple-deep);
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1;
  letter-spacing: -.04em;
}

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

body.cs-admin-family-v991 .v991-remove-family {
  color: #8d2437;
  border-color: rgba(141, 36, 55, .28);
  background: #fff7f8;
}

body.cs-admin-family-v991 .v991-remove-family:hover,
body.cs-admin-family-v991 .v991-remove-family:focus-visible {
  border-color: #8d2437;
  background: #fff0f2;
}

@media (max-width: 760px) {
  body.cs-admin-family-v991 .admin-topbar,
  body.cs-admin-family-v991 .v792-family-tabs,
  body.cs-admin-family-v991 .admin-card {
    border-radius: 12px;
  }

  body.cs-admin-family-v991 .v712-actions {
    align-items: stretch;
  }

  body.cs-admin-family-v991 .v712-actions .tiny-button {
    min-height: 40px;
  }
}

@media (max-width: 520px) {
  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip {
    display: grid !important;
    place-items: center;
    width: 100% !important;
    min-height: 1.45rem !important;
    padding: 0 !important;
    border: 1px solid rgba(95, 37, 121, .14) !important;
    border-left: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 244, 201, .76) !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip::before {
    content: '';
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: var(--cs-v990-purple);
    box-shadow: 0 0 0 3px rgba(244, 181, 22, .3);
  }

  body.cs-public-v990.cs-v991-refined.cs-calendar-v990 .calendar-event-chip :where(.v845-calendar-chip-title, small) {
    display: none !important;
  }
}


/* CurioSpark v9.9.3 — Family Portal clarity and history disclosure */
body.cs-family-v991 {
  overflow-x: clip;
}
body.cs-family-v991 :where(.fp-page, .fp-dashboard-layout-v966, .fp-dashboard-mount-v966, .fp-manager-card, .fp-dashboard-section-v966) {
  min-width: 0;
  max-width: 100%;
}

/* Keep primary action labels visible despite older gold/purple hover cascades. */
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993):is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--cs-private-purple) !important;
  border-color: var(--cs-private-purple) !important;
}
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993):is(:hover, :focus-visible, :active) * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
body.cs-family-v991 .fp-groupme-primary-v993 {
  min-width: 176px;
  justify-content: center;
}

/* Family information reads as one concise record rather than a card inside a card. */
body.cs-family-v991 .fp-family-information-v966 {
  padding-block: clamp(26px, 3.2vw, 38px);
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--cs-private-line);
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head h2 {
  max-width: 22ch;
  font-size: clamp(27px, 3vw, 38px);
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-list {
  margin-top: 0;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card .button {
  align-self: center;
}
body.cs-family-v991 .fp-family-information-v966 .fp-family-actions {
  margin-top: 12px;
}
body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:empty {
  display: none;
  margin: 0;
}

/* Upcoming obligations remain open; paid/completed evidence is intentionally collapsed. */
body.cs-family-v991 .fp-history-disclosure-v993 {
  margin-top: 14px;
  border-top: 1px solid var(--cs-private-line);
}
body.cs-family-v991 .fp-history-disclosure-v993 > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 10px 2px;
  color: var(--cs-private-purple-deep);
  font-size: .86rem;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
body.cs-family-v991 .fp-history-disclosure-v993 > summary::-webkit-details-marker {
  display: none;
}
body.cs-family-v991 .fp-history-disclosure-v993 > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 1px solid var(--cs-private-line-strong);
  border-radius: 999px;
  color: var(--cs-private-purple);
  background: #fff;
}
body.cs-family-v991 .fp-history-disclosure-v993[open] > summary::after {
  content: "−";
}
body.cs-family-v991 .fp-history-list-v993 {
  display: grid;
  gap: 0;
  padding-bottom: 8px;
}
body.cs-family-v991 .fp-history-row-v993 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 12px 2px;
  border-top: 1px solid var(--cs-private-line);
  color: var(--cs-private-muted);
}
body.cs-family-v991 .fp-history-row-v993 strong {
  color: var(--cs-private-purple-deep);
}
body.cs-family-v991 .fp-history-row-v993 small {
  display: block;
  margin-top: 3px;
}
body.cs-family-v991 .fp-completed-plans-v993 {
  margin-top: 18px;
  padding: 0 18px;
  border: 1px solid var(--cs-private-line);
  border-radius: 14px;
  background: rgba(255,255,255,.58);
}
body.cs-family-v991 .fp-workshop-plan-card--primary > .fp-manager-head {
  margin-bottom: 2px;
}
body.cs-family-v991 .fp-workshop-plan-row {
  overflow: hidden;
}
body.cs-family-v991 .fp-workshop-plan-actions {
  max-width: 18rem;
}
body.cs-family-v991 .fp-workshop-plan-actions .button {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

@media (max-width: 700px) {
  body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head,
  body.cs-family-v991 .fp-family-information-v966 .fp-learner-card,
  body.cs-family-v991 .fp-history-row-v993 {
    grid-template-columns: 1fr;
  }
  body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head .button,
  body.cs-family-v991 .fp-family-information-v966 .fp-learner-card .button,
  body.cs-family-v991 .fp-groupme-primary-v993 {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }
  body.cs-family-v991 .fp-workshop-plan-actions {
    width: 100%;
    max-width: none;
  }
  body.cs-family-v991 :where(.button, .fp-text-link) {
    max-width: 100%;
    white-space: normal;
  }
}

/* ========================================================================== 
   CurioSpark v9.9.4 — Family Portal hierarchy + deterministic private buttons
   ========================================================================== */
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.cs-family-v991 :where(a.button.primary, button.button.primary, .fp-groupme-primary-v993):is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #5f2579 !important;
  border-color: #5f2579 !important;
}
body.cs-family-v991 :where(a.button.secondary, button.button.secondary, a.button.ghost, button.button.ghost) {
  color: #401052 !important;
  -webkit-text-fill-color: #401052 !important;
  background: rgba(255,253,248,.98) !important;
  border-color: rgba(64,16,82,.24) !important;
}
body.cs-family-v991 :where(a.button.secondary, button.button.secondary, a.button.ghost, button.button.ghost):is(:hover, :focus-visible, :active) {
  color: #401052 !important;
  -webkit-text-fill-color: #401052 !important;
  background: #f2e7f6 !important;
  border-color: #7a3d8f !important;
}
body.cs-family-v991 :where(.button.primary, .button.secondary, .button.ghost, .fp-groupme-primary-v993) * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
body.cs-family-v991 .fp-home-base-hero h1 { max-width: 760px; }
body.cs-family-v991 .fp-home-base-hero p:last-child { max-width: 56ch; }
body.cs-family-v991 .fp-v991-quick-nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
body.cs-family-v991 .fp-dashboard-layout-v966 > :where(section, [data-fp-family-manager]) + :where(section, [data-fp-family-manager]) {
  margin-top: clamp(38px, 5vw, 66px);
}
body.cs-family-v991 .fp-adventure-strip-v966,
body.cs-family-v991 .fp-help-strip-v966 {
  padding: clamp(24px, 3vw, 34px);
}
body.cs-family-v991 .fp-community-links-v994 {
  padding-block: clamp(28px, 3.5vw, 44px);
  border-top: 1px solid rgba(75, 31, 91, .14);
}
body.cs-family-v991 .fp-community-links-v994 .fp-dashboard-section-head-v966 {
  align-items: center;
}
body.cs-family-v991 .fp-community-links-v994 .fp-dashboard-section-head-v966 > div { max-width: 720px; }

/* Family Portal shares the rich CurioSpark footer without becoming a marketing page. */
body.cs-family-v991 .cs-v994-footer {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(50px, 6vw, 72px) 0 24px;
  color: rgba(255,255,255,.88);
  background:
    radial-gradient(circle at 12% 22%, rgba(244,181,22,.13) 0 2px, transparent 3px),
    radial-gradient(circle at 81% 28%, rgba(255,255,255,.16) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 70%, rgba(244,181,22,.11), transparent 22%),
    linear-gradient(145deg, #26082f 0%, #401052 52%, #5b236f 100%);
  border-top: 2px solid rgba(244,181,22,.78);
}
body.cs-family-v991 .cs-v994-footer-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 1.45fr) repeat(2, minmax(150px, .72fr)) minmax(220px, 1fr);
  gap: clamp(28px, 4vw, 60px);
  align-items: start;
}
body.cs-family-v991 .cs-v994-footer-logo { display: inline-block; max-width: min(100%, 300px); }
body.cs-family-v991 .cs-v994-footer-logo img { display:block; width:100%; height:auto; }
body.cs-family-v991 .cs-v994-footer-brand > p { max-width:38ch; margin:14px 0 0; color:rgba(255,255,255,.78); line-height:1.65; }
body.cs-family-v991 .cs-v994-footer-values { font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
body.cs-family-v991 .cs-v994-footer-values span { color:#f4b516; margin-inline:6px; }
body.cs-family-v991 .cs-v994-footer h2 { margin:8px 0 16px; color:#f4c640; font-family:Inter,system-ui,sans-serif; font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
body.cs-family-v991 .cs-v994-footer-nav { display:grid; gap:10px; }
body.cs-family-v991 .cs-v994-footer :where(a, button.footer-logout) { color:rgba(255,255,255,.9); -webkit-text-fill-color:rgba(255,255,255,.9); }
body.cs-family-v991 .cs-v994-footer-nav :where(a, button.footer-logout) { width:fit-content; padding:0; border:0; background:transparent; font:inherit; line-height:1.45; text-align:left; }
body.cs-family-v991 .cs-v994-footer-nav :where(a, button.footer-logout):is(:hover, :focus-visible) { color:#ffd45d; -webkit-text-fill-color:#ffd45d; }
body.cs-family-v991 .cs-v994-footer-community p { max-width:28ch; margin:14px 0 0; color:rgba(255,255,255,.72); }
body.cs-family-v991 .cs-v994-footer-community-button { width:100%; color:#401052; -webkit-text-fill-color:#401052; background:linear-gradient(135deg,#fffaf0,#ead7f1); border-color:rgba(244,181,22,.58); }
body.cs-family-v991 .cs-v994-footer-community-button:is(:hover, :focus-visible, :active) { color:#fff; -webkit-text-fill-color:#fff; background:#6b2b83; border-color:#f4b516; }
body.cs-family-v991 .cs-v994-footer-meta { position:relative; z-index:1; display:flex; justify-content:space-between; gap:18px; margin-top:clamp(38px,5vw,62px); padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.6); font-size:12px; }
@media (max-width: 920px) {
  body.cs-family-v991 .fp-v991-quick-nav { grid-template-columns: repeat(6, minmax(120px, 1fr)); overflow-x:auto; }
  body.cs-family-v991 .cs-v994-footer-grid { grid-template-columns:minmax(0,1.2fr) 1fr 1fr; }
  body.cs-family-v991 .cs-v994-footer-community { grid-column:1/-1; max-width:520px; }
}
@media (max-width: 700px) {
  body.cs-family-v991 .fp-v991-quick-nav { display:flex; gap:0; padding-bottom:6px; }
  body.cs-family-v991 .fp-v991-quick-nav a { min-width:max-content; padding-inline:16px; }
  body.cs-family-v991 .cs-v994-footer-grid { grid-template-columns:1fr 1fr; }
  body.cs-family-v991 .cs-v994-footer-brand,
  body.cs-family-v991 .cs-v994-footer-community { grid-column:1/-1; }
  body.cs-family-v991 .cs-v994-footer-logo { max-width:260px; }
  body.cs-family-v991 .cs-v994-footer-meta { flex-direction:column; }
}
@media (max-width: 430px) {
  body.cs-family-v991 .cs-v994-footer-grid { grid-template-columns:1fr; }
  body.cs-family-v991 .cs-v994-footer-brand,
  body.cs-family-v991 .cs-v994-footer-community { grid-column:auto; }
}



/* ==========================================================================
   CurioSpark v9.9.5 — final visual precision
   Compact Big Vision, Admin footer logo parity, and calmer Family records.
   ========================================================================== */

/* Admin uses the same full transparent CurioSpark mark as the Family footer. */
body.cs-admin-v990 .site-footer .cs-admin-footer-logo-v995 {
  display: block;
  width: min(100%, 292px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cs-admin-v990 .site-footer .cs-admin-footer-logo-v995 img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  filter: none;
}

/* The approved Big Vision words remain, but the next section enters the first viewport. */
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero {
  min-height: 0 !important;
  padding: clamp(22px, 2.7vw, 34px) 0 clamp(26px, 3vw, 38px) !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero-inner { max-width: 800px; }
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero .eyebrow {
  margin: 0 0 1px !important;
  font-size: clamp(.76rem, 1vw, .9rem) !important;
  letter-spacing: .15em !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .vision-hero-brand-v993 {
  width: min(92px, 20vw) !important;
  margin: 1px auto 4px !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero h1 {
  max-width: 640px !important;
  margin: 3px auto 7px !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.015 !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero p:not(.eyebrow) {
  margin: 0 auto !important;
  font-size: clamp(.9rem, 1.15vw, 1rem) !important;
  line-height: 1.45 !important;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero .hero-actions {
  margin-top: 12px !important;
  gap: 8px;
}
body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero .hero-actions .button { min-height: 40px; }

/* Family information becomes one compact record surface instead of a card inside a card. */
body.cs-family-v991 .fp-family-information-v966 {
  margin-block: clamp(20px, 2.8vw, 30px);
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--cs-private-line) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 12px 30px rgba(50,17,63,.045) !important;
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head {
  align-items: center;
  gap: 18px;
  padding: 18px clamp(18px, 2.5vw, 26px);
  border-bottom: 1px solid var(--cs-private-line);
  background: linear-gradient(135deg, rgba(255,250,240,.96), rgba(247,239,251,.78));
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head h2 {
  max-width: none;
  margin: 2px 0 4px;
  font-size: clamp(25px, 2.5vw, 33px);
}
body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head p:not(.eyebrow) {
  max-width: 68ch;
  margin: 0;
}
body.cs-family-v991 .fp-family-information-v966 > [data-fp-learner-list] {
  padding: 0 clamp(18px, 2.5vw, 26px) 17px;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-list {
  display: block;
  margin: 0;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card {
  min-width: 0;
  min-height: 0;
  padding: 15px 0;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-private-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card-copy { min-width: 0; }
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 9px;
  margin: 2px 0 4px;
  font-size: 1.02rem;
}
body.cs-family-v991 .fp-family-information-v966 .fp-learner-card small {
  display: block;
  margin-top: 4px;
  line-height: 1.45;
}
body.cs-family-v991 .fp-family-information-v966 .fp-family-actions { margin: 13px 0 0; }
body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:empty { display: none; margin: 0; }
body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:not(:empty) {
  padding: 0 clamp(18px, 2.5vw, 26px) 20px;
}

/* Schedule facts render as one deliberate table-like strip, not floating mini cards. */
body.cs-family-v991 .fp-program-schedule {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 12px 0 3px;
  overflow: hidden;
  border: 1px solid var(--cs-private-line);
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}
body.cs-family-v991 .fp-program-schedule > div {
  min-width: 0;
  padding: 10px 12px;
  border: 0;
  border-left: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
}
body.cs-family-v991 .fp-program-schedule > div:first-child { border-left: 0; }
body.cs-family-v991 .fp-program-schedule > div.is-pending { background: rgba(255,250,240,.7); }
body.cs-family-v991 .fp-program-schedule dt {
  margin: 0 0 3px;
  color: #796781;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
body.cs-family-v991 .fp-program-schedule dd {
  margin: 0;
  color: #421257;
  font-size: .84rem;
  font-weight: 780;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Payment-plan records retain every action and amount while reading as clean rows. */
body.cs-family-v991 .fp-workshop-plan-list { gap: 0; }
body.cs-family-v991 .fp-workshop-plan-row {
  gap: 16px;
  padding: 15px 0;
  border: 0;
  border-top: 1px solid var(--cs-private-line);
  border-radius: 0;
  background: transparent;
}
body.cs-family-v991 .fp-workshop-plan-row:first-child { border-top: 0; }
body.cs-family-v991 .fp-workshop-plan-row.is-payable {
  padding-inline: 14px;
  border: 1px solid rgba(157,102,0,.24);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,250,240,.96), rgba(255,255,255,.96));
}

@media (max-width: 760px) {
  body.cs-family-v991 .fp-program-schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cs-family-v991 .fp-program-schedule > div { border-top: 1px solid var(--cs-private-line); }
  body.cs-family-v991 .fp-program-schedule > div:nth-child(-n+2) { border-top: 0; }
  body.cs-family-v991 .fp-program-schedule > div:nth-child(odd) { border-left: 0; }
}
@media (max-width: 700px) {
  body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero {
    padding: 20px 0 26px !important;
  }
  body.cs-public-v990.cs-vision-v990.cs-v991-refined .vision-hero-brand-v993 {
    width: min(78px, 24vw) !important;
  }
  body.cs-public-v990.cs-vision-v990.cs-v991-refined .big-vision-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(31px, 9.5vw, 42px) !important;
  }
  body.cs-family-v991 .fp-family-information-v966 > .fp-manager-head {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 17px;
  }
  body.cs-family-v991 .fp-family-information-v966 > [data-fp-learner-list],
  body.cs-family-v991 .fp-family-information-v966 .fp-editor-slot:not(:empty) {
    padding-inline: 17px;
  }
  body.cs-family-v991 .fp-family-information-v966 .fp-learner-card {
    grid-template-columns: 1fr;
    gap: 11px;
    align-items: start;
  }
  body.cs-family-v991 .fp-workshop-plan-row { gap: 11px; }
}
@media (max-width: 480px) {
  body.cs-family-v991 .fp-program-schedule { grid-template-columns: 1fr; }
  body.cs-family-v991 .fp-program-schedule > div {
    border-top: 1px solid var(--cs-private-line);
    border-left: 0;
  }
  body.cs-family-v991 .fp-program-schedule > div:first-child { border-top: 0; }
}


/* Source: /curiospark-wonder-layer-v997.css */
/* CurioSpark v9.9.7.1 — Visual Refinement / Art-Direction Correction
   Presentation-only release. Payment, Payhip, registration, waitlist, enrollment,
   Finance, program data, filters, and calendar business logic are intentionally frozen. */

:root {
  --cs-v997-ink: #2f0a46;
  --cs-v997-purple: #5f2579;
  --cs-v997-purple-deep: #25052f;
  --cs-v997-purple-mid: #4b176c;
  --cs-v997-lilac: #eadcf4;
  --cs-v997-cream: #fffaf0;
  --cs-v997-paper: #fffdf8;
  --cs-v997-gold: #f4b516;
  --cs-v997-gold-soft: #ffd65a;
  --cs-v997-mint: #dff5eb;
  --cs-v997-line: rgba(95, 37, 121, .14);
  --cs-v997-shadow-soft: 0 16px 42px rgba(44, 10, 60, .10);
  --cs-v997-shadow-photo: 0 18px 42px rgba(44, 10, 60, .17);
}

/* ========================================================================== 
   1. Canonical modal reliability — production root-cause correction
   The live mobile header uses z-index 5000–5003. v9.9.6.4 used 4000, which let
   the header cover the modal header and close control on iPhone. This layer
   moves the modal above all public navigation and uses an inline SVG X rather
   than depending on a font glyph.
   ========================================================================== */
.cs-modal-shell,
body.cs-public-v990 .vision-guide-modal.cs-modal-shell {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  isolation: isolate;
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.cs-public-v990 .vision-guide-modal.cs-modal-shell[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.vision-modal-open .site-header,
body.vision-modal-open .mobile-menu,
body.vision-modal-open [data-mobile-menu] {
  z-index: 0 !important;
  pointer-events: none !important;
}

body.cs-public-v990 .vision-guide-modal.cs-modal-shell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  padding:
    max(10px, env(safe-area-inset-top))
    max(10px, env(safe-area-inset-right))
    max(10px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left)) !important;
  overflow: hidden !important;
  overscroll-behavior: contain;
  background: rgba(31, 5, 44, .76) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

body.cs-public-v990 .vision-guide-modal__dialog.cs-modal-surface {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: min(780px, 100%) !important;
  max-width: 100% !important;
  max-height: calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  max-height: calc(100svh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid rgba(255, 205, 46, .94) !important;
  border-radius: 1.55rem !important;
  background: linear-gradient(135deg, #fffdf7 0%, #f9f1ff 100%) !important;
  box-shadow: 0 34px 88px rgba(17, 2, 27, .50) !important;
  overscroll-behavior: contain;
  transform: translate3d(0, 0, 0);
}

body.cs-public-v990 .vision-guide-modal__header.cs-modal-header {
  position: relative !important;
  z-index: 20 !important;
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: .85rem !important;
  min-width: 0;
  padding:
    max(1rem, env(safe-area-inset-top))
    max(1rem, env(safe-area-inset-right))
    .9rem
    max(1rem, env(safe-area-inset-left)) !important;
  border-bottom: 1px solid rgba(95, 37, 121, .16) !important;
  background: linear-gradient(135deg, rgba(255,253,247,.995), rgba(249,241,255,.995)) !important;
  box-shadow: 0 7px 20px rgba(54, 12, 72, .08);
}

body.cs-public-v990 .vision-guide-modal__header-copy {
  min-width: 0;
}

body.cs-public-v990 .vision-guide-modal__header .vision-guide-modal__eyebrow,
body.cs-public-v990 .vision-guide-modal__header h2 {
  margin-right: 0 !important;
}

body.cs-public-v990 .vision-guide-modal__header h2 {
  margin-bottom: 0 !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

body.cs-public-v990 .vision-guide-modal__body.cs-modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 1rem clamp(1rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

body.cs-public-v990 .vision-guide-modal__body > .vision-guide-modal__intro:first-child {
  margin-top: 0;
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close {
  position: relative !important;
  inset: auto !important;
  z-index: 30 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 2px solid var(--cs-v997-gold-soft) !important;
  border-radius: 999px !important;
  background: var(--cs-v997-purple-mid) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 9px 24px rgba(36, 5, 49, .32), 0 0 0 4px rgba(255,255,255,.86) !important;
  cursor: pointer;
  touch-action: manipulation;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateZ(0);
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close svg {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  overflow: visible;
  stroke: currentColor !important;
  stroke-width: 3.1;
  stroke-linecap: round;
  pointer-events: none;
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close:is(:hover, :focus-visible, :active) {
  border-color: #ffe58b !important;
  background: #351047 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: scale(1.04) translateZ(0);
}

body.cs-public-v990 .vision-guide-modal__close.cs-modal-close:focus-visible {
  outline: 4px solid rgba(248, 201, 40, .94) !important;
  outline-offset: 4px !important;
}

.vision-guide-modal__footer-close-v997 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .72rem 1rem;
  border: 1px solid rgba(95, 37, 121, .24);
  border-radius: 999px;
  color: var(--cs-v997-purple-mid);
  -webkit-text-fill-color: var(--cs-v997-purple-mid);
  background: #fff;
  font: 850 .92rem/1 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.vision-guide-modal__footer-close-v997:is(:hover, :focus-visible, :active) {
  border-color: var(--cs-v997-gold);
  color: var(--cs-v997-purple-deep);
  -webkit-text-fill-color: var(--cs-v997-purple-deep);
  background: #fff4bd;
}

@media (max-width: 620px) {
  body.cs-public-v990 .vision-guide-modal.cs-modal-shell {
    align-items: stretch !important;
    padding:
      max(8px, env(safe-area-inset-top))
      max(8px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left)) !important;
  }

  body.cs-public-v990 .vision-guide-modal__dialog.cs-modal-surface {
    align-self: stretch;
    width: 100% !important;
    max-height: calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    max-height: calc(100svh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    border-radius: 1.15rem !important;
  }

  body.cs-public-v990 .vision-guide-modal__header.cs-modal-header {
    gap: .65rem !important;
    padding:
      max(.9rem, env(safe-area-inset-top))
      max(.9rem, env(safe-area-inset-right))
      .75rem
      max(.9rem, env(safe-area-inset-left)) !important;
  }

  body.cs-public-v990 .vision-guide-modal__header h2 {
    font-size: clamp(1.55rem, 8vw, 2.05rem) !important;
    line-height: 1.02 !important;
  }

  body.cs-public-v990 .vision-guide-modal__body.cs-modal-body {
    padding: .85rem max(.9rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(.9rem, env(safe-area-inset-left)) !important;
  }

  body.cs-public-v990 .vision-guide-modal__close.cs-modal-close {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
  }
}

/* ========================================================================== 
   2. Homepage Wonder Layer — atmosphere without changing approved copy/order
   ========================================================================== */
body.cs-home-v990 .cs-v990-home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 11% 16%, rgba(255, 214, 90, .24), transparent 20rem),
    radial-gradient(circle at 88% 12%, rgba(160, 91, 190, .27), transparent 22rem),
    linear-gradient(126deg, #fffaf0 0%, #fffdf9 50%, #f4e9fb 100%);
}

body.cs-home-v990 .cs-v990-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 8% 21%, rgba(244,181,22,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 16% 72%, rgba(95,37,121,.72) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 41% 11%, rgba(244,181,22,.62) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 73% 14%, rgba(95,37,121,.55) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 93% 64%, rgba(244,181,22,.72) 0 2px, transparent 3px);
  opacity: .76;
}

body.cs-home-v990 .cs-v990-home-hero::after {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -56px;
  height: 112px;
  z-index: -1;
  border-top: 2px solid rgba(244, 181, 22, .76);
  border-radius: 50% 50% 0 0 / 80% 80% 0 0;
  background: rgba(255, 253, 248, .94);
  pointer-events: none;
}

body.cs-home-v990 .cs-v990-hero-grid {
  width: min(1440px, calc(100% - clamp(30px, 6vw, 96px)));
  max-width: none;
  padding-block: clamp(32px, 4.2vw, 58px) clamp(62px, 7vw, 94px);
}

body.cs-home-v990 .cs-v990-hero-copy {
  position: relative;
}

body.cs-home-v990 .cs-v990-hero-copy::after {
  content: "✦";
  position: absolute;
  right: clamp(-24px, -2vw, -8px);
  top: clamp(-24px, -2vw, -8px);
  color: var(--cs-v997-gold);
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  filter: drop-shadow(0 3px 8px rgba(95, 37, 121, .18));
}

body.cs-home-v990 .cs-v990-story-reel {
  border: 0 !important;
  box-shadow: var(--cs-v997-shadow-photo) !important;
  transform: rotate(.45deg);
}

body.cs-home-v990 .cs-v990-image-essay {
  width: min(1440px, calc(100% - clamp(28px, 5vw, 80px)));
  max-width: none;
}

body.cs-home-v990 .cs-v990-image-essay figure {
  border: 0 !important;
  box-shadow: var(--cs-v997-shadow-photo) !important;
}

body.cs-home-v990 .cs-v990-values {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 3% 14%, rgba(244,181,22,.16), transparent 18rem),
    radial-gradient(circle at 94% 78%, rgba(95,37,121,.12), transparent 22rem),
    #fffdf9;
}

body.cs-home-v990 .cs-v990-values-list {
  border-top: 1px solid var(--cs-v997-line);
}

body.cs-home-v990 .cs-v990-value {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 18px;
  align-items: start;
  padding-block: clamp(22px, 3vw, 34px);
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-home-v990 .cs-v990-value .cs-v997-value-icon {
  grid-row: 1 / span 2;
  width: 58px;
  height: 58px;
  padding: 9px;
  border-radius: 48% 52% 43% 57% / 55% 43% 57% 45%;
  background: linear-gradient(145deg, #fff5c4, #f1e3fb);
  box-shadow: 0 9px 22px rgba(63, 17, 83, .10);
}

body.cs-home-v990 .cs-v990-value strong,
body.cs-home-v990 .cs-v990-value p {
  grid-column: 2;
}

body.cs-home-v990 .cs-v990-value strong {
  margin-top: 4px;
  color: var(--cs-v997-purple-deep);
}

body.cs-home-v990 .cs-v990-paths {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  gap: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #fff9ea 0 50%, #351047 50% 100%);
}

body.cs-home-v990 .cs-v990-path {
  min-height: clamp(420px, 44vw, 620px);
  padding-inline: clamp(28px, 7vw, 112px);
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.cs-home-v990 .cs-v990-path:first-child {
  background:
    radial-gradient(circle at 15% 18%, rgba(244,181,22,.20), transparent 14rem),
    linear-gradient(145deg, #fffaf0, #f6e8fb);
}

body.cs-home-v990 .cs-v994-path-resources {
  background:
    radial-gradient(circle at 84% 18%, rgba(255,216,90,.14), transparent 15rem),
    linear-gradient(145deg, #2a0736, #5c2670);
}

body.cs-home-v990 .cs-v990-resources {
  background:
    radial-gradient(circle at 84% 12%, rgba(244,181,22,.13), transparent 18rem),
    linear-gradient(180deg, #fffdf8, #f7edf9);
}

/* ========================================================================== 
   3. Reusable Program Visual Identity — existing data/logic, richer visuals
   ========================================================================== */
.cs-v997-program-art {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(145deg, #f3e5f8, #fff2b7);
}

.cs-v997-program-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center;
  filter: saturate(1.07) contrast(1.02);
}

.cs-v997-program-art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(145deg, transparent 38%, rgba(39, 7, 53, .24));
}

body.cs-programs-v990 .program-card-heading-row,
body.cs-calendar-v990 .v8493-calendar-heading {
  grid-template-columns: minmax(0, 1fr) clamp(112px, 10vw, 142px) !important;
  align-items: start;
}

body.cs-programs-v990 .program-card-visual.cs-v997-program-art,
body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art {
  width: clamp(112px, 10vw, 142px) !important;
  min-width: clamp(112px, 10vw, 142px) !important;
  max-width: clamp(112px, 10vw, 142px) !important;
  height: auto !important;
  min-height: 100px;
  aspect-ratio: 4 / 3;
  border: 0 !important;
  border-radius: 44% 56% 50% 50% / 56% 44% 56% 44% !important;
  box-shadow: var(--cs-v997-shadow-photo) !important;
  transform: rotate(1.1deg);
}

body.cs-programs-v990 .program-card-visual.cs-v997-program-art > img:not(.cs-v997-program-photo),
body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art > img:not(.cs-v997-program-photo) {
  position: absolute !important;
  right: 7px;
  bottom: 7px;
  z-index: 3;
  width: 42px !important;
  height: 42px !important;
  padding: 7px;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 50%;
  background: rgba(255, 250, 240, .96);
  box-shadow: 0 8px 18px rgba(43, 8, 58, .20);
  object-fit: contain !important;
}

body.cs-programs-v990 .program-market-card,
body.cs-calendar-v990 :where(.calendar-schedule-card, .upcoming-open-card) {
  overflow: hidden;
}

.cs-v997-family-program-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 46% 54% 42% 58% / 58% 43% 57% 42%;
  background: linear-gradient(145deg, #fff4be, #eadcf4);
  box-shadow: 0 10px 24px rgba(48, 10, 64, .12);
}

.cs-v997-family-program-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cs-v997-family-program-mark.is-icon img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}

body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
}

body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark > div:first-of-type {
  min-width: 0;
}

body.cs-family-v991 .fp-program-status-card.cs-v997-has-program-mark {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 14px;
  align-items: start;
}

body.cs-family-v991 .fp-program-status-card.cs-v997-has-program-mark > :not(.cs-v997-family-program-mark) {
  grid-column: 2;
}

body.cs-family-v991 .fp-program-status-card .cs-v997-family-program-mark {
  grid-column: 1;
  grid-row: 1 / span 6;
  width: 48px;
  height: 48px;
}

body.cs-family-v991 .fp-program-chat-row-v966.cs-v997-has-program-mark {
  grid-template-columns: 48px minmax(0,1fr) auto;
  align-items: center;
}

body.cs-family-v991 .fp-program-chat-row-v966 .cs-v997-family-program-mark {
  width: 48px;
  height: 48px;
}

.cs-v997-calendar-mark {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  margin-right: .38rem;
  border-radius: 50%;
  background: #fff4be;
  vertical-align: middle;
  box-shadow: 0 3px 8px rgba(55, 12, 75, .10);
}

.cs-v997-calendar-mark img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}

body.cs-family-v991 .fp-calendar-events-v966 > a.cs-v997-calendar-identity {
  grid-template-columns: auto auto minmax(0,1fr);
  align-items: center;
}

body.cs-family-v991 .fp-calendar-events-v966 > a.cs-v997-calendar-identity > strong,
body.cs-family-v991 .fp-calendar-events-v966 > a.cs-v997-calendar-identity > .cs-v997-calendar-mark {
  grid-row: 1 / span 2;
}

/* ========================================================================== 
   4. Family Portal — warmer home base, useful hierarchy, fewer outer boxes
   ========================================================================== */
body.cs-family-v991 .fp-home-base-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(38px, 5vw, 66px) 0 clamp(34px, 4.5vw, 60px) !important;
  border-bottom: 0 !important;
  background:
    radial-gradient(circle at 84% 28%, rgba(244,181,22,.22), transparent 17rem),
    radial-gradient(circle at 74% 78%, rgba(170,95,196,.19), transparent 20rem),
    linear-gradient(126deg, #fffaf0 0%, #fffdf9 54%, #f0e2f7 100%);
}

body.cs-family-v991 .fp-home-base-hero::before {
  content: "";
  position: absolute;
  right: clamp(18px, 7vw, 108px);
  top: 50%;
  z-index: -1;
  width: clamp(180px, 25vw, 340px);
  aspect-ratio: 4 / 3;
  transform: translateY(-50%) rotate(2deg);
  border-radius: 46% 54% 50% 50% / 58% 43% 57% 42%;
  background: url('/assets/curiospark-community-programs-collage.png') center / cover no-repeat;
  box-shadow: var(--cs-v997-shadow-photo);
  opacity: .76;
}

body.cs-family-v991 .fp-home-base-hero::after {
  content: "✦  ·  ✦";
  position: absolute;
  right: clamp(20px, 6vw, 96px);
  bottom: 18px;
  color: rgba(95,37,121,.55);
  letter-spacing: .35em;
}

body.cs-family-v991 .fp-home-base-hero .shell::after {
  content: "";
  display: block;
  width: clamp(72px, 10vw, 132px);
  height: 5px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cs-v997-gold), var(--cs-v997-purple));
}

body.cs-family-v991 .fp-home-base-hero h1 {
  max-width: 11ch;
  font-size: clamp(44px, 6vw, 78px);
  text-wrap: balance;
}

body.cs-family-v991 .fp-home-base-hero p:last-child {
  max-width: 44ch;
  font-size: clamp(1rem, 1.4vw, 1.14rem);
}

body.cs-family-v991 .fp-page {
  width: min(1260px, calc(100% - clamp(26px, 5vw, 80px)));
  max-width: none;
}

body.cs-family-v991 .fp-v991-quick-nav {
  margin-bottom: 0;
  padding-block: 4px;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: rgba(255,253,248,.88) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.cs-family-v991 .fp-v991-quick-nav a {
  position: relative;
  min-height: 48px;
  padding-inline: clamp(12px, 2vw, 20px);
}

body.cs-family-v991 .fp-v991-quick-nav a::before {
  content: "✦";
  margin-right: 7px;
  color: var(--cs-v997-gold);
  font-size: .68rem;
}

body.cs-family-v991 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) {
  margin: 0 !important;
  padding-block: clamp(36px, 5vw, 64px) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966) {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 92% 20%, rgba(244,181,22,.20), transparent 12rem),
    linear-gradient(125deg, #fff7d8, #fffdf8 52%, #f2e5f8) !important;
  box-shadow: none !important;
}

body.cs-family-v991 :where(.fp-adventure-strip-v966, .fp-help-strip-v966)::after {
  content: "✦";
  position: absolute;
  right: 22px;
  bottom: 14px;
  color: rgba(95,37,121,.30);
  font-size: 1.5rem;
}

body.cs-family-v991 .fp-upcoming-grid-v966 {
  gap: 0;
  margin-top: 1.25rem;
}

body.cs-family-v991 .fp-upcoming-card-v966 {
  padding-block: 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-upcoming-card-v966:last-child {
  border-bottom: 0 !important;
}

body.cs-family-v991 .fp-manager-card--programs.fp-programs-primary {
  padding: clamp(34px, 5vw, 62px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-program-status-card {
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-program-status-card:last-child {
  border-bottom: 0 !important;
}

body.cs-family-v991 .fp-calendar-grid-v966 {
  border: 0 !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,237,251,.84)) !important;
  box-shadow: 0 16px 38px rgba(50, 17, 63, .075) !important;
}

body.cs-family-v991 .fp-calendar-day-v966.has-event {
  background: linear-gradient(145deg, #e7d5f2, #fff2b4) !important;
}

body.cs-family-v991 .fp-program-chat-list-v966 {
  gap: 0 !important;
}

body.cs-family-v991 .fp-program-chat-row-v966 {
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cs-v997-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.cs-family-v991 .fp-program-chat-row-v966:last-child {
  border-bottom: 0 !important;
}

body.cs-family-v991 .fp-completed-plans-v993,
body.cs-family-v991 .fp-history-disclosure-v993 {
  border-color: rgba(95,37,121,.10) !important;
  background: rgba(255,255,255,.48) !important;
  box-shadow: none !important;
}

/* ========================================================================== 
   5. Global footer — full-width CurioSpark night sky, flush edge to edge
   ========================================================================== */
.cs-v994-footer {
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(96px, 9vw, 138px) 0 28px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,.92) !important;
  background:
    radial-gradient(circle at 8% 28%, rgba(244,181,22,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.72) 0 1.2px, transparent 2px),
    radial-gradient(circle at 34% 18%, rgba(244,181,22,.72) 0 1.6px, transparent 2.5px),
    radial-gradient(circle at 54% 76%, rgba(255,255,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 73% 22%, rgba(244,181,22,.82) 0 1.7px, transparent 2.6px),
    radial-gradient(circle at 91% 66%, rgba(255,255,255,.68) 0 1.3px, transparent 2.2px),
    radial-gradient(ellipse at 8% 108%, rgba(112,43,137,.78) 0 20%, transparent 21%),
    radial-gradient(ellipse at 93% 108%, rgba(106,39,132,.76) 0 22%, transparent 23%),
    linear-gradient(135deg, #21042b 0%, #3d0d50 49%, #5e2473 100%) !important;
}

.cs-v994-footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 12% 42%, rgba(177,96,199,.22), transparent 16rem),
    radial-gradient(circle at 86% 24%, rgba(244,181,22,.10), transparent 18rem),
    linear-gradient(118deg, transparent 0 56%, rgba(255,255,255,.025) 56% 57%, transparent 57% 100%) !important;
}

.cs-v994-footer::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -5%;
  width: 110%;
  height: clamp(58px, 7vw, 92px);
  z-index: 1;
  pointer-events: none;
  border-bottom: 3px solid rgba(244,181,22,.88);
  border-radius: 0 0 50% 50% / 0 0 72% 72%;
  background: var(--cs-v997-cream);
  box-shadow: 0 7px 20px rgba(244,181,22,.08);
}

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

.cs-v994-footer-grid,
.cs-v994-footer-meta {
  position: relative;
  z-index: 2;
}

.cs-v994-footer-grid {
  grid-template-columns: minmax(280px, 1.25fr) repeat(2, minmax(150px, .62fr)) minmax(250px, .9fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
}

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

.cs-v994-footer-logo img {
  filter: drop-shadow(0 15px 30px rgba(0,0,0,.24));
}

.cs-v994-footer-brand > p {
  color: rgba(255,255,255,.82) !important;
}

.cs-v994-footer h2 {
  color: var(--cs-v997-gold-soft) !important;
}

.cs-v994-footer-nav a,
.cs-v994-footer-nav button.footer-logout {
  position: relative;
  padding-left: 16px !important;
}

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

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

html body .cs-v994-footer a.button.secondary.cs-v994-footer-community-button {
  min-height: 52px;
  border: 1px solid rgba(255,220,112,.72) !important;
  color: var(--cs-v997-purple-deep) !important;
  -webkit-text-fill-color: var(--cs-v997-purple-deep) !important;
  background: linear-gradient(135deg, #fff5c6, #e5c8f3) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}

html body .cs-v994-footer a.button.secondary.cs-v994-footer-community-button:is(:hover, :focus-visible, :active) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: linear-gradient(135deg, #6a2782, #4b176c) !important;
}

.cs-v994-footer-meta {
  color: rgba(255,255,255,.67) !important;
}

/* ========================================================================== 
   6. Responsive / flushness / legibility
   ========================================================================== */
@media (max-width: 980px) {
  .cs-v994-footer-grid {
    grid-template-columns: minmax(0, 1.1fr) 1fr 1fr !important;
  }
  .cs-v994-footer-community {
    grid-column: 1 / -1;
    max-width: 560px;
  }

  body.cs-home-v990 .cs-v990-paths {
    grid-template-columns: 1fr;
    background: transparent;
  }

  body.cs-home-v990 .cs-v990-path {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  body.cs-home-v990 .cs-v990-hero-grid,
  body.cs-home-v990 .cs-v990-image-essay,
  .cs-v994-footer .shell,
  body.cs-family-v991 .fp-page {
    width: calc(100% - max(28px, env(safe-area-inset-left) + env(safe-area-inset-right) + 20px));
  }

  body.cs-home-v990 .cs-v990-hero-grid {
    padding-block: 44px 90px;
  }

  body.cs-home-v990 .cs-v990-story-reel {
    transform: none;
  }

  body.cs-home-v990 .cs-v990-value {
    grid-template-columns: 54px minmax(0,1fr);
    column-gap: 14px;
  }

  body.cs-home-v990 .cs-v990-value .cs-v997-value-icon {
    width: 50px;
    height: 50px;
    padding: 8px;
  }

  body.cs-programs-v990 .program-card-heading-row,
  body.cs-calendar-v990 .v8493-calendar-heading {
    grid-template-columns: minmax(0,1fr) 88px !important;
    gap: 12px !important;
  }

  body.cs-programs-v990 .program-card-visual.cs-v997-program-art,
  body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    min-height: 78px;
  }

  body.cs-programs-v990 .program-card-visual.cs-v997-program-art > img:not(.cs-v997-program-photo),
  body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art > img:not(.cs-v997-program-photo) {
    width: 34px !important;
    height: 34px !important;
    padding: 5px;
  }

  body.cs-family-v991 .fp-home-base-hero {
    padding-block: 46px 72px !important;
  }

  body.cs-family-v991 .fp-home-base-hero::before {
    right: -42px;
    top: auto;
    bottom: -14px;
    width: 190px;
    transform: rotate(7deg);
    opacity: .30;
  }

  body.cs-family-v991 .fp-home-base-hero h1,
  body.cs-family-v991 .fp-home-base-hero p:last-child {
    max-width: calc(100% - 38px);
  }

  body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark {
    grid-template-columns: 58px minmax(0,1fr);
  }

  body.cs-family-v991 .fp-upcoming-card-v966.cs-v997-has-program-mark .fp-upcoming-actions-v966 {
    grid-column: 1 / -1;
  }

  body.cs-family-v991 .fp-program-chat-row-v966.cs-v997-has-program-mark {
    grid-template-columns: 48px minmax(0,1fr);
  }

  body.cs-family-v991 .fp-program-chat-row-v966.cs-v997-has-program-mark > .button {
    grid-column: 1 / -1;
  }

  .cs-v994-footer {
    padding-top: 90px !important;
  }

  .cs-v994-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .cs-v994-footer-brand,
  .cs-v994-footer-community {
    grid-column: 1 / -1;
  }
}

@media (max-width: 460px) {
  body.cs-home-v990 .cs-v990-hero-grid,
  body.cs-home-v990 .cs-v990-image-essay,
  .cs-v994-footer .shell,
  body.cs-family-v991 .fp-page {
    width: calc(100% - 24px);
  }

  body.cs-home-v990 .cs-v990-value {
    grid-template-columns: 46px minmax(0,1fr);
  }

  body.cs-home-v990 .cs-v990-value .cs-v997-value-icon {
    width: 44px;
    height: 44px;
    padding: 7px;
  }

  body.cs-programs-v990 .program-card-heading-row,
  body.cs-calendar-v990 .v8493-calendar-heading {
    grid-template-columns: minmax(0,1fr) 78px !important;
    gap: 10px !important;
  }

  body.cs-programs-v990 .program-card-visual.cs-v997-program-art,
  body.cs-calendar-v990 .v8491-calendar-visual.cs-v997-program-art {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    min-height: 70px;
  }

  body.cs-family-v991 .fp-v991-quick-nav {
    display: flex;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  body.cs-family-v991 .fp-v991-quick-nav a {
    flex: 0 0 auto;
    min-width: max-content;
  }

  body.cs-family-v991 .fp-calendar-grid-v966 {
    padding: .55rem;
  }

  .cs-v994-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .cs-v994-footer-brand,
  .cs-v994-footer-community {
    grid-column: auto;
  }

  .cs-v994-footer-logo {
    max-width: 244px !important;
  }

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

@media (prefers-reduced-motion: reduce) {
  body.cs-home-v990 .cs-v990-story-reel,
  body.cs-public-v990 .vision-guide-modal__close.cs-modal-close,
  .cs-v997-program-art {
    transform: none !important;
    transition: none !important;
  }
}


/* ==========================================================================
   v9.9.7.1 — Art-direction correction
   Corrects the current visual layer rather than touching payment, registration,
   program data, filters, calendar behavior, or Family Portal business logic.
   ========================================================================== */

/* Public header: stronger CurioSpark Collective badge without changing nav behavior. */
body.cs-art-v9971 .site-header .logo-brand {
  display: inline-flex;
  align-items: center;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
}
body.cs-art-v9971 .site-header .logo-brand img[src*="curiospark-header-collective"] {
  display: block;
  width: clamp(174px, 16vw, 218px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: 82px !important;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(55, 13, 72, .17));
}
body.cs-art-v9971 .site-header .nav {
  min-height: clamp(76px, 7vw, 92px);
}

/* Homepage: remove the obsolete yellow orbit bar that created dead air. */
body.cs-home-v990.cs-art-v9971 .cs-home-wonder-orbit {
  display: none !important;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-home-hero {
  background:
    radial-gradient(circle at 7% 10%, rgba(255, 215, 85, .34), transparent 15rem),
    radial-gradient(circle at 92% 8%, rgba(139, 72, 170, .42), transparent 19rem),
    radial-gradient(circle at 84% 52%, rgba(255, 255, 255, .92), transparent 17rem),
    linear-gradient(128deg, #fff8e8 0%, #fffdf8 49%, #efe0f8 100%);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-home-hero::before {
  inset: 0;
  opacity: .95;
  background:
    radial-gradient(circle at 4% 15%, rgba(255,255,255,.92) 0 1px, transparent 2px),
    radial-gradient(circle at 12% 31%, rgba(244,181,22,.96) 0 2px, transparent 3px),
    radial-gradient(circle at 36% 9%, rgba(95,37,121,.62) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 67% 13%, rgba(244,181,22,.72) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 23%, rgba(255,255,255,.95) 0 1.5px, transparent 2.5px),
    radial-gradient(ellipse at 97% -5%, rgba(48,8,66,.96) 0 12%, transparent 32%),
    radial-gradient(ellipse at -5% -11%, rgba(63,12,84,.92) 0 9%, transparent 28%);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-home-hero::after {
  bottom: -42px;
  height: 82px;
  background: rgba(255, 253, 248, .97);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid {
  position: relative;
  padding-block: clamp(30px, 4vw, 54px) clamp(56px, 6.8vw, 88px);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid::after {
  content: "";
  position: absolute;
  right: clamp(39%, 43vw, 48%);
  top: clamp(14px, 2.5vw, 34px);
  width: clamp(84px, 8vw, 126px);
  aspect-ratio: 540 / 350;
  background: url('/assets/brand-v9971/home-base-bulb.svg') center / contain no-repeat;
  opacity: .22;
  pointer-events: none;
  transform: rotate(-5deg);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
  padding: clamp(18px, 2.8vw, 34px);
  border-radius: 32px 12px 32px 12px;
  background:
    linear-gradient(105deg, rgba(255,253,248,.97) 0 62%, rgba(255,253,248,.70) 82%, transparent 100%);
  box-shadow: 0 18px 42px rgba(57, 14, 74, .08);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-story-reel {
  margin-top: 0 !important;
}

/* Homepage values: illustration-led islands without thick card borders. */
body.cs-home-v990.cs-art-v9971 .cs-v990-values-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 34px);
  padding-top: clamp(28px, 4vw, 52px);
  border-top: 1px solid var(--cs-v997-line);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  padding: 0 clamp(4px, 1vw, 14px) clamp(22px, 3vw, 38px);
  border: 0 !important;
  background: transparent !important;
  text-align: center;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value::before {
  content: "";
  position: absolute;
  inset: 14px 0 0;
  z-index: -1;
  border-radius: 48% 52% 46% 54% / 58% 46% 54% 42%;
  background: radial-gradient(circle at 50% 12%, rgba(255,228,123,.18), transparent 48%);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
  grid-row: auto;
  width: clamp(92px, 8vw, 126px);
  height: clamp(92px, 8vw, 126px);
  padding: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value strong,
body.cs-home-v990.cs-art-v9971 .cs-v990-value p {
  grid-column: auto;
  max-width: 25ch;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value strong {
  margin-top: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  line-height: 1.08;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-value p {
  margin: 0;
  font-size: .96rem;
}

/* Homepage accent photography integrated into the text-led path panels. */
body.cs-home-v990.cs-art-v9971 .cs-v990-path {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(360px, 39vw, 540px);
}
body.cs-home-v990.cs-art-v9971 .cs-v990-path > * {
  position: relative;
  z-index: 2;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-path:first-child {
  background:
    linear-gradient(90deg, rgba(255,250,240,.99) 0 48%, rgba(255,250,240,.86) 64%, rgba(255,250,240,.28) 100%),
    url('/assets/curiospark-in-action/outdoor-learning.webp') right center / cover no-repeat;
}
body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources {
  background:
    linear-gradient(90deg, rgba(42,7,54,.99) 0 48%, rgba(42,7,54,.84) 66%, rgba(42,7,54,.32) 100%),
    url('/assets/curiospark-in-action/creative-table.webp') right center / cover no-repeat;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-path::after {
  content: "";
  position: absolute;
  right: clamp(18px, 3vw, 48px);
  bottom: clamp(14px, 3vw, 42px);
  width: clamp(54px, 6vw, 88px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: url('/assets/program-art-v9971/exploration-compass.svg') center / contain no-repeat;
  opacity: .82;
  pointer-events: none;
}
body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources::after {
  background-image: url('/assets/program-art-v9971/creative-palette.svg');
}

/* Illustrated program identity: no random photo injection. */
.cs-v997-program-art.cs-v9971-illustrated-art {
  display: grid;
  place-items: center;
  overflow: visible;
  background: transparent;
}
.cs-v997-program-art.cs-v9971-illustrated-art::after {
  display: none;
}
body.cs-public-v990.cs-programs-v990.cs-art-v9971 .program-card-visual.cs-v997-program-art.cs-v9971-illustrated-art,
body.cs-public-v990.cs-calendar-v990.cs-art-v9971 .v8491-calendar-visual.cs-v997-program-art.cs-v9971-illustrated-art {
  display: grid !important;
  place-items: center !important;
  min-height: 0 !important;
  aspect-ratio: 1;
  overflow: visible !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255,246,204,.98), rgba(240,223,249,.82)) !important;
  box-shadow: 0 14px 30px rgba(54, 12, 72, .13) !important;
  transform: none !important;
}
body.cs-public-v990.cs-programs-v990.cs-art-v9971 .program-card-visual.cs-v997-program-art.cs-v9971-illustrated-art > img.cs-v9971-program-illustration,
body.cs-public-v990.cs-calendar-v990.cs-art-v9971 .v8491-calendar-visual.cs-v997-program-art.cs-v9971-illustrated-art > img.cs-v9971-program-illustration {
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: block !important;
  width: 94% !important;
  height: 94% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  transform: none !important;
}
.cs-v997-family-program-mark.is-illustration {
  overflow: visible;
  border-radius: 50%;
  background: radial-gradient(circle, #fff8d9, #eadcf4);
  box-shadow: 0 10px 24px rgba(48, 10, 64, .12);
}
.cs-v997-family-program-mark.is-illustration img {
  width: 92%;
  height: 92%;
  padding: 0;
  object-fit: contain;
}

/* Family Portal: illustration-rich home base while preserving existing data/logic. */
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero::before,
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero::after {
  display: none;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(240px, 28vw, 410px);
  grid-template-rows: auto auto auto;
  column-gap: clamp(28px, 6vw, 92px);
  align-items: center;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
  grid-column: 1;
}
body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(66, 18, 87, .17));
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  grid-column: 1;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero {
  background:
    radial-gradient(circle at 89% 16%, rgba(255,210,68,.25), transparent 14rem),
    radial-gradient(circle at 74% 90%, rgba(145,80,172,.20), transparent 18rem),
    linear-gradient(126deg, #fff9e9 0%, #fffdf8 55%, #efe0f7 100%);
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-grid-v966 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(14px, 2vw, 24px);
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966,
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966:last-child {
  padding: clamp(18px, 2.2vw, 26px) !important;
  border: 1px solid rgba(95,37,121,.11) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(255,220,93,.18), transparent 8rem),
    linear-gradient(145deg, rgba(255,255,255,.95), rgba(247,238,251,.86)) !important;
  box-shadow: 0 12px 28px rgba(48,10,64,.07) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966 .cs-v997-family-program-mark {
  width: clamp(66px, 6vw, 88px);
  height: clamp(66px, 6vw, 88px);
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) .fp-dashboard-section-head-v966 > div:first-child {
  position: relative;
  min-height: 62px;
  padding-left: 74px;
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) .fp-dashboard-section-head-v966 > div:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 56px;
  background: url('/assets/program-art-v9971/seasonal-star.svg') center / contain no-repeat;
}
body.cs-family-v991.cs-art-v9971 .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/exploration-compass.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966 {
  min-height: 190px;
  padding-right: clamp(150px, 22vw, 310px) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::before {
  content: "";
  position: absolute;
  right: clamp(24px, 6vw, 80px);
  top: 50%;
  width: clamp(110px, 15vw, 190px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/assets/program-art-v9971/exploration-compass.svg') center / contain no-repeat;
  opacity: .92;
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::after {
  display: none;
}
body.cs-family-v991.cs-art-v9971 .fp-calendar-grid-v966 {
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(255,220,93,.16), transparent 13rem),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(246,235,251,.88)) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-program-chat-row-v966 .cs-v997-family-program-mark,
body.cs-family-v991.cs-art-v9971 .fp-program-status-card .cs-v997-family-program-mark {
  background: radial-gradient(circle, #fff7d1, #eadcf4);
}

/* Footer: richer reference-led celestial destination, true edge-to-edge background. */
body.cs-art-v9971 .cs-v994-footer {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(110px, 9vw, 150px) 0 26px !important;
  overflow: hidden !important;
  color: rgba(255,255,255,.94) !important;
  background:
    radial-gradient(circle at 5% 27%, rgba(255,210,54,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 13% 18%, rgba(255,255,255,.88) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 26% 66%, rgba(255,210,54,.82) 0 1.8px, transparent 2.8px),
    radial-gradient(circle at 43% 22%, rgba(255,255,255,.76) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 58% 70%, rgba(255,210,54,.76) 0 1.6px, transparent 2.6px),
    radial-gradient(circle at 72% 16%, rgba(255,255,255,.88) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 89% 44%, rgba(255,210,54,.88) 0 1.8px, transparent 2.8px),
    radial-gradient(circle at 96% 16%, rgba(255,255,255,.72) 0 1.2px, transparent 2.2px),
    radial-gradient(ellipse at 2% 104%, rgba(109,42,136,.92) 0 18%, transparent 19%),
    radial-gradient(ellipse at 99% 106%, rgba(104,39,131,.94) 0 22%, transparent 23%),
    radial-gradient(circle at 50% 122%, rgba(28,3,38,.88), transparent 52%),
    linear-gradient(132deg, #190221 0%, #2d073d 38%, #46105d 69%, #23042f 100%) !important;
}
body.cs-art-v9971 .cs-v994-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 43%, rgba(185,100,210,.20), transparent 17rem),
    radial-gradient(circle at 86% 29%, rgba(255,199,44,.12), transparent 18rem),
    linear-gradient(112deg, transparent 0 49%, rgba(255,255,255,.028) 49% 50%, transparent 50% 100%);
}
body.cs-art-v9971 .cs-v994-footer::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -4%;
  width: 108%;
  height: clamp(70px, 7vw, 106px);
  z-index: 1;
  pointer-events: none;
  border-bottom: 3px solid #f6c629;
  border-radius: 0 0 50% 50% / 0 0 72% 72%;
  background: #fff9ed;
  box-shadow: 0 9px 22px rgba(244,181,22,.08);
}
body.cs-art-v9971 .cs-v994-footer .shell {
  width: min(1280px, calc(100% - clamp(32px, 7vw, 112px)));
}
body.cs-art-v9971 .cs-v994-footer-grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(270px, 1.18fr) repeat(2, minmax(145px, .58fr)) minmax(250px, .92fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: center;
}
body.cs-art-v9971 .cs-v994-footer-brand {
  text-align: center;
}
body.cs-art-v9971 .cs-v994-footer-logo {
  display: block;
  width: min(100%, 310px) !important;
  max-width: 310px !important;
  margin: 0 auto 1rem;
  transform: none;
}
body.cs-art-v9971 .cs-v994-footer-logo img {
  width: 100% !important;
  height: auto !important;
  max-height: 250px;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.28));
}
body.cs-art-v9971 .cs-v994-footer-brand > p {
  max-width: 34ch;
  margin-inline: auto;
  color: rgba(255,255,255,.83) !important;
}
body.cs-art-v9971 .cs-v994-footer-values {
  color: rgba(229,204,244,.86) !important;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: .75rem;
}
body.cs-art-v9971 .cs-v994-footer h2 {
  margin-bottom: 1rem;
  color: #fff !important;
  font-family: Fraunces, Georgia, serif;
  font-size: 1.2rem;
}
body.cs-art-v9971 .cs-v994-footer-nav a,
body.cs-art-v9971 .cs-v994-footer-nav button.footer-logout {
  min-height: 34px;
  padding: .4rem 0 .4rem 1.55rem !important;
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
  border-bottom: 1px solid rgba(244,181,22,.52);
}
body.cs-art-v9971 .cs-v994-footer-nav a::before,
body.cs-art-v9971 .cs-v994-footer-nav button.footer-logout::before {
  content: "✦";
  top: .55rem;
  color: #ffd74f;
  font-size: .72rem;
}
body.cs-art-v9971 .cs-v994-footer-community {
  position: relative;
  padding: clamp(22px, 3vw, 34px);
  text-align: center;
}
body.cs-art-v9971 .cs-v994-footer-community::before {
  content: "♡";
  margin-bottom: .65rem;
  color: #ffd74f;
  font-size: 2.3rem;
}
body.cs-art-v9971 .cs-v994-footer-community::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 46% 54% 45% 55% / 56% 44% 56% 44%;
  border: 1px solid rgba(255,212,79,.24);
  background: rgba(255,255,255,.045);
}
body.cs-art-v9971 .cs-v994-footer-meta {
  position: relative;
  z-index: 2;
  margin-top: clamp(34px, 5vw, 62px);
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.67) !important;
}

/* Responsive refinement. */
@media (max-width: 980px) {
  body.cs-home-v990.cs-art-v9971 .cs-v990-values-list {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.cs-art-v9971 .cs-v994-footer-grid {
    grid-template-columns: minmax(0,1.2fr) 1fr 1fr !important;
    align-items: start;
  }
  body.cs-art-v9971 .cs-v994-footer-community {
    grid-column: 1 / -1;
    width: min(100%, 560px);
    margin-inline: auto;
  }
}
@media (max-width: 720px) {
  body.cs-art-v9971 .site-header .nav {
    min-height: 78px;
  }
  body.cs-art-v9971 .site-header .logo-brand img[src*="curiospark-header-collective"] {
    width: clamp(148px, 42vw, 172px) !important;
    max-height: 72px !important;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid {
    padding-block: 24px 62px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid::after {
    right: 6px;
    top: 8px;
    width: 86px;
    opacity: .18;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
    padding: 22px 18px;
    border-radius: 24px 10px 24px 10px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-path {
    min-height: 360px;
    padding-right: clamp(24px, 7vw, 48px);
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-path:first-child {
    background:
      linear-gradient(180deg, rgba(255,250,240,.98) 0 62%, rgba(255,250,240,.68) 100%),
      url('/assets/curiospark-in-action/outdoor-learning.webp') center bottom / cover no-repeat;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources {
    background:
      linear-gradient(180deg, rgba(42,7,54,.98) 0 62%, rgba(42,7,54,.64) 100%),
      url('/assets/curiospark-in-action/creative-table.webp') center bottom / cover no-repeat;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    grid-template-columns: minmax(0,1fr) 150px;
    column-gap: 12px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
    max-height: 190px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-upcoming-grid-v966 {
    grid-template-columns: 1fr;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966 {
    padding-right: 130px !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::before {
    right: 10px;
    width: 116px;
    opacity: .72;
  }
  body.cs-art-v9971 .cs-v994-footer {
    padding-top: 96px !important;
  }
}
@media (max-width: 520px) {
  body.cs-home-v990.cs-art-v9971 .cs-v990-values-list {
    grid-template-columns: 1fr 1fr;
    gap: 22px 12px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
    width: 82px;
    height: 82px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-value strong {
    font-size: 1.02rem;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-value p {
    font-size: .84rem;
    line-height: 1.45;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    display: block;
  }
  body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
    position: absolute;
    right: -22px;
    bottom: -8px;
    width: 156px;
    opacity: .33;
    pointer-events: none;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1,
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
    max-width: calc(100% - 42px);
  }
  body.cs-family-v991.cs-art-v9971 :where(
    .fp-upcoming-section-v966,
    .fp-calendar-dashboard-v966,
    .fp-program-chats-v966
  ) .fp-dashboard-section-head-v966 > div:first-child {
    min-height: 50px;
    padding-left: 58px;
  }
  body.cs-family-v991.cs-art-v9971 :where(
    .fp-upcoming-section-v966,
    .fp-calendar-dashboard-v966,
    .fp-program-chats-v966
  ) .fp-dashboard-section-head-v966 > div:first-child::before {
    width: 44px;
    height: 44px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966 {
    min-height: 0;
    padding-right: 16px !important;
    padding-bottom: 112px !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::before {
    right: 18px;
    top: auto;
    bottom: 8px;
    width: 98px;
    transform: none;
  }
  body.cs-art-v9971 .cs-v994-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    text-align: center;
  }
  body.cs-art-v9971 .cs-v994-footer-brand,
  body.cs-art-v9971 .cs-v994-footer-community {
    grid-column: 1 / -1;
  }
  body.cs-art-v9971 .cs-v994-footer-nav {
    padding-block: 14px;
    border-top: 1px solid rgba(255,255,255,.13);
    text-align: left;
  }
  body.cs-art-v9971 .cs-v994-footer-logo {
    max-width: 248px !important;
  }
}

@media (max-width: 360px) {
  body.cs-art-v9971 .cs-v994-footer-grid {
    grid-template-columns: 1fr !important;
  }
  body.cs-art-v9971 .cs-v994-footer-brand,
  body.cs-art-v9971 .cs-v994-footer-community {
    grid-column: auto;
  }
}

/* ==========================================================================
   v9.9.7.2 — Final styling touch-up / strict surgical pass
   Presentation only. Payment, Payhip, registration, waitlist, enrollment,
   Finance, program data/filtering, calendar data, permissions, and Family
   Portal business logic remain frozen.
   ========================================================================== */

/* Approved celestial CurioSpark Collective lockup.
   The background treatment intentionally wins even when legacy auth code
   rewrites the underlying <img> source after sign-in state settles. */
body.cs-art-v9971 .site-header .logo-brand {
  position: relative;
  flex: 0 0 auto;
  width: auto !important;
  height: clamp(76px, 7vw, 90px) !important;
  aspect-ratio: 1116 / 504;
  overflow: visible;
  background: url('/assets/brand-v9971/curiospark-header-collective.png') center / contain no-repeat;
  filter: drop-shadow(0 9px 18px rgba(43, 8, 58, .23));
}
body.cs-art-v9971 .site-header .logo-brand::before,
body.cs-art-v9971 .site-header .logo-brand::after {
  content: none !important;
}
body.cs-art-v9971 .site-header .logo-brand img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 0 !important;
  object-fit: contain !important;
}
body.cs-art-v9971 .site-header .nav {
  min-height: clamp(88px, 8vw, 104px);
}

/* Home: remove the detached grid bulb and keep the bulb inside the copy box. */
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-grid::after {
  content: none !important;
  display: none !important;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-right: clamp(124px, 13vw, 178px) !important;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy > * {
  position: relative;
  z-index: 2;
}
body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: clamp(14px, 2vw, 26px);
  right: clamp(12px, 1.8vw, 26px);
  width: clamp(104px, 10vw, 146px);
  aspect-ratio: 540 / 350;
  background: url('/assets/brand-v9971/home-base-bulb.svg') center / contain no-repeat;
  opacity: .88;
  pointer-events: none;
  filter: drop-shadow(0 12px 20px rgba(65, 18, 86, .16));
  transform: rotate(2deg);
}

/* Additional exact-name program identities. */
.cs-v997-theme-quest,
.cs-v997-theme-math,
.cs-v997-theme-maker,
.cs-v997-theme-minecraft,
.cs-v997-theme-movement,
.cs-v997-theme-fieldtrip,
.cs-v997-theme-music,
.cs-v997-theme-game {
  --cs-v9972-art-ring: rgba(95, 37, 121, .12);
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v9972-illustrated-art,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v9972-illustrated-art {
  outline: 1px solid var(--cs-v9972-art-ring, rgba(95, 37, 121, .10));
  outline-offset: 4px;
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v997-theme-math,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v997-theme-math {
  background: radial-gradient(circle, #fffbea, #e9dcf6) !important;
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v997-theme-quest,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v997-theme-quest {
  background: radial-gradient(circle, #fff4c9, #eadcf4) !important;
}
body.cs-public-v990 :where(.program-card-visual,.v8491-calendar-visual).cs-v997-theme-minecraft,
body.cs-family-v991 :where(.cs-v997-family-program-mark,.cs-v997-calendar-mark).cs-v997-theme-minecraft {
  background: radial-gradient(circle, #e8fff4, #e6dcf4) !important;
}

/* Calendar waitlist action: readable white text in every interaction state. */
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist],
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist]:is(:hover,:focus-visible,:active),
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist]:disabled {
  border-color: #5f2579 !important;
  background: linear-gradient(135deg, #5f2579, #742d91) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px 1px rgba(30, 3, 40, .28);
  opacity: 1 !important;
}
body.cs-public-v990.cs-calendar-v990 button.button[data-calendar-waitlist]:focus-visible {
  outline: 3px solid #f4c72a !important;
  outline-offset: 3px !important;
}

/* Family Portal: use the approved celestial visual as the actual destination
   backdrop while preserving existing authenticated data and accessible text. */
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero {
  padding: clamp(18px, 3vw, 34px) 0 clamp(28px, 4vw, 52px) !important;
  background: linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-content: center;
  min-height: clamp(300px, 31vw, 390px);
  padding: clamp(34px, 5vw, 72px) clamp(28px, 6vw, 86px) !important;
  overflow: hidden;
  border: 1px solid rgba(244, 181, 22, .38);
  border-radius: clamp(24px, 3vw, 38px);
  background: #22042e url('/assets/brand-v9972-family-portal-celestial.svg') center / cover no-repeat !important;
  box-shadow: 0 24px 58px rgba(46, 8, 61, .18);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(255, 250, 235, .98) 0%,
    rgba(255, 250, 235, .94) 38%,
    rgba(255, 250, 235, .68) 54%,
    rgba(255, 250, 235, .08) 76%,
    transparent 100%);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  content: "✦";
  position: absolute;
  z-index: 3;
  left: clamp(26px, 4vw, 60px);
  bottom: clamp(18px, 3vw, 38px);
  width: auto;
  height: auto;
  border: 0;
  background: none;
  color: #f4b516;
  font-size: clamp(1.2rem, 2vw, 1.9rem);
  line-height: 1;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
  position: relative;
  z-index: 3;
  grid-column: 1 !important;
  max-width: min(56%, 650px);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .eyebrow {
  color: #6a2d82 !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
  margin: .35rem 0 .7rem !important;
  color: #3b0b50 !important;
  font-size: clamp(2.55rem, 5.5vw, 5.25rem) !important;
  line-height: .94 !important;
  text-wrap: balance;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
  max-width: 46ch !important;
  color: #55485e !important;
  font-size: clamp(1rem, 1.5vw, 1.22rem);
  line-height: 1.58;
}
body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  opacity: 0 !important;
  pointer-events: none;
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966,
  .fp-adventure-strip-v966
) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
body.cs-family-v991.cs-art-v9971 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
)::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(-34px, -2vw, -14px);
  top: clamp(-34px, -2vw, -12px);
  width: clamp(110px, 13vw, 180px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: .09;
  background: url('/assets/program-art-v9971/wonder-bulb.svg') center / contain no-repeat;
  pointer-events: none;
}
body.cs-family-v991.cs-art-v9971 .fp-calendar-dashboard-v966::after {
  background-image: url('/assets/program-art-v9971/exploration-compass.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-program-chats-v966::after {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-art-v9971 .fp-upcoming-card-v966 {
  background:
    radial-gradient(circle at 92% 8%, rgba(244,181,22,.14), transparent 8rem),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(247,238,251,.90)) !important;
}
body.cs-family-v991.cs-art-v9971 .fp-adventure-strip-v966::after {
  content: "✦  ✧  ✦";
  position: absolute;
  right: clamp(20px, 4vw, 54px);
  top: 18px;
  color: rgba(244, 181, 22, .72);
  letter-spacing: .45rem;
  font-size: 1.1rem;
  pointer-events: none;
}

/* Admin pages opt into this exact public footer through the existing shared
   presentation script. No Admin route, data, or action behavior changes. */
body.cs-admin-footer-v9972 {
  overflow-x: clip;
}
body.cs-admin-footer-v9972 main {
  min-height: 58vh;
}
body.cs-admin-footer-v9972 .cs-v994-footer {
  margin-top: clamp(44px, 7vw, 90px) !important;
  width: 100% !important;
  max-width: none !important;
}
body.cs-admin-footer-v9972 .cs-v994-footer .shell {
  box-sizing: border-box;
}
body.cs-admin-footer-v9972 .cs-v994-footer-grid {
  display: grid;
  align-items: start;
}
body.cs-admin-footer-v9972 .cs-v994-footer-nav {
  display: grid;
  gap: 10px;
}
body.cs-admin-footer-v9972 .cs-v994-footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

@media (max-width: 720px) {
  body.cs-admin-footer-v9972 .cs-v994-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.cs-admin-footer-v9972 .cs-v994-footer-brand,
  body.cs-admin-footer-v9972 .cs-v994-footer-community {
    grid-column: 1 / -1;
  }
  body.cs-admin-footer-v9972 .cs-v994-footer-meta {
    flex-direction: column;
  }
  body.cs-art-v9971 .site-header .logo-brand {
    height: clamp(66px, 18vw, 74px) !important;
  }
  body.cs-art-v9971 .site-header .nav {
    min-height: 82px;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
    padding-right: 96px !important;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 10px;
    right: 6px;
    width: 84px;
    opacity: .54;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 350px;
    padding: 28px 24px 42px !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
    background: linear-gradient(180deg,
      rgba(255,250,235,.98) 0%,
      rgba(255,250,235,.94) 50%,
      rgba(255,250,235,.56) 70%,
      rgba(255,250,235,.08) 100%);
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
    max-width: 100%;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(2.45rem, 11vw, 4rem) !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
    max-width: 31ch !important;
  }
}

@media (max-width: 430px) {
  body.cs-admin-footer-v9972 .cs-v994-footer-grid {
    grid-template-columns: 1fr !important;
  }
  body.cs-admin-footer-v9972 .cs-v994-footer-brand,
  body.cs-admin-footer-v9972 .cs-v994-footer-community {
    grid-column: auto;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy {
    padding-right: 20px !important;
    padding-top: 92px !important;
  }
  body.cs-home-v990.cs-art-v9971 .cs-v990-hero-copy::after {
    top: 8px;
    right: 14px;
    width: 94px;
    opacity: .68;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 390px;
    padding: 24px 20px 40px !important;
    border-radius: 24px;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
    background: linear-gradient(180deg,
      rgba(255,250,235,.985) 0%,
      rgba(255,250,235,.94) 49%,
      rgba(255,250,235,.48) 71%,
      rgba(255,250,235,0) 100%);
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
    max-width: 10ch !important;
    font-size: clamp(2.3rem, 13vw, 3.55rem) !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
    max-width: 27ch !important;
    font-size: .98rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cs-art-v9971 .site-header .logo-brand,
  body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
    transition: none !important;
  }
}


/* ==========================================================================
   v9.9.7.3 — Final micro-pass / approved art + role preview restoration
   Presentation-only except for re-exposing the existing safe Admin preview
   controls already implemented by script.js. No permissions are granted.
   ========================================================================== */

/* Header: use the approved footer-purple celestial environment so the existing
   CurioSpark Collective lockup blends into the header rather than appearing as
   a purple rectangle on cream. Applies to public and Admin opt-in shells. */
body.cs-art-v9971 .site-header {
  background:
    radial-gradient(circle at 8% 28%, rgba(255, 210, 54, .20) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 18%, rgba(255,255,255,.22) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 73% 22%, rgba(255,255,255,.20) 0 1.1px, transparent 2px),
    radial-gradient(circle at 91% 46%, rgba(255,210,54,.18) 0 1.5px, transparent 2.5px),
    linear-gradient(132deg, #190221 0%, #2d073d 42%, #46105d 72%, #23042f 100%) !important;
  border-bottom: 2px solid rgba(246,198,41,.92) !important;
  box-shadow: 0 10px 28px rgba(25,2,33,.34) !important;
}
body.cs-art-v9971 .site-header::after {
  opacity: .26 !important;
}
body.cs-art-v9971 .site-header .logo-brand {
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.30));
}
body.cs-art-v9971 .site-header .nav-toggle {
  border-color: rgba(255,214,71,.94) !important;
  background: linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,243,199,.96)) !important;
  color: #46105d !important;
  -webkit-text-fill-color: #46105d !important;
}
body.cs-art-v9971 .site-header .nav-toggle span {
  background: #46105d !important;
}

/* Approved Devin value art: preserve the open editorial layout, but let the
   supplied transparent illustrations read at a useful, consistent scale. */
body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
  width: clamp(112px, 9.6vw, 154px) !important;
  height: clamp(112px, 9.6vw, 154px) !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

/* Remove only the two unwanted floating art chips from the photo-backed Home
   path panels. Main photography, copy, links and card behavior remain intact. */
body.cs-home-v990.cs-art-v9971 .cs-v990-path::after,
body.cs-home-v990.cs-art-v9971 .cs-v994-path-resources::after {
  content: none !important;
  display: none !important;
}

/* Family Portal flagship hero: production vector art mirrors the supplied
   celestial reference without baking homepage copy or a Menu control into the
   image. Portal-specific text remains live, selectable and accessible. */
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero {
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  background: #190221 !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
  position: relative;
  isolation: isolate;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(370px, 34vw, 510px) !important;
  margin: 0 !important;
  padding: clamp(54px, 6vw, 86px) clamp(130px, 15vw, 260px) clamp(74px, 8vw, 112px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center;
  background:
    url('/assets/brand-v9974/family-portal-hero-field.svg') center / cover no-repeat,
    url('/assets/brand-v9973/family-portal-top-reference.webp') center / cover no-repeat,
    url('/assets/brand-v9972-family-portal-celestial.svg') center / cover no-repeat !important;
  box-shadow: 0 24px 54px rgba(27, 2, 37, .22);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before,
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  content: "" !important;
  position: absolute;
  z-index: 1;
  display: block !important;
  pointer-events: none;
  transform: none;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::before {
  left: clamp(-34px, 1vw, 18px) !important;
  top: clamp(64px, 9vw, 132px) !important;
  width: clamp(190px, 22vw, 330px);
  aspect-ratio: 320 / 300;
  background: url('/assets/brand-v9974/family-portal-hero-planet.svg') center / contain no-repeat !important;
  filter: drop-shadow(0 18px 26px rgba(25, 2, 33, .28));
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell::after {
  right: clamp(-12px, 3vw, 56px) !important;
  top: clamp(48px, 6vw, 92px) !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(176px, 19vw, 290px);
  aspect-ratio: 280 / 360;
  background: url('/assets/brand-v9974/family-portal-hero-bulb.svg') center / contain no-repeat !important;
  filter: drop-shadow(0 20px 30px rgba(25, 2, 33, .3));
}
body.cs-family-v991.cs-art-v9971 .fp-v9974-hero-copy {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
  transform: translateY(clamp(42px, 4vw, 58px));
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
  max-width: none !important;
  margin-inline: auto;
  text-align: center;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .eyebrow {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
  max-width: 14ch !important;
  margin: 0 auto !important;
  color: #3c0b50 !important;
  font-size: clamp(3rem, 6vw, 6rem) !important;
  line-height: .92 !important;
  letter-spacing: -.055em;
  text-wrap: balance;
  text-shadow: 0 2px 0 rgba(255,255,255,.45);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1::after {
  content: "";
  display: block;
  width: min(420px, 76%);
  height: 4px;
  margin: 16px auto 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #f4b516 18%, #7b2c92 82%, transparent);
}
body.cs-family-v991.cs-art-v9971 .fp-home-base-hero p:last-of-type {
  max-width: 54ch !important;
  margin: 0 auto;
  color: #493852 !important;
  font-size: clamp(.98rem, 1.45vw, 1.2rem);
  font-weight: 650;
  line-height: 1.55;
  text-wrap: balance;
}
body.cs-family-v991.cs-art-v9971 .fp-v9971-hero-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none;
}

/* Existing safe Admin role preview UI, restored as a compact toggle. These
   controls call the already-audited preview functions in script.js and never
   grant or alter account permissions. */
.cs-admin-role-switcher-v9973 {
  position: relative;
  z-index: 40;
  width: 100%;
  margin: 0;
  border-bottom: 1px solid rgba(246,198,41,.38);
  background: linear-gradient(90deg, #22042f, #39104d 55%, #260634);
  color: #fff;
  box-shadow: 0 8px 22px rgba(25,2,33,.18);
}
.cs-admin-role-switcher-v9973[hidden] { display: none !important; }
.cs-admin-role-switcher-v9973__inner {
  width: min(1280px, calc(100% - clamp(24px, 6vw, 96px)));
  margin: 0 auto;
  padding: 10px 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.cs-admin-role-switcher-v9973__label {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.cs-admin-role-switcher-v9973__label strong {
  color: #fff;
  font-size: .92rem;
}
.cs-admin-role-switcher-v9973__label span {
  color: rgba(255,255,255,.72);
  font-size: .76rem;
}
.cs-admin-role-switcher-v9973__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.cs-admin-role-switcher-v9973 button {
  min-height: 40px;
  padding: .55rem .88rem;
  border: 1px solid rgba(255,215,79,.58);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  -webkit-text-fill-color: #fff;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}
.cs-admin-role-switcher-v9973 button:is(:hover,:focus-visible),
.cs-admin-role-switcher-v9973 button[aria-pressed="true"] {
  border-color: #ffd74f;
  background: #fff8db;
  color: #431052;
  -webkit-text-fill-color: #431052;
}
.cs-admin-role-switcher-v9973 button:focus-visible {
  outline: 3px solid #ffd74f;
  outline-offset: 2px;
}

@media (max-width: 720px) {
  body.cs-home-v990.cs-art-v9971 .cs-v990-value .cs-v997-value-icon {
    width: clamp(104px, 28vw, 138px) !important;
    height: clamp(104px, 28vw, 138px) !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 400px !important;
    padding: 70px 74px 70px !important;
    background-position: center !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(2.7rem, 11vw, 4.2rem) !important;
  }
  .cs-admin-role-switcher-v9973__inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .cs-admin-role-switcher-v9973__buttons {
    width: 100%;
    justify-content: flex-start;
  }
  .cs-admin-role-switcher-v9973 button {
    flex: 1 1 calc(50% - 6px);
  }
}

@media (max-width: 430px) {
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell {
    min-height: 380px !important;
    border-radius: 0 !important;
  }
  body.cs-family-v991.cs-art-v9971 .fp-home-base-hero .shell > :not(.fp-v9971-hero-art) {
    max-width: 100% !important;
  }
  .cs-admin-role-switcher-v9973__label span { display: none; }
}


/* ========================================================================== 
   CurioSpark v9.9.7.4 — Family Portal flagship visual pass + anchor accuracy
   Route-scoped presentation only. Payment, registration, enrollment, program,
   calendar, permission and financial business logic remain untouched.
   ========================================================================== */
body.cs-family-v991.cs-family-v9974 {
  --cs-fp-anchor-offset: 116px;
  overflow-x: clip;
  background:
    radial-gradient(circle at 8% 18%, rgba(244,181,22,.08), transparent 22rem),
    radial-gradient(circle at 94% 34%, rgba(117,48,145,.10), transparent 30rem),
    linear-gradient(180deg, #fffaf0 0%, #fffdf9 26%, #faf4fc 68%, #fffaf0 100%);
}
body.cs-family-v991.cs-family-v9974 :where(
  #fp-v991-upcoming,
  #fp-v991-programs,
  #fp-v994-discover,
  #fp-v994-calendar,
  #fp-v994-chats,
  #fp-v991-family,
  #fp-v991-payments,
  #fp-v994-help,
  #your-programs,
  #your-learners,
  #registration-payments
) {
  scroll-margin-top: calc(var(--cs-fp-anchor-offset, 116px) + 18px);
}
body.cs-family-v991.cs-family-v9974 .fp-page {
  width: min(1240px, calc(100% - clamp(24px, 4vw, 64px)));
  padding-bottom: clamp(44px, 7vw, 90px);
}
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav {
  position: relative;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  /* v9.9.7.5: clear the hero instead of overlapping it, while removing the
     old stacked bottom margin that created the oversized blank transition. */
  margin: clamp(14px, 1.6vw, 22px) auto 0 !important;
  padding: 6px !important;
  overflow: hidden;
  border: 1px solid rgba(95,37,121,.14) !important;
  border-radius: 999px !important;
  background: rgba(255,253,248,.94) !important;
  box-shadow: 0 16px 38px rgba(42,8,57,.12) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a {
  justify-content: center;
  min-width: 0;
  min-height: 46px;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 999px;
  color: #654e70;
  text-align: center;
  white-space: nowrap;
}
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a:is(:hover,:focus-visible),
body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a[aria-current="location"] {
  color: #3f0d52;
  background: linear-gradient(135deg, #fff1b8, #efe0f6);
  box-shadow: inset 0 0 0 1px rgba(95,37,121,.10);
}
/* When the priority mount has no visible family action, do not preserve the
   legacy section-to-section top margin ahead of the first dashboard panel. */
body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966[hidden] + #fp-v991-upcoming,
body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966:empty + #fp-v991-upcoming {
  margin-top: 0 !important;
}
body.cs-family-v991.cs-family-v9974 .fp-dashboard-layout-v966 {
  gap: clamp(24px, 4vw, 48px);
}
body.cs-family-v991.cs-family-v9974 :where(
  .fp-upcoming-section-v966,
  .fp-calendar-dashboard-v966,
  .fp-program-chats-v966
) {
  padding: clamp(28px, 4vw, 48px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 44px rgba(50,13,66,.08) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-section-v966 {
  background:
    radial-gradient(circle at 94% 12%, rgba(255,215,76,.22), transparent 13rem),
    linear-gradient(135deg, #fffdf7 0%, #f7eefa 100%) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-dashboard-v966 {
  background:
    radial-gradient(circle at 92% 6%, rgba(146,74,172,.12), transparent 15rem),
    linear-gradient(135deg, #fff 0%, #fff8e4 46%, #f4eafa 100%) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 {
  background:
    radial-gradient(circle at 92% 16%, rgba(255,215,76,.18), transparent 12rem),
    linear-gradient(135deg, #f7edfb 0%, #fffdf8 66%) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-grid-v966 { gap: clamp(14px, 2vw, 22px); }
body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966,
body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966:last-child {
  min-height: 188px;
  padding: clamp(18px, 2vw, 24px) !important;
  border: 1px solid rgba(95,37,121,.11) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 12px 28px rgba(50,13,66,.07) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966 .cs-v997-family-program-mark {
  width: clamp(72px, 7vw, 96px);
  height: clamp(72px, 7vw, 96px);
  border: 0;
  background: radial-gradient(circle, #fff7cc 0 57%, transparent 58%);
}
body.cs-family-v991.cs-family-v9974 #fp-v991-programs > .fp-manager-card--programs,
body.cs-family-v991.cs-family-v9974 #fp-v991-family > .fp-family-information-v966,
body.cs-family-v991.cs-family-v9974 #fp-v991-payments > .fp-registration-payments-v966 {
  padding: clamp(28px, 4vw, 48px) !important;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 44px rgba(50,13,66,.07) !important;
}
body.cs-family-v991.cs-family-v9974 #fp-v991-programs > .fp-manager-card--programs {
  background: linear-gradient(135deg, #fff 0%, #f7effa 100%) !important;
}
body.cs-family-v991.cs-family-v9974 #fp-v991-family > .fp-family-information-v966 {
  background: linear-gradient(135deg, #fffdf8 0%, #fff4cf 100%) !important;
}
body.cs-family-v991.cs-family-v9974 #fp-v991-payments > .fp-registration-payments-v966 {
  background: linear-gradient(135deg, #fff 0%, #faf5fb 100%) !important;
}
body.cs-family-v991.cs-family-v9974 :where(
  #fp-v991-programs .fp-manager-head > div:first-child,
  #fp-v991-family .fp-manager-head > div:first-child,
  #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
  .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
) {
  position: relative;
  min-height: 70px;
  padding-left: 82px;
}
body.cs-family-v991.cs-family-v9974 :where(
  #fp-v991-programs .fp-manager-head > div:first-child,
  #fp-v991-family .fp-manager-head > div:first-child,
  #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
  .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
  .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 64px;
  height: 64px;
  background: center / contain no-repeat;
}
body.cs-family-v991.cs-family-v9974 .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/seasonal-star.svg');
}
body.cs-family-v991.cs-family-v9974 #fp-v991-programs .fp-manager-head > div:first-child::before {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/exploration-compass.svg');
}
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/community-people.svg');
}
body.cs-family-v991.cs-family-v9974 #fp-v991-family .fp-manager-head > div:first-child::before {
  background-image: url('/assets/value-art-v9973/everyone-belongs.webp');
}
body.cs-family-v991.cs-family-v9974 #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child::before {
  background-image: url('/assets/program-art-v9971/wonder-bulb.svg');
}
body.cs-family-v991.cs-family-v9974 .fp-program-learner-group {
  padding-block: clamp(16px,2vw,24px);
  border-top: 1px solid rgba(95,37,121,.10);
}
body.cs-family-v991.cs-family-v9974 .fp-program-learner-head { border: 0 !important; background: transparent !important; }
body.cs-family-v991.cs-family-v9974 .fp-program-status-card { border-color: rgba(95,37,121,.11) !important; box-shadow: none !important; }
body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966 {
  position: relative;
  min-height: 210px;
  padding: clamp(30px,4vw,52px) clamp(200px,22vw,340px) clamp(30px,4vw,52px) clamp(30px,4vw,52px) !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 30px !important;
  background: linear-gradient(120deg, #fff7d4 0%, #fffdf7 54%, #ead8f3 100%) !important;
  box-shadow: 0 18px 44px rgba(50,13,66,.08) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966::before {
  content: "";
  position: absolute;
  right: clamp(40px,8vw,116px);
  top: 50%;
  width: clamp(128px,15vw,200px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/assets/program-art-v9971/exploration-compass.svg') center / contain no-repeat;
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-month-v966 { border: 0 !important; background: rgba(255,255,255,.66) !important; }
body.cs-family-v991.cs-family-v9974 .fp-calendar-grid-v966 { border-color: rgba(95,37,121,.10) !important; }
body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 > a.cs-v997-calendar-identity {
  display: grid;
  grid-template-columns: 58px auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-left: 3px solid #f4b516;
  border-radius: 10px;
  background: rgba(255,255,255,.58);
}
body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 .cs-v997-calendar-mark { width: 50px; height: 50px; }
body.cs-family-v991.cs-family-v9974 .fp-program-chat-list-v966 .fp-dashboard-empty-v966,
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966 {
  position: relative;
  min-height: 190px;
  padding: 30px clamp(170px,20vw,280px) 30px 30px;
  border: 0 !important;
  background: rgba(255,255,255,.66) !important;
}
body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966::after {
  content: "";
  position: absolute;
  right: clamp(28px,7vw,92px);
  top: 50%;
  width: clamp(112px,13vw,170px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  background: url('/assets/program-art-v9971/community-people.svg') center / contain no-repeat;
}
body.cs-family-v991.cs-family-v9974 .fp-program-chat-row-v966 { border-color: rgba(95,37,121,.11) !important; background: rgba(255,255,255,.72) !important; }
body.cs-family-v991.cs-family-v9974 .fp-program-chat-row-v966 .cs-v997-family-program-mark,
body.cs-family-v991.cs-family-v9974 .fp-program-status-card .cs-v997-family-program-mark { width: 66px; height: 66px; }
body.cs-family-v991.cs-family-v9974 .fp-family-information-v966 .fp-learner-card { border: 0 !important; background: rgba(255,255,255,.72) !important; box-shadow: 0 10px 24px rgba(50,13,66,.06) !important; }
body.cs-family-v991.cs-family-v9974 .fp-registration-payments-v966 :where(.fp-manager-card,.fp-workshop-plan-card--primary) { box-shadow: none !important; border-color: rgba(95,37,121,.10) !important; }

@media (max-width: 920px) {
  body.cs-family-v991.cs-family-v9974 { --cs-fp-anchor-offset: 104px; }
  body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav {
    display: flex;
    width: 100%;
    max-width: 100%;
    grid-template-columns: none;
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav a {
    flex: 0 0 118px;
    scroll-snap-align: start;
  }
}

@media (max-width: 720px) {
  body.cs-family-v991.cs-family-v9974 { --cs-fp-anchor-offset: 96px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell {
    min-height: 400px !important;
    padding: 70px 74px 70px !important;
    background-position: center !important;
  }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::before {
    left: -54px !important;
    top: 82px !important;
    width: 170px;
  }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::after {
    right: -38px !important;
    top: 74px !important;
    width: 158px;
  }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero h1 { font-size: clamp(2.7rem, 11vw, 4.2rem) !important; }
  body.cs-family-v991.cs-family-v9974 .fp-page { width: min(100% - 22px, 1240px); }
  body.cs-family-v991.cs-family-v9974 :where(
    .fp-upcoming-section-v966,
    .fp-calendar-dashboard-v966,
    .fp-program-chats-v966,
    #fp-v991-programs > .fp-manager-card--programs,
    #fp-v991-family > .fp-family-information-v966,
    #fp-v991-payments > .fp-registration-payments-v966,
    .fp-adventure-strip-v966
  ) { padding: 22px !important; border-radius: 24px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966 { padding-bottom: 150px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-adventure-strip-v966::before {
    right: 50%; top: auto; bottom: 20px; width: 120px; transform: translateX(50%);
  }
  body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966 { min-height: 0; padding: 22px 22px 134px; }
  body.cs-family-v991.cs-family-v9974 .fp-program-chats-v966 .fp-dashboard-empty-v966::after {
    right: 50%; top: auto; bottom: 12px; width: 102px; transform: translateX(50%);
  }
}

@media (max-width: 430px) {
  body.cs-family-v991.cs-family-v9974 { --cs-fp-anchor-offset: 90px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell { min-height: 380px !important; padding: 64px 56px 58px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::before { left: -72px !important; top: 96px !important; width: 148px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::after { right: -54px !important; top: 88px !important; width: 138px; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .eyebrow { font-size: .68rem; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero h1 { max-width: 11ch !important; font-size: clamp(2.45rem,12vw,3.35rem) !important; }
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero p:last-of-type { font-size: .9rem; line-height: 1.45; }
  body.cs-family-v991.cs-family-v9974 .fp-v991-quick-nav { margin-top: 14px !important; margin-bottom: 0 !important; }
  body.cs-family-v991.cs-family-v9974 :where(
    #fp-v991-programs .fp-manager-head > div:first-child,
    #fp-v991-family .fp-manager-head > div:first-child,
    #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
    .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
  ) { min-height: 54px; padding-left: 62px; }
  body.cs-family-v991.cs-family-v9974 :where(
    #fp-v991-programs .fp-manager-head > div:first-child,
    #fp-v991-family .fp-manager-head > div:first-child,
    #fp-v991-payments > .fp-registration-payments-v966 > .fp-dashboard-section-head-v966 > div:first-child,
    .fp-upcoming-section-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-calendar-dashboard-v966 .fp-dashboard-section-head-v966 > div:first-child,
    .fp-program-chats-v966 .fp-dashboard-section-head-v966 > div:first-child
  )::before { width: 48px; height: 48px; }
  body.cs-family-v991.cs-family-v9974 .fp-upcoming-card-v966 { min-height: 0; }
  body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 > a.cs-v997-calendar-identity { grid-template-columns: 46px auto minmax(0,1fr); padding-inline: 8px; }
  body.cs-family-v991.cs-family-v9974 .fp-calendar-events-v966 .cs-v997-calendar-mark { width: 40px; height: 40px; }
}

@media (max-width: 360px) {
  body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell { min-height: 370px !important; padding-inline: 48px !important; }
  body.cs-family-v991.cs-family-v9974 .fp-page { width: min(100% - 16px, 1240px); }
}

/* ========================================================================== 
   CurioSpark v9.9.7.7 — Approved Family Portal hero + global illustrated header
   Presentation-only micro patch. Uses the supplied approved artwork exactly;
   no Payhip, payment, registration, enrollment, program, calendar, auth,
   permission, Finance, or Admin business logic is changed.
   ========================================================================== */

:root {
  --cs-v9977-header-height: clamp(106px, 9.2vw, 132px);
}

/* The supplied header artwork is the visible header. Existing Home and Menu
   controls remain the real accessible/clickable elements and sit over the
   matching artwork zones. The normal menu panel and its behavior are untouched. */
.site-header {
  min-height: var(--cs-v9977-header-height) !important;
  background: #21042e url('/assets/brand-v9977/curiospark-global-header-desktop.webp') center / 100% 100% no-repeat !important;
  border-bottom: 0 !important;
  box-shadow: 0 12px 30px rgba(25, 2, 33, .28) !important;
}
.site-header::after {
  content: none !important;
  display: none !important;
}
.site-header .nav {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: var(--cs-v9977-header-height) !important;
  height: var(--cs-v9977-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-header .logo-brand {
  position: absolute !important;
  z-index: 1002 !important;
  left: 2.7% !important;
  top: 50% !important;
  width: 22% !important;
  max-width: none !important;
  height: 74% !important;
  aspect-ratio: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
.site-header .logo-brand::before,
.site-header .logo-brand::after {
  content: none !important;
  display: none !important;
}
.site-header .logo-brand img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  opacity: 0 !important;
  object-fit: contain !important;
  pointer-events: none !important;
}
.site-header .nav-toggle {
  position: absolute !important;
  z-index: 1002 !important;
  right: 2.7% !important;
  top: 50% !important;
  width: 22% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 74% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-size: 0 !important;
}
.site-header .nav-toggle::before,
.site-header .nav-toggle::after,
.site-header .nav-toggle span {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}
.site-header .logo-brand:focus-visible,
.site-header .nav-toggle:focus-visible {
  outline: 4px solid #ffd64a !important;
  outline-offset: 3px !important;
}
.site-header .nav-links {
  top: calc(var(--cs-v9977-header-height) + 10px) !important;
}

/* Use the supplied approved Family Portal image as the headline artwork.
   The prior layered reconstruction is fully retired visually. The existing
   semantic heading/summary remain in the DOM for assistive technology. */
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero {
  padding: 0 !important;
  overflow: hidden !important;
  background: #21042e !important;
  border: 0 !important;
}
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::before,
body.cs-family-v991.cs-family-v9974 .fp-home-base-hero .shell::after {
  content: none !important;
  display: none !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9977-hero-picture,
body.cs-family-v991.cs-family-v9974 .fp-v9977-hero-picture img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9977-hero-picture img {
  object-fit: contain !important;
  object-position: center !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9974-hero-copy {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  transform: none !important;
}
body.cs-family-v991.cs-family-v9974 .fp-v9971-hero-art {
  display: none !important;
}

@media (max-width: 820px) {
  :root { --cs-v9977-header-height: clamp(84px, 22vw, 104px); }
  .site-header {
    background-image: url('/assets/brand-v9977/curiospark-global-header-mobile.webp') !important;
  }
  .site-header .logo-brand {
    left: 1.2% !important;
    width: 24% !important;
    height: 72% !important;
  }
  .site-header .nav-toggle {
    right: 1.2% !important;
    width: 24% !important;
    height: 72% !important;
  }
}

@media (max-width: 430px) {
  :root { --cs-v9977-header-height: clamp(78px, 23vw, 94px); }
  .site-header .logo-brand,
  .site-header .nav-toggle {
    width: 25.5% !important;
  }
}


/* Source: /curiospark-family-portal-program-icon-containment-v10015b3.css */
/* CurioSpark v10.0.15b3 — Family Portal Program Icon Containment
   Presentation-only correction for Coming Up + Current Enrollments.
   Replaces the Family Portal's oversized illustrated program marks with the
   existing compact canonical program-icon assets and hard paint containment.
   No API, payment, Finance, enrollment, registration, Admin, auth, or data logic. */

body.cs-family-v991.cs-family-v9974
:is(.fp-upcoming-card-v966, .fp-program-status-card) {
  /* There is no intentional yellow left rail/pseudo-art on these two member cards. */
  border-left-color: rgba(95,37,121,.11) !important;
  background-clip: padding-box !important;
}

body.cs-family-v991.cs-family-v9974
:is(.fp-upcoming-card-v966, .fp-program-status-card)::before,
body.cs-family-v991.cs-family-v9974
:is(.fp-upcoming-card-v966, .fp-program-status-card)::after {
  content: none !important;
  display: none !important;
}

/* If any older presentation layer left a raw image/picture as a direct card child,
   it is not canonical Family Portal card content and must not paint behind the mark. */
body.cs-family-v991.cs-family-v9974
:is(.fp-upcoming-card-v966, .fp-program-status-card)
> :is(img, picture) {
  display: none !important;
}

body.cs-family-v991.cs-family-v9974
:is(.fp-upcoming-card-v966, .fp-program-status-card)
> .cs-v997-family-program-mark.cs-v10015b3-safe-program-mark {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  overflow: clip !important;
  contain: paint !important;
  isolation: isolate !important;
  clip-path: circle(50% at 50% 50%) !important;
  border: 1px solid rgba(95,37,121,.10) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, #fffdf4 0%, #f6ebfa 100%) !important;
  box-shadow: 0 8px 18px rgba(48,10,64,.10) !important;
  box-sizing: border-box !important;
  transform: none !important;
}

body.cs-family-v991.cs-family-v9974
.fp-upcoming-card-v966
> .cs-v997-family-program-mark.cs-v10015b3-safe-program-mark {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  min-height: 76px !important;
  max-width: 76px !important;
  max-height: 76px !important;
}

body.cs-family-v991.cs-family-v9974
.fp-program-status-card
> .cs-v997-family-program-mark.cs-v10015b3-safe-program-mark {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  min-height: 62px !important;
  max-width: 62px !important;
  max-height: 62px !important;
}

body.cs-family-v991.cs-family-v9974
:is(.fp-upcoming-card-v966, .fp-program-status-card)
> .cs-v997-family-program-mark.cs-v10015b3-safe-program-mark
> img.cs-v10015b3-safe-program-icon {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 68% !important;
  height: 68% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 68% !important;
  max-height: 68% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

@media (max-width: 640px) {
  body.cs-family-v991.cs-family-v9974
  .fp-upcoming-card-v966
  > .cs-v997-family-program-mark.cs-v10015b3-safe-program-mark {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    min-height: 68px !important;
    max-width: 68px !important;
    max-height: 68px !important;
  }

  body.cs-family-v991.cs-family-v9974
  .fp-program-status-card
  > .cs-v997-family-program-mark.cs-v10015b3-safe-program-mark {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !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-family-portal-opening-gap-v10001.css */
/* CurioSpark v10.0.1 — Family Portal opening transition micro-patch.
   Scope: only the empty quick-nav -> Coming up transition.
   No functional, payment, registration, navigation, or data behavior. */

body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966:has(> .fp-email-link-status[hidden]:only-child) {
  display: none !important;
}

body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966:has(> .fp-email-link-status[hidden]:only-child) + #fp-v991-upcoming,
body.cs-family-v991.cs-family-v9974 .fp-priority-mount-v966:empty + #fp-v991-upcoming {
  /* The dashboard grid deliberately keeps generous spacing between real panels.
     Trim only the first transition after an empty priority mount. */
  margin-top: calc(-1 * clamp(10px, 1.7vw, 22px)) !important;
}


