/* Educational portfolio tool: one work surface, readable labels, explicit constraints. */
body.editorial-site.demo-page main{background:#f7f6f2;color:#1b1e26}
body.demo-page .hero{padding:58px 0 34px!important;border:0!important;background:transparent!important}
body.demo-page .hero h1{font-size:clamp(40px,4.5vw,62px)!important;max-width:20ch!important;line-height:1.07!important;letter-spacing:-.05em!important;font-weight:500!important;color:#1b1e26}
body.demo-page .hero .grad{color:#3045b5!important;-webkit-text-fill-color:#3045b5!important}
body.demo-page .hero .eyebrow{font:500 12px/1.5 Inter,sans-serif;letter-spacing:.035em;color:#626672;background:none;border:0;padding:0;margin:0 0 23px;box-shadow:none}
body.demo-page .hero .lede{font-size:17px;line-height:1.8;color:#585d69;max-width:77ch;margin-top:23px}
body.demo-page .wrap{max-width:1440px;padding-inline:56px}
body.demo-page section.block{padding-bottom:65px!important;background:transparent!important}
body.demo-page .opt{display:grid;grid-template-columns:310px minmax(0,1fr);gap:70px;margin-top:25px;align-items:start}
body.demo-page .demo-controls{min-width:0}
body.demo-page .demo-control-group{padding:0;margin:0 0 36px;background:none;border:0;box-shadow:none}
body.demo-page .demo-control-group h3,body.demo-page .demo-result-surface>h3{font:500 22px/1.3 Inter,sans-serif;letter-spacing:-.025em;color:#1b1e26;margin:0 0 28px;text-transform:none}
body.demo-page .fld{margin-bottom:25px}body.demo-page .fld:last-child{margin-bottom:0}
body.demo-page .fld label{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-size:14px;line-height:1.6;font-weight:500;color:#363c48;margin-bottom:10px}
body.demo-page .fld label b{font:500 14px/1.5 'JetBrains Mono',monospace;color:#3045b5;white-space:nowrap}
body.demo-page select{display:block;width:100%;max-width:100%;font:400 14px/1.5 Inter,sans-serif;color:#272d37;background:#efeee9!important;border:1px solid #cfd0cc;border-radius:3px;padding:12px 30px 12px 12px;min-height:48px;outline-offset:3px}
body.demo-page input[type=range]{display:block;width:100%;height:25px!important;min-height:25px!important;appearance:auto;-webkit-appearance:auto;accent-color:#3045b5;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;margin:12px 0;outline-offset:3px}
body.demo-page input[type=range]::-webkit-slider-thumb{appearance:auto;-webkit-appearance:auto;box-shadow:none;border:0}
body.demo-page .control-help{font-size:12px;line-height:1.7;color:#5d6370;margin-top:10px;min-height:42px}
body.demo-page .seg{display:flex;gap:10px;border:0;background:none;border-radius:0;padding:0}
body.demo-page .seg button{background:transparent;color:#484e5d;border:1px solid #c7c9ce;border-radius:3px;padding:10px 17px;min-height:44px;font:500 13px/1.4 Inter,sans-serif;cursor:pointer;box-shadow:none}
body.demo-page .seg button.on{background:#252936;color:#fff;border-color:#252936}
body.demo-page .solve{display:flex;width:100%;justify-content:center;font-size:14px;border:0;border-radius:2px;background:#252936;color:#fff;box-shadow:none;padding:15px 18px;min-height:49px;margin-top:22px}
body.demo-page .solve:hover{background:#3b4355}
body.demo-page .demo-model-note{padding:20px 0 0;border:0;border-top:1px solid #d8d9d4;background:transparent;border-radius:0;box-shadow:none;margin:0}
body.demo-page .demo-model-note summary{font:500 14px/1.6 Inter,sans-serif;color:#343b49;cursor:pointer}
body.demo-page .demo-model-note p{font-size:13px;line-height:1.8;color:#585d69;margin-top:17px;max-width:none}
body.demo-page .demo-model-note code{font-size:12px;white-space:normal;color:#252936;background:none;border:0;padding:0}
body.demo-page .demo-result-surface{padding:0;border:0;background:transparent;box-shadow:none;min-width:0}
body.demo-page .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding-bottom:25px;border-bottom:1px solid #d5d7d4}
body.demo-page .metric{border:0;padding:0;background:transparent!important;box-shadow:none!important;border-radius:0;min-width:0}
body.demo-page .metric .k{font:400 12px/1.6 Inter,sans-serif;letter-spacing:0;text-transform:none;color:#5d6370;min-height:38px}
body.demo-page .metric .v{font:500 clamp(24px,2.6vw,36px)/1.1 Inter,sans-serif;letter-spacing:-.04em;color:#232735;margin-top:7px;font-variant-numeric:tabular-nums}
body.demo-page .metric .v small{font-size:14px;color:#626874;letter-spacing:0;font-weight:400;margin-left:2px}
body.demo-page .solvebar{display:flex;gap:10px;align-items:flex-start;margin:21px 0 15px;font-size:12px;line-height:1.7;color:#5d6370;min-height:40px}
body.demo-page .solvebar .dot{display:none}
body.demo-page .alloc{margin-top:6px}
body.demo-page .alloc-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(80px,1.2fr) 70px;gap:24px;align-items:center;padding:11px 0;min-height:47px;border-bottom:1px solid #e2e3df}
body.demo-page .alloc-row .nm{font-size:14px;font-weight:400;line-height:1.55;color:#313844;white-space:normal;overflow:visible;text-overflow:clip;min-width:0}
body.demo-page .alloc-row .track{display:block;position:relative;height:20px;border-radius:0;background:transparent;overflow:visible}
body.demo-page .alloc-row .track.diverging:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:#a1a6b0}
body.demo-page .alloc-row .fill{display:block;position:absolute;top:6px;height:8px;border-radius:0;background:#3045b5;transition:width .18s,left .18s}
body.demo-page .alloc-row .fill.short{background:#a3462d}
body.demo-page .alloc-row .pct{font:500 13px/1.6 'JetBrains Mono',monospace;color:#303744;text-align:right;white-space:nowrap}
body.demo-page .allocation-summary{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#5d6370;padding:23px 0 0}
body.demo-page .allocation-summary strong{font-weight:500;color:#303744;margin-left:10px;white-space:nowrap}
body.demo-page .sec-head{margin:20px 0 30px;max-width:850px}
body.demo-page .sec-kicker{font:500 12px/1.5 Inter,sans-serif;letter-spacing:.035em;color:#a3462d;text-transform:none;margin-bottom:19px}
body.demo-page .sec-head h2{font:500 clamp(31px,3.5vw,45px)/1.15 Inter,sans-serif;letter-spacing:-.04em;color:#1b1e26}
body.demo-page .sec-head p{font-size:16px;line-height:1.8;color:#585d69;max-width:70ch;margin-top:20px}
body.demo-page .demo-comparison-chart{background:transparent;border:0;padding:0;border-radius:0;box-shadow:none;min-width:0}
body.demo-page #growth{height:330px!important;width:100%;display:block}
body.demo-page .demo-chart-legend{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:18px;font-size:13px;line-height:1.6;color:#3e4655}
body.demo-page .demo-chart-legend span{display:inline-flex;align-items:center;gap:9px}
body.demo-page .demo-chart-legend i{display:inline-block;width:21px;height:3px;border-radius:0}
body.demo-page .demo-table-scroll{overflow-x:auto;margin-top:35px;background:transparent;border:0;box-shadow:none;border-radius:0;outline-offset:3px}
body.demo-page #cmpTable{width:100%;min-width:760px;border-collapse:collapse;font-size:13px;color:#303744}
body.demo-page #cmpTable caption{text-align:left;font-size:13px;color:#585d69;padding-bottom:18px}
body.demo-page #cmpTable th,body.demo-page #cmpTable td{padding:18px 15px!important;border:0!important;border-bottom:1px solid #d8dad7!important;background:transparent!important;line-height:1.6;text-align:right;white-space:normal}
body.demo-page #cmpTable thead th{font-size:12px!important;font-weight:500;color:#585d69!important;letter-spacing:0!important;text-transform:none}
body.demo-page #cmpTable th:first-child{padding-left:0!important;text-align:left;min-width:190px}
body.demo-page #cmpTable tbody th{font-weight:500;text-align:left;font-size:13px}
body.demo-page #cmpTable tbody th i{display:inline-block;width:8px;height:8px;margin-right:10px}
body.demo-page #cmpTable tbody td{font:400 12px/1.6 'JetBrains Mono',monospace}
body.demo-page .demo-comparison-note{font-size:13px;line-height:1.85;max-width:110ch;color:#5d6370;margin-top:25px}
body.demo-page .cta-band{background:#ebeae5;padding:50px 0;border:0}
body.demo-page .cta-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;text-align:left;max-width:900px;margin:0}
body.demo-page .cta-card h2{font:500 34px/1.2 Inter,sans-serif;letter-spacing:-.035em;color:#1b1e26}
body.demo-page .cta-card p{font-size:16px;line-height:1.8;color:#585d69;max-width:70ch;margin:20px 0 24px}
body.demo-page .cta-card .btn{background:#252936;color:#fff;border:0;border-radius:2px;box-shadow:none;font-size:14px}
body.demo-page .demo-nojs{font-size:15px;color:#303744;line-height:1.8;margin-top:20px}
body.demo-page button:focus-visible,body.demo-page input:focus-visible,body.demo-page select:focus-visible,body.demo-page summary:focus-visible{outline:2px solid #3045b5;outline-offset:4px}
@media(max-width:1100px){body.demo-page .wrap{padding-inline:36px}body.demo-page .opt{grid-template-columns:1fr;gap:44px}body.demo-page .demo-controls{display:grid;grid-template-columns:1fr 1fr;gap:25px 55px}body.demo-page .demo-control-group{margin:0}body.demo-page .demo-model-note{grid-column:1/-1}body.demo-page .metric .v{font-size:33px}body.demo-page .metric .k{min-height:22px}body.demo-page .alloc-row{grid-template-columns:minmax(180px,1fr) minmax(100px,2fr) 80px}}
@media(max-width:650px){body.demo-page .wrap{padding-inline:24px}body.demo-page .hero{padding-top:38px!important}body.demo-page .hero h1{font-size:43px!important;max-width:17ch!important}body.demo-page .hero .lede{font-size:16px}body.demo-page .demo-controls{grid-template-columns:1fr;gap:31px}body.demo-page .demo-control-group h3,body.demo-page .demo-result-surface>h3{font-size:22px;margin-bottom:23px}body.demo-page .opt{margin-top:0;gap:38px}body.demo-page .metrics{grid-template-columns:1fr 1fr;gap:24px 25px}body.demo-page .metric .v{font-size:32px}body.demo-page .metric .k{min-height:20px}body.demo-page .alloc-row{grid-template-columns:minmax(110px,1.2fr) minmax(55px,1fr) 63px;gap:14px;padding-block:12px;min-height:48px}body.demo-page .alloc-row .nm{font-size:13px}body.demo-page .alloc-row .pct{font-size:12px}body.demo-page .solvebar{font-size:12px;min-height:44px}body.demo-page .allocation-summary{display:block;padding-top:20px}body.demo-page .allocation-summary>span{display:block;margin-top:10px}body.demo-page #growth{height:280px!important}body.demo-page .demo-chart-legend{display:grid;gap:12px}body.demo-page .sec-head h2{font-size:34px}body.demo-page .sec-head p{font-size:15px}body.demo-page .demo-comparison-note{font-size:13px}body.demo-page .cta-card h2{font-size:31px}body.demo-page .cta-card p{font-size:15px}body.demo-page section.block{padding-bottom:43px!important}}
@media(max-width:355px){body.demo-page .wrap{padding-inline:19px}body.demo-page .hero h1{font-size:37px!important}body.demo-page .alloc-row{grid-template-columns:minmax(100px,1.2fr) minmax(40px,1fr) 58px;gap:10px}body.demo-page .alloc-row .nm{font-size:12px}}
@media(prefers-reduced-motion:reduce){body.demo-page .alloc-row .fill{transition:none}}
body.editorial-site.demo-page .solve,body.editorial-site.demo-page .solve:hover,body.editorial-site.demo-page .cta-card .btn{background:#252936!important;color:#fff!important;border-color:#252936!important}
body.editorial-site.demo-page .cta-band{background:#ebeae5!important}
body.editorial-site.demo-page .cta-card h2{margin:0!important;max-width:27ch!important}
