/* Height-aware desktop layout; independent of monitor width. */
html,body{height:100%;margin:0}
.registration{height:100vh;height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr)}
.panel{padding:clamp(18px,4dvh,48px) clamp(24px,4.5vw,88px);overflow-y:auto;overscroll-behavior:contain;justify-content:center;justify-content:safe center}
.topline{flex-shrink:0;margin-bottom:clamp(16px,4.5dvh,52px);font-size:clamp(12px,1vw,16px)}
#registration-content,#success{flex-shrink:0}
h1{font-size:clamp(28px,min(2.65vw,5.1dvh),48px);margin-bottom:clamp(8px,1.2dvh,14px)}
.intro{font-size:clamp(14px,min(1.1vw,2.3dvh),20px);line-height:1.35;margin-bottom:clamp(18px,3.5dvh,38px)}
form>label,.organization>label{margin-bottom:9px;font-size:clamp(14px,1vw,17px)}
input:not([type=checkbox]),#organization{min-height:clamp(48px,7dvh,68px);height:clamp(48px,7dvh,68px);font-size:clamp(16px,1.05vw,20px);padding:12px clamp(16px,1.65vw,30px)}
.organization{margin-top:clamp(16px,2.8dvh,28px)}
#organization{display:block;box-sizing:border-box;width:100%;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;border:1px solid #ded3c3;border-radius:8px;background:#fffdf9;color:#30251d;font-family:inherit;font-weight:400;padding-right:48px}
#organization::placeholder{color:#a3998d}
#organization:focus-visible{outline:2px solid #a66a2b;outline-offset:3px}
.input-wrap button{top:0;bottom:0;height:auto;transform:none;display:flex;align-items:center;justify-content:center}
#org-options{top:calc(100% + 4px);max-height:min(280px,35dvh)}
#org-help:empty{display:none}
.submit{height:clamp(48px,7dvh,68px);margin-top:clamp(16px,2.8dvh,28px);font-size:clamp(16px,1.1vw,20px)}
footer{flex-shrink:0;margin-top:0;padding-top:clamp(24px,4dvh,48px)}
footer p{font-size:clamp(16px,min(1.4vw,2.8dvh),26px);margin-top:clamp(12px,1.8dvh,20px)}
@media(max-width:700px){
 html,body{height:auto}
 .registration{height:auto;min-height:100dvh;overflow:visible}
 .panel{padding:23px 24px;overflow:visible;min-height:0;justify-content:flex-start}
 h1{font-size:28px}.intro{font-size:14px;margin-bottom:22px}
 input:not([type=checkbox]),#organization{min-height:52px;font-size:16px;padding:13px 16px}
 #organization{padding-right:48px}.organization{margin-top:22px}
 .submit{height:56px;margin-top:20px;font-size:16px}footer{padding-top:32px}footer p{font-size:12px}
}
/* A short viewport keeps the start reachable instead of centering past its top. */
@media(min-width:701px) and (max-height:640px){.panel{justify-content:flex-start}.topline{margin-bottom:18px}.intro{margin-bottom:18px}footer{padding-top:24px}}
