/* Savant Client Ledger — client progress page (scoped to .scl-progress) */
.scl-progress{
	--scl-ink:#1f1c19; --scl-muted:#6a645c; --scl-faint:#9a938a; --scl-line:#e8e1d6; --scl-card:#ffffff;
	--scl-ground:#faf6f0; --scl-bronze:#a0703a; --scl-bronze-deep:#8a5c2a; --scl-bronze-soft:#f4e7d6; --scl-icon-bg:#f3ebe0;
	--scl-dark:#2b2520; --scl-ok:#3f7a55; --scl-ok-soft:#e4f0e7; --scl-gray-soft:#eeebe6;
	--scl-serif:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
	--scl-sans:"Source Sans 3","Source Sans Pro",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--scl-script:"Allura","Snell Roundhand","Segoe Script",cursive;
	position:relative; display:grid; gap:20px; width:min(880px, calc(100vw - 32px)); max-width:none!important; margin-top:0; margin-bottom:40px; left:50%; transform:translateX(-50%);
	color:var(--scl-ink); font:400 16px/1.55 var(--scl-sans);
}
.scl-progress *{box-sizing:border-box}
.scl-progress h2,.scl-progress h3,.scl-progress h4,.scl-progress p,.scl-progress ul,.scl-progress ol{margin:0;padding:0}
.scl-progress svg{display:block}
.scl-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* Hero */
.scl-p-hero{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;min-height:150px}
.scl-p-intro{position:relative;z-index:1;max-width:560px}
.scl-p-intro h2{font:500 clamp(1.55rem,3.2vw,2.05rem)/1.2 var(--scl-serif);letter-spacing:-.01em;text-wrap:balance;color:var(--scl-ink)}
.scl-p-intro p{margin-top:6px;color:var(--scl-muted);font-size:1.02rem}
.scl-p-art{position:relative;flex:0 0 330px;height:190px;margin-bottom:-6px}
.scl-p-bars{position:absolute;inset:auto 70px 0 0;width:calc(100% - 70px);height:100%}
.scl-p-words{position:absolute;top:0;right:0;list-style:none;border-left:1px solid #d8c4a8;padding-left:12px!important}
.scl-p-words li{font:400 .66rem/2.2 var(--scl-serif);letter-spacing:.32em;text-transform:uppercase;color:#b8a488}
.scl-p-script{position:absolute;right:-6px;bottom:6px;font:400 2rem/1 var(--scl-script);color:var(--scl-bronze);transform:rotate(-14deg);text-align:right;opacity:.9}
@media (max-width:700px){.scl-p-art{display:none}.scl-p-hero{min-height:0}}

/* Summary card */
.scl-p-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px 28px;background:var(--scl-card);border:1px solid var(--scl-line);border-radius:12px;padding:22px 28px;box-shadow:0 1px 2px rgba(60,40,20,.04),0 8px 24px -12px rgba(60,40,20,.12)}
.scl-p-now{display:grid;gap:2px;padding-right:28px;border-right:1px solid var(--scl-line)}
.scl-p-eyebrow{font:600 .68rem/1.4 var(--scl-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--scl-muted)}
.scl-p-stage{font:500 2rem/1.15 var(--scl-serif);color:var(--scl-ink)}
.scl-p-daytext{font:400 1.3rem/1.3 var(--scl-serif);color:var(--scl-ink)}
.scl-p-meter{display:grid;gap:12px;min-width:0}
.scl-p-track{height:14px;border-radius:999px;background:#e6e2dc;overflow:hidden}
.scl-p-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b6874f,var(--scl-bronze))}
.scl-p-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font:600 .66rem/1.4 var(--scl-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--scl-muted)}
.scl-p-live{display:inline-flex;align-items:center;gap:8px;color:var(--scl-ink)}
.scl-p-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--scl-bronze)}
.scl-p-sep{margin:0 10px;color:var(--scl-faint)}
.scl-p-pct{display:grid;justify-items:end;gap:2px;color:var(--scl-ink);font-size:.95rem}
.scl-p-num{font:500 1.85rem/1 var(--scl-serif);color:var(--scl-bronze);font-variant-numeric:tabular-nums}
@media (max-width:720px){
	.scl-p-summary{grid-template-columns:1fr auto;padding:20px}
	.scl-p-now{border-right:0;padding-right:0}
	.scl-p-meter{grid-column:1/-1;grid-row:2}
	.scl-p-pct{grid-row:1;grid-column:2;align-self:start}
	.scl-p-pct span:not(.scl-p-num){display:none}
}

