
.quote-form{position:relative;display:grid;gap:22px}

.quote-form [hidden]{display:none!important}
.q-steps{position:relative;display:grid}
.step{margin:0;padding:0;border:0;min-width:0;display:grid;gap:20px}
.step+.step{margin-top:36px;padding-top:36px;border-top:1px solid var(--line)}
.step>legend{
  float:left;width:100%;padding:0;margin-bottom:4px;
  font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--text);
  border-radius:8px;
}
.step>legend+*{clear:both}


.q-js .step+.step{margin-top:0;padding-top:0;border-top:0}
.q-js .step:not(.is-on){display:none}
.q-js .step.from-right{animation:qFromRight 200ms var(--ease-out)}
.q-js .step.from-left{animation:qFromLeft 200ms var(--ease-out)}
@keyframes qFromRight{from{opacity:0;transform:translate3d(24px,0,0)}}
@keyframes qFromLeft{from{opacity:0;transform:translate3d(-24px,0,0)}}


.q-progress{display:grid;gap:10px}
.q-count{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums}
.q-bar{position:relative;display:block;height:2px;border-radius:2px;background:var(--line-hi);overflow:hidden}
.q-bar>i{position:absolute;inset:0;display:block;background:var(--iris);transform:scaleX(var(--q,.3333));transform-origin:left center;transition:transform 200ms var(--ease-out)}


