/* The workbench: a left rail that stays put, and a reading column beside it.
   Frank, 1 October 2026: "on the left there should be a process now". */

:root{--blue:#3DB3E5;--ink:#173049;--gold:#EDAA02;--grey:#5F6B75;--line:#E3E9EE;
      --red:#C0392B;--green:#1E7A45;--wash:#F7FAFC}
*{box-sizing:border-box}
body{margin:0;background:#F4F7F9;color:#20251F;
     font:16px/1.65 'Maven Pro',Segoe UI,Arial,sans-serif}

.shell{display:flex;align-items:flex-start;min-height:100vh}

/* ---- the left rail ---- */
aside{flex:0 0 250px;background:var(--ink);color:#fff;min-height:100vh;
      position:sticky;top:0;padding:24px 0 30px}
aside .brand{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
             font-weight:700;padding:0 22px}
aside .aside-title{font-size:17px;font-weight:700;line-height:1.3;padding:8px 22px 20px;color:#fff}
aside nav{display:flex;flex-direction:column}
aside .grp{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6E8EA6;
           font-weight:600;padding:16px 22px 6px}
aside a{color:#C9D9E4;text-decoration:none;font-size:14.5px;padding:8px 22px;border-left:3px solid transparent}
aside a:hover{color:#fff;background:rgba(255,255,255,.05)}
aside a.on{color:#fff;font-weight:600;border-left-color:var(--gold);background:rgba(255,255,255,.07)}
aside .aside-foot{margin-top:26px;padding:16px 22px 0;border-top:1px solid rgba(255,255,255,.12);
                  font-size:12px;color:#7D98AD;line-height:1.6}

/* ---- the reading column ---- */
main{flex:1;max-width:900px;padding:34px 40px 80px}
.eyebrow{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);
         font-weight:600;margin:0 0 6px}
h1{margin:0 0 10px;font-size:33px;line-height:1.15;color:var(--ink);font-weight:700}
.lede{color:var(--grey);font-size:17px;margin:0 0 24px;max-width:640px}
section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 26px;margin-bottom:18px}
h2{margin:0 0 6px;font-size:21px;color:var(--ink);font-weight:700}
h2+.sub{margin:0 0 14px;color:var(--grey);font-size:14.5px}
h3{margin:22px 0 6px;font-size:16.5px;color:var(--ink)}
p{margin:0 0 12px}
.q{font-size:12.5px;color:var(--grey)}

table{width:100%;border-collapse:collapse;font-size:14.5px;margin:12px 0}
th{text-align:left;background:var(--wash);color:var(--grey);font-size:11.5px;letter-spacing:.06em;
   text-transform:uppercase;font-weight:600;padding:8px 11px;border:1px solid var(--line)}
td{padding:9px 11px;border:1px solid var(--line);vertical-align:top}

.big{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.big>div{flex:1 1 130px;background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.big b{display:block;font-size:30px;color:var(--ink);line-height:1.1}
.big span{display:block;font-size:13px;color:var(--grey);margin-top:3px}

/* ---- the fourteen steps ---- */
.steps{margin-top:6px}
.step{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:0}
.step .n{flex:0 0 40px;height:28px;border-radius:14px;background:var(--blue);color:#fff;
         font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.step .t{flex:1}
.step .t b{display:block;color:var(--ink);font-size:15.5px}
.step .t span{display:block;font-size:14px;color:var(--grey);line-height:1.6;margin-top:2px}
.step .cost{flex:0 0 165px;font-size:12px;font-weight:600;text-align:right;padding-top:4px}
.step .cost.hand{color:var(--red)}
.step .cost.part{color:#8A6A00}
.step .cost.auto{color:var(--grey);font-weight:400}

.ok{color:var(--green);font-weight:600}
.no{color:var(--red);font-weight:600}
.soon{color:#8A6A00;font-weight:600}

.close{background:var(--ink);color:#fff;border-color:var(--ink)}
.close h2{color:#fff}
.close p{color:#C9D9E4}
.close .src{font-size:12.5px;color:#8FA9BC;margin:0}

@media (max-width:860px){
  .shell{display:block}
  aside{position:static;min-height:0;width:100%;flex:none}
  main{padding:24px 18px 60px}
  .step{flex-wrap:wrap}
  .step .cost{flex:1 1 100%;text-align:left}
}