/* Stepper */
.scl-p-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:4px 0 2px!important}
.scl-p-steps li{position:relative;display:grid;justify-items:center;text-align:center;gap:4px;margin:0}
.scl-p-steps li+li::before{content:"";position:absolute;top:17px;right:calc(50% + 26px);left:calc(-50% + 26px);height:1.5px;background:var(--scl-bronze);opacity:.75}
.scl-p-steps li.is-ahead::before{background:#d9d3cb;opacity:1}
.scl-p-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:500 1rem/1 var(--scl-serif);border:1.5px solid #cfc7bc;background:var(--scl-card);color:var(--scl-muted)}
.scl-p-dot svg{width:18px;height:18px;stroke-width:2.4}
.is-done .scl-p-dot{background:var(--scl-bronze);border-color:var(--scl-bronze);color:#fff}
.is-skipped .scl-p-dot{background:#c9a57c;border-color:#c9a57c;color:#fff}
.is-current .scl-p-dot{background:var(--scl-dark);border-color:var(--scl-dark);color:#fff;box-shadow:0 0 0 3px var(--scl-ground),0 0 0 4.5px var(--scl-bronze)}
.scl-p-sname{font:500 1.05rem/1.25 var(--scl-serif);color:var(--scl-ink);margin-top:6px}
.scl-p-sstate{font-size:.9rem;color:var(--scl-muted)}
.is-current .scl-p-sstate{color:var(--scl-bronze-deep)}
@media (max-width:560px){.scl-p-sname{font-size:.9rem}.scl-p-sstate{font-size:.78rem}.scl-p-steps li+li::before{right:calc(50% + 20px);left:calc(-50% + 20px)}}

/* Cards */
.scl-p-card{background:var(--scl-card);border:1px solid var(--scl-line);border-radius:12px;box-shadow:0 1px 2px rgba(60,40,20,.04),0 8px 24px -14px rgba(60,40,20,.12)}
.scl-p-icon{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--scl-icon-bg);display:grid;place-items:center;color:var(--scl-dark)}
.scl-p-icon svg{width:26px;height:26px}
.scl-p-stagecard summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:16px 22px}
.scl-p-stagecard summary::-webkit-details-marker{display:none}
.scl-p-stagecard summary:focus-visible{outline:2px solid var(--scl-bronze);outline-offset:3px;border-radius:12px}
.scl-p-title{flex:1;font:500 1.4rem/1.25 var(--scl-serif);color:var(--scl-ink)}
.scl-p-price{flex:0 0 auto;background:var(--scl-bronze-soft);color:var(--scl-bronze-deep);font:500 1rem/1 var(--scl-serif);padding:9px 22px;border-radius:999px;white-space:nowrap}
.scl-p-chev{flex:0 0 auto;color:var(--scl-ink);transition:transform .2s ease}
.scl-p-chev svg{width:22px;height:22px}
.scl-p-stagecard[open] .scl-p-chev{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.scl-p-chev{transition:none}}
@media (max-width:600px){
	.scl-p-stagecard summary{flex-wrap:wrap;gap:10px 14px;padding:14px 16px}
	.scl-p-icon{width:44px;height:44px}.scl-p-icon svg{width:22px;height:22px}
	.scl-p-title{font-size:1.2rem}
	.scl-p-price{order:4;margin-left:58px;font-size:.9rem;padding:7px 14px}
}

.scl-p-cols{display:grid;grid-template-columns:1fr;gap:22px;padding:6px 32px 28px}
@media (min-width:720px){.scl-p-cols{grid-template-columns:1fr 1fr;gap:0}.scl-p-cols>div:first-child{padding-right:32px;border-right:1px solid #eadfce}.scl-p-cols>div:last-child{padding-left:36px}}
@media (max-width:600px){.scl-p-cols{padding:4px 16px 20px}}
.scl-p-cols h4{font:600 .7rem/1.4 var(--scl-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--scl-ink);margin-bottom:16px}
.scl-p-cols h4::after{content:"";display:block;width:28px;height:1.5px;background:var(--scl-bronze);margin-top:7px}
.scl-p-list{list-style:none;display:grid;gap:11px}
.scl-p-list li{display:flex;gap:14px;align-items:flex-start;margin:0;color:#3a352f;font-size:1rem;line-height:1.4}
.scl-p-mark{flex:0 0 22px;width:22px;height:22px;margin-top:-1px;border-radius:50%;border:1.5px solid #cdc5ba;display:grid;place-items:center;color:#fff}
.scl-p-mark svg{width:13px;height:13px;stroke-width:3}
.scl-p-list li.is-done .scl-p-mark{background:var(--scl-bronze-deep);border-color:var(--scl-bronze-deep)}

/* Decision log */
.scl-p-log{padding:18px 24px 24px;display:grid;gap:16px}
.scl-p-cardhead{display:flex;gap:18px;align-items:center}
.scl-p-cardhead h3{font:500 1.5rem/1.2 var(--scl-serif);color:var(--scl-ink)}
.scl-p-cardhead p{color:#4a443d;margin-top:2px}
.scl-p-none{color:var(--scl-muted)}
.scl-p-table{overflow-x:auto;border:1px solid var(--scl-line);border-radius:8px}
.scl-p-table table{width:100%;border-collapse:collapse;margin:0;font-size:.97rem;border:0}
.scl-p-table th,.scl-p-table td{text-align:left;padding:12px 16px;border:0;border-bottom:1px solid var(--scl-line);vertical-align:middle;background:transparent}
.scl-p-table thead th{background:#f7f3ed;font:500 1rem/1.3 var(--scl-serif);color:var(--scl-ink);white-space:nowrap}
.scl-p-table tbody tr:last-child td{border-bottom:0}
.scl-p-nowrap{white-space:nowrap}
.scl-p-tag{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.88rem;font-weight:600;line-height:1.3;background:var(--scl-bronze-soft);color:var(--scl-bronze-deep)}
.scl-p-tag.is-accepted{background:var(--scl-ok-soft);color:var(--scl-ok)}
.scl-p-tag.is-declined,.scl-p-tag.is-deferred{background:var(--scl-gray-soft);color:var(--scl-muted)}

.scl-p-empty{padding:28px;background:var(--scl-card);border:1px solid var(--scl-line);border-radius:12px}

/* Warm page ground on the progress page only (browsers without :has keep the theme background) */
body:has(.scl-progress){background-color:#faf6f0}

@media (max-width:600px){
	.scl-p-table{border:0}
	.scl-p-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
	.scl-p-table tr{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--scl-line);border-radius:8px;margin-bottom:10px}
	.scl-p-table td{display:flex;justify-content:space-between;gap:12px;padding:2px 0;border:0;white-space:normal;text-align:right}
	.scl-p-table td::before{content:attr(data-label);font-weight:600;color:var(--scl-muted);text-align:left}
	.scl-p-log{padding:16px}
	.scl-p-cardhead .scl-p-icon{display:none}
}
