/* A budget decision path: estimate first, details only when requested. */
body.guide-sidebar #pricing{min-width:0}
body.guide-sidebar #pricing .panel-heading.topic-cover{padding-bottom:20px;margin-bottom:18px}
body.guide-sidebar #pricing .panel-heading.topic-cover h1{font:500 .9375rem/1.5 var(--brand-sans);color:var(--forest);margin:0 0 8px;letter-spacing:.025em}
body.guide-sidebar #pricing .panel-heading.topic-cover .pricing-hook{font:400 clamp(2rem,3.2vw,3rem)/1.38 var(--brand-serif);letter-spacing:-.02em;color:var(--ink);max-width:16em;margin:0 0 16px;text-wrap:balance}
body.guide-sidebar #pricing .topic-cover-copy>p{max-width:37rem;line-height:1.8}
#pricing .pricing-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin:0 0 24px}
#pricing .pricing-hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-size:.9375rem;line-height:1.5;text-decoration:none}
#pricing .pricing-start-button{padding:11px 20px;background:#314b3b;color:white}
#pricing .pricing-hero-actions a:last-child{color:var(--forest);border-bottom:1px solid #8a9b89}
#pricing .unified-budget{margin:0 0 28px;min-width:0}
#pricing .unified-budget #estimate-form{padding:28px}
#pricing .unified-budget h2{margin:0 0 20px;font-size:1.35rem;line-height:1.5}
#pricing .budget-type-grid{gap:8px}
#pricing .budget-type-option span{min-height:76px;padding:12px 14px;box-sizing:border-box}
#pricing .budget-type-option small{font-size:.875rem;line-height:1.5}
#pricing .budget-area-field{max-width:20rem;margin-bottom:20px}
#pricing .budget-area-field small{font-size:.875rem}
#pricing .unified-summary{min-width:0}
#pricing .unified-summary h3{font-size:1.3rem}
#pricing .unified-summary #quick-total strong{font:500 clamp(1.55rem,3vw,2rem)/1.45 var(--brand-serif);padding:16px 0}
#pricing .unified-summary #quick-total p{border:0;padding:4px 0;color:var(--muted)}
#pricing .summary-note{font-size:.9375rem;line-height:1.7;margin-top:18px}
#pricing .summary-note a{display:block;width:fit-content;color:var(--forest);margin-top:5px;text-decoration:underline;text-underline-offset:4px}
#pricing .budget-check{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
#pricing .budget-check[hidden]{display:none}
#pricing .budget-check label{display:block;font-size:.9375rem;font-weight:600;line-height:1.6;margin-bottom:8px}
#pricing .budget-check label span{display:block;color:var(--muted);font-size:.875rem;font-weight:400}
#pricing .budget-check input{width:100%;max-width:13rem;min-height:46px;padding:10px 12px;border:1px solid #a9b5a5;background:#fff;color:var(--ink);font-size:1rem;box-sizing:border-box}
#pricing #budget-check-status{font-size:.9375rem;line-height:1.7;color:var(--forest);margin:10px 0 0}
#pricing .topic-jumps{margin:12px 0 28px}
#pricing .pricing-flow-section{max-width:58rem;min-width:0;margin:0 auto 54px;scroll-margin-top:110px}
#pricing .pricing-kicker{color:var(--forest);font-size:.8125rem;line-height:1.5;letter-spacing:.08em;margin:0 0 9px}
#pricing .pricing-flow-section>h2,#pricing .pricing-mentor h2{font:500 clamp(1.5rem,2.5vw,1.9rem)/1.5 var(--brand-sans);letter-spacing:0;max-width:30em;margin:0 0 14px;color:var(--ink)}
#pricing .pricing-flow-section>p,#pricing .pricing-mentor p{font-size:1rem;line-height:1.8;max-width:42rem;margin:0 0 20px}
#pricing .budget-pocket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;border-top:1px solid var(--line)}
#pricing .budget-pocket-grid article{min-width:0;padding:18px 0 20px;border-bottom:1px solid var(--line)}
#pricing .budget-pocket-grid article>span{display:block;color:#667d69;font-size:.8125rem;margin-bottom:7px}
#pricing .budget-pocket-grid h3{font-size:1.125rem;line-height:1.5;margin:0 0 6px;color:var(--ink)}
#pricing .budget-pocket-grid p{color:var(--muted);font-size:.9375rem;line-height:1.7;margin:0}
#pricing .pocket-note{font-size:.875rem!important;color:var(--muted);margin:15px 0!important}
#pricing .pricing-emphasis{font:400 clamp(1.15rem,2vw,1.35rem)/1.7 var(--brand-serif)!important;color:var(--forest);max-width:36rem;margin:24px 0 0!important}
#pricing .budget-houses{border-top:1px solid var(--line);margin-top:24px}
#pricing .budget-house{border-bottom:1px solid var(--line);min-width:0}
#pricing .budget-house summary{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;position:relative;min-height:60px;padding:12px 34px 12px 0;cursor:pointer;list-style:none}
#pricing .budget-house summary::-webkit-details-marker,#pricing .price-catalog summary::-webkit-details-marker{display:none}
#pricing .budget-house summary::after{content:'+';position:absolute;right:4px;top:16px;font:400 1.25rem/1.5 var(--brand-sans);color:var(--forest)}
#pricing .budget-house[open] summary::after{content:'−'}
#pricing .budget-house summary strong{font-size:1rem;line-height:1.5}
#pricing .budget-house summary span{font-size:.9375rem;color:var(--forest);white-space:nowrap}
#pricing .budget-house-body{padding:0 24px 18px 0}
#pricing .budget-house-body p{display:grid;grid-template-columns:6em minmax(0,1fr);gap:10px;font-size:.9375rem;line-height:1.75;color:var(--muted);margin:7px 0}
#pricing .budget-house-body b{font-weight:600;color:var(--ink)}
#pricing :is(.budget-house,.price-catalog) summary:focus-visible,#pricing .move-in-choice:focus-within{outline:2px solid var(--forest);outline-offset:3px}
#pricing .move-in-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;border-top:1px solid var(--line);margin-top:24px}
#pricing .move-in-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}
#pricing .move-in-choice{display:flex;align-items:center;gap:11px;min-height:40px;min-width:0;cursor:pointer;font-size:1rem;line-height:1.5}
#pricing .move-in-choice input{width:20px;height:20px;flex:none;accent-color:var(--forest);margin:0}
#pricing .move-in-amount{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--muted)}
#pricing .move-in-amount input{width:6.5rem;min-height:40px;padding:7px 8px;box-sizing:border-box;font:inherit;border:1px solid #a9b5a5;background:#fff;color:var(--ink)}
#pricing .move-in-amount input:disabled{display:none}
#pricing .move-in-item:not(:has(.move-in-choice input:checked)) .move-in-amount{display:none}
#pricing .move-in-tally{padding:17px 20px;margin-top:20px;background:#edf1e9;border-left:3px solid #7f987d}
#pricing .move-in-tally p{font-size:.9375rem;line-height:1.7;margin:0;color:var(--forest)}
#pricing .move-in-tally p+p{margin-top:8px;color:var(--ink)}
#pricing .pricing-equation{display:grid;gap:7px;margin:24px 0!important;padding:22px 24px;background:#2b4235;color:#fffaf0;max-width:none!important}
#pricing .pricing-equation span{font-size:.9375rem;color:#dbe5d9}
#pricing .pricing-equation strong{font:400 clamp(1.15rem,2.2vw,1.5rem)/1.6 var(--brand-serif);color:#fffaf0;overflow-wrap:anywhere}
#pricing .price-catalog{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:18px;min-width:0}
#pricing .price-catalog>summary{position:relative;list-style:none;min-height:56px;padding:14px 34px 14px 0;cursor:pointer;font-size:1rem;font-weight:600;line-height:1.6}
#pricing .price-catalog>summary::after{content:'+';position:absolute;right:4px;top:14px;color:var(--forest);font-size:1.25rem;font-weight:400}
#pricing .price-catalog[open]>summary::after{content:'−'}
#pricing .price-catalog-body{border-top:1px solid var(--line);padding:20px 0}
#pricing .price-reference-table{width:100%;table-layout:auto;border-collapse:collapse;background:#faf9f6}
#pricing .price-reference-table thead{background:#e7e6df;color:var(--ink)}
#pricing .price-reference-table th,#pricing .price-reference-table td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.6;vertical-align:middle}
#pricing .price-reference-table thead th{font-weight:600;text-align:left}
#pricing .price-reference-table thead th:first-child{width:22%}
#pricing .price-reference-table thead th:last-child{width:35%;text-align:right}
#pricing .price-reference-table .price-category{color:var(--muted)}
#pricing .price-reference-table .price-item{font-weight:600;color:var(--ink);text-align:left}
#pricing .price-reference-table .price-value{font-variant-numeric:tabular-nums;color:var(--forest);font-weight:600;text-align:right;white-space:nowrap}
#pricing .price-reference-notes{margin-top:22px;padding:2px 0 2px 18px;border-left:2px solid #aab6a5}
#pricing .price-reference-notes h3{font-size:1rem;line-height:1.5;margin:0 0 9px}
#pricing .price-reference-notes p{font-size:.875rem;line-height:1.75;color:var(--muted);margin:0 0 8px}
#pricing .pricing-quote-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}
#pricing .pricing-quote-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--line);padding:15px 0}
#pricing .pricing-quote-list li>span{font-size:.875rem;color:var(--forest);line-height:1.7}
#pricing .pricing-quote-list h3{font-size:1rem;line-height:1.6;margin:0 0 3px}
#pricing .pricing-quote-list p{font-size:.9375rem;line-height:1.7;color:var(--muted);margin:0}
#pricing .pricing-mentor{max-width:58rem;margin:0 auto 50px;padding:25px 0 0;border-top:1px solid #aab6a5}
#pricing .pricing-mentor h2{font-family:var(--brand-serif);font-weight:400}
#pricing .pricing-mentor p:last-child{margin-bottom:0;color:var(--forest)}
#pricing .consultation .pricing-try-again{display:inline-block;margin:16px 0 0 18px;color:var(--forest);text-decoration:underline;text-underline-offset:5px}