.field{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.field>label,.radios>legend{font-size:.98rem;font-weight:520;color:var(--text);padding:0}
.radios>legend{margin-bottom:10px}
.field-req,.field-opt{font-weight:400;color:var(--muted);font-size:.88rem}
.field-help{font-size:.9rem;color:var(--muted)}
.radios .field-help{margin:-4px 0 10px}
.field input[type="text"],.field input[type="tel"],.field input[type="email"],.field textarea,.field select{
  width:100%;min-height:52px;padding:13px 16px;border-radius:14px;
  font-size:max(16px,1rem);color:var(--text);
  background:rgba(255,255,255,.045);border:1px solid var(--line-hi);
  transition:border-color var(--dur-fast),background var(--dur-fast);
}
.field textarea{min-height:104px;resize:vertical;line-height:1.5}
.field select{appearance:none;-webkit-appearance:none;padding-inline-end:44px;
  background:rgba(255,255,255,.045) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9A9B6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/16px}
.field select option{background:#121218;color:var(--text)}
.field ::placeholder{color:var(--dim);opacity:1}
.field input:hover,.field textarea:hover,.field select:hover{border-color:rgba(255,255,255,.26)}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{background:rgba(255,255,255,.07);border-radius:14px}
.field [aria-invalid="true"]{border-color:var(--svc-ads)}
.field-err{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;color:#FBCFE8}
.field-err::before{content:"!";flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--svc-ads);color:#0B0B10;font-weight:700;font-size:.72rem}
.field-err[hidden]{display:none}
.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:620px){ .field-pair{grid-template-columns:1fr} }


.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice,.radio-pill{
  position:relative;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;border-radius:16px;cursor:pointer;
  border:1px solid var(--line-hi);background:rgba(255,255,255,.035);color:var(--text);font-size:.96rem;line-height:1.3;
  transition:border-color var(--dur-fast),background var(--dur-fast);
}
.choice:hover,.radio-pill:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.choice input,.radio-pill input{
  appearance:none;-webkit-appearance:none;flex:none;margin:0;width:20px;height:20px;border-radius:6px;
  border:1.5px solid rgba(255,255,255,.45);background:transparent;display:grid;place-items:center;cursor:pointer;
}
.radio-pill input{border-radius:50%}
.choice input::after{content:"";width:10px;height:6px;border:solid #0B0B10;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform var(--dur-fast)}
.radio-pill input::after{content:"";width:8px;height:8px;border-radius:50%;background:#0B0B10;transform:scale(0);transition:transform var(--dur-fast)}
.choice input:checked,.radio-pill input:checked{background:#F5F5F7;border-color:#F5F5F7}
.choice input:checked::after{transform:translateY(-1px) rotate(-45deg) scale(1)}
.radio-pill input:checked::after{transform:scale(1)}
.choice:has(input:checked),.radio-pill:has(input:checked){border-color:rgba(245,225,255,.55);background:rgba(245,225,255,.07)}
.choice:has(input:focus-visible),.radio-pill:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 9px rgba(5,5,7,.88)}
.choice input:focus-visible,.radio-pill input:focus-visible{outline:none;box-shadow:none}
.choice .dot-svc{margin-inline-start:auto;order:3}
.choice .dot-svc:not(.dot-site):not(.dot-ads):not(.dot-social){--c:var(--dim)}
.radio-row{display:flex;flex-wrap:wrap;gap:10px}

@media (max-width:420px){
  .choices{grid-template-columns:minmax(0,1fr);gap:8px}
  .choice{padding:10px 12px;font-size:.92rem;gap:10px}
}
@media (forced-colors:active){ .choice,.radio-pill,.field input,.field textarea,.field select{border:1px solid CanvasText} }


.step-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}
.step-nav .q-next{margin-inline-start:auto}
.step-send .q-send{margin-inline-start:auto}
.q-js .step[data-step="1"] .q-next{margin-inline-start:0}
@media (max-width:520px){
  .step-nav .btn{flex:1 1 auto}
  .step-send .q-send{flex-basis:100%;order:-1}
}
.form-info{font-size:.86rem;color:var(--muted);max-width:60ch}
.form-info a{color:var(--text);text-decoration:underline;text-underline-offset:3px}


.form-fail{padding:22px;border-radius:var(--radius)}
.form-fail[hidden]{display:none}
.form-fail-h{font-weight:600;color:var(--text);margin-bottom:6px}
.form-fail p{color:var(--muted)}
.form-fail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

@media (prefers-reduced-motion:reduce){
  .q-bar>i{transition:none}
  .q-js .step.from-right,.q-js .step.from-left{animation:none}
}


.quote-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start}
.quote-main h2{margin-bottom:14px}
.quote-main .lead{margin-bottom:30px}
.quote-card{padding:clamp(22px,3vw,40px)}

.sfx-ready .quote-card[data-sfx="settle"]{transform:translate3d(0,calc((1 - min(var(--in,1),1)) * 48px),0);opacity:calc(.25 + .75 * min(var(--in,1),1))}
.sfx-ready .quote-card.sfx-rest{transform:none}
.quote-side{display:flex;flex-direction:column;gap:34px;padding-top:clamp(0px,9vw,120px)}
.qs-block :is(h2,h3),.qs-prep summary{
  margin-bottom:14px;font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;line-height:1.4;
  letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--muted);
}
.qs-steps{display:grid;gap:14px}
.qs-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start;color:var(--text);opacity:calc(.4 + .6 * var(--in,1))}
.qs-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-hi);font-family:var(--font-mono);font-size:.78rem;color:var(--text)}
.qs-direct-links{display:grid;gap:8px}
.qs-link{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 16px;border-radius:14px;border:1px solid var(--line-hi);background:rgba(255,255,255,.03);color:var(--text);overflow-wrap:anywhere;transition:background var(--dur-fast)}
.qs-link:hover{background:rgba(255,255,255,.07)}
.qs-link svg{width:18px;height:18px;flex:none;color:var(--muted)}
.qs-address{margin-top:12px;font-style:normal;color:var(--muted)}
.qs-short{display:none}
.qs-prep summary{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;cursor:pointer;list-style:none;border-radius:8px}
.qs-prep summary::-webkit-details-marker{display:none}
.qs-prep summary::after{content:"";width:8px;height:8px;border:solid var(--muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-3px);transition:transform var(--dur)}
.qs-prep[open] summary::after{transform:rotate(-135deg)}
.qs-prep-list{display:grid;gap:8px;margin-top:8px}
.qs-prep-list li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;color:var(--muted)}
.qs-prep-list li::before{content:"";height:1px;margin-top:.8em;background:var(--line-hi)}
@media (max-width:1000px){
  .quote-grid{grid-template-columns:1fr}
  .quote-side{padding-top:0}
}
@media (max-width:760px){
  .quote-side{gap:22px}
  .qs-steps li{font-size:.94rem}
  .qs-direct{order:-1}
  
  .qs-direct-links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qs-link{flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:8px 6px;font-size:.86rem;text-align:center}
  .qs-long{display:none}
  .qs-short{display:inline}
  .quote-card{padding:18px 14px}
  .quote-main .lead{margin-bottom:20px}
  .qs-link{min-height:46px}
  .qs-steps{gap:10px}
}
