/* A single visual stage with three product-led stories. */
#retention{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:6%;background:radial-gradient(ellipse at 79% 49%,#13485d70,transparent 48%),#081c35}
#retention h2{font-size:clamp(37px,4.1vw,62px);line-height:1.09;letter-spacing:-2.3px}
#retention .story-lead{max-width:410px;font-size:17px;line-height:1.65}
#retention .retention-switch{margin-top:34px;max-width:none;gap:18px}
#retention .retention-switch button{padding:0 0 14px;text-align:left;font-size:12px;flex:auto;min-height:52px;white-space:nowrap}
#retention .retention-switch button span{display:block;font-size:10px;letter-spacing:1px;margin-bottom:8px;opacity:.6}
#retention .retention-text{padding-top:26px;min-height:225px;max-width:440px}
#retention .retention-text h3{font-size:22px;line-height:1.3;margin-bottom:14px;letter-spacing:-.6px}
#retention .retention-text p{font-size:15px;line-height:1.7;margin:0;color:#abc2d4}
#retention .retention-text .retention-payoff{margin-top:22px;padding-left:14px;border-left:2px solid #63def5;color:#d9eff5;font-size:13px}
#retention .retention-stage{position:relative;isolation:isolate;height:570px;min-height:0;min-width:0}
#retention .retention-screen{position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:flex-start;display:flex;gap:0;transition:opacity .24s ease,transform .24s ease;transform:translateY(8px);visibility:visible}
#retention .retention-screen[aria-hidden="true"]{visibility:hidden;opacity:0;pointer-events:none}
#retention .retention-screen:not([aria-hidden="true"]){opacity:1;transform:none}
.retention-visual-head{display:flex;justify-content:space-between;gap:12px;width:100%;padding:0 0 16px;border-bottom:1px solid #ffffff18;font-size:9px;letter-spacing:1.6px;color:#99bacd}
.retention-visual-head>span:last-child{letter-spacing:1px;color:#62def5;white-space:nowrap}
.retention-caption{font-size:10px;line-height:1.5;color:#8babbf;text-align:center;margin:17px 0 0;width:100%}
.repeat-scene{height:495px;width:100%;position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:10%}
.repeat-halo{position:absolute;right:0;top:70px;width:100%;aspect-ratio:1;border:1px solid #69ddf51b;border-radius:50%;background:radial-gradient(ellipse,#339caf20,transparent 65%)}
.repeat-halo::after{content:"";position:absolute;inset:35px;border:1px solid #69ddf516;border-radius:50%}
.home-evidence{position:relative;width:223px;aspect-ratio:734/1573;padding:0;flex-shrink:0;border:0;border-radius:15px;overflow:hidden;background:#eaf5ff;box-shadow:0 30px 65px #000c1d80;cursor:zoom-in}
.home-evidence img{position:absolute;width:147.14%;max-width:none;height:auto;left:-23.57%;top:-11.06%;border-radius:0}
.repeat-focus{position:absolute;left:0;bottom:88px;display:flex;align-items:flex-start;gap:12px;background:#edfaff;border:1px solid #fff9;color:#153752;border-radius:14px;padding:21px;box-shadow:0 16px 45px #000b2060;max-width:240px}
.focus-icon{font-size:28px;color:#0680a0;line-height:1}
.repeat-focus small{display:block;font-size:8px;letter-spacing:1.3px;color:#52768a;margin:0 0 10px}
.repeat-focus strong{display:block;font-size:22px;letter-spacing:-.7px;line-height:1.2}
.repeat-focus div>span{display:block;font-size:10px;color:#58788a;margin-top:9px}
.bonus-proof{width:100%;margin-top:33px;border:1px solid #b0cede55;border-radius:16px;overflow:hidden;background:#f3f8fc;color:#15344b;box-shadow:0 24px 60px #00101e44}
.bonus-proof-heading{display:flex;gap:12px;padding:22px 22px 18px;align-items:center;border-bottom:1px solid #d7e4ed}
.bonus-proof-heading svg{width:27px;height:27px;color:#07859d;flex-shrink:0}
.bonus-proof-heading small{display:block;font-size:8px;color:#648393;letter-spacing:1.4px;margin-bottom:6px}
#retention .bonus-proof-heading h3{font-size:17px;line-height:1.2;letter-spacing:-.3px;margin:0}
.bonus-controls{display:grid;grid-template-columns:1fr 1fr;padding:23px 22px;gap:18px;background:white}
.bonus-controls>div+div{border-left:1px solid #dce8ef;padding-left:22px}
.bonus-controls>div>span{font-size:11px;color:#4e6e80;display:block}
.bonus-controls strong{font-size:38px;font-weight:550;letter-spacing:-1.5px;display:block;color:#067c94;margin:12px 0}
.bonus-controls strong small{font-size:13px;letter-spacing:0;margin-left:4px}
.bonus-controls p{font-size:11px;line-height:1.6;color:#607d8e;margin:0}
.bonus-crop{display:block;position:relative;width:100%;aspect-ratio:897/334;padding:0;border:0;overflow:hidden;background:#f8fcff;cursor:zoom-in;border-top:1px solid #dae7ee}
.bonus-crop img{position:absolute;width:178.37%;max-width:none;height:auto;left:-52.95%;top:-182.63%}
.bonus-proof-footer{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#567584;padding:12px 17px;border-top:1px solid #dce8f0}
.bonus-proof-footer>span:last-child{color:#047c95}
.bonus-cycle{display:flex;justify-content:space-between;align-items:center;gap:9px;width:100%;margin:24px 0 0;color:#d6ebf3;font-size:12px}
.bonus-cycle i{font-style:normal;color:#58d9f0;font-size:21px}
.push-network{position:relative;height:340px;flex:0 0 340px;width:100%}
.network-lines{position:absolute;inset:0;width:100%;height:100%;color:#4f93a7;stroke-width:1.2}
.network-signal{stroke:#70e8fa;stroke-width:2;stroke-dasharray:9 240;animation:networkFlow 6s linear infinite}
.push-source{position:absolute;left:50%;top:25px;transform:translateX(-50%);width:218px;height:85px;border:1px solid #69d7ed77;background:linear-gradient(135deg,#154861,#102c44);border-radius:12px;padding:17px 16px 16px 54px;box-shadow:0 9px 35px #03132755}
.push-source svg{position:absolute;left:17px;top:25px;width:25px;height:25px;color:#70e5f5}
.push-source span{display:block;font-size:15px;white-space:nowrap}
.push-source small{display:block;font-size:10px;color:#a1c4d5;margin-top:8px}
.push-audiences{position:absolute;left:0;right:0;top:199px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8%}
.push-audiences>div{display:flex;flex-direction:column;align-items:center;text-align:center}
.push-audiences svg{width:32px;height:32px;padding:4px;border-radius:8px;box-sizing:content-box;color:#77e4f6;background:#103349;border:1px solid #3a6c81}
.push-audiences strong{font-size:13px;margin-top:9px;white-space:nowrap}
.push-audiences small{font-size:10px;line-height:1.5;color:#a6c0d0;margin-top:7px}
.push-preview{display:flex;width:100%;gap:14px;background:#eaf6fc;color:#13354d;border-radius:14px;border:1px solid #bfe5f0;padding:20px;box-shadow:0 19px 46px #020e2077;margin-top:17px}
.push-brand{display:grid;place-items:center;flex:0 0 40px;height:40px;background:#087c99;border-radius:11px;color:#d8faff}
.push-brand svg{width:20px;height:25px}
.push-preview>div{flex:1;min-width:0}
.push-preview-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#577687;margin-bottom:9px}
.push-preview-meta>span:last-child{letter-spacing:0}
.push-preview strong{font-size:18px;font-weight:650;letter-spacing:-.3px}
.push-preview p{font-size:12px;color:#537183;line-height:1.5;margin:6px 0 0}
@keyframes networkFlow{to{stroke-dashoffset:-498}}
@media(max-width:1100px){
  #retention{gap:4%}
  #retention h2{font-size:38px;letter-spacing:-1.8px}
  #retention .story-lead{font-size:16px}
  #retention .retention-switch{gap:12px}
  #retention .retention-switch button{font-size:11px}
  #retention .retention-text h3{font-size:20px}
  #retention .retention-text p{font-size:14px}
  .repeat-scene{padding-right:4%}
  .home-evidence{width:215px}
  .repeat-focus{padding:17px;max-width:204px;bottom:77px}
  .repeat-focus strong{font-size:21px}
  .repeat-focus div>span{font-size:9px}
  .bonus-controls{padding:20px 18px;gap:12px}
  .bonus-controls>div+div{padding-left:16px}
  .bonus-controls>div>span{font-size:10px}
  .bonus-controls strong{font-size:34px}
  .bonus-proof-heading{padding:20px 18px}
  #retention .bonus-proof-heading h3{font-size:16px}
}
@media(max-width:760px){
  #retention{padding-top:58px;gap:18px;align-items:stretch}
  #retention h2{font-size:clamp(34px,8vw,49px)}
  #retention .retention-copy{width:100%}
  #retention .retention-switch{margin-top:26px;gap:16px}
  #retention .retention-switch button{font-size:11px}
  #retention .retention-text{min-height:221px;padding-top:24px}
  #retention .retention-text h3{font-size:21px}
  #retention .retention-text p{font-size:14px}
  #retention .retention-stage{width:100%;height:570px;min-height:570px;max-width:520px;align-self:center}
  .retention-visual-head{font-size:8px;letter-spacing:1px}
  .repeat-scene{padding-right:2%}
  .home-evidence{width:215px}
  .repeat-focus{max-width:190px;bottom:18px;padding:16px;gap:8px}
  .repeat-focus strong{font-size:20px}
  .bonus-controls>div>span{font-size:10px}
  .bonus-controls strong{font-size:31px}
  .bonus-controls p{font-size:10px}
  .bonus-cycle{font-size:10px}
  .bonus-proof-footer{font-size:8px;padding:12px}
  .push-audiences strong{font-size:11px}
  .push-audiences small{font-size:9px}
  .push-audiences{gap:5%}
  .push-preview{padding:17px;gap:10px}
  .push-preview strong{font-size:17px}
  .push-preview p{font-size:11px}
  .retention-caption{font-size:9px}
}
@media print{
  #retention .retention-stage{height:490px;min-height:490px}
  .repeat-scene{height:420px}.home-evidence{width:185px}
  .retention-text{min-height:180px}.retention-visual-head{margin-top:0}
  .bonus-proof{margin-top:20px}.bonus-controls{padding:15px}.bonus-cycle{margin-top:15px}
  .network-signal{animation:none}
}
@media(prefers-reduced-motion:reduce){.network-signal{animation:none}}
.motion-off .network-signal{animation:none}
