.app-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 80px; align-items: center; padding-block: 56px 64px; }
.app-identity { display: flex; align-items: center; gap: 14px; margin-bottom: 25px; }
.app-identity img { border-radius: 15px; }
.app-identity span { font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.app-identity small { display: block; font-size: 11px; font-weight: 400; color: var(--muted); letter-spacing: 0; }
.app-download h2, .app-benefits h2 { font-size: clamp(25px,2.8vw,34px); font-weight: 550; letter-spacing: -.035em; line-height: 1.25; }
.app-download > p { font-size: 14px; line-height: 1.85; color: var(--muted); margin-top: 18px; }
.app-stores { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 28px; max-width: 540px; }
.app-store-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 17px 20px 16px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 3px 12px #0f111303; transition: border-color .2s, box-shadow .2s; }
.app-store-card:hover { border-color: #b1b9bc; box-shadow: 0 5px 18px #0f11130a; }
.app-store-card:focus-visible { outline: 3px solid #167c87; outline-offset: 4px; }
.app-store-platform { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 11px; font-weight: 500; color: #59636b; }
.app-store-platform .icon { width: 14px; height: 14px; }
.app-store-badge { display: flex; align-items: center; justify-content: center; height: 91px; }
.app-store-badge img { width: 162px; height: auto; max-width: 100%; }
/* Google's supplied artwork includes its own clear space around the badge. */
.app-store-badge img.google-play-badge { width: 182px; max-width: 100%; flex-shrink: 0; }
.app-store-action { border-top: 1px solid #eef0f1; padding-top: 12px; color: var(--muted); font-size: 10px; text-align: center; }
.app-download > .app-access-note { font-size: 11px; margin-top: 16px; }
.app-showcase { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
.app-showcase figcaption { max-width: 280px; }
.app-benefits { border-top: 1px solid var(--line); padding-block: 38px 60px; }
.app-benefits > .eyebrow { color: var(--muted); margin-bottom: 12px; }
.app-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: 30px; }
.app-benefit-grid h3 { font-size: 16px; font-weight: 550; letter-spacing: -.02em; }
.app-benefit-grid p { margin-top: 10px; font-size: 13px; line-height: 1.85; color: var(--muted); }
.app-benefits > .text-link { margin-top: 25px; }
@media (max-width:1100px) { .app-layout { gap: 40px; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); } .app-store-card { padding-inline: 14px; } }
@media (max-width:800px) { .app-layout { grid-template-columns: 1fr; gap: 44px; padding-block: 32px 44px; } .app-download { max-width: 590px; } .app-benefit-grid { grid-template-columns: 1fr; gap: 25px; } }
@media (max-width:480px) { .app-stores { grid-template-columns: 1fr; gap: 12px; } .app-store-card { display: grid; grid-template-columns: minmax(0,1fr) 160px; column-gap: 12px; padding: 16px; } .app-store-platform { align-self: end; justify-content: flex-start; gap: 8px; font-size: 12px; } .app-store-action { grid-column: 1; align-self: start; padding-top: 3px; border: 0; text-align: left; font-size: 10px; } .app-store-badge { grid-column: 2; grid-row: 1 / 3; height: 60px; } .app-store-badge img { width: 142px; } .app-store-badge img.google-play-badge { width: 160px; max-width: 100%; } }
@media (max-width:360px) { .app-store-card { grid-template-columns: minmax(0,1fr) 136px; gap: 0 8px; padding: 14px 12px; } .app-store-badge img { width: 126px; } .app-store-badge img.google-play-badge { width: 142px; } .app-store-platform { font-size: 11px; } }

body[data-page="app"] .section-number { color: #60666e; }
