/* Final quote invitation: dark card on the closing white band, copy left and a WhatsApp phone right. */
.bp-quote.bp-section{padding-block:clamp(1rem,3vw,2rem) clamp(2.5rem,5vw,4.5rem)}
.bp-quote-card{--color-text:#f5f1e9;--color-text-muted:#c6cbd1;--color-border:#ffffff1f;position:relative;isolation:isolate;overflow:hidden;width:min(calc(100% - var(--gutter)*2),var(--bp-wrap));margin-inline:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(4rem,7vw,6.5rem) clamp(1.5rem,5vw,4.5rem) clamp(2.5rem,5vw,4.5rem);border-radius:var(--radius-card);color:var(--color-text);background:radial-gradient(ellipse 60% 70% at 85% 55%,#c5a36b2e,transparent 70%),radial-gradient(ellipse 50% 60% at 0% 100%,#c9212a24,transparent 70%),linear-gradient(160deg,#15181c,#0c0e11 60%,#0a0b0d)}
.bp-quote-card .bp-eyebrow{color:var(--bp-champagne)}
.bp-quote h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.06;letter-spacing:-.045em;text-wrap:balance;color:var(--color-text)}
.bp-quote-lead{margin-top:1.5rem;max-width:520px;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.75;color:var(--color-text-muted)}
.bp-quote-lead strong{color:var(--bp-champagne);font-weight:600}
.bp-quote-points{list-style:none;padding:0;margin:2.25rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;max-width:560px}
.bp-quote-points li{display:flex;gap:.85rem;align-items:flex-start;font-size:.88rem;line-height:1.5;color:var(--color-text-muted)}
.bp-quote-points strong{display:block;color:var(--color-text);font-weight:500;font-size:.98rem;margin-bottom:.1rem}
.bp-quote-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#c5a36b1a;border:1px solid #c5a36b40;color:var(--bp-champagne)}
.bp-quote-icon .bp-icon{width:22px;height:22px}
.bp-quote .bp-actions{margin-top:2.5rem}
.bp-quote-note{margin-top:1rem;font-size:.8rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.6rem}
.bp-quote-note:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bp-whatsapp);box-shadow:0 0 10px var(--bp-whatsapp)}

