:root{--navy:#002E5B;--blue:#0B6FC4;--cyan:#27B2EA;--teal:#15B7BD;--sky:#63C8FF;--pale:#EAF6FC;
  --ink:#26333f;--slate:#6b7885;--shell:#ffffff;--wash:#fafbfc;--line:#e6ecf2;--rule:#eef2f6;--mint:#EAF8F8;
  --r:16px;--r-lg:22px;
  --sh-sm:0 1px 2px rgba(15,40,70,.05),0 2px 8px rgba(15,40,70,.05);
  --sh-md:0 2px 6px rgba(15,40,70,.06),0 10px 26px rgba(15,40,70,.09);
  --sh-lg:0 6px 16px rgba(15,40,70,.09),0 22px 50px rgba(15,40,70,.14);
  --font:"Segoe UI","Open Sans",Roboto,Helvetica,Arial,sans-serif;}
*{box-sizing:border-box;}
body{margin:0;background:var(--shell);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:var(--blue);}
.top{background:#0C1081;}
.top .in{position:relative;max-width:1280px;margin:0 auto;padding:0 40px;height:120px;
  display:flex;align-items:center;justify-content:flex-end;}
.top .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:0;}
.top img{height:72px;vertical-align:middle;}
.top .applybtn{flex:0 0 auto;background:#00A4CE;color:#fff;text-decoration:none;font-weight:700;
  font-size:15px;padding:13px 36px;border-radius:999px;white-space:nowrap;display:flex;}
.top .applybtn:hover{background:#0092b8;color:#fff;}
@media(max-width:820px){
  .top .in{height:84px;padding:0 20px;} .top img{height:46px;}
  .top .applybtn{padding:10px 22px;font-size:14px;}
}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px 60px;}
.hero{margin:22px 0 26px;border-radius:var(--r-lg);color:#fff;padding:28px 32px;overflow:hidden;
  background:linear-gradient(125deg,#0B6FC4 0%,#1a93d8 42%,var(--teal) 100%);box-shadow:var(--sh-lg);position:relative;}
.hero::after{content:"";position:absolute;right:-70px;top:-90px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.2),transparent 62%);}
.hero .inner{position:relative;z-index:2;}
.hero h1{font-size:29px;font-weight:700;line-height:1.15;margin:0;text-shadow:0 2px 10px rgba(0,30,60,.18);}
.hero p{font-size:15px;color:#dff3ff;margin:12px 0 0;max-width:64ch;line-height:1.6;}
.steps{display:flex;gap:8px;margin:0 0 26px;flex-wrap:wrap;}
.steps .s{flex:1;min-width:150px;background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.steps .s .n{display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--mint);color:var(--teal);
  font-size:11px;font-weight:800;text-align:center;line-height:22px;margin-right:8px;}
.steps .s b{color:var(--navy);font-size:12.5px;} .steps .s p{margin:6px 0 0;font-size:11.5px;color:var(--slate);line-height:1.45;}
.steps .s.now{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(39,178,234,.12);}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:26px 30px;margin-bottom:20px;}
.card h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin:0 0 4px;font-weight:800;}
.card .lead{color:var(--slate);font-size:13px;margin:0 0 20px;}
.field{margin:0 0 18px;} .field:last-child{margin-bottom:0;}
.field label{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin:0 0 6px;}
.field .hint{font-weight:400;color:var(--slate);font-size:11.5px;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;
  font-family:var(--font);font-size:14.5px;color:var(--ink);background:#fff;}
.field textarea{resize:vertical;min-height:88px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);outline:none;background:#fff;box-shadow:0 0 0 4px rgba(39,178,234,.16);}

/* A native <select>'s own popup listbox is OS-rendered and out of CSS's
   reach in most browsers — only the closed control can be restyled, so
   that is what carries the design: a custom chevron instead of the browser
   default, brand-colored on hover/focus, room for the arrow so text never
   runs under it. */
.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;
  cursor:pointer;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23002E5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px;
  transition:border-color .15s,box-shadow .15s;}
