:root{--ink:#172f32;--muted:#536569;--green:#153e42;--lime:#d4e8c5;--line:#dce3df;--paper:#f6f7f3;--warn:#916421}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #cc8a27;outline-offset:4px}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;border-bottom:1px solid var(--line)}.wordmark{color:var(--green);text-decoration:none;font-size:16px;letter-spacing:2px;font-weight:800}.wordmark span{display:block;font-size:9px;font-weight:500;letter-spacing:3px;margin-top:3px}.project-tag{font-size:11px;font-weight:700;letter-spacing:2px}.project-tag span{padding:0 12px;color:#8b9b97}main{max-width:1440px;margin:auto;padding:38px 48px 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;margin:0 0 10px}h1{font-size:clamp(30px,3vw,44px);font-weight:550;line-height:1.15;letter-spacing:-1.6px;margin:0}h2{font-size:23px;font-weight:550;letter-spacing:-.6px;margin:0}.lede{color:var(--muted);margin:10px 0 0}.reset{background:white;border:1px solid var(--line);border-radius:6px;padding:12px 17px;color:var(--ink);font-size:12px;white-space:nowrap}.budget-panel{display:grid;grid-template-columns:1.1fr .6fr .8fr;background:var(--green);color:white;border-radius:12px;padding:28px 30px;gap:28px}.budget-panel .eyebrow{color:#bdd0c9}#total{font-size:clamp(24px,3vw,38px);font-weight:500;letter-spacing:-1px;line-height:1.2}#coverage{font-size:11px;color:#bdd0c9;margin:10px 0 0}.delta{border-left:1px solid #47676a;padding-left:25px;align-self:center}.delta span,.delta small{display:block;font-size:11px;color:#bdd0c9}.delta strong{display:block;font-size:21px;font-weight:500;margin:5px 0}.summary-warning{font-size:12px;display:flex;gap:12px;align-self:center}.summary-warning strong{font-weight:600;color:var(--lime)}.summary-warning p{color:#c4d4cf;font-size:11px;margin:5px 0 0}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);flex-shrink:0;margin-top:6px}.workspace{display:grid;grid-template-columns:220px 1fr;gap:40px;margin-top:36px}aside{border-right:1px solid var(--line);padding-right:24px}aside nav{display:flex;flex-direction:column;gap:5px}nav button{border:0;text-align:left;background:transparent;color:var(--muted);padding:11px 12px;border-radius:6px;display:flex;justify-content:space-between;gap:8px;font-size:12px}nav button.active{background:#e1e9df;color:var(--green);font-weight:700}nav button span{font-size:10px;opacity:.7}.legend{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.legend h2{font-size:13px;font-weight:650;letter-spacing:0}.legend p{margin:10px 0}.legend .safety{border-left:2px solid #92ad86;padding-left:10px;margin-top:20px}.scope-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.room-subtotal{text-align:right}.room-subtotal small{font-size:9px;letter-spacing:1px;display:block;color:var(--muted)}.room-subtotal strong{font-size:18px;font-weight:550}.scope-note{font-size:12px;color:var(--muted);margin:10px 0 22px}.card{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:16px;overflow:hidden}.card-top{padding:20px 22px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.package-id{font-size:10px;color:#7f938a;letter-spacing:1px;margin-bottom:5px}.card h3{font-size:16px;font-weight:600;margin:0}.badge{display:inline-block;font-size:9px;padding:3px 7px;border-radius:4px;background:#edf2e8;color:#4d6b45;margin-top:7px}.include{font-size:11px;white-space:nowrap;color:var(--muted);display:flex;gap:6px;align-items:center;padding-top:4px}.include input{accent-color:var(--green);width:16px;height:16px}.card-main{padding:0 22px 20px;display:grid;grid-template-columns:1fr 180px;gap:24px}.tiers{border:0;padding:0;margin:0;display:flex;background:#f0f3ee;border-radius:6px;width:100%;max-width:345px}.tiers label{flex:1;position:relative;cursor:pointer;text-align:center}.tiers input{position:absolute;opacity:0}.tiers span{display:block;padding:8px 9px;font-size:12px;border:1px solid transparent;border-radius:5px}.tiers input:checked+span{background:var(--green);color:white}.tiers input:focus-visible+span{outline:3px solid #cc8a27;outline-offset:2px}.option{font-size:13px;line-height:1.6;margin:12px 0 0;overflow-wrap:anywhere}.package-price{text-align:right;align-self:center}.package-price strong{display:block;font-size:17px;font-weight:550}.package-price small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.unresolved{color:var(--warn)}.card details{border-top:1px solid #edf0eb;padding:11px 22px;font-size:11px;color:var(--muted)}summary{cursor:pointer;font-weight:550}details .detail-grid{padding:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}details p{margin:3px 0}details b{color:var(--ink)}details a{color:var(--green);overflow-wrap:anywhere}.disabled{opacity:.7}.review{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;border-top:1px solid var(--line);padding:30px 0;margin-top:30px}.review h2{font-size:24px}.review p{font-size:12px;color:var(--muted)}.review details{border:1px solid var(--line);border-radius:7px;background:#fff;padding:15px 18px;margin-bottom:10px;font-size:12px}.review li{margin:8px 0;color:var(--muted)}footer{padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;font-size:10px;color:var(--muted)}footer strong{letter-spacing:1.5px}footer>p{max-width:600px;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty{padding:20px;background:#fff;border:1px solid var(--line)}
@media(max-width:1000px){header{padding:24px}main{padding:28px 24px 0}.budget-panel{grid-template-columns:1fr 1fr}.summary-warning{grid-column:1/-1;border-top:1px solid #47676a;padding-top:15px}.workspace{grid-template-columns:175px 1fr;gap:25px}.card-main{grid-template-columns:1fr}.package-price{text-align:left}.review{gap:30px}}@media(max-width:650px){header{padding:18px}.project-tag{font-size:8px;letter-spacing:1px}.project-tag span{padding:0 5px}.wordmark{font-size:12px}.wordmark span{font-size:7px}main{padding:25px 16px 0}.intro{align-items:flex-start;flex-direction:column;gap:17px}h1{font-size:32px}.lede{font-size:13px}.reset{padding:9px 12px;font-size:11px}.budget-panel{padding:22px;gap:19px;grid-template-columns:1fr}.delta{border-left:0;padding-left:0;border-top:1px solid #47676a;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.delta strong{font-size:17px}.delta small{display:none}.summary-warning{grid-column:auto}.workspace{display:block;margin-top:25px}aside{padding:0;border:0}aside nav{flex-direction:row;overflow-x:auto;padding-bottom:10px;margin-bottom:22px}nav button{min-width:135px;align-items:center}.legend{display:none}.scope-head{gap:8px}.scope-head h2{font-size:22px}.room-subtotal strong{font-size:14px}.room-subtotal small{font-size:8px}.card-top{padding:17px}.card-main{padding:0 17px 17px;gap:10px}.card details{padding:12px 17px}.card h3{font-size:15px}details .detail-grid{grid-template-columns:1fr}.review{grid-template-columns:1fr;gap:12px;margin-top:25px}.review h2{font-size:23px}footer{display:block}footer>p{margin-top:15px}}
@media print{button,aside,.include{display:none}.workspace{display:block}.budget-panel{color:#111;background:#eee}.budget-panel *{color:#111!important}.card{break-inside:avoid}.review{display:block}main,header{padding:15px}.tiers input:checked+span{background:#ddd;color:#111}}
/* Readable meeting-room and phone scale. */
body{font-size:16px}.eyebrow,.project-tag,.wordmark span,.package-id,.room-subtotal small{font-size:12px;letter-spacing:1px}.lede{font-size:16px}.reset,nav button,.legend,.include,.tiers span,.scope-note,.summary-warning,.summary-warning p,.delta span,.delta small,.card details,.package-price small,.review p,.review details,footer{font-size:14px}.option{font-size:16px}.badge,nav button span,#coverage{font-size:12px}.legend h2{font-size:15px}#range{font-size:14px;color:#d4e8c5;margin:8px 0}.room-subtotal small{font-size:12px}.summary-warning .status-dot{display:none}.budget-panel{grid-template-columns:1.1fr .8fr 1fr}.delta strong{font-size:20px}.workspace{grid-template-columns:230px 1fr}.tiers span{padding:10px}.card-main{grid-template-columns:1fr 205px}
@media(max-width:1000px){.budget-panel{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:190px 1fr}.card-main{grid-template-columns:1fr}}@media(max-width:650px){.budget-panel{grid-template-columns:1fr}.workspace{display:block}.wordmark{font-size:12px}.wordmark span{font-size:10px}.project-tag{font-size:10px}.scope-head{display:block}.room-subtotal{text-align:left;margin-top:10px}.room-subtotal small{display:inline;font-size:12px;margin-right:10px}.room-subtotal strong{font-size:16px}.card h3{font-size:17px}.reset{font-size:14px}.card-top{gap:10px}.include{font-size:14px}.delta{display:block}.delta strong{margin-top:8px}.eyebrow{font-size:12px}.lede{font-size:16px}}
.budget-breakdown{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px 20px;font-size:14px}.budget-breakdown summary{color:var(--green)}#breakdown{margin:15px 0}#breakdown>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid var(--line)}#breakdown strong{white-space:nowrap;font-weight:550}.budget-breakdown p{color:var(--muted);font-size:13px;max-width:960px}@media(max-width:650px){#breakdown>div{flex-direction:column;gap:3px}.budget-breakdown{padding:15px}}
body{padding-bottom:70px}.floating-total{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#153e42;color:white;border-top:1px solid #47676a;display:flex;justify-content:space-between;align-items:center;padding:14px max(24px,calc((100vw - 1344px)/2));gap:20px;box-shadow:0 -3px 14px #172f3215}.floating-total span{font-size:14px;color:#d4e8c5}.floating-total strong{font-size:22px;font-weight:550}@media(max-width:650px){.floating-total{padding:12px 17px}.floating-total span{font-size:12px;max-width:170px}.floating-total strong{font-size:20px}}@media print{.floating-total{display:none}}
@media(max-width:650px){header{padding:14px 17px}.intro{position:relative;padding-right:0;gap:12px;margin-bottom:18px}.intro .eyebrow{margin-bottom:6px;font-size:11px}h1{font-size:28px;letter-spacing:-1px}.intro .lede{display:none}.intro .reset{font-size:12px;padding:7px 10px}.budget-panel{padding:17px;gap:12px}.budget-panel .eyebrow{font-size:11px;margin-bottom:6px}#total{font-size:29px}#range{margin:5px 0}#coverage{margin-top:6px}.delta{display:flex;padding-top:9px}.delta span{font-size:12px}.delta strong{font-size:15px;margin:0}.summary-warning{padding-top:9px}.summary-warning strong{font-size:13px}.summary-warning p{display:none}.workspace{margin-top:20px}aside>.eyebrow{display:none}aside nav{margin-bottom:12px}.scope-note{font-size:13px;margin-bottom:14px}.budget-breakdown{font-size:13px;padding:12px 15px}.card-top{padding-bottom:12px}.scope-head .eyebrow{display:none}}
.assumption-preview{font-size:13px;color:var(--muted);margin:10px 0 0;line-height:1.5}.assumption-preview b{font-weight:600;color:var(--ink)}
.quantity-notice{font-size:14px;line-height:1.6;background:#edf1f3;border-left:3px solid #50727e;padding:14px 17px;margin:18px 0;color:#314f59}.quantity-evidence{padding:15px 22px;border-top:1px solid var(--line);background:#f3f6f7;font-size:13px;line-height:1.6;color:#465f68}.quantity-evidence>strong{font-size:13px;color:#294b58}.quantity-evidence p{margin:5px 0 8px}.quantity-evidence a{color:#153e42}.floor-basis{background:#f4f6ef;padding:14px;margin:12px 0;border-left:3px solid #91a67b}.floor-basis p{margin:7px 0}@media(max-width:650px){.quantity-evidence{padding:14px 17px}.quantity-notice{font-size:13px}}
.scenario-notice{margin:-10px 0 18px;font-size:14px;color:var(--muted);max-width:950px}
.configuration-warning{padding:16px 20px;background:#fff3d8;border:1px solid #d4b575;border-radius:8px;color:#694c17;margin:0 0 18px;font-size:14px}.configuration-warning p{margin:6px 0}.configuration-warning ul{margin:8px 0;padding-left:20px}.tier-warning{padding:13px 22px;background:#fff3d8;color:#694c17;border-top:1px solid #e4d6b6;font-size:13px}
/* Signature is an explicit fourth option, never the opening recommendation. */
.tiers{max-width:460px}.tiers label:last-child span{color:#765822;background:#f2ead8}.tiers label:last-child input:checked+span{background:#b78c42;color:#122f33;font-weight:750}.signature-selected{border-color:#b78c42;box-shadow:inset 0 3px #b78c42}.signature-selected .package-id{color:#88611e}.signature-legend{color:#765822!important}.signature-legend b{letter-spacing:.2px}@media(max-width:650px){.tiers span{font-size:13px;padding:11px 5px}.tiers label{min-width:0}.card-main{gap:12px}}
.tier-comparison{margin-top:12px;font-size:14px;padding:15px 20px;background:#fff;border:1px solid var(--line);border-radius:8px}.tier-comparison>p{font-size:13px;color:var(--muted)}#tier-comparisons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tier-comparison-card{padding:16px;background:#f0f4f2;border-radius:6px;display:flex;flex-direction:column;gap:6px}.tier-comparison-card strong{font-size:22px;font-weight:550;letter-spacing:-.5px}.tier-comparison-card span,.tier-comparison-card small{font-size:12px;color:var(--muted)}.signature-comparison{background:#183d43;color:#f2d69c;border-top:3px solid #bc9654}.signature-comparison span,.signature-comparison small{color:#d7dfd8}@media(max-width:850px){#tier-comparisons{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){#tier-comparisons{grid-template-columns:1fr}.tier-comparison{padding:14px 16px}}
.show-architecture{padding:20px 22px;margin-top:18px;background:#edf2f4;border:1px solid #cedde1;border-radius:9px;font-size:14px}.show-architecture h2{font-size:20px}.show-architecture p{margin:10px 0}.show-architecture details{margin-top:12px;font-size:13px;color:#435e68}.show-architecture summary{color:#254d58}.optional-expansions{background:white;margin-top:16px;padding:16px;border-left:3px solid #ad853d}.optional-expansions>strong{color:#785719}.optional-expansions article{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.optional-expansions h3{font-size:14px;margin:0 0 5px}.optional-expansions article>strong{font-size:16px;color:var(--ink)}
/* Persistent budget and room navigation. Sticky elements stay in normal flow. */
body{padding-bottom:0}.floating-total{display:none}.mobile-sticky{display:none}.budget-panel{position:sticky;top:0;z-index:25;box-shadow:0 7px 18px #153e4215}.workspace{align-items:start;scroll-margin-top:calc(var(--budget-sticky-height,200px) + 18px)}.workspace aside{position:sticky;top:calc(var(--budget-sticky-height,200px) + 18px);align-self:start;max-height:calc(100dvh - var(--budget-sticky-height,200px) - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.card{scroll-margin-top:calc(var(--budget-sticky-height,200px) + 20px)}
@media(max-width:650px){.budget-panel{position:static;box-shadow:none}.workspace aside{display:none}.mobile-sticky{display:grid;grid-template-columns:1fr;gap:5px;position:sticky;top:0;z-index:30;background:#153e42;color:white;margin:0 -16px 22px;padding:12px 16px;box-shadow:0 5px 14px #102e3325}.mobile-target{display:flex;justify-content:space-between;align-items:center;gap:15px}.mobile-target span{font-size:12px;max-width:150px;color:#d4e8c5}.mobile-target strong{font-size:23px;font-weight:550}.mobile-sticky label{font-size:12px;color:#d4e8c5}.mobile-sticky select{width:100%;font:inherit;font-size:14px;background:white;color:#173c42;border:1px solid #afc4bd;border-radius:5px;padding:9px 10px;min-height:42px}.workspace,.card{scroll-margin-top:calc(var(--mobile-sticky-height,140px) + 15px)}}
@media print{.budget-panel{position:static}.mobile-sticky{display:none}.workspace aside{display:none}}
/* Desktop working surface: four real choices are visible together. */
header,main{max-width:1800px}header{padding-left:36px;padding-right:36px}main{padding-left:36px;padding-right:36px}.workspace{grid-template-columns:230px minmax(0,1fr);gap:30px}.card-main{display:block}.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:10px;background:none}.tiers label{display:flex;min-width:0;text-align:left}.tiers span{border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;padding:15px 13px;height:100%;width:100%;font-size:14px;line-height:1.5;min-height:185px;background:#f5f7f4}.tiers span>b{font-size:15px;letter-spacing:.2px}.tiers .choice-price{font-size:16px;font-weight:650;line-height:1.25;letter-spacing:-.4px}.tiers span>small{font-size:14px;line-height:1.5}.tiers label:last-child span{background:#f7f0df;border-color:#d8c28d;color:#674b1d}.tiers label:last-child input:checked+span{background:#c5a35f;color:#18353b;border-color:#a48038}.tiers input:checked+span{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.package-price{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;text-align:left;margin-top:15px}.package-price strong{font-size:17px}.package-price small{font-size:13px}.assumption-preview{font-size:14px;margin-top:16px}.scope-note{max-width:1050px}
@media(max-width:1100px){header,main{padding-left:24px;padding-right:24px}.workspace{grid-template-columns:190px minmax(0,1fr);gap:20px}.tiers{gap:7px}.tiers span{padding:12px 10px}.tiers .choice-price{font-size:14px}.tiers span>small{font-size:13px}}
@media(max-width:850px){.tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.tiers span{min-height:150px}}@media(max-width:650px){header,main{padding-left:16px;padding-right:16px}.workspace{display:block}.tiers span>small{font-size:13px}}@media(max-width:450px){.tiers{grid-template-columns:1fr}.tiers span{min-height:0}.tiers span>b{font-size:15px}.tiers .choice-price{font-size:16px}}
.technical-scope{padding:17px;background:#f1f4f5;border:1px solid #d2dfe2;border-radius:6px;margin:13px 0;font-size:14px;line-height:1.6}.technical-scope h4{font-size:16px;color:var(--ink);margin:0 0 10px}.technical-scope h5{font-size:14px;color:var(--ink);margin:16px 0 5px}.technical-scope li{margin:10px 0}.price-build-up{margin:12px 0}.price-build-up>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #d4dfe2}.price-build-up small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.price-build-up strong{white-space:nowrap;color:var(--ink);font-weight:600}@media(max-width:650px){.price-build-up>div{flex-direction:column;gap:4px}}

/* Long model names and source text must never widen the working surface. */
.scope,.card-main,.card-top>div,.budget-panel>div,.detail-grid>div{min-width:0}.tiers span>small,.tiers .choice-price,.assumption-preview,.technical-scope,.quantity-evidence,.scope-head,.tier-comparison-card{overflow-wrap:anywhere}.scope-head{flex-wrap:wrap}.tiers input{width:1px;height:1px;pointer-events:none}

/* Put the working controls in the first screen; supporting notes follow the packages. */
header{padding-top:18px;padding-bottom:18px}main{padding-top:24px}.intro{margin-bottom:20px}.budget-panel{padding:22px 25px;gap:22px}.workspace{margin-top:24px}
@media(min-width:651px){.workspace aside nav{padding-bottom:8px}.workspace aside .legend{margin-top:16px;padding-top:14px}.budget-panel .summary-warning p{font-size:13px}.budget-breakdown,.tier-comparison{padding:10px 17px}}
@media(min-width:651px) and (max-height:800px){.budget-panel{padding-top:15px;padding-bottom:15px}.budget-panel .summary-warning p{font-size:12px}.budget-panel .eyebrow{margin-bottom:6px}.budget-panel #coverage{margin-top:6px}}

/* Compact persistent summary; the detailed budget and qualifications remain static. */
.budget-panel{position:static;box-shadow:none}
.mobile-sticky{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--green);color:white;border-radius:8px;margin:0 0 14px;padding:10px 18px;box-shadow:0 5px 14px #102e3325}
.mobile-target{display:flex;align-items:baseline;gap:14px;min-width:0}
.mobile-target span{font-size:14px;line-height:1.4;color:var(--lime);white-space:nowrap;max-width:none}
.mobile-target strong{font-size:24px;line-height:1.3;font-weight:600;white-space:nowrap}
.mobile-sticky select{width:230px;min-width:0;max-width:40%;min-height:38px;font:inherit;font-size:14px;padding:6px 10px;background:white;color:var(--green);border:1px solid #afc4bd;border-radius:5px}
.mobile-sticky select:focus-visible{outline:3px solid #cc8a27;outline-offset:3px}
.workspace{scroll-margin-top:calc(var(--budget-sticky-height,58px) + 18px)}
.workspace aside{top:calc(var(--budget-sticky-height,58px) + 18px);max-height:calc(100dvh - var(--budget-sticky-height,58px) - 36px)}
.card{scroll-margin-top:calc(var(--budget-sticky-height,58px) + 20px)}
@media(max-width:750px) and (min-width:651px){.mobile-sticky{gap:12px;padding:10px 12px}.mobile-target{gap:10px}.mobile-target span{font-size:13px}.mobile-target strong{font-size:22px}.mobile-sticky select{width:200px}}
@media(max-width:650px){.mobile-sticky{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin:0 -16px 16px;padding:8px 16px;border-radius:0}.mobile-target{justify-content:space-between;gap:8px}.mobile-target span{font-size:13px}.mobile-target strong{font-size:22px}.mobile-sticky select{width:100%;max-width:none;min-height:36px;padding:5px 10px}.workspace,.card{scroll-margin-top:calc(var(--mobile-sticky-height,86px) + 15px)}}
@media print{.mobile-sticky{display:none}}
