:root{--brand:#1f4e5f;--accent:#b5541b;--bg:#faf7f2;--ink:#222;--muted:#666;--bad:#b00020}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.form-wrap{max-width:760px;margin:0 auto;padding:20px}.embed .form-wrap{padding:8px 4px}
h1{color:var(--brand);margin:.2em 0 .6em}h2.sec{font-size:1.1rem;color:var(--brand);border-bottom:2px solid #e3dccf;padding-bottom:4px;margin-top:1.6em}
.fld{margin:12px 0}.fld label,.fld legend{display:block;font-weight:600;margin-bottom:4px}.fld small{color:var(--muted);display:block}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=datetime-local],input[type=number],input[type=password],select,textarea{width:100%;padding:10px;border:1px solid #bbb;border-radius:6px;font:inherit;background:#fff}
fieldset{border:1px solid #ddd;border-radius:6px;padding:8px 12px}label.chk{font-weight:400;display:block;margin:3px 0}
.req{color:var(--bad)}.bad input,.bad select,.bad textarea,.bad fieldset{border-color:var(--bad)}.msg,.err-summary{color:var(--bad)}
.err-summary{background:#fdecee;border:1px solid var(--bad);padding:10px;border-radius:6px}
.btn{background:var(--brand);color:#fff;border:0;border-radius:6px;padding:12px 22px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn-light{background:#eee;border:1px solid #ccc;border-radius:6px;padding:6px 12px;cursor:pointer;color:#222;text-decoration:none;display:inline-block}
.btn-danger{background:#8b1d1d;color:#fff;border:0;border-radius:6px;padding:6px 12px;cursor:pointer}
.hp{position:absolute;left:-9999px}.privacy{font-size:.9rem;color:var(--muted)}#sigpad{border:1px dashed #888;background:#fff;max-width:100%;touch-action:none}
[hidden]{display:none!important}
/* portal */
.top{background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;flex-wrap:wrap;gap:8px}
.top a{color:#fff;margin-left:14px}.top .who{opacity:.85;font-size:.9rem}.wrap{max-width:1100px;margin:0 auto;padding:20px}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border-bottom:1px solid #e5e5e5;padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f0ece4;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.8rem;background:#e7eef0}
.pill.new{background:#d9f2df}.pill.warn{background:#ffe3c2}.card{background:#fff;border:1px solid #e3dccf;border-radius:8px;padding:16px;margin:12px 0}
.login{max-width:420px;margin:40px auto}.flash{background:#e8f4fd;border:1px solid #9cc9ea;padding:8px 12px;border-radius:6px;margin:10px 0}
.flash.err{background:#fdecee;border-color:var(--bad)}iframe.viewer{width:100%;height:70vh;border:1px solid #ccc;background:#fff}
.tabs a{margin-right:12px}dl.kv{display:grid;grid-template-columns:minmax(180px,35%) 1fr;gap:4px 14px;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;white-space:pre-wrap;word-break:break-word}
.inline{display:inline}.mono{font-family:ui-monospace,Menlo,monospace}.muted{color:var(--muted)}
.sigimg{max-width:400px;border:1px solid #ccc;background:#fff}.big{font-size:1.3rem}input.short{max-width:160px}
.embed{background:transparent}.embed h1{font-size:1.5rem}
.bstatus{padding:12px 14px;border-radius:6px;margin:12px 0;border:2px solid}.bstatus-live{background:#d9f2df;border-color:#2e7d32}
.bstatus-off,.bstatus-expired{background:#fdecee;border-color:var(--bad)}.bstatus-scheduled{background:#fff4e0;border-color:#b5541b}
@font-face{font-family:'Happy Monkey';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/happy-monkey-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/static/fonts/poppins-600.woff2') format('woff2')}
.bp{--hhh-orange:#e27a2b;--hhh-brown:#4a2a12;--hhh-cream:#f6daa7;max-width:760px;font-family:Poppins,system-ui,sans-serif}
.bp h1{font-family:'Happy Monkey',Poppins,sans-serif;color:var(--hhh-brown);margin:0;font-size:1.9rem;font-weight:400}
.bp-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}.bp-head img{height:44px;width:auto;border-radius:6px}
.bp-hello{margin:0;color:var(--hhh-orange);font-weight:600}
.bp .bstatus{border-width:0 0 0 6px;border-radius:10px;padding:12px 16px}.bs-label{margin:0;font-weight:600;font-size:1.25rem;letter-spacing:.04em}
.bs-msg,.bs-dates{margin:2px 0 0}.bs-dates{color:#444;font-size:.92rem}.bp-inline{margin:8px 0;border-width:2px}
.bp .card{border-radius:12px;border-color:#efe2cc}.bp textarea{resize:vertical}
.bp-row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.9rem;margin-top:4px}.bp-count{font-variant-numeric:tabular-nums;color:#444}.bp-count.near{color:var(--bad);font-weight:600}
.bp-sub{margin:14px 0 6px;font-weight:600;color:var(--hhh-brown);font-size:.95rem}
.bp-preview{position:relative;background:var(--hhh-cream);color:#000;font:400 12.8px/1.5 Poppins,sans-serif;text-align:center;padding:12px 36px;border-radius:6px;overflow-wrap:anywhere}
.bp-preview.empty{color:#7a6a55;font-style:italic}.bp-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:16px}
.bp-toggle{margin-top:14px;border-color:#efe2cc;border-radius:8px}.bp-toggle label{display:inline-flex;gap:6px;align-items:center;margin:4px 18px 4px 0;font-weight:400}
.bp-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.bp-note{font-size:.88rem}
.bp .btn{background:var(--hhh-orange);border-color:var(--hhh-orange)}.bp .btn:focus-visible{outline:3px solid var(--hhh-brown);outline-offset:2px}
@media (max-width:560px){.bp-dates{grid-template-columns:1fr}.bp h1{font-size:1.5rem}}
/* 2026-10-22 live-form text blocks */
.intake .info{margin:.6rem 0 1rem;line-height:1.5}
.intake .info p{margin:.35rem 0}
.intake .info-note{font-weight:600}
.intake .info-q p:first-child{font-weight:600;margin-bottom:.1rem}
.intake .info-q p+p{font-size:.9em}
.intake .info-h{font-size:1.05rem;margin:1.2rem 0 .3rem}
.intake .grp{font-weight:600;margin:.8rem 0 .2rem}
.intake .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.intake .thanks-only{font-size:1.1rem;margin:1rem 0}
