/* Extend NetZero's existing charcoal, red and gold design system. */
.nz-client{--nz-red:#ac1825;--nz-ink:#231f20;--nz-gold:#916019;--nz-muted:#625d5a;font-size:1rem;line-height:1.55;color:var(--nz-ink)}
.nz-client .container{max-width:1240px}
.nz-client-heading{margin:1.8rem 0 2rem;max-width:820px}
.nz-client-heading h1{font-size:clamp(2.1rem,4.4vw,3.8rem);font-weight:650;line-height:1.07;letter-spacing:-.035em;margin:.8rem 0 1.25rem}
.nz-client-heading h1 em{font-style:normal;color:var(--nz-red)}
.nz-client-heading>p{font-size:1.125rem;max-width:640px;color:var(--nz-muted)}
.nz-client h2{font-size:1.375rem;line-height:1.25;letter-spacing:-.02em;margin:0 0 .6rem}
.nz-client h3{font-size:1.125rem;line-height:1.35;margin:0 0 .6rem}
.nz-client p{color:var(--nz-muted);overflow-wrap:anywhere}
.nz-client .btn{min-height:46px;font-size:.9375rem;white-space:normal;text-align:center}
.nz-client .btn-primary{background:var(--nz-red);border-color:var(--nz-red);color:white}
.nz-client small{font-size:.875rem;line-height:1.5;color:var(--nz-muted)}
.nz-client :focus-visible{outline:3px solid #9e2029;outline-offset:4px}
.nz-client .eyebrow{font-size:.875rem;color:var(--nz-gold)}
.nz-draft-status{display:flex;gap:.8rem;flex-wrap:wrap;padding:.85rem 1.2rem;border:1px solid #d4c8b9;border-radius:12px;margin-bottom:1.6rem;background:#fffaf0;font-size:.875rem}
.nz-draft-status a{margin-left:auto;color:var(--nz-red);font-weight:650;text-decoration:underline}
.nz-request-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:2rem;align-items:start}
.nz-request-form{min-width:0;background:#fff;border:1px solid #e1d9ce;border-radius:18px;overflow:hidden}
.nz-request-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #ddd4c7;background:#f4f1ec}
.nz-request-steps button{display:flex;align-items:center;gap:.65rem;padding:1.15rem 1rem;border:0;border-bottom:3px solid transparent;font-size:.875rem;line-height:1.35;font-weight:550;text-align:left;color:#514b48;background:transparent;min-width:0}
.nz-request-steps button b{border:1px solid #d6c9b8;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;background:white}
.nz-request-steps button.active{color:var(--nz-red);border-bottom-color:var(--nz-red);background:#fff}
.nz-request-steps button.active b{background:var(--nz-red);color:white;border-color:var(--nz-red)}
.nz-step-content{padding:1.8rem}
.nz-client-section{margin-bottom:1.7rem;padding-bottom:1.6rem;border-bottom:1px solid #e7e0d6}
.nz-client-section:last-child{margin-bottom:0}
.nz-section-title>p{margin:.25rem 0 1.2rem;font-size:.9375rem}
.nz-client-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.nz-client-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.05rem;min-width:0}
.nz-client-field label{font-size:.9375rem;font-weight:600;line-height:1.45}
.nz-client-field .field{background:#fff;border:1px solid #bfb5a6;border-radius:9px;min-height:48px;padding:.7rem .8rem;font-size:1rem;line-height:1.4;width:100%;min-width:0;color:#231f20}
.nz-client-field textarea{resize:vertical;min-height:92px}
.nz-client-field small:empty{display:none}
.nz-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.nz-choice{background:#fff;border:1px solid #cfc3b2;border-radius:12px;padding:1.15rem .9rem;text-align:left;display:flex;flex-direction:column;gap:.4rem;color:#231f20;font:inherit;min-width:0;cursor:pointer}
.nz-choice .icon{color:#795217;margin-bottom:.3rem;width:24px;height:24px}
.nz-choice strong{font-size:1rem;line-height:1.35}
.nz-choice span{font-size:.875rem;line-height:1.45;color:var(--nz-muted)}
.nz-choice.selected{border:2px solid var(--nz-red);padding:calc(1.15rem - 1px) calc(.9rem - 1px);background:#fff7f7}
.nz-technology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.nz-tech{display:flex;align-items:center;gap:.7rem;border:1px solid #cfc3b2;border-radius:10px;padding:1rem;font-size:.9375rem;cursor:pointer}
.nz-tech input{width:20px;height:20px;flex-shrink:0;accent-color:var(--nz-red)}
.nz-tech.selected{background:#fff7f7;border-color:var(--nz-red)}
.nz-tech .icon{width:22px;flex-shrink:0}
.nz-switch{margin:.8rem 0 1.2rem!important}
.nz-form-actions{padding:1.2rem 1.8rem;display:flex;gap:1rem;justify-content:space-between;align-items:center;border-top:1px solid #e1d9ce;background:#fbf9f5}
.nz-send-options{padding:0 1.8rem 1.5rem;background:#fbf9f5}
.nz-send-options .btn,.nz-send-options .text-link{margin-top:.8rem;margin-right:1rem}
.nz-request-aside{display:flex;flex-direction:column;gap:1rem;position:sticky;top:100px}
.nz-aside-card{background:#231f20;border-radius:16px;padding:1.5rem;color:white}
.nz-aside-card .eyebrow{color:#e4bf7b}
.nz-aside-card p{color:#e6e0d6;font-size:.9375rem}
.nz-aside-card ol{list-style:none;padding:0;margin:1.2rem 0}
.nz-aside-card li{display:flex;gap:.75rem;padding:.9rem 0;border-bottom:1px solid #56504d;font-size:.9375rem}
.nz-aside-card li b{color:#e4bf7b;font-weight:500;flex-shrink:0}
.nz-aside-light{background:#f4f0e8;color:var(--nz-ink);border:1px solid #e1d9ce}
.nz-aside-light p{color:var(--nz-muted)}
.nz-local-warning{font-size:.875rem!important}
.nz-errors{padding:1rem 1.5rem;background:#fff0f1;border-bottom:1px solid #d6898f;color:#8f1420;scroll-margin-top:110px}
.nz-errors[hidden]{display:none}
.nz-errors a{color:#8f1420;text-decoration:underline;font-size:.9375rem}
.nz-field-error{font-size:.875rem;margin:0;color:#981a27!important}
.nz-client [aria-invalid=true]{border:2px solid #ac1825}
.nz-client-details{background:#f8f5f0;border:1px solid #ded4c6;padding:1.1rem 1.25rem;border-radius:12px;margin:1rem 0 1.5rem}
.nz-client-details summary{cursor:pointer;font-size:.9375rem;font-weight:650;line-height:1.45}
.nz-client-details[open] summary{margin-bottom:1.2rem}
.nz-vehicle{border:1px solid #d7cbb9;border-radius:12px;padding:1.1rem;margin:1rem 0 1.4rem;min-width:0}
.nz-vehicle legend{font-size:.9375rem;font-weight:650;padding:0 .5rem;color:#795217}
.nz-file-picker{display:flex;align-items:center;gap:1rem;border:1px dashed #8f806b;padding:1.2rem;border-radius:12px;background:#f8f5f0;cursor:pointer;margin-bottom:1rem;font-size:.9375rem}
.nz-file-picker input{max-width:100%;font-size:.875rem}
.nz-file-picker span{min-width:0;flex:1}
.nz-file-picker small{display:block;margin-top:.3rem}
.nz-file-row{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid #ded4c6;padding:.9rem 0}
.nz-file-row>span{flex:1;min-width:0;overflow-wrap:anywhere}
.nz-file-row small{display:block;margin-left:1.5rem}
.nz-file-row strong{font-size:.9375rem}
.nz-summary-rows{margin:0}
.nz-summary-rows>div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,1.8fr);gap:1.2rem;padding:.65rem 0;border-bottom:1px solid #eee7dd}
.nz-summary-rows dt{color:var(--nz-muted);font-size:.9375rem;line-height:1.45}
.nz-summary-rows dd{font-size:.9375rem;line-height:1.5;white-space:pre-wrap;margin:0;overflow-wrap:anywhere;font-weight:550}
.nz-top-actions,.nz-card-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0}
.nz-request-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.nz-request-card{padding:1.5rem;min-width:0}
.nz-request-card h2{font-size:1.25rem;margin:1.1rem 0 .6rem;overflow-wrap:anywhere}
.nz-request-card small{overflow-wrap:anywhere}
.nz-card-top{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.nz-client .pill{font-size:.8125rem;white-space:normal;line-height:1.4}
.nz-solution-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:3rem;align-items:center;margin:1rem 0 3rem}
.nz-solution-hero .nz-client-heading{margin-bottom:1.5rem}
.nz-solution-route{border-left:4px solid #bd9b5e;padding:2rem 2.2rem;background:#f2ece0;border-radius:0 18px 18px 0}
.nz-solution-route h2{font-size:2.5rem;line-height:1.1;margin:1.1rem 0}
.nz-solution-note{font-size:.875rem;margin-top:1rem}
.nz-explanation>span{font-size:2rem;font-weight:350;color:#916019;display:block;margin-bottom:1rem}
.nz-explanation p{font-size:1rem}
.nz-diesel-band{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#231f20;padding:2rem;border-radius:16px;margin:2rem 0;color:white}
.nz-diesel-band p{color:#e7e0d6;margin:.5rem 0}
.nz-diesel-band .eyebrow{color:#e4bf7b}
.nz-event-list{list-style:none;margin:0;padding:0}
.nz-event-list li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1rem;padding:1rem;border-bottom:1px solid #ded4c6}
.nz-event-list time{font-size:.875rem;color:var(--nz-muted);overflow-wrap:anywhere}
.nz-event-list strong{font-size:1rem}
.v5-solutions{grid-template-columns:repeat(4,minmax(0,1fr))}
.v5-solution{min-width:0}
.nz-home-pump-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.nz-home-pump-links a{font-size:.9375rem;text-decoration:underline;font-weight:600;color:#9e2029}
.nz-customer-shortcuts{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.1rem 0 .3rem}
.nz-customer-shortcuts a{font-size:.9375rem;line-height:1.4;padding:.65rem .95rem;border:1px solid #b9aa94;border-radius:8px;background:white;color:#231f20;font-weight:550;text-decoration:none}
.nz-customer-shortcuts a:hover{border-color:#9e2029;color:#9e2029}
.site-header .btn .icon,.nz-client .btn .icon{display:none}
@media(max-width:1050px){.nz-request-layout{grid-template-columns:minmax(0,1fr) 230px;gap:1.1rem}.nz-step-content{padding:1.4rem}.nz-choice-grid{grid-template-columns:1fr}.nz-choice{display:grid;grid-template-columns:28px 1fr}.nz-choice span{grid-column:2}.v5-solutions{grid-template-columns:repeat(2,minmax(0,1fr))}.nz-request-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.nz-request-layout{grid-template-columns:1fr}.nz-request-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nz-request-steps button{padding:.9rem .5rem;font-size:.8125rem;gap:.4rem}.nz-request-steps button b{width:24px;height:24px}.nz-solution-hero{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2rem}.nz-solution-route{padding:1.5rem}.nz-solution-route h2{font-size:2rem}.nz-diesel-band{flex-direction:column;align-items:flex-start}.nz-request-card-grid{grid-template-columns:1fr}.nz-event-list li{grid-template-columns:1fr;gap:.4rem}.nz-file-picker{flex-wrap:wrap}.nz-file-picker input{width:100%}}
@media(max-width:480px){.nz-client .container{padding-left:16px;padding-right:16px}.nz-client-heading{margin:1.25rem 0}.nz-client-heading h1{font-size:2.1rem}.nz-client-two{grid-template-columns:1fr;gap:0}.nz-technology-grid{grid-template-columns:1fr}.nz-step-content{padding:1.1rem}.nz-request-steps button{flex-direction:column;align-items:flex-start;font-size:.875rem}.nz-form-actions{padding:1rem;gap:.7rem}.nz-form-actions .btn{flex:1}.nz-send-options{padding:0 1rem 1rem}.nz-request-aside{grid-template-columns:1fr}.nz-summary-rows>div{grid-template-columns:1fr;gap:.15rem}.nz-file-row{flex-wrap:wrap}.nz-file-row>span{flex-basis:100%}.v5-solutions{grid-template-columns:1fr}.nz-draft-status a{margin-left:0}.nz-diesel-band{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.nz-client *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.nz-request-steps.nz-two-steps{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Let focus and validation jumps settle immediately; chosen scroll actions retain their own motion. */
html{scroll-behavior:auto}
