/* Future Skills Academy Registration Form CSS */
:root {
  --navy:#003B7A;
  --blue:#0066CC;
  --cyan:#00A9C8;
  --orange:#F58220;
  --gold:#D9A21B;
  --ink:#1f2d3d;
  --muted:#5b677a;
  --light:#f5fbff;
  --border:#c9e5f3;
  --danger:#a13a00;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:linear-gradient(145deg,#ffffff 0%,#eefbff 100%);
  line-height:1.45;
  overflow-x:hidden;
}
a { color:inherit; text-decoration:none; }
.site-nav {
  background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:0 6px 20px rgba(0,59,122,.06);
}
.site-nav-inner {
  width:min(980px,94%);
  margin:0 auto;
  padding:12px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.site-nav-brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  color:var(--navy);
}
.site-nav-brand img {
  width:58px;
  height:58px;
  object-fit:contain;
  border-radius:50%;
}
.site-nav-links {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  color:var(--navy);
  font-weight:800;
}
.site-nav-links a:hover { color:var(--orange); }
.page {
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:24px 16px 48px;
}
.card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 10px 30px rgba(0,59,122,.12);
  overflow:hidden;
}
.form-header {
  padding:26px 28px 18px;
  border-bottom:5px solid var(--orange);
  position:relative;
  text-align:center;
}
.form-header:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 95% 5%,rgba(0,169,200,.15),transparent 30%);
  pointer-events:none;
}
.logos {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  position:relative;
  z-index:1;
}
.fsa-logo {
  display:block;
  max-width:250px;
  width:58%;
  height:auto;
  margin:auto;
}
.offered-through {
  color:var(--navy);
  font-size:14px;
  font-weight:800;
  margin-top:8px;
}
h1 {
  margin:20px 0 4px;
  font-size:clamp(28px,5vw,48px);
  color:var(--navy);
  text-align:center;
  letter-spacing:.5px;
  line-height:1.08;
  position:relative;
  z-index:1;
}
.tagline {
  text-align:center;
  color:var(--orange);
  font-size:18px;
  font-weight:800;
  margin-bottom:4px;
  position:relative;
  z-index:1;
}
.subtag {
  text-align:center;
  color:var(--muted);
  font-style:italic;
  margin:0;
  position:relative;
  z-index:1;
}
form { padding:24px 28px 30px; }
.notice {
  background:#fff6ed;
  border-left:5px solid var(--orange);
  padding:14px 16px;
  border-radius:12px;
  margin-bottom:22px;
  color:#56310d;
}
fieldset {
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  margin:0 0 20px;
  background:#fff;
  min-width:0;
}
legend {
  padding:0 10px;
  color:var(--navy);
  font-size:20px;
  font-weight:900;
  max-width:100%;
  white-space:normal;
}
.grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.full { grid-column:1 / -1; }
label {
  display:block;
  font-weight:800;
  color:var(--navy);
  margin-bottom:6px;
}
.hint {
  color:var(--muted);
  font-size:13px;
  font-weight:400;
  margin-top:4px;
}
input, select, textarea {
  width:100%;
  max-width:100%;
  border:1px solid #b7d7e8;
  border-radius:12px;
  padding:12px 13px;
  font-size:16px;
  color:var(--ink);
  background:#fff;
  min-height:46px;
}
input[type="radio"], input[type="checkbox"] { min-height:auto; }
input[type="file"] { padding:10px; line-height:1.2; }
textarea { min-height:92px; resize:vertical; }
input:focus, select:focus, textarea:focus {
  outline:3px solid rgba(0,169,200,.22);
  border-color:var(--cyan);
}
.courses {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.course-option {
  border:2px solid var(--border);
  border-radius:18px;
  padding:16px;
  cursor:pointer;
  background:#fbfeff;
  transition:.15s;
  min-height:170px;
  width:100%;
}
.course-option:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,59,122,.1);
}
.course-option input { width:auto; margin-right:8px; }
.course-title {
  display:flex;
  align-items:flex-start;
  gap:4px;
  font-weight:900;
  color:var(--navy);
  font-size:16px;
  line-height:1.2;
}
.course-title input { flex:0 0 auto; margin-top:2px; }
.time {
  display:block;
  color:var(--muted);
  font-weight:800;
  margin:9px 0;
  font-size:14px;
}
.price {
  display:block;
  color:var(--orange);
  font-weight:900;
  font-size:28px;
  margin-top:12px;
}
.bundle {
  border-color:var(--gold);
  background:#fffaf0;
  position:relative;
}
.badge {
  display:inline-block;
  background:var(--orange);
  color:#fff;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:900;
  margin-left:6px;
  white-space:nowrap;
}
.checkrow {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:10px 0;
}
.checkrow input {
  width:auto;
  margin-top:3px;
  flex:0 0 auto;
}
.consent label { color:var(--ink); font-weight:700; }
.actions {
  background:var(--navy);
  color:#fff;
  border-radius:18px;
  padding:20px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.actions p {
  margin:0;
  font-size:15px;
  color:#eaf7ff;
}
button {
  border:0;
  border-radius:999px;
  padding:14px 26px;
  font-size:17px;
  font-weight:900;
  background:var(--orange);
  color:#fff;
  cursor:pointer;
  box-shadow:0 5px 12px rgba(245,130,32,.25);
  min-height:48px;
}
button:hover { background:#e87312; }
footer {
  text-align:center;
  color:var(--muted);
  font-size:13px;
  padding:18px 0 0;
}
.required { color:var(--danger); }
.banking-details {
  background:#f5fbff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 16px;
  margin:0 0 18px;
}
.banking-details h3 {
  margin:0 0 10px;
  color:var(--navy);
  font-size:18px;
}
.banking-details dl {
  margin:0;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:8px 12px;
}
.banking-details dt { font-weight:900; color:var(--navy); }
.banking-details dd { margin:0; color:var(--ink); }
@media(max-width:760px) {
  .site-nav-inner { align-items:flex-start; flex-direction:column; }
  .site-nav-links { width:100%; justify-content:flex-start; }
  .page { padding:12px 10px 32px; }
  .card { border-radius:18px; }
  .form-header { padding:18px 14px 16px; }
  .logos { flex-direction:column; align-items:center; justify-content:center; gap:14px; }
  .fsa-logo { width:min(100%,240px); max-width:240px; }
  h1 { margin-top:18px; font-size:clamp(26px,8vw,36px); }
  .tagline { font-size:16px; }
  .subtag { font-size:14px; }
  form { padding:16px 12px 20px; }
  .notice { padding:12px 13px; font-size:14px; }
  fieldset { padding:14px 12px; border-radius:16px; margin-bottom:16px; }
  legend { font-size:18px; padding:0 6px; }
  .grid, .courses { grid-template-columns:1fr; gap:12px; }
  .course-option { min-height:0; padding:14px; }
  .price { font-size:26px; }
  .actions {
    display:block;
    text-align:left;
    border-radius:16px;
    padding:16px;
  }
  .actions p { font-size:14px; }
  button { width:100%; margin-top:14px; }
}
@media(max-width:560px) {
  .banking-details dl { grid-template-columns:1fr; gap:4px; }
  .banking-details dd { margin-bottom:8px; }
}
@media(max-width:430px) {
  .page { padding:8px 6px 28px; }
  .card { border-radius:14px; }
  .form-header { padding:14px 10px; }
  .fsa-logo { width:100%; max-width:220px; }
  h1 { font-size:28px; letter-spacing:0; }
  form { padding:14px 9px 18px; }
  fieldset { padding:12px 9px; }
  legend { font-size:17px; }
  label, .course-title { font-size:15px; }
  input, select, textarea { font-size:16px; padding:11px 12px; }
  .badge {
    display:block;
    width:max-content;
    margin:8px 0 0 0;
  }
}

.hidden-honey { display:none; }
