:root{--navy:#16479E;--navy2:#0E3576;--navy-soft:#EDF3FD;--navy-line:#CBD9F0;--y:#FDB913;--y2:#FFCB4D;--y-soft:#FFF4D6;--y-ink:#4A3400;--ink:#0B0B0B;--ink2:#3A3A3A;--mute:#6B7280;--line:#E3E7EE;--bg:#FFFFFF;--card:#fff;--green:#2F8F5B;--blue:#16479E}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,.disp{font-family:Montserrat,system-ui,sans-serif;text-transform:none;line-height:1;margin:0;letter-spacing:-.025em}
h1{font-size:clamp(34px,5.4vw,64px);font-weight:800}
h2{font-size:clamp(27px,3.6vw,40px);font-weight:800}
h3{font-size:18px;font-weight:700}
p{margin:0 0 14px}
.wrap{width:min(1180px,92vw);margin:0 auto}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .12s,background .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-y{background:var(--y);color:#0B0B0B;box-shadow:0 2px 8px rgba(22,71,158,.10)}.btn-y:hover{background:var(--y2)}
.btn-k{background:var(--y);color:#0B0B0B;box-shadow:0 2px 8px rgba(22,71,158,.10)}.btn-k:hover{background:var(--y2)}
.btn-o{background:transparent;border-color:currentColor;color:inherit}.btn-o:hover{background:var(--ink);color:#fff}
.btn-w{background:#25D366;color:#fff}
.btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
/* nav */
nav{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08) inset}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
nav img{height:34px}
nav ul{display:flex;gap:16px;list-style:none;margin:0;padding:0;font-size:12.5px;font-weight:600;white-space:nowrap;letter-spacing:.01em}
nav ul a{text-decoration:none;opacity:.85}nav ul a:hover{opacity:1;color:var(--y)}
nav .btn{padding:9px 18px;font-size:13px}

/* hero */
.hero{background:linear-gradient(160deg,#16479E 0%,#0E3576 55%,#092851 100%);color:#fff;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:72px 0 64px}
.hero h1 span{color:var(--y)}
.hero p.lede{font-size:18px;color:#D3DDEE;max-width:52ch;margin:22px 0 28px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero .pic{position:relative}
.hero .pic img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.hero .pic .phonewrap{display:none}
.hero .pic.hasvid .phonewrap{display:flex;justify-content:center}
.hero .pic.hasvid>img,.hero .pic.hasvid .tag{display:none}
.phoneframe{position:relative;width:min(300px,72vw);aspect-ratio:9/16;border-radius:32px;overflow:hidden;background:#0B1B36;border:5px solid rgba(255,255,255,.16);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.vtrack{display:flex;width:100%;height:100%;transition:transform .34s cubic-bezier(.4,0,.2,1)}
.vtrack.drag{transition:none}
.vslide{flex:0 0 100%;height:100%;position:relative}
/* ---- announcements : dark glass over the picture ---- */
/* Three different things live behind one Log In button now — the shop account, the
   referrer portal and a gym's fridge — so the button asks which before it sends
   anybody anywhere. */
.pplist{padding:6px 18px 18px;display:grid;gap:10px}
.ppitem{display:flex;align-items:flex-start;gap:13px;padding:14px 15px;border-radius:14px;text-decoration:none;
 background:#fff;border:1px solid var(--line);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.ppitem:hover{border-color:var(--y);transform:translateY(-1px);box-shadow:0 8px 22px rgba(11,36,80,.10)}
.ppicon{flex:0 0 auto;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
 background:var(--navy-soft);color:var(--navy);font-size:19px}
.ppitem b{display:block;font-size:15px;line-height:1.25}
.ppitem small{display:block;color:var(--ink2);font-size:12.5px;line-height:1.45;margin-top:3px}
.ppnote{margin:0 18px 18px;padding:12px 14px;border-radius:12px;background:var(--navy-soft);
 color:var(--navy2);font-size:12.5px;line-height:1.5}
.annwrap{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px}
.annwrap.on{display:flex}
.annback{position:absolute;inset:0;background:rgba(11,36,80,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.annpanel{position:relative;width:min(540px,100%);max-height:min(88vh,760px);display:flex;flex-direction:column;
 border-radius:20px;overflow:hidden;background:var(--bg);border:1px solid var(--navy-line);
 box-shadow:0 30px 80px rgba(11,36,80,.34);animation:annrise .34s cubic-bezier(.2,.8,.3,1)}
.annpanel:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;
 background:linear-gradient(90deg,var(--y),var(--y2),var(--y));z-index:2}
@keyframes annrise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.annbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px 13px;
 border-bottom:1px solid var(--line);background:var(--bg)}
.annbar .eyebrow{margin:0;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--navy)}
.annx{border:0;background:var(--navy-soft);color:var(--navy2);width:30px;height:30px;border-radius:50%;
 font-size:17px;line-height:1;cursor:pointer;flex:none;font-weight:700}
.annx:hover{background:var(--navy);color:#fff}
.anndeck{flex:1;min-height:0;overflow:hidden;position:relative}
.anntrack{display:flex;height:100%;transition:transform .34s cubic-bezier(.4,0,.2,1)}
.annslide{flex:0 0 100%;min-width:100%;overflow-y:auto}
.anncard{display:flex;flex-direction:column;min-height:100%;background:var(--bg)}
.annpic{height:196px;flex:none;background:var(--navy-soft) 50% 50%/cover no-repeat;border-bottom:1px solid var(--line)}
.annpic.none{height:8px;background:linear-gradient(90deg,var(--navy),var(--navy2));border-bottom:0}
.anntext{padding:22px 24px 26px;color:var(--ink)}
.anntext .anneye{display:block;font-size:9.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--y-ink);margin-bottom:8px}
.anntext h3{margin:0;font-size:23px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:var(--navy2)}
.anntext p{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink2)}
.anntext .annbtn{display:inline-block;margin-top:17px;padding:10px 19px;border-radius:99px;background:var(--y);color:var(--ink);
 font-size:13px;font-weight:800;text-decoration:none}
.anntext .annbtn:hover{background:var(--y2)}
.annfoot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
 padding:12px 18px 13px;border-top:1px solid var(--line);background:var(--navy-soft)}
.anndots{display:flex;gap:6px;align-items:center}
.anndots i{width:7px;height:7px;border-radius:50%;background:var(--navy-line);cursor:pointer;display:block}
.anndots i.on{background:var(--y);width:18px;border-radius:99px}
.annnav{display:flex;gap:6px}
.annnav button{border:0;background:#fff;color:var(--navy2);width:30px;height:30px;border-radius:50%;cursor:pointer;
 font-size:15px;line-height:1;border:1px solid var(--navy-line)}
.annnav button:hover:not(:disabled){background:var(--navy);color:#fff;border-color:var(--navy)}
.annnav button:disabled{opacity:.35;cursor:default}
.annskip{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;user-select:none}
.annskip input{width:15px;height:15px;accent-color:var(--navy);cursor:pointer}
/* the bell that opens it again */
.annbell{position:relative;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;
 padding:8px 15px;border-radius:99px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;line-height:1;
 white-space:nowrap;display:none;align-items:center;gap:7px;flex:none}
.annbell.on{display:inline-flex}
.annbell:hover{background:#fff;color:var(--navy);border-color:#fff}
.annbell b{width:7px;height:7px;border-radius:50%;background:var(--y);display:none;flex:none}
.annbell.unread b{display:block}
@media(max-width:900px){.annbell{display:none!important}
 .navpanel .annbell{display:inline-flex!important;border-color:rgba(255,255,255,.5);color:#fff;margin-top:4px}}
@media(max-width:560px){.annpanel{width:100%;max-height:92vh}.anntext{padding:20px 20px 24px}.anntext h3{font-size:20px}
 .annpic{height:160px}.annfoot{justify-content:center}}
.phoneframe video{width:100%;height:100%;object-fit:cover;display:block}
.vsound{position:absolute;right:10px;top:10px;border:0;cursor:pointer;background:rgba(11,27,54,.72);color:#fff;font:inherit;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px);z-index:3}
.vsound:hover{background:rgba(11,27,54,.9)}
.vnav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0;cursor:pointer;width:34px;height:34px;border-radius:50%;background:rgba(11,27,54,.6);color:#fff;font-size:20px;line-height:1;display:none;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.vnav:hover{background:rgba(11,27,54,.85)}
.vnav.prev{left:8px}.vnav.next{right:8px}
.phoneframe.many .vnav{display:flex}
.vdots{position:absolute;left:0;right:0;bottom:12px;z-index:3;display:none;justify-content:center;gap:7px}
.phoneframe.many .vdots{display:flex}
.vdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer;transition:background .2s,width .2s}
.vdots i.on{background:var(--y);width:18px;border-radius:4px}
.vswipe{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:3;background:rgba(11,27,54,.66);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;backdrop-filter:blur(6px);white-space:nowrap;transition:opacity .4s}
@media(hover:hover){.vnav{display:none}.phoneframe.many:hover .vnav{display:flex}}
.hero .tag{position:absolute;left:-14px;bottom:26px;background:var(--y);color:var(--ink);padding:12px 16px;border-radius:12px;font-weight:700;font-size:14px;line-height:1.25;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hero .tag b{display:block;font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:24px;line-height:1}
.strip{background:var(--y);color:var(--ink)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:8px 36px;justify-content:center;padding:14px 0;font-weight:700;font-size:14px;letter-spacing:.02em}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;padding:48px 0 40px}.hero .pic{order:-1}.hero .tag{left:10px}
.hero .pic.hasvid{order:0;margin-top:6px}.hero .pic.hasvid .phoneframe{width:min(252px,62vw)}}
/* sections */
section{padding:76px 0}
.sec-head{display:flex;flex-direction:column;gap:10px;margin-bottom:34px;max-width:70ch}
.sec-head p{color:var(--ink2);font-size:17px;margin:0}
/* bundles */
.bundles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.bundle{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px;position:relative}
.bundle.fat{border-top:6px solid #4CAF50}.bundle.mass{border-top:6px solid var(--y)}
.bundle .kind{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:none}
.bundle.fat .kind{color:#2E7D32}.bundle.mass .kind{color:#B47600}
.bundle h3{font-size:26px}
.bundle .price{font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1}
.bundle .price small{display:block;font-size:14px;font-weight:600;color:var(--mute);font-family:Montserrat,sans-serif;text-transform:none;margin-top:4px}
.bundle ul{margin:0;padding-left:18px;color:var(--ink2);font-size:14px}
.bundle li{margin:3px 0}
.bundle .btn{margin-top:auto}
.bundle .inside{border-top:1px dashed var(--line);padding-top:10px}
.bundle .inside>summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:6px}
.bundle .inside>summary::-webkit-details-marker{display:none}
.bundle .inside>summary:after{content:'\25BE';font-size:11px;transition:transform .15s}
.bundle .inside[open]>summary:after{transform:rotate(180deg)}
.bundle .inside ol{list-style:none;margin:9px 0 0;padding:0;font-size:13px;color:var(--ink2)}
.bundle .inside ol li{display:block;padding:6px 0;border-bottom:1px dashed var(--line);margin:0;line-height:1.35}
.bundle .inside ol li:last-child{border-bottom:0}
/* the meals inside, shown as the boxes they arrive in */
.bundle .inside .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 0;padding:0;list-style:none}
.bundle .inside .mgrid li{margin:0;padding:0;border:0;display:flex;flex-direction:column;
 border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.bundle .inside .mgrid .pic{position:relative;aspect-ratio:4/3;background:var(--navy-soft);container-type:inline-size}
.bundle .inside .mgrid .mm{position:absolute;left:0;right:0;bottom:0;margin:0;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:2px 4px;padding:12px 5px 5px;font-style:normal;font-size:9px;font-weight:700;line-height:1.25;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0))}
.bundle .inside .mgrid .mm i{font-style:normal;white-space:nowrap}
@container (max-width:130px){.bundle .inside .mgrid .mm{font-size:8px;padding:11px 4px 4px;gap:1px 3px}}
.bundle .inside .mgrid img{width:100%;height:100%;object-fit:cover;display:block}
.bundle .inside .mgrid .cap{padding:7px 8px 8px}
.bundle .inside .mgrid b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;font-weight:700;color:var(--ink);line-height:1.25;min-height:2.5em}
.bundle .inside .mgrid em{display:block;font-style:normal;font-size:10.5px;color:var(--mute);margin-top:2px;line-height:1.3}
@media(max-width:520px){.bundle .inside .mgrid{grid-template-columns:1fr 1fr}}
.bundle .inside ol li em{display:block;font-style:normal;color:var(--mute);font-size:11.5px;margin-top:2px}
.bundle .inside .note{font-size:12px;color:var(--mute);margin-top:8px;line-height:1.5}
.bundle .best{position:absolute;top:-12px;right:16px;background:var(--ink);color:var(--y);font-size:11px;font-weight:700;letter-spacing:.12em;padding:5px 10px;border-radius:999px}
/* meals */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tab{padding:9px 18px;border-radius:999px;border:2px solid var(--ink);background:transparent;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.tab.on{background:var(--navy);color:#fff}
.findbtn{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;
 font-size:19px;line-height:1;cursor:pointer;flex:none}
.findbtn:hover{background:rgba(255,255,255,.26)}
.findwrap{display:none;position:fixed;inset:0;z-index:120;background:rgba(7,22,52,.55);padding:14vh 16px 16px}
.findwrap.on{display:block}
.findbox{max-width:620px;margin:0 auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.findbox input{width:100%;height:60px;padding:0 20px;border:0;font-size:17px;font-weight:600;color:var(--ink)}
.findbox input:focus{outline:none}
.findres .fchips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 20px 12px}
.findres .fchips button.fchip{display:inline-flex;width:auto;padding:7px 13px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;background:#fff}
.findres .fchips button.fchip:hover{background:var(--navy-soft,#EDF3FD);border-color:var(--navy,#1B3A8C)}
.findres .fh i{font-style:normal;opacity:.45;padding:0 3px}
.findres{max-height:58vh;overflow:auto;border-top:1px solid var(--line)}
.findres .fh{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#6B7280);padding:12px 20px 5px}
.findres button{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:0;background:none;
 padding:9px 20px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.findres button:hover{background:var(--navy-soft,#EDF3FD)}
.findres button img{width:44px;height:33px;object-fit:cover;border-radius:6px;flex:none}
.findres button span{flex:1;min-width:0;white-space:pre-line}
.findres button small{display:block;font-weight:500;font-size:12px;color:var(--mute,#6B7280)}
.findres .fnone{padding:22px 20px;color:var(--mute,#6B7280);font-weight:600}
.mlfind{position:relative;margin:0 0 16px;max-width:520px}
.mlfind input{width:100%;height:50px;padding:0 44px 0 18px;font-size:15.5px;font-weight:600;color:var(--ink);
 background:#fff;border:1px solid var(--line2,#CBD2DE);border-radius:999px;-webkit-appearance:none}
.mlfind input:focus{outline:2px solid var(--y);outline-offset:1px}
.mlfind button{position:absolute;right:6px;top:6px;width:38px;height:38px;border:0;border-radius:50%;
 background:transparent;font-size:22px;line-height:1;color:var(--mute,#6B7280);cursor:pointer;display:none}
.mlfind.on button{display:block}
.mlnone{display:none;padding:34px 10px;text-align:center;font-weight:600;color:var(--mute,#6B7280)}
.mlnone.on{display:block}
.meals{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.meal{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.meal img{aspect-ratio:4/3;object-fit:cover;width:100%}
.meal .body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.meal .name{font-weight:700;font-size:14.5px;line-height:1.3}
.meal .goal{font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:none}
.meal.fat .goal{color:#2E7D32}.meal.mass .goal{color:#B47600}
.macros{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:11px;color:var(--mute);text-align:center;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:6px 0}
.macros b{display:block;color:var(--ink);font-size:14px;font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-weight:700}
.meal .row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:8px}
.meal .p{font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:19px;font-weight:800}
.meal .btn{padding:8px 14px;font-size:13px}
/* how */
.how{background:linear-gradient(160deg,#0E3576,#092851);color:#fff}
.how .sec-head p{color:#C3CEE4}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;counter-reset:s}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px 16px}
.step .n{font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:32px;font-weight:800;color:var(--y);line-height:1}
.step h3{font-size:17px;margin:8px 0 6px}
.step p{font-size:13.5px;color:#C3CEE4;margin:0}
/* packaging & delivery */
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px}
.panel h3{font-size:23px;margin-bottom:10px}
.panel p,.panel li{color:var(--ink2);font-size:15px}
.panel ul{padding-left:18px;margin:0}
.panel .chip{display:inline-block;background:#FFF1CD;color:#8A5A00;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;margin-bottom:10px}
@media(max-width:820px){.two{grid-template-columns:1fr}}
/* gym */
.gym{background:linear-gradient(135deg,#FFF1CD,#FFFFFF)}
.gym .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.logos{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 22px}
.logos span{background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:16px;font-weight:700;letter-spacing:.04em}
@media(max-width:820px){.gym .wrap{grid-template-columns:1fr}}
/* plan */
.plan .wrap{background:var(--ink);color:#fff;border-radius:22px;padding:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.plan p{color:#D3DDEE}
@media(max-width:820px){.plan .wrap{grid-template-columns:1fr;padding:30px}}
/* faq */
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:21px;line-height:1;color:var(--y)}
details[open] summary::after{content:"-"}
details p{color:var(--ink2);margin:10px 0 0;font-size:15px;max-width:70ch}
/* footer */
footer{background:#092851;color:#C3CEE4;padding:48px 0 28px;font-size:14px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer h4{color:#fff;font-family:Montserrat,sans-serif;letter-spacing:-.02em;text-transform:none;font-size:18px;margin:0 0 10px;letter-spacing:.04em}
footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--y)}
footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;font-size:12px;color:#93A3BE}
@media(max-width:820px){footer .wrap{grid-template-columns:1fr}}
.wa{position:fixed;right:18px;bottom:96px;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.3)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.meal img,.pic img{filter:saturate(1.18) contrast(1.12) brightness(1.06)}

/* — luxury polish — */
.card,.item,.bundle,.meal,.order{box-shadow:0 1px 2px rgba(11,40,81,.04),0 10px 28px rgba(11,40,81,.05)}
.btn{transition:transform .12s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-y:hover,.btn-k:hover{background:var(--y2);box-shadow:0 8px 20px rgba(253,185,19,.34)}
.tab{border-color:var(--navy)!important}
.eyebrow{color:var(--navy)}
h1,h2,h3{letter-spacing:-.025em}
a{text-underline-offset:3px}
::selection{background:var(--y);color:#0B0B0B}


nav .wrap{gap:14px}
nav .wrap>a:first-child{flex:none}
nav img{flex:none}
nav ul{flex:0 1 auto;min-width:0}
.navr{display:flex;align-items:center;gap:12px;margin-left:auto}
.navlink{font-size:12.5px;font-weight:700;text-decoration:none;opacity:.9;white-space:nowrap}
.navlink:hover{opacity:1;color:var(--y)}
.btn-line{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;padding:8px 15px;font-size:12.5px}
.btn-line:hover{background:#fff;border-color:#fff;color:var(--navy)}
nav li.acct,.navr .acct{position:relative}
.acctbtn{background:none;border:0;color:inherit;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;padding:0;opacity:.9;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.acctbtn:hover,.acct.open .acctbtn{opacity:1;color:var(--y)}
.ordm{position:relative}
.ordbtn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:0;font:inherit}
.ordmenu{display:none;position:absolute;right:0;top:calc(100% + 12px);min-width:238px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px;box-shadow:0 18px 44px rgba(11,40,81,.20);z-index:61}
.ordm.open .ordmenu{display:block}
.ordmenu a{display:block;padding:10px 12px;border-radius:9px;color:var(--ink);font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.ordmenu a:hover{background:var(--navy-soft);color:var(--navy)}
.ordmenu a small{display:block;font-weight:500;font-size:11.5px;color:var(--mute);margin-top:1px}
.ordmenu a:hover small{color:var(--navy)}
@media(max-width:420px){.ordmenu{min-width:0;width:calc(100vw - 32px);right:-8px}}
.acctmenu{display:none;position:absolute;right:0;top:calc(100% + 16px);min-width:246px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px;box-shadow:0 18px 44px rgba(11,40,81,.20);z-index:60}
.acct.open .acctmenu{display:block}
.acctmenu a{display:block;padding:9px 12px;border-radius:9px;color:var(--ink);font-size:13.5px;font-weight:600;text-decoration:none;opacity:1;white-space:nowrap}
.acctmenu a:hover{background:var(--navy-soft);color:var(--navy)}
.acctmenu .sep{height:1px;background:var(--line);margin:6px 8px}
.acctmenu .who{padding:9px 12px 7px;font-size:12px;color:var(--mute);font-weight:600;border-bottom:1px solid var(--line);margin-bottom:5px}
.acctmenu .who b{display:block;color:var(--ink);font-size:13.5px}
.acctmenu a.danger{color:#C8433B}
.acctmenu a.danger:hover{background:#FBE5E3;color:#C8433B}
.navtoggle{display:none;background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:2px 4px}
.navpanel{display:none;background:var(--navy2);border-top:1px solid rgba(255,255,255,.14)}
.navpanel.open{display:block}
/* the menu reads down each column, the way a list is read, and the columns fold as the
   screen narrows until it is one plain list on a phone. */
.navpanel .wrap{display:grid;height:auto;align-items:start;gap:0 18px;padding:10px 0 14px;
 grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column}
@media(max-width:880px){.navpanel .wrap{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(7,auto)}}
@media(max-width:520px){.navpanel .wrap{grid-template-columns:1fr;grid-template-rows:auto;grid-auto-flow:row}}
.navpanel span a{display:block;padding:9px 0;font-size:13.5px;font-weight:600;color:#fff;text-decoration:none;opacity:.92;border-bottom:1px solid rgba(255,255,255,.10)}
.navpanel span a:hover{color:var(--y)}
@media(max-width:1599px){nav ul{display:none}.navtoggle{display:block}}
/* the row must never run into itself : the links give way before they can overlap, and the
   signed-out and signed-in sides of the bar are never both on screen. */
nav .wrap ul{flex:0 1 auto;min-width:0}
/* the bar carries more than the page column does, so it is allowed to be wider than the
   content on a large screen. Below that the links fold into the ☰ menu instead. */
@media(min-width:1440px){nav .wrap{width:min(1400px,96vw)}}
nav:not(.signedin) .navr .acct{display:none}
nav.signedin #navLogin,nav.signedin #navSignup{display:none}
@media(max-width:720px){nav.signedin #navLogin,nav.signedin #navSignup{display:none}nav.signedout .navr .acct{display:none}}
@media(max-width:470px){#navLogin{display:none}}
@media(max-width:420px){nav img{height:26px}.navr{gap:8px}.navr .btn{padding:8px 12px;font-size:12px}.acctbtn{font-size:12px}}

/* ---- banner strip : the wide carousel the Console fills, sitting under the menu ---- */
.bnband{display:none;background:transparent;padding:0}
/* The menu above and the hero below are both navy, so without an edge the banner's own
   navy runs straight into them and the three read as one blue block. A gold rule top and
   bottom cuts the strip out cleanly — the same gold as the logo. */
.bnband.on{display:block;border-top:3px solid var(--y);border-bottom:3px solid var(--y)}
.bnband .wrap{width:100%;max-width:none;margin:0}
.bnwrap{position:relative;overflow:hidden;background:var(--navy2);container-type:inline-size;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.bntrack{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}
.bnslide{flex:0 0 100%;min-width:100%;position:relative;aspect-ratio:6/1;display:block;
 color:inherit;text-decoration:none}
/* The picture fills the whole strip. Artwork drawn at the strip's own 6:1 shape fills it
   exactly; anything taller is centred and trimmed top and bottom, and the blurred copy
   underneath only shows where a picture has transparent edges. */
.bnslide .bnpic{position:absolute;inset:0;background:50% 50%/cover no-repeat}
.bnslide .bnblur{position:absolute;inset:-6%;background:var(--navy2) 50% 50%/cover no-repeat;filter:blur(24px) brightness(.72);transform:scale(1.06)}
.bnslide .bnveil{position:absolute;inset:0}
.bnslide.al .bnveil{background:linear-gradient(90deg,rgba(7,22,52,.82) 0%,rgba(7,22,52,.54) 42%,rgba(7,22,52,0) 78%)}
.bnslide.ar .bnveil{background:linear-gradient(270deg,rgba(7,22,52,.82) 0%,rgba(7,22,52,.54) 42%,rgba(7,22,52,0) 78%)}
.bnslide.ac .bnveil{background:linear-gradient(180deg,rgba(7,22,52,.24) 0%,rgba(7,22,52,.66) 100%)}
.bnslide.bare .bnveil{background:none}
.bnslide .bntext{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
 padding:4% 6% 7%;gap:1.8%;color:#fff}
.bnslide.al .bntext{align-items:flex-start;text-align:left;max-width:66%}
.bnslide.ar .bntext{align-items:flex-end;text-align:right;margin-left:auto;max-width:66%}
.bnslide.ac .bntext{align-items:center;text-align:center}
.bnslide .bnh{margin:0;font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-.02em;
 line-height:1.08;font-size:clamp(17px,3.4cqw,40px);text-shadow:0 2px 16px rgba(0,0,0,.42)}
.bnslide .bns{margin:0;font-size:clamp(11px,1.5cqw,17px);line-height:1.45;color:#E4ECF9;max-width:44ch;
 text-shadow:0 1px 12px rgba(0,0,0,.4)}
.bnslide .bnbtn{display:inline-block;margin-top:.6%;padding:2.1% 4.2%;border-radius:99px;background:var(--y);
 color:var(--ink);font-weight:800;font-size:clamp(10px,1.4cqw,15px);white-space:nowrap;
 box-shadow:0 8px 20px rgba(0,0,0,.26)}
a.bnslide:hover .bnbtn{background:var(--y2)}
.bnnav{position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;
 border:0;background:rgba(255,255,255,.86);color:var(--navy2);font-size:15px;line-height:1;cursor:pointer;
 display:grid;place-items:center;z-index:3;box-shadow:0 6px 18px rgba(0,0,0,.22)}
.bnnav:hover{background:#fff}
.bnnav.prev{left:14px}.bnnav.next{right:14px}
.bndots{position:absolute;left:0;right:0;bottom:7px;display:flex;justify-content:center;gap:8px;z-index:3}
.bndots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;
 transition:width .25s,background .25s}
.bndots i.on{background:var(--y);width:22px;border-radius:99px}
.bnband.solo .bnnav,.bnband.solo .bndots{display:none}
@media(max-width:820px){
 .bnslide{aspect-ratio:6/1}
 .bnslide.al .bntext,.bnslide.ar .bntext{max-width:82%}
 .bnnav{width:30px;height:30px;font-size:17px}
 .bnnav.prev{left:8px}.bnnav.next{right:8px}
 .bndots{bottom:9px}}
#meStrip{display:none;background:var(--navy-soft,#EDF3FD);border-bottom:1px solid var(--navy-line,#CBD9F0)}
.mebar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 0}
.mehi b{display:block;font-size:15px;line-height:1.25}
.mehi span{display:block;font-size:12px;color:var(--mute,#6B7280)}
.mehi a{color:inherit;text-decoration:underline}
.mecells{display:flex;gap:9px;flex-wrap:wrap;margin-left:auto}
.mecell{display:block;min-width:104px;background:#fff;border:1px solid var(--navy-line,#CBD9F0);
 border-radius:11px;padding:8px 12px;text-decoration:none;color:inherit;line-height:1.3}
.mecell:hover{border-color:var(--navy,#16479E)}
.mecell span{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
 color:var(--mute,#6B7280)}
.mecell b{display:block;font-size:15px}
.mecell i{display:block;font-style:normal;font-size:11px;color:var(--mute,#6B7280);min-height:13px}
@media(max-width:760px){
 /* stacked, these six push the hero off a phone screen entirely, so on a narrow screen they
    become one swipeable row instead — the strip stays a strip. */
 .mebar{gap:10px}
 .mecells{margin-left:0;width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .mecells::-webkit-scrollbar{height:0}
 .mecell{flex:0 0 auto;min-width:118px;scroll-snap-align:start}}

/* ---- The signed-in homepage ------------------------------------------------
   Someone who has already bought from us does not need the sales page again.
   When the browser knows who they are, the seven marketing sections come down
   and this block takes their place between the hero and the footer: their plan,
   their weight, what is on its way, what they have saved. Everything Peter did
   not ask to remove — the menu, the banner strip, the hero and its video, the
   announcements, the footer — stays exactly where it was.
   The data comes from the copy My Account writes into this browser, so nothing
   here needs a database key on this page. ---------------------------------- */
body.signedin:not(.mkExpand) #bundles,body.signedin:not(.mkExpand) #meals,
body.signedin:not(.mkExpand) #how,body.signedin:not(.mkExpand) #delivery,
body.signedin:not(.mkExpand) #gyms,body.signedin:not(.mkExpand) #plan,
body.signedin:not(.mkExpand) #faq{display:none}
body.signedin:not(.mkExpand) .mkt{display:none}
/* The tab on the right edge, against the scrollbar, that brings the rest of the page
   back and puts it away again. Only a signed-in customer ever sees it — for everyone
   else the whole page is the page. The label is vertical so the tab stays narrow and
   never sits on top of the content it is toggling. */
#meToggle{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:45;display:none;
 border:0;border-radius:12px 0 0 12px;background:var(--navy);color:#fff;font-family:inherit;
 font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
 padding:16px 8px;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;
 box-shadow:-2px 4px 16px rgba(11,11,11,.28);transition:background .15s,padding .15s}
body.signedin #meToggle{display:block}
#meToggle:hover{background:var(--navy2);padding-right:11px}
#meToggle:focus-visible{outline:3px solid var(--y);outline-offset:-3px}
@media(max-width:600px){#meToggle{font-size:10.5px;padding:13px 7px;letter-spacing:.07em}}
/* The credibility ticker sells the kitchen to someone who has never bought from us.
   A signed-in customer has, so it comes down with the rest of the sales page. */
body.signedin:not(.mkExpand) .strip{display:none}
#meHome{display:none;padding:36px 0 48px;
 --warn:#9A6A00;--warn-soft:#FFF2D4;--bad:#C8433B;--bad-soft:#FBE5E3;--green-soft:#E3F3E9}
body.signedin #meHome{display:block}
#meHome .chip{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 9px;
 border-radius:999px;background:#EAEEF5;color:var(--ink2)}
#meHome .chip.ok{background:var(--green-soft);color:var(--green)}
#meHome .chip.warn{background:var(--warn-soft);color:var(--warn)}
#meHome .chip.bad{background:var(--bad-soft);color:var(--bad)}
#meHome .btn{padding:10px 18px;font-size:13.5px}
#meHome .btn.s{padding:7px 14px;font-size:12.5px}
#meHome .btn-o{background:#fff;border-color:var(--navy-line);color:var(--navy)}
#meHome .btn-o:hover{background:#fff;border-color:var(--y);color:var(--ink)}
#meHome .empty{color:var(--mute);text-align:center;padding:24px 0;font-size:13.5px}
#meHome .ovhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
 flex-wrap:wrap;margin-bottom:16px}
#meHome .ovhead h2{margin:0 0 3px;font-size:clamp(23px,3vw,30px);font-weight:800}
#meHome .ovhead p{margin:0;color:var(--mute);font-size:14px}
#meHome .ovap{border:1px solid var(--navy-line);background:var(--navy-soft);border-radius:12px;
 padding:8px 13px;text-align:right;cursor:pointer;flex:none;line-height:1.25;
 font:inherit;text-decoration:none;display:block}
#meHome .ovap b{display:block;font-size:15px;color:var(--navy)}
#meHome .ovap span{display:block;font-size:11px;color:var(--mute)}
#meHome .ovplan{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;
 overflow:hidden;background:var(--card)}
#meHome .ovplan.empty-plan{padding:16px}
#meHome .ovplanhead{width:100%;display:flex;align-items:center;gap:14px;padding:15px 16px;
 background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
#meHome .ovplanhead:hover{background:var(--navy-soft)}
#meHome .ovplanline{flex:1;min-width:0}
#meHome .ovplanline b{display:block;font-size:17px}
#meHome .ovplanline span{display:block;font-size:12.5px;color:var(--mute)}
#meHome .ovlabel{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
 color:var(--mute)}
#meHome .ovcaret{font-size:15px;color:var(--mute);flex:none}
#meHome .ovplanbody{padding:0 16px 16px;border-top:1px solid var(--line)}
#meHome .ovtargets{font-size:13px;color:var(--ink2);padding:12px 0 4px}
#meHome .ovtargets b{font-size:15px}
#meHome .ovdays{display:grid;grid-template-columns:1fr;
 gap:12px;margin-top:8px}
#meHome .ovday{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
#meHome .ovday>b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;
 color:var(--mute);margin-bottom:5px}
#meHome .ovmeal{font-size:13px;padding:5px 0;border-bottom:1px solid var(--line);
 display:flex;gap:9px;align-items:flex-start}
#meHome .ovmeal:last-child{border-bottom:0}
#meHome .ovmeal img{width:52px;height:38px;object-fit:cover;border-radius:6px;flex:none}
#meHome .ovmeal .aebox{position:relative;width:104px;flex:none;aspect-ratio:1536/1024;border-radius:7px;overflow:hidden;background:#E9EEF5 50% 50%/cover no-repeat}
#meHome .aebox b{position:absolute;display:block;background:#0B2450 50% 50%/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
#meHome .aebox b.pro{left:19.40%;top:20.31%;width:18.23%;height:52.54%;border-radius:6px 2px 2px 6px}
#meHome .aebox b.crb{left:38.93%;top:20.31%;width:40.76%;height:26.76%;border-radius:2px 6px 2px 2px}
#meHome .aebox b.veg{left:38.93%;top:48.63%;width:40.76%;height:24.22%;border-radius:2px 2px 6px 2px}
#meHome .aebox b.pro.h1{height:25.97%}
#meHome .aebox b.pro.h2{top:46.88%;height:25.97%;border-radius:2px 2px 2px 6px}
#meHome .aebox b.veg.w1{width:20.08%;border-radius:2px}
#meHome .aebox b.veg.w2{left:59.61%;width:20.08%}
#meHome .aebox.vac{background:#E4E9F1;box-shadow:inset 0 0 0 1px rgba(11,36,80,.18)}
#meHome .aebox.vac b{top:14%;height:72%;border-radius:4px;box-shadow:none}
#meHome .aebox.vac b.pro{left:6%;width:29%}
#meHome .aebox.vac b.crb{left:37%;width:28%}
#meHome .aebox.vac b.veg{left:67%;width:27%}
#meHome .aebox.vac::after{content:'';position:absolute;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.55),rgba(255,255,255,0) 34%,rgba(255,255,255,.3) 58%,rgba(255,255,255,0) 84%)}
@media(max-width:620px){#meHome .ovmeal .aebox{width:78px}}
#meHome .ovmtxt{min-width:0;line-height:1.4}
#meHome .ovmeal i{display:block;font-style:normal;font-weight:700;font-size:12.5px;margin-bottom:2px}
#meHome .ovmeal span{display:block;font-size:11.5px;color:var(--ink2);padding-left:2px}
#meHome .ovmeal span em{font-style:normal;color:var(--mute)}
#meHome .ovwide{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px;
 background:var(--card)}
#meHome .ovwnow{font-size:13px;color:var(--mute)}
#meHome .ovwnow b{font-size:19px;color:var(--ink)}
#meHome .ovwnow i{font-style:normal;margin-left:6px}
#meHome .ovgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px}
#meHome .ovcard{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;
 flex-direction:column;gap:6px;background:var(--card)}
#meHome .ovtop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:20px}
#meHome .ovbig{font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.01em}
#meHome .ovbig span{font-size:14px;font-weight:600;color:var(--mute)}
#meHome .ovnone{font-size:19px;font-weight:700;color:var(--mute)}
#meHome .ovline{font-size:13.5px;color:var(--ink2)}
#meHome .ovsub{font-size:12px;color:var(--mute);line-height:1.5}
#meHome .ovgo{margin-top:auto;padding-top:10px}
#meHome .ovgo .btn{width:100%;text-align:center;display:block;box-sizing:border-box;
 text-decoration:none;color:var(--ink)}
#meHome .ovwide .ovgo .btn,#meHome .ovplanbody .ovgo .btn{width:auto;display:inline-block;
 padding-left:20px;padding-right:20px}
#meHome .bmrow{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:9px}
#meHome .bmchip{border:1px solid var(--navy-line);background:var(--bg);color:var(--ink2);
 border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
#meHome .bmchip.on{background:var(--navy);border-color:var(--navy);color:#fff}
#meHome .bmchart{position:relative;margin-top:6px}
#meHome .bmchart svg{width:100%;height:260px;display:block;overflow:visible}
#meHome .bmax{font-size:11px;fill:var(--mute)}
#meHome .bmtip{position:absolute;top:0;transform:translateX(-50%);background:var(--ink);color:#fff;
 border-radius:8px;padding:6px 9px;font-size:12px;pointer-events:none;white-space:nowrap}
#meHome .bmtip b{display:block}
#meHome .bmtip span{opacity:.8;font-size:11px}
#meHome .bmone{border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center}
#meHome .bmone b{display:block;font-size:26px}
#meHome .bmone span{color:var(--mute);font-size:13px}
@media(max-width:560px){#meHome .bmchart svg{height:220px}}
@media(max-width:520px){#meHome .ovgrid{grid-template-columns:1fr}#meHome .ovbig{font-size:23px}
 #meHome .ovhead{flex-direction:column}#meHome .ovap{align-self:stretch;text-align:left}}
.meal .oosnote{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#FFF2D4;color:#6b4e00;font-size:11.5px;line-height:1.45;text-align:left}
.meal .oosnote b{font-weight:800}
.bundle .oosnote{margin:10px 0;padding:9px 11px;border-radius:9px;background:#FFF2D4;color:#6b4e00;font-size:12px;line-height:1.45;text-align:left}
.bundle .oosnote b{font-weight:800}
.inside li.oosout .pic{position:relative;filter:grayscale(1) brightness(.45)}
.inside li.oosout .pic::after{content:'SUBSTITUTED';position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.72);color:#fff;font-size:9px;font-weight:800;letter-spacing:.07em;text-align:center;padding:3px 2px}
.inside li.oosout .cap b{opacity:.6}
.inside li .oosmk{display:block;margin-top:2px;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8d6b00}

.langsw{display:inline-flex;align-items:center;gap:0;border:1px solid var(--navy-line,#CBD9F0);background:#fff;border-radius:99px;padding:2px;cursor:pointer;font-family:inherit;line-height:1;overflow:hidden}
.langsw span{display:block;padding:5px 9px;font-size:11.5px;font-weight:700;color:var(--navy,#16479E);border-radius:99px;white-space:nowrap}
.langsw .l1{background:var(--navy,#16479E);color:#fff}
html[data-lang="zh"] .langsw .l1{background:transparent;color:var(--navy,#16479E)}
html[data-lang="zh"] .langsw .l2{background:var(--navy,#16479E);color:#fff}
@media(max-width:900px){.langsw span{padding:5px 7px;font-size:11px}}

@media(prefers-reduced-motion:no-preference){
 .aera-rv{opacity:0;transform:translateY(16px);will-change:opacity,transform}
 .aera-rv.aera-in{opacity:1;transform:none;
  transition:opacity .62s ease,transform .62s cubic-bezier(.2,.8,.2,1)}
 .meal, .bundle, .panel, .anncard{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}
 .meal:hover, .bundle:hover, .panel:hover, .anncard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(12,20,34,.13)}
}

.at-mask{position:fixed;inset:0;z-index:9000;display:none}
.at-mask.on{display:block}
.at-mask.at-dim{background:rgba(14,19,28,.62)}
.at-ring{position:fixed;border-radius:14px;pointer-events:none;
 box-shadow:0 0 0 9999px rgba(14,19,28,.62),0 0 0 3px rgba(240,180,41,.95);
 transition:left .34s cubic-bezier(.32,.72,0,1),top .34s cubic-bezier(.32,.72,0,1),
  width .34s cubic-bezier(.32,.72,0,1),height .34s cubic-bezier(.32,.72,0,1)}
.at-ring::after{content:'';position:absolute;inset:-3px;border-radius:inherit;
 box-shadow:0 0 0 2px rgba(240,180,41,.7);animation:at-halo 2.5s ease-out infinite}
@keyframes at-halo{0%{opacity:.85;transform:scale(1)}70%{opacity:0;transform:scale(1.035)}100%{opacity:0}}
.at-card{position:fixed;z-index:9002;display:none;background:#fff;color:#14181F;border-radius:16px;
 padding:15px 18px 14px;box-shadow:0 18px 50px rgba(8,14,24,.34);font:400 13.5px/1.55 inherit;max-width:92vw}
.at-card.on{display:block}
.at-card.at-mid{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(370px,92vw)!important}
.at-card.at-sheet{left:8px!important;right:8px!important;top:auto!important;bottom:10px!important;
 width:auto!important;transform:none;border-radius:18px}
.at-card.at-anim{animation:at-in .34s cubic-bezier(.2,.85,.25,1) both}
.at-card.at-mid.at-anim{animation:at-inmid .34s cubic-bezier(.2,.85,.25,1) both}
@keyframes at-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes at-inmid{from{opacity:0;transform:translate(-50%,-50%) scale(.965)}
 to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.at-tip{position:absolute;width:14px;height:14px;background:#fff;transform:rotate(45deg);display:none;
 border-radius:2px}
.at-prog{height:4px;border-radius:999px;background:#EAEEF4;overflow:hidden;margin:0 0 9px}
.at-prog i{display:block;height:100%;border-radius:999px;background:#F0B429;
 transition:width .4s cubic-bezier(.32,.72,0,1)}
.at-n{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8A93A3;margin-bottom:5px}
.at-t{font-size:16px;font-weight:800;letter-spacing:-.01em;margin:0 0 5px;line-height:1.3}
.at-b{color:#39404C}
.at-b b{color:#14181F}
.at-f{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.at-btn{appearance:none;border:0;font:inherit;font-weight:700;font-size:13px;padding:9px 16px;border-radius:10px;
 cursor:pointer;background:#F0B429;color:#171203;transition:transform .12s ease,filter .12s ease}
.at-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.at-btn:active{transform:translateY(0)}
.at-btn.at-o{background:#EEF1F6;color:#39404C}
.at-x{position:absolute;top:8px;right:9px;appearance:none;border:0;background:transparent;font-size:19px;
 line-height:1;color:#98A0AE;cursor:pointer;padding:4px 6px}
.at-x:hover{color:#14181F}
.at-help{position:fixed;left:16px;bottom:var(--atbot,16px);z-index:8000;appearance:none;border:0;cursor:pointer;
 font:inherit;font-weight:700;font-size:12.5px;padding:10px 15px;border-radius:999px;background:#14181F;color:#fff;
 box-shadow:0 8px 24px rgba(8,14,24,.28);display:inline-flex;align-items:center;gap:7px;
 transition:transform .16s ease,box-shadow .16s ease}
.at-help:hover{background:#000;transform:translateY(-2px);box-shadow:0 12px 30px rgba(8,14,24,.34)}
.at-help i{font-style:normal;font-weight:800;color:#F0B429}

@media print{.at-mask,.at-card,.at-help{display:none!important}}
@media(prefers-reduced-motion:reduce){
 .at-ring{transition:none}.at-ring::after{animation:none}
 .at-card.at-anim,.at-card.at-mid.at-anim{animation:none}
 .at-prog i{transition:none}.at-btn:hover,.at-help:hover{transform:none}}

/* AERA-PHONE-LANDING : phone banners at 2 : 1, and the Meals list shortened on phones */
@media (max-width:600px){.bnslide.ph{aspect-ratio:2/1}.bnband .bnnav{display:none}
#mealGrid.clip article.meal:nth-of-type(n+7){display:none}
.mlmore{display:block;margin:18px auto 0;padding:13px 26px;border-radius:999px;border:2px solid var(--navy,#16479E);background:#fff;color:var(--navy,#16479E);font:inherit;font-weight:700;font-size:15px;cursor:pointer}}
@media (min-width:601px){.mlmore{display:none}}