.field select:hover{border-color:#9db6cc;}
.field select:invalid{color:var(--slate);}
.field select option{color:var(--ink);background:#fff;}
.field select option:disabled{color:var(--slate);}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;} @media(max-width:560px){.two{grid-template-columns:1fr;}}
.title-row{grid-template-columns:110px 1fr 1fr;} @media(max-width:560px){.title-row{grid-template-columns:1fr;}}
.req{color:#b3372f;} .count{float:right;font-weight:400;color:var(--slate);font-size:11px;}

/* Replaces the browser's own validation bubble: a highlight on the field at
   fault, plus a short note beneath it, in the same red as .req above. */
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#b3372f;box-shadow:0 0 0 3px rgba(179,55,47,.14);}
.fielderr{display:block;color:#b3372f;font-size:12px;font-weight:600;margin-top:6px;}
.clause.invalid,.attestbox.invalid{background:#fdf3f2;border-radius:10px;}
.clause.invalid .box input[type=checkbox],.attestbox.invalid input[type=checkbox]{border-color:#b3372f;box-shadow:0 0 0 3px rgba(179,55,47,.18);}
.mirror{background:var(--wash);border:1px dashed #cfdbe6;border-radius:10px;padding:9px 13px;font-size:13px;color:var(--navy);margin-top:8px;}
.mirror b{letter-spacing:.02em;}
.cvfile{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--wash);border:1px dashed #cfdbe6;border-radius:10px;padding:9px 13px;margin-top:8px;}
.cvfile .nm{font-size:13px;color:var(--navy);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cvfile button{flex-shrink:0;border:0;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:700;
  color:var(--blue);cursor:pointer;text-decoration:underline;}
.cvfile button:hover{color:var(--navy);}
/* declarations as a formal instrument */
.decl-card{border:1px solid #d6e0ea;background:linear-gradient(180deg,#fbfcfe,#fff);}
.decl-intro{font-size:12.5px;color:var(--slate);margin:0 0 4px;line-height:1.6;}
.decl-list{margin:18px 0 0;border-top:2px solid var(--navy);}
.consent-list{margin:14px 0 0;border-top:1px solid var(--line);}
.consent-list .clause .txt b{color:var(--navy);}
.clause{display:flex;gap:16px;align-items:flex-start;padding:16px 2px;border-bottom:1px solid var(--line);}
.clause:last-child{border-bottom:0;}
.clause .no{flex-shrink:0;font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:700;color:var(--navy);width:28px;text-align:right;line-height:1.5;opacity:.6;}
.clause .txt{flex:1;font-size:14px;line-height:1.62;color:#33424f;}
.clause .txt a{color:var(--blue);}
.clause .box{flex-shrink:0;}
.clause .box input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:1.5px solid #b7c5d3;border-radius:5px;background:#fff;cursor:pointer;position:relative;transition:.15s;margin:1px 0 0;padding:0;}
.clause .box input[type=checkbox]:checked{background:var(--teal);border-color:var(--teal);}
.clause .box input[type=checkbox]:checked::after{content:"\2713";position:absolute;inset:0;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.clause .box input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(39,178,234,.22);}
.attest{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--slate);line-height:1.6;}
.attest b{color:var(--navy);}
.note{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:12.5px;color:var(--slate);margin:0 0 22px;}
.note b{color:var(--navy);}
.btn{border:0;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:700;font-size:15px;padding:13px 32px;box-shadow:0 6px 18px rgba(39,178,234,.32);cursor:pointer;}
.btn[disabled]{opacity:.6;cursor:default;}
.foot{color:var(--slate);font-size:12px;text-align:center;margin-top:28px;}
/* submission problems (server or network) */
.err{display:none;background:#fdf3f2;border:1px solid #ecc8c4;border-radius:12px;padding:14px 16px;font-size:13px;color:#8a2f28;margin:0 0 18px;}
.err.on{display:block;}

/* --- a single attestation, as on the nomination form --- */
.attestbox{display:flex;gap:13px;align-items:flex-start;background:var(--wash);border:1px solid var(--line);
  border-radius:12px;padding:15px 17px;}
.attestbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:1.5px solid #b7c5d3;
  border-radius:5px;background:#fff;cursor:pointer;position:relative;transition:.15s;margin:1px 0 0;padding:0;flex-shrink:0;}
.attestbox input[type=checkbox]:checked{background:var(--teal);border-color:var(--teal);}
.attestbox input[type=checkbox]:checked::after{content:"\2713";position:absolute;inset:0;color:#fff;font-size:14px;
  font-weight:700;display:flex;align-items:center;justify-content:center;}
.attestbox input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(39,178,234,.22);}
.attestbox span{font-size:12.5px;color:#33424f;line-height:1.6;}
