/* Site layer on top of the generated v2.css.
   v2.css is the design, verbatim. This file only adds what the design does not
   specify: phone-width behaviour, and native form controls that must look like
   the design's spans. Nothing here changes the desktop rendering. */

/* --- header: the row that holds the wordmark, the links and the two buttons --- */
[data-nav-row]{position:relative}
.nav-burger{display:none;margin-left:auto;width:42px;height:42px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:22px;line-height:1;cursor:pointer;flex:0 0 auto}
.nav-burger:focus-visible{outline:2px solid #7EA6DC;outline-offset:2px}

@media (max-width:820px){
  [data-nav-row]{gap:14px!important;padding:0 16px!important}
  [data-nav-row] [data-nav-links],[data-nav-row] [data-nav-cta] a:last-child{display:none!important}
  [data-nav-row] [data-nav-cta]{margin-left:auto}
  .nav-burger{display:grid;place-items:center}
  [data-nav-row].is-open [data-nav-links]{
    display:flex!important;flex-direction:column;gap:2px!important;position:absolute;left:0;right:0;top:68px;
    background:#14263F;padding:10px 16px 14px;border-top:1px solid rgba(255,255,255,.12);z-index:30;box-shadow:0 18px 30px rgba(15,29,49,.35)}
  [data-nav-row].is-open [data-nav-links] a{padding:12px 6px;border-radius:8px;font-size:16px}
  [data-nav-row].is-open [data-nav-links] a:hover{background:rgba(255,255,255,.06)}
  /* horizontal card strips scroll on phones instead of overflowing the page */
  body{overflow-x:hidden}
}

/* --- native controls that wear the design's span styles --- */
button.as-span,a.as-span{font:inherit;border:0;cursor:pointer;text-decoration:none;appearance:none}
button.as-span:disabled{background:#9DB3D9!important;color:#fff!important;opacity:1;cursor:not-allowed}
label.chip-choice{cursor:pointer}
label.chip-choice input{position:absolute;opacity:0;width:0;height:0}
input.as-field,textarea.as-field{font:inherit;color:inherit}
input.as-field:focus,textarea.as-field:focus{outline:none;box-shadow:0 0 0 3px rgba(46,94,170,.15)}
.form-msg{margin-top:12px;font-size:14px;color:#A8552F}
/* register-interest dialog (programs not yet open for payment) */
.ri{position:fixed;inset:0;background:rgba(15,29,49,.55);display:grid;place-items:center;padding:20px;z-index:60}
.ri__card{position:relative;background:#fff;border-radius:18px;padding:28px 28px 22px;max-width:440px;width:100%;box-shadow:0 24px 60px rgba(15,29,49,.3);font-family:Cairo,system-ui,sans-serif;color:#14263F}
.ri__x{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:#6B7385;cursor:pointer}
.ri__tag{display:inline-block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#A8874C;margin-bottom:8px}
.ri__h{font-weight:300;font-size:26px;margin:0 0 6px;line-height:1.15}
.ri__p{margin:0 0 18px;font-size:14.5px;line-height:1.55;color:#3C4A60}
.ri__f{display:block;margin-bottom:12px}
.ri__f span{display:block;font-size:12.5px;color:#6B7385;margin-bottom:5px}
.ri__f span em{font-style:normal;color:#9AA1AE}
.ri__f input{width:100%;border:1px solid #E4DCC9;border-radius:12px;padding:12px 14px;font:inherit;font-size:16px;color:#14263F;background:#fff}
.ri__f input:focus{outline:none;border-color:#2E5EAA;box-shadow:0 0 0 3px rgba(46,94,170,.12)}
.ri__btn{width:100%;margin-top:4px;background:#2E5EAA;color:#fff;border:0;border-radius:12px;padding:14px;font:inherit;font-size:16px;cursor:pointer}
.ri__btn:disabled{background:#9DB3D9;opacity:1;cursor:not-allowed}
.ri__msg{margin:12px 0 0;font-size:14.5px;line-height:1.5;color:#3E7C4F}
.ri__note{margin:12px 0 0;font-size:12.5px;color:#6B7385;line-height:1.5}
[data-interest]{cursor:pointer}
/* the only hover effect on links: the round arrow badge rises (Osama, 17 Sep 2026) */
.go{transition:transform .18s ease}
a:hover .go,[role=button]:hover .go{transform:translateY(-3px)}
/* consent / agreement row before a pay or confirm button */
.consent-row{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:#3C4A60;margin:14px 0 12px;cursor:pointer}
.consent-row input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto;accent-color:#2E5EAA}
.consent-row a{color:#2E5EAA;text-decoration:underline}
.wconsent{background:#fff;border:1px solid rgba(20,38,63,.12);border-radius:12px;padding:12px 14px}
.wconsent.wconsent--missing{border-color:#A8552F}
[hidden]{display:none!important}
