/* ===== Growth Estate — Sistema de diseño compartido ===== */
:root{
  --field:#0c1320;
  --field-border:#1e2940;
  --field-focus:#3b82f6;
  --text:#f1f5fb;
  --muted:#8a96ad;
  --muted-2:#6b7790;
  --accent:#3b82f6;
  --accent-2:#60a5fa;
  --radius:16px;
  --gap: clamp(16px, 4vw, 24px);
}

*{box-sizing:border-box;margin:0;padding:0;}

html{ -webkit-text-size-adjust:100%; }

body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  color-scheme:dark;
  min-height:100vh;
  min-height:100dvh;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
  background:
    radial-gradient(900px 500px at 80% 5%, rgba(59,130,246,.18), transparent 60%),
    radial-gradient(700px 500px at 5% 70%, rgba(59,130,246,.10), transparent 60%),
    linear-gradient(180deg,#070b15,#0a0f1c 40%,#070b15);
}

/* Layout */
.wrap{
  max-width:1180px;margin:0 auto;
  padding:clamp(24px,5vw,40px) clamp(16px,5vw,24px) 80px;
  padding-left:max(clamp(16px,5vw,24px), env(safe-area-inset-left));
  padding-right:max(clamp(16px,5vw,24px), env(safe-area-inset-right));
}

/* Logo */
.logo{display:flex;align-items:center;gap:10px;color:#fff;}
.logo .logo-img{height:clamp(34px,7vw,46px);width:auto;display:block;}

/* Texto */
.eyebrow{color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;}

/* Panel */
.panel{
  background:linear-gradient(180deg,rgba(20,28,46,.7),rgba(12,18,32,.8));
  border:1px solid var(--field-border);
  border-radius:clamp(18px,4vw,28px);
  padding:clamp(22px,5vw,48px);
  backdrop-filter:blur(8px);
}

/* Campos de formulario */
label{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:#e7ecf5;}
.req{
  width:18px;height:18px;border-radius:50%;flex:none;
  background:#1b2742;color:var(--accent-2);font-size:.7rem;
  display:inline-flex;align-items:center;justify-content:center;
}
input,select{
  width:100%;background:var(--field);border:1px solid var(--field-border);
  border-radius:14px;padding:15px 16px;color:var(--text);
  font-size:16px; /* 16px evita el zoom automático en iOS */
  transition:border-color .15s,box-shadow .15s,background .15s;
}
select{
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:46px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238a96ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
}
select option{background:#0c1320;color:var(--text);}
select:invalid{color:#566179;}
input::placeholder{color:#566179;}
input:focus,select:focus{
  outline:none;border-color:var(--field-focus);
  box-shadow:0 0 0 3px rgba(59,130,246,.18);background:#0e1726;
}
.hint{font-size:.85rem;color:var(--muted-2);line-height:1.5;}

/* Botón principal */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;background:linear-gradient(135deg,#60a5fa,#2563eb);
  color:#fff;font-size:1.05rem;font-weight:700;text-decoration:none;
  border:none;border-radius:14px;padding:14px 28px;cursor:pointer;
  box-shadow:0 10px 30px rgba(37,99,235,.35);
  transition:transform .12s,box-shadow .12s,opacity .12s;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(37,99,235,.45);}
.btn:active{transform:translateY(0);}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}

/* Spinner */
.spinner{
  display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-3px;
}
@keyframes spin{to{transform:rotate(360deg);}}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
