:root{--ink:#2c2028;--muted:#6e6068;--red:#da2638;--paper:#fffbf8;--line:#eadedc;--pink:#ffe9e9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-100px;left:16px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}:focus-visible{outline:3px solid #2158cc;outline-offset:5px}header{border-bottom:1px solid var(--line);background:var(--paper)}.topbar{display:flex;align-items:center;justify-content:space-between;padding-block:22px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;text-decoration:none;letter-spacing:-.5px}.brand img{border-radius:12px}nav{display:flex;gap:24px;flex-wrap:wrap;padding-bottom:18px}nav a{font-size:13px;text-decoration:none;color:var(--muted)}nav a:hover,nav a[aria-current]{color:var(--red);text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid var(--red);background:var(--red);color:white;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;padding:16px 23px;border-radius:7px}.button:hover{background:#b91b2b}.topbar .button{padding:11px 17px;font-size:12px}.hero{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:center;padding-block:70px 90px}.eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:2px;color:var(--red)}h1,h2,h3{line-height:1.12;letter-spacing:-1.5px}h1{font-size:clamp(42px,5.5vw,72px);margin:22px 0 24px;font-weight:750}h1 em{font-style:normal;color:var(--red)}h2{font-size:clamp(28px,3vw,40px);margin:16px 0 22px}h3{font-size:23px;letter-spacing:-.6px}p{color:var(--muted);margin:0 0 22px}.lead{font-size:19px;max-width:630px}.fine{font-size:12px;line-height:1.7;margin-top:18px}.phone-frame{margin:0;justify-self:center;max-width:290px;padding:9px;background:#342129;border-radius:35px;box-shadow:20px 28px 0 var(--pink);transform:rotate(3deg)}.phone-frame img{display:block;border-radius:26px}.phone-frame figcaption{font-size:10px;text-align:center;color:white;padding:7px 0 2px}.band{background:var(--pink);border-block:1px solid #f5d2d2}.rhythm{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:38px;align-items:center}.rhythm h2,.rhythm p{margin-bottom:0}.section{padding-block:72px}.section-heading{max-width:620px;margin-bottom:35px}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column}.feature:hover{background:#fff2ef}.feature h3{margin:20px 0 15px}.feature p{font-size:14px}.feature-link{font-size:12px;font-weight:700;color:var(--red);margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.steps{margin:0;padding-left:24px}.steps li{padding-left:12px;margin-bottom:28px}.steps li::marker{color:var(--red);font-weight:700}.steps h3{margin:0 0 12px}.steps p{font-size:15px}.callout{background:var(--pink);border-radius:14px;text-align:center;padding:52px 30px;margin-bottom:65px}.callout p{max-width:650px;margin-inline:auto}footer{display:grid;grid-template-columns:2fr 1fr;gap:60px;padding-block:30px 55px;border-top:1px solid var(--line)}footer>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px}footer .fine{max-width:560px}.text-button{border:0;padding:0;background:none;text-decoration:underline;color:var(--ink);font-size:13px}.article-hero{padding-block:50px}.article-hero h1{max-width:900px}.breadcrumb,.article-hero>span{font-size:12px}.article-hero .eyebrow{margin-top:28px}.article-layout{display:grid;grid-template-columns:minmax(0,740px) 250px;gap:80px;padding-bottom:50px}article section{margin-bottom:36px}article h2{font-size:28px;letter-spacing:-.8px}aside{border-top:2px solid var(--red);padding-top:10px}aside h2{font-size:19px;letter-spacing:-.5px}aside a{display:block;margin-bottom:15px;font-size:14px}details{border-top:1px solid var(--line);padding:18px 0}summary{font-weight:650;cursor:pointer}details p{margin:15px 0 0;font-size:15px}.legal{max-width:850px;padding-bottom:60px}.consent{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(1000px,calc(100% - 32px));background:white;padding:24px;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 40px #2c202830;display:flex;align-items:center;gap:25px;z-index:5}.consent[hidden]{display:none}.consent p{font-size:12px;margin:8px 0 0}.consent-actions{display:flex;gap:12px;flex-shrink:0}.consent-actions button{padding:12px 16px;font-size:12px;border-radius:6px}.consent-actions button:not(.button){border:1px solid var(--line);background:white;color:var(--ink)}@media(max-width:850px){.hero{gap:30px;grid-template-columns:1.3fr 1fr}.features{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr;gap:25px}.consent{flex-direction:column;align-items:flex-start;gap:16px}.article-hero h1{font-size:46px}}@media(max-width:580px){.wrap{width:calc(100% - 36px)}.topbar{gap:12px}.brand{font-size:15px}.brand img{width:32px;height:32px}.topbar .button{font-size:10px;padding:10px}.topbar .button span{display:none}nav{gap:12px 20px}nav a{font-size:12px}.hero{grid-template-columns:1fr;padding-block:42px 60px;gap:40px}.hero h1{font-size:49px}.phone-frame{width:230px;transform:none}.rhythm,.split{grid-template-columns:1fr;gap:24px}.features{grid-template-columns:1fr}.section{padding-block:45px}.callout{padding:38px 20px;margin-bottom:40px}footer{grid-template-columns:1fr;gap:20px}.article-hero{padding-block:35px}.article-hero h1{font-size:40px}.lead{font-size:17px}.consent{bottom:10px;max-height:calc(100dvh - 20px);overflow:auto;padding:18px}.consent-actions{flex-wrap:wrap}}

/* Keep the official Google Play badge intact and show iOS availability beside it. */
.store-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.store-link{display:inline-flex;width:190px;flex-shrink:0;border-radius:8px}
.store-link img{display:block;width:100%;height:auto}
.store-link:hover{opacity:.88}
.ios-badge{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:150px;min-height:54px;padding:7px 20px;border:1px solid #cdbdbd;border-radius:8px;background:#fff9f7;line-height:1.4}
.ios-platform{font-size:18px;font-weight:700;color:var(--ink)}
.ios-status{font-size:12px;color:var(--muted)}
.callout .store-options{justify-content:center}
.topbar .store-link{width:155px}
.topbar .ios-badge{min-width:130px;min-height:46px;padding:6px 16px}
.topbar .ios-platform{font-size:15px}
.topbar .ios-status{font-size:11px}
@media(max-width:580px){.topbar{flex-wrap:wrap}.topbar .store-options{width:100%;gap:8px}.topbar .ios-badge span{display:block}.store-options{gap:8px}.store-link{width:170px}.ios-badge{min-width:125px;padding:7px 14px;min-height:48px}}
@media(max-width:350px){.store-link{width:150px}.ios-badge{min-width:115px;padding-inline:12px}}

/* Match visual badge heights and retain clear status text on small screens. */
.store-options{gap:16px}
.store-link{width:180px;max-width:100%}
.ios-badge{min-width:146px;min-height:54px;gap:1px;background:transparent;border-color:#b9adb4}
.ios-status{font-weight:500}
.topbar .store-link{width:150px}
@media(max-width:580px){.store-options{gap:10px}.store-link{width:170px}.ios-badge{min-width:132px;min-height:50px}.topbar .store-options{width:auto}.topbar .store-link{width:140px}.topbar .ios-badge{min-width:120px}}
@media(max-width:420px){.topbar .store-options{width:100%}}

/* App Store download link uses the existing compact store placement. */
a.ios-badge{text-decoration:none;color:var(--ink, #182541)}
a.ios-badge:hover{background:#fff1eb;border-color:#8f7880}
