:root{--blue:#082f62;--green:#285640;--cream:#f7f3e9;--paper:#fffdf8;--sage:#87a990;--gold:#d7b889;--error:#8b3028;color-scheme:light}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--cream);color:var(--blue);font:16px/1.45 "Avenir Next",Avenir,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:3px}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:absolute;top:-100px;left:1rem;background:var(--paper);padding:1rem;z-index:10}.skip:focus{top:1rem}
.registration{height:100dvh;max-width:1120px;margin:auto;display:flex;flex-direction:column;padding:0 20px;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 0;flex-shrink:0}.brand{display:block;width:48px;height:48px}.brand img{width:100%;height:100%}.close{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--gold);text-decoration:none;font:32px/1 Arial,sans-serif}.preview-notice{flex-shrink:0;font-size:12px;padding:8px 12px;background:#e9dfcb;border-radius:10px;line-height:1.4}
.wizard{display:flex;flex:1;min-height:0;flex-direction:column;width:100%;max-width:900px;margin:auto;padding:12px 0 0}.section-select{font-weight:700;font-size:14px;border:0;background:transparent;max-width:100%;padding:5px 22px 5px 0;min-height:36px}

#registration-form{display:flex;flex-direction:column;flex:1;min-height:0}.screen-heading{padding:18px 0 14px;flex-shrink:0}h1{font-family:"Arial Rounded MT Bold","Avenir Next",Arial,sans-serif;font-size:32px;line-height:1.15;letter-spacing:-.6px;margin:0;overflow-wrap:anywhere}.intro{font-size:14px;margin:8px 0 0}.screen-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.fields{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px 24px;background:var(--paper);border-radius:22px;padding:24px;min-height:100%}.field{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:700}.field.wide:not(:has(textarea)){grid-column:auto}.wide,.field-group,.note,.upload{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:46px;background:var(--cream);border:1px solid #a5b7a6;border-radius:10px;padding:10px 12px;font-size:16px;font-weight:400}.field textarea{resize:none;height:112px}.select-wrap{position:relative;display:block}.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:42px}.select-wrap svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none}.field-group{border:0;padding:0;margin:0;min-width:0}.field-group legend{font-size:15px;font-weight:700;margin-bottom:10px}.options{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.check{display:flex;gap:10px;align-items:flex-start;min-height:38px;font-size:15px}.check input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:var(--green)}.note{font-size:14px;line-height:1.5;margin:0}.upload{padding:16px;border:1px dashed #91ab95;border-radius:14px;background:#eef2e8;min-width:0}.upload h2{font-size:19px;margin:0 0 8px}.upload p{font-size:13px;margin:6px 0}.upload input{max-width:100%;font-size:13px;display:block;margin-top:12px}.upload label{font-size:14px}.field-error{display:block!important;min-height:32px;font-size:12px;font-weight:500;line-height:16px;color:var(--error)}.field-error[hidden]{visibility:hidden}.field [aria-invalid=true]{border-color:var(--error)}
.wizard-bottom{flex-shrink:0;padding-top:8px}.skip-step{min-height:32px;padding:4px 0;font-size:13px;border:0;background:none;text-decoration:underline}.actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0}.back{background:transparent;border:0;min-height:46px;padding:10px 0;font-size:15px;font-weight:700}.back:disabled{visibility:hidden}.next{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--gold);border:0;border-radius:14px;padding:12px 20px;min-height:46px;font-weight:700}.next span:last-child{font-size:22px;line-height:1}.next:hover:not(:disabled){background:#ccb07f}.form-status{font-size:12px;line-height:1.3;margin:0}.legal-links{display:flex;gap:20px;font-size:12px;margin-top:3px}
.ys-registration-embedded .header,.ys-registration-embedded .skip{display:none}.ys-registration-embedded .registration{max-width:none;padding:0 8px}.ys-registration-embedded .wizard{max-width:900px}
@media(max-width:600px){.registration{padding:0 12px}.wizard{padding-top:6px}.screen-heading{padding:12px 0}.screen-heading h1{font-size:25px}.intro{font-size:13px}.fields{grid-template-columns:1fr;padding:16px;gap:6px}.field{font-size:14px}.field-error{min-height:32px}.preview-notice{font-size:11px;padding:6px 10px}.screen-body{scrollbar-gutter:auto}.section-select{font-size:13px}#screen-count{font-size:12px}.legal-links{gap:12px}.next{min-width:130px}}
@media(max-height:550px){.screen-heading{padding:8px 0}h1,.screen-heading h1{font-size:23px}.fields{padding:12px;gap:4px 16px}.wizard{padding-top:4px}.intro{margin-top:3px}.field-error{min-height:16px}.preview-notice{padding:4px 10px}.field textarea{height:76px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.upload{padding:12px}.upload p{font-size:12px;line-height:1.4;margin:0 0 8px}.upload p:last-child{margin:8px 0 0}.upload button{font-size:13px;min-height:38px;padding:8px 12px;border:1px solid #91ab95;border-radius:10px;background:var(--cream)}

.wizard-bottom{padding-bottom:10px}.form-status{margin-top:6px}.legal-links{margin-top:8px}.check{overflow-wrap:anywhere;min-width:0}

/* Ten stable sections: the progress indicator does not change with page reflow. */
.screen-heading{display:flex;align-items:center;gap:18px;padding:6px 0 16px;min-height:106px}
.heading-copy{flex:1;min-width:0}.heading-copy h1{margin-top:4px}
.progress-ring{position:relative;width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center}
.progress-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;shape-rendering:geometricPrecision}
.progress-ring path{fill:#285640;stroke:#83ad8d;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:miter;transition:fill .3s,stroke .3s}
.progress-ring path.is-complete{fill:#add0b1;stroke:#537d60}
.progress-ring path.is-current{stroke:#d7b889;stroke-width:1}
.progress-ring strong{font-size:17px;font-weight:800;color:#285640;font-variant-numeric:tabular-nums}
@media(max-width:600px){.screen-heading{gap:12px;padding:2px 0 12px;min-height:94px}.progress-ring{width:52px;height:52px;flex-basis:52px}.progress-ring strong{font-size:15px}.section-select{font-size:12px}.screen-heading h1{font-size:23px}}
@media(max-height:550px){.screen-heading{padding:0 0 8px;min-height:80px}.progress-ring{width:52px;height:52px;flex-basis:52px}.screen-heading h1{font-size:21px}}
