/* The approved registration reference; all rules are confined to #apply. */
#apply.registration-page{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 0 3%,#69388355,transparent 33%),radial-gradient(ellipse at 100% 60%,#60248528,transparent 50%),linear-gradient(120deg,#241034,#190a2c 55%,#210c34);padding:0 0 190px;min-height:100vh}
#apply .registration-shell{position:relative;z-index:1;width:min(940px,calc(100% - 88px));margin:auto}
#apply .registration-nav{display:flex;align-items:center;justify-content:space-between;height:138px}
#apply .registration-nav .brand img{width:142px;height:88px;object-fit:contain;padding:0;background:transparent}
#apply .registration-nav .btn{min-width:220px;min-height:63px;border:1px solid #ad76d08c;background:#ffffff02;box-shadow:inset 0 0 18px #9966ff10;font-size:29px;padding:7px 30px;border-radius:50px;font-weight:400}
#apply .registration-intro{text-align:center;margin:6px 0 30px}
#apply .registration-intro h1{font-size:clamp(60px,7.5vw,80px);line-height:1.25;letter-spacing:0;margin:0 0 6px;padding:3px 0}
#apply .registration-intro h1 em{font-style:normal;color:#ca91ed;background:linear-gradient(90deg,#b86fe2,#dcacf2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
#apply .registration-intro p{font-size:34px;line-height:1.5;color:#e2cde9;margin:0}
#apply .reg-top-wave{position:absolute;z-index:0;top:185px;right:-10%;width:76%;height:320px;pointer-events:none;filter:drop-shadow(0 0 7px #be6fff80)}
#apply .registration-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;margin:0 0 46px;scroll-margin-top:20px}
#apply .registration-steps button{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:10px;padding:0 3px;border:0;background:none;color:#d8c7e1;font:inherit}
#apply .registration-steps button>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#241336;border:1px solid #b18abe9c;font-size:29px;line-height:1;transition:background .3s,box-shadow .3s,border-color .3s}
#apply .registration-steps button>b{font-size:24px;line-height:1.3;font-weight:400;transition:color .3s}
#apply .registration-steps button[aria-current=step]>span{background:linear-gradient(130deg,#ca82ee,#7731ab);box-shadow:inset 0 0 12px #f2c1ff44,0 0 25px #b85fe14d;border-color:#e0afffcc;color:#fff}
#apply .registration-steps button[aria-current=step]>b{color:#fff;font-weight:600}
#apply .registration-steps button.complete>span{border-color:#c894ed;background:#6f359c50}
#apply .steps-line{position:absolute;right:12.5%;left:12.5%;height:2px;top:26px;background:#9a6daa80}
#apply .steps-line i{display:block;height:100%;width:var(--step-progress,0%);background:linear-gradient(90deg,#d59bed,#c38be7);box-shadow:0 0 9px #dba6ff;transition:width .35s}
#apply .registration-card{padding:35px 40px 48px;border:1px solid #af7cc39c;border-radius:36px;background:radial-gradient(ellipse at 2% 5%,#af7cc32b,transparent 55%),linear-gradient(115deg,#5b306153,#251234a8 55%,#48235160);box-shadow:inset 0 0 30px #9966ff0b,0 14px 55px #00000016;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);margin:0}
#apply .registration-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 37px}
#apply .registration-stage-title{display:flex;align-items:flex-start;gap:19px}
#apply .registration-stage-title>svg{width:46px;height:52px;flex:0 0 46px;stroke:#d08af1;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-top:5px}
#apply .registration-card-head h2{font-size:48px;line-height:1.25;letter-spacing:0;margin:0 0 7px;outline:none}
#apply .registration-card-head p{font-size:29px;color:#e2d3e9;line-height:1.45;margin:0}
#apply .registration-badge{margin-top:13px;white-space:nowrap;min-width:126px;text-align:center;padding:4px 19px;font-size:26px;line-height:1.45;border:1px solid #b18cbd50;border-radius:40px;background:#d6a2f119;box-shadow:inset 0 1px 3px #fff1}
#apply .registration-stage{min-width:0;border:0;padding:0;margin:0;animation:registrationStepIn .25s ease-out}
#apply [hidden]{display:none!important}
#apply .registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:15px}
#apply .reg-field{min-width:0;display:flex;flex-direction:column;gap:8px}
#apply .reg-field.full{grid-column:1/-1}
#apply .reg-field>label:not(.registration-consent),#apply .reg-label{font-size:32px;line-height:1.4;color:#fff}
#apply .reg-field>label>span,#apply .reg-label>span{color:#c282e5;margin-right:5px}
#apply .reg-field label small{font-size:.75em;color:#c6add3}
#apply :is(input:not([type=radio]):not([type=checkbox]),select,textarea){min-width:0;width:100%;min-height:72px;padding:10px 22px;border:1px solid #b18cbea6;border-radius:20px;background:linear-gradient(105deg,#b894c12a,#b596c11c);color:#fff;font-family:inherit;font-size:30px;line-height:1.4;box-shadow:inset 0 1px 4px #ffffff05;transition:border-color .2s,box-shadow .2s,background .2s}
#apply :is(input,textarea)::placeholder{color:#c9b7d3;opacity:1}
#apply :is(input,select,textarea):focus{outline:0;border-color:#d19aef;box-shadow:0 0 0 3px #c28ae51a,0 0 19px #9966ff19;background-color:#a67cc510}
#apply :is(input,select,textarea)[aria-invalid=true]{border-color:#f3a4b9}
#apply textarea{min-height:125px;resize:vertical}
#apply select{appearance:auto;color-scheme:dark;padding-left:12px}
#apply select option{background:#2e173f;color:#fff}
#apply select:disabled{opacity:.55;cursor:not-allowed}
#apply input[dir=ltr]{text-align:left;font-family:Arial,Tahoma,sans-serif;font-size:26px}
#apply .input-shell{position:relative}
#apply .input-shell input{padding-right:64px}
#apply .input-shell>svg{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:31px;height:31px;fill:none;stroke:#e0cee9;stroke-width:1.7;stroke-linejoin:round;pointer-events:none}
#apply .gpa-fields{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:9px;direction:ltr}
#apply .gpa-fields select{padding:8px;font-size:22px;direction:rtl}
#apply .choice-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
#apply .choice{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;min-height:86px;padding:15px 18px;border:1px solid #b18cbea6;border-radius:21px;background:linear-gradient(105deg,#b894c125,#b596c114);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;color:#fff;font-size:29px}
#apply .choice:has(input:checked){background:linear-gradient(115deg,#a35bc54d,#6e329b50);border-color:#d49cf3;box-shadow:0 0 17px #aa69dc20}
#apply .choice:focus-within{outline:2px solid #d6b4f0;outline-offset:3px}
#apply .choice input{appearance:none;-webkit-appearance:none;width:26px;height:26px;min-height:26px;flex:0 0 26px;margin:0;padding:0;border:2px solid #c8b0d7;border-radius:50%;background:transparent;box-shadow:none}
#apply .choice input:checked{border-color:#e1b8ff;background:radial-gradient(circle,#e1b8ff 0 42%,transparent 48%)}
#apply .choice svg{width:31px;height:36px;stroke:#dcc9e8;fill:none;stroke-width:1.8;flex:0 0 31px}
#apply .field-error{display:block;min-height:21px;font-size:18px;line-height:1.2;color:#ffc1d1;margin:0}
#apply .registration-form-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b68cce1a;margin-top:45px;padding-top:43px;gap:22px}
#apply .registration-form-actions .btn{min-height:70px;border-radius:50px;font-size:30px;line-height:1.2;padding:10px 30px}
#apply .registration-form-actions .outline{min-width:200px;background:transparent;border:1px solid #a680b787;font-weight:400;box-shadow:none}
#apply .registration-form-actions .registration-next{min-width:290px;gap:32px;background:linear-gradient(115deg,#cc89f2,#8c3fd0 80%);border:1px solid #daa7f580;box-shadow:0 0 25px #b86de01c;flex-direction:row}
#apply .registration-next>span:last-child{order:2;font:38px/1 Arial,sans-serif}
#apply .registration-next:active{transform:scale(.98)}
#apply .registration-next:disabled{opacity:.65;cursor:wait}
#apply .registration-consent{display:flex;align-items:flex-start;gap:12px;font-size:23px;line-height:1.5;color:#dfcde8}
#apply .registration-consent input{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:#b66fe9;margin:5px 0 0;padding:0}
#apply #applyInfo:not(:empty){margin:0 0 20px}
#apply #applyResult:not(:empty){padding:22px;margin-top:26px;border:1px solid #b58ad260;border-radius:18px;background:#5c2a8140;color:#f6e8ff;font-size:25px;line-height:1.6;outline:none}
#apply #applyResult.error{border-color:#ec9fb965;color:#ffd3df}
#apply .registration-bottom-wave{position:absolute;bottom:0;left:0;width:100%;height:190px;z-index:0;pointer-events:none;filter:drop-shadow(0 -2px 7px #a859db66)}
@keyframes registrationStepIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:800px){#apply .registration-shell{width:calc(100% - 48px)}#apply .registration-nav{height:110px}#apply .registration-nav .brand img{width:115px;height:73px}#apply .registration-nav .btn{min-width:160px;min-height:48px;font-size:24px}#apply .registration-intro h1{font-size:49px}#apply .registration-intro p{font-size:26px}#apply .registration-card{padding:30px 27px}#apply .registration-fields{column-gap:24px}#apply .registration-steps button>b{font-size:21px}#apply .registration-card-head h2{font-size:35px}#apply .registration-card-head p{font-size:24px}#apply .registration-badge{min-width:90px;font-size:22px}#apply .registration-form-actions .registration-next{min-width:230px}#apply .registration-form-actions .outline{min-width:150px}}
@media(max-width:600px){#apply.registration-page{padding-bottom:125px}#apply .registration-shell{width:calc(100% - 36px)}#apply .registration-nav{height:98px}#apply .registration-nav .brand img{width:99px;height:65px}#apply .registration-nav .btn{min-width:135px;min-height:43px;font-size:22px;padding:7px 18px}#apply .registration-intro{margin:17px 0 30px}#apply .registration-intro h1{font-size:clamp(34px,9.3vw,43px);line-height:1.2;padding:3px 0;margin-bottom:9px}#apply .registration-intro p{font-size:clamp(20px,5.3vw,23px);line-height:1.45}#apply .reg-top-wave{top:160px;width:100%;height:190px}#apply .registration-steps{margin-bottom:28px}#apply .registration-steps button{gap:9px;padding:0 2px}#apply .registration-steps button>span{width:34px;height:34px;font-size:21px}#apply .registration-steps button>b{font-size:clamp(15px,4.3vw,19px);line-height:1.3}#apply .steps-line{top:16px}#apply .registration-card{border-radius:25px;padding:24px 19px 26px}#apply .registration-card-head{gap:9px;margin-bottom:25px}#apply .registration-stage-title{gap:9px}#apply .registration-stage-title>svg{width:29px;height:34px;flex-basis:29px;margin-top:2px}#apply .registration-card-head h2{font-size:clamp(26px,7.1vw,31px);line-height:1.2;margin-bottom:7px}#apply .registration-card-head p{font-size:20px;line-height:1.4}#apply .registration-badge{min-width:66px;font-size:18px;padding:3px 9px;margin-top:3px}#apply .registration-fields{grid-template-columns:1fr;gap:9px}#apply .reg-field{gap:7px}#apply .reg-field>label:not(.registration-consent),#apply .reg-label{font-size:22px;line-height:1.4}#apply :is(input:not([type=radio]):not([type=checkbox]),select,textarea){font-size:22px;min-height:55px;border-radius:15px;padding:9px 14px;line-height:1.4}#apply input[dir=ltr]{font-size:17px}#apply .input-shell input{padding-right:47px}#apply .input-shell>svg{width:24px;height:24px;right:15px}#apply .choice-row{gap:12px}#apply .choice{min-height:63px;border-radius:16px;gap:10px;padding:12px 7px;font-size:23px}#apply .choice input{width:21px;height:21px;min-height:21px;flex-basis:21px}#apply .choice svg{width:23px;height:28px;flex-basis:23px}#apply .field-error{min-height:17px;font-size:16px}#apply textarea{min-height:110px}#apply .registration-form-actions{margin-top:17px;padding-top:24px;gap:14px}#apply .registration-form-actions .btn{min-height:54px;font-size:24px;padding:10px 17px}#apply .registration-form-actions .registration-next{min-width:0;flex:1.3;gap:15px}#apply .registration-form-actions .outline{min-width:0;flex:1}#apply .registration-next>span:last-child{font-size:29px}#apply .registration-consent{font-size:20px}#apply .registration-bottom-wave{height:125px}#apply #applyResult:not(:empty){font-size:22px;padding:18px}}
@media(max-width:350px){#apply .registration-shell{width:calc(100% - 28px)}#apply .registration-card{padding:22px 15px}#apply .registration-card-head{position:relative;padding-top:33px}#apply .registration-badge{position:absolute;top:-5px;left:0}#apply .registration-stage-title{gap:8px}#apply .choice{gap:7px;font-size:21px}#apply .choice svg{width:21px;flex-basis:21px}}
@media(prefers-reduced-motion:reduce){#apply .registration-stage{animation:none}#apply *{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:761px) and (max-width:1000px){#apply.active~footer .footer-top{flex-direction:column;align-items:center}}
/* Organise only the experience and motivation stages. */
#apply .registration-card:has(.question-stage:not([hidden])) .registration-card-head{padding-bottom:24px;margin-bottom:32px;border-bottom:1px solid #b78ed52b}
#apply .question-stage .registration-fields{row-gap:28px;direction:rtl;text-align:right}
#apply .question-group{position:relative;display:block;min-width:0}
#apply .question-group+.question-group:before{content:'';position:absolute;top:-14px;right:0;left:0;height:1px;background:#b78ed52b}
#apply .question-group .question-title{display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:28px;line-height:1.3;margin:0 0 6px;color:#f3e7fa;letter-spacing:0}
#apply .question-title>span{display:grid;place-items:center;flex:0 0 43px;min-height:33px;border-radius:9px;background:#a960cf2b;color:#d29aef;font:18px/1 Arial,Tahoma,sans-serif;letter-spacing:0}
#apply .question-stage .question-group>label:not(.registration-consent),#apply .question-stage .question-group>.reg-label{display:block;font-size:25px;font-weight:400;line-height:1.55;color:#e8daee;margin:0 0 12px;text-align:right;word-spacing:normal;letter-spacing:0;text-wrap:pretty}
#apply .question-group .required-tail{white-space:nowrap;color:inherit;margin:0}
#apply .question-group .required-tail i{font-style:normal;color:#d592ed;margin-inline-start:5px}
#apply .question-stage .question-group textarea{min-height:116px;padding:13px 18px;font-size:25px;line-height:1.55;border-radius:18px}
#apply .question-group :is(input,textarea)::placeholder{font-size:22px;color:#c6b0d1}
#apply .question-group .choice-row{gap:18px}
#apply .question-group .choice{min-height:64px;padding:11px 16px;gap:17px;border-radius:18px;font-size:26px;line-height:1.25}
#apply .question-group .choice input{width:23px;height:23px;min-height:23px;flex-basis:23px}
#apply .question-group .field-error{min-height:17px;margin-top:3px}
#apply .question-group .field-error:empty{min-height:0;height:0;margin:0}
#apply .question-stage .registration-consent-field{margin-top:1px;gap:4px}
#apply .question-stage .registration-consent{font-size:20px;line-height:1.5;color:#cdbbd7;gap:11px;font-weight:400}
#apply .question-stage .registration-consent input{width:18px;height:18px;min-height:18px;flex-basis:18px;margin-top:4px}
@media(max-width:600px){
 #apply .registration-card:has(.question-stage:not([hidden])){padding-inline:20px}
 #apply .registration-card:has(.question-stage:not([hidden])) .registration-card-head{padding-bottom:22px;margin-bottom:32px}
 #apply .question-group .question-title{font-size:clamp(23px,6.1vw,26px);gap:10px}
 #apply .question-title>span{flex-basis:35px;min-height:28px;font-size:16px;border-radius:7px}
 #apply .question-stage .question-group>label:not(.registration-consent),#apply .question-stage .question-group>.reg-label{font-size:clamp(20px,5.3vw,23px);line-height:1.55;margin-bottom:12px}
 #apply .question-stage .question-group textarea{min-height:106px;padding:11px 14px;font-size:22px;line-height:1.5;border-radius:15px}
 #apply .question-group :is(input,textarea)::placeholder{font-size:20px}
 #apply .question-group .choice-row{gap:12px}
 #apply .question-group .choice{min-height:55px;padding:10px 12px;gap:14px;border-radius:15px;font-size:23px}
 #apply .question-group .choice input{width:21px;height:21px;min-height:21px;flex-basis:21px}
 #apply .question-stage .registration-consent{font-size:18px;line-height:1.5;gap:10px}
 #apply .question-stage .registration-consent input{margin-top:3px}
}
