/* Vision — homepage flagship styles. Inherits the design tokens from widget.css. */

.bp-v-launcher{position:fixed;right:20px;bottom:20px;z-index:99998;display:inline-flex;align-items:center;gap:9px;padding:13px 22px;background:linear-gradient(135deg,#0B2545,#1E5EFF);color:#fff;border-radius:999px;font:600 13.5px/1 -apple-system,Segoe UI,Roboto,Inter,sans-serif;box-shadow:0 12px 30px rgba(11,37,69,.28);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;-webkit-font-smoothing:antialiased;overflow:hidden}
.bp-v-launcher:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 40px rgba(11,37,69,.34)}
.bp-v-launcher .bp-v-shine{position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(200,162,75,.35) 50%,transparent 70%);background-size:200% 100%;animation:bpVShine 4s linear infinite}
@keyframes bpVShine{from{background-position:200% 0}to{background-position:-200% 0}}
.bp-v-launcher span{position:relative;z-index:2}
.bp-v-launcher svg{position:relative;z-index:2;opacity:.95}

/* Modal — denser than Blueprint's, more dramatic */
.bp-v-modal{width:100%;max-width:620px;max-height:94vh;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 36px 70px rgba(11,37,69,.4);display:flex;flex-direction:column;font:14px/1.5 -apple-system,Segoe UI,Roboto,Inter,sans-serif;color:#1A1A1A;animation:bpVSlide .45s cubic-bezier(.2,.8,.2,1)}
@keyframes bpVSlide{from{transform:translateY(30px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.bp-v-header{display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(135deg,#0B2545,#13315C);color:#fff;flex:0 0 auto}
.bp-v-header .bp-v-name{font-weight:700;color:#fff;font-size:14px}
.bp-v-header .bp-v-sub{color:rgba(255,255,255,.7);font-size:11.5px;letter-spacing:.4px;text-transform:uppercase}
.bp-v-header .bp-v-close{margin-left:auto;background:rgba(255,255,255,.1);border:0;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px}
.bp-v-header .bp-v-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#C8A24B,#E2BE71);color:#0B2545;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;animation:bpBreath 4s ease-in-out infinite}

.bp-v-stage{padding:22px 22px 16px;overflow-y:auto;flex:1 1 auto;background:#fff}

/* Act 1 - welcome */
.bp-v-hero{padding:8px 4px}
.bp-v-hero h2{font:700 22px/1.25 Georgia,serif;color:#0B2545;margin:0 0 10px}
.bp-v-hero p{color:#5C6B7A;font-size:14px;line-height:1.55;margin:0 0 18px}
.bp-v-fork{display:grid;grid-template-columns:1fr;gap:10px}
.bp-v-fork button{padding:14px 16px;background:#fff;border:1.5px solid #E1E6EF;border-radius:12px;cursor:pointer;text-align:left;font:600 14px/1.3 inherit;color:#0B2545;transition:all .2s ease}
.bp-v-fork button:hover{border-color:#1E5EFF;background:#F8FAFF;transform:translateY(-1px)}
.bp-v-fork button.primary{background:linear-gradient(135deg,#0B2545,#1E5EFF);color:#fff;border-color:#1E5EFF}
.bp-v-fork button.primary:hover{box-shadow:0 10px 22px rgba(30,94,255,.32)}
.bp-v-fork button small{display:block;font-weight:400;color:#5C6B7A;font-size:11.5px;margin-top:4px}
.bp-v-fork button.primary small{color:rgba(255,255,255,.7)}

/* URL input */
.bp-v-url-input{display:flex;flex-direction:column;gap:8px;padding:8px 0}
.bp-v-url-input input{padding:13px 14px;border:1.5px solid #E1E6EF;border-radius:12px;font:600 16px/1 inherit;color:#0B2545;outline:none}
.bp-v-url-input input:focus{border-color:#1E5EFF;box-shadow:0 0 0 4px rgba(30,94,255,.12)}
.bp-v-url-input button{padding:13px;background:linear-gradient(135deg,#0B2545,#1E5EFF);color:#fff;border:0;border-radius:12px;font:600 14px/1 inherit;cursor:pointer;transition:transform .15s ease}
.bp-v-url-input button:hover{transform:translateY(-1px)}

/* Act 2 — radar scan */
.bp-v-scan{padding:8px 4px}
.bp-v-scan h3{font:700 14px/1 inherit;color:#0B2545;margin:0 0 14px;text-transform:uppercase;letter-spacing:.6px}
.bp-v-radar{position:relative;width:100%;height:120px;background:radial-gradient(circle at center,#EFF4FF 0%,#fff 70%);border-radius:14px;overflow:hidden;margin-bottom:14px;border:1px solid #E1E6EF}
.bp-v-radar:before{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;background:#1E5EFF;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(30,94,255,.15)}
.bp-v-radar .bp-v-sweep{position:absolute;left:50%;top:50%;width:100%;height:100%;transform-origin:0 0;background:conic-gradient(from 0deg,transparent 0%,transparent 85%,rgba(30,94,255,.4) 100%);animation:bpVRadar 2.4s linear infinite}
@keyframes bpVRadar{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.bp-v-radar .bp-v-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(30,94,255,.2);border-radius:50%;transform:translate(-50%,-50%)}
.bp-v-radar .bp-v-ring.r1{width:60px;height:60px}
.bp-v-radar .bp-v-ring.r2{width:110px;height:110px;opacity:.5}
.bp-v-radar .bp-v-ring.r3{width:160px;height:160px;opacity:.25}

.bp-v-checks{display:flex;flex-direction:column;gap:7px;font-size:13px}
.bp-v-check{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#F4F6FA;border-radius:9px;color:#5C6B7A;transition:all .25s ease}
.bp-v-check.active{background:#EFF4FF;color:#0B2545}
.bp-v-check.done{background:#E8F8EE;color:#1F8F5F}
.bp-v-check .bp-v-dot{width:14px;height:14px;flex:0 0 14px;border-radius:50%;border:2px solid #C9D1DC;position:relative}
.bp-v-check.active .bp-v-dot{border-color:#1E5EFF;border-top-color:transparent;animation:bpSpin .8s linear infinite}
.bp-v-check.done .bp-v-dot{background:#1F8F5F;border-color:#1F8F5F}
.bp-v-check.done .bp-v-dot:after{content:"";position:absolute;left:3px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Act 3 — X-Ray reveal */
.bp-v-score-hero{text-align:center;padding:12px 0 18px}
.bp-v-score-num{font:700 64px/1 -apple-system,Inter,sans-serif;color:#0B2545;letter-spacing:-2px;display:inline-block;position:relative}
.bp-v-score-num:after{content:"/100";font-size:18px;color:#5C6B7A;font-weight:500;margin-left:4px;vertical-align:top;position:relative;top:8px}
.bp-v-score-verdict{font-size:14px;color:#5C6B7A;margin-top:6px}
.bp-v-opening{background:#F8FAFF;border-left:3px solid #1E5EFF;border-radius:10px;padding:14px 16px;margin:0 0 18px;font:italic 14px/1.55 inherit;color:#0B2545}

.bp-v-dims{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.bp-v-dim{padding:12px 14px;background:#fff;border:1px solid #E1E6EF;border-radius:12px;animation:bpBubbleIn .4s ease-out both}
.bp-v-dim:nth-child(1){animation-delay:.05s}.bp-v-dim:nth-child(2){animation-delay:.15s}.bp-v-dim:nth-child(3){animation-delay:.25s}.bp-v-dim:nth-child(4){animation-delay:.35s}
.bp-v-dim-label{font:600 11px/1 inherit;color:#5C6B7A;text-transform:uppercase;letter-spacing:.6px}
.bp-v-dim-score{font:700 22px/1 -apple-system,Inter,sans-serif;color:#0B2545;letter-spacing:-.5px;margin:8px 0 4px}
.bp-v-dim-verdict{font-size:11.5px;font-weight:600}
.bp-v-dim-verdict.Strong{color:#1F8F5F}
.bp-v-dim-verdict.Average{color:#8C6C20}
.bp-v-dim-verdict.Weak{color:#B5341D}
.bp-v-dim-verdict.Critical{color:#B5341D}
.bp-v-dim-bar{height:5px;background:#EEF1F6;border-radius:5px;margin-top:8px;overflow:hidden}
.bp-v-dim-bar div{height:100%;background:linear-gradient(90deg,#1E5EFF,#5C8FFF);border-radius:5px;width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}

/* Opportunities accordion */
.bp-v-opps{margin:0 0 22px}
.bp-v-opps h3{font:700 13px/1 inherit;color:#0B2545;margin:0 0 12px;text-transform:uppercase;letter-spacing:.6px}
.bp-v-opp{background:#F8FAFF;border-radius:10px;padding:14px 16px;margin-bottom:10px;border-left:3px solid #B5341D;animation:bpBubbleIn .4s ease-out both}
.bp-v-opp:nth-child(2){animation-delay:.15s}.bp-v-opp:nth-child(3){animation-delay:.3s}.bp-v-opp:nth-child(4){animation-delay:.45s}
.bp-v-opp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.bp-v-opp-issue{font:600 14px/1.4 inherit;color:#0B2545}
.bp-v-opp-impact{font:700 14px/1 -apple-system,Inter,sans-serif;color:#B5341D;white-space:nowrap}
.bp-v-opp-impact small{font-weight:500;color:#5C6B7A;font-size:10.5px;display:block;margin-top:3px}
.bp-v-opp-why{font-size:12.5px;color:#5C6B7A;line-height:1.5;margin-top:8px}
.bp-v-opp-fix{font-size:12px;color:#1F8F5F;margin-top:8px;font-weight:600}
.bp-v-opp-fix:before{content:"→ "}

/* Act 5 — revenue reckoning */
.bp-v-rev{padding:8px 4px}
.bp-v-rev-headline{font:italic 14px/1.5 inherit;color:#5C6B7A;margin:0 0 6px}
.bp-v-rev-monthly{font:700 56px/1 -apple-system,Inter,sans-serif;color:#B5341D;letter-spacing:-1.5px;margin:6px 0;animation:bpVRoll 1.8s cubic-bezier(.2,.8,.2,1)}
.bp-v-rev-monthly small{font-size:14px;color:#5C6B7A;font-weight:500;display:block}
@keyframes bpVRoll{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.bp-v-rev-breakdown{margin-top:18px;background:#FEEFEF;border-radius:12px;padding:14px 16px}
.bp-v-rev-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed rgba(181,52,29,.2);font-size:13px}
.bp-v-rev-row:last-child{border-bottom:0}
.bp-v-rev-row span:first-child{color:#0B2545}
.bp-v-rev-row span:last-child{font:700 13px/1 -apple-system,Inter,sans-serif;color:#B5341D}
.bp-v-rev-recover{margin-top:16px;padding:14px 16px;background:#E8F8EE;border-radius:12px;text-align:center}
.bp-v-rev-recover-label{font:600 11px/1 inherit;color:#1F8F5F;text-transform:uppercase;letter-spacing:.6px}
.bp-v-rev-recover-num{font:700 26px/1 -apple-system,Inter,sans-serif;color:#1F8F5F;margin-top:6px;letter-spacing:-.5px}
.bp-v-rev-recover-note{font-size:11.5px;color:#5C6B7A;margin-top:4px}

/* Act 6 — edge + plan */
.bp-v-edge{background:linear-gradient(135deg,#0B2545,#163A6B);color:#fff;border-radius:14px;padding:20px;margin:14px 0;border:1px solid #C8A24B;animation:bpBubbleIn .5s ease-out;position:relative;overflow:hidden}
.bp-v-edge:before{content:"";position:absolute;top:-50%;right:-30%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(200,162,75,.18) 0%,transparent 70%)}
.bp-v-edge-label{font:700 11px/1 inherit;color:#C8A24B;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;position:relative}
.bp-v-edge-title{font:700 19px/1.3 Georgia,serif;margin:0 0 10px;position:relative}
.bp-v-edge-pitch{font-size:14px;line-height:1.55;opacity:.95;position:relative}
.bp-v-edge-meta{font-size:12px;color:#C8A24B;margin-top:14px;font-style:italic;position:relative}

.bp-v-handoff{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.bp-v-handoff a.primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;background:linear-gradient(135deg,#1E5EFF,#0B2545);color:#fff;border-radius:12px;text-decoration:none;font:600 14px/1 inherit;transition:transform .15s ease,box-shadow .15s ease}
.bp-v-handoff a.primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,94,255,.34)}
.bp-v-handoff a.secondary{display:block;text-align:center;padding:10px;color:#5C6B7A;text-decoration:none;font-size:12.5px}
.bp-v-handoff a.secondary:hover{color:#1E5EFF}

/* Lead capture beats */
.bp-v-capture{padding:8px 0}
.bp-v-capture-headline{font:italic 14px/1.5 inherit;color:#0B2545;margin:0 0 14px}
.bp-v-capture input{width:100%;padding:13px 14px;border:1.5px solid #E1E6EF;border-radius:12px;font:inherit;font-size:15px;color:#0B2545;outline:none;margin-bottom:8px;box-sizing:border-box}
.bp-v-capture input:focus{border-color:#1E5EFF;box-shadow:0 0 0 3px rgba(30,94,255,.12)}
.bp-v-capture label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#5C6B7A;margin:8px 0 14px;line-height:1.4;cursor:pointer}
.bp-v-capture button{width:100%;padding:13px;background:linear-gradient(135deg,#0B2545,#1E5EFF);color:#fff;border:0;border-radius:12px;font:600 14px/1 inherit;cursor:pointer;transition:transform .15s ease}
.bp-v-capture button:hover{transform:translateY(-1px)}

/* Mobile */
@media (max-width:520px){
  .bp-v-modal{max-height:96vh;border-radius:14px}
  .bp-v-dims{grid-template-columns:1fr 1fr;gap:8px}
  .bp-v-score-num{font-size:54px}
  .bp-v-rev-monthly{font-size:46px}
  .bp-v-launcher span{display:none}
  .bp-v-launcher{padding:14px;border-radius:50%}
}

/* v3.11 — streaming slot placeholders */
.bp-v-slot-placeholder{margin:18px 0;padding:18px 22px;background:#F4F6FA;border-radius:14px;display:flex;align-items:center;gap:12px;font:italic 13px/1.5 inherit;color:#5C6B7A;border:1px dashed #D7DCE3;min-height:60px}
.bp-v-slot-placeholder:empty{display:none}
.bp-v-slot-spinner{flex:0 0 18px;width:18px;height:18px;border:2px solid #E1E6EF;border-top-color:#1E5EFF;border-radius:50%;animation:bpSpin 1s linear infinite}
.bp-v-slot-placeholder span:empty{display:none}

/* ===== v3.7 CONSULTATIVE FLOW ===== */
.bp-v-industry-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:18px}
/* High-specificity overrides for WP themes that style buttons aggressively */
button.bp-v-industry,
button.bp-v-industry:link,
button.bp-v-industry:visited{
  padding:12px 10px !important;
  background:#fff !important;
  border:1.5px solid #E1E6EF !important;
  border-radius:10px !important;
  cursor:pointer !important;
  text-align:center !important;
  font:600 12.5px/1.3 -apple-system,Segoe UI,Roboto,Inter,sans-serif !important;
  color:#0B2545 !important;
  transition:all .15s ease !important;
  text-decoration:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
}
button.bp-v-industry:hover,
button.bp-v-industry:focus,
button.bp-v-industry:active{
  background:#F8FAFF !important;
  border-color:#1E5EFF !important;
  color:#0B2545 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 12px rgba(30,94,255,.12) !important;
  text-decoration:none !important;
}
button.bp-v-industry.other{
  background:#FFFBEC !important;
  border-color:#C8A24B !important;
  color:#8C6C20 !important;
  grid-column:1 / -1;
}
button.bp-v-industry.other:hover{
  background:#FFF6E0 !important;
  border-color:#8C6C20 !important;
  color:#8C6C20 !important;
}

/* Other-industry free text */
.bp-v-other-input{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.bp-v-other-input input{padding:13px 14px;border:1.5px solid #E1E6EF !important;border-radius:12px;font:inherit;font-size:15px;color:#0B2545 !important;background:#fff !important;outline:none;box-sizing:border-box}
.bp-v-other-input input:focus{border-color:#1E5EFF !important;box-shadow:0 0 0 3px rgba(30,94,255,.12) !important}

.bp-v-bubble{font:italic 15px/1.55 inherit;color:#0B2545;background:#F8FAFF;padding:14px 16px;border-radius:12px;border-left:3px solid #1E5EFF;margin:14px 0}

.bp-v-reveal{padding:8px 4px}
.bp-v-reveal-full{padding:4px}

/* Free finding card — shown BEFORE email gate */
.bp-v-free-finding{margin:18px 0;padding:20px;background:linear-gradient(135deg,#FFFBEC 0%,#FFF6E0 100%);border:1.5px solid #C8A24B;border-radius:14px;position:relative;animation:bpBubbleIn .5s ease}
.bp-v-free-label{font:700 10.5px/1 inherit;color:#8C6C20;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}
.bp-v-free-title{font:700 17px/1.3 Georgia,serif;color:#0B2545;margin:0 0 12px}
.bp-v-free-quote{font:italic 14px/1.55 Georgia,serif;color:#0B2545;padding:10px 14px;background:rgba(11,37,69,.04);border-left:2px solid #5C6B7A;border-radius:6px;margin:0 0 12px}
.bp-v-free-quote:before{content:'"';font-size:22px;color:#C8A24B;margin-right:3px;line-height:0;vertical-align:-6px}
.bp-v-free-quote:after{content:'"';font-size:22px;color:#C8A24B;margin-left:3px;line-height:0;vertical-align:-6px}
.bp-v-free-why{font-size:13.5px;color:#1A1A1A;line-height:1.55}

.bp-v-name-row{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.bp-v-name-row input{padding:13px 14px;border:1.5px solid #E1E6EF;border-radius:12px;font:inherit;font-size:15px;color:#0B2545;outline:none;box-sizing:border-box}
.bp-v-name-row input:focus{border-color:#1E5EFF;box-shadow:0 0 0 3px rgba(30,94,255,.12)}
.bp-v-cta{padding:14px 18px;background:linear-gradient(135deg,#0B2545,#1E5EFF);color:#fff;border:0;border-radius:12px;font:600 14px/1 inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.bp-v-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,94,255,.32)}

.bp-v-email-row{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.bp-v-email-row input[type=email]{padding:13px 14px;border:1.5px solid #E1E6EF;border-radius:12px;font:inherit;font-size:15px;color:#0B2545;outline:none;box-sizing:border-box}
.bp-v-email-row input[type=email]:focus{border-color:#1E5EFF;box-shadow:0 0 0 3px rgba(30,94,255,.12)}
.bp-v-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#5C6B7A;line-height:1.45;cursor:pointer}
.bp-v-consent input{margin-top:2px;accent-color:#1E5EFF}

/* CONCEPT card — "what I'd build for you" */
.bp-v-concept{margin:22px 0;padding:22px;background:linear-gradient(135deg,#0B2545,#13315C);color:#fff;border-radius:16px;border:1px solid #C8A24B;position:relative;overflow:hidden}
.bp-v-concept:before{content:"";position:absolute;top:-30%;right:-20%;width:60%;height:160%;background:radial-gradient(ellipse,rgba(200,162,75,.18) 0%,transparent 70%)}
.bp-v-concept-label{font:700 10.5px/1 inherit;color:#C8A24B;text-transform:uppercase;letter-spacing:.9px;margin-bottom:10px;position:relative}
.bp-v-concept h3{font:700 19px/1.3 Georgia,serif;color:#fff;margin:0 0 14px;position:relative}
.bp-v-concept-hero{background:rgba(200,162,75,.12);border:1px solid rgba(200,162,75,.3);border-radius:10px;padding:14px;margin:0 0 14px;position:relative}
.bp-v-concept-hero-label{font:700 10.5px/1 inherit;color:#C8A24B;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.bp-v-concept-hero-quote{font:italic 16px/1.45 Georgia,serif;color:#fff}
.bp-v-concept-body{font-size:14px;line-height:1.65;opacity:.95;position:relative}
.bp-v-concept-list{margin:14px 0 0;padding-left:18px;position:relative;font-size:13.5px;line-height:1.6;opacity:.95}
.bp-v-concept-list li{margin-bottom:6px}

/* COST anchor */
.bp-v-cost{margin:22px 0;padding:22px;background:#F8FAFF;border:1.5px solid #1E5EFF;border-radius:16px}
.bp-v-cost-label{font:700 10.5px/1 inherit;color:#1E5EFF;text-transform:uppercase;letter-spacing:.9px;margin-bottom:10px}
.bp-v-cost-band{font:700 32px/1 -apple-system,Inter,sans-serif;color:#0B2545;letter-spacing:-1px;margin-bottom:8px}
.bp-v-cost-framing{font-size:14px;color:#1A1A1A;margin-bottom:14px;font-style:italic}
.bp-v-cost-phasing{margin:12px 0}
.bp-v-cost-phase{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed rgba(11,37,69,.1);font-size:13.5px}
.bp-v-cost-phase:last-child{border-bottom:0}
.bp-v-cost-phase strong{flex:0 0 80px;color:#0B2545;font:600 12.5px/1.4 inherit}
.bp-v-cost-phase span{color:#1A1A1A}
.bp-v-cost-roi{margin-top:12px;padding-top:12px;border-top:1px solid rgba(11,37,69,.1);font-size:12.5px;color:#5C6B7A;font-style:italic}

@media (max-width:520px){
  .bp-v-industry-grid{grid-template-columns:1fr 1fr}
  .bp-v-concept-hero-quote{font-size:14.5px}
  .bp-v-cost-band{font-size:26px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
