@font-face{font-family:CampHeadings;src:url(/fonts/nunito.woff2)format("woff2");font-weight:500 800;font-style:normal;font-display:swap}@font-face{font-family:CampBody;src:url(/attendance/inter.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}body:has(.registration-page){background:#f6fafb}.registration-page{--camp-blue:#17618a;--camp-navy:#183f59;--camp-accent:#b8473b;color:var(--camp-navy);font-family:CampBody,Arial,sans-serif}.registration-page h1,.registration-page h2,.registration-page h3,.registration-page legend,.registration-page .ticket-line strong,.registration-page .saving-badge{letter-spacing:-.02em;font-family:CampHeadings,Arial,sans-serif}.registration-page .topbar{background:#fff;border-top:0;border-bottom:1px solid #e1eaee;max-width:none;padding:12px max(24px,50vw - 560px)}.registration-page .brand-logo{width:72px;height:72px}.registration-page .brand-caption{color:var(--camp-blue);letter-spacing:.1em;font-size:13px}.registration-page .topnote{color:#526e7e;font-size:14px}.registration-page .shell{grid-template-columns:300px minmax(0,1fr);gap:36px;max-width:1170px;margin:36px auto 50px}.registration-page .formpanel{background:#fff;border:1px solid #e0eaef;border-radius:24px;padding:30px;box-shadow:0 8px 32px #183f5905}.registration-page .section-head{padding:0 0 18px}.registration-page .section-head h1{color:var(--camp-navy);letter-spacing:-.025em;margin:0 0 10px;font-size:34px;font-weight:800;line-height:1.15}.registration-page .section-head p{color:#526e7e;font-size:14px;line-height:1.6}.registration-page .form-section{border-color:#e4edf1;padding:26px 0}.registration-page .form-section h2,.registration-page .form-section h3{color:var(--camp-navy);font-weight:800}.registration-page .form-section h2{margin:0 0 18px;font-size:23px}.registration-page .form-section h3{font-size:19px}.registration-page .camp-ticket{border:1px solid #dce8ee;border-top:4px solid var(--camp-blue);color:var(--camp-navy);background:#fff;border-radius:20px;padding:24px;display:block;box-shadow:0 6px 24px #183f5905}.registration-page .camp-ticket .eyebrow{color:#526e7e;font-size:13px}.registration-page .ticket-line{gap:16px;margin:20px 0}.registration-page .ticket-line strong{color:var(--camp-navy);font-size:23px;line-height:1.3}.registration-page .ticket-line>span{color:var(--camp-navy)}.registration-page .ticket-rule{background:#e1ebf0}.registration-page .camp-ticket p,.registration-page .camp-ticket .price-total{color:var(--camp-navy)}.registration-page .camp-ticket p{font-size:14px}.registration-page .price-breakdown{margin-top:22px}.registration-page .price-breakdown>div{gap:12px;padding:9px 0;font-size:14px}.registration-page .price-breakdown .price-total{border-top:1px solid #dce8ee;margin-top:10px;padding-top:16px;font-size:20px}.registration-page .discount-line,.registration-page .price-breakdown .discount-line strong{color:var(--camp-accent)}.registration-page .privacy{color:#526e7e;gap:10px;padding:0 8px;font-size:14px}.registration-page .privacy strong{font-weight:500}.registration-page .primary,.registration-page .scanbutton{background:var(--camp-accent);color:#fff;border-color:var(--camp-accent);border-radius:12px;min-height:48px;font-weight:600}.registration-page .primary:hover:not(:disabled),.registration-page .scanbutton:hover{background:#a33d32}.registration-page .primary{padding:13px 22px}.registration-page .field{gap:7px;margin-bottom:18px}.registration-page .field>span{color:var(--camp-navy);font-size:14px;font-weight:600}.registration-page .field input,.registration-page .field select,.registration-page .field textarea{min-height:48px;color:var(--camp-navy);background:#fff;border-color:#cbdde6;border-radius:11px;padding:12px;font-size:16px}.registration-page .field input:focus,.registration-page .field select:focus,.registration-page .field textarea:focus{border-color:var(--camp-blue)}.registration-page .field-badge.optional,.registration-page .scanoptional{color:#5b7180;background:#f0f4f6;border-radius:6px;padding:2px 7px;font-weight:500;font-size:13px!important}.registration-page .plan{background:#fff;border-color:#cbdde6;border-radius:14px;padding:16px}.registration-page .plan.selected{border-color:var(--camp-blue);box-shadow:0 0 0 1px var(--camp-blue);background:#eff7fc}.registration-page .plan input,.registration-page .choices input,.registration-page .checkline input{accent-color:var(--camp-blue)}.registration-page .full-camp{border-radius:14px;gap:16px;padding:14px 16px}.registration-page .full-camp.selected{border-color:var(--camp-blue);background:#eff7fc}.registration-page .full-camp small{color:#526e7e;font-size:14px}.registration-page .full-camp-price{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.registration-page .full-camp-price del{color:#6a7e8b;font-size:14px}.registration-page .saving-badge{color:#973b2f;background:#fcece7;border-radius:6px;align-items:center;margin-top:7px;padding:2px 7px;font-size:14px;font-weight:800;display:inline-flex}.registration-page .scanbox{background:#f5f9fc;border:1px solid #dbe8ef;border-radius:14px;align-items:center;gap:12px;margin:18px 0 22px;padding:14px}.registration-page .scanicon{color:var(--camp-blue);background:#e8f3fa;border-radius:10px;place-items:center;min-width:40px;height:40px;display:grid}.registration-page .scantext{flex:1;min-width:0}.registration-page .scantext strong{color:var(--camp-navy);flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.registration-page .scantext p{color:#526e7e;margin:5px 0 2px;font-size:14px;line-height:1.4}.registration-page .scantext small{color:#647b8b;font-size:13px;line-height:1.4}.registration-page .scanbutton{flex-shrink:0;justify-content:center;align-items:center;padding:10px 14px;font-size:14px;display:flex}.registration-page .scanstatus{border-top:1px solid #dbe8ef;margin-top:0;padding-top:10px;font-size:14px;line-height:1.5}.registration-page .callout{background:#f3f8fb;border:1px solid #e2ecf2;border-radius:14px}.registration-page .hoodie-size-card,.registration-page .hoodie-counts label{border-radius:12px}.registration-page .draft-status{border-top:1px solid #edf2f5;border-bottom:1px solid #edf2f5;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.registration-page .draft-status span{color:#617887;font-size:13px}.registration-page .draft-status .textbutton{color:#526e7e;white-space:nowrap;min-height:36px;font-size:13px;text-decoration:underline}.registration-page .draft-status .textbutton:disabled{opacity:.4;cursor:default}.registration-page .submission-total{background:#f3f8fb;border-radius:14px;margin-top:22px;padding:18px}.registration-page .submission-total>div{justify-content:space-between;align-items:center;display:flex}.registration-page .submission-total strong{color:var(--camp-navy);font-size:24px}.registration-page .submission-total p{color:var(--camp-accent);flex-wrap:wrap;gap:12px;margin-top:7px;font-size:14px;display:flex}.registration-page .submission-total del{color:#6a7e8b}.registration-page .pagefooter{color:#526e7e;max-width:1120px;margin:auto;padding:24px;font-size:13px}.registration-page .booking-total{display:none}.registration-page .birth-picker-trigger{border-color:#cbdde6;border-radius:11px}.registration-page .birth-picker-header h2{color:var(--camp-navy);font-family:CampHeadings,Arial,sans-serif;font-weight:800}@media (max-width:760px){.registration-page .topbar{gap:12px;padding:10px 16px}.registration-page .brand-logo{width:62px;height:62px}.registration-page .topnote{gap:5px;font-size:13px}.registration-page .brand-caption{letter-spacing:.07em;font-size:12px}.registration-page .shell{margin:18px auto 30px;padding:0 12px;display:block}.registration-page .intro{display:none}.registration-page .formpanel{border-radius:18px;padding:20px 16px}.registration-page .section-head h1{font-size:28px}.registration-page .form-section{padding:22px 0}.registration-page .form-section h2{font-size:22px}.registration-page .field{margin-bottom:15px}.registration-page .plan{padding:13px}.registration-page .field>span{font-size:14px}.registration-page .scanbox{flex-wrap:wrap;gap:10px;padding:12px}.registration-page .scanicon{display:none}.registration-page .scantext strong{font-size:15px}.registration-page .scantext p,.registration-page .scantext small{font-size:13px}.registration-page .scanoptional{font-size:12px!important}.registration-page .scanbutton{padding:9px 12px}.registration-page .draft-status{align-items:flex-start;gap:8px}.registration-page .booking-total{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-color:#dce8ee;display:block}.registration-page .booking-total strong{color:var(--camp-navy)}.registration-page .booking-total p{font-size:13px}.registration-page .mobile-saving{color:var(--camp-accent);font-size:13px;font-weight:600}.registration-page .pagefooter{padding-bottom:130px}.registration-page .formfooter>.primary{width:100%}}@media (max-width:380px){.registration-page .topnote{display:none}.registration-page .scantext{flex-basis:100%}.registration-page .scanbutton{width:100%}.registration-page .full-camp{gap:8px;padding:12px}}.registration-junior{--camp-blue:#73579d;--camp-navy:#403359;--camp-accent:#79549e;background:#faf7fd}.registration-senior{--camp-blue:#956035;--camp-navy:#493927;--camp-accent:#a5693d;background:#fcf8f1}.registration-kind{color:#604380;background:#f1eafb;border-radius:999px;align-items:center;gap:9px;margin-bottom:13px;padding:7px 12px;font-size:14px;font-weight:700;display:inline-flex}.registration-kind i{background:currentColor;border-radius:50%;width:8px;height:8px}.registration-senior .registration-kind{color:#845324;background:#f7ecd9}.registration-junior .formpanel{border-top:5px solid #9579bd}.registration-senior .formpanel{border-top:5px solid #ba8b53}.registration-junior .plan.selected,.registration-junior .full-camp.selected{background:#f2ecfa;border-color:#9579bd}.registration-senior .plan.selected,.registration-senior .full-camp.selected{background:#faf0df;border-color:#ba8b53}.registration-junior .scanbox,.registration-junior .callout{background:#f7f2fc;border-color:#ded2ec}.registration-senior .scanbox,.registration-senior .callout{background:#fcf5e9;border-color:#e7d8bf}.registration-junior .hoodie-size-card{background:#f7f2fc}.registration-senior .hoodie-size-card{background:#fcf5e9}.registration-junior input:focus,.registration-junior select:focus,.registration-junior textarea:focus{outline-color:#73579d}.registration-senior input:focus,.registration-senior select:focus,.registration-senior textarea:focus{outline-color:#956035}.plan .week-date-label{white-space:normal;margin-top:5px;font-size:14px;font-weight:400;line-height:1.4;display:block}.family-selector{background:#f4f8fb;border:1px solid #dce8ee;border-radius:16px;margin:8px 0 10px;padding:20px}.family-selector-head,.child-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.registration-page .family-selector h2{margin:0;font-size:21px}.family-selector-head>span{color:#526e7e;white-space:nowrap;font-size:14px}.family-selector>p{color:#526e7e;margin:10px 0 16px;font-size:14px;line-height:1.5}.family-child-tabs{flex-wrap:wrap;gap:10px;display:flex}.family-child-tabs button{text-align:left;max-width:100%;color:var(--camp-navy);overflow-wrap:anywhere;cursor:pointer;background:#fff;border:1px solid #cadbe4;border-radius:12px;flex:140px;padding:12px 15px;font-size:16px}.family-child-tabs button[aria-pressed=true]{border:2px solid var(--camp-blue);background:#edf5fa;padding:11px 14px}.family-child-tabs small{color:#526e7e;margin-top:5px;font-size:14px;display:block}.family-add{width:100%;color:var(--camp-blue);border:1px dashed var(--camp-blue);cursor:pointer;background:#fff;border-radius:12px;margin-top:14px;padding:12px;font-size:16px;font-weight:700;display:block}.family-add:disabled{opacity:.5;cursor:default}.child-heading{align-items:flex-start}.child-heading .textbutton{white-space:nowrap;font-size:14px}.family-remove{background:#fff3f1;border:1px solid #e5c5c0;border-radius:12px;margin-bottom:18px;padding:15px}.family-remove p{margin:0 0 10px;font-size:16px}.family-remove>div{gap:10px;display:flex}.family-remove button{color:#7b3226;cursor:pointer;background:#fff;border:1px solid #bb7569;border-radius:9px;padding:10px 14px;font-size:16px}.family-summary{border-top:1px solid #e4edf1;padding:24px 0}.registration-page .family-summary h2{margin:0 0 16px;font-size:23px}.family-summary-row{border-bottom:1px solid #e4edf1;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.family-summary-row button{text-align:left;color:var(--camp-blue);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.family-summary-row small{color:#526e7e;margin-top:4px;font-size:14px;display:block}.family-summary-row>strong{white-space:nowrap}.family-ticket-total{flex-direction:column;gap:6px;padding-top:15px;font-size:16px;display:flex}.family-ticket-total strong{font-size:23px}.family-receipt{text-align:left;margin:24px 0;padding:0;list-style:none}.family-receipt li{overflow-wrap:anywhere;border-bottom:1px solid #e4edf1;flex-direction:column;gap:6px;padding:16px 0;display:flex}.family-receipt small{color:#526e7e;font-size:14px}@media (max-width:600px){.family-selector{padding:15px}.family-child-tabs button{flex-basis:120px}.child-heading{flex-wrap:wrap}}
