/* ── PREB-BUILD-v1 · /build/ page-scoped styles (linked only from /build/ pages; tokens from the page's inline :root) ── */

/* Breadcrumb */
.bld-crumb { margin-bottom: 1.5rem; }
.bld-crumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; }
.bld-crumb li { display: flex; align-items: center; gap: 0.4rem; color: rgba(255,255,255,0.45); }
.bld-crumb li + li::before { content: '›'; color: var(--gold2); }
.bld-crumb a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.2s; }
.bld-crumb a:hover { color: var(--gold2); }
.bld-crumb a[aria-current="page"] { color: var(--gold2); }

/* Badges */
.bld-badges { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.75rem; }
.bld-badge { font-size: 0.62rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 4px 12px; border: 1px solid var(--gold2); color: var(--gold2); background: rgba(212,168,67,0.08); line-height: 1.4; }
.bld-badge-unpaid, .bld-badge-mid, .bld-badge-long { border-color: rgba(255,255,255,0.35); color: rgba(255,255,255,0.8); background: rgba(255,255,255,0.04); }
.bld-card .bld-badges { margin: 0 0 1.25rem; }
.bld-card .bld-badge { border-color: var(--navy); color: var(--navy); background: transparent; }
.bld-card .bld-badge-paid, .bld-card .bld-badge-short { background: var(--navy); color: var(--white); }

/* Hub: families + lane cards */
.bld-family { margin-top: 3.5rem; }
.bld-family:first-of-type { margin-top: 0.5rem; }
.bld-family-h { font-family: 'Libre Baskerville', serif; font-size: clamp(1.4rem, 2.4vw, 1.8rem); font-weight: 700; color: var(--ink); line-height: 1.3; margin-bottom: 0.75rem; }
.bld-family-h em { color: var(--navy); }
.bld-family-p { max-width: 760px; margin-bottom: 1.75rem; }
.bld-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.5rem; }
.bld-card { background: var(--white); border: 1px solid var(--border); padding: 1.75rem 1.5rem; display: flex; flex-direction: column; transition: all 0.25s; }
.bld-card:hover { border-color: var(--gold2); box-shadow: 0 8px 32px rgba(0,0,0,0.07); }
.bld-card-name { font-family: 'Libre Baskerville', serif; font-size: 1.15rem; font-weight: 700; color: var(--ink); line-height: 1.3; margin-bottom: 0.6rem; }
.bld-card-line { font-size: 0.88rem; color: var(--gray); line-height: 1.7; font-weight: 300; margin-bottom: 1.25rem; flex: 1; }
.bld-card-link { align-self: flex-start; font-size: 0.78rem; letter-spacing: 1.5px; text-transform: uppercase; padding-bottom: 2px; }
.bld-q8 { max-width: 860px; }

/* Lane body */
.bld-lane { max-width: 860px; }
.bld-block { padding: 2rem 0; border-bottom: 1px solid var(--border); }
.bld-block:first-child { padding-top: 0; }
.bld-block:last-child { border-bottom: 0; padding-bottom: 0; }
.bld-h { font-family: 'Libre Baskerville', serif; font-size: 1.45rem; font-weight: 700; color: var(--ink); line-height: 1.3; margin-bottom: 1rem; }
.bld-fits { list-style: none; }
.bld-fits li { padding: 0.75rem 0; border-bottom: 1px solid rgba(0,0,0,0.06); font-size: 0.95rem; color: var(--gray); line-height: 1.7; font-weight: 300; }
.bld-fits li:last-child { border-bottom: 0; }
.bld-fits li strong { color: var(--navy); font-weight: 600; }
.bld-lane .steps-list { margin-top: 0; }

/* Hand-off line */
.bld-handoff { background: var(--warm); padding: 2.5rem 3rem; border-top: 1px solid var(--border); }
.bld-handoff-line { max-width: 860px; font-family: 'Libre Baskerville', serif; font-size: 1.05rem; color: var(--ink); line-height: 1.7; }

/* Intake form */
.bld-contact { margin: 0 0 1.5rem; }
.bld-form { max-width: 900px; }
.bld-section { border: 0; border-top: 1px solid var(--border); padding: 2rem 0 0.75rem; margin-top: 1rem; min-width: 0; }
.bld-section:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.bld-section > legend { font-family: 'Libre Baskerville', serif; font-size: 1.35rem; font-weight: 700; color: var(--ink); padding: 0 0 1rem; float: left; width: 100%; }
.bld-section > legend + * { clear: both; }
.bld-opt, .bld-hint { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--muted); }
.bld-legend-note { font-size: 0.85rem; color: var(--gray); line-height: 1.6; font-weight: 300; margin: 0 0 1.15rem; font-style: italic; }
.bld-scale, .bld-checks { border: 0; margin: 0 0 1.4rem; padding: 0; min-width: 0; }
.bld-scale legend, .bld-checks legend { font-size: 0.92rem; color: var(--ink); line-height: 1.5; margin-bottom: 0.6rem; padding: 0; }
.bld-checks legend { font-size: 0.68rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); }
.bld-scale-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.bld-scale-opt { display: flex; align-items: center; justify-content: center; gap: 0.5rem; background: var(--cream); padding: 0.7rem 0.5rem; font-size: 0.78rem; color: var(--gray); cursor: pointer; text-align: center; line-height: 1.3; }
.bld-scale-opt input { accent-color: var(--navy); flex-shrink: 0; }
.bld-scale-opt:has(input:checked) { background: var(--white); color: var(--navy); font-weight: 600; }
.bld-scale-opt:focus-within { outline: 2px solid var(--gold2); outline-offset: -2px; }
.bld-check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem 1rem; }
.bld-check { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.88rem; color: var(--gray); line-height: 1.45; cursor: pointer; }
.bld-check input { margin-top: 3px; accent-color: var(--navy); flex-shrink: 0; }

/* Intake: invalid-field cue (Delta 2; state set by /build/intake.js, --bld-nav-h = fixed nav height) */
.bld-form .fg, .bld-form .bld-scale, .bld-form .form-consent { scroll-margin-top: calc(var(--bld-nav-h, 80px) + 1rem); }
.bld-form .bld-invalid { box-shadow: inset 3px 0 0 var(--red); padding-left: 0.85rem; }
.bld-form .bld-invalid input:not([type=radio]):not([type=checkbox]), .bld-form .bld-invalid select { border-color: var(--red); }
.bld-form .bld-err, .bld-form .bld-err-summary { color: var(--red); font-size: 0.82rem; font-weight: 500; line-height: 1.5; margin: 0.5rem 0 0; }
.bld-form .form-consent + .bld-err { padding-left: 0.85rem; margin: 0 0 0.5rem; }
.bld-form .bld-err-summary { margin: 1rem 0 0.75rem; }
.bld-form .bld-err-summary:empty { margin: 0; }

@media (max-width: 960px) {
  .bld-handoff { padding: 2rem 1.5rem; }
  .bld-check-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .bld-cards { grid-template-columns: 1fr; }
  .bld-scale-row { grid-template-columns: 1fr; }
  .bld-scale-opt { justify-content: flex-start; padding: 0.65rem 0.9rem; }
  .bld-check-grid { grid-template-columns: 1fr; }
  .bld-h { font-size: 1.25rem; }
}
