:root{--ink:#12201d;--muted:#64706c;--cream:#f7f4ec;--paper:#fff;--line:#dfe4dc;--fire:#ee512f;--fire-dark:#c63119;--lime:#d8ee43;--court:#e7a862;--green:#193f37;--shadow:0 22px 70px rgba(28,39,35,.10);--font:'Noto Sans TC',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.topbar{height:74px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#101716;color:#fff}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.02em}.brand-mark{width:38px;height:38px;border:2px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;font:800 15px 'Plus Jakarta Sans',sans-serif;color:var(--lime)}.capacity-pill{padding:8px 14px;border:1px solid #3a4743;border-radius:999px;color:#d6dfdc;font-size:13px}.capacity-pill b{color:var(--lime)}.hero{min-height:600px;background:#101716;color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,800px) 1fr;padding:100px max(24px,calc((100vw - 1180px)/2)) 86px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 52%,rgba(238,81,47,.12)),repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.025) 120px)}.hero-copy{position:relative;z-index:1}.eyebrow,.section-kicker{margin:0 0 18px;color:var(--fire);font:800 13px 'Plus Jakarta Sans',sans-serif;letter-spacing:.15em}.hero .eyebrow{color:var(--lime)}.hero h1{margin:0;max-width:850px;font-size:clamp(48px,7.1vw,92px);line-height:1.03;letter-spacing:-.055em;font-weight:900}.hero h1 span{color:var(--court)}.hero-lead{max-width:580px;margin:28px 0 46px;color:#bdc7c4;font-size:19px}.event-facts{display:flex;gap:12px;flex-wrap:wrap}.event-facts div{min-width:170px;padding:18px 20px;border:1px solid #34413e;border-radius:16px;background:rgba(255,255,255,.035)}.event-facts small,.event-facts span{display:block;color:#8e9b97;font-size:12px}.event-facts strong{display:block;margin:3px 0;font-size:19px}.hero-ball{align-self:center;justify-self:end;width:min(31vw,390px);aspect-ratio:1;border-radius:50%;position:relative;background:radial-gradient(circle at 38% 32%,#ff8e45 0,#e94e27 40%,#b62919 78%);box-shadow:inset -28px -24px 55px rgba(60,10,5,.32),0 50px 90px rgba(238,81,47,.23);transform:rotate(-12deg)}.hero-ball:before,.hero-ball:after{content:"";position:absolute;background:#161b19}.hero-ball:before{width:100%;height:8px;top:49%;left:0}.hero-ball:after{height:100%;width:8px;left:49%;top:0}.hero-ball span{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#fff;font:900 clamp(72px,11vw,150px) 'Plus Jakarta Sans';font-style:italic}.included{padding:90px 0;display:grid;grid-template-columns:1fr 1.45fr;gap:80px}.included h2,.section-heading h2,.form-intro h2{font-size:clamp(32px,4vw,52px);line-height:1.14;letter-spacing:-.035em;margin:0}.included ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.included li{background:#fff;padding:24px;border-radius:18px;border:1px solid var(--line)}.included li span{color:var(--fire);font:800 12px 'Plus Jakarta Sans';display:block}.included li b{display:block;font-size:18px;margin:7px 0}.included li small{color:var(--muted)}.pricing{padding:80px;background:var(--green);color:#fff;border-radius:34px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.section-heading p:last-child{max-width:410px;color:#bac9c5}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.price-card{position:relative;min-height:180px;padding:24px;background:#245047;border:1px solid #39635b;border-radius:20px}.price-card span{display:block;color:#bdd0ca;font-weight:700}.price-card strong{display:block;margin:10px 0 7px;font:800 34px 'Plus Jakarta Sans';letter-spacing:-.04em}.price-card p{margin:0;color:#a6bcb6;font-size:14px}.price-card.active{background:var(--fire);border-color:var(--fire);box-shadow:0 18px 35px rgba(13,24,21,.28)}.price-card.active span,.price-card.active p{color:#fff}.price-card em{position:absolute;right:16px;top:16px;background:var(--lime);color:#1b241f;border-radius:999px;padding:5px 10px;font-style:normal;font-size:11px;font-weight:900}.price-card.expired{opacity:.6}.price-card.duo{background:#dce94e;color:#17211e;border-color:#dce94e}.price-card.duo span,.price-card.duo p{color:#3f4a27}.price-card strong small{font-size:16px}.registration{display:grid;grid-template-columns:320px minmax(0,1fr);gap:70px;padding-block:110px}.form-intro{position:sticky;top:28px;align-self:start}.form-intro>p:not(.section-kicker){color:var(--muted)}.steps{list-style:none;padding:0;margin:34px 0;display:grid;gap:18px}.steps li{display:flex;gap:13px;color:#89918e}.steps i{width:34px;height:34px;border:1px solid #ccd4d0;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800}.steps span{display:flex;flex-direction:column}.steps b{color:#5f6b67}.steps small{font-size:12px}.steps .current i{background:var(--fire);border-color:var(--fire);color:#fff}.steps .current b{color:var(--ink)}.form-intro aside{padding:18px;border-radius:16px;background:#edf0e8;font-size:13px}.form-intro aside p{margin:5px 0 0;color:var(--muted)}form{min-width:0}fieldset{border:0;padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid #d7ddd8}legend{width:100%;display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:24px;font-weight:900}legend span{font:800 12px 'Plus Jakarta Sans';color:var(--fire)}.fields{display:grid;gap:20px}.fields.two{grid-template-columns:1fr 1fr}.fields.three{grid-template-columns:repeat(3,1fr)}label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px}label small{color:var(--muted);font-weight:500}input,select,textarea{width:100%;border:1px solid #cbd4cf;border-radius:12px;background:#fff;color:var(--ink);padding:13px 14px;outline:0;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--fire);box-shadow:0 0 0 4px rgba(238,81,47,.11)}textarea{resize:vertical}.wide{grid-column:1/-1}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{position:relative;padding:18px;border-radius:16px;border:1px solid #cad3ce;background:#fff;cursor:pointer}.choice input{position:absolute;opacity:0;pointer-events:none}.choice b,.choice small{display:block}.choice small{margin-top:4px}.choice.selected{border-color:var(--fire);box-shadow:0 0 0 3px rgba(238,81,47,.11)}.choice.selected:after{content:"✓";position:absolute;right:14px;top:14px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--fire);color:#fff}.conditional{margin-top:16px;padding:18px;background:#fff;border-radius:16px;border:1px solid #d7ddd8;display:grid;grid-template-columns:1fr 1fr;gap:18px}.conditional[hidden]{display:none}.field-note,.fieldset-note{color:var(--muted);font-size:13px}.fieldset-note{margin:-12px 0 22px}.conditional .field-note{grid-column:1/-1;margin:0}.eligibility-alert{margin-top:20px;border-left:4px solid var(--fire);background:#fff0e9;padding:20px;border-radius:0 14px 14px 0}.eligibility-alert p{color:#744438}.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:600}.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--fire);flex:0 0 auto}.eligibility-alert label:last-child{margin-top:14px}.chipset{display:flex;flex-wrap:wrap;gap:9px}.chipset label{display:flex;flex-direction:row;align-items:center;gap:7px;background:#fff;border:1px solid #ccd4d0;padding:9px 13px;border-radius:999px;cursor:pointer}.chipset input{width:auto;accent-color:var(--fire)}.agreements{display:grid;gap:14px;background:#fff;padding:22px;border-radius:16px}.summary{display:grid;grid-template-columns:1fr 1fr;background:#101716;color:#fff;border-radius:20px;padding:24px 26px;margin-bottom:18px}.summary small{display:block;color:#94a19d}.summary strong{font-size:24px}.summary div:nth-child(2){text-align:right}.summary p{grid-column:1/-1;margin:14px 0 0;padding-top:14px;border-top:1px solid #33403c;color:#aebbb7;font-size:13px}.submit{border:0;width:100%;padding:18px 22px;border-radius:16px;background:var(--fire);color:#fff;font-weight:900;font-size:17px;display:flex;justify-content:space-between;cursor:pointer;box-shadow:0 14px 28px rgba(238,81,47,.24)}.submit:hover{background:var(--fire-dark)}.submit-note{text-align:center;color:var(--muted);font-size:12px}.form-message{background:#fff0e9;color:#7e2b19;border:1px solid #efb2a3;border-radius:12px;padding:14px;margin-bottom:14px}.form-message[hidden]{display:none}footer{background:#101716;color:#fff;padding:54px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:auto 1fr;gap:0 14px;align-items:center}footer .brand-mark{grid-row:1/3}footer p,footer small{margin:0}footer small{color:#8e9b97}dialog{width:min(500px,calc(100% - 32px));border:0;border-radius:24px;padding:32px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(9,15,13,.74)}dialog h2{font-size:28px;margin:0 0 12px}dialog p:not(.section-kicker){color:var(--muted)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;cursor:pointer}.dialog-confirm{border:0;border-radius:12px;background:var(--ink);color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:72px}.hero-ball{position:absolute;width:240px;right:-95px;top:85px;opacity:.35}.included{grid-template-columns:1fr;gap:36px}.price-grid{grid-template-columns:1fr 1fr}.registration{grid-template-columns:1fr;gap:45px}.form-intro{position:static}.steps{grid-template-columns:1fr 1fr}.fields.three{grid-template-columns:1fr 1fr}}@media(max-width:620px){body{font-size:15px}.wrap{width:min(100% - 28px,1180px)}.topbar{height:64px;padding-inline:16px}.hero{min-height:auto;padding:70px 18px 58px}.hero h1{font-size:45px}.hero-lead{font-size:16px;margin:22px 0 34px}.event-facts{display:grid;grid-template-columns:1fr 1fr}.event-facts div{min-width:0;padding:14px}.event-facts div:last-child{grid-column:1/-1}.included{padding:64px 0}.included ul{grid-template-columns:1fr}.pricing{width:100%;border-radius:0;padding:64px 18px}.section-heading{display:block}.price-grid{grid-template-columns:1fr}.registration{padding-block:70px}.steps{grid-template-columns:1fr 1fr}.choice-grid,.fields.two,.fields.three,.conditional{grid-template-columns:1fr}.summary{grid-template-columns:1fr}.summary div:nth-child(2){text-align:left;margin-top:10px}.summary p{grid-column:1}.capacity-pill{font-size:11px;padding:6px 9px}.brand{font-size:14px}.brand-mark{width:34px;height:34px}}

/* Previous camp films */
/* Camp service disclosures: registration and payment preview share this section. */
.camp-service{padding-top:80px;scroll-margin-top:24px}
.camp-service-heading{max-width:640px;margin-bottom:28px}
.camp-service-heading h2{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.2;letter-spacing:-.025em}
.camp-service-heading>p:last-child{color:var(--muted);margin:16px 0 0}
.camp-service-grid{display:grid;grid-template-columns:1fr;gap:20px}
.camp-service-card{min-width:0;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow-wrap:anywhere}
.camp-service-card h3{margin:0 0 20px;font-size:21px}
.camp-team{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.camp-team>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px}
.camp-team dt{color:var(--muted)}
.camp-team dd{margin:0;font-weight:600}
.camp-service-link{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px}
/* Refund terms stay visible before checkout, with stacked rows on narrow screens. */
.camp-refund{grid-column:1/-1;scroll-margin-top:24px}
form .camp-refund{margin-bottom:20px}
.camp-refund-intro{margin:0 0 20px;color:var(--muted)}
.camp-refund-rules{margin:0}
.camp-refund-rules>div{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.camp-refund-rules dt{font-weight:700;color:var(--green)}
.camp-refund-rules dd{margin:0;color:var(--ink)}
.camp-refund-rules strong{display:block;margin-bottom:4px}
.camp-refund-help{margin:4px 0 0;padding:18px;background:var(--cream);border-radius:14px;color:var(--ink)}
.camp-refund-help a{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.camp-refund-note{margin:16px 0 0;color:var(--muted);font-size:14px}
.form-intro>.camp-service-link{display:flex;width:fit-content}
.camp-service-link:focus-visible,.camp-refund-help a:focus-visible,footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:4px}
footer small a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:4px}
footer .camp-footer-logos{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:12px;margin-top:22px}
.camp-footer-logo{width:112px;height:70px;flex:0 0 112px;display:grid;place-items:center;overflow:hidden;padding:5px;background:#fff}
.camp-footer-logo.mplus{border-radius:10px;background:#c94530}
.camp-footer-logo.shine{border-radius:10px;padding:0;background:#ffe44d}
.camp-footer-logo.mac{width:70px;flex-basis:70px;border-radius:50%;padding:0}
.camp-footer-logo img{display:block;width:100%;height:100%;object-fit:contain}
.camp-footer-logo.shine img{transform:translateX(7px) scale(1.75);mix-blend-mode:multiply}
.camp-footer-logo.mac img{object-fit:cover;clip-path:circle(47% at 50% 50%)}
@media(max-width:620px){.camp-service{padding-top:56px}.camp-service-grid{grid-template-columns:1fr;gap:14px}.camp-service-card{padding:22px}.camp-team{grid-template-columns:1fr}.camp-team>div{grid-template-columns:1fr;gap:4px}.camp-refund-rules>div{grid-template-columns:1fr;gap:8px}}

.camp-films{padding:100px 0;background:#e9e7df}.film-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.film-heading h2{margin:0;font-size:clamp(34px,4.5vw,58px);line-height:1.08;letter-spacing:-.04em}.film-heading>p{max-width:430px;margin:0;color:var(--muted)}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.film-card{overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(25,37,33,.08)}.film-frame{position:relative;aspect-ratio:16/9;background:#101716}.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.film-meta{display:flex;align-items:center;gap:18px;padding:22px}.film-meta>span{flex:0 0 auto;color:var(--fire);font:900 25px 'Plus Jakarta Sans',sans-serif}.film-meta h3,.film-meta p{margin:0}.film-meta h3{font-size:18px}.film-meta p{color:var(--muted);font-size:13px}@media(max-width:620px){.camp-films{padding:70px 0}.film-heading{display:block}.film-heading>p{margin-top:14px}.film-grid{grid-template-columns:1fr}.film-meta{padding:18px}}

/* Registration checkout confirmation */
.topbar-actions{display:flex;align-items:center;gap:12px}.payment-test-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #3a4743;border-radius:50%;color:#d6dfdc}.payment-test-icon:hover,.payment-test-icon:focus-visible{color:var(--lime);border-color:var(--lime);outline-offset:3px}
.dialog-confirm{width:100%;padding:14px 18px}.dialog-confirm:disabled,.submit:disabled{cursor:wait;opacity:.58}.checkout-review{margin:22px 0;padding:4px 18px;border-radius:16px;background:#f1f4ee}.checkout-review p{display:flex;justify-content:space-between;gap:18px;margin:0;padding:12px 0;border-bottom:1px solid #dbe1da}.checkout-review p:last-child{border-bottom:0}.checkout-review span{color:var(--muted)}.checkout-review strong{text-align:right}@media(max-width:620px){.checkout-review{padding-inline:14px}}
.choice.unavailable{cursor:not-allowed;opacity:.58;background:#f1f1ed}.field-error input,.field-error select,.field-error textarea{border-color:#c93622;box-shadow:0 0 0 3px rgba(201,54,34,.12)}.choice.field-error,.check.field-error{border:1px solid #c93622;background:#fff0e9}.check.field-error{padding:10px;border-radius:10px}.missing-list{margin:8px 0 0;padding-left:22px}.missing-list li{margin:3px 0}
.submit.completed,.submit.completed:hover{background:var(--green);cursor:default;box-shadow:none;opacity:1}
.field-label{display:block;margin-bottom:9px;font-weight:700;font-size:14px}.compact-choice{grid-template-columns:1fr 1fr}.receipt-opt-out{width:max-content;margin:0 0 20px;padding:13px 16px;border:1px solid #cbd4cf;border-radius:12px;background:#fff}#receipt-fields[hidden],#medical-details[hidden],#receipt-consent-row[hidden]{display:none}
.success-page{min-height:100vh;background:#101716}.success-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.success-card{width:min(760px,100%);padding:clamp(34px,7vw,70px);background:var(--cream);border-radius:32px;box-shadow:0 35px 100px rgba(0,0,0,.32);text-align:center}.success-mark{width:78px;height:78px;margin:0 auto 25px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--green);font-size:38px;font-weight:900}.success-card h1{margin:0;font-size:clamp(38px,7vw,64px);line-height:1.08;letter-spacing:-.05em}.success-lead{max-width:550px;margin:22px auto 30px;color:var(--muted);font-size:18px}.success-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px;text-align:left}.success-facts div{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:16px}.success-facts small,.success-facts strong{display:block}.success-facts small{color:var(--muted);font-size:12px}.line-invite{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:24px;background:var(--green);color:#fff;border-radius:20px;text-align:left}.line-invite>span{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:#06c755;font:900 12px 'Plus Jakarta Sans'}.line-invite h2{margin:0;font-size:20px}.line-invite p{margin:4px 0 0;color:#bdd0ca;font-size:13px}.line-invite a{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#06c755;border-radius:12px;font-weight:900;white-space:nowrap}.success-wait{margin:25px 0 5px;color:var(--muted)}.success-number{margin:8px 0 0;font-weight:800;color:var(--green)}@media(max-width:620px){.success-shell{padding:18px}.success-card{padding:34px 20px;border-radius:24px}.success-facts{grid-template-columns:1fr}.line-invite{grid-template-columns:auto 1fr}.line-invite a{grid-column:1/-1;justify-content:space-between}.compact-choice{grid-template-columns:1fr}}

/* The new film introduces the camp before the pricing and registration decisions. */
.camp-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(30px,6vw,80px);margin-bottom:90px;padding:clamp(28px,5vw,56px);border-radius:30px;background:#fff;box-shadow:var(--shadow)}
.camp-feature-copy h2{margin:0;font-size:clamp(32px,4.2vw,54px);line-height:1.14;letter-spacing:-.04em}
.camp-feature-copy>p:not(.section-kicker){max-width:32ch;margin:20px 0 25px;color:var(--muted)}
.camp-feature-copy a{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:10px 18px;border-radius:12px;background:var(--fire);color:#fff;font-weight:800}
.camp-feature-copy a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.camp-feature-copy>p.camp-feature-fallback{margin:12px 0 0;font-size:13px}
.camp-feature-copy .camp-feature-fallback a{min-height:44px;padding:0;background:transparent;color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.camp-feature-video{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:22px;background:#101716;box-shadow:0 22px 50px rgba(16,23,22,.17)}
.camp-feature-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Keep only the current part of the registration visible. */
.wizard-step[hidden],.wizard-status[hidden],.wizard-actions[hidden],.wizard-actions button[hidden],.wizard-error[hidden],.steps li[hidden],.choice[hidden]{display:none}
.wizard-status{display:grid;gap:6px;margin-bottom:28px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:#fff;scroll-margin-top:24px}
.wizard-count{color:var(--fire-dark);font-size:12px;font-weight:900;letter-spacing:.08em}
.wizard-title{font-size:23px;line-height:1.25}
.wizard-track{height:6px;margin-top:12px;overflow:hidden;border-radius:99px;background:#e8ede7}
.wizard-track span{display:block;height:100%;border-radius:inherit;background:var(--fire);transition:width .25s ease}
.wizard-error{margin:10px 0 0;padding:12px 14px;border-radius:10px;background:#fff0e9;color:#812b19;font-size:14px;font-weight:700}
.wizard-actions{display:flex;justify-content:space-between;gap:14px;margin-top:24px}
.wizard-actions button{min-height:50px;border-radius:13px;padding:11px 20px;font-weight:800;cursor:pointer}
.wizard-back{border:1px solid #bfcac4;background:#fff;color:var(--green)}
.wizard-next{margin-left:auto;border:0;background:var(--fire);color:#fff;box-shadow:0 10px 25px rgba(238,81,47,.18)}
.wizard-next:hover{background:var(--fire-dark)}
.wizard-actions button:focus-visible,.choice:focus-within{outline:3px solid var(--green);outline-offset:3px}
.steps .done i{border-color:#c7dfcc;background:#e7f4e8;color:var(--green)}
.steps .done b{color:var(--green)}
@media(max-width:900px){.camp-feature{grid-template-columns:1fr;gap:28px}}
@media(max-width:620px){.camp-feature{width:min(100% - 28px,1180px);margin-bottom:56px;padding:22px;border-radius:22px}.camp-feature-copy>p:not(.section-kicker){margin:14px 0 18px}.camp-feature-video{border-radius:16px}.form-intro .steps{display:none}.wizard-status{padding:18px}.wizard-actions button{padding-inline:15px}.wizard-next{max-width:65%}}
@media(prefers-reduced-motion:reduce){.wizard-track span{transition:none}}

/* Failed checkout resumes the saved registration after a server status check. */
.payment-retry{margin:18px 0;padding:22px;border:1px solid #d4dfd5;border-radius:18px;background:#f1f6ef}
.payment-retry h3{margin:0 0 8px;font-size:21px}
.payment-retry p{margin:0 0 16px;color:var(--green)}
.payment-retry .field-note{margin:14px 0 0;font-size:13px;color:var(--muted)}
.payment-retry .field-note a{text-decoration:underline;text-underline-offset:3px}
.retry-submit,.retry-refresh{min-height:48px;border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer}
.retry-submit{border:0;background:var(--fire);color:#fff}
.retry-submit:disabled{cursor:not-allowed;opacity:.55}
.retry-refresh{margin-left:8px;border:1px solid #b9c8c0;background:#fff;color:var(--green)}
.payment-retry[hidden],.summary[hidden],.submit[hidden],.submit-note[hidden]{display:none}
@media(max-width:620px){.retry-submit,.retry-refresh{width:100%}.retry-refresh{margin:10px 0 0}}

.camp-line-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 36px;padding:22px;border:1px solid #c7d9ce;border-radius:18px;background:#edf5ee}
.camp-line-invite strong{display:block;color:var(--green);font-size:17px}
.camp-line-invite p{margin:6px 0 0;color:var(--muted);font-size:13px}
.camp-line-invite a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;flex-shrink:0;padding:10px 16px;border-radius:12px;background:var(--green);color:#fff;font-weight:800}
.camp-line-invite a:focus-visible{outline:3px solid var(--fire);outline-offset:3px}
.camp-health-confirm{padding:20px;border:1px solid #cad3ce;border-radius:16px;background:#fff}
.camp-health-confirm .check{align-items:center;min-height:48px}
.camp-health-confirm:has(input:checked){border-color:var(--green);background:#edf5ee}
@media(max-width:620px){.camp-line-invite{align-items:stretch;flex-direction:column;gap:16px;padding:20px}.camp-line-invite a{width:100%}}

.payment-configuration{margin:0 0 18px;padding:16px 18px;border:1px solid #d7dfd8;border-radius:14px;background:#edf5ee;color:var(--green)}
.payment-configuration p{margin:0}
.payment-configuration a{text-decoration:underline;text-underline-offset:3px}
.payment-config-retry{min-height:44px;margin-top:12px;padding:9px 16px;border:1px solid #a7b9ac;border-radius:10px;background:#fff;color:var(--green);font-weight:800;cursor:pointer}
.payment-configuration[hidden],.payment-config-retry[hidden],.payment-choice[hidden]{display:none}
.choice input{width:20px;height:20px;inset:12px auto auto 12px;margin:0;padding:0}

.volunteer-invite{display:flex;align-items:center;justify-content:space-between;gap:36px;margin:40px auto;padding:34px 40px;border-radius:22px;background:#eaf3e9;border:1px solid #d8e7d7}
.volunteer-invite h2{margin:0 0 8px;font-size:clamp(24px,3vw,34px)}
.volunteer-invite p:last-child{line-height:1.75;color:#475e50;max-width:700px;margin:0}
.volunteer-invite a{display:inline-flex;align-items:center;justify-content:center;gap:15px;flex:none;min-height:48px;padding:12px 19px;border-radius:11px;background:#d96a4b;color:#fff;font-weight:800;text-align:center}
@media(max-width:720px){.volunteer-invite{flex-direction:column;align-items:stretch;padding:26px 23px;margin:26px auto}.volunteer-invite a{width:100%}}

.camp-church-choice{display:flex;align-items:end;gap:12px}
.camp-church-choice>label:first-child{flex:1;min-width:0}
.camp-church-choice .check{flex:none;min-height:48px;align-items:center;white-space:nowrap}
@media(max-width:620px){.camp-church-choice{align-items:stretch;flex-direction:column}.camp-church-choice .check{width:max-content}}
