/* Mobile application download */
.app-download { max-width:1280px; width:100%; margin-inline:auto; padding-inline:4rem; }
.app-download-panel { position:relative; isolation:isolate; overflow:clip; padding:2rem 2.5rem 1.5rem; border-radius:1.75rem; background:radial-gradient(ellipse at 50% 110%,#d9edbf 0,transparent 56%),linear-gradient(150deg,#fff 40%,#eff7e7); color:#044534; }
.app-download-panel::before,.app-download-panel::after { content:""; position:absolute; z-index:-1; width:120%; height:150px; left:-10%; bottom:-60px; border-radius:50%; background:#dcefc7; transform:rotate(-7deg); }
.app-download-panel::after { bottom:-100px; background:#c9e5af; transform:rotate(7deg); }
.app-download-copy { text-align:center; }
.app-download-logo { width:165px; height:75px; object-fit:contain; margin:0 auto .4rem; }
.app-download-copy h2 { margin:0; color:#044534; font-size:clamp(1.6rem,2.8vw,2.4rem); font-weight:700; line-height:1.2; }
.app-download-copy p { margin:.6rem auto 1.5rem; max-width:48rem; color:#42554b; font-size:1rem; line-height:1.6; }
.app-download-stores { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,.95fr) minmax(0,1fr); align-items:center; gap:2rem; max-width:900px; margin-inline:auto; }
.app-store-card { display:flex; flex-direction:column; align-items:center; min-width:0; padding:1rem; border:1px solid #d3e9c1; border-radius:1.25rem; background:#ffffffed; color:#044534; text-decoration:none; box-shadow:0 8px 25px #04453409; transition:transform 160ms ease; }
.app-store-heading { display:flex; align-items:center; gap:.65rem; margin-bottom:.6rem; }
.app-store-heading>svg { width:30px; height:30px; }
.app-store-heading strong { display:block; font-size:1.05rem; line-height:1.3; }
.app-store-heading div>span { display:block; font-size:.72rem; color:#57645d; margin-top:.15rem; }
.app-store-card>img { width:190px; height:auto; aspect-ratio:1; max-width:100%; }
.app-scan-note { display:flex; align-items:center; gap:.5rem; margin-top:.5rem; font-size:.75rem; color:#42554b; }
.app-scan-note>svg { width:30px; height:30px; padding:7px; border-radius:50%; background:#e8f5dc; color:#2c982d; }
.app-phone-scene { position:relative; display:flex; align-items:center; justify-content:center; min-height:315px; }
.app-phone-scene::before { content:""; position:absolute; width:250px; height:250px; border-radius:50%; background:#e2f1cf; z-index:-1; }
.app-phone { position:relative; display:flex; align-items:center; justify-content:center; width:154px; height:310px; border:5px solid #20251f; outline:2px solid #a9aca4; border-radius:29px; background:#fff; box-shadow:6px 12px 20px #04453422,inset 0 0 0 2px #dce0d8; }
.app-phone>img { width:125px; height:auto; }
.app-phone-camera { position:absolute; top:6px; width:62px; height:16px; background:#161a16; border-radius:15px; }
.app-phone-home { position:absolute; bottom:8px; width:52px; height:4px; background:#20251f; border-radius:3px; }
.app-leaf { position:absolute; z-index:-1; bottom:36px; width:65px; height:120px; border-radius:5% 95% 5% 95%; background:linear-gradient(120deg,#badc7c,#71a54a); box-shadow:inset -2px 0 #ffffff60; }
.app-leaf-left { left:12px; transform:rotate(-25deg); }
.app-leaf-right { right:8px; transform:rotate(70deg); }
.app-store-card:hover { transform:translateY(-3px); }
.app-store-card:focus-visible { outline:3px solid #6fbe44; outline-offset:4px; }
@media(max-width:1023px) { .app-download{padding-inline:1.5rem;} .app-download-panel{padding:1.75rem 1.5rem;} .app-download-stores{gap:1rem;} }
@media(max-width:767px) { .app-download-panel{padding:1.5rem 1rem;} .app-download-logo{width:140px;height:65px;} .app-download-copy p{font-size:.9rem;} .app-download-stores{grid-template-columns:1fr 1fr;gap:.8rem;} .app-phone-scene{grid-column:1/-1;grid-row:1;min-height:255px;margin-bottom:.5rem;} .app-phone{height:250px;width:126px;border-radius:25px;} .app-phone>img{width:100px;} .app-phone-scene::before{width:220px;height:220px;} .app-leaf-left{left:calc(50% - 100px);} .app-leaf-right{right:calc(50% - 100px);} .app-store-card{padding:.7rem .5rem;} .app-store-heading{gap:.35rem;} .app-store-heading strong{font-size:.85rem;} .app-store-heading>svg{width:23px;height:23px;} .app-scan-note{font-size:.65rem;gap:.25rem;} .app-scan-note>svg{width:25px;height:25px;padding:6px;} }
@media(max-width:359px) { .app-download-stores{grid-template-columns:1fr;max-width:250px;} .app-phone-scene{grid-column:auto;} }
@media(prefers-reduced-motion:reduce){.app-store-card{transition:none;}}

/* Store badges supplied by the brand. */
.app-download-copy { margin-bottom: 1.5rem; }
.app-store-card > .app-download-badge { width: 180px; height: auto; aspect-ratio: auto; margin-top: .75rem; }
.app-platform-logo { flex-shrink: 0; color: #171c18; }
.app-platform-logo-android { color: #3e962f; }
@media(max-width:767px) { .app-store-card > .app-download-badge { width: 100%; max-width: 180px; } }
