@charset "UTF-8";
/* =====================================================================
   NeuraViz AI Challenge 2026 — Form 1 (Registration) page stylesheet
   Used ONLY by form1.php (header + title + registration card). Forms 2–4 keep using zoho-form.css.
   Visual only: Zoho field names, captcha and JavaScript are unchanged.
   ===================================================================== */

:root {
  --nv-ink: #0c2457;          /* headings            */
  --nv-blue: #1f63d6;         /* primary / accents   */
  --nv-blue-hover: #174fb0;
  --nv-blue-light: #3b82f6;
  --nv-blue-soft: #e3eeff;
  --nv-text: #1f2a44;
  --nv-muted: #5a6b86;
  --nv-label: #18284d;
  --nv-border: #cdd8ea;
  --nv-border-hover: #a8badb;
  --nv-bg: #f1f6fe;
  --nv-danger: #c0261a;
  --nv-radius: 8px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--nv-text);
  background: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.nv-wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 32px; }

/* ---------------------------------------------------------------- header */
.nv-header { position: relative; z-index: 2; background: #fff; box-shadow: 0 1px 0 #e6edf8; }
.nv-header .nv-wrap { display: flex; align-items: center; min-height: 84px; }
.nv-logo { display: inline-flex; align-items: center; gap: 14px; color: var(--nv-ink); text-decoration: none; }
.nv-logo img { width: 48px; height: 48px; border-radius: 50%; box-shadow: 0 4px 14px rgba(12, 36, 87, .18); }
.nv-logo__text { display: flex; flex-direction: column; line-height: 1; }
.nv-logo__name { font-size: 28px; font-weight: 700; letter-spacing: -.01em; color: var(--nv-ink); }
.nv-logo__sub { margin-top: 6px; font-size: 10.5px; font-weight: 500; letter-spacing: .26em; color: var(--nv-muted); }

/* ---------------------------------------------------------- main section */
.nv-page {
  flex: 1 0 auto;
  padding: 48px 0 72px;
  background: linear-gradient(180deg, #f4f8ff 0%, #e8f1fd 100%);   /* clean light blue */
}
.nv-column { max-width: 720px; }

/* Heading above the card */
.nv-heading { margin: 0 0 28px; }
.nv-eyebrow { margin: 0 0 2px; color: var(--nv-blue); font-size: 24px; font-weight: 700; letter-spacing: -.01em; }
.nv-title { margin: 0; color: var(--nv-ink); font-size: clamp(40px, 6vw, 58px); font-weight: 800; line-height: 1.04; letter-spacing: -.035em; }
.nv-title span { display: block; color: var(--nv-blue); }

/* ------------------------------------------------------------ form card */
.nv-card {
  padding: 40px 44px 32px;
  background: #fff;
  border: 1px solid #e1eaf7;
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(12, 36, 87, .08), 0 2px 6px rgba(12, 36, 87, .04);
}
.nv-card__title { margin: 0 0 8px; color: var(--nv-ink); font-size: 28px; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.nv-card__intro { margin: 0 0 28px; color: var(--nv-muted); font-size: 15.5px; }
.nv-safe {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin: 22px 0 0; color: var(--nv-muted); font-size: 13px; text-align: center;
}
.nv-safe svg { flex: 0 0 auto; width: 15px; height: 15px; }

/* --------------------------------------------- Zoho form inside the card */
/* Remove Zoho's own box so the form sits directly in our card */
#crmWebToEntityForm, .crmWebToEntityForm {
  width: 100% !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important;
  color: var(--nv-text) !important; background: transparent !important;
  border: 0 !important; box-shadow: none !important;
  font-family: inherit !important;
}
#crmWebToEntityForm .zcwf_title { display: none !important; }   /* card already has a heading */
#crmWebToEntityForm form {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  column-gap: 22px;
  width: 100% !important; margin: 0 !important;
}

/* Every row full width by default … */
#crmWebToEntityForm .zcwf_row {
  grid-column: 1 / -1;
  display: flex !important; flex-direction: column !important; gap: 8px;
  width: 100% !important; min-width: 0;
  margin: 0 0 22px !important; padding: 0 !important; float: none !important;
}
/* … except the four registration fields, which sit two per line */
#crmWebToEntityForm .zcwf_row:has(#First_Name),
#crmWebToEntityForm .zcwf_row:has(#Last_Name),
#crmWebToEntityForm .zcwf_row:has(#Email),
#crmWebToEntityForm .zcwf_row:has(#Mobile) { grid-column: auto; }
#crmWebToEntityForm .zcwf_row::after { display: none !important; content: none !important; }

