/* ─────────────────────────────────────────────
   CraftFrame — long-form Brief styles (dark)
   Composed on top of src/shared.css
   ───────────────────────────────────────────── */

.bf-wrap{max-width:980px;margin:0 auto;padding:160px 40px 120px}
@media(max-width:900px){.bf-wrap{padding:130px 22px 80px}}

/* Sticky progress */
.bf-progress{position:sticky;top:80px;z-index:50;background:rgba(10,10,10,.78);backdrop-filter:blur(14px);
  border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:32px}
.bf-progress-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.bf-progress-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.bf-progress-pct{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--ink)}
.bf-progress-track{height:3px;background:var(--line);border-radius:999px;overflow:hidden}
.bf-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-soft));width:0%;
  transition:width .45s cubic-bezier(.2,.7,.2,1);border-radius:999px}

/* Section card */
.bf-section{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#121212 0%,#0d0d0d 100%);
  padding:36px;margin-bottom:20px;transition:border-color .35s ease,transform .5s ease}
.bf-section:focus-within{border-color:rgba(255,70,40,.5)}
@media(max-width:700px){.bf-section{padding:26px 22px}}

.bf-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.bf-num{font-family:'Fraunces',serif;font-style:italic;font-size:42px;line-height:.9;color:var(--accent);letter-spacing:-0.03em;flex-shrink:0;min-width:60px}
.bf-title{font-family:'Fraunces',serif;font-size:26px;letter-spacing:-0.02em;line-height:1.1;margin-bottom:6px;color:var(--ink)}
.bf-desc{font-size:14px;color:var(--dim);line-height:1.55;max-width:560px}

.bf-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:700px){.bf-row{grid-template-columns:1fr;gap:0}}

.bf-field{margin-bottom:22px}
.bf-field:last-child{margin-bottom:0}
.bf-label{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.bf-label .req{color:var(--accent);font-size:10px;letter-spacing:.1em}
.bf-label .hint{color:var(--dim);font-weight:400;font-size:10px;letter-spacing:.12em;margin-left:auto;text-transform:none;opacity:.7}

.bf-input,.bf-select,.bf-textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--ink);font-family:'Fraunces',serif;font-size:22px;padding:10px 0;outline:none;
  transition:border-color .3s ease;letter-spacing:-0.015em;line-height:1.4}
.bf-input::placeholder,.bf-textarea::placeholder{color:rgba(245,239,227,0.28);font-style:italic}
.bf-input:focus,.bf-select:focus,.bf-textarea:focus{border-color:var(--accent)}
.bf-textarea{resize:vertical;min-height:88px;font-size:18px}
.bf-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='rgba(245,239,227,0.5)' stroke-width='1.5' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 4px center;padding-right:28px;cursor:pointer}
.bf-select option{background:#141414;color:var(--ink);font-family:'Inter',sans-serif;font-size:14px}
.bf-help{font-size:12px;color:var(--dim);margin-top:8px;line-height:1.55;font-style:italic}

/* Service checkboxes — rich cards */
.bf-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:6px}
.bf-check{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:rgba(245,239,227,0.02);
  border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:all .3s ease;line-height:1.4}
.bf-check:hover{border-color:rgba(245,239,227,0.3);background:rgba(245,239,227,0.04)}
.bf-check input{margin-top:3px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:14px;height:14px}
.bf-check.on{border-color:var(--accent);background:rgba(255,70,40,0.07)}
.bf-check-text{flex:1}
.bf-check-title{display:block;font-size:13.5px;font-weight:500;color:var(--ink);margin-bottom:3px;letter-spacing:-0.005em}
.bf-check-desc{display:block;font-size:11.5px;color:var(--dim);line-height:1.45}

/* Radio pills */
.bf-radio-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.bf-radio-grid.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.bf-radio{padding:11px 18px;background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer;
  font-size:13.5px;text-align:center;transition:all .3s ease;color:var(--ink);line-height:1.3}
.bf-radio:hover{border-color:var(--ink)}
.bf-radio.on{background:var(--accent);color:#0a0a0a;border-color:var(--accent);font-weight:500}
.bf-radio input{display:none}
.bf-radio .sub{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;opacity:.65;margin-top:3px}

/* Footer CTA row */
.bf-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;
  padding:24px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.bf-cta-group{display:flex;gap:10px;flex-wrap:wrap}

/* Inline status / errors */
.bf-status{margin-top:18px;padding:14px 18px;border:1px solid rgba(255,120,120,.4);border-radius:12px;
  color:#ffb4b4;font-size:13.5px;line-height:1.5;background:rgba(255,70,70,.06)}
.bf-status.ok{border-color:rgba(245,185,74,.4);color:var(--accent-soft);background:rgba(245,185,74,.05)}

/* Saved-draft toast */
.bf-toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);
  background:#1a1a1a;border:1px solid var(--line);border-radius:999px;padding:10px 22px;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink);z-index:600;opacity:0;transition:all .35s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.bf-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.bf-toast .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-soft);margin-right:10px;vertical-align:middle}

/* Hero meta chips */
.bf-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:24px;font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}
.bf-meta span{display:inline-flex;align-items:center;gap:8px}
.bf-meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* Honeypot — hidden from humans */
.bf-honeypot{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
