:root {
  --brand-teal: var(--vtm-teal, #94e3db);
  --text: #0f172a;
  --muted: #64748b;
  --field-bg: #fff;
  --field-bd: #e5e7eb;
  --radius: 14px;
}

/* Banner */
.vtm-apply__banner{background:var(--brand-teal);padding:28px 20px;text-align:center}
.vtm-apply__banner h1{margin:0 0 6px;font-size:clamp(26px,3.5vw,40px);line-height:1.1}
.vtm-apply__banner p{margin:0;color:#0b3d3b;font-weight:500}

/* Container */
.vtm-apply__container{max-width:860px;margin:28px auto 64px;padding:0 20px}

/* Form layout */
.vtm-apply__form{
  display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;
  grid-template-areas:
    "parent parent"
    "talent dob"
    "email phone"
    "city state"
    "photos photos"
    "consent consent"
    "policy policy"
    "actions actions";
}

/* Areas */
.vtm-apply__form .field-parent{grid-area:parent}
.vtm-apply__form .field-talent{grid-area:talent}
.vtm-apply__form .field-dob{grid-area:dob}
.vtm-apply__form .field-email{grid-area:email}
.vtm-apply__form .field-phone{grid-area:phone}
.vtm-apply__form .field-city{grid-area:city}
.vtm-apply__form .field-state{grid-area:state}
.vtm-apply__form .field-group{grid-area:photos}
.vtm-apply__form .field-checkbox{grid-area:consent}
.vtm-apply__form .policy{grid-area:policy}
.vtm-apply__form .actions{grid-area:actions}

/* Fields */
.vtm-apply__form .field{display:grid;gap:8px}
.vtm-apply__form label{font-weight:600;color:var(--text)}
.vtm-apply__form input[type="text"],
.vtm-apply__form input[type="email"],
.vtm-apply__form input[type="tel"],
.vtm-apply__form input[type="date"],
.vtm-apply__form select,
.vtm-apply__form input[type="file"]{
  appearance:none;width:100%;background:var(--field-bg);
  border:1px solid var(--field-bd);border-radius:12px;padding:12px 14px;font:inherit;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.vtm-apply__form input[readonly]{background:#f8fafc}
.vtm-apply__form input:focus,.vtm-apply__form select:focus{
  outline:none;border-color:#94d8d0;box-shadow:0 0 0 3px rgba(148,227,219,.35)
}
.vtm-apply .hint{color:var(--muted);font-size:13px;margin-top:4px}
.req{color:#d00}

/* Photos */
.vtm-apply .field-group{padding:14px;border:1px dashed var(--field-bd);border-radius:var(--radius)}
.vtm-apply .field-group legend{padding:0 6px;font-weight:600;color:var(--text)}
.vtm-apply .photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 18px;align-items:start}
.vtm-apply .photo-grid .field{gap:8px}

/* Policy & actions */
.vtm-apply .policy{color:var(--muted);font-size:14px}
.vtm-apply .actions{display:flex;justify-content:center;margin-top:6px}
.vtm-apply .btn-primary{background:#111827;color:#fff;border:none;border-radius:999px;padding:12px 20px;font-weight:600;cursor:pointer}
.vtm-apply .btn-primary:hover{opacity:.9}

/* Responsive */
@media (max-width:900px){.vtm-apply .photo-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .vtm-apply__form{
    grid-template-columns:1fr;
    grid-template-areas:
      "parent" "talent" "dob" "email" "phone" "city" "state"
      "photos" "consent" "policy" "actions";
  }
}