/* Labels. Zoho's live forms use the class "zcwf_col_lab"; "zcwf_col_lbl" is kept for older embeds. */
#crmWebToEntityForm .zcwf_col_lab, #crmWebToEntityForm .zcwf_col_lbl {
  float: none !important; width: 100% !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important;
  color: var(--nv-label) !important;
  font-family: inherit !important; font-size: 14.5px !important; font-weight: 600 !important;
  line-height: 1.4 !important; text-align: left !important;
}
#crmWebToEntityForm .zcwf_col_lab label, #crmWebToEntityForm .zcwf_col_lbl label { color: inherit !important; font: inherit !important; }
#crmWebToEntityForm .zcwf_col_lab:empty, #crmWebToEntityForm .zcwf_col_lbl:empty { display: none !important; }
#crmWebToEntityForm .zcwf_col_lab span[style], #crmWebToEntityForm .zcwf_col_lab font,
#crmWebToEntityForm .zcwf_col_lbl span[style], #crmWebToEntityForm .zcwf_col_lbl font { margin-left: 3px; color: var(--nv-danger) !important; }

/* Zoho floats every field to the left; switch that off so hints and messages sit underneath */
#crmWebToEntityForm .zcwf_col_fld input, #crmWebToEntityForm .zcwf_col_fld textarea,
#crmWebToEntityForm .zcwf_col_fld select, #crmWebToEntityForm .zcwf_file { float: none !important; }
#crmWebToEntityForm .zcwf_col_fld {
  position: relative; float: none !important;
  width: 100% !important; min-width: 0; margin: 0 !important; padding: 0 !important;
}
#crmWebToEntityForm .zcwf_col_help { display: none !important; }
#crmWebToEntityForm .wfrm_fld_dpNn { display: none !important; }

/* Inputs */
#crmWebToEntityForm input[type=text], #crmWebToEntityForm input[type=email],
#crmWebToEntityForm input[type=tel], #crmWebToEntityForm input[type=number],
#crmWebToEntityForm select, #crmWebToEntityForm textarea {
  display: block;
  width: 100% !important; max-width: 100% !important; min-width: 0;
  height: 50px; min-height: 50px;
  margin: 0 !important; padding: 12px 14px !important;
  color: var(--nv-text) !important; background-color: #fff !important;
  border: 1px solid var(--nv-border) !important; border-radius: var(--nv-radius) !important;
  box-shadow: none !important;
  font-family: inherit !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.4 !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none; appearance: none;
}
#crmWebToEntityForm input::placeholder { color: #8a98b1 !important; opacity: 1; }
#crmWebToEntityForm input:hover { border-color: var(--nv-border-hover) !important; }
#crmWebToEntityForm input:focus { border-color: var(--nv-blue) !important; box-shadow: 0 0 0 3px rgba(31, 99, 214, .15) !important; }

/* Field icons (person / envelope / phone) */
#crmWebToEntityForm #First_Name, #crmWebToEntityForm #Last_Name,
#crmWebToEntityForm #Email, #crmWebToEntityForm #Mobile {
  padding-left: 46px !important;
  background-repeat: no-repeat !important;
  background-position: 16px center !important;
  background-size: 18px 18px !important;
}
#crmWebToEntityForm #First_Name, #crmWebToEntityForm #Last_Name {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6b86' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") !important;
}
#crmWebToEntityForm #Email {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6b86' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6.5 12 13l8.5-6.5'/%3E%3C/svg%3E") !important;
}
#crmWebToEntityForm #Mobile {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6b86' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h3.5l1.8 4.6-2.3 1.4a11.5 11.5 0 0 0 7 7l1.4-2.3L21 15.5V19a2 2 0 0 1-2.2 2A17 17 0 0 1 3 5.2 2 2 0 0 1 5 3z'/%3E%3C/svg%3E") !important;
}

