/* Self-contained material workflow; no layout or typography from .steps is required. */
.workflow.steps--material { list-style:none; padding:0; margin:35px 0 0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; font-family:var(--font-body,Inter,system-ui,sans-serif); line-height:1.5; }
.workflow.steps--material,.workflow.steps--material * { box-sizing:border-box; }
.workflow.steps--material .step { position:relative; grid-column:span 2; display:flex; flex-direction:column; overflow:hidden; border:1px solid #627c895c; border-radius:16px; background:radial-gradient(ellipse at 0 0,#34536b66,transparent 72%),linear-gradient(130deg,#0e2846,#06162e); box-shadow:inset 0 1px 0 #ffffff0c; }
.workflow.steps--material .step--wide { grid-column:span 3; }
.workflow .step__copy { position:relative; min-width:0; }
.workflow .step__n { color:#b59c6d; font-size:12px; font-weight:400; letter-spacing:.06em; }
.workflow.steps--material .step h3 { color:#edf0e9; font-size:19px; font-weight:500; line-height:1.3; letter-spacing:-.025em; margin:12px 0 0; }
.workflow.steps--material .step p { color:#acbbc2; font-size:13px; line-height:1.6; margin:7px 0 0; }
[data-theme="light"] .workflow.steps--material .step { background:linear-gradient(145deg,#fffefa,#f0efeb); border-color:#e2ded5; box-shadow:inset 0 1px 0 #fff; }
[data-theme="light"] .workflow.steps--material .step h3 { color:#0e2846; }
[data-theme="light"] .workflow.steps--material .step p { color:#66767c; }
[data-theme="light"] .workflow.steps--material .step:last-child { background:radial-gradient(ellipse at 0 0,#34536b66,transparent 72%),linear-gradient(130deg,#0e2846,#06162e); border-color:#627c895c; box-shadow:inset 0 1px 0 #ffffff0c; }
[data-theme="light"] .workflow.steps--material .step:last-child h3 { color:#edf0e9; }
[data-theme="light"] .workflow.steps--material .step:last-child p { color:#acbbc2; }
.workflow { --wf-ink:#edf0e9; --wf-muted:#acbbc2; --wf-line:#a2b1b52e; --wf-brass:#c9b17f; --wf-surface:#071b2880; --wf-input:#0e2846; }
.workflow.steps--material .step { padding:28px; gap:26px; min-width:0; min-height:0; }
.workflow.steps--material .step--wide { padding:28px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:24px; }
.workflow .workflow__screen { position:relative; min-width:0; width:100%; margin-top:auto; color:var(--wf-ink); padding:18px; border:1px solid var(--wf-line); border-radius:9px; background:var(--wf-surface); box-shadow:inset 0 1px 0 #ffffff08,0 8px 20px #0000000c; font-size:13px; font-variant-numeric:tabular-nums; }
.workflow .workflow__caption { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:25px; padding-bottom:13px; margin-bottom:4px; border-bottom:1px solid var(--wf-line); font-size:12px; color:var(--wf-muted); }
.workflow .workflow__caption>span:first-child { color:var(--wf-brass); }
.workflow .workflow__table { width:100%; border-collapse:collapse; table-layout:auto; }
.workflow .workflow__table th { font-size:12px; font-weight:400; color:var(--wf-muted); padding:12px 0 7px; text-align:left; }
.workflow .workflow__table td { padding:12px 0; border-bottom:1px solid var(--wf-line); vertical-align:middle; }
.workflow .workflow__table th:last-child,.workflow .workflow__table td:last-child { text-align:right; white-space:nowrap; padding-left:8px; }
.workflow .workflow__table small { display:block; margin-top:4px; color:var(--wf-muted); font-size:12px; }
.workflow select { color:var(--wf-ink); background:var(--wf-input); border:1px solid #c9b17f70; border-radius:4px; padding:6px 4px; font:inherit; font-size:12px; max-width:100%; cursor:pointer; }
.workflow select:focus-visible,.workflow button:focus-visible { outline:2px solid var(--wf-brass); outline-offset:4px; }
.workflow .workflow__hint { margin-top:14px; font-size:12px; line-height:1.6; color:var(--wf-muted); }
.workflow .workflow__matrix>div { display:grid; grid-template-columns:1fr auto; gap:7px; padding:12px 0; }
.workflow .workflow__matrix .workflow__matrix-head { font-size:12px; color:var(--wf-muted); padding-bottom:0; }
.workflow .workflow__matrix strong { font-weight:500; }
.workflow .workflow__matrix i { grid-column:1/-1; height:5px; border-radius:5px; background:linear-gradient(to right,var(--wf-brass) var(--allocation),#b4c4ce16 var(--allocation)); }
.workflow .workflow__total { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; border-top:1px solid var(--wf-line); padding-top:14px; margin-top:9px; font-size:12px; color:var(--wf-muted); }
.workflow .workflow__total strong { color:var(--wf-ink); font-size:17px; font-weight:500; }
.workflow .workflow__total--price { border:0; margin-top:0; }
.workflow .workflow__total--price strong { color:var(--wf-brass); }
.workflow .workflow__document { margin-top:0; border-top-color:#c9b17f80; }
.workflow .workflow__document dl { margin:14px 0 20px; }
.workflow .workflow__document dl div { display:flex; justify-content:space-between; gap:8px; margin:11px 0; }
.workflow .workflow__document dt { color:var(--wf-muted); }
.workflow .workflow__document dd { margin:0; }
.workflow .workflow__document button { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:11px 12px; color:var(--wf-ink); background:linear-gradient(145deg,#c9b17f20,#c9b17f08); border:1px solid #c9b17f65; border-radius:5px; font:inherit; font-size:12px; text-align:left; cursor:pointer; }
.workflow .workflow__document button:disabled { cursor:default; opacity:.75; }
.workflow .workflow__document-note { display:block; font-size:12px; line-height:1.5; margin-top:10px; color:var(--wf-muted); }
.workflow .workflow__status { font-size:12px; }
.workflow .workflow__economics { margin-top:0; }
.workflow .workflow__margin { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:18px; }
.workflow .workflow__margin span { font-size:12px; color:var(--wf-muted); }
.workflow .workflow__margin strong { font-size:34px; letter-spacing:-.04em; font-weight:500; color:var(--wf-brass); }
.workflow .workflow__waterfall>div { display:grid; grid-template-columns:1fr auto; gap:7px; margin-top:11px; font-size:12px; }
.workflow .workflow__waterfall strong { font-weight:400; }
.workflow .workflow__waterfall i { grid-column:1/-1; display:block; height:5px; background:#b4c4ce12; border-radius:4px; overflow:hidden; }
.workflow .workflow__waterfall b { display:block; height:100%; background:#849ba8; border-radius:4px; transition:width .25s,margin-left .25s; }
.workflow .workflow__waterfall>div:first-child b,.workflow .workflow__waterfall>div:last-child b { background:linear-gradient(180deg,#decea6,#aa8c57); }
.workflow .workflow__sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
[data-theme="light"] .workflow { --wf-ink:#0e2846; --wf-muted:#66767c; --wf-line:#81735332; --wf-brass:#91713d; --wf-surface:#fffdf8b8; --wf-input:#f5f2e9; }
[data-theme="light"] .workflow.steps--material .step:last-child { --wf-ink:#edf0e9; --wf-muted:#acbbc2; --wf-line:#a2b1b52e; --wf-brass:#c9b17f; --wf-surface:#071b2880; }
@media(max-width:1040px) { .workflow.steps--material { grid-template-columns:repeat(2,minmax(0,1fr)); } .workflow.steps--material .step { grid-column:span 1; } .workflow.steps--material .step:last-child { grid-column:1/-1; } .workflow.steps--material .step--wide { display:flex; flex-direction:column; align-items:stretch; } .workflow.steps--material .step:last-child { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
@media(max-width:680px) { .workflow.steps--material { grid-template-columns:minmax(0,1fr); } .workflow.steps--material .step,.workflow.steps--material .step:last-child { grid-column:1; } .workflow.steps--material .step,.workflow.steps--material .step--wide,.workflow.steps--material .step:last-child { display:flex; flex-direction:column; align-items:stretch; padding:20px; min-height:0; gap:20px; } .workflow .workflow__screen { padding:14px; } }
@media(prefers-reduced-motion:reduce) { .workflow .workflow__waterfall b { transition:none; } }