/* Garland across the top of the card. */
.bp-quote-garland{position:absolute;top:0;left:0;width:100%;height:clamp(60px,8vw,110px);z-index:-1;pointer-events:none}
.bp-quote-wire{fill:none;stroke:#5a4a33;stroke-width:1.2;vector-effect:non-scaling-stroke}
.bp-quote-bulb{fill:#f7d99b;filter:drop-shadow(0 0 6px #f7d99bcc)}

/* Phone and floating badges. */
.bp-quote-stage{position:relative;display:grid;place-items:center;padding-block:1rem}
.bp-quote-glow{position:absolute;inset:8% 10%;border-radius:50%;background:radial-gradient(circle,#c5a36b55,#c5a36b00 65%);filter:blur(30px);z-index:-1}
.bp-quote-phone{margin:0;width:min(100%,340px);filter:drop-shadow(0 40px 60px #000a) drop-shadow(0 0 1px #ffffff40)}
.bp-quote-phone svg{display:block;width:100%;height:auto;font-family:var(--brand-font-body)}
.bp-q-status{font-size:15px;font-weight:600;fill:#e9edef}
.bp-q-avatar{font-size:20px;font-weight:700;fill:#fff}
.bp-q-name{font-size:16px;font-weight:600;fill:#e9edef}
.bp-q-online,.bp-q-typing-label{font-size:12.5px;fill:#8696a0}
.bp-q-typing-label{opacity:0;fill:#25d366}
.bp-q-meta{font-size:10.5px;letter-spacing:.08em;fill:#8696a0}
.bp-q-text{font-size:13.6px;fill:#e9edef}
.bp-q-strong{font-weight:700;fill:#f7d99b}
.bp-q-time{font-size:10.5px;fill:#ffffff99}
.bp-q-placeholder{font-size:14px;fill:#8696a0}
.bp-q-ticks{fill:none;stroke:#53bdeb;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bp-q-typing{opacity:0}
.bp-q-typing circle{fill:#8696a0}
.bp-q-photo-bulb{fill:#ffe7b0}
.bp-quote-badge{position:absolute;display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;border-radius:14px;background:#f5f1e9;color:var(--bp-ink);box-shadow:0 18px 40px #0007;font-size:.78rem;line-height:1.25}
.bp-quote-badge strong{display:block;font-size:.92rem;font-weight:600}
.bp-quote-badge>svg{color:var(--bp-gold-ink);flex:none}
.bp-quote-badge{top:18%;left:-2%}
.bp-quote-badge--free{top:50%;left:-2%;background:var(--bp-whatsapp);color:var(--bp-whatsapp-ink)}
.bp-quote-badge--free .bp-icon{width:22px;height:22px;color:var(--bp-whatsapp-ink)}

/* Motion: only when JS has armed the phone (bpark-quote.js); otherwise the chat is complete and static. */
@media(prefers-reduced-motion:no-preference){
 .bp-quote-phone.is-armed .bp-q-msg{opacity:0}
 .bp-quote-phone.is-armed .bp-q-ticks{stroke:#8696a0}
 .bp-quote-phone.is-playing .bp-q-msg{animation:bpq-in .55s var(--ease-out) both;animation-delay:var(--d)}
 .bp-quote-phone.is-playing .bp-q-out .bp-q-ticks{animation:bpq-read .3s ease both;animation-delay:calc(var(--d) + 1.6s)}
 .bp-quote-phone.is-playing .bp-q-typing{animation:bpq-typing 1.5s ease both;animation-delay:var(--d)}
 .bp-quote-phone.is-playing .bp-q-typing circle{animation:bpq-dot .9s ease-in-out infinite}
 .bp-quote-phone.is-playing .bp-q-typing circle:nth-child(3){animation-delay:.15s}
 .bp-quote-phone.is-playing .bp-q-typing circle:nth-child(4){animation-delay:.3s}
 .bp-quote-phone.is-playing .bp-q-typing-label{animation:bpq-label 1.5s ease both;animation-delay:2.5s}
 .bp-quote-phone.is-playing .bp-q-online{animation:bpq-label-off 1.5s ease both;animation-delay:2.5s}
 .bp-quote-phone{animation:bpq-float 7s ease-in-out infinite}
 .bp-quote-badge{animation:bpq-float 6s ease-in-out infinite reverse}
 .bp-quote-badge--free{animation-duration:7.5s;animation-direction:normal}
 .bp-quote-glow{animation:bpq-glow 5s ease-in-out infinite}
 .bp-quote-bulb{animation:bpq-twinkle 2.6s ease-in-out infinite;animation-delay:var(--b)}
 .bp-q-photo-bulb{animation:bpq-twinkle 1.8s ease-in-out infinite;animation-delay:var(--b)}
 .bp-quote-stage.is-armed .bp-quote-badge{opacity:0;transform:translateY(12px) scale(.96);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
 .bp-quote-stage.is-playing .bp-quote-badge{opacity:1;transform:none;transition-delay:4.4s}
 .bp-quote-stage.is-playing .bp-quote-badge:not(.bp-quote-badge--free){transition-delay:.9s}
}
.bp-q-msg,.bp-q-typing{transform-box:fill-box;transform-origin:bottom right}
.bp-q-in{transform-origin:bottom left}
@keyframes bpq-in{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes bpq-read{from{stroke:#8696a0}to{stroke:#53bdeb}}
@keyframes bpq-typing{0%{opacity:0;transform:translateY(8px)}15%,85%{opacity:1;transform:none}100%{opacity:0}}
@keyframes bpq-dot{0%,100%{transform:none;opacity:.5}50%{transform:translateY(-3px);opacity:1}}
@keyframes bpq-label{0%,100%{opacity:0}12%,88%{opacity:1}}
@keyframes bpq-label-off{0%,100%{opacity:1}12%,88%{opacity:0}}
@keyframes bpq-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes bpq-glow{0%,100%{opacity:.7;scale:1}50%{opacity:1;scale:1.06}}
@keyframes bpq-twinkle{0%,100%{opacity:1}50%{opacity:.35}}
.bp-q-typing circle{transform-box:fill-box}

@media(max-width:960px){.bp-quote-card{grid-template-columns:1fr;text-align:left}.bp-quote-stage{max-width:420px;margin-inline:auto;width:100%}}
@media(max-width:560px){.bp-quote-points{grid-template-columns:1fr}.bp-quote-phone{width:min(82%,300px)}.bp-quote-stage{padding-top:2.5rem}.bp-quote-badge{top:0;left:0;font-size:.7rem;padding:.6rem .8rem}.bp-quote-badge--free{display:none}.bp-quote .bp-actions .btn{width:100%}}
@media print{.bp-quote-garland,.bp-quote-glow{display:none}}
@media(prefers-reduced-motion:no-preference){.bp-quote-phone.is-clearing .bp-q-msg{animation:bpq-out .45s ease both}}
@keyframes bpq-out{from{opacity:1}to{opacity:0;transform:translateY(-8px)}}

/* Whole section on dark: the band spans the full width, the content keeps the 1200px box. */
.bp-quote-wrap{position:relative;isolation:isolate;overflow:hidden;display:flow-root;color:#f5f1e9;background:radial-gradient(ellipse 45% 70% at 78% 55%,#c5a36b2e,transparent 70%),radial-gradient(ellipse 40% 60% at 0% 100%,#c9212a24,transparent 70%),linear-gradient(160deg,#15181c,#0c0e11 60%,#0a0b0d)}
.bp-quote.bp-section{padding-block:0}
.bp-quote-card{position:static;background:none;border-radius:0;overflow:visible;padding-inline:0;padding-block:clamp(6rem,10vw,9rem) clamp(4rem,8vw,7rem)}
.bp-quote-garland{position:absolute;top:0;left:0;width:100%}
.bp-quote{position:relative}
