@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0e1d33;--gold:#c8a351;--ivory:#fbfaf6;--stone:#f2eee7;--slate:#5a616b;--line:#e2e1da;--green:#2d6457;--red:#a14b37}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--navy);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,select,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h2{font-size:21px;letter-spacing:-.6px;margin-bottom:12px}h3{font-size:16px}p{line-height:1.65;color:var(--slate)}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:#fff;padding:32px 24px;display:flex;flex-direction:column}.brand{display:block;background:var(--ivory);padding:10px;border-radius:3px}.brand img{width:100%;display:block}.workspace-label{font-size:10px;letter-spacing:2px;color:#a2acba;margin-top:44px}.client{font:700 20px Manrope,sans-serif;margin-top:12px}.client span{display:block;color:#a2acba;font:13px 'DM Sans',sans-serif;margin-top:7px}nav{display:grid;gap:8px;margin-top:32px}.nav{background:none;border:0;text-align:left;padding:15px 10px;color:#b8c2d0;border-radius:5px;font-size:13px}.nav span{color:var(--gold);font-size:11px;margin-right:10px}.nav:hover,.nav.active{background:#ffffff10;color:#fff}.nav.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-foot{margin-top:auto;padding-top:55px}.monogram{font:800 36px Manrope;color:var(--gold);letter-spacing:-3px}.sidebar-foot p{color:#c5ccd5;font-size:12px}.sidebar-foot small{color:#8794a6;font-size:10px}.shell{margin-left:244px}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);gap:16px}.breadcrumb{font-size:10px;letter-spacing:1.5px;font-weight:700}.breadcrumb span{color:var(--gold);padding:0 12px}.header-actions{display:flex;gap:10px;align-items:center}.private{font-size:11px;color:var(--green);margin-right:10px}.button{border:1px solid var(--line);background:transparent;border-radius:5px;padding:12px 16px;font-weight:600}.button.small{font-size:11px;padding:9px 12px}.button:hover{background:var(--stone)}.button.primary{background:var(--navy);color:#fff;border-color:var(--navy);display:flex;justify-content:space-between;width:100%;margin-top:22px}.button.primary:hover{background:#25364f}main{max-width:1500px;margin:auto;padding:42px}.heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#88703c;margin-bottom:13px}h1{font-size:44px;line-height:1.12;letter-spacing:-2px;margin-bottom:16px;font-weight:800}h1 em{font-style:normal;color:#9d7d37}.intro{font-size:14px;max-width:600px;margin-bottom:0}.edition{text-align:right;font-size:11px;letter-spacing:2px;color:#939a9f;line-height:1.8;padding-top:8px}.edition strong{font-size:10px;font-weight:500}.scenario-strip{display:flex;align-items:center;justify-content:space-between;background:var(--stone);padding:15px 18px;gap:18px;margin-bottom:26px;border-radius:6px}.scenario-strip>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scenario-strip strong{font-size:12px}.scenario-strip span{font-size:11px;color:var(--slate)}.dot{width:7px;height:7px;background:var(--gold);border-radius:50%}.scenario-strip label{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--slate)}select{padding:9px 28px 9px 10px;border:1px solid #d8d7d0;border-radius:4px;background:var(--ivory);color:var(--navy);max-width:100%}.view{display:none}.view.active{display:block}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.metric{border-bottom:2px solid var(--line);padding:5px 0 20px}.metric:first-child{border-color:var(--gold)}.metric .label{font-size:11px;color:var(--slate)}.metric strong{font:700 34px Manrope,sans-serif;display:block;margin:9px 0;letter-spacing:-1px}.metric .caption{font-size:11px;color:var(--slate)}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}.panel-head h2{margin:0}.unit{font-size:8px;letter-spacing:1px;color:var(--slate);text-align:right;padding-top:3px;line-height:1.6}.bar-row{margin-bottom:17px}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px;gap:12px}.bar-label b{font-variant-numeric:tabular-nums}.track{position:relative;background:#f0f1ef;height:12px;border-radius:2px}.fill{height:100%;background:#34455d;border-radius:2px;transition:width .25s}.fill.limiting{background:var(--gold)}.demand-marker{position:absolute;top:-3px;height:18px;border-left:1px dashed #444}.chart-key{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;color:var(--slate);margin-top:25px}.key{display:inline-block;width:7px;height:7px;margin-right:4px}.gold{background:var(--gold)}.navy{background:#34455d}.experiment p{font-size:12px}.slider-label{font-size:11px;display:flex;justify-content:space-between;gap:8px;margin-top:24px}.slider-label strong{color:#9d7d37}input[type=range]{width:100%;accent-color:var(--gold);margin:17px 0}.experiment-result{font-size:12px;line-height:1.7;min-height:45px}.cycle{padding-left:20px;font-size:12px;line-height:2.1;color:var(--slate)}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.decision{margin-top:22px;background:var(--navy);color:#fff;display:grid;grid-template-columns:150px 1fr;gap:22px}.decision p{color:#d6dce4;margin:0;font-size:13px}.decision .eyebrow{color:var(--gold)}.section-line{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.section-line h2{margin:0}.pill{background:var(--stone);border-radius:20px;padding:7px 12px;font-size:10px}.flow-legend{font-size:10px;color:var(--slate);display:flex;gap:25px;margin-bottom:20px;flex-wrap:wrap}.process-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}.flow-map{display:grid;grid-template-columns:1fr 1fr;gap:20px}.flow-node{text-align:left;position:relative;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff;min-height:110px;transition:background .15s}.flow-node:hover,.flow-node.selected{background:#f4ecdc;border-color:var(--gold)}.flow-node .num{font-size:10px;color:#927135;display:block;margin-bottom:8px}.flow-node strong{display:block;font:700 14px Manrope}.flow-node small{font-size:11px;display:block;color:var(--slate);margin-top:8px}.flow-node .arrow{position:absolute;right:14px;top:13px;color:var(--gold)}.process-detail{position:sticky;top:20px}.detail-label{font-size:9px;letter-spacing:1.3px;color:#94773c;text-transform:uppercase;margin:22px 0 6px}.process-detail p{font-size:13px;margin-bottom:0}.note{margin-top:24px;background:var(--stone)}.note p{margin:8px 0 0;font-size:13px}.calculator-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.input-group{background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px;margin-bottom:18px}.input-group h3{margin-bottom:20px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.input-field label{display:block;font-size:12px;line-height:1.4}.input-field small{display:block;color:var(--slate);font-size:10px;margin:5px 0 8px}.input-field input{width:100%;min-width:0;background:var(--ivory);border:1px solid var(--line);padding:10px 12px;border-radius:4px;color:var(--navy);font-variant-numeric:tabular-nums}.input-field input:invalid{border-color:var(--red)}.result-panel{position:sticky;top:20px}.calc-number{font:700 40px Manrope;letter-spacing:-1px}.result-panel h3{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.resource{padding:13px 0;border-bottom:1px solid var(--line)}.resource-title{font-size:12px;margin-bottom:7px}.resource-values{display:flex;justify-content:space-between;font-size:11px;color:var(--slate);gap:12px}.gap{font-size:10px;color:var(--red);margin-top:5px}.covered{color:var(--green)}.small-note{font-size:11px;margin-top:18px}.methods{margin-top:5px}.methods summary{font-weight:600}.methods p{font-size:12px}.methods dl{display:grid;grid-template-columns:150px 1fr;gap:14px;font-size:12px;line-height:1.6}.methods dd{margin:0;color:var(--slate)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6}td,th{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;color:var(--slate);text-transform:uppercase;letter-spacing:.7px}td:first-child{width:36%;font-weight:600}.evidence-bottom{margin-top:24px;grid-template-columns:1fr 1fr}.evidence-bottom p{font-size:12px}.checklist{padding-left:17px;color:var(--slate);font-size:12px;line-height:2.2}#validation:not(:empty){background:#fbeae5;padding:16px;color:var(--red);margin-bottom:20px;border-radius:5px}footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:.5px;color:var(--slate)}footer b{color:var(--gold);margin:0 8px}@media(min-width:1600px){main{padding:52px}}@media(max-width:1200px){.sidebar{width:205px;padding:26px 17px}.shell{margin-left:205px}main{padding:30px}header{padding:0 30px}.two-col{grid-template-columns:1.35fr 1fr}.private{display:none}.scenario-strip{align-items:start;flex-direction:column}.calculator-layout{grid-template-columns:1.2fr 1fr}h1{font-size:38px}.metric strong{font-size:29px}}@media(max-width:900px){.sidebar{position:static;width:auto;padding:16px 22px;display:block}.brand{width:150px;padding:5px}.workspace-label,.client,.sidebar-foot{display:none}nav{display:flex;overflow-x:auto;margin-top:15px;gap:6px}.nav{white-space:nowrap;padding:10px;font-size:11px}.shell{margin-left:0}.two-col,.calculator-layout,.process-layout{grid-template-columns:1fr}.result-panel,.process-detail{position:static}.metrics{gap:14px}.edition{display:none}.panel-head{gap:12px}.experiment{max-width:none}header{height:60px}.header-actions{gap:6px}.breadcrumb{font-size:8px}.process-detail{min-height:280px}.evidence-bottom{grid-template-columns:1fr}.decision{grid-template-columns:1fr;gap:4px}}@media(max-width:560px){main{padding:23px 17px}header{padding:0 17px}.breadcrumb{display:none}.header-actions{margin-left:auto}h1{font-size:34px}.scenario-strip{padding:14px}.scenario-strip label{width:100%;display:block}.scenario-strip select{width:100%;margin-top:8px}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1}.metric strong{font-size:28px}.panel{padding:20px}.panel-head{flex-direction:column}.unit{text-align:left}.section-line{align-items:start;flex-direction:column}.flow-map{gap:12px}.flow-node{padding:14px}.input-grid{grid-template-columns:1fr}.methods dl{grid-template-columns:1fr;gap:7px}.methods dd{margin-bottom:10px}footer{flex-direction:column}.scenario-strip>div{gap:7px}.flow-legend{gap:10px}td,th{padding:12px 7px}}@media print{.sidebar,header,.scenario-strip select,.header-actions,.button,input[type=range],footer{display:none!important}.shell{margin:0}main{padding:0}.heading{margin-bottom:15px}h1{font-size:30px}.panel,.input-group{break-inside:avoid}.two-col{grid-template-columns:1.4fr 1fr}.view:not(.active){display:none}.scenario-strip{background:#eee!important}.result-panel{position:static}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.calculator-layout{grid-template-columns:1.2fr 1fr}.input-field input{border:0}.process-detail{position:static}}
/* Motion makes scenario changes legible; every animation respects reduced motion. */
.view.active{animation:view-in .4s ease both}@keyframes view-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.fill{transition:width .7s cubic-bezier(.22,1,.36,1),background .4s}.flow-lens{margin-bottom:22px;overflow:hidden}.flow-ribbon{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;padding:10px 6px 25px}.ribbon-stage{position:relative;text-align:center;display:flex;flex-direction:column;gap:7px}.stage-symbol{background:var(--stone);border:1px solid var(--line);width:50px;height:50px;border-radius:13px;margin:0 auto 8px;display:grid;place-items:center;font-size:25px;color:var(--slate)}.ribbon-stage>span{font-size:11px}.ribbon-stage>strong{font:700 21px Manrope;letter-spacing:-.6px}.ribbon-stage>small{font-size:8px;letter-spacing:.6px;color:var(--slate)}.is-limit .stage-symbol{background:#f6ecd4;color:#937023;border-color:var(--gold);animation:limit-glow 2.5s ease-in-out infinite}.is-limit>small{color:#947023;font-weight:700}.flow-connector{position:absolute;left:calc(50% + 34px);top:25px;width:calc(100% - 38px);height:1px;background:#d7d9d9}.flow-connector i{display:block;position:absolute;width:5px;height:5px;top:-2px;border-radius:50%;background:var(--gold);animation:flow-particle 2s linear infinite}.flow-connector b{position:absolute;right:-1px;top:-10px;color:#9aa1a7;font-size:16px}.flow-dependencies{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:var(--slate)}.flow-dependencies b{color:var(--navy);margin-right:6px}.response-panel{margin-top:22px}.curve-scroll svg{display:block;width:100%;height:auto;min-width:520px}.curve-scroll{overflow-x:auto}.curve-scroll text{font:12px 'DM Sans',sans-serif;fill:var(--slate)}.curve-insight{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:var(--slate);padding-top:12px}.curve-insight b{color:var(--navy)}.curve-insight i{display:inline-block;width:7px;height:7px;background:var(--navy);border-radius:50%;margin-right:6px}.response-line{stroke-dasharray:1600;animation:draw-curve .8s ease both}.curve-dot{animation:marker-in .45s ease}.empty-curve{padding:30px;text-align:center;color:var(--slate);font-size:13px}.empty-curve span{display:block;font-size:40px;margin-bottom:12px}.walkthrough{display:flex;align-items:center;gap:12px;margin:0 0 20px}.walkthrough .button.primary{width:auto;margin:0}.walkthrough>span{font-size:11px;color:var(--slate);margin-left:auto}.flow-node{transition:background .3s,border-color .3s,transform .3s,box-shadow .3s}.flow-node.selected{box-shadow:0 5px 20px #c8a35122;transform:translateY(-3px)}.playing .flow-node.selected .arrow{animation:arrow-nudge 1s ease infinite}.detail-enter{animation:detail-in .35s ease}.resource-meter{height:7px;background:var(--stone);margin:12px 0;position:relative}.resource-meter span{display:block;height:100%;background:#476859;transition:width .5s ease}.resource-meter i{position:absolute;top:-3px;height:13px;border-left:2px solid var(--gold)}@keyframes flow-particle{from{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}@keyframes limit-glow{50%{box-shadow:0 0 0 7px #c8a35113}}@keyframes draw-curve{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}@keyframes marker-in{from{opacity:0}to{opacity:1}}@keyframes detail-in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes arrow-nudge{50%{transform:translateX(4px)}}@media(max-width:1200px){.flow-ribbon{gap:14px}.ribbon-stage>strong{font-size:18px}}@media(max-width:560px){.flow-ribbon{grid-template-columns:repeat(3,1fr);gap:30px 18px}.ribbon-stage:nth-child(3) .flow-connector{display:none}.walkthrough{flex-wrap:wrap}.walkthrough>span{margin-left:0;width:100%}.flow-dependencies{display:grid;gap:12px}.curve-insight{line-height:1.7}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.flow-connector i{left:50%}}@media print{.walkthrough{display:none}.flow-connector i{animation:none}.flow-lens,.response-panel{break-inside:avoid}.response-line{animation:none}}

/* Supplied Egoli assets retain their original proportions and colour. */
.client-identity{display:flex;gap:12px;align-items:center;margin-top:16px}.client-identity>img{width:46px;height:46px;object-fit:contain;border-radius:50%;flex-shrink:0}.client-identity .client{margin:0;font-size:16px}.client-identity .client span{font-size:11px}.heading{align-items:center;gap:36px}.client-product{margin:0;display:flex;gap:16px;align-items:end;flex-shrink:0}.client-product>img{width:126px;height:189px;object-fit:contain;border-radius:5px;box-shadow:0 12px 28px #0e1d3312}.client-product figcaption{font-size:9px;letter-spacing:1.2px;writing-mode:vertical-rl;line-height:1.8;color:#60705e}.client-product figcaption span{font-size:8px;letter-spacing:0;display:block;color:var(--slate)}.brand-reference{display:flex;gap:28px;align-items:center;margin-top:24px;background:var(--stone)}.brand-reference>img{width:118px;height:210px;object-fit:contain;border-radius:5px;flex-shrink:0}.brand-reference p{font-size:12px;max-width:670px}.brand-reference p:last-child{margin-bottom:0}@media(max-width:1200px){.client-identity{gap:8px}.client-identity .client{font-size:14px}.client-identity>img{width:35px;height:35px}.client-product>img{width:106px;height:159px}.client-product figcaption{display:none}.heading{gap:20px}}@media(max-width:900px){.client-identity{position:absolute;right:22px;top:18px;margin:0}.client-identity .client{display:block;font-size:13px}.client-identity .client span{display:block;font-size:10px}.client-identity>img{width:34px;height:34px}}@media(max-width:560px){.client-identity .client{display:none}.heading{align-items:start;gap:14px}.client-product{padding-top:20px}.client-product>img{width:70px;height:105px}.heading>div{min-width:0}.heading h1{font-size:29px;letter-spacing:-1.4px}.heading .eyebrow{font-size:8px;letter-spacing:1px}.brand-reference{gap:18px;align-items:start}.brand-reference>img{width:75px;height:134px}.brand-reference h3{font-size:14px}}@media print{.client-product>img{width:80px;height:120px;box-shadow:none}.brand-reference{break-inside:avoid}}

/* — legibility: lift the smallest text — */
.unit{font-size:10px}.chart-key{font-size:11px}.flow-legend,.flow-node .num,.gap,.pill,.detail-label{font-size:11px}.input-field small,.small-note{font-size:12px}.eyebrow{font-size:11px}.metric .label,.metric .caption{font-size:12px}.private{font-size:12px}.breadcrumb{font-size:11px}
/* — constraint ladder — */
.ladder-panel{margin-top:22px}.rung{display:grid;grid-template-columns:minmax(120px,190px) 1fr minmax(120px,150px);grid-template-areas:"step track out" ". limit .";gap:4px 18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);opacity:0;animation:rung-in .55s ease forwards;animation-delay:calc(var(--i)*.14s)}.rung:last-of-type{border-bottom:0}.rung-step{grid-area:step;font:700 13px Manrope,sans-serif}.rung-track{grid-area:track;background:#f0f1ef;height:14px;border-radius:2px;overflow:hidden}.rung-fill{height:100%;background:#34455d;border-radius:2px;transform-origin:left;animation:grow .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*.14s + .1s)}.rung-fill.short{background:var(--gold)}.rung:first-of-type .rung-fill{background:var(--gold)}.rung-demand .rung-fill{background:var(--green)}.rung-out{grid-area:out;text-align:right;display:flex;flex-direction:column}.rung-out b{font:700 20px Manrope,sans-serif;font-variant-numeric:tabular-nums}.rung-out span{font-size:11px;color:var(--green)}.rung-limit{grid-area:limit;font-size:12px;color:var(--slate)}.rung-limit b{color:#8a6d2c}
@keyframes rung-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* — proposal scale check — */
.scale-panel{margin-bottom:24px}.scale-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:8px}.scale-inputs label{font-size:12px;display:flex;flex-direction:column;gap:7px}.scale-inputs input{background:var(--ivory);border:1px solid var(--line);padding:10px 12px;border-radius:4px;color:var(--navy);font-variant-numeric:tabular-nums;width:100%;min-width:0}.scale-row{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.6fr;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.scale-row span{font-weight:700;font-size:13px}.scale-row b{font:700 22px Manrope,sans-serif;font-variant-numeric:tabular-nums;display:block}.scale-row small{display:block;color:var(--slate);font-size:11px;margin-top:3px}.scale-cover .rung-track{height:10px;margin-bottom:6px}
@media (max-width:900px){.rung{grid-template-columns:1fr auto;grid-template-areas:"step out" "track track" "limit limit"}.scale-inputs{grid-template-columns:1fr}.scale-row{grid-template-columns:1fr 1fr;gap:10px 18px}.scale-cover{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.rung,.rung-fill{animation:none;opacity:1;transform:none}}

#ladder.seen .rung,#ladder.seen .rung-fill{animation:none;opacity:1;transform:none}

a.nav{text-decoration:none;display:block}.twin-link{border:1px solid #ffffff22;margin-top:6px}
