.advanced-calculator-page .calculator-shell { width:min(1160px,calc(100% - 48px)); }
.advanced-workspace-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:2rem; align-items:start; margin-top:2.25rem; }
.advanced-input-flow { display:grid; gap:1.5rem; align-items:start; }
.advanced-input-section { padding:1.25rem; border:1px solid var(--calc-line); background:rgba(255,255,255,.38); }
.advanced-input-section>header { display:flex; gap:.9rem; align-items:center; padding-bottom:.8rem; border-bottom:1px solid var(--calc-line); }
.advanced-input-section>header>span { display:grid; place-items:center; width:36px; height:36px; flex:0 0 auto; border:1px solid var(--calc-copper); color:var(--calc-copper); font-size:.68rem; font-weight:850; }
.advanced-input-section>header p { margin:0 0 .15rem; color:#626962; font-size:.58rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.advanced-input-section>header h3 { margin:0; font:500 1.55rem Georgia,serif; }
.advanced-input-section>.field-shell,.advanced-input-section>[data-method-panel]>.field-shell { margin-top:1rem; }
.method-choice { margin:1.1rem 0 0; padding:0; border:0; }
.method-choice>legend { margin-bottom:.6rem; font-size:.72rem; font-weight:850; }
.method-options { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.method-options label { cursor:pointer; }
.method-options input { position:absolute; opacity:0; pointer-events:none; }
.method-options label>span { display:flex; min-height:83px; padding:.8rem; flex-direction:column; justify-content:center; border:1px solid var(--calc-line); background:#fff; }
.method-options strong { font-size:.75rem; }.method-options small { margin-top:.3rem; color:#606860; font-size:.62rem; line-height:1.35; }
.method-options input:checked+span { border-color:var(--calc-sage); box-shadow:inset 4px 0 0 var(--calc-sage); background:#eef0e8; }
.method-options input:focus-visible+span { outline:3px solid rgba(12,129,122,.25); outline-offset:2px; }
[data-method-panel][hidden] { display:none; }
.builder-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin:1.25rem 0 .85rem; }
.builder-heading h4 { margin:0; font:500 1.2rem Georgia,serif; }.builder-heading span { color:#646c64; font-size:.6rem; letter-spacing:.05em; text-transform:uppercase; }
.builder-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.builder-grid.three { grid-template-columns:repeat(3,1fr); }
.builder-grid label,.optional-builder>div>label { min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:.3rem; color:#596359; font-size:.66rem; font-weight:750; }
.builder-grid label>input,.optional-builder>div>label>input { margin-top:auto; }
.builder-total { display:flex; justify-content:space-between; gap:1rem; margin:.9rem 0 0; padding:.8rem 0; border-block:1px solid var(--calc-line); color:#5d665d; font-size:.7rem; }
.builder-total strong { color:var(--calc-ink); font:500 1.05rem Georgia,serif; }
.optional-builder { margin-top:1rem; border-block:1px solid var(--calc-line); background:rgba(255,255,255,.32); }
.optional-builder+ .optional-builder { margin-top:-1px; }
.optional-builder>summary { min-height:48px; display:flex; align-items:center; padding:.9rem; cursor:pointer; }
.optional-builder>summary>span { display:flex; justify-content:space-between; gap:1rem; }.optional-builder summary strong { font-size:.75rem; }.optional-builder summary small { color:#6b736b; font-size:.61rem; }
.optional-builder>.builder-grid,.optional-builder>.method-choice,.optional-builder>[data-method-panel],.optional-builder>p { margin:0 1rem 1rem; }
.method-choice.compact .method-options label>span { min-height:54px; }
.live-cost-summary { position:sticky; top:88px; padding:1.25rem; border-top:4px solid var(--calc-gold); background:var(--calc-deep); color:#fff; }
.live-cost-summary h3 { margin:.25rem 0 .6rem; font:500 1.45rem Georgia,serif; }
.live-cost-summary>strong { display:block; font:500 clamp(2rem,3.5vw,2.8rem)/1 Georgia,serif; overflow-wrap:anywhere; }
.live-cost-summary>span { display:block; margin:.45rem 0 1rem; color:#c8b98d; font-size:.65rem; text-transform:uppercase; letter-spacing:.07em; }
.live-cost-summary dl { margin:0; border-top:1px solid rgba(255,255,255,.14); }.live-cost-summary dl div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.65rem; }.live-cost-summary dt { color:rgba(255,255,255,.65); }.live-cost-summary dd { margin:0; text-align:right; }
.live-cost-summary>p:last-child { margin:1rem 0 0; color:#c7cfc7; font-size:.68rem; }
.live-cost-summary[data-cost-mode="known"] dl { display:none; }
.advanced-workspace-grid>.calculate-button { grid-column:1; justify-self:start; margin-top:0; }
.advanced-results .primary-results { grid-template-columns:repeat(4,1fr); }
.result-block { margin-top:2.2rem; }
.composition-bar { display:flex; width:100%; height:22px; overflow:hidden; border:1px solid var(--calc-line); background:rgba(40,45,40,.08); }
.composition-bar span { min-width:0; transition:width .35s ease; }.composition-bar [data-component="technology"] { background:#65765f; }.composition-bar [data-component="implementation"] { background:#9b6242; }.composition-bar [data-component="review"] { background:#b8ad86; }.composition-bar [data-component="other"] { background:#606b75; }
.composition-list { display:grid; grid-template-columns:repeat(5,1fr); margin:0; border-left:1px solid var(--calc-line); }
.composition-list div { padding:.9rem; border-right:1px solid var(--calc-line); border-bottom:1px solid var(--calc-line); }.composition-list dt { min-height:2.6rem; color:#626c62; font-size:.61rem; font-weight:850; text-transform:uppercase; }.composition-list dd { margin:.45rem 0 0; font:500 1.1rem Georgia,serif; }
.assumptions-block ul { display:grid; grid-template-columns:1fr 1fr; gap:.55rem 2rem; margin:0; padding:1.2rem 1.2rem 1.2rem 2.3rem; border:1px solid var(--calc-line); background:rgba(255,255,255,.4); color:#5b655b; font-size:.75rem; }
@media (min-width:900px) { .advanced-input-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }.advanced-input-section:nth-child(3) { grid-column:1/-1; } }
@media (min-width:621px) { .advanced-input-section>.unit-cost-reference .derived-currency { font-size:clamp(1.05rem,1.25vw,1.2rem); overflow-wrap:normal; white-space:nowrap; } }
@media (max-width:1100px) { .advanced-workspace-grid { grid-template-columns:1fr; }.live-cost-summary { position:static; grid-row:3; }.advanced-workspace-grid>.calculate-button { grid-row:2; }.advanced-results .primary-results { grid-template-columns:repeat(2,1fr); }.composition-list { grid-template-columns:repeat(2,1fr); } }
@media (max-width:899px) { .advanced-input-flow { grid-template-columns:1fr; } }
@media (max-width:620px) { .advanced-calculator-page .calculator-shell { width:calc(100% - 32px); }.advanced-workspace-grid { gap:1.25rem; }.advanced-input-flow { gap:1.25rem; }.advanced-input-section { padding:1rem; }.method-options,.builder-grid,.builder-grid.three,.advanced-results .primary-results,.composition-list,.assumptions-block ul { grid-template-columns:1fr; }.method-options label>span { min-height:70px; }.builder-heading,.optional-builder>summary>span { align-items:flex-start; flex-direction:column; }.field-shell>p { min-height:0; }.advanced-workspace-grid>.calculate-button { width:100%; } }
