.builder{max-width:1080px;margin:0 auto;padding:3.5rem var(--pad) 5rem}.builder .builder-head{margin-bottom:2.25rem}.builder .section-sub{max-width:620px}.builder .builder-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}.builder .step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.5rem 1.5rem 1.6rem;margin-bottom:1.25rem}.builder .step-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}.builder .step-n{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--ink);color:#fff;font-size:.85rem;font-weight:600;display:grid;place-items:center;font-family:var(--sans)}.builder .step-head h2{font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--ink)}.builder .bld-select{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:#fff;border:1px solid var(--sand);border-radius:6px;padding:.75rem .9rem;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.builder .bld-select:focus{outline:none;border-color:var(--brown);box-shadow:0 0 0 3px #8b45131f}.builder .chosen{display:flex;align-items:center;gap:.9rem;margin-top:1rem}.builder .chosen-tile{width:48px;height:48px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,var(--a),var(--b));display:grid;place-items:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:1.15rem;box-shadow:0 8px 18px -10px #0000008c}.builder .chosen-name{font-family:var(--serif);font-weight:700;font-size:1.02rem;color:var(--ink);line-height:1.25}.builder .chosen-badge{font-family:var(--sans);font-size:.6rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--brown);border:1px solid var(--line);border-radius:20px;padding:.1rem .5rem;margin-left:.3rem;white-space:nowrap}.builder .chosen-sub{font-size:.83rem;color:var(--ink-mute);line-height:1.45;margin-top:.2rem}.builder .builtin-note{display:flex;gap:.7rem;align-items:flex-start;background:#f3f8f1;border:1px solid #d8e8d2;border-radius:8px;padding:.85rem 1rem;font-size:.86rem;color:#2f4a2a;line-height:1.5}.builder .builtin-note .check{width:20px;height:20px;flex-shrink:0;border-radius:50%;background:#4a7c3f;color:#fff;font-size:.72rem;display:grid;place-items:center;margin-top:.05rem}.builder .builtin-note strong{color:#244a1d}.builder .req-note{background:#fdf6ec;border:1px solid #f0e2c8;border-radius:8px;padding:.75rem 1rem;font-size:.84rem;color:#6b5328;line-height:1.5;margin-bottom:1rem}.builder .req-note strong{color:var(--brown)}.builder .toggle{display:flex;align-items:center;gap:.6rem;margin-top:1rem;font-size:.88rem;color:var(--ink-soft);cursor:pointer;user-select:none}.builder .toggle input{width:16px;height:16px;accent-color:var(--brown);cursor:pointer}.builder .step-hint{font-size:.8rem;color:var(--ink-mute);line-height:1.5;margin-top:.75rem}.builder .step-hint a{color:var(--brown);text-decoration:none;font-weight:500}.builder .step-hint a:hover{text-decoration:underline}.builder .step-hint.warn{color:#9a5a2a}.builder .acc-list{display:grid;gap:.5rem}.builder .acc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;border:1px solid var(--line);border-radius:8px;padding:.8rem .95rem;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease)}.builder .acc:hover{border-color:var(--sand)}.builder .acc.on{border-color:var(--brown);background:#8b451308}.builder .acc input{position:absolute;opacity:0;pointer-events:none}.builder .acc-box{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--sand);display:grid;place-items:center;color:#fff;font-size:.75rem;transition:background .18s var(--ease),border-color .18s var(--ease)}.builder .acc.on .acc-box{background:var(--brown);border-color:var(--brown)}.builder .acc-name{font-size:.9rem;font-weight:500;color:var(--ink)}.builder .acc-tag{font-size:.58rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--brown);background:#f5ece1;border-radius:20px;padding:.1rem .45rem;margin-left:.35rem}.builder .acc-blurb{display:block;font-size:.79rem;color:var(--ink-mute);line-height:1.45;margin-top:.15rem}.builder .acc-price{font-size:.9rem;font-weight:600;color:var(--ink);white-space:nowrap}.builder .summary-col{position:sticky;top:88px}.builder .sum-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.4rem 1.5rem;box-shadow:0 24px 50px -34px #1c1a1673}.builder .sum-title{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);font-weight:600;margin-bottom:1rem}.builder .sum-rows{border-top:1px solid var(--line)}.builder .sum-row{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.builder .sum-kind{grid-column:1 / 2;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.builder .sum-name{grid-column:1 / 2;font-size:.85rem;color:var(--ink);line-height:1.35}.builder .sum-price{grid-column:2 / 3;grid-row:1 / 3;align-self:center;font-size:.9rem;font-weight:600;color:var(--ink);white-space:nowrap}.builder .sum-price .incl{font-size:.7rem;font-weight:500;color:#4a7c3f}.builder .sum-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:1rem;padding-top:.4rem}.builder .sum-total span{font-size:.9rem;color:var(--ink-soft)}.builder .sum-total strong{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--ink)}.builder .sum-count{font-size:.72rem;color:var(--ink-faint);margin-top:.2rem;margin-bottom:1.1rem}.builder .sum-cta{display:block;width:100%;text-align:center;text-decoration:none;background:var(--ink);color:#fff;border:none;cursor:pointer;font-family:var(--sans);font-size:.85rem;font-weight:500;padding:.8rem 1rem;border-radius:4px;margin-bottom:.6rem;transition:background .2s var(--ease)}.builder .sum-cta:hover{background:var(--brown)}.builder .sum-cta.ghost{background:transparent;color:var(--brown);border:1px solid var(--line)}.builder .sum-cta.ghost:hover{background:#faf5ec;border-color:var(--sand)}.builder .sum-disclaimer{font-size:.7rem;color:var(--ink-faint);line-height:1.5;margin-top:.7rem;text-align:center}@media(max-width:860px){.builder .builder-grid{grid-template-columns:1fr}.builder .summary-col{position:static}.builder .sum-card{box-shadow:0 14px 34px -24px #1c1a1666}}@media(max-width:520px){.builder .acc{grid-template-columns:auto 1fr}.builder .acc-price{grid-column:2 / 3;text-align:right}}
