
:root{--d-ink:#202d3d;--d-muted:#607184;--d-blue:#31577f;--d-border:#dce3eb;--d-soft:#f4f7fa;--d-bg:#fff}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--d-bg);color:var(--d-ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px}
a{color:inherit}
#quarto-content,#quarto-content.page-columns,main.content,#quarto-document-content{display:block!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important;grid-column:auto!important}
.quarto-title-block,.quarto-title,.quarto-title-meta{display:none!important}
#quarto-document-content>p{margin:0}
.navbar{border-bottom:1px solid #e9edf1;background:#fff!important;min-height:58px}
.navbar .navbar-container{max-width:1180px;margin:auto}
.navbar-brand{font-size:19px!important;font-weight:800!important;letter-spacing:-.05em}
.navbar .nav-link{font-size:12px;color:#596979!important}
.navbar .nav-link:hover{color:#1f3550!important}
.hero-shell,.content-shell{width:calc(100% - 64px)!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
.hero-shell{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:72px;align-items:center;padding:92px 0 94px}
.hero-copy,.hero-art{min-width:0}
.eyebrow{font-size:10px!important;font-weight:750;letter-spacing:.16em;color:#526f91;text-transform:uppercase;margin:0 0 19px!important}
.hero-copy h1{font-size:clamp(45px,4.25vw,66px);line-height:1.085;letter-spacing:-.06em;font-weight:750;margin:0 0 25px!important;max-width:580px}
.hero-copy h1 em{font-style:normal;color:var(--d-blue)}
.hero-deck{max-width:470px;font-size:15px;line-height:1.75;color:var(--d-muted);margin:0 0 26px!important}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:28px}
.primary-link{background:var(--d-blue);color:white!important;padding:12px 17px;text-decoration:none;font-size:12px;font-weight:700}
.primary-link:hover{background:#223f5f}
.primary-link span{margin-left:12px}
.quiet-link{font-size:12px;color:var(--d-blue)!important;font-weight:700;text-decoration:none}
.hero-meta{border-top:1px solid var(--d-border);padding-top:17px;display:flex;gap:14px;flex-wrap:wrap;color:#778494;font-size:11px}
.hero-meta span+span:before{content:"·";margin-right:14px}
.hero-art{border:1px solid var(--d-border);background:#fbfcfd;box-shadow:0 16px 38px rgba(27,46,68,.035)}
.art-head,.art-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;font-size:9px;letter-spacing:.08em;color:#718193}
.art-head{border-bottom:1px solid #e9edf2}
.art-foot{border-top:1px solid #e9edf2;letter-spacing:0}
.art-foot i{display:inline-block;width:7px;height:7px;border:1px solid var(--d-blue);border-radius:50%;margin-right:5px}
.hero-art svg{display:block;width:100%;height:auto;padding:20px 20px 8px}
.content-shell{padding-bottom:70px}
.section-heading{border-top:1px solid var(--d-border);padding:37px 0 23px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:end}
.section-heading .eyebrow,.approach .eyebrow{margin-bottom:10px!important}
.section-heading h2,.approach h2{font-size:29px;line-height:1.2;letter-spacing:-.04em;margin:0!important;font-weight:700;max-width:520px}
.section-heading>p{font-size:13px;line-height:1.65;color:var(--d-muted);max-width:410px;margin:0 0 3px auto!important}
.workbench{border:1px solid var(--d-border);background:#fff;box-shadow:0 14px 30px rgba(20,43,65,.035)}
.workbench-top{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 21px;border-bottom:1px solid var(--d-border);font-size:11px}
.workbench-top strong{font-size:12px}
.workbench-sub{color:var(--d-muted)}
.status-dot{display:inline-block;background:#537da5;width:6px;height:6px;border-radius:50%;margin-right:9px;vertical-align:middle}
.project-tag{font-size:9px;letter-spacing:.12em;color:#7d8c9b}
.workbench-layout{display:grid!important;grid-template-columns:215px minmax(0,1fr)!important;grid-template-areas:"sidebar main";align-items:stretch;min-height:510px}
.workbench-side{grid-area:sidebar!important;display:flex!important;flex-direction:column;min-width:0;background:#f6f8fa;border-right:1px solid var(--d-border);padding:25px 12px 18px}
.side-label{font-size:10px;font-weight:700;letter-spacing:.1em;color:#78889a;padding:0 11px 16px}
.module-btn{appearance:none;border:0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left;width:100%;padding:13px 11px;color:#425368;font-size:12px;cursor:pointer;border-left:2px solid transparent}
.module-btn:hover{background:#ebf0f5}
.module-btn.active{background:#e7eef6;color:#214d78;font-weight:750;border-left-color:#31577f}
.module-num{font-size:10px;color:#8794a4}
.module-btn .arrow{margin-left:auto}
.side-bottom{margin-top:auto;border-top:1px solid var(--d-border);padding:18px 11px 0;font-size:10px;line-height:1.9;color:#728295;overflow-wrap:anywhere}
.side-bottom strong{font-size:12px;color:#304b68}
.workbench-main{grid-area:main!important;min-width:0;padding:28px 34px 30px}
.panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}
.panel-heading>div{min-width:0}
#panel-kicker{font-size:10px;letter-spacing:.1em;color:#7d8da0}
.panel-heading h3{font-size:27px;letter-spacing:-.045em;line-height:1.16;margin:7px 0 7px!important}
.panel-heading p{font-size:13px;line-height:1.5;color:var(--d-muted);margin:0!important;max-width:480px}
.export-btn{background:white;border:1px solid #ccd7e3;color:#31577f;padding:10px 13px;font-size:11px;white-space:nowrap;cursor:pointer}
.export-btn:hover{background:#f0f4f8}
.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0 17px}
.metric-row>div{border:1px solid var(--d-border);padding:15px;min-width:0}
.metric-row span{display:block;color:#718093;font-size:11px;line-height:1.4;margin-bottom:7px}
.metric-row strong{font-size:21px;line-height:1.2;color:#2a3c50;overflow-wrap:anywhere}
.figure-area{border:1px solid var(--d-border);padding:17px 20px 8px;min-width:0}
.figure-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;font-weight:700;color:#33465c}
.figure-label{font-size:9px;font-weight:600;color:#8a97a5;letter-spacing:.07em}
.figure-svg{height:330px!important;min-height:330px;width:100%;display:block!important;overflow:visible}
.figure-svg svg{display:block!important;width:100%!important;height:100%!important;max-width:100%;overflow:visible}
.results-details{margin-top:14px;border:1px solid var(--d-border)}
.results-details summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;cursor:pointer;font-size:12px;font-weight:700;list-style:none}
.results-details summary::-webkit-details-marker{display:none}
.results-details summary:hover{background:#f7f9fb}
.summary-right{display:flex;gap:15px;align-items:center;font-size:10px;font-weight:400;color:#7c8999}
.chevron{font-size:17px}
.results-details[open] .chevron{transform:rotate(180deg)}
.results-table{max-height:315px;overflow:auto;padding:0 14px 14px}
.results-table table{width:100%;border-collapse:collapse;font-size:12px}
.results-table th,.results-table td{text-align:left;padding:10px 9px;border-bottom:1px solid #e8edf2}
.results-table th{background:#f3f6f9;position:sticky;top:0;color:#50677e}
.modules-heading{margin-top:66px}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--d-border)}
.module-grid article{min-width:0;padding:25px 23px;display:flex;flex-direction:column;gap:12px}
.module-grid article+article{border-left:1px solid var(--d-border)}
.module-grid article>span{font-size:10px;letter-spacing:.1em;color:#7c8b9d}
.module-grid h3{font-size:21px;letter-spacing:-.03em;margin:0!important}
.module-grid p{font-size:13px;color:var(--d-muted);line-height:1.65;margin:0!important;flex:1}
.module-grid small{border-top:1px solid var(--d-border);padding-top:13px;font-size:10px;color:#73849a;overflow-wrap:anywhere}
.approach{border-top:1px solid var(--d-border);margin-top:68px;padding:32px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:30px}
.approach-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.approach-steps>div{border-top:2px solid #c9d6e3;padding-top:10px}
.approach-steps span{display:block;font-size:10px;color:#8594a3;margin-bottom:10px}
.approach-steps strong{font-size:13px}
.approach-steps p{font-size:11px;color:var(--d-muted);line-height:1.6;margin:7px 0 0!important}
.bottom-note{border-top:1px solid var(--d-border);margin-top:30px;padding:25px 0;display:flex;align-items:center;gap:32px}
.bottom-note strong{font-size:19px;letter-spacing:-.05em}
.bottom-note p{font-size:11px;color:var(--d-muted);margin:0!important}
.nav-footer{border-top:1px solid var(--d-border);font-size:10px;color:#8290a0}
@media(max-width:900px){
.hero-shell{gap:32px;padding:64px 0}
.hero-copy h1{font-size:clamp(39px,5vw,52px)}
.workbench-layout{grid-template-columns:170px minmax(0,1fr)!important}
.workbench-main{padding:22px}
.figure-svg{height:275px!important;min-height:275px}
}
@media(max-width:700px){
.hero-shell,.content-shell{width:calc(100% - 32px)!important}
.hero-shell{grid-template-columns:1fr;gap:30px;padding:45px 0 55px}
.hero-copy h1{font-size:clamp(39px,9vw,55px)}
.section-heading{grid-template-columns:1fr;gap:8px}
.section-heading>p{margin:0!important;max-width:100%}
.workbench-layout{grid-template-columns:1fr!important;grid-template-areas:"sidebar" "main"}
.workbench-side{border-right:0;border-bottom:1px solid var(--d-border);padding:13px;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.side-label{grid-column:1/-1;padding:3px 4px}
.module-btn{font-size:11px;padding:10px 5px;gap:5px}
.module-btn .arrow{display:none}
.side-bottom{grid-column:1/-1;padding:10px 4px 0;margin-top:7px}
.workbench-main{padding:20px 15px}
.panel-heading h3{font-size:23px}
.figure-area{padding:12px 8px}
.figure-svg{height:225px!important;min-height:225px}
.metric-row>div{padding:10px}
.metric-row strong{font-size:16px}
.metric-row span{font-size:10px}
.module-grid{grid-template-columns:1fr}
.module-grid article+article{border-left:0;border-top:1px solid var(--d-border)}
.approach{grid-template-columns:1fr}
}

/* v0.5: deterministic workbench order and readable desktop layout */
.workbench-layout{display:flex!important;flex-direction:row!important;align-items:stretch!important;grid-template-columns:none!important;grid-template-areas:none!important;min-height:520px}
.workbench-layout>.workbench-side{order:0!important;grid-area:auto!important;grid-column:auto!important;grid-row:auto!important;flex:0 0 218px!important;width:218px!important;min-width:218px!important;border-right:1px solid var(--d-border)!important;border-left:0!important}
.workbench-layout>.workbench-main{order:1!important;grid-area:auto!important;grid-column:auto!important;grid-row:auto!important;flex:1 1 0!important;width:auto!important;min-width:0!important}
.workbench{width:100%;min-width:0}
.hero-shell,.content-shell{max-width:1200px!important}
.hero-shell{gap:64px}
.hero-copy h1{font-size:clamp(46px,4.3vw,65px)}
.figure-svg{height:365px!important;min-height:365px!important}
.figure-svg svg{width:100%!important;height:100%!important}
.panel-heading h3{font-size:28px}
.figure-toolbar{font-size:13px}
.module-grid article{padding:24px 26px}
.module-grid article h3{font-size:19px}
.module-grid article p{font-size:13px}
.module-grid article small{font-size:10px}
.nav-footer{font-size:11px}
@media(max-width:900px){
 .workbench-layout>.workbench-side{flex-basis:175px!important;width:175px!important;min-width:175px!important}
 .figure-svg{height:295px!important;min-height:295px!important}
}
@media(max-width:700px){
 .workbench-layout{flex-direction:column!important;min-height:0!important}
 .workbench-layout>.workbench-side{flex:0 0 auto!important;width:100%!important;min-width:0!important;order:0!important;border-right:0!important;border-bottom:1px solid var(--d-border)!important}
 .workbench-layout>.workbench-main{flex:1 1 auto!important;width:100%!important;order:1!important}
 .figure-svg{height:235px!important;min-height:235px!important}
}
