*,*::before,*::after{box-sizing:border-box}

.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field-label{display:block;font-size:.875rem;font-weight:500;color:#0f172a}
.field-help{font-size:.75rem;color:#64748b;margin:0}
.field-error{font-size:.75rem;color:#dc2626;margin:0}
.field-narrow{max-width:11rem}

.field-control{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  border:1px solid #cbd5e1;
  border-radius:.625rem;
  padding:.625rem .75rem;
  background:#fff;
  color:#0f172a;
  font-size:.95rem;
  line-height:1.4;
}
.field-control:focus{
  outline:2px solid #0f766e;
  outline-offset:1px;
  border-color:#0f766e;
}

select.field-control{
  appearance:auto;
  overflow:auto;
}
select.field-control.sector-select,
select.field-control[size]{
  height:auto;
  min-height:13rem;
  padding:.4rem;
  background:#f8fafc;
  border-color:#e2e8f0;
}

/* —— Prospect page —— */
.prospect-page{
  width:100%;
  max-width:42rem;
  margin:0 auto;
  overflow-x:hidden;
}

.prospect-hero{
  margin-bottom:1.5rem;
}
.prospect-kicker{
  margin:0 0 .35rem;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#0f766e;
}
.prospect-hero h1{
  margin:0;
  font-size:clamp(1.5rem, 3vw, 1.875rem);
  font-weight:650;
  letter-spacing:-.02em;
  color:#0f172a;
  line-height:1.2;
}
.prospect-lead{
  margin:.5rem 0 0;
  font-size:.95rem;
  color:#475569;
  line-height:1.5;
  max-width:36rem;
}

.prospect-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.prospect-alert{
  border-radius:.75rem;
  border:1px solid #fecaca;
  background:#fef2f2;
  color:#b91c1c;
  padding:.75rem 1rem;
  font-size:.875rem;
}

.prospect-section{
  margin:0;
  padding:0;
  border:1px solid #e2e8f0;
  border-radius:1rem;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  overflow:hidden;
}
.prospect-section-title{
  display:flex;
  align-items:center;
  gap:.65rem;
  width:100%;
  margin:0;
  padding:.85rem 1.1rem;
  font-size:.9rem;
  font-weight:600;
  color:#0f172a;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
  border-bottom:1px solid #e2e8f0;
  float:none;
}
.prospect-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.5rem;
  height:1.5rem;
  border-radius:999px;
  background:#0f766e;
  color:#fff;
  font-size:.75rem;
  font-weight:700;
  flex-shrink:0;
}
.prospect-section-body{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1.1rem;
}

.prospect-location-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}
@media (min-width:640px){
  .prospect-location-grid{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
}

.prospect-options{
  gap:1.15rem;
}

.prospect-toggle{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin:0;
  padding:.85rem 1rem;
  border:1px solid #e2e8f0;
  border-radius:.75rem;
  background:#f8fafc;
  cursor:pointer;
}
.prospect-toggle:hover{
  border-color:#99f6e4;
  background:#f0fdfa;
}
.prospect-check{
  margin:.15rem 0 0;
  width:1.05rem;
  height:1.05rem;
  accent-color:#0f766e;
  flex-shrink:0;
}
.prospect-toggle-text{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  min-width:0;
}
.prospect-toggle-title{
  font-size:.9rem;
  font-weight:600;
  color:#0f172a;
}
.prospect-toggle-help{
  font-size:.75rem;
  color:#64748b;
  line-height:1.4;
}

.prospect-actions{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  padding:.25rem 0 .5rem;
}
.prospect-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:2.75rem;
  padding:.7rem 1.25rem;
  border:none;
  border-radius:.75rem;
  background:#0f766e;
  color:#fff;
  font-size:.95rem;
  font-weight:600;
  cursor:pointer;
  transition:background .15s ease, transform .1s ease;
}
.prospect-submit:hover{background:#0d9488}
.prospect-submit:active{transform:translateY(1px)}
@media (min-width:640px){
  .prospect-submit{width:auto;min-width:16rem}
}
.prospect-footnote{margin:0}

/* Avoid global input rules fighting Tailwind layout */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
select,
textarea{
  max-width:100%;
}

/* Header wrap on small screens */
header nav{flex-wrap:wrap}
