html,body{scroll-padding-top:var(--builder-sticky,160px)}
/* Copernicus System Builder — uses the site palette. No external libraries. */
.builder-page{padding:0 0 80px}
.builder-hero{background:var(--dark);color:var(--ondark);padding:56px 0 36px}
.builder-hero h1{color:#fff;font-size:clamp(2rem,4vw,3.2rem)}
.builder-hero .lead{color:var(--ondark2);max-width:680px}
.builder-wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.builder-est{position:sticky;top:var(--site-header-h,76px);z-index:8;background:var(--card);border-bottom:1px solid var(--rule);padding:7px 0}
.builder-est .bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 28px}
.builder-est .disc{margin:0;color:var(--text2);font-size:.88rem;max-width:640px}
.builder-est .tot{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;text-align:left}
.builder-est .tot .lbl{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--text2)}
.builder-est .tot .amt{font-family:"Outfit",sans-serif;font-size:clamp(1.2rem,2.2vw,1.55rem);font-weight:600;line-height:1.15;color:var(--ink)}
.builder-est .strip-note{margin:0;font-size:.85rem;color:var(--text2);white-space:nowrap}
.builder-est .power-line{margin:0;font-size:.88rem;font-weight:600;color:var(--ink)}
.builder-est .note{display:block;margin-top:4px;font-size:.85rem;color:var(--text2);max-width:280px;margin-left:auto}
.builder-est .pending{display:block;margin-top:2px;font-size:.85rem;color:var(--accent-ink)}
.builder-fields input,.builder-fields select,.builder-fields textarea,.opt input{
  scroll-margin-top:var(--builder-sticky,160px)
}
.builder-steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:28px 0 0;padding:0}
.builder-steps li{margin:0}
.builder-steps button{appearance:none;font:inherit;font-size:.9rem;font-weight:600;background:#fff;border:1px solid var(--rule);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--ink)}
.builder-steps button[aria-current=step]{background:var(--dark);color:var(--ondark);border-color:var(--dark)}
.builder-panel{background:#fff;border:1px solid var(--rule);border-radius:24px;padding:32px;margin-top:24px}
.builder-panel h2{margin-bottom:.3em}
.builder-panel .step-disc{color:var(--text2);font-size:.92rem;margin:0 0 22px}
.builder-fields{display:grid;gap:20px;max-width:560px}
.builder-fields label>span,.field-label{display:block;font-weight:600;margin-bottom:6px}
.builder-fields input[type=number],.builder-fields input[type=text],.builder-fields input[type=email],.builder-fields input[type=tel],.builder-fields select,.builder-fields textarea{
  width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)
}
.builder-fields textarea{min-height:110px;resize:vertical}
.builder-fields input:focus,.builder-fields select:focus,.builder-fields textarea:focus{outline:3px solid var(--accent);outline-offset:2px}
.hint{display:block;margin-top:6px;font-size:.88rem;color:var(--text2)}
.err{color:#8B1E1E;font-size:.88rem;margin:6px 0 0}
.opt-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:12px 16px;align-items:start;border:1px solid var(--rule);border-radius:16px;padding:16px 18px;background:var(--card)}
.opt.included{background:#fff}
.opt .name{font-weight:600}
.opt .blurb{display:block;color:var(--text2);font-size:.92rem;margin-top:4px}
.opt .price{font-weight:700;white-space:nowrap}
.opt input[type=number]{width:5.5rem;font:inherit;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px}
.sized{margin:28px 0 0;padding:20px;border-radius:16px;background:var(--bg);border:1px dashed var(--line)}
.sized h3{font-size:1.15rem;margin:0 0 8px}
.sized dl{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:12px 0 0}
.sized dt{color:var(--text2)}
.sized dd{margin:0;font-weight:600;text-align:right}
.sized .pending-flag{display:inline-block;background:var(--accent);color:var(--dark);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 8px;margin-left:8px}
.builder-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.lines{width:100%;border-collapse:collapse;margin:12px 0 20px}
.lines th,.lines td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--rule);vertical-align:top}
.lines th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text2)}
.lines td.num,.lines th.num{text-align:right;white-space:nowrap}
.lines tfoot td{font-weight:700;border-bottom:0;padding-top:14px}
.lines .blurb{display:block;color:var(--text2);font-size:.88rem;margin-top:2px;font-weight:400}
.summary-block{margin-bottom:32px}
.builder-page .noscript{padding:24px;background:var(--card);border-radius:16px;margin-top:24px}
@media (max-width:860px){
  .builder-wrap{padding:0 22px}
  .builder-est{top:var(--site-header-h,66px)}
  .builder-panel{padding:22px}
  .builder-est .tot{text-align:left}
  .builder-est .strip-note{white-space:normal}
  .builder-est .note{margin-left:0;max-width:none}
  .opt{grid-template-columns:auto 1fr; }
  .opt .price{grid-column:2}
}
@media print{
  header.site,footer.site,.builder-est,.builder-steps,.builder-nav,.no-print,.navtoggle{display:none!important}
  .builder-hero{padding:0 0 16px;background:#fff;color:#000}
  .builder-hero h1{color:#000}
  .builder-panel{border:0;padding:0}
  body{background:#fff}
}

.savings-tips{margin:24px 0 0;padding:20px;border-radius:16px;background:var(--card);border:1px solid var(--rule)}
.savings-tips[hidden]{display:none}
.savings-tips h3{font-size:1.15rem;margin:0 0 12px}
.savings-tips ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.savings-tips li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0}
.savings-tips li p{margin:0;flex:1 1 16rem}
@media print{.savings-tips{break-inside:avoid}}

.builder-est .confirm-note{color:var(--ink);font-weight:600}
.builder-est .unpriced-banner,.unpriced-banner{display:block;margin-top:6px;font-size:.9rem;color:var(--text2)}
.pricing-pending-note{display:block;margin:8px 0 0;font-size:.95rem;color:var(--ink)}
.package-block{margin:12px 0 20px;padding:4px 0 8px}
.package-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.package-title{margin:0;flex:1 1 auto;font-size:1.2rem;line-height:1.35;color:var(--ink);font-weight:700}
.package-total{margin:0;flex:0 0 auto;font-size:1.35rem;font-weight:700;color:var(--ink);white-space:nowrap}
.dosealign-def{margin:8px 0 0;font-size:.92rem;color:var(--text2);line-height:1.4}
label .hint.dosealign-def{display:block;margin-top:6px}
.includes-label{margin:16px 0 8px;font-weight:700;font-size:.95rem}
.includes-list{margin:0;padding:0 0 0 1.2rem;display:grid;gap:4px}
.includes-list li{margin:0;font-size:.95rem;color:var(--ink);line-height:1.4}
@media (max-width:520px){
  .package-head{flex-direction:column;gap:8px}
  .package-total{font-size:1.25rem}
}
.badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;vertical-align:middle}
.badge.confirm-price{background:#eee;color:var(--ink);font-weight:600;letter-spacing:0}
.badge.unpriced{background:var(--accent);color:var(--dark)}
tr.unpriced-row td{color:var(--text2)}
.caveats,.size-notes{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.caveats li,.size-notes li{margin:0;font-size:.88rem;color:var(--text2)}
.size-notes li{color:var(--ink)}
label.check{display:flex;align-items:flex-start;gap:10px;flex-direction:row}
label.check input{width:auto;margin-top:4px}
label.check span{font-weight:600}

.estimate-note{display:block;margin:8px 0 0;font-size:.88rem;color:var(--ink)}
.estimate-note.under-total{margin-top:8px;max-width:none;text-align:left}
.confirm-note{color:var(--ink);font-weight:600}
.sized .estimate-note,.summary-block .estimate-note{margin-left:0;text-align:left;max-width:none}
.builder-est .power-block{margin-top:10px;text-align:right}
.power-block .power-display{margin:0 0 6px;font-weight:600;font-size:.95rem}
.power-block .power-dl{display:grid;grid-template-columns:auto auto;gap:2px 16px;margin:0;justify-content:end;font-size:.82rem;color:var(--text2)}
.power-block .power-dl dt{margin:0;font-weight:500}
.power-block .power-dl dd{margin:0;font-weight:600;color:var(--ink);text-align:right}
.builder-est .review-flag{color:var(--accent-ink);font-weight:700}
.sized .power-block{margin-top:12px;text-align:left}
@media (max-width:720px){
  .builder-est .power-block{margin-left:0;text-align:left;max-width:none}
  .power-block .power-dl{justify-content:start}
}

.addons-block{margin:28px 0 0;padding:20px;border-radius:16px;background:var(--bg);border:1px dashed var(--line)}
.addons-block h3{margin:0 0 6px;font-size:1.15rem}
.addons-block .lines{margin-top:12px}
.addons-block tr.selected-addon td{font-weight:600}
.advisories{margin-top:16px}

.carrier-reason{margin:12px 0 0;font-size:.92rem;color:var(--ink);max-width:42rem;line-height:1.4}
.lines tfoot tr.base-total td{font-weight:600;border-bottom:1px solid var(--rule);padding-bottom:8px}
