.marketing-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.marketing-signup .form-panel{min-width:0;padding:2rem;background:#0d2036;border:1px solid #466279;border-radius:20px}
.marketing-signup label:not(.marketing-consent){display:block;margin:1rem 0 .5rem;font-weight:600}
.marketing-signup input:not([type=checkbox]){width:100%;box-sizing:border-box;border:1px solid #71869b;border-radius:8px;background:#071629;color:#fff;padding:.8rem;font-size:1rem}
.marketing-consent{display:flex;align-items:flex-start;gap:.8rem;margin:1.5rem 0 1rem;line-height:1.6;font-size:.95rem}
.marketing-signup .marketing-consent input{width:1.3rem;height:1.3rem;flex-shrink:0;margin-top:.2rem;accent-color:#22d3ee}
.marketing-help{font-size:.9rem;line-height:1.6;color:#d6e4ef}.marketing-help a{color:#6ee7f9;text-decoration:underline}
.marketing-signup :focus-visible{outline:3px solid #67e8f9;outline-offset:4px}
.marketing-signup button{margin-top:.7rem}.marketing-signup [hidden]{display:none!important}
#marketing-result{line-height:1.6;font-size:1.1rem;padding:1rem;border:1px solid #67e8f9;border-radius:8px}
@media(max-width:760px){.marketing-grid{grid-template-columns:1fr;gap:1.5rem}.marketing-signup .form-panel{padding:1.2rem}.marketing-signup button{width:100%}}
.page-offers .marketing-signup{padding-top:140px}
.page-offers .mobile-bar{display:none}
.page-offers .marketing-bubble{bottom:calc(26px + env(safe-area-inset-bottom))}

.marketing-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1000}
@media(prefers-reduced-motion:reduce){.marketing-confetti{display:none}}

.marketing-phone-field{display:flex;align-items:stretch;min-width:0}
.marketing-country-code{display:flex;align-items:center;padding:0 1rem;background:#17334e;border:1px solid #71869b;border-right:0;border-radius:8px 0 0 8px;color:#fff;font-size:1rem;font-weight:700;flex-shrink:0}
.marketing-signup .marketing-phone-field input{min-width:0;flex:1;border-radius:0 8px 8px 0}

/* Public-page signup is opened deliberately from the floating invitation. */
.marketing-bubble{position:fixed;z-index:45;right:max(22px,env(safe-area-inset-right));bottom:26px;display:block;width:144px;height:144px;padding:0;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer;transform-origin:center}
.marketing-bubble[hidden]{display:none!important}
.marketing-bubble-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px #0008)}
.marketing-bubble:hover .marketing-bubble-art{filter:drop-shadow(0 0 12px #18baff99)}
.marketing-bubble:focus-visible{outline:3px solid #ffcc80;outline-offset:4px;border-radius:50%}
.marketing-dialog{position:fixed;inset:0;width:min(620px,calc(100% - 28px));max-width:620px;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;color:#eef4ff;background:#07152e;border:1px solid #4d9dd4;border-radius:24px;box-shadow:0 24px 90px #0009;color-scheme:dark}
.marketing-dialog::backdrop{background:#020817bd;backdrop-filter:blur(5px)}
.marketing-modal-open{overflow:hidden}
.marketing-dialog-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:flex-end;padding:10px 12px 4px;background:#07152ef5}
.marketing-dialog-close{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid #496486;border-radius:50%;background:#112947;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.marketing-dialog-close:hover{background:#234267}
.marketing-dialog-close:focus-visible{outline:3px solid #67e8f9;outline-offset:3px}
.marketing-dialog .marketing-signup{padding:0 26px 26px;background:none}
.marketing-dialog .marketing-grid{grid-template-columns:1fr;gap:18px;width:100%;max-width:none;padding:0}
.marketing-dialog .eyebrow{margin:0 0 8px}
.marketing-dialog #marketing-title{margin:0;font-size:clamp(28px,5vw,40px);line-height:1.12;letter-spacing:-.035em}
.marketing-dialog .lead{font-size:16px;line-height:1.55;margin:12px 0 8px}
.marketing-dialog .marketing-grid>div>p:last-child{font-size:14px;margin:0}
.marketing-dialog .form-panel{padding:20px}
.marketing-dialog .form-panel>form>p:first-child{margin-top:0}
.marketing-dialog .marketing-consent{font-size:14px}
.marketing-dialog .marketing-help{font-size:13px}
@media(max-width:760px){
  .marketing-bubble{width:112px;height:112px;right:12px;bottom:calc(94px + env(safe-area-inset-bottom))}
  .marketing-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:20px}
  .marketing-dialog .marketing-signup{padding:0 16px 20px}
  .marketing-dialog .form-panel{padding:16px}
}
@media(prefers-reduced-motion:no-preference){
  .marketing-bubble{animation:marketing-bubble-pop .65s cubic-bezier(.22,1.3,.4,1) both,marketing-bubble-shake 2.5s ease-in-out .65s 8}
  .marketing-bubble-art{animation:marketing-bubble-glow 2.5s ease-in-out .65s 8}
  .marketing-bubble:is(:hover,:focus-visible),.marketing-bubble:is(:hover,:focus-visible) .marketing-bubble-art{animation-play-state:paused}
}
@keyframes marketing-bubble-pop{from{opacity:0;transform:translateX(45px) scale(.6)}to{opacity:1;transform:none}}
@keyframes marketing-bubble-shake{0%,60%,100%{transform:none}16%{transform:translateY(-7px) scale(1.04)}25%{transform:translateY(-5px) rotate(-4deg) scale(1.04)}34%{transform:translateY(-5px) rotate(4deg) scale(1.04)}43%{transform:translateY(-3px) rotate(-2deg) scale(1.02)}}
@keyframes marketing-bubble-glow{0%,60%,100%{filter:drop-shadow(0 4px 12px #0008)}25%{filter:drop-shadow(0 0 16px #18baffb3) drop-shadow(0 0 5px #73eaff99)}}

/* Keep the mobile invitation inside the existing quick-action dock. */
@media(max-width:760px){
  body:has(.marketing-bubble:not([hidden])) .mobile-bar{
    display:grid;min-height:calc(82px + env(safe-area-inset-bottom));
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;
    gap:8px;padding:9px max(86px,calc(76px + env(safe-area-inset-right))) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  }
  body:has(.marketing-bubble:not([hidden])) .mobile-bar .storm-zone-btn,
  body:has(.marketing-bubble:not([hidden])) .mobile-bar .bay-glass-button{padding:0 6px;gap:4px;font-size:12px}
  body:has(.marketing-bubble:not([hidden])) .footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  html:has(.marketing-bubble){scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .marketing-bubble,.page-offers .marketing-bubble{
    width:64px;height:64px;right:max(10px,env(safe-area-inset-right));
    bottom:calc(9px + env(safe-area-inset-bottom));animation:none;
  }
}
@media(max-width:760px){
  body:has(.marketing-bubble:not([hidden])) .mobile-bar .storm-zone-btn__arrow,
  body:has(.marketing-bubble:not([hidden])) .mobile-bar .bay-glass-button__arrow{display:none}
}
