@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.bkf{position:relative;font-family:'DM Sans',sans-serif;color:#141414;background:transparent;font-synthesis:none;--accent:#1d4b39}.bkf, .bkf *{box-sizing:border-box}.bkf a{color:inherit}.bkf header{position:absolute;z-index:10;top:0;width:100%;padding:27px 5%;display:flex;align-items:center;justify-content:space-between}.bkf .brand{text-decoration:none;display:flex;gap:16px;align-items:center;font-size:12px;font-weight:700;letter-spacing:1.8px}.bkf .brand-mark{font-family:'Manrope',sans-serif;font-size:39px;letter-spacing:-4px;line-height:1}.bkf .brand-mark span, .bkf .app-brand span{color:var(--accent)}.bkf .concept{font-size:12px;letter-spacing:2px;color:#65706d}.bkf #story{height:540vh}.bkf .stage{position:sticky;top:0;height:100svh;min-height:530px;overflow:hidden;background:transparent}.bkf .eyebrow{position:absolute;top:20%;width:100%;text-align:center;font-size:12px;letter-spacing:3px;color:#727b78}.bkf #sentence{position:absolute;top:50%;left:50%;width:90%;margin:0;transform:translate(-50%,-50%);font-family:'Manrope',sans-serif;font-size:clamp(42px,6.8vw,98px);font-weight:500;line-height:1.18;letter-spacing:-.06em;text-align:center}.bkf #sentence span{display:inline-block;will-change:opacity,transform}.bkf .accent{color:var(--accent)}.bkf .food{position:absolute;width:clamp(180px,29vw,380px);left:50%;top:48%;text-align:center;opacity:0;will-change:transform,opacity;transform-origin:center}.bkf .food img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:contain}.bkf .food>span{display:block;margin-top:0;font-size:16px;color:#626e69;letter-spacing:.2px}.bkf #plus{position:absolute;top:46%;left:50%;font-size:58px;font-weight:400;transform:translate(-50%,-50%);color:#a1aaa6;opacity:0}.bkf .device{position:absolute;top:48%;left:50%;width:340px;height:640px;transform-origin:center;will-change:transform}.bkf .phone-shell{position:absolute;inset:0;background:#fff;border:7px solid #222927;border-radius:49px;box-shadow:0 0 0 2px #a2aaa6,0 32px 65px -22px #143e3335;opacity:0}.bkf .island{position:absolute;width:104px;height:27px;border-radius:20px;background:#1a211f;left:50%;top:11px;transform:translateX(-50%)}.bkf .status{display:flex;justify-content:space-between;padding:15px 21px;font-size:12px;font-weight:700}.bkf .app-header{display:flex;align-items:center;justify-content:space-between;margin:38px 22px 0;font-size:10px;letter-spacing:1px;color:#6e7c75}.bkf .app-brand{font-size:32px;font-weight:700;letter-spacing:-3px;color:#1a2523}.bkf .home-bar{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);height:4px;background:#1a2523;width:100px;border-radius:3px}.bkf .confirmation{position:absolute;top:166px;left:22px;right:22px;text-align:center;opacity:0;will-change:transform,opacity}.bkf .check{width:46px;height:46px;margin:0 auto 14px;border-radius:50%;background:#e9f5ed;color:#2b7951;font-size:28px;line-height:46px}.bkf h2{font-family:'Manrope',sans-serif;font-size:56px;letter-spacing:-3px;line-height:1.1;margin:0 0 12px;font-weight:600}.bkf .meal-name{font-size:13px;color:#758078;margin:0 0 22px}.bkf .nutrition{background:#f6f8f6;border:1px solid #e9eee8;border-radius:21px;padding:16px 14px}.bkf .calories{display:flex;justify-content:center;align-items:baseline;gap:6px;margin-bottom:18px}.bkf .calories strong{font-size:33px;font-weight:600;letter-spacing:-1px}.bkf .calories>span{font-size:13px;color:#6f7d73}.bkf .macros{display:flex;justify-content:space-around}.bkf .macros>div{display:flex;flex-direction:column;align-items:center;gap:5px}.bkf .macros strong{font-size:21px;font-weight:600}.bkf .macros strong span{font-size:12px;margin-left:2px;color:#788279}.bkf .macros>div>span{font-size:12px;color:#627066}.bkf .macros i{width:23px;height:3px;border-radius:5px}.bkf .protein{background:#799988}.bkf .carbs{background:#e8995e}.bkf .fat{background:#aa9abc}.bkf .demo-note{font-size:10px;color:#758078;margin:12px -5px 0}.bkf .phone-bottom{position:absolute;bottom:48px;left:20px;right:20px;text-align:center;opacity:0;font-size:11px;color:#7b847e}.bkf .saved{border-top:1px solid #ecf0eb;margin-bottom:17px;padding-top:19px;color:#3e5f4c;font-size:13px}.bkf .saved span{margin-right:5px}.bkf .end-copy{position:absolute;left:calc(50% + 215px);top:42%;opacity:0}.bkf .end-copy>span{font-size:12px;letter-spacing:2.8px;color:#6c7870}.bkf .end-copy p{font-family:'Manrope',sans-serif;font-size:clamp(36px,4.4vw,65px);letter-spacing:-3px;font-weight:500;margin:12px 0}.bkf .bottom{position:absolute;left:5%;right:5%;bottom:33px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#778179}.bkf .scroll-hint{display:flex;align-items:center;gap:16px;min-width:170px}.bkf .scroll-arrow{font-size:24px}.bkf .steps{display:flex;gap:30px}.bkf .steps>span{display:flex;gap:8px;color:#a2aaa5;transition:color .15s}.bkf .steps b{font-weight:400}.bkf .steps .active{color:#263b30}.bkf .counter{min-width:170px;text-align:right;font-variant-numeric:tabular-nums}.bkf .progress-track{position:absolute;bottom:0;height:3px;background:#f0f3ef;width:100%}.bkf #progress{height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}.bkf footer{min-height:170px;padding:55px 5%;display:flex;justify-content:space-between;align-items:center;background:transparent;font-size:16px}.bkf footer>a{text-underline-offset:6px;text-decoration-thickness:1px}@media(max-width:700px){.bkf header{padding:22px 6%}.bkf .brand{font-size:10px;gap:12px}.bkf .concept{display:none}.bkf .eyebrow{top:23%;font-size:10px;letter-spacing:2px}.bkf #sentence{font-size:clamp(35px,8.2vw,58px);line-height:1.3}.bkf .food{width:48vw;max-width:260px}.bkf .food>span{font-size:14px}.bkf #plus{font-size:38px}.bkf .steps{display:none}.bkf .counter{min-width:unset}.bkf .bottom{bottom:25px;left:6%;right:6%}.bkf .end-copy{left:0;top:auto;bottom:80px;text-align:center;width:100%}.bkf .end-copy>span{font-size:10px}.bkf .end-copy p{font-size:29px;letter-spacing:-1px;margin:7px 0}.bkf .device{top:43%}.bkf footer{gap:20px;flex-direction:column;text-align:center;font-size:14px}}@media(prefers-reduced-motion:reduce){.bkf #story{height:100svh;min-height:650px}.bkf .stage{min-height:650px}.bkf .scroll-arrow{display:none}}
/* Logo swap: the source's 'ds·' wordmark is replaced by the site mark.
   Height matches the 39px of the original .brand-mark so the header
   rhythm is unchanged. */
.bkf .brand-logo{height:39px;width:auto;display:block;border-radius:8px}
