.registration-main{padding-block:48px 85px}
.registration-heading{max-width:830px;margin-bottom:36px}
.registration-heading h1{font-size:clamp(2.5rem,5.2vw,4.6rem);line-height:1.1;letter-spacing:-.035em}
.registration-heading p{max-width:65ch;color:var(--muted);line-height:1.8}
.registration-intro{margin-top:22px}
.registration-open{margin-top:18px;font-size:.95rem}
.registration-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:80px;align-items:start;border-top:1px solid var(--line);padding-top:32px}
.registration-form-panel{min-width:0}
.registration-main fieldset{border:0;padding:0;margin:0;min-width:0}
.registration-main .registration-section+.registration-section{margin-top:36px}
.registration-section legend,.registration-share h2{font-family:Georgia,Malayalam,serif;font-size:1.55rem;font-weight:400;line-height:1.5;letter-spacing:-.025em;margin-bottom:20px;padding:0}
.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:end}
.registration-field{min-width:0;display:flex;flex-direction:column;gap:8px}
.registration-field-full{grid-column:1/-1}
.registration-field label{font-size:.875rem;line-height:1.6;font-weight:550}
.registration-field input,.registration-field select,.registration-field textarea{width:100%;min-width:0;max-width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--navy);font:inherit;font-size:1rem;line-height:1.7}
.registration-field textarea{resize:vertical}
.registration-field input:focus-visible,.registration-field textarea:focus-visible,.registration-field select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.registration-field input:disabled,.registration-field select:disabled,.registration-field textarea:disabled{background:var(--paper-deep);color:var(--muted);cursor:not-allowed;opacity:1}
.registration-field small,.registration-hint,.registration-privacy{font-size:.875rem;line-height:1.8;color:var(--muted)}
.registration-submit{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.registration-consent{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;line-height:1.8;min-height:44px}
.registration-consent input{width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;accent-color:var(--navy)}
.registration-privacy{margin-top:16px;overflow-wrap:anywhere}
#registration-challenge{margin-top:24px}
.registration-submit button{margin-top:24px}
.registration-share{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.registration-share h2{margin-bottom:4px;max-width:100%}
.registration-invitation{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;font-size:1rem;line-height:1.8;color:var(--muted)}
.registration-share-brand{display:flex;align-items:center;gap:12px;color:var(--navy);max-width:100%}
.registration-share-brand img{width:48px;height:48px;object-fit:contain;flex:none}
.registration-share-brand strong{display:block;font-family:Georgia,Malayalam,serif;font-size:1.25rem;font-weight:400;line-height:1.5}
.registration-share-brand span{display:block;font-size:.75rem;color:var(--gold)}
.registration-share-title{font-weight:550;color:var(--navy)}
.registration-code{width:240px;max-width:100%;height:auto;background:var(--white)}
.registration-share .button{max-width:100%;white-space:normal;text-align:left}
.registration-share-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.registration-share-actions .text-button{justify-content:flex-start}
#registration-copy-status{font-size:.875rem;color:var(--muted)}
#registration-copy-status:empty{display:none}
#registration-copy-fallback{font-size:.875rem;line-height:1.8}
#registration-copy-fallback a{user-select:all}
.registration-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.registration-main [hidden]{display:none!important}
#registration-status{overflow-wrap:anywhere;line-height:1.8}
#registration-status:not(:empty){padding:20px 22px;background:var(--paper-deep);border:1px solid var(--line);border-radius:3px;margin-top:24px}
.registration-main button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.registration-main form[aria-busy=true] button{cursor:wait}
.registration-spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:registration-spin .8s linear infinite}
html[lang=ml] .registration-heading h1{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.5}
html[lang=ml] .registration-section legend,html[lang=ml] .registration-share h2{font-size:1.25rem;line-height:1.7;letter-spacing:0}
@keyframes registration-spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.registration-grid{grid-template-columns:minmax(0,1fr) 280px;gap:40px}}
@media(max-width:760px){
 .registration-main{padding-block:35px 60px}
 .registration-heading{margin-bottom:28px}
 .registration-heading h1{font-size:2.8rem}
 .registration-grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:28px}
 .registration-fields{grid-template-columns:minmax(0,1fr);gap:20px}
 .registration-main .registration-section+.registration-section{margin-top:32px}
 .registration-share{border-top:1px solid var(--line);padding-top:28px}
 .registration-main .button{max-width:100%;white-space:normal;min-height:48px}
 .registration-submit button{width:100%}
}
@media(prefers-reduced-motion:reduce){.registration-spinner{animation:none}}
