.site-header{position:relative;top:auto;z-index:1000;background-color:#6ecfff;border-bottom:none;box-shadow:none;padding:20px 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:19.2px;min-height:88px}.header-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.header-logo img{height:88px;width:auto;object-fit:contain}.header-logo-text{font-family:Inter,sans-serif;font-size:23.774px;font-weight:600;color:#111;display:block}.header-nav .nav-list{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{display:inline-flex;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:16.8px;font-weight:500;color:#111;text-decoration:none;text-transform:none;letter-spacing:normal;padding:.25rem 0;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition)}.nav-caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.75}.has-submenu:hover>.nav-link .nav-caret,.has-submenu:focus-within>.nav-link .nav-caret{opacity:1}.nav-link:hover{color:#111;border-bottom-color:#111}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.header-actions .btn.btn-gold{background-color:#ffc776;border-color:#ffc776;color:#111;border-radius:30px;font-family:Inter,sans-serif;font-size:14.4px;font-weight:500;padding:9.6px 16px;text-transform:none;letter-spacing:normal}.header-actions .btn.btn-gold:hover{background-color:#ffc776;border-color:#ffc776;color:#111;opacity:.9}.submenu-list{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:180px;list-style:none;margin:0;padding:8px 0;background:#6ecfff;border:1px solid rgba(17,17,17,.15);border-radius:8px;z-index:1001}.has-submenu:hover>.submenu-list,.has-submenu:focus-within>.submenu-list{display:block}.submenu-link{display:block;padding:8px 12px;font-family:Inter,sans-serif;font-size:14.4px;font-weight:500;color:#111;text-decoration:none;white-space:nowrap}.submenu-link:hover{background:#11111114}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.25rem}.hamburger span{display:block;width:24px;height:2px;background-color:#111;border-radius:2px;transition:all var(--transition)}@media (max-width: 768px){.site-header{padding:20px 0}.header-inner{min-height:auto;gap:12px}.header-logo img{height:64px}.header-logo-text{font-size:20px}.hamburger{display:flex}.header-nav{position:absolute;top:100%;left:0;right:0;background-color:#6ecfff;border-bottom:none;box-shadow:none;display:none;z-index:999}.header-nav.open{display:block}.header-nav .nav-list{flex-direction:column;align-items:flex-start;gap:0;padding:10px 0}.header-nav .nav-list li{width:100%}.nav-link{display:inline-flex;align-items:center;gap:6px;width:100%;padding:8px var(--container-padding);border-bottom:none}.submenu-list{display:block;position:static;min-width:0;margin:0;padding:0 0 6px;border:none;border-radius:0;background:transparent}.submenu-link{padding:6px calc(var(--container-padding) + 18px);font-size:14px;opacity:.9}.submenu-link:hover{background:transparent;opacity:1}}.site-footer{background-color:#6ecfff;color:#111;padding-top:41.6px;padding-bottom:41.6px}.footer-layout{display:grid;grid-template-columns:30% 70%;gap:var(--spacing-xl);align-items:start}.footer-tagline{color:#636363;font-family:Inter,sans-serif;font-size:14.4px;margin:0}.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.footer-heading{font-family:Inter,sans-serif;font-size:16.8px;font-weight:600;text-transform:none;letter-spacing:normal;color:#111;margin-bottom:var(--spacing-md)}.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm);margin:0;padding:0}.footer-links a{color:#111;font-family:Inter,sans-serif;font-size:14.4px;text-decoration:none;transition:opacity var(--transition)}.footer-links a:hover{opacity:.75}.footer-social-icons{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.social-icon{width:36px;height:36px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:transform var(--transition),opacity var(--transition)}.social-icon svg{width:24px;height:24px}.social-icon:hover{transform:translateY(-1px);opacity:.92}.social-facebook{background-color:#0866ff}.social-instagram{background-color:#f00075}.social-tiktok,.social-threads{background-color:#000}.social-bluesky{background-color:#0a7aff}@media (max-width: 768px){.footer-layout{grid-template-columns:1fr}.footer-links-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media (max-width: 480px){.footer-links-grid{grid-template-columns:1fr}}:root{--cc-blue: #0057a8;--cc-blue-dark: #003d7a;--cc-blue-light: #1a6fc4;--cc-gold: #f5a623;--cc-gold-dark: #d4881a;--cc-white: #ffffff;--cc-black: #1a1a1a;--cc-gray-100: #f8f9fa;--cc-gray-200: #e9ecef;--cc-gray-300: #dee2e6;--cc-gray-400: #ced4da;--cc-gray-500: #adb5bd;--cc-gray-600: #6c757d;--cc-gray-700: #495057;--cc-gray-800: #343a40;--cc-gray-900: #212529;--cc-success: #28a745;--cc-danger: #dc3545;--cc-warning: #ffc107;--cc-info: #17a2b8;--font-heading: "Montserrat", sans-serif;--font-body: "Open Sans", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-pill: 50px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--container-max: 1200px;--container-padding: 1.5rem;--header-height: 72px;--transition: .2s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--cc-black);background-color:var(--cc-white);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--cc-black)}a{color:var(--cc-blue);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--cc-blue-dark)}img{max-width:100%;height:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-heading);font-size:.875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.75rem 1.75rem;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition),transform var(--transition);text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--cc-blue);color:var(--cc-white);border-color:var(--cc-blue)}.btn-primary:hover{background-color:var(--cc-blue-dark);border-color:var(--cc-blue-dark);color:var(--cc-white)}.btn-secondary{background-color:transparent;color:var(--cc-blue);border-color:var(--cc-blue)}.btn-secondary:hover{background-color:var(--cc-blue);color:var(--cc-white)}.btn-gold{background-color:var(--cc-gold);color:var(--cc-white);border-color:var(--cc-gold)}.btn-gold:hover{background-color:var(--cc-gold-dark);border-color:var(--cc-gold-dark);color:var(--cc-white)}.btn-danger{background-color:var(--cc-danger);color:var(--cc-white);border-color:var(--cc-danger)}.btn-sm{font-size:.75rem;padding:.5rem 1.25rem}.btn-lg{font-size:1rem;padding:1rem 2.5rem}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:var(--cc-gray-800)}.form-label.required:after{content:" *";color:var(--cc-danger)}.form-control{width:100%;padding:.625rem .875rem;font-family:var(--font-body);font-size:1rem;color:var(--cc-gray-900);background-color:var(--cc-white);border:1.5px solid var(--cc-gray-300);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control:focus{outline:none;border-color:var(--cc-blue);box-shadow:0 0 0 3px #0057a826}.form-control:invalid:not(:placeholder-shown){border-color:var(--cc-danger)}.form-control::placeholder{color:var(--cc-gray-400)}textarea.form-control{resize:vertical;min-height:100px}select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236c757d' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem;cursor:pointer}.form-error{font-size:.8rem;color:var(--cc-danger);margin-top:var(--spacing-xs)}.form-hint{font-size:.8rem;color:var(--cc-gray-600);margin-top:var(--spacing-xs)}.form-check{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer}.form-check input[type=checkbox],.form-check input[type=radio]{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.2rem;accent-color:var(--cc-blue);cursor:pointer}.form-check-label{font-size:.9rem;color:var(--cc-gray-800);line-height:1.5}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--spacing-2xl) 0}.card{background:var(--cc-white);border:1px solid var(--cc-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--spacing-lg)}.divider{border:none;border-top:1px solid var(--cc-gray-200);margin:var(--spacing-lg) 0}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--cc-gray-600)}.text-danger{color:var(--cc-danger)}.text-success{color:var(--cc-success)}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:700;font-family:var(--font-heading);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em}.badge-full{background-color:var(--cc-danger);color:var(--cc-white)}.badge-available{background-color:var(--cc-success);color:var(--cc-white)}.badge-waitlist{background-color:var(--cc-warning);color:var(--cc-black)}@media (max-width: 768px){:root{--container-padding: 1rem}.card{padding:var(--spacing-lg)}.btn-lg{width:100%}}#root{display:flex;flex-direction:column;min-height:100vh}.page-content{flex:1;padding:var(--spacing-2xl) 0;background-color:var(--cc-gray-100)}.registration-wrapper{max-width:780px;margin:0 auto;padding:0 var(--container-padding)}.step-nav{display:flex;justify-content:space-between;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--cc-gray-200)}.dynamic-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--spacing-sm);align-items:end;margin-bottom:var(--spacing-sm)}.dynamic-row.two-col{grid-template-columns:160px 1fr auto}.btn-remove{background:none;border:1.5px solid var(--cc-gray-300);border-radius:var(--radius-md);color:var(--cc-danger);cursor:pointer;padding:.625rem .75rem;font-size:1rem;line-height:1;transition:background-color var(--transition),border-color var(--transition);flex-shrink:0;align-self:flex-end}.btn-remove:hover{background-color:#fff0f0;border-color:var(--cc-danger)}.btn-add{background:none;border:1.5px dashed var(--cc-blue);border-radius:var(--radius-md);color:var(--cc-blue);cursor:pointer;padding:.5rem 1rem;font-family:var(--font-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:background-color var(--transition);display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.btn-add:hover{background-color:#0057a80f}.waiver-text{background-color:var(--cc-gray-100);border:1px solid var(--cc-gray-300);border-radius:var(--radius-md);padding:var(--spacing-md);font-size:.875rem;line-height:1.7;color:var(--cc-gray-700);max-height:200px;overflow-y:auto;margin-bottom:var(--spacing-md)}.waiver-text ul,.waiver-text ol{padding-left:1.5rem}.waiver-text li{margin-bottom:var(--spacing-xs)}.child-card{background:var(--cc-white);border:1.5px solid var(--cc-blue-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);position:relative}.child-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.child-card-title{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--cc-blue);text-transform:uppercase;letter-spacing:.06em}.slot-card{border:2px solid var(--cc-gray-300);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:border-color var(--transition),background-color var(--transition);text-align:center}.slot-card:hover:not(.slot-full){border-color:var(--cc-blue);background-color:#0057a80a}.slot-card.selected{border-color:var(--cc-blue);background-color:#0057a814}.slot-card.slot-full{opacity:.7;cursor:default;background-color:var(--cc-gray-100)}.slot-time{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--cc-blue);margin-bottom:var(--spacing-xs)}.slot-capacity{font-size:.8rem;color:var(--cc-gray-600)}.session-block{margin-bottom:var(--spacing-xl)}.session-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--cc-black);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--cc-blue)}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.payment-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg)}.payment-table th,.payment-table td{padding:.75rem .5rem;text-align:left;font-size:.9rem;border-bottom:1px solid var(--cc-gray-200)}.payment-table th{font-family:var(--font-heading);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cc-gray-600);background-color:var(--cc-gray-100)}.payment-table tr.participant-name td{font-family:var(--font-heading);font-weight:700;background-color:#0057a80a;color:var(--cc-blue);font-size:.85rem;letter-spacing:.03em}.payment-table tfoot td{font-family:var(--font-heading);font-weight:700;font-size:1rem;border-top:2px solid var(--cc-black);border-bottom:none;padding-top:var(--spacing-md)}.price-col{text-align:right}.confirmation-icon{font-size:4rem;text-align:center;margin-bottom:var(--spacing-md)}.confirmation-number{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:var(--cc-blue);letter-spacing:.08em}.progress-bar-wrapper{background:var(--cc-white);border-bottom:1px solid var(--cc-gray-200);padding:var(--spacing-md) 0;margin-bottom:var(--spacing-xl)}.progress-steps{display:flex;align-items:center;justify-content:center;gap:0;list-style:none;flex-wrap:wrap;gap:var(--spacing-xs)}.progress-step{display:flex;align-items:center;gap:var(--spacing-xs)}.progress-step-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);border:0;background:transparent;padding:0;margin:0;cursor:pointer;color:inherit}.progress-step-button:focus-visible{outline:2px solid var(--cc-blue);outline-offset:3px;border-radius:var(--radius-sm)}.progress-step-number{width:2rem;height:2rem;border-radius:50%;border:2px solid var(--cc-gray-300);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.8rem;font-weight:700;color:var(--cc-gray-500);background:var(--cc-white);transition:all var(--transition);flex-shrink:0}.progress-step.active .progress-step-number{background-color:var(--cc-blue);border-color:var(--cc-blue);color:var(--cc-white)}.progress-step.completed .progress-step-number{background-color:var(--cc-success);border-color:var(--cc-success);color:var(--cc-white)}.progress-step-label{font-family:var(--font-heading);font-size:.75rem;font-weight:600;color:var(--cc-gray-500);text-transform:uppercase;letter-spacing:.04em}.progress-step.active .progress-step-label{color:var(--cc-blue)}.progress-step.completed .progress-step-label{color:var(--cc-success)}.progress-connector{width:2rem;height:2px;background-color:var(--cc-gray-300);margin:0 var(--spacing-xs);flex-shrink:0}.progress-connector.completed{background-color:var(--cc-success)}@media (max-width: 600px){.slot-grid{grid-template-columns:1fr}.dynamic-row{grid-template-columns:1fr auto}.dynamic-row.two-col{grid-template-columns:1fr auto;grid-template-rows:auto auto}.dynamic-row.two-col .type-select{grid-column:1 / -1}.progress-step-label{display:none}.progress-connector{width:1rem}}
