/* CRU HIPAA Binder Builder — brand tokens from CRU-Branding brand.json (teal #3798A9, Inter) */
:root{--teal:#3798A9;--teal-light:#5DBACB;--teal-deep:#2B7A88;--gunmetal:#353E43;--ink:#212B36;--surface:#F4F6F8;--white:#fff;--success:#2E7D46;--warning:#B7791F;--danger:#C0341D;--rule:#D9E0E6;--muted:#5C6675}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--surface);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.5;font-size:16px}
a{color:var(--teal-deep)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
h1{font-size:2rem}h2{font-size:1.5rem;color:var(--teal-deep)}h3{font-size:1.15rem}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header.site{background:var(--white);border-bottom:3px solid var(--teal)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);text-decoration:none}
.brand .swirl{width:34px;height:34px;border-radius:50%;background:conic-gradient(var(--teal) 0 60%,var(--teal-light) 60% 100%);position:relative}
.brand .swirl:after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--white)}
.brand small{display:block;font-weight:400;font-size:.75rem;color:var(--muted)}
nav.top a{margin-left:18px;text-decoration:none;color:var(--ink);font-weight:500}
nav.top a.btn{color:var(--white)}
.hero{background:linear-gradient(135deg,var(--teal-deep),var(--teal));color:var(--white);padding:56px 0}
.hero h1{font-size:2.4rem;max-width:760px}
.hero p.lead{font-size:1.2rem;max-width:720px;opacity:.95}
.hero .btn{background:var(--white);color:var(--teal-deep)}
.btn{display:inline-block;background:var(--teal);color:var(--white);border:0;border-radius:8px;padding:11px 20px;font-weight:600;cursor:pointer;text-decoration:none;font-size:1rem}
.btn.secondary{background:var(--white);color:var(--teal-deep);border:2px solid var(--teal)}
.btn.small{padding:6px 12px;font-size:.9rem}
.btn.danger{background:var(--danger)}
.btn:disabled{opacity:.5;cursor:not-allowed}
section.block{padding:48px 0;border-bottom:1px solid var(--rule)}
.grid{display:grid;gap:20px}
.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{background:var(--white);border:1px solid var(--rule);border-radius:12px;padding:22px}
.card.tier{display:flex;flex-direction:column}
.card.tier .price{font-size:2.2rem;font-weight:700;color:var(--teal-deep)}
.card.tier .renew{color:var(--success);font-weight:600}
.card.tier ul{padding-left:18px;margin:10px 0 16px;flex:1}
.card.featured{border-color:var(--teal);box-shadow:0 6px 24px rgba(55,152,169,.18)}
.badge{display:inline-block;background:var(--teal);color:#fff;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600;letter-spacing:.02em}
.badge.ok{background:var(--success)}.badge.warn{background:var(--warning)}.badge.bad{background:var(--danger)}.badge.muted{background:var(--muted)}
table{width:100%;border-collapse:collapse;background:var(--white);font-size:.95rem}
th,td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--surface);font-weight:600}
tr.us td{background:#E8F5F8;font-weight:600}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px}
.steps li{counter-increment:s;background:var(--white);border:1px solid var(--rule);border-radius:12px;padding:16px 16px 16px 64px;position:relative}
.steps li:before{content:counter(s);position:absolute;left:16px;top:14px;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
details{background:var(--white);border:1px solid var(--rule);border-radius:10px;padding:12px 16px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600}
form.stack label{display:block;font-weight:600;margin:14px 0 4px}
form.stack .help{font-weight:400;color:var(--muted);font-size:.88rem;display:block;margin-top:2px}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],select,textarea{width:100%;padding:9px 10px;border:1px solid #B9C3CC;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:96px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal-light);border-color:var(--teal)}
.checks label{display:inline-flex;align-items:center;gap:8px;font-weight:400;margin:4px 16px 4px 0}
.radio-row label{display:inline-flex;gap:6px;margin-right:16px;font-weight:400}
.notice{padding:12px 16px;border-radius:8px;background:#E8F5F8;border-left:4px solid var(--teal);margin:12px 0}
.notice.warn{background:#FBF3E4;border-color:var(--warning)}
.notice.bad{background:#FBE9E5;border-color:var(--danger)}
.notice.ok{background:#E9F5EC;border-color:var(--success)}
.progress{height:12px;background:#E1E7EC;border-radius:999px;overflow:hidden}
.progress > span{display:block;height:100%;background:var(--teal)}
.sections li{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--rule)}
.sections li a{text-decoration:none;font-weight:500}
.sections{list-style:none;padding:0;margin:0;background:var(--white);border:1px solid var(--rule);border-radius:12px}
.wizard-nav{display:flex;justify-content:space-between;gap:12px;margin:24px 0;flex-wrap:wrap}
.savebar{position:sticky;bottom:0;background:var(--white);border-top:1px solid var(--rule);padding:12px 0;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.savebar .status{color:var(--muted);font-size:.9rem}
table.edit input,table.edit select{min-width:110px;padding:5px 6px;font-size:.9rem}
table.edit td{padding:4px}
table.edit .rm{color:var(--danger);background:none;border:0;cursor:pointer;font-size:1.1rem}
.req:after{content:" *";color:var(--danger)}
.field{margin:18px 0}
footer.site{padding:32px 0;color:var(--muted);font-size:.9rem}
.doc{background:var(--white);border:1px solid var(--rule);border-radius:12px;padding:32px;max-width:860px;margin:24px auto}
.doc h1,.doc h2,.doc h3{color:var(--teal-deep)}
.doc table{font-size:.9rem}
.doc blockquote{border-left:4px solid var(--teal);margin:12px 0;padding:4px 12px;color:var(--muted)}
.doc hr.page-break{border:0;border-top:2px dashed var(--rule);margin:32px 0}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.kv dt{font-weight:600;color:var(--muted)}.kv dd{margin:0}
.mono{font-family:"JetBrains Mono",Consolas,monospace;font-size:.95rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.two{grid-template-columns:1fr}.hero h1{font-size:1.8rem}header.site .wrap{height:auto;padding:10px 16px;flex-wrap:wrap;gap:8px}}
@media print{header.site,footer.site,.savebar,.wizard-nav,nav.top{display:none}.doc{border:0}}
