/* Shared product showcase. Keep real, complete app screens and the outlined Play link. */
body .promo.app-promo {
  box-sizing:border-box; width:min(1184px,calc(100% - 64px)); margin:56px auto;
  display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px;
  padding:40px 48px; overflow:hidden; border:1px solid #e3e1e7; border-radius:28px;
  background:#ececec; color:#292733; font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.app-promo * { box-sizing:border-box; }
.app-promo .app-promo__copy { min-width:0; padding:0; position:relative; z-index:2; }
.app-promo .app-promo__eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:#514565; font-size:11px; font-weight:700; letter-spacing:.15em; line-height:1.5; }
.app-promo__eyebrow>span { width:7px; height:7px; border-radius:50%; background:#007d6b; }
.app-promo h2 { margin:0; color:#292733; font:750 clamp(36px,3.8vw,50px)/1.08 "Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; letter-spacing:-.045em; }
.app-promo h2 em { color:#432092; font:inherit; }
.app-promo .app-promo__intro { max-width:430px; margin:20px 0 24px; color:#615d69; font-size:16px; line-height:1.75; }
.app-promo__features { display:grid; max-width:395px; gap:4px; }
.app-promo__feature { width:100%; display:flex; align-items:center; gap:13px; padding:11px 13px; border:1px solid transparent; border-radius:14px; background:transparent; color:#514b5d; font:inherit; text-align:left; cursor:pointer; transition:background .18s,border-color .18s; }
.app-promo__feature[aria-pressed="true"] { background:#fff; border-color:#dcd4e8; color:#432092; }
.app-promo__feature:hover { background:#ffffffa6; }
.app-promo__feature:focus-visible { outline:3px solid #7652b6; outline-offset:3px; }
.app-promo__icon { width:38px; height:38px; flex:none; display:grid; place-items:center; border-radius:11px; background:#e3dee9; color:#654990; }
.app-promo__feature[aria-pressed="true"] .app-promo__icon { background:#eee7f8; color:#432092; }
.app-promo__feature strong { display:block; font-size:15px; font-weight:650; line-height:1.4; }
.app-promo__feature strong+span { display:block; margin-top:2px; color:#6b6672; font-size:12px; line-height:1.5; }
.app-promo__arrow { margin-left:auto; font-size:20px; opacity:0; }
.app-promo__feature[aria-pressed="true"] .app-promo__arrow { opacity:1; }
.app-promo__download { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:26px; }
.app-promo__download .play-badge img { display:block; width:169px; height:50px; }
.app-promo__download>span { color:#6b6672; font-size:11px; line-height:1.7; }
.app-promo__download b { color:#514b5d; font-weight:500; }
.app-promo__showcase { position:relative; align-self:stretch; min-width:0; min-height:560px; isolation:isolate; }
.app-promo__orbit { position:absolute; width:430px; height:430px; max-width:100%; top:75px; left:0; border:1px solid #d5cbe4; border-radius:50%; background:#e6e0ed; z-index:-1; }
.app-promo__orbit:after { content:""; position:absolute; inset:28px; border:1px dashed #c7b9d9; border-radius:50%; }
.app-promo__phone { position:absolute; margin:0; padding:5px; border:1px solid #aca6b5; border-radius:27px; background:#262331; box-shadow:0 18px 32px #29203520,0 3px 6px #29203515; overflow:hidden; }
.app-promo__phone img { display:block; width:100%; height:auto; border:0; border-radius:21px; }
.app-promo__phone--back { width:207px; top:67px; left:3%; transform:rotate(-8deg); }
.app-promo__phone--front { width:240px; top:16px; right:2%; transform:rotate(6deg); }
.app-promo .app-promo__caption { position:absolute; bottom:0; left:0; right:0; margin:0; color:#514565; text-align:center; font-size:13px; font-weight:550; letter-spacing:.01em; }
.app-promo[data-enhanced="true"] .app-promo__phone--front img { animation:app-screen-in .22s ease-out; }
@keyframes app-screen-in { from {opacity:.35} to {opacity:1} }
@media(max-width:1050px) and (min-width:761px) {
  body .promo.app-promo { padding:32px; gap:12px; grid-template-columns:1.05fr 1fr; }
  .app-promo__phone--front { width:208px; right:0; top:44px; }
  .app-promo__phone--back { width:175px; left:0; top:98px; }
  .app-promo__showcase { min-height:530px; }
}
@media(max-width:760px) {
  body .promo.app-promo { width:calc(100% - 32px); grid-template-columns:1fr; padding:30px 24px 24px; gap:24px; margin-block:32px; border-radius:22px; }
  .app-promo .app-promo__copy { max-width:480px; margin-inline:auto; width:100%; }
  .app-promo h2 { font-size:40px; }
  .app-promo .app-promo__intro { font-size:15px; margin-block:16px 20px; }
  .app-promo__features { max-width:none; }
  .app-promo__features { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .app-promo__feature { flex-direction:column; gap:7px; justify-content:flex-start; padding:10px 5px; text-align:center; min-height:98px; }
  .app-promo__feature strong { font-size:12px; line-height:1.35; }
  .app-promo__feature strong+span, .app-promo__arrow { display:none; }
  .app-promo__showcase { width:min(420px,100%); height:520px; min-height:0; margin-inline:auto; }
  .app-promo__phone--front { width:218px; top:8px; right:3%; }
  .app-promo__phone--back { width:188px; top:45px; left:2%; }
  .app-promo__orbit { width:100%; height:auto; aspect-ratio:1; top:55px; }
}
@media(max-width:400px) {
  body .promo.app-promo { padding-inline:20px; }
  .app-promo h2 { font-size:36px; }
  .app-promo__showcase { height:465px; }
  .app-promo__phone--front { width:192px; right:1%; }
  .app-promo__phone--back { width:156px; left:6px; top:50px; }
  .app-promo__download { gap:10px; }
  .app-promo__download>span { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .app-promo *, .app-promo[data-enhanced="true"] .app-promo__phone--front img { animation:none; transition:none; }
}
@media print { body .promo.app-promo { display:none; } }
