/* Shared store badges: equal visible height, generous touch targets and
   independent styles for the hero, feature, menu and all footer layouts. */
.app-download-badges { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.app-store-link { position:relative; display:block; flex:0 0 162px; width:162px; height:48px; border-radius:7px; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.app-store-link img { display:block; width:162px; height:48px; max-width:none; }
/* Google's supplied PNG includes 41px transparent clearspace on each side.
   Keep the original artwork intact and align its visible badge with Apple's. */
.app-store-link--google { overflow:hidden; }
.app-store-link--google img { position:absolute; width:184.57px; height:71.43px; left:-11.71px; top:-11.71px; }
.app-store-link:hover { transform:translateY(-2px); box-shadow:0 7px 18px rgba(15,23,42,.16); }
.app-store-link:focus-visible { outline:3px solid #4f46e5; outline-offset:5px; }
.app-download-hero { margin-top:28px; }
.app-download-hero > p { margin:0 0 12px; color:#526078; font-size:14px; line-height:1.5; font-weight:500; }
.app-download-hero--center .app-download-badges { justify-content:center; }
.app-download-panel { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:28px; padding:32px; text-align:start; }
.app-download-panel * { box-sizing:border-box; }
.app-download-copy { display:flex; align-items:center; gap:18px; flex:1 1 320px; min-width:0; }
.app-download-icon { width:56px; height:56px; flex:0 0 56px; border-radius:14px; background:#fff; box-shadow:0 2px 8px #312e8114; }
.app-download-eyebrow { margin:0 0 7px; color:#4f46e5; font-size:11px; font-weight:750; letter-spacing:.09em; line-height:1.5; }
.app-download-panel h2 { margin:0; color:#151b35; font-size:clamp(21px, 2vw, 28px); line-height:1.2; font-weight:750; letter-spacing:-.025em; }
.app-download-panel .app-download-body { margin:9px 0 0; color:#526078; font-size:14px; line-height:1.6; max-width:40em; }
.app-download-panel--footer { max-width:1200px; margin:0 auto; border-bottom:1px solid #e5e7ef; }
.app-download-panel--feature { max-width:1136px; margin:0 auto 32px; padding:44px; border:1px solid #dedbfb; border-radius:24px; background:radial-gradient(ellipse at 0 0, #e5e7ff, transparent 70%), #f4f2ff; }
.app-download-panel--feature .app-download-copy { flex-basis:440px; }
.app-download-panel--feature .app-download-icon { width:72px; height:72px; flex-basis:72px; border-radius:18px; }
.app-download-menu { margin:16px; padding-top:20px; border-top:1px solid #e5e7eb; }
.app-download-menu .app-download-eyebrow { margin-bottom:14px; }
.app-download-panel .app-download-badges { flex-shrink:0; }
@media (max-width:1199px) { .app-download-panel--feature { margin-inline:20px; } }
@media (max-width:767px) {
  .app-download-panel { padding:28px 20px; gap:22px; }
  .app-download-panel--feature { padding:28px 24px; border-radius:20px; }
  .app-download-panel--feature .app-download-icon { width:56px; height:56px; flex-basis:56px; border-radius:14px; }
  .app-download-copy { flex-basis:100%; align-items:flex-start; gap:14px; }
  .app-download-panel h2 { font-size:22px; }
  .app-download-panel .app-download-body { font-size:13px; }
}
@media (max-width:420px) {
  .app-download-badges { gap:12px; }
  .app-store-link { flex-basis:145px; width:145px; height:43px; }
  .app-store-link img { width:145px; height:43px; }
  .app-store-link--google img { width:165.35px; height:63.99px; left:-10.49px; top:-10.49px; }
  .app-download-panel--feature { margin-inline:12px; padding-inline:16px; }
  .app-download-menu { margin-inline:12px; }
}
@media (prefers-reduced-motion:reduce) { .app-store-link { transition:none; } .app-store-link:hover { transform:none; } }

/* Keep the full site footer usable alongside the download panel. */
.site-footer-socials { display:flex; align-items:center; gap:20px; margin-top:20px; }
.site-footer-socials a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:#526078; }
.site-footer-socials a:hover { color:#4f46e5; }
.site-footer-policies { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; }
@media (max-width:767px) {
  .site-footer-brand, .site-footer-help { grid-column:1 / -1; }
  .site-footer-help ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; }
  .site-footer-help ul > li { margin-top:0 !important; }
}