@media(max-width:900px){
 body.guide-sidebar #pricing .panel-heading.topic-cover{padding:20px 0 16px;margin:0 0 16px}
 body.guide-sidebar #pricing .panel-heading.topic-cover .pricing-hook{font-size:clamp(1.9rem,7.5vw,2.55rem);line-height:1.4}
 #pricing .pricing-hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:18px}
 #pricing .pricing-hero-actions a{width:100%;box-sizing:border-box}
 #pricing .pricing-hero-actions a:last-child{border:1px solid var(--line);padding:10px 16px}
 #pricing .unified-budget #estimate-form{padding:22px 18px}
 #pricing .unified-summary{padding:22px 18px}
 #pricing .topic-jumps{display:none}
 #pricing .pricing-flow-section{margin-bottom:42px;scroll-margin-top:94px}
 #pricing .budget-pocket-grid{grid-template-columns:minmax(0,1fr)}
 #pricing .budget-pocket-grid article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 12px;padding:16px 0}
 #pricing .budget-pocket-grid article>span{grid-row:1/3;margin:0}
 #pricing .budget-pocket-grid h3,#pricing .budget-pocket-grid p{grid-column:2}
 #pricing .budget-house summary{align-items:flex-start;flex-wrap:wrap;gap:0 12px}
 #pricing .budget-house summary span{white-space:normal}
 #pricing .move-in-grid{grid-template-columns:minmax(0,1fr)}
 #pricing .pricing-equation{padding:19px 18px}
 #pricing .price-reference-table,#pricing .price-reference-table tbody,#pricing .price-reference-table tr,#pricing .price-reference-table th,#pricing .price-reference-table td{display:block;width:100%;box-sizing:border-box}
 #pricing .price-reference-table thead{display:none}
 #pricing .price-reference-table tr{padding:13px 16px;border-bottom:1px solid var(--line)}
 #pricing .price-reference-table th,#pricing .price-reference-table td{padding:0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
 #pricing .price-reference-table .price-category{font-size:.8125rem;line-height:1.5;margin-bottom:2px}
 #pricing .price-reference-table .price-item{font-size:1rem;line-height:1.5}
 #pricing .price-reference-table .price-value{font-size:.9375rem;line-height:1.6;margin-top:3px}
 #pricing .consultation .pricing-try-again{display:block;width:fit-content;margin:16px 0 0}
}
@media(max-width:390px){
 #pricing .budget-house summary{display:grid;gap:1px}
 #pricing .budget-house-body p{grid-template-columns:1fr;gap:0}
 #pricing .move-in-amount input{width:5.6rem}
}
@media(prefers-reduced-motion:reduce){
 #pricing *{scroll-behavior:auto}
}

