:root{--quote-blue:#0071e3;--quote-blue-hover:#0077ed;--quote-ink:#1d1d1f;--quote-muted:#6e6e73;--quote-line:rgba(29,29,31,.12);--quote-canvas:#f5f5f7;--quote-card:#fff;--quote-radius:30px;--quote-shadow:0 24px 70px rgba(0,0,0,.075),0 2px 8px rgba(0,0,0,.035)}
.quote-store{overflow:hidden;background:var(--quote-canvas);color:var(--quote-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.quote-store *{box-sizing:border-box}
.quote-store button,.quote-store input,.quote-store select,.quote-store textarea{font-family:inherit}
.quote-store-head{position:relative;padding:154px 0 70px!important;background:linear-gradient(180deg,#fff 0%,#fbfbfd 100%);border:0!important;text-align:center}
.quote-store-head:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(29,29,31,.14),transparent)}
.quote-store-head .shell{max-width:980px}
.quote-store-eyebrow{margin:0 0 18px!important;color:var(--quote-blue);font-size:14px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase}
.quote-store-head h1{max-width:900px!important;margin:0 auto!important;font-size:clamp(48px,7vw,84px)!important;line-height:.96!important;letter-spacing:-.062em!important;text-wrap:balance}
.quote-store-head>div>p:not(.quote-store-eyebrow){max-width:680px!important;margin:26px auto 0!important;color:var(--quote-muted)!important;font-size:clamp(18px,2vw,22px)!important;line-height:1.45!important;text-wrap:balance}
.quote-store-progress{display:inline-flex!important;max-width:100%;gap:4px!important;margin:42px auto 0!important;padding:5px;border:1px solid rgba(29,29,31,.08);border-radius:999px;background:rgba(245,245,247,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.quote-store-progress span{padding:10px 16px!important;border-radius:999px!important;background:transparent!important;color:#86868b!important;font-size:12px!important;font-weight:650!important;white-space:nowrap;transition:color .25s ease,background .25s ease,box-shadow .25s ease}
.quote-store-progress span.active{background:#fff!important;color:var(--quote-ink)!important;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.quote-area-check{padding:72px 0 24px;background:var(--quote-canvas)}
.quote-area-card{gap:clamp(34px,6vw,84px)!important;padding:clamp(36px,5.5vw,72px)!important;border:1px solid rgba(29,29,31,.08)!important;border-radius:var(--quote-radius)!important;background:rgba(255,255,255,.92)!important;box-shadow:var(--quote-shadow)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.quote-area-copy>p{display:inline-flex;margin:0 0 18px!important;padding:7px 11px;border-radius:999px;background:#e8f2ff;color:#0066cc!important;font-size:12px!important;font-weight:700!important;letter-spacing:.02em}
.quote-area-copy h2{margin:0!important;font-size:clamp(34px,4vw,54px)!important;line-height:1.02!important;letter-spacing:-.048em!important;text-wrap:balance}
.quote-area-copy>span{display:block;margin-top:20px;color:var(--quote-muted);font-size:17px;line-height:1.5}
.quote-area-fields{gap:14px!important}
.quote-area-field label,.quote-comprehensive .field label{display:block;margin:0 0 8px!important;color:#424245!important;font-size:13px!important;font-weight:650!important;letter-spacing:.005em}
.quote-area-field input,.quote-area-field select,.quote-comprehensive .field input,.quote-comprehensive .field select,.quote-comprehensive .field textarea{width:100%;min-height:56px!important;padding:14px 16px!important;border:1px solid transparent!important;border-radius:14px!important;background:#f5f5f7!important;color:var(--quote-ink)!important;font-size:16px!important;box-shadow:inset 0 0 0 1px rgba(29,29,31,.035);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.quote-area-field input:hover,.quote-area-field select:hover,.quote-comprehensive .field input:hover,.quote-comprehensive .field select:hover,.quote-comprehensive .field textarea:hover{background:#f0f0f2!important}
.quote-area-field input:focus,.quote-area-field select:focus,.quote-comprehensive .field input:focus,.quote-comprehensive .field select:focus,.quote-comprehensive .field textarea:focus{outline:0!important;border-color:var(--quote-blue)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(0,113,227,.14)!important}
.quote-area-field input::placeholder,.quote-comprehensive .field input::placeholder,.quote-comprehensive .field textarea::placeholder{color:#a1a1a6}
.quote-area-result{margin-top:18px!important;padding:17px 18px!important;border:0!important;border-radius:16px!important;background:#f5f5f7!important;box-shadow:inset 0 0 0 1px rgba(29,29,31,.04)}
.quote-area-result strong{font-size:14px}.quote-area-result p{margin-top:4px!important;color:var(--quote-muted)!important;line-height:1.45}
.quote-area-continue,.quote-area-contact,.quote-area-partner{min-height:52px!important;margin-top:14px!important;border-radius:999px!important;font-weight:650!important;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.quote-area-continue{background:var(--quote-blue)!important;box-shadow:0 8px 24px rgba(0,113,227,.22)}
.quote-area-continue:hover{background:var(--quote-blue-hover)!important;transform:translateY(-1px)}
.quote-builder{padding:58px 0 120px!important;background:var(--quote-canvas)}
.quote-builder-grid{align-items:start;gap:42px!important}
.quote-steps{min-width:0}
.quote-address-back{display:inline-flex;align-items:center;min-height:40px;margin:0 0 20px!important;padding:0 14px!important;border-radius:999px!important;background:rgba(255,255,255,.74)!important;color:#0066cc!important;font-size:14px!important;text-decoration:none!important;box-shadow:inset 0 0 0 1px rgba(29,29,31,.08);transition:background .2s ease,transform .2s ease}
.quote-address-back:hover{background:#fff!important;transform:translateX(-2px)}
.service-storefront{padding-bottom:54px!important}
.service-storefront>header,.quote-comprehensive .quote-step>header{margin-bottom:30px!important}
.service-storefront>header>span{background:var(--quote-ink)!important;box-shadow:0 4px 16px rgba(0,0,0,.13)}
.service-storefront>header p,.quote-comprehensive .quote-step>header p{color:var(--quote-blue)!important;font-size:13px!important;font-weight:650!important}
.service-storefront>header h2,.quote-comprehensive .quote-step>header h2{font-size:clamp(32px,4vw,48px)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance}
.service-storefront .quote-choice-grid{gap:20px!important;padding-top:8px!important}
.service-storefront .quote-choice{min-height:520px!important;padding:38px 34px 28px!important;border:1px solid rgba(29,29,31,.07)!important;border-radius:28px!important;background:linear-gradient(145deg,#fff 55%,#f8f8fa 100%)!important;box-shadow:0 10px 34px rgba(0,0,0,.055)!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .2s ease!important}
.service-storefront .quote-choice:hover{transform:translateY(-6px)!important;box-shadow:0 24px 64px rgba(0,0,0,.11)!important}
.service-storefront .quote-choice:has(input:checked){border-color:var(--quote-blue)!important;box-shadow:0 0 0 2px var(--quote-blue),0 24px 64px rgba(0,113,227,.14)!important}
.service-storefront .choice-check{top:28px!important;right:28px!important;width:24px!important;height:24px!important;border:2px solid #c7c7cc!important;background:#fff}
.service-storefront .quote-choice:has(input:checked) .choice-check{border:7px solid var(--quote-blue)!important}
.service-storefront .service-card-label{color:var(--quote-muted)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase}
.service-storefront .quote-choice>strong{margin-top:18px!important;font-size:clamp(44px,4.6vw,68px)!important;line-height:.91!important;letter-spacing:-.062em!important}
.service-storefront .quote-choice>small{margin-top:25px!important;color:var(--quote-muted)!important;font-size:16px!important;line-height:1.52!important}
.service-storefront .quote-choice b{border-color:var(--quote-line)!important;color:var(--quote-ink)!important}
.service-storefront .quote-choice b i{background:var(--quote-blue)!important;box-shadow:0 5px 14px rgba(0,113,227,.2)}
.quote-comprehensive .quote-step{scroll-margin-top:96px;margin-bottom:28px!important;padding:clamp(28px,4vw,48px)!important;border:1px solid rgba(29,29,31,.08)!important;border-radius:var(--quote-radius)!important;background:rgba(255,255,255,.94);box-shadow:0 14px 50px rgba(0,0,0,.055);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.quote-comprehensive .quote-step.is-current{border-color:rgba(0,113,227,.32)!important;box-shadow:0 24px 72px rgba(0,0,0,.08),0 0 0 4px rgba(0,113,227,.055)!important}
.quote-comprehensive .quote-step[hidden]{display:none!important}
.quote-comprehensive .plan-block{padding:34px 0;border-top:1px solid var(--quote-line)}
.quote-comprehensive .plan-block:first-of-type{padding-top:0;border-top:0}
.quote-comprehensive .plan-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.quote-comprehensive .plan-heading{display:flex;gap:14px}
.quote-comprehensive .plan-number{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:50%;background:var(--quote-ink);color:#fff;font-size:13px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.quote-comprehensive .plan-block-head h3{margin:2px 0 0;color:var(--quote-ink);font-size:22px;line-height:1.2;letter-spacing:-.025em}
.quote-comprehensive .plan-block-head p{max-width:650px;margin:7px 0 0;color:var(--quote-muted);font-size:15px;line-height:1.5}
.quote-comprehensive .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.quote-comprehensive .field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-comprehensive .field.full{grid-column:1/-1}
.quote-comprehensive .field textarea{min-height:125px!important;resize:vertical}
.quote-comprehensive .required{color:#d70015}
.quote-comprehensive .coverage-note{margin:16px 0 0;padding:14px 16px;border:0;border-radius:14px;background:#f5f5f7;color:#515154;font-size:14px;line-height:1.45}
.quote-comprehensive .coverage-note.warning{background:#fff8e7;color:#7a4b00;box-shadow:inset 0 0 0 1px rgba(255,159,10,.22)}
.quote-comprehensive .coverage-note.success{background:#edfbf2;color:#116b35;box-shadow:inset 0 0 0 1px rgba(52,199,89,.2)}
.quote-comprehensive .schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.quote-comprehensive .schedule-toolbar p{margin:0;color:var(--quote-muted);font-size:14px}
.quote-comprehensive .add-shift,.quote-comprehensive .wizard-next,.quote-comprehensive .wizard-back,.quote-comprehensive .quote-submit-final{min-height:48px;padding:12px 20px;border:0;border-radius:999px;font:inherit;font-size:15px;font-weight:650;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.quote-comprehensive .add-shift,.quote-comprehensive .wizard-next,.quote-comprehensive .quote-submit-final{background:var(--quote-blue);color:#fff;box-shadow:0 8px 22px rgba(0,113,227,.2)}
.quote-comprehensive .add-shift:hover,.quote-comprehensive .wizard-next:hover,.quote-comprehensive .quote-submit-final:hover{background:var(--quote-blue-hover);transform:translateY(-1px)}
.quote-comprehensive .wizard-back{background:#e8e8ed;color:var(--quote-ink)}
.quote-comprehensive .wizard-back:hover{background:#dedee3}
.quote-comprehensive .wizard-actions{display:flex;justify-content:space-between;gap:12px;padding-top:28px;border-top:1px solid var(--quote-line)}
.quote-comprehensive .shift-card{margin:0 0 14px;padding:22px;border:1px solid rgba(29,29,31,.08);border-radius:20px;background:#f8f8fa;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.quote-comprehensive .shift-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.quote-comprehensive .shift-card-head strong{font-size:17px;letter-spacing:-.01em}
.quote-comprehensive .remove-shift{padding:8px 10px;border:0;border-radius:999px;background:transparent;color:#d70015;font-weight:650;cursor:pointer}
.quote-comprehensive .remove-shift:hover{background:rgba(215,0,21,.07)}
.quote-comprehensive .day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:16px}
.quote-comprehensive .day-choice{position:relative}.quote-comprehensive .day-choice input{position:absolute;opacity:0;pointer-events:none}
.quote-comprehensive .day-choice span{display:grid;min-height:44px;place-items:center;border:1px solid rgba(29,29,31,.1);border-radius:12px;background:#fff;color:#515154;font-size:12px;font-weight:650;cursor:pointer;transition:.2s ease}
.quote-comprehensive .day-choice span:hover{border-color:#86868b}
.quote-comprehensive .day-choice input:checked+span{border-color:var(--quote-blue);background:var(--quote-blue);color:#fff;box-shadow:0 6px 16px rgba(0,113,227,.2)}
.quote-comprehensive .patrol-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}
.quote-comprehensive .patrol-day{padding:14px 9px;border:1px solid rgba(29,29,31,.08);border-radius:16px;background:#f8f8fa;text-align:center}
.quote-comprehensive .patrol-day label{display:block;margin-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.quote-comprehensive .patrol-day input{width:100%;min-height:44px;padding:8px!important;border:1px solid transparent!important;border-radius:11px!important;background:#fff!important;text-align:center}
.quote-comprehensive .same-address{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#424245;font-size:14px;font-weight:650}
.quote-comprehensive .same-address input{width:20px;height:20px;accent-color:var(--quote-blue)}
.quote-comprehensive .review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.quote-comprehensive .review-card{padding:20px;border:1px solid rgba(29,29,31,.07);border-radius:18px;background:#f8f8fa}
.quote-comprehensive .review-card small{display:block;margin-bottom:9px;color:#86868b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.quote-comprehensive .review-card strong{display:block;color:var(--quote-ink);font-size:15px;line-height:1.5}
.quote-comprehensive .review-schedule{overflow:hidden;margin:18px 0;border:1px solid rgba(29,29,31,.09);border-radius:18px;background:#fff}
.quote-comprehensive .review-row{display:grid;grid-template-columns:1.5fr .8fr .8fr;align-items:center;gap:12px;padding:14px 17px;border-top:1px solid var(--quote-line);font-size:14px}
.quote-comprehensive .review-row:first-child{border-top:0;background:#f5f5f7;color:#424245;font-weight:650}
.quote-comprehensive .review-totals{max-width:440px;margin-left:auto;padding:14px 18px;border:0;border-radius:18px;background:#f5f5f7}
.quote-comprehensive .review-total-row{display:flex;justify-content:space-between;gap:18px;padding:8px 0;color:var(--quote-muted);font-size:14px}
.quote-comprehensive .review-total-row.grand{margin-top:6px;padding-top:15px;border-top:1px solid rgba(29,29,31,.12);color:var(--quote-ink);font-size:19px;font-weight:750;letter-spacing:-.015em}
.quote-comprehensive .terms-box{margin:20px 0;padding:18px;border-radius:16px;background:#f5f5f7;color:#515154;font-size:13px;line-height:1.6}
.quote-comprehensive .error-text{margin-top:8px;color:#d70015;font-size:13px;font-weight:650}
.quote-summary{position:sticky!important;top:92px!important}
.quote-comprehensive .summary-card{overflow:hidden;padding:30px!important;border:1px solid rgba(29,29,31,.08);border-radius:28px!important;background:rgba(255,255,255,.92)!important;box-shadow:var(--quote-shadow)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.quote-comprehensive .summary-kicker{margin:0 0 22px;color:#86868b;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.quote-comprehensive .summary-empty{display:grid;gap:9px}.quote-comprehensive .summary-empty strong{font-size:24px;letter-spacing:-.025em}.quote-comprehensive .summary-empty span,.quote-comprehensive .summary-disclaimer{color:var(--quote-muted);font-size:13px;line-height:1.5}
.quote-comprehensive .summary-service{display:flex;justify-content:space-between;gap:18px;padding:0 0 18px;border-bottom:1px solid var(--quote-line);font-size:14px}
.quote-comprehensive .summary-service span{color:var(--quote-muted)}.quote-comprehensive .summary-service strong{text-align:right}
.quote-comprehensive .summary-lines .summary-line{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--quote-line);font-size:13px}
.quote-comprehensive .summary-lines .summary-line span{color:var(--quote-muted)}.quote-comprehensive .summary-lines .summary-line strong{text-align:right}
.quote-comprehensive .summary-price{padding:24px 0 18px}.quote-comprehensive .summary-price span,.quote-comprehensive .summary-price small{display:block;color:var(--quote-muted);font-size:12px}.quote-comprehensive .summary-price strong{display:block;margin:5px 0 4px;font-size:42px;line-height:1;letter-spacing:-.052em}
.quote-comprehensive .summary-breakdown{margin-top:12px;color:var(--quote-muted);font-size:12px;line-height:1.5}
.quote-comprehensive .summary-submit{min-height:52px!important;background:var(--quote-blue)!important;box-shadow:0 9px 24px rgba(0,113,227,.22)}
.quote-comprehensive .summary-submit:hover{background:var(--quote-blue-hover)!important;transform:translateY(-1px)}
.quote-comprehensive .review-status{display:block;margin-top:13px;font-size:13px;font-weight:650}
.quote-store button:focus-visible,.quote-store a:focus-visible,.quote-store label:focus-within{outline:3px solid rgba(0,113,227,.32);outline-offset:3px}
@media(max-width:980px){.quote-builder-grid{grid-template-columns:1fr!important}.quote-summary{position:static!important}.quote-comprehensive .field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-comprehensive .patrol-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.quote-store-head{padding:120px 0 48px!important;text-align:left}.quote-store-head h1,.quote-store-head>div>p:not(.quote-store-eyebrow){margin-left:0!important}.quote-store-progress{display:flex!important;width:100%;justify-content:flex-start;margin-top:32px!important;overflow:auto}.quote-store-progress span{padding:9px 13px!important}.quote-area-check{padding:34px 0 14px}.quote-area-card{padding:28px 20px!important;border-radius:24px!important}.quote-builder{padding:36px 0 80px!important}.quote-comprehensive .quote-step{padding:26px 20px!important;border-radius:24px!important}.service-storefront .quote-choice{min-height:500px!important}.quote-comprehensive .field-grid,.quote-comprehensive .field-grid.three,.quote-comprehensive .review-grid{grid-template-columns:1fr}.quote-comprehensive .patrol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-comprehensive .day-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-comprehensive .review-row{grid-template-columns:1fr}.quote-comprehensive .summary-card{padding:26px 22px!important}}
@media(max-width:520px){.quote-store-head h1{font-size:45px!important}.quote-comprehensive .plan-block-head,.quote-comprehensive .schedule-toolbar{align-items:stretch;flex-direction:column}.quote-comprehensive .plan-heading{gap:11px}.quote-comprehensive .patrol-grid{grid-template-columns:1fr}.quote-comprehensive .day-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-comprehensive .wizard-actions{flex-direction:column-reverse}.quote-comprehensive .wizard-actions button{width:100%}.quote-comprehensive .review-totals{max-width:none}}
@media(prefers-reduced-motion:reduce){.quote-store *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.quote-comprehensive .proposal-download{min-height:48px;padding:12px 20px;border:1px solid rgba(29,29,31,.13);border-radius:999px;background:#fff;color:var(--quote-ink);font:inherit;font-size:15px;font-weight:650;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.quote-comprehensive .proposal-download:hover{background:#f5f5f7;transform:translateY(-1px);box-shadow:0 7px 20px rgba(0,0,0,.07)}
@media print{
  @page{size:auto;margin:12mm}
  body.printing-proposal{background:#fff!important}
  body.printing-proposal>*:not(main){display:none!important}
  body.printing-proposal main>*:not(.quote-builder){display:none!important}
  body.printing-proposal .quote-builder{padding:0!important;background:#fff!important}
  body.printing-proposal .quote-builder>.shell{width:100%!important;max-width:none!important}
  body.printing-proposal .quote-builder-grid{display:block!important}
  body.printing-proposal .quote-steps>*:not(#coverage-step),body.printing-proposal .quote-summary,body.printing-proposal #coverage-step>header,body.printing-proposal .plan-progress,body.printing-proposal .proposal-nav,body.printing-proposal .proposal-action-bar,body.printing-proposal .review-status{display:none!important}
  body.printing-proposal #coverage-step{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
  body.printing-proposal #quote-review,body.printing-proposal .proposal-document,body.printing-proposal .proposal-pages,body.printing-proposal .proposal-page{display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
  body.printing-proposal .proposal-hero{break-after:page}
  body.printing-proposal .proposal-page{break-before:page;padding-top:8mm!important}
  body.printing-proposal .proposal-page[hidden]{display:block!important}
  body.printing-proposal .proposal-info-card,body.printing-proposal .proposal-price-row,body.printing-proposal .proposal-compliance-grid>div,body.printing-proposal .proposal-terms-list>div{break-inside:avoid}
  body.printing-proposal *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
