/* Shared pieces for every Carecipe landing page: reset, store badges, phone frame, sticky bar. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
:focus-visible{outline:3px solid var(--focus,#e07a3e);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Store badges: the App Store one is the page's only real job. */
.badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.badge{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:9px 18px 9px 14px;
  border-radius:14px;background:#120c08;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.14);
  transition:transform .15s ease, box-shadow .15s ease}
.badge svg{width:26px;height:26px;flex:none}
.badge span{display:flex;flex-direction:column;line-height:1.05;text-align:left}
.badge small{font:500 11px/1.2 system-ui,-apple-system,sans-serif;letter-spacing:.02em}
.badge b{font:600 21px/1.1 system-ui,-apple-system,sans-serif;letter-spacing:-.02em}
.badge:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(42,26,16,.22)}
.badge .soon{display:none}
.badge.is-soon{cursor:default;opacity:.62}
.badge.is-soon:hover{transform:none;box-shadow:none}
.badge.is-soon .soon{display:block;position:absolute;top:-9px;right:-6px;padding:3px 8px;border-radius:99px;
  background:var(--accent,#e07a3e);color:#fff;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.android-note{display:none}
.is-android:not(.play-live) .android-note{display:block}

/* A phone, built from a real app screen. */
.phone{position:relative;width:var(--pw,260px);aspect-ratio:402/874;padding:calc(var(--pw,260px)*.035);
  border-radius:calc(var(--pw,260px)*.16);background:#1b120c;
  box-shadow:0 0 0 1.5px #3a2a1e inset,0 30px 60px -18px rgba(90,40,10,.45),0 12px 24px -12px rgba(90,40,10,.3)}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:calc(var(--pw,260px)*.13);background:#fbf3ea}

/* Sticky download bar on phones. */
.stickybar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;align-items:center;gap:12px;
  padding:10px 10px 10px 12px;border-radius:20px;background:var(--bar-bg,rgba(42,26,16,.94));color:#fff;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -12px rgba(42,26,16,.5);
  transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.stickybar.show{transform:none}
.stickybar img{width:40px;height:40px;border-radius:10px}
.stickybar p{flex:1;font:600 15px/1.2 var(--body,system-ui);min-width:0}
.stickybar p small{display:block;font-weight:500;font-size:12.5px;opacity:.72}
.stickybar a{flex:none;padding:12px 16px;border-radius:14px;background:var(--accent,#e07a3e);color:#fff;
  text-decoration:none;font:700 15px/1 var(--body,system-ui)}
@media (min-width:900px){.stickybar{display:none}}
@media (max-width:420px){.badges{gap:8px}.badge{min-height:50px;padding:7px 12px 7px 10px;gap:8px;border-radius:12px}.badge svg{width:22px;height:22px}.badge b{font-size:17px}.badge small{font-size:10px}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
