/* Alleystreet Service Intake v1.0 — functional layer for the existing homepage */
.service-card.as-intake-enabled{cursor:pointer;position:relative}
.service-card.as-intake-enabled:focus-visible{outline:3px solid var(--gold,#d6a33a);outline-offset:4px}

.as-intake-modal{display:none;position:fixed;inset:0;z-index:500;background:rgba(5,11,20,.82);backdrop-filter:blur(10px);overflow-y:auto;padding:24px 16px}
.as-intake-modal.open{display:block}
.as-intake-dialog{width:min(880px,100%);margin:0 auto;background:#fff;color:var(--ink,#111827);border-radius:28px;box-shadow:0 36px 120px rgba(0,0,0,.35);overflow:hidden;position:relative}
.as-intake-head{background:linear-gradient(135deg,var(--dark,#05070b),var(--navy,#0d1f3c));color:#fff;padding:34px 34px 28px}
.as-intake-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#ffd46d;margin-bottom:10px}
.as-intake-head h2{font-size:clamp(26px,4vw,42px);line-height:1.02;margin:0 50px 12px 0;color:#fff}
.as-intake-head p{margin:0;color:rgba(255,255,255,.72);max-width:760px}
.as-intake-state{display:inline-flex;margin-top:16px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800}
.as-intake-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.as-intake-close:hover{background:rgba(255,255,255,.22)}
.as-intake-body{padding:30px 34px 34px}
.as-intake-section{margin-bottom:28px}
.as-intake-section h3{font-size:18px;margin:0 0 6px}
.as-intake-section>p{font-size:13px;color:var(--muted,#5f6b7a);margin:0 0 16px}
.as-intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.as-intake-grid.one{grid-template-columns:1fr}
.as-field{display:grid;gap:6px;min-width:0}
.as-field.full{grid-column:1/-1}
.as-field label,.as-field legend{font-size:13px;font-weight:800;color:var(--ink,#111827)}
.as-field small{font-size:11px;color:var(--muted,#5f6b7a);line-height:1.45}
.as-field input,.as-field select,.as-field textarea{width:100%;border:1.5px solid rgba(17,24,39,.14);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink,#111827);background:var(--cream,#faf6ee);outline:none}
.as-field input:focus,.as-field select:focus,.as-field textarea:focus{border-color:var(--gold,#d6a33a);background:#fff;box-shadow:0 0 0 3px rgba(214,163,58,.12)}
.as-field textarea{min-height:112px;resize:vertical}
.as-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted,#5f6b7a)}
.as-check input{margin-top:3px;flex:0 0 auto}
.as-upload-box{border:1.5px dashed rgba(17,24,39,.22);border-radius:16px;padding:16px;background:var(--mist,#f5f8fc)}
.as-upload-box strong{display:block;margin-bottom:5px}
.as-upload-list{font-size:12px;color:var(--muted,#5f6b7a);margin-top:8px;display:grid;gap:4px}
.as-warning{border-left:4px solid var(--gold,#d6a33a);background:var(--gold-soft,#fff3cc);padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.5;color:#5d4718;margin-top:10px}
.as-next-step{background:var(--mist,#f5f8fc);border-radius:16px;padding:16px;font-size:13px;line-height:1.55}
.as-next-step strong{display:block;margin-bottom:4px}
.as-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}
.as-submit{border:0;border-radius:999px;padding:13px 24px;min-height:48px;font-weight:900;font-size:15px;cursor:pointer;background:linear-gradient(135deg,var(--gold-lt,#ffe08a),var(--gold,#d6a33a));color:#0a1020}
.as-submit[disabled]{opacity:.55;cursor:not-allowed}
.as-cancel{border:1.5px solid rgba(17,24,39,.14);border-radius:999px;padding:12px 22px;min-height:48px;font-weight:800;background:#fff;cursor:pointer}
.as-status{display:none;margin-top:16px;padding:14px;border-radius:12px;font-size:13px;line-height:1.5}
.as-status.show{display:block}
.as-status.error{background:#fff0f0;color:#7f1d1d;border:1px solid #fecaca}
.as-status.success{background:#effcf3;color:#14532d;border:1px solid #bbf7d0}
.as-request-id{font-weight:900;letter-spacing:.03em}
.as-required{color:#9b2c2c}
body.as-intake-lock{overflow:hidden}

@media(max-width:700px){
  .as-intake-modal{padding:12px 8px}
  .as-intake-head{padding:28px 20px 22px}
  .as-intake-body{padding:24px 20px 28px}
  .as-intake-grid{grid-template-columns:1fr}
  .as-field.full{grid-column:auto}
  .as-intake-head h2{margin-right:42px}
}
