:root{--ink:#2E2018;--muted:#6b5d52;--line:#e5d8ce;--soft:#faf3e8;--accent:#B5502E;--accent2:#f1dec3;--warn:#f6e4c6;--ivory:#FBF1E4;--sand:#F1DEC3;--rose:#C97B67}
*{box-sizing:border-box} body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--ivory);line-height:1.45}
.wrap{max-width:860px;margin:auto;padding:18px}.brand{font-weight:800;letter-spacing:.02em;margin:4px 0 28px}.hero{padding:34px 0 18px}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;color:var(--muted);font-weight:700}
h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,8vw,4rem);line-height:1.02;margin:.35rem 0 1rem} h2{font-family:'Fraunces',Georgia,serif;font-size:1.45rem;margin:0 0 .5rem} h3{font-family:'Fraunces',Georgia,serif;margin:0 0 .6rem}
.lead{font-size:1.12rem;color:#3d4852;max-width:700px}.privacy,.note{font-size:.9rem;color:var(--muted)}
.btn{display:inline-block;border:0;border-radius:10px;padding:13px 18px;margin:6px 8px 6px 0;font-weight:750;cursor:pointer;background:var(--accent);color:white;text-decoration:none}
.btn.secondary{background:white;color:var(--accent);border:1px solid var(--accent)}.btn.ghost{background:var(--soft);color:var(--ink)}
.card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0;background:white}.sectiontag{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:750}
.q{font-size:1.08rem;font-weight:750;margin:.35rem 0 12px}.choice{display:block;padding:10px 11px;border:1px solid var(--line);border-radius:10px;margin:7px 0;cursor:pointer}
.choice input{margin-right:9px} input[type=text],input[type=date],textarea{width:100%;padding:12px;border:1px solid #bcc7d0;border-radius:9px;font:inherit}textarea{min-height:95px}
.progress{height:7px;background:#edf0f2;border-radius:8px;overflow:hidden;position:sticky;top:0;z-index:2}.bar{height:100%;background:var(--accent);width:0}
.nav{display:flex;justify-content:space-between;gap:10px;margin:20px 0 40px}.hidden{display:none!important}
.results-head{padding:24px 0 8px}.doc{border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}.doc ul{padding-left:22px}.doc .kicker{font-size:.78rem;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.paid{background:var(--warn);border-color:#ead7a9}.paid .kicker{color:#7a5412}.reviewbox{background:var(--accent2)}
.small{font-size:.86rem;color:var(--muted)}.pill{display:inline-block;background:var(--soft);padding:5px 9px;border-radius:999px;margin:3px;font-size:.82rem}
@media print{.no-print,.progress,.nav{display:none!important}.wrap{max-width:none}.doc{break-inside:avoid}.paid{background:white}}

/* Modular v4 additions */
.roadmap{background:#f8fafb}
.choice:has(input:focus-visible), .btn:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid rgba(36,77,97,.22);
  outline-offset:2px
}
.choice:hover{border-color:#9cabb6}
.brand a{color:inherit;text-decoration:none}
@media (max-width:560px){
  .wrap{padding:14px}
  .card,.doc{padding:16px}
  .btn{width:100%;margin-right:0}
  .nav .btn{width:auto;flex:1}
}

/* Modular v5 additions */
.sitehead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 20px}
.sitehead .brand{margin:0;color:inherit;text-decoration:none}.text-button{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:750;cursor:pointer;padding:8px}
.group-title{margin:34px 0 8px}.path-grid,.module-grid,.tool-grid,.output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.path-grid .card,.module-grid .card,.tool-grid .card,.output-grid .card{margin:0}
.path-card,.module-card{display:flex;flex-direction:column}.path-card p,.module-card p{flex:1}.tool-card{display:block;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease}.tool-card:hover{transform:translateY(-2px);border-color:#9cabb6}
.save-panel{border:1px solid #bdd2c7;background:#f1f7f4;border-radius:16px;padding:16px;margin:24px 0}.save-panel strong,.save-panel span{display:block}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.btn.compact{padding:9px 12px;margin:0;font-size:.88rem}.storage-warning{margin:10px 0 0}
.completion{font-size:.84rem;color:var(--muted);margin:0 0 8px}.completion strong{color:var(--accent)}.completion-meter{height:5px;background:#e8edf0;border-radius:8px;overflow:hidden;margin-top:5px}.completion-meter span{display:block;height:100%;background:var(--accent)}
.action-card{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:30px;background:var(--accent2)}.action-card p{margin-bottom:0}.action-card .btn{flex:0 0 auto}
.quiz-meta{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:.84rem;margin:8px 2px}.question-meta{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.badge{display:inline-block;padding:4px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.73rem;font-weight:700}.badge.upgrade{background:#fff0c9;color:#755116}.badge.private{background:#eee9f5;color:#594971}.badge.shared{background:#e7f2ec;color:#315e4e}
.question-note{border-left:3px solid #c8d6dc;background:#f6f9fa;padding:9px 11px;border-radius:6px;color:var(--muted);font-size:.87rem}.share-control{display:block;margin-top:15px;padding:12px;border:1px solid #d8cee5;border-radius:10px;background:#f7f4fb;font-size:.9rem}.share-control input{margin-right:8px}.answer-limit{color:#8a5418}
input[type=text],input[type=date],input[type=tel],input[type=number],select,textarea{width:100%;padding:12px;border:1px solid #bcc7d0;border-radius:9px;font:inherit;background:#fff}textarea{min-height:105px}.choice input{width:auto}
.results-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.results-actions .btn{margin:0}.output-card{display:flex;flex-direction:column;min-height:210px}.output-card p{flex:1}.output-card .btn{align-self:flex-start}.output-card .statusline{font-size:.8rem;color:var(--muted);margin:4px 0}.output-card.upgrade-card{background:var(--warn);border-color:#ead7a9}.output-card.service-card{background:#f4f0f7;border-color:#d9cce4}
.document-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.document-toolbar .btn{margin:0}.document-section{margin-top:30px}.doc dl{margin:0}.doc dt{font-weight:800;color:var(--accent);margin-top:13px}.doc dd{margin:3px 0 0;white-space:pre-wrap}.doc .module-heading{font-size:1rem;margin:20px 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}.doc .missing{color:var(--muted);font-style:italic}.doc-warning{background:#fff9ee;border-color:#ecd8a5}.privacy-exclusion{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:16px}
.call-card{border:2px solid var(--accent);background:#fdf6ec}.call-card a{color:var(--accent);font-weight:750}.call-card .bigline{font-size:1.08rem}.checklist{list-style:none;padding:0}.checklist li{padding:8px 0;border-bottom:1px solid var(--line)}.checklist li::before{content:'□';font-size:1.15rem;margin-right:8px;color:var(--accent)}
.hidden-file{display:none}.import-message{padding:10px;border-radius:8px;background:var(--accent2);margin:10px 0}.error-message{background:#fff1ef;color:#8a2f2b}.empty-state{padding:18px;background:var(--soft);border-radius:10px;color:var(--muted)}
@media (max-width:700px){.path-grid,.module-grid,.tool-grid,.output-grid{grid-template-columns:1fr}.action-card{display:block}.action-card .btn{margin-top:14px}.quiz-meta{display:block}.quiz-meta span{display:block}.button-row .btn{width:100%}}
@media print{.sitehead,.save-panel,.document-toolbar,.results-actions{display:none!important}.output-grid{display:block}.output-card{break-inside:avoid;margin-bottom:12px}}
@supports(padding:max(0px)){
  .wrap{padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(18px,env(safe-area-inset-left))}
  @media(max-width:560px){.wrap{padding-right:max(14px,env(safe-area-inset-right));padding-left:max(14px,env(safe-area-inset-left))}}
}
