:root{background:#173970}
body{background:linear-gradient(145deg,#173970 10%,#24527e 65%,#30796f);min-height:100vh}
.registration-page{max-width:848px;margin:0 auto;padding:24px 24px 56px}
.form-heading{position:relative;isolation:isolate;overflow:hidden;color:white;background:#173970}
.form-heading:before,.form-heading:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.form-heading:before{background:linear-gradient(145deg,#274c7c 10%,#24527e 58%,#409084 100%);clip-path:polygon(0 0,100% 0,60% 100%)}
.form-heading:after{opacity:.7;background:linear-gradient(145deg,#17366b 20%,#30796f 85%,#83b597);clip-path:polygon(100% 0,100% 100%,54% 100%)}
.form-heading-content{position:relative;padding:24px 32px 0}
.form-heading button{position:relative;z-index:1;display:block;margin:0 0 12px auto;border:1px solid #c9e4eb80;background:#17397066;color:white;padding:10px 16px;min-height:44px;font-size:14px}
.form-year{position:absolute;top:96px;right:24px;font-size:clamp(80px,15vw,152px);font-weight:700;letter-spacing:-8px;line-height:1;color:transparent;-webkit-text-stroke:1px #b8cadd;opacity:.35;pointer-events:none}
.form-heading h1{position:relative;font-size:clamp(28px,4.5vw,40px);line-height:1.2;letter-spacing:-.6px;max-width:680px;font-weight:650}
html[lang="zh-CN"] .form-heading .title-en-only{display:none}
.form-city{position:relative;height:156px;margin-top:8px;background-image:url('/assets/global-backdrop-reference.png');background-size:max(100%,1000px) auto;background-position:center bottom;background-repeat:no-repeat;pointer-events:none;mask-image:linear-gradient(transparent,#000 28%);-webkit-mask-image:linear-gradient(transparent,#000 28%)}
.global-registration{padding:32px}
.registration-intro .section-label{margin-bottom:16px}
.registration-intro h2{font-size:28px}
@media(max-width:600px){
  .registration-page{padding:0 0 24px}
  .global-registration{padding:28px 20px}
  .registration-grid{grid-template-columns:1fr;gap:24px}
  .form-heading-content{padding:24px 20px 0;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:24px;row-gap:28px}
  .form-heading button{grid-column:2;grid-row:1;margin:0;font-size:16px;background:#173970}
  .form-year{position:static;grid-column:1;grid-row:1;font-size:64px;letter-spacing:-3px;opacity:.65}
  .form-heading h1{grid-column:1/-1;grid-row:2;font-size:clamp(36px,10.2vw,52px);line-height:1.14;letter-spacing:-.8px}
  html[lang="zh-CN"] .form-heading h1{font-size:clamp(36px,10.4vw,52px);line-height:1.2;letter-spacing:0}
  .form-city{height:132px;margin-top:16px;background-size:900px auto}
  .section-label{flex-direction:column;font-size:14px;letter-spacing:.5px;gap:8px}
  .registration-intro h2{font-size:32px}
  #registration-note,.registration-guardian p,.registration-total,.registration-availability,#registration-message{font-size:16px;line-height:1.65}
  label,.registration-additional legend{font-size:16px}
  .deadline{font-size:15px;line-height:1.65}
  .registration-success-eyebrow,.registration-success-event dt{font-size:14px;letter-spacing:.5px}
  .registration-success-event dd,.registration-ics{font-size:16px}
}

/* Family details are informational; seats remain explicitly entered. */
.registration-children{min-width:0;border:1px solid var(--line);padding:16px;margin:0}.registration-children legend{font-size:16px;font-weight:600;padding:0 8px}.registration-children p{font-size:14px;line-height:1.6}.registration-children [data-child-list]>fieldset{min-width:0;border:0;border-top:1px solid var(--line);padding:16px 0;margin:0}.registration-children .bio-button{font:inherit;background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;padding:10px 0;cursor:pointer}.registration-children .bio-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
