/* /messenger  (grid/messenger.php). Linked by grid.php. Shared look comes from why.css. */
.eg-messenger .ms-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.eg-messenger .ms-cta-center{justify-content:center}
.eg-messenger .ms-note{border-left:4px solid #f0932b;background:rgba(240,147,43,.08);padding:14px 18px;margin:22px 0;border-radius:0 10px 10px 0}
.eg-messenger .ms-note p{margin:0}
.eg-messenger .ms-steps,.eg-messenger .ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}
.eg-messenger .ms-grid{grid-template-columns:repeat(2,1fr)}
.eg-messenger .ms-step,.eg-messenger .ms-card{background:rgba(74,144,217,.07);border:1px solid rgba(74,144,217,.35);border-radius:14px;padding:18px}
.eg-messenger .ms-step h3,.eg-messenger .ms-card h3,.eg-messenger .ms-faq h3{margin:4px 0 8px;font-size:19px;line-height:1.25}
.eg-messenger .ms-step p,.eg-messenger .ms-card p{margin:0}
.eg-messenger .ms-step-n{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f0932b}
.eg-messenger .ms-faq{border-top:1px solid rgba(127,135,145,.35);padding:14px 0}
.eg-messenger .ms-faq p{margin:0}
.eg-messenger .ms-closer{background:#0f1418;color:#fff;border-radius:16px;padding:34px 24px;margin:34px 0;text-align:center}
.eg-messenger .ms-closer h2{color:#fff;font-size:28px;line-height:1.2}
.eg-messenger .ms-signoff{margin-top:22px;opacity:.85}
@media (max-width:720px){
  .eg-messenger .ms-steps,.eg-messenger .ms-grid{grid-template-columns:1fr}
  .eg-messenger .ms-closer h2{font-size:23px}
}

/* ---------- animation ---------- */
.eg-messenger .ms-hero-art{display:block;width:100%;max-width:440px;height:auto;margin:22px auto 0}
.eg-messenger .ms-flow{display:block;width:100%;max-width:640px;height:auto;margin:10px auto 22px}

/* people bob, bubbles rise and fade, typing dots jump */
.eg-messenger .ms-person{animation:msBob 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.eg-messenger .ms-p2{animation-delay:-.8s}.eg-messenger .ms-p3{animation-delay:-1.6s}.eg-messenger .ms-p4{animation-delay:-2.4s}
@keyframes msBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.eg-messenger .ms-bub{opacity:0;animation:msRise 6s ease-in-out infinite}
.eg-messenger .ms-b2{animation-delay:2s}.eg-messenger .ms-b3{animation-delay:4s}
@keyframes msRise{0%{opacity:0;transform:translateY(18px)}15%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translateY(-14px)}}
.eg-messenger .ms-dot{animation:msJump 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.eg-messenger .ms-d2{animation-delay:.15s}.eg-messenger .ms-d3{animation-delay:.3s}
@keyframes msJump{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}

/* the kept connection draws itself, then repeats */
.eg-messenger .ms-keep{stroke-dasharray:260;stroke-dashoffset:260;animation:msDraw 3.2s ease-in-out infinite}
@keyframes msDraw{0%{stroke-dashoffset:260}60%,100%{stroke-dashoffset:0}}

/* flow: pulse, envelope travels, replies pop in */
.eg-messenger .ms-pulse{transform-box:fill-box;transform-origin:center;animation:msPulse 2.4s ease-out infinite}
@keyframes msPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.eg-messenger .ms-envelope{animation:msFly 4.8s ease-in-out infinite}
@keyframes msFly{0%{transform:translate(205px,85px);opacity:0}10%{opacity:1}55%{transform:translate(400px,85px);opacity:1}65%,100%{transform:translate(400px,85px);opacity:0}}
.eg-messenger .ms-msg{opacity:0;animation:msPop 4.8s ease-out infinite;transform-box:fill-box;transform-origin:left center}
.eg-messenger .ms-m2{animation-delay:.5s;transform-origin:right center}.eg-messenger .ms-m3{animation-delay:1s}
@keyframes msPop{0%,55%{opacity:0;transform:scale(.4)}68%{opacity:1;transform:scale(1)}92%{opacity:1}100%{opacity:0}}

/* cards lift on hover, buttons glow */
.eg-messenger .ms-step,.eg-messenger .ms-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.eg-messenger .ms-step:hover,.eg-messenger .ms-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.25);border-color:#f0932b}
.eg-messenger .why-btn-orange{animation:msGlow 3s ease-in-out infinite}
@keyframes msGlow{0%,100%{box-shadow:0 0 0 0 rgba(240,147,43,.0)}50%{box-shadow:0 0 0 7px rgba(240,147,43,.18)}}

/* scroll reveal (only when the script added .ms-js) */
.eg-messenger.ms-js .ms-rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.eg-messenger.ms-js .ms-rv.ms-in{opacity:1;transform:none}

/* closer: a breathing ring around the question */
.eg-messenger .ms-closer{position:relative;overflow:hidden}
.eg-messenger .ms-closer::before{content:"";position:absolute;left:50%;top:-80px;width:220px;height:220px;margin-left:-110px;border-radius:50%;border:2px solid rgba(240,147,43,.5);animation:msRing 4s ease-out infinite;pointer-events:none}
@keyframes msRing{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.4);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .eg-messenger *,.eg-messenger *::before{animation:none !important;transition:none !important}
  .eg-messenger .ms-bub,.eg-messenger .ms-msg{opacity:1}
  .eg-messenger .ms-keep{stroke-dashoffset:0}
  .eg-messenger .ms-envelope{display:none}
}
