/* Registration pages ----------------------------------------------------- */
.registration-page{background:linear-gradient(180deg,#fbfaf7 0%,#f5f8fb 48%,#fffdfb 100%);color:var(--ink)}
.registration-shell{width:min(1180px,92%);margin:0 auto}
.registration-hero{position:relative;overflow:hidden;padding:74px 0 62px;background:var(--blue);color:#fff}
.registration-hero:before,.registration-hero:after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.registration-hero:before{width:420px;height:420px;right:-120px;top:-180px;background:#dceaf4;opacity:.3}
.registration-hero:after{width:300px;height:300px;left:-150px;bottom:-185px;background:#efc7d2;opacity:.34}
.registration-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:58px;align-items:center}
.registration-hero-copy{max-width:680px}
.registration-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:#f9e9ee;font:600 11px/1.2 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.registration-kicker:before{content:"✦";color:#f6d36c;font-size:17px}
.registration-hero h1{margin:0;color:#fff;font:500 clamp(46px,6vw,82px)/.9 'Cormorant Garamond',serif;letter-spacing:-.035em}
.registration-hero h1 em{color:#f8dce5;font-style:italic}
.registration-hero p{max-width:620px;margin:24px 0 0;color:#eff6fb;font:400 16px/1.7 'DM Sans',sans-serif}
.registration-hero-card{justify-self:end;width:min(100%,390px);padding:10px;background:#f7dfe8;border-radius:52% 48% 45% 55%/42% 44% 56% 58%;box-shadow:18px 22px 0 #f6d36c44,0 26px 60px #174d8044;transform:rotate(3deg)}
.registration-hero-card img{display:block;width:100%;aspect-ratio:1/1.08;object-fit:cover;border-radius:48% 52% 47% 53%/43% 50% 50% 57%;transform:rotate(-3deg)}
.registration-intro{display:flex;justify-content:space-between;gap:28px;align-items:end;padding:46px 0 22px}
.registration-intro h2{margin:0;color:#3d4650;font:500 clamp(30px,4vw,48px)/1 'Cormorant Garamond',serif}
.registration-intro p{max-width:570px;margin:0;color:#637180;font:400 14px/1.7 'DM Sans',sans-serif}
.registration-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px;align-items:start;padding:26px 0 82px}
.registration-aside{position:sticky;top:25px;padding:26px 24px;background:#eaf2f8;border:1px solid #d9e3ea;border-radius:24px;box-shadow:0 16px 30px #174d8010}
.registration-aside h3{margin:0 0 14px;color:#426b8d;font:600 12px/1.2 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.registration-aside ol{margin:0;padding:0;list-style:none;counter-reset:steps}
.registration-aside li{display:flex;gap:10px;padding:10px 0;border-top:1px solid #c9dce9;color:#607386;font:500 12px/1.35 'DM Sans',sans-serif}
.registration-aside li:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);color:#b66f84;font-size:11px;font-weight:700}
.registration-aside-note{margin:22px 0 0;padding-top:18px;border-top:1px solid #c9dce9;color:#607386;font:400 11px/1.6 'DM Sans',sans-serif}
.registration-form-card{padding:clamp(22px,4vw,46px);background:#fff;border:1px solid #dfe8ef;border-radius:30px;box-shadow:0 24px 70px #174d8014}
.registration-form-card>p{margin:0 0 26px;color:#647485;font:400 13px/1.65 'DM Sans',sans-serif}
.form-section{margin:0;padding:0 0 34px;border:0}
.form-section+.form-section{padding-top:34px;border-top:1px solid #dfe8ef}
.form-section legend{width:100%;margin:0 0 20px;padding:0;color:#466f91;font:500 28px/1.05 'Cormorant Garamond',serif}
.form-section legend small{display:block;margin-top:7px;color:#8291a0;font:400 11px/1.5 'DM Sans',sans-serif;letter-spacing:.02em}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{min-width:0}
.field.full{grid-column:1/-1}
.field label,.field-label{display:block;margin:0 0 7px;color:#485968;font:600 11px/1.25 'DM Sans',sans-serif;letter-spacing:.055em;text-transform:uppercase}
.field label span,.field-label span{color:#b66f84}
.field input,.field select,.field textarea{box-sizing:border-box;width:100%;border:1px solid #cad9e4;border-radius:11px;background:#fcfdfd;padding:12px 13px;color:#3d4650;font:400 14px/1.35 'DM Sans',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{min-height:104px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#5f82a1;background:#fff;box-shadow:0 0 0 4px #dceaf488}
.field input::placeholder,.field textarea::placeholder{color:#a1adb7}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:46px;padding:12px 13px;border:1px solid #d6e2ea;border-radius:12px;background:#f8fbfd;color:#536675;font:400 12px/1.45 'DM Sans',sans-serif;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.choice:hover{border-color:#9bb9ce;background:#edf5f9;transform:translateY(-1px)}
.choice input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:#5f82a1}
.choice:has(input:checked){border-color:#5f82a1;background:#eaf2f8;color:#3f617c;box-shadow:0 5px 12px #5f82a114}
.choice strong{display:block;color:#41576a;font-weight:700}
.subsection{margin-top:22px;padding-top:20px;border-top:1px dashed #cfdde6}
.subsection h3{margin:0 0 13px;color:#60778a;font:600 12px/1.2 'DM Sans',sans-serif;letter-spacing:.11em;text-transform:uppercase}
.conditional{display:none}
.conditional.is-visible{display:block;animation:registrationFade .25s ease both}
@keyframes registrationFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.children-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.child-card{padding:18px;border:1px solid #d8e4eb;border-radius:18px;background:#f9fbfc}
.child-card h3{margin:0 0 14px;color:#466f91;font:500 25px/1 'Cormorant Garamond',serif}
.child-card.optional{display:none}
.child-card.optional.is-visible{display:block}
.add-child{margin-top:15px;border:1px solid #9bb9ce;border-radius:999px;background:#fff;color:#4e7391;padding:10px 15px;font:600 11px/1 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s}
.add-child:hover{background:#eaf2f8;color:#3f617c}
.form-note{margin-top:14px;padding:13px 15px;border-left:3px solid #f1c9d5;background:#fff7f9;color:#657384;font:400 11px/1.6 'DM Sans',sans-serif}
.privacy-note{margin:28px 0 0;padding:17px 18px;background:#f5f8fb;border-radius:14px;color:#627486;font:400 11px/1.65 'DM Sans',sans-serif}
.privacy-note a{color:#4e7391;text-decoration:underline}
.consent{display:flex;align-items:flex-start;gap:11px;margin-top:19px;color:#536675;font:500 12px/1.5 'DM Sans',sans-serif;cursor:pointer}
.consent input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#5f82a1}
.form-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:28px}
.form-actions .button{border:0;cursor:pointer}
.form-actions .button.secondary{background:#eaf2f8;color:#466f91}
.form-actions .button.secondary:hover{background:#dceaf4;color:#3d617f}
.form-status{display:none;flex:1 1 250px;padding:11px 14px;border-radius:11px;background:#edf7f0;color:#477557;font:600 11px/1.45 'DM Sans',sans-serif}
.form-status.is-visible{display:block}
.form-status.is-error{background:#fff1f3;color:#9a5266}
.required-note{margin:0 0 18px;color:#8a99a5;font:400 11px/1.45 'DM Sans',sans-serif}
.registration-footer-link{text-align:center;margin:0 0 56px;color:#778897;font:400 12px/1.6 'DM Sans',sans-serif}
.registration-footer-link a{color:#4e7391;text-decoration:underline}
@media(max-width:900px){.registration-hero-inner{grid-template-columns:1fr;gap:34px}.registration-hero-card{justify-self:start;width:min(100%,330px)}.registration-layout{grid-template-columns:1fr}.registration-aside{position:static}.registration-aside ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.registration-aside-note{max-width:520px}.registration-intro{display:block}.registration-intro p{margin-top:13px}}
@media(max-width:620px){.registration-hero{padding:51px 0 46px}.registration-hero h1{font-size:54px}.registration-hero p{font-size:14px}.registration-form-card{padding:22px 17px;border-radius:21px}.form-grid,.form-grid.three,.choice-grid,.choice-grid.three,.children-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.registration-aside ol{grid-template-columns:1fr}.registration-layout{padding-bottom:56px}.form-section legend{font-size:25px}.form-actions{display:block}.form-actions .button{width:100%;margin-bottom:10px}.form-status{display:none}.form-status.is-visible{display:block;margin-top:10px}.choice{min-height:auto}}
