:root{--ink:#1f2933;--muted:#5b6670;--line:#dfe3e8;--bg:#fff;--alt:#f5f6f8;--accent:#0f766e;--accent-d:#0b5d57;--err:#b42318;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5}
.nav{display:flex;justify-content:space-between;align-items:center;min-height:62px;gap:12px;flex-wrap:wrap}
.brand{font-weight:800;color:var(--ink);text-decoration:none;font-size:1.25rem;letter-spacing:-.02em}
.brand span{color:var(--accent)}
nav{display:flex;gap:18px;align-items:center}nav a{color:var(--ink);text-decoration:none;font-size:.95rem}
.btn{display:inline-block;background:var(--accent);color:#fff!important;border:2px solid var(--accent);border-radius:8px;padding:12px 22px;font:600 1rem inherit;font-family:inherit;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent-d);border-color:var(--accent-d)}
.btn-ghost{background:#fff;color:var(--accent)!important}.btn-ghost:hover{background:var(--alt)}
.btn-sm{padding:7px 14px;font-size:.9rem}
.hero{padding:72px 0 56px;background:linear-gradient(180deg,var(--alt),#fff)}
.eyebrow{color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;margin:0}
h1{font-size:clamp(1.9rem,4.5vw,2.9rem);line-height:1.15;margin:.3em 0;max-width:800px}
.lead{font-size:1.15rem;color:var(--muted);max-width:700px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
.ticks{list-style:none;padding:0;display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:.95rem}
.ticks li::before{content:"✓ ";color:var(--accent);font-weight:700}
.section{padding:64px 0}.alt{background:var(--alt)}
h2{font-size:1.8rem;margin:0 0 .3em}.sub{color:var(--muted);margin-top:0}
.steps{list-style:none;counter-reset:s;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.steps li{counter-increment:s;border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 16px 58px;position:relative;background:#fff}
.steps li::before{content:counter(s);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.steps strong{display:block}.steps span{color:var(--muted);font-size:.93rem}
.note{margin-top:20px;padding:14px 18px;border-left:4px solid var(--accent);background:var(--alt);border-radius:6px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.card.featured{border:2px solid var(--accent)}
.card h3{margin:0 0 6px;font-size:1.15rem}.price{font-size:1.6rem;font-weight:700;color:var(--accent);margin:0 0 10px}
.card ul{padding-left:18px;color:var(--muted);margin:0}
form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-top:20px}
.progress{list-style:none;padding:0;margin:0 0 8px;display:flex;justify-content:space-between;gap:6px;font-size:.82rem;color:var(--muted)}
.progress li.on{color:var(--accent);font-weight:700}
.bar{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:24px}.bar span{display:block;height:100%;width:25%;background:var(--accent);transition:width .3s}
.step h3{margin-top:0;font-size:1.2rem}
.q{border:0;padding:0;margin:0 0 22px}
.q legend,.q>label{font-weight:600;display:block;margin-bottom:8px;padding:0}
.hint{display:block;font-size:.85rem;color:var(--muted);margin:-4px 0 8px}
.req{color:var(--err)}.opt{color:var(--muted);font-weight:400;font-size:.88rem}
.choices{display:grid;gap:6px}
.choice{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
.choice:hover{border-color:var(--accent)}.choice input{margin-top:5px;accent-color:var(--accent)}
.choice:has(input:checked){border-color:var(--accent);background:#effaf8}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;padding:11px 12px;border:1px solid #c5ccd3;border-radius:8px;font:inherit;background:#fff}
.invalid input,.invalid select,.invalid textarea,.invalid .choice{border-color:var(--err)}
.err{color:var(--err);font-size:.88rem;margin:6px 0 0;min-height:0}.err:empty{display:none}
.form-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.form-nav #next,.form-nav #submit{margin-left:auto}
.hp{position:absolute;left:-9999px}
.form-status{color:var(--err)}
.thanks{margin-top:20px;padding:28px;border:2px solid var(--accent);border-radius:var(--r);background:#effaf8}
details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:10px}
summary{font-weight:600;cursor:pointer}
.site-footer{padding:28px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
@media (max-width:640px){nav a:not(.btn):not([href="about.html"]):not([href="consulting.html"]){display:none}.hero{padding:44px 0 36px}.section{padding:44px 0}form{padding:16px}.progress li{font-size:.72rem;text-align:center}.form-nav .btn{flex:1}}
[hidden]{display:none!important}
.lead.small{font-size:1rem}
.launch{display:inline-block;margin:0;padding:4px 12px;border-radius:999px;background:#effaf8;color:var(--accent-d);font-size:.9rem;font-weight:600;border:1px solid #bfe5df}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}
.feature{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;border-top:3px solid var(--accent)}
.feature h3{margin:0 0 4px;font-size:1.05rem}.feature p{margin:0;color:var(--muted);font-size:.95rem}
.group{font-size:1.25rem;margin:28px 0 0;padding-bottom:6px;border-bottom:2px solid var(--line)}
.group-block{margin-top:40px}.group-block .group{margin-top:0}.group-block .sub{margin:10px 0 0}
.photo{flex:none;width:160px;height:160px;border-radius:50%;background:var(--alt);border:2px dashed #b8c0c8;display:grid;place-items:center;color:var(--muted);font-size:.9rem;text-align:center}
.photo-sm{width:110px;height:110px;font-size:.8rem}
img.photo{display:block;object-fit:cover;object-position:50% 40%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line),0 4px 14px rgba(15,23,42,.12);background:var(--alt)}
.about-intro,.about-teaser{display:flex;gap:28px;align-items:center}
.about-teaser{border:1px solid var(--line);border-radius:var(--r);padding:24px}
.about-teaser h2{font-size:1.4rem}.about-teaser p{margin:.3em 0 .6em;color:var(--muted)}
.link-arrow{font-weight:600;text-decoration:none}
.about-body h2{margin-top:1.6em;font-size:1.45rem}.about-body h2:first-child{margin-top:0}
.timeline{list-style:none;padding:0;margin:20px 0;border-left:3px solid var(--accent);margin-left:30px}
.timeline li{display:flex;gap:16px;padding:0 0 18px 0;position:relative}
.timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--accent)}
.timeline .yr{flex:none;width:72px;line-height:1.3;margin-left:20px;font-weight:700;color:var(--accent)}
.timeline p{margin:2px 0 0;color:var(--muted);font-size:.95rem}
.signoff{font-weight:600}
@media (max-width:640px){.about-intro,.about-teaser{flex-direction:column;align-items:flex-start;gap:16px}.photo{width:130px;height:130px}}
@media (max-width:640px){.nav{flex-wrap:nowrap}.brand{font-size:.95rem}nav{gap:12px}nav a{font-size:.9rem}.btn-sm{padding:7px 11px}}
/* ---------- Sheet picker + live preview (quote flow, design.js) ---------- */
.wrap.wide{max-width:1240px}
.dz-hero{padding:48px 0 24px}
.dz-section{padding-top:28px}
.dz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:28px;align-items:start}
.dz-controls{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.dz-step{border:0;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--line);min-width:0}
.dz-step legend{font-weight:700;font-size:1.05rem;padding:0;margin-bottom:10px;display:flex;gap:10px;align-items:center}
.dz-num{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:inline-grid;place-items:center;font-size:.85rem;flex:none}
.dz-grid2{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.dz-grid3{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.dz-controls .choice{padding:8px 11px}
.choice strong{display:block}.choice small{display:block;color:var(--muted);font-size:.84rem;line-height:1.35}
.dz-other{margin-top:10px}.dz-other label,.dz-label{font-weight:600;display:block;margin-bottom:6px}
.dz-fg{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:10px}
.dz-fg h4{margin:0 0 8px;font-size:.95rem}
.dz-chips{display:flex;flex-wrap:wrap;gap:6px}
.dz-chip{display:inline-flex;align-items:center;gap:2px;background:#effaf8;border:1px solid #bfe5df;color:var(--accent-d);border-radius:999px;padding:2px 3px 2px 11px;font-size:.88rem}
.dz-chip button{border:0;background:transparent;color:inherit;font-size:1.1rem;line-height:1;width:26px;height:26px;border-radius:50%;cursor:pointer}
.dz-chip button:hover{background:#d5efeb}
.dz-sugg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:.85rem;color:var(--muted)}
.dz-add{border:1px dashed #b8c0c8;background:#fff;border-radius:999px;padding:3px 10px;font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer}
.dz-add:hover{border-color:var(--accent);color:var(--accent)}
.dz-own{display:flex;gap:8px;margin-top:10px}.dz-own input[type=text]{padding:7px 10px;font-size:.92rem}.dz-own .btn{flex:none}
.dz-empty{color:var(--muted);font-size:.9rem;margin:0}
.dz-swatches{display:flex;flex-wrap:wrap;gap:14px}
.dz-sw{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.82rem;color:var(--muted);position:relative;width:64px;text-align:center;line-height:1.25}
.dz-sw input{position:absolute;opacity:0;width:1px;height:1px}
.dz-sw span{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,var(--a) 0 58%,var(--b) 58%);box-shadow:0 0 0 1px var(--line);display:block}
.dz-sw input:checked+span{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}
.dz-sw input:focus-visible+span{outline:3px solid var(--accent);outline-offset:5px}
.dz-sw em{font-style:normal}.dz-sw:has(input:checked) em{color:var(--ink);font-weight:600}
.dz-last{border-bottom:0;margin-bottom:6px}
.dz-actions{display:flex;flex-wrap:wrap;gap:10px}
.dz-msg{color:var(--err);font-size:.92rem;margin:10px 0 0}.dz-msg:empty{display:none}
.dz-sumd{margin:16px 0 0;background:var(--alt)}
.dz-sumd pre,.design-attach pre{white-space:pre-wrap;word-break:break-word;font:.84rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin:10px 0 0;max-height:280px;overflow:auto}
.dz-preview{position:sticky;top:78px;outline:0;min-width:0}
.dz-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}.dz-ph h2{font-size:1.25rem;margin:0}
.dz-tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#fff4d6;color:#7a5a00;border:1px solid #f1d58a;border-radius:999px;padding:2px 10px}
.dz-note{font-size:.85rem;color:var(--muted);margin:10px 2px 0}
/* spreadsheet window */
.pv{--t1:#0f766e;--t2:#2dd4bf;--t3:#99f6e4;--tint:#effaf8;border:1px solid #c9d0d7;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.14);font-size:13px;line-height:1.35;color:#1f2933}
.pv-chrome{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#185c37;color:#fff;min-width:0}
.pv-dots{display:flex;gap:5px;flex:none}.pv-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45)}
.pv-icon{width:18px;height:18px;border-radius:3px;flex:none;background:#fff linear-gradient(#185c37,#185c37) 50% 0/1.5px 100% no-repeat;box-shadow:inset 0 0 0 2px #fff;position:relative}
.pv-icon::after{content:"";position:absolute;inset:3px;background:linear-gradient(#185c37 0 0) 0 50%/100% 1.5px no-repeat}
.pv-file{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-menu{display:flex;gap:16px;padding:3px 12px 5px;font-size:12px;background:#185c37;color:#d6eadc;overflow:hidden;white-space:nowrap}
.pv.gs .pv-chrome{background:#fff;color:#1f2933;border-bottom:0}.pv.gs .pv-dots i{background:#d1d5db}
.pv.gs .pv-icon{background:#188038;box-shadow:none}.pv.gs .pv-icon::after{inset:4px;background:#fff;border-radius:1px}
.pv.gs .pv-menu{background:#fff;color:#444;border-bottom:1px solid #e3e6ea}
.pv.ns .pv-chrome,.pv.ns .pv-menu{background:#3d4752;color:#fff}.pv.ns .pv-menu{color:#d5dbe1}
.pv-fx{display:flex;align-items:center;border-bottom:1px solid #d6dbe0;background:#fff;font-size:12px;min-width:0}
.pv-ref{flex:none;width:58px;padding:5px 8px;border-right:1px solid #d6dbe0;color:#444}
.pv-fxl{flex:none;padding:5px 8px;color:#8a94a0;font-style:italic;border-right:1px solid #d6dbe0}
.pv-formula{padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;color:#334155}
.pv-sheet{height:min(64vh,560px);overflow:auto;background:#fff;position:relative;-webkit-overflow-scrolling:touch}
.pv-grid{border-collapse:collapse;min-width:100%;font-size:12.5px}
.pv-grid th,.pv-grid td{border:1px solid #e1e5ea;padding:3px 8px;white-space:nowrap;height:25px}
.pv-grid td{min-width:48px;cursor:cell}
.pv-grid thead th{background:#f3f4f6;color:#5b6670;font-weight:500;font-size:11px;text-align:center;position:sticky;top:0;z-index:1;height:20px;padding:1px 8px}
.pv-rn{background:#f3f4f6;color:#5b6670;font-weight:400;font-size:11px;text-align:center;width:34px;min-width:34px;position:sticky;left:0;z-index:1}
.pv-grid thead .pv-corner{z-index:3}
.pv-h{background:var(--t1);color:#fff;font-weight:700}
.pv-lock{width:10px;height:10px;vertical-align:-1px;opacity:.85}
.pv-band td{background:var(--tint)}
.pv-num{text-align:right;font-variant-numeric:tabular-nums}
.pv-grid td.pv-calc{background:#eef0f3;color:#334155}
.pv-dd{position:relative;padding-right:22px!important}.pv-dd::after{content:"\25BE";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:#7b8590;font-size:11px}
.pv-grid td.pv-in{background:#fff8db}
.pv-pill{display:inline-block;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.6}
.pv-g{background:#dcfce7;color:#166534}.pv-a{background:#fef3c7;color:#92400e}.pv-r{background:#fee2e2;color:#991b1b}
.pv-tabs{display:flex;gap:2px;align-items:flex-end;background:#f3f4f6;border-top:1px solid #d6dbe0;padding:0 6px;overflow-x:auto;scrollbar-width:thin}
.pv-add{color:#8a94a0;padding:6px 10px;font-size:15px;flex:none}
.pv-tab{flex:none;border:0;background:transparent;font:inherit;font-size:12.5px;padding:7px 12px 6px;color:#4b5563;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent}
.pv-tab:hover{background:#e9ebee}
.pv-tab.on{background:#fff;color:var(--t1);font-weight:700;border-bottom-color:var(--t1)}
.pv-dash{padding:14px;min-height:100%;background-color:#fff;background-image:linear-gradient(#eef0f3 1px,transparent 1px),linear-gradient(90deg,#eef0f3 1px,transparent 1px);background-size:80px 25px}
.pv-dtitle{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--t1);color:#fff;padding:10px 14px;border-radius:6px;margin-bottom:12px}
.pv-dtitle b{font-size:16px;display:block}.pv-dtitle span{font-size:11.5px;opacity:.88}
.pv-refresh{background:#fff;color:var(--t1);border-radius:5px;padding:5px 10px;font-weight:700;font-size:12px;white-space:nowrap}
.pv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:12px}
.pv-kpi{background:#fff;border:1px solid #dfe3e8;border-top:4px solid var(--t1);border-radius:6px;padding:8px 10px}
.pv-kpi small{display:block;color:#5b6670;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.pv-kpi b{display:block;font-size:21px;color:var(--t1);line-height:1.2;margin-top:2px}
.pv-kpi span{font-size:11px;color:#5b6670}
.pv-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:12px}
.pv-chart{background:#fff;border:1px solid #dfe3e8;border-radius:6px;padding:8px 10px}
.pv-chart h5{margin:0 0 4px;font-size:12px}.pv-chart h5 em{font-style:normal;color:#6b7280;font-weight:400}
.pv-chart svg{display:block;width:100%;height:auto}
.pv-pie{display:flex;align-items:center;gap:12px;min-height:120px}.pv-pie svg{width:100px;flex:none}
.pv-legend{list-style:none;margin:0;padding:0;font-size:11.5px;line-height:1.7}.pv-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.pv-legend b{color:#4b5563}
.pv-recent{background:#fff;border:1px solid #dfe3e8;border-radius:6px;overflow:auto}
.pv-recent h5{margin:0;padding:7px 10px;font-size:12px}
.pv-mini{border-collapse:collapse;width:100%;font-size:12px}.pv-mini th{background:var(--t1);color:#fff;text-align:left;padding:4px 8px;white-space:nowrap}.pv-mini td{padding:4px 8px;border-top:1px solid #eef0f3;white-space:nowrap}
.pv-mini tbody tr:nth-child(even) td{background:var(--tint)}
.pv-print{outline:2px dashed #94a3b8;outline-offset:5px;position:relative;margin:24px 8px 8px}
.pv-printtag{position:absolute;top:-24px;right:-4px;font-size:10.5px;font-weight:700;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:1px 6px}
.pv-sheet>.pv-print{display:inline-block;min-width:calc(100% - 16px)}
.pv-steps{background:#fff;border:1px solid #dfe3e8;border-radius:6px;margin:0 0 12px;padding:12px 14px 12px 34px;font-size:13px}
.pv-steps li{margin:4px 0;padding-left:2px}.pv-steps li::marker{color:var(--t1);font-weight:700}
.pv-key{display:flex;flex-wrap:wrap;gap:8px 18px;background:#fff;border:1px solid #dfe3e8;border-radius:6px;padding:9px 12px;font-size:12px;color:#4b5563}
.pv-key i{display:inline-grid;place-items:center;width:22px;height:15px;border:1px solid #cbd5e1;border-radius:2px;margin-right:6px;vertical-align:-3px;font-style:normal;font-size:10px;background:#fff}
.pv-key .k-calc{background:#eef0f3}
.pv-rawnote{position:sticky;left:0;padding:7px 12px;background:#fff8db;border-bottom:1px solid #f1d58a;font-size:12px;color:#5c4400}
.pv-empty{padding:48px 20px;text-align:center;color:#5b6670;line-height:1.6}
/* quote form: attached design */
.design-tip{margin:14px 0 0;padding:12px 16px;border:1px dashed #b8c0c8;border-radius:8px;background:var(--alt);font-size:.95rem}
.design-attach{margin-top:20px;padding:16px 18px;border:2px solid var(--accent);border-radius:var(--r);background:#effaf8}
.da-head strong{display:block;font-size:1.05rem}.da-head span{color:var(--muted);font-size:.92rem}
.da-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
@media (max-width:980px){.dz{grid-template-columns:minmax(0,1fr)}.dz-preview{position:static;scroll-margin-top:72px}.pv-sheet{height:470px}}
@media (max-width:640px){.nav-long{display:none}.dz-hero{padding:32px 0 8px}.dz-controls{padding:16px}.dz-section{padding-top:20px}.pv-sheet{height:430px}.pv-dots{display:none}}
.section{scroll-margin-top:64px}
/* Design picker: let-us-pick, Randy's choice, skip */
.dz-quick{border:2px solid var(--accent);background:#effaf8;border-radius:var(--r);padding:16px 18px;margin:0 0 22px}
.dz-quick p{margin:0 0 10px}.dz-qtitle{font-size:1.05rem}
.dz-qbtns{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.dz-qhint{font-size:.86rem;color:var(--muted);margin:10px 0 0!important}
.dz-link{background:none;border:0;padding:6px 0;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.dz-link:hover{color:var(--accent-d)}
.dz-pickmsg{font-size:.92rem;color:var(--ink);background:#fff;border:1px solid #bfe5df;border-radius:6px;padding:8px 12px;margin:12px 0 0!important}.dz-pickmsg:empty{display:none}
.dz-skipline{margin:10px 0 0}
.dz-step legend{width:100%;flex-wrap:wrap;row-gap:6px}
.dz-sugtag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-d);background:#effaf8;border:1px solid #bfe5df;border-radius:999px;padding:1px 8px}
.dz-rc{margin-left:auto;flex:none;border:1px solid #c5ccd3;background:#fff;border-radius:999px;padding:3px 11px;font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;line-height:1.5}
.dz-rc:hover{border-color:var(--accent);color:var(--accent)}
.dz-rc[aria-pressed=true]{background:#fff4d6;border-color:#e0b84a;color:#7a5a00}
.dz-rcnote{display:none;font-size:.88rem;background:#fff8e6;border:1px solid #f1d58a;border-radius:6px;padding:8px 11px;margin:0 0 10px;color:#5c4400}
.dz-step.dz-randy .dz-rcnote{display:block}
.dz-step.dz-randy .dz-body{opacity:.55;transition:opacity .15s}
.dz-step.dz-randy .dz-body:hover,.dz-step.dz-randy .dz-body:focus-within{opacity:.9}
.choice.dz-custom{border-style:dashed}
.dz-sketch{margin:0 0 10px;padding:8px 12px;border-left:4px solid var(--accent);background:var(--alt);border-radius:6px;font-size:.9rem;color:var(--ink)}
.dz-next{margin:0 0 12px;font-size:.93rem;color:var(--muted)}
/* ---------- Design wizard (3 pages) ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.dzw{min-width:0}
.dz-prog{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dz-prog button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:none;font:inherit;color:var(--muted);cursor:pointer;padding:6px 2px;text-align:left}
.pg-n{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;border:2px solid #c5ccd3;background:#fff;color:var(--muted)}
.pg-t{font-weight:600;line-height:1.25}
.dz-prog li.cur .pg-n{background:var(--accent);border-color:var(--accent);color:#fff}.dz-prog li.cur button{color:var(--ink)}
.dz-prog li.done .pg-n{border-color:var(--accent);color:var(--accent)}.dz-prog li.done button{color:var(--ink)}
.dz-prog button:hover .pg-t{text-decoration:underline}
.dz-bar{height:6px;border-radius:99px;background:#e5e9ef;margin:0 0 26px;overflow:hidden}.dz-bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:99px;transition:width .3s;min-width:6px}
.dz-pg{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.dz-pg[hidden]{display:none}
.dz-h{font-size:1.5rem;margin:0 0 6px;outline:0}
.dz-sub{color:var(--muted);margin:0 0 18px}
.dz-sub .dz-link{padding:0;margin-left:4px}
.dz-mode{border-bottom:0;margin-bottom:6px;position:relative}.dz-mode>legend.sr-only{left:0;top:0}
.dz-bigs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dz-big{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:2px solid var(--line);border-radius:14px;padding:26px 24px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
.dz-big:hover{border-color:var(--accent);box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}
.dz-big input{position:absolute;opacity:0;width:1px;height:1px}
.dz-big strong{font-size:1.35rem}.dz-big small{color:var(--muted);font-size:.98rem;line-height:1.45}
.big-ic{font-size:2rem;line-height:1}
.dz-big:has(input:checked){border-color:var(--accent);background:#effaf8;box-shadow:0 0 0 2px var(--accent) inset}
.dz-big:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.dz-p1randy{margin:12px 0 0}.dz-p1randy .dz-rc{margin-left:0}
.dz-pg .dz-quick{margin:22px 0 0}
.dz-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 14px;border:1px dashed #b8c0c8;border-radius:8px;background:var(--alt);margin:0 0 18px}
.dz-tools+.dz-pickmsg{margin:-8px 0 16px!important}
.dz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.dz-lg2{margin-bottom:10px}
.dz-dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}
.dz-dcard{position:relative;display:flex;flex-direction:column;gap:4px;border:1.5px solid var(--line);border-radius:10px;padding:14px 14px 14px 44px;cursor:pointer;background:#fff;font:inherit;text-align:left;color:var(--ink);min-height:86px;transition:border-color .15s,background .15s}
.dz-dcard:hover{border-color:var(--accent)}
.dz-dcard input{position:absolute;left:15px;top:16px;width:18px;height:18px;accent-color:var(--accent);margin:0}
.dc-t{font-weight:700;line-height:1.3}.dz-dcard small{color:var(--muted);font-size:.86rem;line-height:1.35}
.dz-dcard.on{border-color:var(--accent);background:#effaf8}
.dc-badge{align-self:flex-start;margin-top:4px;font-style:normal;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-d);background:#fff;border:1px solid #bfe5df;border-radius:99px;padding:0 7px}.dc-badge:empty{display:none}
.dz-dcard.dz-custom{border-style:dashed}
.dz-helpc{border-style:dashed;background:var(--alt);padding-left:14px}.dz-helpc .dc-t::before{content:"? ";color:var(--accent)}
.dz-helpc[aria-expanded=true]{border-color:var(--accent)}
.dz-help{margin-top:14px;border:1px solid #bfe5df;background:#f6fbfa;border-radius:10px;padding:14px 16px}
.dz-help p{margin:0 0 10px}.dz-help p:last-child{margin:8px 0 0}
.dz-helpbtns{display:flex;flex-wrap:wrap;gap:8px}
.dz-hb{border:1px solid #c5ccd3;background:#fff;border-radius:99px;padding:7px 14px;font:inherit;font-size:.92rem;cursor:pointer;color:var(--ink)}
.dz-hb:hover{border-color:var(--accent)}.dz-hb.on{background:var(--accent);border-color:var(--accent);color:#fff}
.dz-helpout{font-size:.92rem;color:var(--accent-d);font-weight:600}.dz-helpout:empty{display:none}
.dz-typeline{margin:4px 0 14px;padding:10px 14px;background:var(--alt);border-radius:8px;font-size:.95rem}.dz-typeline p{margin:0}.dz-typeline .dz-link{padding:0}
.dz-typeopts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}.dz-typeopts[hidden]{display:none}.dz-typeopts label{display:flex;gap:6px;align-items:center;cursor:pointer}
.dz-cols{border:1px solid var(--line);border-radius:10px;padding:0 16px}
.dz-cols>summary{cursor:pointer;font-weight:700;padding:13px 0;list-style-position:inside}
.dz-cols[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.dz-cols .dz-step{border-bottom:0;margin-bottom:0}
/* page 3 */
.dz-pg[data-pg="3"]{padding:22px}
.dz-p3{display:grid;grid-template-columns:360px minmax(0,1fr);gap:26px;align-items:start}
.dz-ctl{min-width:0}
.dz-p3 .dz-preview{top:72px}
.dz-p3 .pv-sheet{height:min(calc(100vh - 250px),660px);min-height:420px}
.dz-pvt{display:none;margin-left:auto}
.dz-looks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dz-look{position:relative;display:flex;flex-direction:column;gap:6px;border:1.5px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;background:#fff}
.dz-look input{position:absolute;opacity:0;width:1px;height:1px}
.dz-look:hover{border-color:var(--accent)}
.dz-look:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;background:#f6fbfa}
.dz-look:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.lk-txt strong{display:block;font-size:.92rem}.lk-txt small{display:block;color:var(--muted);font-size:.78rem;line-height:1.3}
.lk-thumb{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:12px 22px;gap:4px;height:52px;padding:6px;border-radius:6px;background:#fff;border:1px solid #e5e9ef}
.lk-thumb i{border-radius:3px;background:#fff;border:1px solid #e2e8f0}
.lk-thumb i:first-child{grid-column:1/4;border:0;border-bottom:2px solid var(--accent);border-radius:0}
.lk-thumb b{grid-column:1/4;border-radius:3px;background:linear-gradient(90deg,var(--accent) 0 30%,#99f6e4 30% 55%,#e2e8f0 55%);height:6px;align-self:end;display:none}
.lk-dark{background:#0b1220;border-color:#0b1220}.lk-dark i{background:#1b2638;border-color:#24324a}.lk-dark i:first-child{background:none;border-bottom:3px solid #2dd4bf}
.lk-classic{border-radius:0;background:#fff linear-gradient(#e5e7eb 1px,transparent 1px) 0 0/100% 8px,linear-gradient(90deg,#e5e7eb 1px,transparent 1px) 0 0/14px 100%;gap:3px}.lk-classic i{border-radius:0;border-color:#cbd5e1}.lk-classic i:first-child{background:var(--accent);border:0}
.lk-soft{background:#effaf8;border-color:#d9efeb;border-radius:12px}.lk-soft i{border:0;border-radius:8px;box-shadow:0 2px 5px rgba(15,23,42,.1)}.lk-soft i:first-child{background:#99f6e4;border-radius:99px;box-shadow:none;width:60%}
.dz-usebox{margin-top:6px;padding:16px;border:2px solid var(--accent);border-radius:var(--r);background:#f6fbfa}
.dz-ctl .dz-nav{margin-top:14px}
@media (max-width:980px){
  .dz-p3{grid-template-columns:minmax(0,1fr)}
  .dz-p3 .dz-preview{order:-1;position:static}
  .dz-p3 .pv-sheet{height:480px;min-height:0}
  .dz-pvt{display:inline-block}
}
@media (max-width:640px){
  .dz-pg{padding:16px}.dz-pg[data-pg="3"]{padding:14px}
  .dz-h{font-size:1.25rem}
  .dz-bigs{grid-template-columns:minmax(0,1fr);gap:12px}.dz-big{padding:18px}
  .pg-t{font-size:.78rem}.pg-n{width:26px;height:26px;font-size:.85rem}.dz-prog button{gap:6px;flex-direction:column;align-items:flex-start}
  .dz-dgrid{grid-template-columns:minmax(0,1fr)}
  .dz-nav .btn{flex:1;text-align:center}
  .dz-p3 .pv-sheet{height:440px}
}

/* ---------- preview looks ---------- */
.pv{--acc:var(--t1);--acc2:var(--t2);--k-bg:#f8fafc;--k-card:#fff;--k-cardb:#e5e9ef;--k-rad:10px;--k-pad:12px;--k-gap:12px;--k-shadow:none;--k-ink:#1f2933;--k-mut:#64748b;--k-grid:#e8ecf1;--k-font:inherit;--k-num:#1f2933}
.pv-sheet{container-type:inline-size}
.pv .pv-dash{background:var(--k-bg);color:var(--k-ink);font-family:var(--k-font);padding:16px}
.pv-db{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--k-gap);grid-auto-flow:row dense}
.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s12{grid-column:span 12}
.pv-card{background:var(--k-card);border:1px solid var(--k-cardb);border-radius:var(--k-rad);padding:var(--k-pad);box-shadow:var(--k-shadow);min-width:0}
.pv-card h5{margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--k-ink)}
.pv-stat small{display:block;font-size:11px;font-weight:600;color:var(--k-mut)}
.pv-stat b{display:block;font-size:22px;line-height:1.2;margin:2px 0;color:var(--k-num);font-variant-numeric:tabular-nums}
.pv-stat>span{display:block;font-size:11.5px;color:var(--k-mut)}
.pv-hero{border-left:5px solid var(--acc)}.pv-hero b{font-size:30px;color:var(--acc)}.pv-hero .pv-pb{margin:8px 0 4px}
.t-good{color:#16a34a!important}.t-bad{color:#dc2626!important}.t-warn{color:#b45309!important}
.pv-svg{display:block;width:100%;height:auto;overflow:visible}
.pv-svg .tx{fill:var(--k-mut);font-size:9.5px}.pv-svg .tb{fill:var(--k-ink);font-weight:700;font-size:10px}
.pv-svg .gl{stroke:var(--k-grid);stroke-width:1}.pv-svg .goal{stroke:var(--k-ink);stroke-width:1.3;stroke-dasharray:4 3;opacity:.65}
.pv-svg .dot{fill:var(--k-card);stroke-width:1.8}.pv-svg .gtrack{stroke:var(--k-grid)}.pv-svg .gtick{stroke:var(--k-ink);stroke-width:3}
.pv-svg .gv{fill:var(--k-ink);font-size:26px;font-weight:800}
.pv-gauge{max-width:260px;margin:0 auto}
.pv-cap{margin:6px 0 0;font-size:11.5px;color:var(--k-mut);text-align:center}
.pv-donut{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pv-donut svg{width:118px;flex:none}
.pv-donut .dc1{fill:var(--k-ink);font-size:12.5px;font-weight:800}.pv-donut .dc2{fill:var(--k-mut);font-size:7.5px}
.pv .pv-legend{font-size:11.5px;line-height:1.75;color:var(--k-ink);flex:1;min-width:110px}.pv .pv-legend b{color:var(--k-mut);font-weight:600}
.pv-lg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:11px;color:var(--k-mut)}.pv-lg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.pv-pb{display:block;height:8px;border-radius:99px;background:var(--k-grid);overflow:hidden;min-width:70px}.pv-pb i{display:block;height:100%;border-radius:99px}
.pv-chip{display:inline-block;padding:0 8px;border-radius:99px;font-size:11px;font-weight:600;line-height:1.7;color:var(--k-ink);background:color-mix(in srgb,var(--cc) 18%,transparent);border:1px solid color-mix(in srgb,var(--cc) 45%,transparent)}
.pv-n{background:#e2e8f0;color:#334155}
.pv-tw{overflow-x:auto}
.pv .pv-mini{font-size:12px}.pv .pv-mini th{background:none;color:var(--k-mut);font-size:11px;font-weight:700;border-bottom:1.5px solid var(--k-cardb);padding:4px 8px}
.pv .pv-mini td{border-top:1px solid var(--k-grid);color:var(--k-ink);padding:5px 8px}.pv .pv-mini tbody tr:nth-child(even) td{background:none}
.pv-mini .pv-num{text-align:right}
/* horizontal bars, stock, leaderboard */
.hb-row{display:grid;grid-template-columns:minmax(80px,32%) minmax(0,1fr) auto;gap:10px;align-items:center;margin:7px 0;font-size:12px}
.hb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-l small{display:block;color:var(--k-mut);font-size:10.5px}
.hb-track{position:relative;height:14px;background:var(--k-grid);border-radius:4px}
.hb-fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.hb-goal,.sk-t b,.lb-bar b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--k-ink);opacity:.75}
.hb-v{font-weight:700;font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.hb-key{font-size:10.5px;color:var(--k-mut);margin-top:6px}.hb-key i{display:inline-block;width:2px;height:11px;background:var(--k-ink);margin-right:6px;vertical-align:-2px}
.sk-row{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr) 36px 64px;gap:10px;align-items:center;margin:7px 0;font-size:12px}
.sk-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sk-v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.sk-t{position:relative;height:12px;background:var(--k-grid);border-radius:4px}.sk-t i{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.sk-row .pv-pill{text-align:center}
.lb-n small{display:block;color:var(--k-mut);font-size:10.5px}
.lb-pts{display:flex;align-items:center;gap:8px}.lb-bar{position:relative;width:110px;overflow:visible}.lb-pts em{font-style:normal;font-weight:700}
/* bills calendar */
.pv-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cal-h{font-size:10.5px;font-weight:700;color:var(--k-mut);text-align:center;padding:2px 0}
.cal-d{min-height:50px;border:1px solid var(--k-grid);border-radius:5px;padding:2px 3px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cal-d em{font-style:normal;font-size:10.5px;color:var(--k-mut)}.cal-x{border:0}
.cal-today{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.cal-today em{color:var(--acc);font-weight:800}
.cal-b{font-style:normal;font-size:10px;line-height:1.35;padding:1px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-paid{background:#dcfce7;color:#166534}.cb-soon{background:#fef3c7;color:#92400e}.cb-later{background:#e0e7ff;color:#3730a3}.cb-late{background:#fee2e2;color:#991b1b}
.pv-lg i.cb-paid{background:#86efac}.pv-lg i.cb-soon{background:#fcd34d}.pv-lg i.cb-later{background:#a5b4fc}.pv-lg i.cb-late{background:#fca5a5}
/* savings, net worth, home, meals */
.gl-row{margin:0 0 12px}.gl-top,.gl-sub{display:flex;justify-content:space-between;gap:8px;font-size:12px}.gl-top span{font-variant-numeric:tabular-nums}
.gl-row .pv-pb{height:11px;margin:4px 0 3px}.gl-sub{font-size:10.5px;color:var(--k-mut)}
.avd-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 12px}
.avd-l{font-size:12px;color:var(--k-mut)}.avd-l b{display:block;font-size:17px;color:var(--k-ink)}
.avd-track{display:flex;height:30px;border-radius:6px;overflow:hidden;background:var(--k-grid)}.avd-track i{height:100%;border-right:2px solid var(--k-card)}
.pv-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rm{border:1px solid var(--k-grid);border-radius:calc(var(--k-rad) - 3px);padding:8px 10px}
.rm-h{display:flex;justify-content:space-between;border-bottom:2px solid var(--acc);padding-bottom:3px;margin-bottom:4px;font-size:12.5px}.rm-h span{font-weight:700}
.rm-i{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;color:var(--k-ink)}.rm-i span:last-child{font-variant-numeric:tabular-nums;color:var(--k-mut)}
.pv-meals{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ml-day{border:1px solid var(--k-grid);border-radius:calc(var(--k-rad) - 3px);padding:6px;display:flex;flex-direction:column;gap:5px;font-size:11.5px;min-width:0}
.ml-day>b{color:var(--acc);font-size:12px}
.ml-slot small{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--k-mut)}
.ml-din{font-weight:600}
.ml-need,.ml-have{font-style:normal;font-size:10px;font-weight:700;border-radius:99px;padding:0 6px;align-self:flex-start;margin-top:auto}
.ml-need{background:#fef3c7;color:#92400e}.ml-have{background:#dcfce7;color:#166534}
.pv-shop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.sh-g b{display:block;font-size:11.5px;color:var(--acc);margin-bottom:2px}
.sh-i{display:flex;align-items:center;gap:7px;font-size:12px;padding:2px 0}
.sh-i i{width:12px;height:12px;border:1.5px solid var(--k-mut);border-radius:3px;flex:none}
.sh-i.done{color:var(--k-mut);text-decoration:line-through}.sh-i.done i{background:var(--acc);border-color:var(--acc)}
/* returns, safety, KPI grid, hub */
.pv-s100{display:flex;height:30px;border-radius:6px;overflow:hidden;margin-bottom:4px}.pv-s100 i{display:flex;align-items:center;justify-content:center;height:100%}
.pv-s100 b{color:#fff;font-size:11px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.pv-s100+.pv-lg{margin-bottom:10px}
.pv-counter-card{display:flex;align-items:center;justify-content:center;text-align:center}
.pv-counter b{display:block;font-size:72px;line-height:1;font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums}
.pv-counter span{display:block;font-size:14px;font-weight:700;margin-top:6px}.pv-counter small{display:block;font-size:11.5px;color:var(--k-mut);margin-top:4px}
.pv-kgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kg-t{border:1px solid var(--k-grid);border-top:4px solid var(--kc);border-radius:calc(var(--k-rad) - 3px);padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.kg-t small{font-size:11px;color:var(--k-mut);font-weight:600}.kg-t b{font-size:20px;line-height:1.2}.kg-t span{font-size:10.5px;color:var(--k-mut)}
.kg-t .pv-pill{align-self:flex-start;margin-top:2px}
.pv-spark{width:100%;height:26px;display:block}
.pv-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}
.pv-flow span{background:color-mix(in srgb,var(--acc) 12%,transparent);color:var(--k-ink);border:1px solid color-mix(in srgb,var(--acc) 35%,transparent);border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:600}
.pv-flow i{font-style:normal;color:var(--k-mut)}.pv-flow .fl-end{background:var(--acc);color:#fff;border-color:var(--acc)}
.pv-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.hub-t{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;font:inherit;color:var(--k-ink);background:var(--k-card);border:1px solid var(--k-cardb);border-left:4px solid var(--acc);border-radius:calc(var(--k-rad) - 3px);padding:9px 10px}
button.hub-t{cursor:pointer}button.hub-t:hover{background:color-mix(in srgb,var(--acc) 8%,var(--k-card))}
.hub-t b{font-size:13px}.hub-t small{font-size:10.5px;color:var(--k-mut)}
.pv-tab.main::before{content:"\2605 ";color:var(--t1)}
/* narrow preview: stack */
@container (max-width:680px){
  .pv-db>.pv-card{grid-column:span 12}.pv-db>.pv-stat{grid-column:span 6}
  .pv-kgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-meals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-rooms,.pv-shop{grid-template-columns:minmax(0,1fr)}
  .pv-counter b{font-size:58px}
}
@container (max-width:400px){
  .pv .pv-dash{padding:10px}
  .pv-db>.pv-stat{grid-column:span 12}
  .cal-b{font-size:0;height:6px;padding:0}.cal-d{min-height:34px}
  .sk-row{grid-template-columns:minmax(70px,34%) minmax(0,1fr) 30px;}.sk-row .pv-pill{display:none}
  .avd-row{grid-template-columns:minmax(0,1fr)}
}

/* look: Clean & light */
.pv.look-clean{--k-bg:#fff;--k-card:#fff;--k-cardb:#edf0f4;--k-rad:8px;--k-pad:14px;--k-gap:14px}
.pv.look-clean .pv-dtitle{background:none;color:var(--k-ink);border-radius:0;border-bottom:3px solid var(--acc);padding:2px 0 10px;margin-bottom:16px}
.pv.look-clean .pv-dtitle span{color:var(--k-mut);opacity:1}.pv.look-clean .pv-refresh{background:var(--acc);color:#fff}
.pv.look-clean .pv-card h5{font-weight:600;color:var(--k-mut)}
/* look: Bold dark */
.pv.look-dark{--k-bg:#0b1220;--k-card:#131c2e;--k-cardb:#1f2a40;--k-rad:10px;--k-pad:14px;--k-gap:12px;--k-ink:#e5e7eb;--k-mut:#94a3b8;--k-grid:#24324a;--k-num:#f8fafc}
.pv.look-dark .pv-dtitle{background:linear-gradient(90deg,var(--acc),transparent 80%);color:#fff;border-radius:8px}
.pv.look-dark .pv-refresh{background:var(--acc);color:#0b1220}
.pv.look-dark .pv-card h5,.pv.look-dark .pv-stat small{text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;color:var(--k-mut)}
.pv.look-dark .pv-stat b{font-size:28px;font-weight:800}.pv.look-dark .pv-hero b{font-size:36px}
.pv.look-dark .t-good{color:#4ade80!important}.pv.look-dark .t-bad{color:#f87171!important}.pv.look-dark .t-warn{color:#fbbf24!important}
.pv.look-dark .pv-g{background:rgba(74,222,128,.16);color:#86efac}.pv.look-dark .pv-a{background:rgba(251,191,36,.16);color:#fcd34d}.pv.look-dark .pv-r{background:rgba(248,113,113,.18);color:#fca5a5}.pv.look-dark .pv-n{background:#24324a;color:#cbd5e1}
.pv.look-dark .cb-paid{background:rgba(74,222,128,.18);color:#86efac}.pv.look-dark .cb-soon{background:rgba(251,191,36,.18);color:#fcd34d}.pv.look-dark .cb-later{background:rgba(129,140,248,.2);color:#c7d2fe}.pv.look-dark .cb-late{background:rgba(248,113,113,.2);color:#fca5a5}
.pv.look-dark .ml-need{background:rgba(251,191,36,.18);color:#fcd34d}.pv.look-dark .ml-have{background:rgba(74,222,128,.16);color:#86efac}
.pv.look-dark .pv-flow .fl-end{color:#0b1220}
.pv.look-dark .pv-sheet{background:#0b1220}
.pv.look-dark .pv-grid td{background:#0f172a;color:#e2e8f0;border-color:#1e293b}
.pv.look-dark .pv-grid thead th,.pv.look-dark .pv-rn{background:#162033;color:#94a3b8;border-color:#1e293b}
.pv.look-dark .pv-band td{background:#131c2e}.pv.look-dark .pv-grid td.pv-calc{background:#1b2638;color:#cbd5e1}.pv.look-dark .pv-grid td.pv-in{background:#2a2410}
.pv.look-dark .pv-grid td.pv-h{background:var(--acc);color:#0b1220}
.pv.look-dark .pv-steps,.pv.look-dark .pv-key{background:#131c2e;border-color:#1f2a40;color:#e5e7eb}.pv.look-dark .pv-key i{background:#0f172a;border-color:#334155}
.pv.look-dark .pv-empty{color:#94a3b8}.pv.look-dark .pv-rawnote{background:#2a2410;color:#fde68a;border-color:#5c4400}
.pv.look-dark .pv-tabs{background:#0f172a;border-color:#1e293b}.pv.look-dark .pv-tab{color:#94a3b8}.pv.look-dark .pv-tab:hover{background:#162033}.pv.look-dark .pv-tab.on{background:#131c2e;color:var(--acc);border-bottom-color:var(--acc)}
.pv.look-dark .pv-fx{background:#0f172a;border-color:#1e293b}.pv.look-dark .pv-ref,.pv.look-dark .pv-fxl{border-color:#1e293b;color:#94a3b8}.pv.look-dark .pv-formula{color:#cbd5e1}
.pv.look-dark .pv-printtag{background:#131c2e;color:#cbd5e1;border-color:#334155}
/* look: Classic spreadsheet */
.pv.look-classic{--k-bg:#fff;--k-card:#fff;--k-cardb:#c8cdd3;--k-rad:0px;--k-pad:8px;--k-gap:8px;--k-font:Calibri,Carlito,"Segoe UI",Arial,sans-serif;--k-grid:#e3e6ea}
.pv.look-classic .pv-dash{background-image:linear-gradient(#eef0f3 1px,transparent 1px),linear-gradient(90deg,#eef0f3 1px,transparent 1px);background-size:72px 22px;padding:10px}
.pv.look-classic .pv-dtitle{border-radius:0;background:var(--t1);padding:7px 10px;margin-bottom:8px}
.pv.look-classic .pv-card{padding:0 0 6px}
.pv.look-classic .pv-card h5{background:#f1f3f5;border-bottom:1px solid var(--k-cardb);margin:0 0 6px;padding:4px 8px;font-size:12px}
.pv.look-classic .pv-card>:not(h5){margin-left:8px;margin-right:8px}
.pv.look-classic .pv-stat{padding:6px 8px;border-top:3px solid var(--t1)}.pv.look-classic .pv-stat>*{margin-left:0!important;margin-right:0!important}
.pv.look-classic .pv-stat b{font-size:19px}.pv.look-classic .pv-hero{border-left-width:1px}.pv.look-classic .pv-hero b{font-size:24px}
.pv.look-classic .pv-mini th{background:var(--t1);color:#fff;border:1px solid var(--t1)}.pv.look-classic .pv-mini td{border:1px solid #e3e6ea;padding:3px 8px}
.pv.look-classic .pv-mini tbody tr:nth-child(even) td{background:var(--tint)}
.pv.look-classic .pv-pb,.pv.look-classic .pv-pb i,.pv.look-classic .hb-track,.pv.look-classic .hb-fill,.pv.look-classic .sk-t,.pv.look-classic .sk-t i,.pv.look-classic .pv-pill,.pv.look-classic .pv-chip,.pv.look-classic .cal-d,.pv.look-classic .avd-track,.pv.look-classic .pv-s100{border-radius:0}
/* look: Soft & friendly */
.pv.look-soft{--k-bg:var(--tint);--k-card:#fff;--k-cardb:transparent;--k-rad:18px;--k-pad:16px;--k-gap:14px;--k-shadow:0 4px 14px rgba(15,23,42,.07);--k-font:ui-rounded,"SF Pro Rounded","Nunito","Varela Round","Segoe UI",system-ui,sans-serif}
.pv.look-soft .pv-dtitle{display:inline-flex;background:var(--acc);border-radius:99px;padding:8px 20px;margin-bottom:16px;gap:16px}
.pv.look-soft .pv-dtitle b{font-size:15px}
.pv.look-soft .pv-dtitle+.pv-db{clear:both}
.pv.look-soft .pv-hero{border-left:0;background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 14%,#fff),#fff)}
.pv.look-soft .pv-svg .br{rx:4px}
.pv.look-soft .hb-track,.pv.look-soft .hb-fill,.pv.look-soft .sk-t,.pv.look-soft .sk-t i{border-radius:99px}
.pv.look-soft .pv-mini th{border-bottom:0}.pv.look-soft .pv-mini td{border-top:0}.pv.look-soft .pv-mini tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--acc) 6%,#fff)}
.pv.look-soft .pv-mini tbody tr td:first-child{border-radius:8px 0 0 8px}.pv.look-soft .pv-mini tbody tr td:last-child{border-radius:0 8px 8px 0}
.pv.look-soft .rm,.pv.look-soft .ml-day,.pv.look-soft .kg-t,.pv.look-soft .cal-d{border-color:transparent;background:color-mix(in srgb,var(--acc) 6%,#fff)}
.pv.look-soft .pv-steps,.pv.look-soft .pv-key{border-radius:16px;border:0;box-shadow:0 4px 14px rgba(15,23,42,.07)}
.dz-ph{flex-wrap:wrap}.dz-ph h2{white-space:nowrap}.dz-pvt{white-space:nowrap;padding:4px 0}
@media (max-width:640px){.dz-ph h2{font-size:1.1rem}.dz-ph .dz-tag{font-size:.68rem;padding:1px 8px}}

/* ---------- combined quote flow (index.html #quote) ---------- */
#intake [hidden]{display:none!important}
.quote-in,#intake,#thanks{max-width:760px;margin-left:auto;margin-right:auto}
#intake.wide{max-width:none}
.sub.small{font-size:.92rem}
.progress li{flex:1;text-align:center;line-height:1.25}
.progress li.done{color:var(--ink)}
.progress li.skip{opacity:.4;text-decoration:line-through}
.step h3{outline:0}
.step-sub{color:var(--muted);margin:-6px 0 16px}
.step .dz-mode{margin:0 0 6px}
.step .dz-p1randy{margin:12px 0 0}
.step .dz-quick{margin:22px 0 4px}
.dz-qbtns{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.dz-qhint{font-size:.88rem;color:var(--muted);margin:10px 0 0!important}
.step .dz-msg:empty{display:none}
.step .dz-msg{color:var(--err);font-weight:600;margin:8px 0 14px}
#qService{margin-top:20px}
.lk-gate{border:2px solid var(--accent);background:#effaf8;border-radius:var(--r);padding:20px}
.lk-gate p{margin:0 0 14px}
.lk-btns{display:flex;flex-wrap:wrap;gap:10px}
.lk-skipped,.skip-note{background:var(--alt);border:1px dashed #b8c0c8;border-radius:8px;padding:12px 14px;margin:0 0 18px}
.dz-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 0}
.dz-sumd summary{cursor:pointer;font-weight:600}
.dz-sumd pre{white-space:pre-wrap;word-break:break-word;font-size:.82rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;max-height:320px;overflow:auto}
.review{border:1px solid var(--line);border-radius:var(--r);padding:16px;background:var(--alt);margin:6px 0 18px}
.review p{margin:0 0 8px}.review .dz-next{margin:8px 0 0;font-size:.92rem}
@media (max-width:980px){#intake.wide{max-width:760px}}
@media (max-width:640px){
  .progress{gap:2px}.progress li{font-size:.66rem}
  .lk-btns .btn{flex:1;text-align:center}
  .step .dz-tools{padding:8px 10px}
}
/* ---------- consulting page + consulting option in the quote ---------- */
nav a[aria-current="page"]{color:var(--accent);font-weight:600}
.cards-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cards-4 .card{display:flex;flex-direction:column}
.card-link{margin-top:auto;padding-top:14px}
.area-list{padding-left:20px}.area-list li{margin-bottom:8px}
.cta-box{border:2px solid var(--accent);background:#effaf8;border-radius:var(--r);padding:28px}
.cta-box h2{font-size:1.5rem}.cta-box p{margin:.3em 0 0}.cta-box .cta{margin:18px 0 0}
.consult-teaser{display:flex;gap:24px;align-items:center;justify-content:space-between;border:2px solid var(--accent);background:#effaf8;border-radius:var(--r);padding:24px}
.consult-teaser h2{font-size:1.4rem}.consult-teaser p{margin:.3em 0 0;color:var(--muted)}
.consult-teaser .btn{flex:none}
.dz-bigs.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dz-bigs.three .dz-big{padding:22px 18px}.dz-bigs.three .dz-big strong{font-size:1.2rem}
@media (max-width:640px){
  .dz-bigs.three{grid-template-columns:minmax(0,1fr);gap:12px}.dz-bigs.three .dz-big{padding:18px}
  .consult-teaser{flex-direction:column;align-items:flex-start}
  .cta-box{padding:20px}
}

/* Bundles */
.card .parts{margin:-4px 0 12px;font-size:.92rem;color:var(--muted)}
.bundle-block{margin-top:28px;border:2px solid var(--accent);background:#effaf8;border-radius:var(--r);padding:24px}
.bundle-block h3{margin:0 0 6px;font-size:1.25rem}
.bundle-block p{margin:.4em 0}
.bundle-block ul{padding-left:20px;margin:.6em 0;color:var(--ink)}
.bundle-block li{margin:.35em 0}
@media (max-width:640px){.bundle-block{padding:18px}}