/* 2026-10 budget planning: a compact comparison ledger, not nine oversized cards. */
#pricing .budget-area-choice{border:0;padding:0;margin:0 0 24px;min-width:0}
#pricing .budget-area-choice legend{font-size:.9375rem;font-weight:600;line-height:1.6;margin:0 0 12px}
#pricing .budget-area-choice legend span{font-size:.75rem;letter-spacing:.08em;color:var(--forest);margin-right:8px}
#pricing .budget-area-ranges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}
#pricing .budget-area-ranges button{min-height:40px;padding:8px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.8125rem;cursor:pointer}
#pricing .budget-area-ranges button:hover{border-color:#7f987d;background:#f2f4ed}
#pricing .budget-area-ranges button:focus-visible,#pricing .style-result-summary:focus-visible,#pricing .budget-line-cta:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
#pricing .budget-area-field{margin-bottom:0}
#pricing .unified-budget{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}
#pricing .unified-summary{background:#f5f5ef}
#pricing .unified-summary #quick-total small{display:block;color:var(--muted);font-size:.875rem;line-height:1.7;margin-top:3px}
#pricing .style-results{border-top:1px solid #c8cfc4;margin-top:19px}
#pricing .style-result{border-bottom:1px solid #c8cfc4;padding:0}
#pricing .style-result-summary{width:100%;min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;text-align:left;padding:11px 4px;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
#pricing .style-result-summary span{display:grid;gap:2px}
#pricing .style-result-summary strong{font-size:1rem;line-height:1.5;color:var(--ink)}
#pricing .style-result-summary small{font-size:.8125rem;color:var(--muted)}
#pricing .style-result-summary b{font:500 1rem/1.5 var(--brand-serif);color:var(--forest);white-space:nowrap}
#pricing .style-result.is-selected{background:#e9eee5;box-shadow:inset 3px 0 0 var(--forest)}
#pricing .style-result.is-selected .style-result-summary{padding-left:13px}
#pricing .style-representatives{display:flex;flex-wrap:wrap;gap:5px 14px;list-style:none;padding:0 4px 12px;margin:-3px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.5}
#pricing .style-representatives li::before{content:'・';color:#80917f}
#pricing .style-materials{padding:0 13px 16px}
#pricing .style-materials[hidden]{display:none}
#pricing .selected-style-kicker{font-size:.8125rem;color:var(--forest);margin:0 0 4px}
#pricing .style-materials h4{font:500 1.35rem/1.4 var(--brand-serif);color:var(--forest);margin:0 0 5px}
#pricing .style-materials>p{font-size:.875rem;line-height:1.7;color:var(--muted);margin:0 0 14px}
#pricing .material-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;border-top:1px solid var(--line)}
#pricing .material-groups section{padding:12px 0;border-bottom:1px solid var(--line)}
#pricing .material-groups h5{font-size:.8125rem;line-height:1.5;color:var(--forest);margin:0 0 3px}
#pricing .material-groups p{font-size:.875rem;line-height:1.7;margin:0;color:var(--ink)}
#pricing .material-disclaimer{font-size:.8125rem;line-height:1.75;color:var(--muted);margin:18px 0}
#pricing .budget-line-cta{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;background:#314b3b;color:#fff;text-decoration:none;text-align:center;font-size:.9375rem;line-height:1.5}

@media(max-width:900px){
 #pricing .unified-budget{grid-template-columns:minmax(0,1fr)}
 #pricing .style-result-summary{min-height:68px}
}
@media(max-width:600px){
 #pricing .budget-area-ranges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #pricing .budget-area-ranges button:last-child{grid-column:1/-1}
 #pricing .style-result-summary{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 4px}
 #pricing .style-result-summary b{font-size:1.05rem}
 #pricing .style-representatives{display:grid;gap:3px;padding-bottom:13px}
 #pricing .material-groups{grid-template-columns:minmax(0,1fr)}
}