/* Captcha: input on the left, image + Reload on the right */
#crmWebToEntityForm .zcwf_row:has(input[name=enterdigest]) { grid-column: 1; }
#crmWebToEntityForm .zcwf_row:has(.zcwf_col_fld img) { grid-column: 2; align-self: end; }
#crmWebToEntityForm .zcwf_col_fld img {
  display: inline-block; vertical-align: middle; max-width: 100%;
  height: 50px; margin-right: 12px;
  border: 1px solid var(--nv-border); border-radius: var(--nv-radius); background: #fff;
}
#crmWebToEntityForm .zcwf_col_fld a { color: var(--nv-blue) !important; font-size: 14px; font-weight: 600; text-decoration: none; }
#crmWebToEntityForm .zcwf_col_fld a:hover { text-decoration: underline; }

/* Buttons: one full-width "Register Now" button, Reset hidden */
#crmWebToEntityForm .zcwf_row:has(.zcwf_button) { margin: 6px 0 0 !important; }
#crmWebToEntityForm input[type=reset] { display: none !important; }
#crmWebToEntityForm input[type=submit], #crmWebToEntityForm .formsubmit {
  display: block;
  width: 100% !important; max-width: 100% !important; height: 54px; min-height: 54px;
  margin: 0 !important; padding: 0 24px !important;
  color: #fff !important;
  background: var(--nv-blue) !important;
  border: 0 !important; border-radius: var(--nv-radius) !important;
  box-shadow: 0 10px 22px rgba(31, 99, 214, .25) !important;
  font-family: inherit !important; font-size: 16.5px !important; font-weight: 600 !important; letter-spacing: .01em;
  cursor: pointer;
  transition: background-color .15s, box-shadow .15s, transform .15s;
  -webkit-appearance: none; appearance: none;
}
#crmWebToEntityForm input[type=submit]:hover { background: var(--nv-blue-hover) !important; transform: translateY(-1px); }
#crmWebToEntityForm input[type=submit]:active { transform: none; }
#crmWebToEntityForm input[type=submit]:disabled { opacity: .6; cursor: wait; transform: none; }
#crmWebToEntityForm input[type=submit][aria-busy=true],
#crmWebToEntityForm input[type=submit][data-nv-busy] { opacity: .85; cursor: progress; }
#crmWebToEntityForm input:focus-visible, .nv-logo:focus-visible { outline: 3px solid rgba(31, 99, 214, .35) !important; outline-offset: 2px; }

/* Messages from the duplicate-email check */
#email-duplicate-error { margin-top: 7px; font-size: 13.5px !important; font-weight: 500; line-height: 1.45 !important; }
#crmWebToEntityForm [aria-invalid=true] { border-color: var(--nv-danger) !important; box-shadow: 0 0 0 3px rgba(192, 38, 26, .10) !important; }

/* ---------------------------------------------------------------- footer */
.nv-footer { color: var(--nv-muted); background: #fff; border-top: 1px solid #e3eaf5; }
.nv-footer .nv-wrap { display: flex; align-items: center; justify-content: center; min-height: 64px; font-size: 13.5px; text-align: center; }

/* ------------------------------------------------------------ responsive */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; }
}
@media (max-width: 600px) {
  body { font-size: 14px; }
  .nv-wrap { padding: 0 16px; }
  .nv-header .nv-wrap { min-height: 70px; }
  .nv-logo img { width: 40px; height: 40px; }
  .nv-logo__name { font-size: 22px; }
  .nv-logo__sub { font-size: 8.5px; letter-spacing: .2em; }
  .nv-page { padding: 28px 0 48px; }
  .nv-heading { margin-bottom: 22px; }
  .nv-eyebrow { font-size: 19px; }
  .nv-card { padding: 26px 18px 22px; border-radius: 12px; }
  .nv-card__title { font-size: 23px; }
  .nv-card__intro { margin-bottom: 22px; font-size: 14.5px; }
  #crmWebToEntityForm form { grid-template-columns: minmax(0, 1fr); }
  #crmWebToEntityForm .zcwf_row,
  #crmWebToEntityForm .zcwf_row:has(input[name=enterdigest]),
  #crmWebToEntityForm .zcwf_row:has(.zcwf_col_fld img) { grid-column: 1 / -1 !important; }
  .nv-footer .nv-wrap { padding-top: 16px; padding-bottom: 16px; }
}
