:root {
	--bpr-ink: #17212b;
	--bpr-muted: #667085;
	--bpr-line: #e5e7eb;
	--bpr-surface: #ffffff;
	--bpr-tint: #f6f8f4;
	--bpr-green: #1c5d4b;
	--bpr-green-dark: #124235;
	--bpr-gold: #d8a64b;
	--bpr-radius: 18px;
}

.bpr-shell { box-sizing: border-box; max-width: 1160px; margin: 42px auto 72px; padding: 0 22px; color: var(--bpr-ink); font-family: inherit; }
.bpr-shell *, .bpr-shell *::before, .bpr-shell *::after { box-sizing: border-box; }
.bpr-shell h1, .bpr-shell h2, .bpr-shell h3, .bpr-shell p { margin-top: 0; }
.bpr-shell h1 { font-size: clamp(2.25rem, 4vw, 4rem); line-height: 1.05; letter-spacing: -0.055em; margin-bottom: 18px; }
.bpr-shell h1 em { color: var(--bpr-green); font-style: normal; }
.bpr-shell h2 { font-size: 1.35rem; letter-spacing: -0.025em; }
.bpr-card { background: var(--bpr-surface); border: 1px solid var(--bpr-line); border-radius: var(--bpr-radius); box-shadow: 0 9px 28px rgba(23, 33, 43, .045); }
.bpr-eyebrow, .bpr-id { display: block; color: var(--bpr-green); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bpr-muted, .bpr-privacy { color: var(--bpr-muted); font-size: .86rem; }
.bpr-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; border: 1px solid transparent; border-radius: 10px; padding: 10px 18px; font-size: .92rem; font-weight: 750; line-height: 1; text-decoration: none; transition: transform .18s ease, background .18s ease, border .18s ease; cursor: pointer; }
.bpr-button:hover { transform: translateY(-1px); }
.bpr-button--primary { background: var(--bpr-green); color: #fff; }
.bpr-button--primary:hover { background: var(--bpr-green-dark); color: #fff; }
.bpr-button--primary span { font-size: 1.2em; }
.bpr-button--secondary { background: #fff; border-color: #cfd6d2; color: var(--bpr-green); }
.bpr-button--secondary:hover { border-color: var(--bpr-green); color: var(--bpr-green); }
.bpr-notice { border-radius: 9px; margin: 0 0 18px; padding: 12px 14px; font-size: .9rem; }
.bpr-notice--error { background: #fff3f2; border: 1px solid #fecdc8; color: #9b2820; }

.bpr-form-shell { display: grid; grid-template-columns: minmax(0, .92fr) minmax(390px, 1.08fr); gap: 68px; align-items: center; min-height: 600px; }
.bpr-form-intro { padding: 16px 0; }
.bpr-form-intro > p { max-width: 410px; color: var(--bpr-muted); font-size: 1.06rem; line-height: 1.65; }
.bpr-trust { display: grid; gap: 10px; margin-top: 34px; color: #405047; font-size: .9rem; font-weight: 650; }
.bpr-trust span { display: flex; gap: 9px; align-items: center; }
.bpr-trust span::first-letter { color: var(--bpr-gold); }
.bpr-request-form { padding: 32px; }
.bpr-request-form h2 { margin-bottom: 4px; }
.bpr-request-form label, .bpr-quote-builder label { display: block; margin: 18px 0 0; color: #344054; font-size: .82rem; font-weight: 750; }
.bpr-request-form label b { color: #c2412d; }
.bpr-request-form input:not([type=file]), .bpr-request-form textarea, .bpr-request-form select { width: 100%; margin-top: 7px; border: 1px solid #d7dce0; border-radius: 9px; background: #fff; color: var(--bpr-ink); font: inherit; font-size: .94rem; outline: none; padding: 11px 12px; transition: border-color .18s, box-shadow .18s; }
.bpr-request-form input:not([type=file]) { height: 44px; }
.bpr-request-form textarea { resize: vertical; }
.bpr-request-form input:focus, .bpr-request-form textarea:focus, .bpr-request-form select:focus { border-color: var(--bpr-green); box-shadow: 0 0 0 3px rgba(28, 93, 75, .12); }
.bpr-grid { display: grid; gap: 14px; }
.bpr-grid--two { grid-template-columns: 1fr 1fr; }
.bpr-grid--three { grid-template-columns: repeat(3, 1fr); }
.bpr-money { display: flex; margin-top: 7px; }
.bpr-money select { max-width: 78px; border-radius: 9px 0 0 9px !important; }
.bpr-money input { margin-top: 0 !important; border-radius: 0 9px 9px 0 !important; border-left: 0 !important; }
.bpr-upload { position: relative; display: flex !important; align-items: center; justify-content: space-between; border: 1px dashed #aab9b1; border-radius: 10px; padding: 12px 14px; background: #fafcf9; cursor: pointer; }
.bpr-upload span { color: var(--bpr-muted); font-size: .74rem; font-weight: 500; }
.bpr-upload strong { color: var(--bpr-green); font-size: .8rem; }
.bpr-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.bpr-request-form > .bpr-button { width: 100%; margin-top: 24px; }
.bpr-privacy { margin: 13px 0 0; text-align: center; line-height: 1.45; }
.bpr-signed-in { margin: 16px 0; border: 1px solid #d5e6db; border-radius: 9px; background: #f4faf6; padding: 12px 14px; color: #405047; font-size: .88rem; }
.bpr-signed-in a { color: var(--bpr-green); }

.bpr-page-head, .bpr-detail-head { display: flex; gap: 24px; align-items: flex-end; justify-content: space-between; margin-bottom: 30px; }
.bpr-page-head h1 { margin: 5px 0 8px; font-size: 2.6rem; }
.bpr-page-head p { color: var(--bpr-muted); margin: 0; }
.bpr-request-list { display: grid; gap: 13px; }
.bpr-request-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 24px; }
.bpr-request-row h2 { margin: 4px 0 10px; font-size: 1.05rem; }
.bpr-request-row p { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; color: var(--bpr-muted); font-size: .85rem; margin: 0; }
.bpr-status { display: inline-flex; align-items: center; gap: 6px; color: #475467; font-weight: 700; }
.bpr-status i { width: 7px; height: 7px; border-radius: 50%; background: #9ca3af; }
.bpr-status--new i, .bpr-status--reviewing i { background: #d8a64b; }.bpr-status--searching i { background: #5f8db5; }.bpr-status--product_found i, .bpr-status--completed i, .bpr-status--accepted i { background: #2b9b68; }.bpr-status--quote_sent i { background: #8966c3; }.bpr-status--not_found i, .bpr-status--declined i { background: #cd5d4e; }
.bpr-empty { max-width: 560px; margin: 65px auto; padding: 48px 34px; text-align: center; }.bpr-empty h2 { margin-bottom: 10px; }.bpr-empty p { color: var(--bpr-muted); line-height: 1.6; }.bpr-empty-icon { width: 56px; height: 56px; display: grid; place-items: center; margin: 0 auto 17px; border-radius: 50%; background: #edf5ef; color: var(--bpr-green); font-size: 2rem; }

.bpr-detail-head { align-items: flex-start; }.bpr-back { display: inline-block; margin-bottom: 17px; color: var(--bpr-muted); font-size: .88rem; text-decoration: none; }.bpr-back:hover { color: var(--bpr-green); }.bpr-detail-head h1 { font-size: 2.75rem; margin: 6px 0 10px; }.bpr-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .65fr); gap: 20px; }.bpr-product-summary, .bpr-timeline { padding: 28px; }.bpr-product-info { display: flex; gap: 24px; align-items: flex-start; }.bpr-product-info img { width: 178px; height: 178px; object-fit: cover; border-radius: 12px; background: #f4f5f4; }.bpr-product-info dl { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 20px; margin: 6px 0 0; }.bpr-product-info dt { color: var(--bpr-muted); font-size: .75rem; font-weight: 700; }.bpr-product-info dd { margin: 4px 0 0; font-size: .94rem; font-weight: 700; }.bpr-details-copy { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--bpr-line); color: #475467; font-size: .92rem; line-height: 1.65; }.bpr-reference { display: inline-block; margin-top: 17px; color: var(--bpr-green); font-size: .88rem; font-weight: 750; }.bpr-timeline h2 { margin-bottom: 22px; }.bpr-timeline-item { display: flex; gap: 13px; position: relative; padding-bottom: 20px; }.bpr-timeline-item:not(:last-child)::before { content: ''; position: absolute; left: 4px; top: 11px; bottom: -1px; width: 1px; background: #d9e2dc; }.bpr-timeline-item > i { z-index: 1; flex: 0 0 9px; width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: var(--bpr-green); }.bpr-timeline-item strong { display: block; font-size: .81rem; }.bpr-timeline-item p { margin: 3px 0; color: var(--bpr-muted); font-size: .8rem; line-height: 1.45; }.bpr-timeline-item time { color: #98a2b3; font-size: .71rem; }.bpr-offer-section { margin-top: 32px; }.bpr-offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 16px; }.bpr-offer-card { padding: 23px; }.bpr-offer-card h3 { margin: 9px 0 6px; font-size: 1.65rem; }.bpr-offer-card p { min-height: 22px; color: var(--bpr-muted); font-size: .84rem; }.bpr-offer-card .bpr-button { margin-top: 10px; }

.bpr-offer { max-width: 820px; }.bpr-offer-hero { text-align: center; margin: 45px auto 28px; }.bpr-offer-hero h1 { margin: 8px auto 10px; font-size: clamp(2.25rem, 4vw, 3.3rem); }.bpr-offer-hero p { color: var(--bpr-muted); }.bpr-price-card { padding: 31px; }.bpr-price-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--bpr-line); }.bpr-price-card__top span { color: var(--bpr-muted); font-size: .84rem; }.bpr-price-card__top h2 { margin: 7px 0; color: var(--bpr-green); font-size: 2.6rem; letter-spacing: -.04em; }.bpr-price-card__top p { color: var(--bpr-muted); font-size: .88rem; margin: 0; }.bpr-price-lines { padding: 11px 0; }.bpr-price-lines p { display: flex; justify-content: space-between; margin: 13px 0; color: var(--bpr-muted); font-size: .9rem; }.bpr-price-lines strong { color: var(--bpr-ink); }.bpr-quote-note { border-left: 3px solid var(--bpr-gold); background: #fffcf6; color: #5c5138; padding: 13px 15px; font-size: .89rem; line-height: 1.55; }.bpr-expiry { color: var(--bpr-muted); font-size: .8rem; margin: 20px 0; }.bpr-decision { display: flex; align-items: center; gap: 20px; }.bpr-text-button { border: 0; background: none; color: #667085; cursor: pointer; font: inherit; font-size: .86rem; text-decoration: underline; }.bpr-success { max-width: 620px; padding: 56px 48px; margin: 65px auto; text-align: center; }.bpr-success-mark { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 22px; border-radius: 50%; background: #e5f4e8; color: var(--bpr-green); font-size: 2rem; font-weight: 800; }.bpr-success p { max-width: 445px; margin: 0 auto; color: var(--bpr-muted); line-height: 1.65; }.bpr-success-actions { display: flex; justify-content: center; gap: 12px; margin-top: 29px; }

@media (max-width: 820px) { .bpr-form-shell, .bpr-detail-grid { grid-template-columns: 1fr; gap: 28px; }.bpr-form-shell { margin-top: 25px; }.bpr-form-intro { padding: 0; }.bpr-page-head, .bpr-detail-head { align-items: flex-start; flex-direction: column; }.bpr-request-row { align-items: flex-start; flex-direction: column; }.bpr-detail-head h1 { font-size: 2.25rem; }.bpr-timeline { order: -1; }.bpr-offer { margin-top: 22px; } }
@media (max-width: 540px) { .bpr-shell { padding: 0 15px; margin-bottom: 44px; }.bpr-request-form, .bpr-product-summary, .bpr-timeline, .bpr-price-card { padding: 21px; }.bpr-grid--two, .bpr-grid--three { grid-template-columns: 1fr; }.bpr-product-info { align-items: stretch; flex-direction: column; }.bpr-product-info img { width: 100%; height: auto; max-height: 260px; }.bpr-product-info dl { grid-template-columns: 1fr 1fr; }.bpr-success { padding: 40px 21px; }.bpr-success-actions, .bpr-decision { align-items: stretch; flex-direction: column; }.bpr-price-card__top { flex-direction: column; }.bpr-request-row .bpr-button { width: 100%; }.bpr-page-head .bpr-button, .bpr-detail-head .bpr-button { width: 100%; } }

