/* Compact shared app banner. Screen pixels come from the official App Store listing. */
.app-download{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(115deg,#f4faff 0%,#edf7ff 55%,#dcefff 100%);border-top:1px solid #dfedf9;color:#071e3c;scroll-margin-top:20px}
.app-download:before,.app-download:after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;border:64px solid #fff7;width:650px;height:650px;right:-190px;top:-240px}
.app-download:after{width:680px;height:680px;right:auto;left:-500px;top:80px;border-width:60px;border-color:#d6edff70}
.app-download-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,1fr);align-items:center;gap:36px;padding:24px 40px}
.app-download-copy{position:relative;z-index:2;min-width:0}
.app-download-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:1.8px;color:#476787;margin:0 0 12px}
.app-download-eyebrow>span{width:7px;height:7px;border-radius:50%;background:#0088eb;box-shadow:0 0 0 4px #0088eb10}
.app-download h2{font:700 clamp(36px,3.8vw,46px)/1.06 var(--sans,Arial,sans-serif);letter-spacing:-1.8px;color:#071e3c;margin:0 0 14px}
.app-download h2>span{color:#0079da}
.app-download-description{font-size:16px;line-height:1.55;color:#496079;max-width:425px;margin:0 0 19px}
.app-download-availability{font-size:11px;color:#5c7288;margin:9px 0 0}
.app-download-visual{position:relative;display:grid;place-items:center;min-width:0;height:316px}
.app-phone{position:relative;width:144px;padding:5px;border-radius:15px;background:linear-gradient(130deg,#8192a1,#151c25 12%,#0e141c 85%,#617383);box-shadow:0 14px 28px #224d7930,0 0 0 1px #72889a;transform:rotate(6deg)}
.app-phone-screen{position:relative;overflow:hidden;width:100%;aspect-ratio:467 / 1015;border-radius:11px;background:#f5f7fb}
/* Show only the actual screen area of Apple's unmodified promotional screenshot.
   Source image: 598x1300. Screen rectangle: x=66, y=260, w=467, h=1015. */
.app-phone-screen>.app-real-screen{display:block;position:absolute;width:128.0514%;max-width:none;height:auto;left:-14.1328%;top:-25.6158%;margin:0}
.app-download-stores{display:flex;gap:12px;flex-wrap:wrap}
.app-store-badge{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 15px;min-height:56px;min-width:170px;background:#0b1017;color:#fff;border:1px solid #56616e;border-radius:9px;box-shadow:0 4px 10px #122b4610;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s}
.app-store-badge:hover{color:#fff;background:#213046;transform:translateY(-2px);box-shadow:0 6px 16px #122b4620}
.app-store-badge:focus-visible{outline:3px solid #006dc5;outline-offset:5px}
.app-store-badge>svg{width:27px;height:31px;flex:none}
.app-store-badge>span{display:flex;flex-direction:column;align-items:flex-start}
.app-store-badge small{font:400 10px/1.2 Arial,sans-serif;letter-spacing:.1px;color:#fff}
.app-store-badge strong{font:500 23px/1.15 Arial,sans-serif;letter-spacing:-.4px;white-space:nowrap;color:#fff}

@media(min-width:601px){.app-download-visual{display:block}.app-phone{position:absolute;top:20px;left:50%;width:250px;padding:7px;border-radius:25px;transform:translateX(-50%) rotate(6deg);transform-origin:50% 0}.app-phone-screen{border-radius:18px}}
@media(max-width:800px){.app-download-inner{padding:24px 28px;gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(145px,1fr)}.app-download h2{font-size:38px}.app-download-description{font-size:15px}.app-download-stores{gap:9px}.app-store-badge{min-width:149px;padding:9px 11px;gap:8px}.app-store-badge strong{font-size:20px}.app-store-badge>svg{width:23px;height:28px}}
@media(max-width:600px){
 .app-download-inner{grid-template-columns:minmax(0,1fr) 100px;gap:0 16px;padding:24px 22px 20px;align-items:center}
 .app-download-copy{display:contents}
 .app-download-eyebrow{grid-column:1;grid-row:1;font-size:8px;letter-spacing:1px;gap:7px;margin:0 0 10px;align-self:end}
 .app-download h2{grid-column:1;grid-row:2;font-size:clamp(25px,7vw,34px);letter-spacing:-1.1px;margin:0 0 12px;align-self:center}
 .app-download-description{grid-column:1;grid-row:3;font-size:13px;line-height:1.55;max-width:270px;margin:0;align-self:start}
 .app-download-visual{grid-column:2;grid-row:1 / 4;height:210px;align-self:center}
 .app-phone{width:90px;padding:4px;border-radius:12px;transform:rotate(5deg);box-shadow:0 8px 18px #224d7925,0 0 0 1px #72889a}
 .app-phone-screen{border-radius:8px}
 .app-download-stores{grid-column:1 / -1;grid-row:4;display:flex;justify-content:center;gap:10px;flex-wrap:nowrap;margin-top:20px;position:relative;z-index:2}
 .app-store-badge{min-width:0;width:160px;min-height:52px;padding:8px 10px;gap:8px}
 .app-store-badge small{font-size:9px}.app-store-badge strong{font-size:21px}
 .app-download-availability{grid-column:1 / -1;grid-row:5;text-align:center;font-size:10px;margin:10px 0 0}
 .app-download:before{width:500px;height:500px;right:-340px;top:-110px;border-width:48px}
 .app-download:after{left:-450px;top:60px;width:600px;height:600px}
}
@media(max-width:359px){.app-download-inner{padding-left:16px;padding-right:16px;grid-template-columns:minmax(0,1fr) 82px;column-gap:10px}.app-download-visual{height:200px}.app-phone{width:76px;padding:3px;border-radius:10px}.app-phone-screen{border-radius:7px}.app-download-eyebrow{font-size:7px;letter-spacing:.7px}.app-download-stores{gap:8px}.app-store-badge{gap:7px;padding:8px}.app-store-badge strong{font-size:18px}.app-store-badge>svg{width:22px}}
@media(prefers-reduced-motion:reduce){.app-store-badge{transition:none}.app-store-badge:hover{transform:none}}
@media print{.app-download{display:none}}

/* Body-mounted tooltip avoids clipping by the decorative banner. */
.app-qr-popover{position:fixed;z-index:10000;width:200px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);box-sizing:border-box;padding:15px 18px 16px;background:#fff;border:1px solid #dce6ef;border-radius:13px;box-shadow:0 9px 32px #0a25402b;color:#0a2540;text-align:center;font:400 12px/1.45 var(--sans,Arial,sans-serif)}
.app-qr-popover[hidden]{display:none!important}
.app-qr-popover>strong{display:block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.1px}
.app-qr-popover>img{display:block;width:148px;max-width:100%;height:auto;aspect-ratio:1;margin:0 auto;image-rendering:pixelated}
.app-qr-popover>p{margin:9px 0 0;color:#29435e;font-size:12px;line-height:1.45}
.app-qr-popover:before{content:"";position:absolute;left:var(--qr-arrow-left,50%);width:11px;height:11px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.app-qr-popover[data-placement=above]:before{bottom:-6px;border-right:1px solid #dce6ef;border-bottom:1px solid #dce6ef}
.app-qr-popover[data-placement=below]:before{top:-6px;border-left:1px solid #dce6ef;border-top:1px solid #dce6ef}
.app-qr-popover:after{content:"";position:absolute;left:0;right:0;height:14px}
.app-qr-popover[data-placement=above]:after{bottom:-14px}
.app-qr-popover[data-placement=below]:after{top:-14px}
@media(hover:none),(pointer:coarse){.app-qr-popover{display:none!important}.app-store-badge:hover{transform:none;background:#0b1017;box-shadow:0 4px 10px #122b4610}}
@media print{.app-qr-popover{display:none!important}}
