.registration-shell{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);gap:clamp(40px,7vw,105px);padding-block:100px 140px;align-items:start}
.registration-intro{position:sticky;top:calc(var(--header) + 24px)}
.registration-intro>.eyebrow{color:var(--green);margin-bottom:26px}
.registration-intro h1{font-size:clamp(52px,5.7vw,80px);line-height:.96;letter-spacing:-.035em;margin:0 0 26px;font-weight:700}
.registration-intro>p:not(.eyebrow){max-width:340px;color:var(--muted);font-size:18px;line-height:1.55}
.registration-intro .registration-help{margin-top:38px;color:var(--ink);font-size:15px}
.registration-help a,.registration-hint a,.registration-signature-fallback a,.registration-noscript a,.registration-original-link a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
.registration-intro .registration-note{font-size:13px;margin-top:32px;max-width:290px}
.registration-panel{min-width:0;background:var(--white);border:1px solid var(--line);padding:clamp(24px,4vw,54px)}
.registration-progress ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:8px}
.registration-progress button{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:0 0 18px;background:none;border:0;font:inherit;color:var(--muted);cursor:pointer}
.registration-progress button span{font-size:12px;letter-spacing:.07em;font-weight:650}
.registration-progress button b{font-size:12px;letter-spacing:.01em}
.registration-progress button[aria-current=step]{color:var(--green)}
.registration-progress button[aria-current=step] span{font-size:16px;line-height:18px}
.registration-progress button:disabled{opacity:.5;cursor:default}
.registration-progress-track{height:3px;background:var(--soft);overflow:hidden}
.registration-progress-track span{display:block;height:100%;width:100%;background:var(--green);transform:scaleX(.2);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.registration-step-status{font-size:12px;color:var(--muted);margin:15px 0 38px}
.registration-form fieldset{min-width:0;margin:0;padding:0;border:0}
.registration-step[hidden],.registration-field[hidden],.registration-form button[hidden],.registration-field-error[hidden],.registration-error-summary[hidden],.registration-signature-fallback[hidden]{display:none}
.registration-step-title{float:left;width:100%;font-weight:700;font-size:clamp(29px,3vw,43px);line-height:1.03;letter-spacing:-.025em;padding:0;outline-offset:6px}
.registration-step-title+p{clear:both}
.registration-step-copy{margin:0 0 38px;padding-top:15px;color:var(--muted);font-size:16px;line-height:1.5}
.registration-form .registration-field{display:block;margin-bottom:28px}
.registration-field>label,.registration-field>legend,.registration-label{display:block;font-weight:650;font-size:15px;line-height:1.45;margin:0 0 10px;padding:0}
.registration-field>legend small{display:block;color:var(--green);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-top:5px}
.registration-sublabel{display:block;font-size:13px;font-weight:700;margin:0 0 7px}
.registration-field label span[aria-hidden],.registration-field legend span[aria-hidden],.registration-label span[aria-hidden]{color:var(--green)}
.registration-field input:not([type=radio]):not([type=hidden]),.registration-field textarea,.registration-field select{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #b5c4b9;border-radius:0;background:#fbfdfb;color:var(--ink);padding:13px 14px;font:inherit;font-size:16px;line-height:1.45;min-height:50px;transition:border-color .16s,background .16s,box-shadow .16s}
.registration-field textarea{resize:vertical}
.registration-field input:hover,.registration-field textarea:hover,.registration-field select:hover{border-color:var(--green)}
.registration-field input:focus,.registration-field textarea:focus,.registration-field select:focus{outline:2px solid var(--green);outline-offset:2px;background:#fff}
.registration-field input[aria-invalid=true],.registration-field textarea[aria-invalid=true],.registration-field select[aria-invalid=true]{border-color:#a33326}
.registration-field input::placeholder,.registration-field textarea::placeholder{font-size:13px;color:#66786b;opacity:1}
.registration-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 12px}
.registration-field input+.registration-hint{margin:9px 0 0}
.registration-optional{font-size:11px;color:var(--muted);font-weight:400;display:inline-block;margin-left:6px}
.registration-field-grid,.registration-mixed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.registration-field-grid>.registration-field{margin-bottom:28px}
.registration-mixed-grid{gap:20px 16px}
.registration-wide{grid-column:1/-1}
.registration-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.registration-choice{display:flex;align-items:center;gap:12px;padding:18px 16px;border:1px solid #b5c4b9;background:#fbfdfb;cursor:pointer;min-height:73px;transition:border-color .2s,background .2s}
.registration-choice:hover{border-color:var(--green);background:var(--soft)}
.registration-choice:has(input:checked){background:#edf5ee;border:2px solid var(--green);padding:17px 15px}
.registration-choice:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px}
.registration-choice input{margin:0;width:18px;height:18px;accent-color:var(--green);flex:none}
.registration-choice span{min-width:0}
.registration-choice b{display:block;font-size:14px}
.registration-choice small{display:block;font-size:11px;line-height:1.35;color:var(--muted);margin-top:4px}
.registration-consent-text{font-size:14px;line-height:1.6}
.registration-field-error{font-size:13px;font-weight:700;color:#a33326;margin:9px 0 0}
.registration-error-summary{border-left:3px solid #a33326;padding:18px 20px;margin:0 0 26px;background:#fff2ef;color:#812b20;font-size:14px}
.registration-error-summary p{margin:0 0 8px;font-weight:650}
.registration-error-summary ul{padding-left:18px;margin:0}
.registration-error-summary a{text-decoration:underline;text-underline-offset:3px}
.registration-error-summary li+li{margin-top:5px}
.registration-signature{width:100%;max-width:100%;min-height:200px;background:#fbfdfb;border:1px solid #b5c4b9;padding:10px;overflow:hidden;--form-colorscheme-300:#fff;--form-colorscheme-900:var(--ink);--form-colorscheme-default-300:#fff}
.registration-signature>p{font-size:14px;color:var(--muted);padding:30px 10px}
.registration-signature canvas{touch-action:none}
.registration-signature .formAdvancedSignatureWrapper{max-width:100%}
.registration-signature-fallback{font-size:14px;line-height:1.5;color:#812b20;margin-top:12px}
.registration-actions{display:flex;justify-content:space-between;gap:12px;padding-top:30px;margin-top:12px;border-top:1px solid var(--line)}
.registration-actions>.button:last-of-type:not([hidden]),.registration-actions>[data-registration-next]{margin-left:auto}
.registration-submit-note{font-size:13px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:32px}
.registration-submit-status{font-size:14px;color:var(--green);margin:14px 0 0}
.registration-original-link{font-size:12px;text-align:right;color:var(--muted);margin:28px 0 0}
.registration-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.registration-review-section{padding-bottom:23px;margin-bottom:23px;border-bottom:1px solid var(--line)}
.registration-review-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.registration-review-heading h3{font-size:19px;letter-spacing:-.025em;margin:0}
.registration-review-heading button{border:0;border-bottom:1px solid var(--green);padding:0 0 3px;background:transparent;font-size:12px;color:var(--green);font-weight:650;cursor:pointer}
.registration-review-section dl{margin:0}
.registration-review-row{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1fr);gap:16px;padding:8px 0;font-size:13px;line-height:1.5}
.registration-review-row dt{color:var(--muted)}
.registration-review-row dd{margin:0;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}
.registration-review-row dd img{max-width:210px;max-height:105px;border:1px solid var(--line);background:#fff}
.registration-noscript{font-size:16px;line-height:1.6}
.registration-form button:disabled{cursor:wait;opacity:.6}
@media(max-width:1024px){.registration-shell{grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);gap:35px}.registration-intro h2{font-size:60px}.registration-panel{padding:30px}.registration-choice{padding:15px 12px}.registration-choice:has(input:checked){padding:14px 11px}}
@media(max-width:767px){.registration-shell{display:block;padding-block:65px 80px}.registration-intro{position:static;margin-bottom:38px}.registration-intro h2{font-size:58px}.registration-intro>p:not(.eyebrow){max-width:480px;font-size:16px}.registration-intro .registration-help{margin-top:22px}.registration-intro .registration-note{margin-top:20px;font-size:12px}.registration-panel{padding:25px 20px}.registration-progress ol{gap:6px}.registration-progress button b{font-size:10px}.registration-progress button span{font-size:10px}.registration-progress button[aria-current=step] span{font-size:14px}.registration-step-status{margin-bottom:28px}.registration-step-title{font-size:34px}.registration-step-copy{font-size:14px;margin-bottom:28px}.registration-mixed-grid{grid-template-columns:1fr;gap:18px}.registration-field-grid{gap:12px}.registration-review-row{display:block;padding:9px 0}.registration-review-row dt{font-size:12px;margin-bottom:3px}.registration-review-row dd{font-size:14px}.registration-actions>.button{padding-inline:18px}.registration-original-link{text-align:left;line-height:1.5}}
@media(max-width:390px){.registration-panel{padding:22px 15px}.registration-field-grid{grid-template-columns:1fr;gap:0}.registration-field-grid>div:not(.registration-field)+div{margin-top:16px}.registration-choice-grid{grid-template-columns:1fr}.registration-choice{min-height:64px}.registration-step-title{font-size:30px}.registration-progress button b{font-size:9px}.registration-actions{flex-wrap:wrap}.registration-actions>[data-registration-submit]{width:100%;order:2}.registration-actions>[data-registration-back]{margin-left:0}}
@media(prefers-reduced-motion:reduce){.registration-progress-track span,.registration-field input,.registration-field textarea,.registration-field select,.registration-choice{transition:none}}
.registration-aside-photo{position:relative;height:220px;overflow:hidden;margin-top:35px}
.registration-aside-photo img{width:100%;height:100%;object-fit:cover}
.registration-aside-photo.film-frame{height:auto;aspect-ratio:16/9}
.registration-aside-photo.film-frame img{height:auto;aspect-ratio:16/9;object-fit:contain}
.registration-intro.layer-host{padding-bottom:16px}
.registration-intro .scene-ribbon{width:140%;height:45%;right:-95%;bottom:0;top:auto;opacity:.14}
.registration-panel{scroll-margin-top:calc(var(--header) + 24px)}
html.motion-paused .registration-progress-track span,html.motion-paused .registration-field input,html.motion-paused .registration-field textarea,html.motion-paused .registration-field select,html.motion-paused .registration-choice{transition:none}
.registration-intro h1{font-size:clamp(40px,4.5vw,64px);line-height:1.1}
.registration-step-title{line-height:1.18;letter-spacing:-.025em}
.registration-progress button{min-height:60px;min-width:0}
.registration-progress button b{font-size:12px;line-height:1.4;font-weight:500}
.registration-step-status,.registration-hint,.registration-optional,.registration-submit-note,.registration-original-link{font-size:14px}
.registration-choice small{font-size:13px;line-height:1.45}
.registration-choice b{font-size:16px;font-weight:600}
.registration-intro .registration-note{font-size:14px;line-height:1.6;max-width:40ch}
.registration-step-copy{line-height:1.65}
.registration-form .registration-field[hidden]{display:none}

@media(max-width:767px){.registration-shell{padding-block:35px 75px}.registration-intro{margin-bottom:25px}.registration-intro h1{font-size:43px;line-height:1;max-width:400px;margin-bottom:15px}.registration-intro h1 br{display:none}.registration-intro>.eyebrow{font-size:11px;margin-bottom:16px}.registration-intro>p:not(.eyebrow){font-size:15px;margin:12px 0;max-width:420px}.registration-intro .registration-help{margin-top:15px;font-size:13px}.registration-intro .registration-note{font-size:11px;margin-top:12px}.registration-aside-photo{display:none}.registration-step-status{margin:12px 0 25px}.registration-step-title{font-size:30px}.registration-step-copy{margin-bottom:25px}}

@media(max-width:767px){
  .registration-panel{padding:24px 20px}
  .registration-intro h1{line-height:1.1}
  .registration-progress button b{font-size:12px;letter-spacing:0}
  .registration-progress button span{font-size:11px}
  .registration-step-copy{font-size:16px}
  .registration-intro .registration-note{font-size:14px}
  .registration-intro .registration-help{font-size:15px}
}
