/* Shared identity only: service artwork and answer layouts remain untouched. */
.sf-message-icon{background:transparent!important;object-fit:contain}
.sf-message-icon img{display:block;width:100%!important;height:100%!important;object-fit:contain}
.rail-logo img{object-fit:contain;aspect-ratio:1892 / 410}
.rail-logo .bp-home-link img{aspect-ratio:1892 / 410}
.bp-home-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;text-decoration:none;border-radius:8px;cursor:pointer;justify-self:center}
.bp-home-link:focus-visible{outline:3px solid var(--bp-brand,#2563eb);outline-offset:4px}
.rail-logo .bp-home-link,.rail>.bp-home-link{width:100%}
@media(max-width:1100px){
 .mobile-head>.bp-home-link{position:absolute;left:50%;transform:translateX(-50%);width:140px;top:env(safe-area-inset-top,0px)}
 .mobile-head .bp-home-link>img{position:static;transform:none;width:130px;height:28px;object-fit:contain}
 .mobile-head .bp-home-link .bp-brand-lockup{position:static!important;transform:none!important}
}
.bp-brand-lockup{display:inline-flex;position:relative;flex-direction:column;align-items:center;justify-content:center;max-width:100%;min-width:0}
.bp-brand-lockup>img{object-fit:contain;max-width:100%}
.bp-powered{display:flex;align-items:center;justify-content:center;gap:4px;font:500 9px/1.3 Arial,sans-serif;white-space:nowrap;color:#52616b;margin-top:3px}
.bp-powered img{width:67px!important;height:15px!important;min-width:0!important;object-fit:contain}
.mobile-header .bp-brand-lockup,.mobile-head .bp-brand-lockup,.m-header .bp-brand-lockup{max-width:160px}
.mobile-header .bp-brand-lockup>img,.mobile-head .bp-brand-lockup>img,.m-header .bp-brand-lockup>img{max-height:27px}
.bp-completion{display:grid;grid-template-rows:88px auto;justify-items:center;align-items:center;gap:12px;margin:18px auto 22px;text-align:center;max-width:100%}
.bp-completion .bp-estimate-notice{max-width:480px;margin:0;padding:0 12px;color:#52616b;font:400 13px/1.5 system-ui,sans-serif;box-sizing:border-box}
.bp-estimate-notice a{color:var(--bp-brand,#2563eb);text-decoration:underline;text-underline-offset:2px}
.bp-house-motion{grid-row:1;grid-column:1;display:block;width:88px;height:88px;overflow:visible;visibility:hidden}
.bp-completion:is([data-state=revealing],[data-state=demo],[data-state=accepted]) .bp-house-motion{visibility:visible}
.bp-house{transform-origin:center}
.bp-smile{stroke-dasharray:1;stroke-dashoffset:0}
[data-state=revealing] .bp-house-motion{animation:bpHouseIn .3s ease-out both}
[data-state=revealing] .bp-house{animation:bpHouseIn .32s cubic-bezier(.2,.7,.2,1) both}
[data-state=revealing] .bp-smile{animation:bpSmileIn .22s .24s ease-out both}
.bp-completion-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;font:500 13px/1.5 Arial,sans-serif;color:#52616b;padding:0 10px}
.bp-dots{grid-row:1;grid-column:1;display:none;gap:8px;flex:none}
.bp-dots i{width:9px;height:9px;border-radius:50%;background:#2563eb;animation:bpDot .6s infinite alternate}
.bp-dots i:nth-child(2){animation-delay:.15s}.bp-dots i:nth-child(3){animation-delay:.3s}
.bp-tick{display:none;color:var(--bp-brand,#2563eb);font-size:20px;font-weight:bold}
[data-state=preparing] .bp-dots,[data-state=pending] .bp-dots{display:flex}
[data-state=demo] .bp-tick,[data-state=accepted] .bp-tick{display:inline}
[data-state=error] .bp-state-label{color:#b42318}
.r-check[hidden],.r-sent[hidden],.sf-result-demo[hidden],.pv-demo-note[hidden]{display:none!important}
html[data-bp-client=partner] :is(.opt,.m-tile,.option,.choice,.answer-card).selected{border-color:var(--bp-brand)!important;background:var(--bp-blue-soft)!important}
html[data-bp-client=partner] :is(.progress-fill,.m-progress-fill,.mobile-progress i,.progress-bar i){background:var(--bp-brand)!important}
html[data-bp-client=partner] :is(.continue-button,.continue,.cont-btn,.m-continue){background:var(--bp-brand)!important;color:var(--bp-brand-foreground)!important}
html[data-bp-client=partner] :is(.back-button,.mobile-back,.back,.ac,h1 em){color:var(--bp-brand)!important}
@keyframes bpHouseIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes bpSmileIn{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes bpDot{from{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.bp-house,.bp-smile,.bp-dots i{animation:none}.bp-smile{stroke-dashoffset:0}}
