*{box-sizing:border-box} :root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172c34;background:#f3f5ef;font-size:16px;line-height:1.6}body{margin:0}a{color:#155e61;text-underline-offset:3px}button,input,select{font:inherit}button{border:1px solid #1a5558;background:#1a5558;color:white;padding:.7rem 1.15rem;border-radius:8px;cursor:pointer;font-weight:650}button.secondary{background:white;color:#164a4c}button:disabled{opacity:.6;cursor:default}button:hover:not(:disabled){filter:brightness(.92)}:focus-visible{outline:3px solid #a14c09;outline-offset:4px}input,select{border:1px solid #6c8589;background:white;color:#172c34;border-radius:6px;padding:.65rem;max-width:100%;min-width:0}input{width:100%}label{display:block;font-weight:600;font-size:.9rem}header{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 2rem;border-bottom:1px solid #d0d9d0}.brand{font-weight:750;letter-spacing:-.04em;font-size:1.2rem}.badge,.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:#36585b}.badge{border:1px solid #849f98;padding:.3rem .6rem;border-radius:100px}main{max-width:1200px;margin:auto;padding:2.5rem 2rem}h1{font-size:clamp(2.1rem,5vw,3.9rem);line-height:1.08;letter-spacing:-.05em;margin:.65rem 0 1.1rem;max-width:850px}h2{line-height:1.2;letter-spacing:-.025em;font-size:1.65rem}h3{line-height:1.3}p{max-width:75ch}.lede{font-size:1.12rem;color:#435d63;max-width:720px}.hero{padding-bottom:1.7rem}.toolbar{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin:1rem 0}.panel{border:1px solid #c1ceca;background:white;border-radius:16px;padding:1.6rem;margin:1.2rem 0;box-shadow:0 6px 18px #172c3406}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.muted{color:#526970;font-size:.9rem}.notice{background:#e4eeea;border-left:4px solid #1a5558;padding:1rem;border-radius:0 8px 8px 0}.error{color:#8a261d}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:white;z-index:10;padding:1rem}footer{max-width:1200px;margin:auto;padding:1.5rem 2rem;border-top:1px solid #c1ceca;font-size:.85rem;color:#435d63}ul{padding-left:1.3rem}li{margin:.45rem 0}dl{display:grid;grid-template-columns:135px 1fr;gap:.4rem 1rem}dt{color:#526970}dd{margin:0;font-weight:600;overflow-wrap:anywhere}.request{background:#f2f6f4}.progress{height:7px;border-radius:100px;background:#d5e0db;overflow:hidden}.progress>span{display:block;height:100%;background:#1a5558}#feedback:empty{display:none}.choices{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.2rem 0}.choices button{min-width:120px}.scenario-nav{display:flex;justify-content:space-between;gap:.5rem}.checklist label{padding:.5rem 0;border-bottom:1px solid #e1e8e4}.checklist input{width:auto;margin-right:.6rem}details{margin:1rem 0}summary{font-weight:650;cursor:pointer}.source-list{font-size:.9rem}.fee-row{border-top:1px solid #d4dfda;padding:1rem 0}.row-fields{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.fee-row h3{font-size:1rem;margin:0 0 .6rem}.row-id{font-weight:700;font-size:.9rem}.results{background:#edf4f0;padding:1rem;border-radius:10px;margin-top:1rem} .results dl{grid-template-columns:1fr 1fr} .results dd{text-align:right}.assumptions{font-size:.85rem;overflow-wrap:anywhere}.fee-row button{padding:.3rem .7rem;font-size:.8rem;margin-top:.5rem}.unit-controls{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.unit-controls label{max-width:280px}.print-only{display:none}[hidden]{display:none!important}@media(max-width:760px){header{padding:1rem;gap:.6rem}.brand{font-size:1rem}.badge{font-size:.6rem}main{padding:1.7rem 1rem}.grid{grid-template-columns:1fr;gap:.2rem}.panel{padding:1.1rem}dl{grid-template-columns:100px 1fr}h2{font-size:1.4rem}.row-fields{gap:.6rem}footer{padding:1rem}}@media print{body{background:white;color:black;font-size:11pt}header,main,footer{max-width:none;padding:.4rem}.hero h1{font-size:24pt}.panel{box-shadow:none;border-color:#888;break-inside:avoid;padding:.7rem}.no-print,button,.skip{display:none!important}.print-only{display:block}.grid{display:block}a{color:black}a::after{content:" (" attr(href) ")";font-size:8pt;overflow-wrap:anywhere}.badge{border:0}.checklist input{display:inline-block}.fee-row,.unit-controls{display:none}footer{font-size:9pt}.results{background:white}details> *{display:block}summary{display:none}#trainer{display:none}.print-checklist{display:block!important}}