: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;--green-soft:#E3F3E9;--warn:#9A6A00;--warn-soft:#FFF2D4;--bad:#C8433B;--bad-soft:#FBE5E3;--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.55;font-size:15px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:Montserrat,system-ui,sans-serif;letter-spacing:-.025em;text-transform:none;line-height:1;margin:0;letter-spacing:-.025em}
h1{font-size:clamp(27px,3.6vw,38px);font-weight:800}h2{font-size:22px;font-weight:700}h3{font-size:17px;font-weight:700}
.wrap{width:min(1180px,94vw);margin:0 auto}
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:62px;gap:16px}
nav img{height:32px}nav a{text-decoration:none;font-weight:600;font-size:12.5px;opacity:.9;white-space:nowrap}
.cartbtn{background:var(--y);color:var(--ink);border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;border:0;cursor:pointer;font-family:inherit}
.layout{display:grid;grid-template-columns:1fr 400px;gap:26px;padding:26px 0 80px;align-items:start}
@media(max-width:940px){.layout{grid-template-columns:1fr}.side{position:static!important}}
.side{position:sticky;top:78px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.card+.card{margin-top:14px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.tab{padding:8px 16px;border-radius:999px;border:2px solid var(--ink);background:transparent;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.tab.on{background:var(--navy);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.item{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.item img{aspect-ratio:4/3;object-fit:cover;width:100%;background:#E3E7EE}
.item .body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.item .name{font-weight:700;font-size:14px;line-height:1.3}
.goal{font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:none}.fat .goal{color:#2E7D32}.mass .goal{color:#B47600}
.macros{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:10.5px;color:var(--mute);text-align:center;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:5px 0}
.macros b{display:block;color:var(--ink);font-size:13px;font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-weight:700}
.item .row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:8px}
.serving{font-size:11.5px;color:var(--mute);line-height:1.45}
.serving ul{list-style:none;margin:5px 0 0;padding:0}
.serving li{position:relative;padding-left:11px;margin-top:2px;color:var(--ink2)}
.serving li:before{content:'';position:absolute;left:2px;top:6px;width:4px;height:4px;border-radius:50%;background:var(--y)}
.serving li i{font-style:normal;color:var(--mute);white-space:nowrap}
.serving li u{text-decoration:none;margin-left:4px;white-space:nowrap;font-size:11px;letter-spacing:.5px}
.inside{margin-top:9px;border-top:1px dashed var(--line);padding-top:8px}
.inside>summary{list-style:none;cursor:pointer;font-size:11.5px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:5px}
.inside>summary::-webkit-details-marker{display:none}
.inside>summary:after{content:'\25BE';font-size:10px;transition:transform .15s}
.inside[open]>summary:after{transform:rotate(180deg)}
.inside ol{list-style:none;margin:7px 0 0;padding:0;font-size:11.5px;color:var(--ink2)}
.inside ol li{display:flex;gap:9px;align-items:center;padding:5px 0;border-bottom:1px dashed var(--line);line-height:1.35}
/* the Meal as it is packed, beside its name, so the list reads like the Shop */
.inside ol li .insidepic{width:56px;height:42px;object-fit:cover;border-radius:6px;flex:none;background:var(--navy-soft,#EEF2F8)}
.inside ol li>span{flex:1;min-width:0}
.inside ol li.oosout .insidepic{filter:grayscale(1);opacity:.55}
.inside ol li em{display:block;font-style:normal;color:var(--mute);font-size:11px;margin-top:1px}
.inside ol li:last-child{border-bottom:0}
.inside ol li span{min-width:0}
.inside ol li em{font-style:normal;color:var(--mute);white-space:nowrap;font-size:11px}
.inside .note{font-size:11px;color:var(--mute);margin-top:7px;line-height:1.45}
.tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;line-height:1.6;padding:2px 7px;border-radius:999px;background:#FBE5E3;color:#8E2F28;white-space:nowrap}
.tag.hot{background:#FFF2D4;color:#8A5A00}
.tag.clear{background:#E3F3E9;color:#1F6B41}
.tag.may{background:#EDF1F7;color:#46536A}
.tags .lbl{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-right:1px}
.price{font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:18px;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:999px;font-weight:700;font-size:13px;border:2px solid transparent;cursor:pointer;font-family:inherit;text-decoration:none;white-space:nowrap}
.btn-k{background:var(--y);color:#0B0B0B;box-shadow:0 2px 8px rgba(22,71,158,.10)}.btn-k:hover{background:var(--y2)}.btn-y{background:var(--y);color:#0B0B0B;box-shadow:0 2px 8px rgba(22,71,158,.10)}.btn-y:hover{background:var(--y2)}.btn-o{background:#fff;border-color:#CBD9F0;color:var(--navy)}.btn-o:hover{border-color:var(--y);color:#0B0B0B}
.btn:disabled{opacity:.5;cursor:not-allowed}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.qty button{width:30px;height:30px;border:0;background:#fff;font-size:18px;cursor:pointer;font-family:inherit}.qty span{min-width:26px;text-align:center;font-weight:700;font-size:13px}
.bundle{border-top:5px solid var(--y)}.bundle.fat{border-top-color:#4CAF50}
.bundle ul{margin:4px 0 0;padding-left:16px;color:var(--ink2);font-size:12.5px}
/* cart */
.line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px;align-items:center}
.line .n{flex:1}.line .n small{display:block;color:var(--mute);font-size:11.5px}
.tot{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.tot.big{font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:21px;font-weight:800;border-top:2px solid var(--navy);margin-top:6px;padding-top:10px}
label.lb{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:12px 0 4px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:inherit}
textarea{min-height:64px;resize:vertical}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;margin-top:8px}
.opt.on{border-color:var(--navy);background:#EDF3FD;box-shadow:0 0 0 1px var(--navy) inset}.opt input{width:auto;margin-top:3px}
/* A small drawing of what you are choosing : a sealed bento tray, or a crimped vacuum pouch.
   Line art so it takes the option's own colour when the option is the chosen one. */
.pkico{flex:none;width:40px;height:30px;margin-top:1px;fill:none;stroke:var(--mute);stroke-width:1.8;
 stroke-linejoin:round;stroke-linecap:round}
.pkico .d{stroke-width:1.5;opacity:.8}
.opt.on .pkico{stroke:var(--navy)}
.opt.on .pkico .d{stroke:var(--y2,#FFCB4D)}
@media(max-width:420px){.pkico{width:32px;height:24px}}
.opt b{display:block;font-size:14px}.opt small{color:var(--mute);font-size:12.5px}
.opt .fee{margin-left:auto;font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:16px;font-weight:800;white-space:nowrap}
.hint{font-size:12px;color:var(--mute);margin-top:6px}
.apbox{margin-top:12px;border:2px solid var(--y);border-radius:12px;padding:12px 14px;background:#F4F8FE}.apbox:empty{display:none}.apbox b.big{font-family:Montserrat,sans-serif;letter-spacing:-.02em;font-size:21px;font-weight:800;line-height:1}.apbox .row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.apbox select{width:auto;min-width:150px}.apbox table{width:100%;font-size:12px;border-collapse:collapse;margin-top:8px}.apbox td{padding:3px 0;border-top:1px dashed var(--line)}.apbox td.r{text-align:right;white-space:nowrap}
.acwrap{position:relative}.ac{display:none;position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12);overflow:hidden;max-height:260px;overflow-y:auto}.ac.open{display:block}.ac div{padding:10px 12px;font-size:13.5px;cursor:pointer;border-bottom:1px solid var(--line)}.ac div:last-child{border-bottom:0}.ac div:hover,.ac div.sel{background:#FFF6E0}.ac small{display:block;color:var(--mute);font-size:11.5px}
.msg{font-size:13px;padding:10px 12px;border-radius:10px;margin-top:8px}.msg.ok{background:var(--green-soft);color:var(--green)}.msg.warn{background:var(--warn-soft);color:var(--warn)}.msg.bad{background:var(--bad-soft);color:var(--bad)}
.empty{color:var(--mute);text-align:center;padding:18px 0;font-size:13.5px}
.paybtn{width:100%;margin-top:14px;padding:14px;font-size:16px;border-radius:12px}
.secure{font-size:11.5px;color:var(--mute);text-align:center;margin-top:8px}
.sheet{display:none}
@media(max-width:940px){.sheet{display:block;position:fixed;left:0;right:0;bottom:0;background:var(--navy);color:#fff;padding:12px 16px;z-index:40;display:flex;justify-content:space-between;align-items:center}.side{display:none}.side.open{display:block;position:fixed;inset:0;overflow:auto;background:var(--bg);z-index:60;padding:16px}}
.closex{display:none}@media(max-width:940px){.closex{display:inline-flex;margin-bottom:10px}}

.item img,.opt.pic .fig{filter:saturate(1.20) contrast(1.13) brightness(1.07)}

/* — 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}
.clogo{flex:none;width:104px;height:48px;border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid var(--line)}
.clogo img{max-width:88px;max-height:34px;width:auto;height:auto;object-fit:contain}
.clogo img:not([hidden])+i{display:none}
.clogo i{font-style:normal;font-weight:800;font-size:14px;letter-spacing:-.02em}
/* With the logo carrying the name, the rate is the only text on the row. */
.crate{align-self:center}.crate small{color:var(--ink2);font-size:12.5px;line-height:1.4}
.clogo.lala{background:#FFF1E8;border-color:#FBD3B8}.clogo.lala i{color:#F16622}
.clogo.grab{background:#E8F8EF;border-color:#B8E8CE}.clogo.grab i{color:#00A050}

.sadd{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0 0 10px}
.sa{text-align:left;background:#fff;border:2px solid var(--line);border-radius:11px;padding:9px 11px;cursor:pointer;font-family:inherit;display:block;width:100%}
.sa:hover{border-color:#CBD9F0}
.sa.on{border-color:var(--navy);background:#EDF3FD;box-shadow:0 0 0 1px var(--navy) inset}
.sa b{display:block;font-size:13px}
.sa small{display:block;color:var(--mute);font-size:12px;line-height:1.35;margin-top:2px}
.sa i{display:block;font-style:normal;color:var(--mute);font-size:11.5px;margin-top:2px}

.agate{border:2px solid var(--navy);background:#EDF3FD;border-radius:13px;padding:14px 15px;margin:14px 0 4px}
.agate b{display:block;font-size:14.5px}
.agate small{display:block;color:var(--ink2);font-size:12.5px;margin-top:4px;line-height:1.45}
.agate .arow{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}

.vline{display:flex;align-items:center;gap:10px;justify-content:space-between;border:1px dashed var(--navy-line);background:#F5F8FD;border-radius:12px;padding:10px 12px;margin-top:10px}
.vline.on{border-style:solid;border-color:var(--green);background:var(--green-soft)}
.vline .vn{display:flex;flex-direction:column;gap:1px;min-width:0}
.vline .vn b{font-size:13.5px}
.vline .vn small{color:var(--mute);font-size:12px}
.vline .vn i{font-style:normal;color:var(--warn);font-size:11.5px;margin-top:2px}
.fobox{margin-top:12px;border:2px dashed var(--navy-line);border-radius:12px;padding:12px 14px;background:#F5F8FD}
.fobox.on{border-style:solid;border-color:var(--green);background:var(--green-soft)}
.fobox .t{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fobox .t b{font-size:15px}
.fobox .t span{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.fobox p{margin:5px 0 0;font-size:12.5px;color:var(--ink2);line-height:1.45}
.fobox .bar{height:6px;border-radius:3px;background:#DCE5F4;margin-top:9px;overflow:hidden}
.fobox .bar i{display:block;height:100%;background:var(--y)}
.fobox .act{margin-top:10px}
.item.alc .goal{background:var(--navy-soft);color:var(--navy)}
.alcchips{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.alcchips button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 14px;font:inherit;font-size:13px;font-weight:700;color:var(--mute);cursor:pointer}
.alcchips button.on{border-color:var(--navy);color:var(--navy);background:var(--navy-soft)}
.alcnote{grid-column:1/-1;font-size:13px;color:var(--ink2);background:var(--navy-soft);border-radius:10px;padding:10px 13px;margin-bottom:4px}
.item.alc .per{font-size:12px;color:var(--mute);margin-top:2px}
.item.alc .sz{display:flex;align-items:center;gap:10px;justify-content:space-between;border-top:1px dashed var(--line);padding-top:9px;margin-top:9px}
.item.alc .sz .lab{font-size:13px;font-weight:700}
.item.alc .sz .lab small{display:block;font-weight:400;color:var(--mute);font-size:11.5px}
.vacwrap{position:fixed;inset:0;background:rgba(16,23,34,.45);display:grid;place-items:center;z-index:80;padding:20px}
.vacbox{background:#fff;border-radius:16px;max-width:420px;padding:24px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.vacbox h3{margin:10px 0 0;font-size:19px}.vacbox p{margin:8px 0 0;font-size:14px;color:var(--ink2)}
/* À la Carte is sold vacuum sealed, so the photo is presented inside a transparent pouch:
   crimped seals top and bottom, the film pulled tight over the portion, creases gathering at
   the seals and a sheen across the front. Drawn entirely in CSS, so it costs no images. */
.item.alc>.vac{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#FCFDFE,#E9EEF4 66%,#D8DFE9 100%)}
.item.alc .vbag{position:absolute;inset:4% 5.5%;border-radius:8px;overflow:hidden;background:linear-gradient(150deg,#F9FBFD,#EDF1F7 45%,#E2E8F1);box-shadow:0 0 0 1px rgba(11,40,81,.11),0 14px 20px -12px rgba(11,40,81,.5)}
.item.alc .vpouch{position:absolute;inset:15% 7%;overflow:hidden;border-radius:18% 14% 16% 20%/11% 9% 10% 12%;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 8px 16px -8px rgba(11,40,81,.5)}
.item.alc .vpouch img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;display:block;filter:saturate(.9) contrast(1.04) brightness(1.05)}
.item.alc .vpouch:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(203,222,243,.32),rgba(255,255,255,.05) 46%,rgba(180,199,222,.36));box-shadow:inset 0 9px 18px rgba(11,40,81,.26),inset 0 -9px 18px rgba(11,40,81,.2)}
.item.alc .vseal{position:absolute;left:0;right:0;height:12%;z-index:3;background-color:#EDF1F7;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.78) 0 2px,rgba(150,167,190,.45) 2px 4px)}
.item.alc .vseal.t{top:0;box-shadow:inset 0 -1px 0 rgba(11,40,81,.18),0 4px 7px -4px rgba(11,40,81,.35)}
.item.alc .vseal.b{bottom:0;box-shadow:inset 0 1px 0 rgba(11,40,81,.18),0 -4px 7px -4px rgba(11,40,81,.35)}
.item.alc .vfilm{position:absolute;inset:0;z-index:4;pointer-events:none}
.item.alc .vfilm:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(84deg,rgba(255,255,255,.5) 0 1px,rgba(255,255,255,0) 1px 15px),repeating-linear-gradient(-76deg,rgba(11,40,81,.05) 0 1px,rgba(255,255,255,0) 1px 21px);-webkit-mask-image:linear-gradient(#000 0 13%,transparent 26% 74%,#000 87% 100%);mask-image:linear-gradient(#000 0 13%,transparent 26% 74%,#000 87% 100%)}
.item.alc .vfilm:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 55% at 0% 50%,rgba(11,40,81,.10),rgba(255,255,255,0) 70%),radial-gradient(70% 55% at 100% 50%,rgba(11,40,81,.10),rgba(255,255,255,0) 70%),linear-gradient(112deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.5) 30%,rgba(255,255,255,.06) 38%,rgba(255,255,255,0) 46%,rgba(255,255,255,0) 64%,rgba(255,255,255,.24) 70%,rgba(255,255,255,0) 78%),radial-gradient(140% 60% at 12% 4%,rgba(255,255,255,.4),rgba(255,255,255,0) 55%)}
.item.alc .bagpic{width:100%;aspect-ratio:4/3;background-repeat:no-repeat;background-color:#EEF2F7}
.item.alc .sz{gap:7px;flex-wrap:wrap}
.item.alc .sz .price{white-space:nowrap;font-size:15px;margin-right:auto}
.item.alc .sz .lab{flex:1 0 100%;min-width:0}
.item.alc .sz .lab small{display:inline;margin-left:7px;white-space:normal}
.item.alc .sz .btn,.item.alc .sz .qty{flex:none}
/* A meal is photographed in its bento box. Choose the vacuum bag at checkout and the same meal
   is shown as its parts, each sealed in its own bag, gathered into the one card picture.
   Every cell is a 4:3 crop of a category sprite sheet, so a whole card costs one download. */
.mbags{position:relative;width:100%;aspect-ratio:4/3;display:grid;grid-auto-rows:1fr;gap:1px;background:#DFE5ED;overflow:hidden}
.mcell{position:relative;display:flex;align-items:center;gap:9px;padding:0 10px;background:#fff;overflow:hidden;min-width:0}
.mcell>i{flex:none;height:64%;max-height:54px;min-height:26px;width:auto;aspect-ratio:4/3;border-radius:6px;display:block;
 background-repeat:no-repeat;box-shadow:0 0 0 1px rgba(11,40,81,.12),0 3px 6px -3px rgba(11,40,81,.45)}
/* the Vacuum Packed chip sits over the first row, so that row keeps clear of it */
.mcell:first-child{padding-right:64px}
.mcell>u{flex:1;min-width:0;font-style:normal;text-decoration:none;font-size:10.5px;font-weight:700;line-height:1.22;color:var(--ink);
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* The strip of sealed bags under a Meal name inside a Bundle's list. */
.bstrip{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:5px}
.bstrip>i{flex:none;width:40px;height:30px;border-radius:5px;background-repeat:no-repeat;
 box-shadow:0 0 0 1px rgba(11,40,81,.12),0 2px 4px -2px rgba(11,40,81,.4)}
.vacline{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:10.5px;color:var(--mute);line-height:1.3}
.vacline>span{flex:none;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
 color:var(--navy);background:var(--navy-soft,#EDF3FD);padding:3px 7px;border-radius:99px}
.mbags .vc{position:absolute;right:7px;top:7px;z-index:3;background:rgba(255,255,255,.93);color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:3px 7px;border-radius:99px;box-shadow:0 1px 3px rgba(11,40,81,.22)}
.item.alc.oositem{opacity:.62}
.item.alc.oositem .bagpic,.item.alc.oositem img,.item.alc.oositem .vac{filter:grayscale(.85)}
.oosbar{display:block!important;text-align:center;font-size:12px;font-weight:700;color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:8px 10px}
.oostag{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--bad);background:var(--bad-soft);border-radius:4px;padding:1px 5px;margin-left:6px}
.oosnote{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--warn-soft,#FFF2D4);color:var(--warn-ink,#6b4e00);font-size:11.5px;line-height:1.45}
.oosnote b{font-weight:800}
.inside li.oosout{opacity:.62}
.inside li .oosmk{display:block;font-style:normal;text-decoration:none;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8d6b00;margin-top:2px}

/* One legal line, the same on every page, so the Terms are never more than a
   glance away wherever a customer happens to be. */
.aeralegal{max-width:720px;margin:30px auto 0;padding:0 20px 30px;
 font-size:12px;line-height:1.7;color:#6B7280;text-align:center}
.aeralegal a{color:inherit;text-underline-offset:3px}

.langsw{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.45);background:transparent;border-radius:99px;padding:2px;cursor:pointer;font-family:inherit;line-height:1;overflow:hidden}
.langsw span{display:block;padding:4px 8px;font-size:11px;font-weight:700;color:inherit;border-radius:99px;white-space:nowrap}
.langsw .l1{background:#fff;color:#16479E}
html[data-lang="zh"] .langsw .l1{background:transparent;color:inherit}
html[data-lang="zh"] .langsw .l2{background:#fff;color:#16479E}

.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:76px;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}}

/* One way back to the homepage from every page, in the same place on all of them.
   The label shortens to Home on a phone so the header never overflows. */
.homebtn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.45);
 color:#fff;border-radius:999px;padding:7px 14px;font-weight:700;font-size:12.5px;opacity:1;
 text-decoration:none;white-space:nowrap;line-height:1}
.homebtn:hover{background:rgba(255,255,255,.14)}
.homebtn .hbshort{display:none}
@media(max-width:760px){.homebtn .hbfull{display:none}.homebtn .hbshort{display:inline}}
/* With the homepage button in it, the header can need a second line on a phone.
   Let it wrap rather than push the page sideways. */
@media(max-width:760px){nav .wrap{height:auto;flex-wrap:wrap;padding:9px 0;row-gap:9px}
 nav .wrap>div,nav .navr{flex-wrap:wrap;row-gap:9px}}

/* AERA-PHONE-FIX : the cart opens as a full-screen sheet on phones; the help button steps aside so it never covers Pay */
@media (max-width:940px){.side.open{position:fixed!important}body:has(.side.open) #atHelp{display:none!important}}