.builder-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem;align-items:start}
.builder-summary{position:sticky;top:2rem;background:white;border:1px solid #dbe2eb;border-radius:12px;padding:1.8rem}
.builder-summary h1{font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.15;overflow-wrap:anywhere}
.builder-photo{aspect-ratio:5/3;max-height:280px;padding:1rem}
.builder-base{display:flex;gap:1rem;justify-content:space-between;padding-top:1rem;border-top:1px solid #dbe2eb}
.builder-breakdown{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr);gap:.6rem 1rem;font-size:.9rem;margin:1.5rem 0}
.builder-breakdown dt{font-weight:500;color:#526178}.builder-breakdown dd{margin:0;overflow-wrap:anywhere;text-align:right}
.builder-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;border-top:2px solid #dbe2eb;padding-top:1rem;font-weight:700}
.builder-total output{font-size:1.65rem;color:#155db1}.builder-options h2{font-size:1.8rem;margin-bottom:1rem}
.builder-field{margin-top:1.5rem}.builder-field label{display:block;font-weight:650;margin-bottom:.5rem}
.builder-required,.builder-field small{font-size:.875rem;color:#526178;font-weight:400}
.builder-field small{display:block;margin-top:.5rem}.builder-field select{min-height:52px;font-size:1rem}
.builder-actions{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;margin:2rem 0 1rem}
@media(max-width:991px){.builder-grid{gap:2rem}.builder-summary{padding:1.2rem}}
@media(max-width:767px){.builder-grid{grid-template-columns:1fr}.builder-summary{position:static}.builder-photo{max-height:210px}.builder-breakdown{font-size:.875rem}}
