/* Inter and JetBrains Mono, variable, latin subset, from Google Fonts (SIL Open Font License). Self-hosted so no visitor request goes to Google (Colbey, 2026-10-29). */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/Inter.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/JetBrainsMono.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* bidwellapp.com v2: Desi's website v1 design (design/website-v1), production stylesheet.
   The pages carry Desi's inline styles; this file holds her shared rules, the states her prototype
   runtime computed (tabs, chips, form errors, audience switch), and the production-only pieces. */
:root{--bw-brand:#0E5A4B;--bw-brand-soft:rgba(14,90,75,.13);--bw-brand-line:rgba(14,90,75,.42);--bw-accent:#C6F432}
html,body{margin:0;padding:0;background:#ffffff;color:#0f172a;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;}
a{color:var(--bw-brand,#0E5A4B);}a:hover{text-decoration:underline;}
.bw input::placeholder,.bw textarea::placeholder{color:#94a3b8;}
.bw input:focus,.bw textarea:focus,.bw select:focus{outline:none;border-color:var(--bw-brand,#0E5A4B) !important;}
.bw-menu{display:none !important;}
svg.ph{display:inline-block;vertical-align:-0.125em;flex:none}
img{max-width:100%;}
.bw-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bw-brand,#0E5A4B);color:#fff;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;line-height:1;margin-top:-4px;}
.bw-num svg{width:18px;height:18px;color:#fff;}
.bw-num.bw-ico{background:var(--bw-accent,#C6F432);}.bw-num.bw-ico svg{color:#0f172a;}
.bw-h1{white-space:pre-line}
@media (max-width:860px){
  .bw-nav{display:none !important;}.bw-menu{display:inline-flex !important;}
  header.bw-open .bw-nav{display:flex !important;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0 !important;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 12px 24px -12px rgba(15,23,42,.2);padding:8px 0;}
  header.bw-open .bw-nav a{padding:12px 20px;}
  .bw-hero-shade{background:linear-gradient(180deg,rgba(8,20,17,.78) 0%,rgba(8,20,17,.62) 60%,rgba(8,20,17,.78) 100%) !important;}
  .bw-hero-img{object-position:68% 50% !important;}
  .bw-photo{padding:56px 0 64px !important;}
  .bw-hero,.bw-2col,.bw-steps,.bw-form2,.bw-steps3{grid-template-columns:minmax(0,1fr) !important;}
  .bw-2col>*,.bw-form2>*{min-width:0;}
  #sources>div{grid-template-columns:minmax(0,1fr) !important;}
  .bw-row{overflow-x:clip;}
  .bw-presence{width:calc(100% + 40px);margin-left:-20px;border-radius:8px !important;}
  .bw-presence-card{width:calc(100% + 64px);margin-left:-32px;}
  .bw-pair{flex-direction:column;align-items:center;gap:24px !important;}
  .bw-pair>div{width:min(264px,100%) !important;margin-top:0 !important;}
  .bw-h1{font-size:34px !important;}.bw-h2{font-size:24px !important;}
  .bw-sec{padding:44px 0 !important;}
  .bw-hide-phone{display:none !important;}
  .bw-steps .bw-step{border-top:1px solid #e2e8f0;padding-top:16px !important;}
}
@media (max-width:360px){
  [role="tablist"]{max-width:100%;}
  [role="tablist"] [role="tab"]{padding:0 12px !important;font-size:14px !important;flex:1 1 auto;justify-content:center;}
  header .bw-nav+div a{padding:0 12px !important;font-size:13px !important;white-space:nowrap;}
}
/* Contractors: job-step reveal (text rises, phone slides in from its side), off under reduced motion. */
.bw-row [data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform;}
.bw-row [data-reveal="text"]{transform:translateY(28px);}
.bw-row [data-reveal="left"]{transform:translateX(-48px);transition-delay:.12s;}
.bw-row [data-reveal="right"]{transform:translateX(48px);transition-delay:.12s;}
.bw-row.bw-in [data-reveal]{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.bw-row [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}}
/* Shopping-list card: items check off while in view. */
.sl-row.on .sl-box{background:var(--bw-brand,#0E5A4B) !important;border-color:var(--bw-brand,#0E5A4B) !important;}
.sl-row.on .sl-box svg{opacity:1 !important;transform:scale(1) !important;}
.sl-row.on .sl-name,.sl-row.on .sl-qty{color:#94a3b8 !important;}
.sl-row.on .sl-name{text-decoration:line-through !important;}
/* Compare: table on wide screens, one card per competitor below 720px, BidWell pinned left. */
.cmp-cards{display:none;}
@media (max-width:720px){.cmp-table{display:none !important;}.cmp-cards{display:flex !important;}}
/* Audience: the page shows one side; the other is one tap away. */
html[data-audience="homeowner"] [data-aud="contractor"],html[data-audience="contractor"] [data-aud="homeowner"]{display:none !important;}
.bw-tab[aria-selected="true"]{background:#fff !important;color:#0f172a !important;box-shadow:0 1px 2px rgba(15,23,42,.08) !important;}
.bw-tab[aria-selected="false"]{background:transparent !important;color:rgba(255,255,255,.88) !important;box-shadow:none !important;}
/* Early-access form states. */
form[data-side="homeowner"] [data-side="contractor"],form[data-side="contractor"] [data-side="homeowner"]{display:none !important;}
.bw-side[aria-checked="true"]{background:#fff !important;color:#0f172a !important;box-shadow:0 1px 2px rgba(15,23,42,.08) !important;}
.bw-side[aria-checked="false"]{background:transparent !important;color:#475569 !important;box-shadow:none !important;}
.bw-chip[aria-pressed="true"]{background:var(--bw-brand-soft,rgba(14,90,75,.13)) !important;border-color:var(--bw-brand,#0E5A4B) !important;color:#0f172a !important;}
[data-err]{display:none !important;}[data-err].on{display:contents !important;}
.bw input.bad,.bw select.bad{border-color:#dc2626 !important;}
[data-form="done"]{display:none !important;}
.ea-done [data-form="form"]{display:none !important;}.ea-done [data-form="done"]{display:contents !important;}
form[data-ea] button[type="submit"][disabled]{opacity:.7;cursor:wait;}
.ea-fail{border:1px solid #e2e8f0;border-left:3px solid #dc2626;border-radius:6px;padding:10px 14px;font-size:14px;background:#fff;}
/* /layout: tile layout planner (2026-10-30) */
.lp{max-width:1120px;margin:0 auto;padding:24px 20px 80px;font-size:16px;line-height:1.5;color:#0f172a}
.lp-top{display:flex;align-items:center;gap:12px;padding:14px 20px;max-width:1120px;margin:0 auto}
.lp-top a.lp-home{font-size:20px;font-weight:700;letter-spacing:-.02em;color:#0f172a;text-decoration:none}
.lp-top .lp-cta{margin-left:auto;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:6px;background:#0E5A4B;color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.lp h1{font-size:40px;line-height:1.08;letter-spacing:-.025em;margin:10px 0 8px}
.lp-lede{font-size:18px;color:#475569;margin:0 0 22px;max-width:720px}
.lp-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#0E5A4B;font-weight:600}
.lp-card{border:1px solid #e2e8f0;border-radius:12px;padding:20px;background:#fff}
.lp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.lp-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#334155}
.lp-field input,.lp-field select,.lp-field textarea{font:inherit;font-size:16px;font-weight:400;color:#0f172a;min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;width:100%;box-sizing:border-box}
.lp-field small{font-weight:400;color:#64748b}
.lp-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#334155;padding:6px 0}
.lp-check input{width:20px;height:20px;margin-top:2px;accent-color:#0E5A4B}
.lp-sec{font-size:15px;font-weight:700;margin:18px 0 10px;grid-column:1/-1}
.lp-btn{font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:0 16px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;cursor:pointer}
.lp-btn.lp-primary{background:#0E5A4B;border-color:#0E5A4B;color:#fff}
.lp-err{color:#b91c1c;font-size:14px;margin:8px 0 0}
.lp-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.lp-opt{display:flex;gap:12px;text-align:left;font:inherit;border:1.5px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff;cursor:pointer;color:#0f172a}
.lp-opt[aria-pressed="true"]{border-color:#0E5A4B;box-shadow:0 0 0 3px rgba(14,90,75,.13)}
.lp-thumb{flex:0 0 76px}.lp-thumb svg{display:block}
.lp-opt-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.lp-opt-name{font-weight:600;font-size:14px;line-height:1.3}.lp-opt-meta{font-size:13px;color:#475569}
.lp-chip{align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.lp-best{background:#C6F432;color:#0f172a}.lp-warn{background:#fde2e2;color:#991b1b}
.lp-detail-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:8px}
.lp-h2{font-size:26px;letter-spacing:-.02em;margin:0}.lp-h3{font-size:20px;margin:28px 0 10px}
.lp-actions{display:flex;gap:8px;flex-wrap:wrap}
.lp-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-top:16px;align-items:start}
.lp-plan{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}
.lp-stat{font-size:16px;padding:8px 0;border-bottom:1px solid #e2e8f0}.lp-stat b{font-family:'JetBrains Mono',monospace;font-size:22px;color:#0E5A4B;margin-right:6px}
.lp-notes{padding-left:18px;margin:14px 0;color:#334155;font-size:15px}.lp-notes li{margin:6px 0}
.lp-key{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#475569}.lp-key i{display:inline-block;width:16px;height:12px;border:1px solid #94a3b8;margin-right:5px;vertical-align:-1px}
.lp-steps{padding-left:22px;font-size:16px}.lp-steps li{margin:6px 0}
.lp-table{border-collapse:collapse;width:100%;font-size:15px;margin-top:12px}.lp-table th,.lp-table td{text-align:left;padding:9px 8px;border-bottom:1px solid #e2e8f0}.lp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.lp-table td:first-child{font-family:'JetBrains Mono',monospace;white-space:nowrap}
.lp-fine{font-size:13px;color:#64748b;margin-top:14px}
.lp-drop{border:2px dashed #cbd5e1;border-radius:12px;padding:22px;text-align:center;color:#475569;background:#f8fafc}
.lp-drop.lp-over{border-color:#0E5A4B;background:#eef7f0}
.lp-drop label{color:#0E5A4B;font-weight:600;cursor:pointer;text-decoration:underline}
.lp-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.lp-file{position:relative;width:96px;font-size:11px;color:#475569}.lp-file img,.lp-file-doc{display:flex;align-items:center;justify-content:center;width:96px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;background:#f1f5f9;font-weight:700}
.lp-file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.lp-file button{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:15px;line-height:1}
.lp-done{border:1px solid #0E5A4B;background:#eef7f0;border-radius:12px;padding:22px}
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:860px){.lp h1{font-size:32px}.lp-grid{grid-template-columns:minmax(0,1fr)}.lp-options{grid-template-columns:minmax(0,1fr)}.lp-detail-grid{grid-template-columns:minmax(0,1fr)}}
@media print{.noprint,.lp-top,#lp-form-card,#lp-options,#lp-req-card,footer{display:none !important}.lp{padding:0}.lp-plan{border:0}}
.lp [hidden]{display:none !important}
@media (max-width:600px){.lp-table{font-size:13px}.lp-table th,.lp-table td{padding:8px 4px}.lp-table td:first-child{white-space:normal}.lp-table th:nth-child(2),.lp-table td:nth-child(2){display:none}}
