.bodip-overlay{position:fixed;inset:0;-webkit-text-size-adjust:100%;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important;z-index:999999;background:rgba(10,18,12,.72);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;opacity:0;transition:opacity .3s}
.bodip-overlay[hidden]{display:none}
.bodip-overlay.bodip-in{opacity:1}
.bodip-modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);transform:translateY(24px) scale(.97);transition:transform .35s cubic-bezier(.2,.9,.3,1.2);font-family:inherit}
.bodip-in .bodip-modal{transform:none}
.bodip-hero{position:relative;flex:0 0 auto;transition:padding .45s ease;padding:34px 28px 28px;color:#fff;overflow:hidden;background:linear-gradient(135deg,#14304f 0%,#1e4871 60%,#2b6a8f 130%)}
.bodip-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,#439956 0 18px,#1e4871 18px 36px)}
.bodip-badge{display:inline-block;background:#439956;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px;margin-bottom:14px}
.bodip-hero h2{margin:0;color:#fff;font-size:30px;line-height:1.1;font-weight:800;position:relative;z-index:1}
.bodip-hero h2 span{color:#7fd493}
.bodip-wheel{position:absolute;right:-28px;top:50%;width:150px;height:150px;margin-top:-75px;color:rgba(255,255,255,.14);animation:bodip-spin 14s linear infinite}
@keyframes bodip-spin{to{transform:rotate(360deg)}}
.bodip-close{position:absolute;top:10px;right:12px;z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.3);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.bodip-close:hover{background:rgba(0,0,0,.55)}
.bodip-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transition:height .45s cubic-bezier(.4,0,.2,1);padding:24px 28px 28px;color:#2b2b2b;font-size:15px;line-height:1.55}
.bodip-body p{margin:0 0 12px}
.bodip-lead{font-size:16px}
.bodip-quote{border-left:4px solid #439956;padding:4px 0 4px 14px;font-style:italic;font-weight:600;color:#1e4871;margin:16px 0 20px!important}
.bodip-body h3{margin:0 0 14px;color:#1e4871;font-size:20px}
.bodip-btn{display:block;width:100%;padding:14px;border:0;border-radius:10px;background:linear-gradient(90deg,#439956,#5cb86f);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}
.bodip-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(67,153,86,.4)}
.bodip-btn:disabled{opacity:.6;cursor:wait;transform:none}
.bodip-link{display:block;margin:14px auto 0;padding:6px 14px;background:none;border:0;color:#1e4871;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .15s}.bodip-link:hover{color:#439956}
.bodip-body label{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:#333}
.bodip-body label span{color:#d33}
.bodip-body input[type=text],.bodip-body input[type=email],.bodip-body input[type=tel],.bodip-body textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1.5px solid #cfd6cc;border-radius:8px;font-size:15px;box-sizing:border-box;background:#fafcf9}
.bodip-body input:focus,.bodip-body textarea:focus{outline:0;border-color:#439956;box-shadow:0 0 0 3px rgba(67,153,86,.22)}
.bodip-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important}
.bodip-error{color:#c0392b;font-size:13px;min-height:18px;margin-bottom:8px}
.bodip-thanks{text-align:center}
.bodip-check{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:#439956;color:#fff;font-size:34px;line-height:64px}
@media(prefers-reduced-motion:reduce){.bodip-wheel{animation:none}.bodip-modal,.bodip-overlay{transition:none}}

/* step animations */
.bodip-step.bodip-leave{animation:bodip-out .28s ease forwards}
.bodip-step.bodip-enter{animation:bodip-in .45s cubic-bezier(.2,.8,.2,1) both}
.bodip-enter label,.bodip-enter .bodip-btn,.bodip-enter h3,.bodip-enter .bodip-check,.bodip-enter p{animation:bodip-rise .5s cubic-bezier(.2,.8,.2,1) both}
.bodip-enter h3{animation-delay:.05s}
.bodip-enter label:nth-of-type(1){animation-delay:.10s}
.bodip-enter label:nth-of-type(2){animation-delay:.16s}
.bodip-enter label:nth-of-type(3){animation-delay:.22s}
.bodip-enter label:nth-of-type(4){animation-delay:.28s}
.bodip-enter .bodip-btn{animation-delay:.34s}
@keyframes bodip-out{to{opacity:0;transform:translateX(-36px)}}
@keyframes bodip-in{from{opacity:0;transform:translateX(44px)}to{opacity:1;transform:none}}
@keyframes bodip-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.bodip-hero h2,.bodip-badge{transition:font-size .45s ease,margin .45s ease}
.bodip-compact .bodip-hero{padding-top:22px;padding-bottom:18px}
.bodip-compact .bodip-hero h2{font-size:22px}
.bodip-compact .bodip-hero h2 br{display:none}
.bodip-compact .bodip-badge{margin-bottom:8px}

/* mobile */
.bodip-btn,.bodip-link{min-height:44px;-webkit-tap-highlight-color:transparent}
.bodip-body input[type=text],.bodip-body input[type=email],.bodip-body input[type=tel],.bodip-body textarea{font-size:16px!important;min-height:44px}
.bodip-close{width:44px;height:44px;top:6px;right:6px;font-size:26px}
@media(max-width:600px){
	.bodip-overlay{align-items:flex-end;padding-top:12px!important;padding-bottom:0!important;padding-left:0!important;padding-right:0!important}
	.bodip-modal{max-width:none;border-radius:20px 20px 0 0;max-height:92vh;max-height:92dvh;transform:translateY(60px)}
	.bodip-hero{padding:26px 20px 20px}
	.bodip-hero h2{font-size:25px}
	.bodip-wheel{width:110px;height:110px;margin-top:-55px;right:-24px}
	.bodip-body{padding:18px 20px calc(22px + env(safe-area-inset-bottom))}
	.bodip-lead{font-size:15px}
	.bodip-compact .bodip-hero{padding:16px 56px 14px 20px}
	.bodip-compact .bodip-hero h2{font-size:19px}
	.bodip-compact .bodip-wheel{opacity:.5}
}
@media(max-height:520px) and (orientation:landscape){
	.bodip-hero{padding:14px 56px 12px 20px}.bodip-hero h2{font-size:19px}.bodip-hero h2 br{display:none}.bodip-badge{margin-bottom:6px}
}
@media(prefers-reduced-motion:reduce){.bodip-step,.bodip-enter *{animation:none!important}.bodip-body,.bodip-hero{transition:none}}

/* Force big full-width buttons over theme button styles */
#bodip-overlay .bodip-btn{display:block!important;width:100%!important;box-sizing:border-box!important;padding:16px 20px!important;min-height:54px!important;border:0!important;border-radius:12px!important;background:linear-gradient(90deg,#439956,#5cb86f)!important;color:#fff!important;font-size:18px!important;font-weight:700!important;line-height:1.2!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 6px 16px rgba(67,153,86,.35)!important;cursor:pointer}
#bodip-overlay .bodip-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(67,153,86,.45)!important}
#bodip-overlay .bodip-link{display:block!important;margin:14px auto 0!important;width:auto!important;background:none!important;border:0!important;box-shadow:none!important;color:#1e4871!important;font-size:16px!important;font-weight:600!important;text-transform:none!important;text-decoration:underline!important}

/* Tighten space above submit */
#bodip-overlay .bodip-error{min-height:0!important;margin:0 0 6px!important}
#bodip-overlay .bodip-error:empty{display:none!important}
#bodip-form textarea{margin-bottom:0!important;display:block!important}
#bodip-form label:nth-of-type(4){margin-bottom:20px!important}

#bodip-overlay .bodip-hl{background:linear-gradient(180deg,transparent 55%,rgba(67,153,86,.35) 55%)!important;color:#1e4871!important;font-weight:800;padding:0 3px;border-radius:3px}

/* Yellow highlight (overrides earlier) */
#bodip-overlay .bodip-hl{background:#ffe14d!important;color:#1b1b1b!important;font-weight:800;padding:2px 8px!important;border-radius:6px!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
