
:root{--paper:#f5efe5;--ink:#3d2a1e;--olive:#8b654b;--muted:#807165;--line:#e3d8ca;--tint:#ede0d1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #8b654b;outline-offset:4px}button:hover{filter:brightness(.95)}button:disabled{cursor:default}header{display:flex;align-items:center;justify-content:space-between;padding:25px 0}.wrap{max-width:1000px;margin:auto;padding:0 36px 120px}.brand{display:flex;align-items:center;gap:12px}.seal{border:1px solid var(--olive);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:15.82px;line-height:15px;text-align:center;color:var(--olive)}h1{font-size:21.47px;letter-spacing:3px;margin:0;font-weight:600}.brand small{display:block;font-size:10.17px;letter-spacing:1.6px;margin-top:6px;color:var(--muted)}.order{border:1px solid var(--line);background:transparent;border-radius:30px;padding:12px 18px;font-size:13.56px}.hero{background:#e7d8c4;border-radius:8px;min-height:310px;position:relative;overflow:hidden;display:flex;align-items:center;padding:40px 45px}.hero-copy{z-index:1}.eyebrow{font-size:11.3px;letter-spacing:2px;color:#705540}.hero h2{font-size:47.46px;letter-spacing:3px;line-height:1.45;font-weight:500;margin:20px 0 16px}.hero p{font-size:13.56px;color:#806550;letter-spacing:2px}.hero-art{position:absolute;right:25px;width:350px;bottom:-10px;height:300px}.welcome{display:flex;justify-content:space-between;align-items:center;padding:27px 0 21px}.welcome strong{font-size:19.21px;font-weight:500}.welcome p{font-size:13.56px;color:var(--muted);margin:7px 0 0}.status{font-size:12.43px;color:var(--muted)}.status:before{content:'';display:inline-block;width:5px;height:5px;background:var(--olive);border-radius:100%;margin-right:7px}.modes{display:flex;gap:12px}.mode{flex:1;display:flex;align-items:center;gap:16px;text-align:left;border:1px solid var(--line);background:white;padding:21px 24px;border-radius:6px}.mode.on{background:var(--tint);border-color:#af927a}.mode svg{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.3}.mode b{display:block;font-size:16.95px;font-weight:500}.mode small{display:block;margin-top:5px;font-size:11.3px;color:var(--muted);letter-spacing:.3px}.mode em{margin-left:auto;font-style:normal;color:var(--olive)}.menu-head{display:flex;align-items:baseline;justify-content:space-between;margin-top:36px}.menu-head h2{font-size:22.6px;font-weight:500;margin:0}.menu-head small{font-size:11.3px;color:var(--muted);letter-spacing:2px}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-top:18px;overflow:auto}.tabs button{background:none;border:0;padding:14px 0;font-size:14.69px;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;min-height:44px}.tabs button.on{border-color:var(--olive);color:var(--ink)}.menu{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.product{display:flex;gap:18px;padding:25px 0;border-bottom:1px solid var(--line);align-items:center}.thumb{height:102px;width:90px;flex-shrink:0;border-radius:5px;background:#f0f1e9;display:grid;place-items:center}.thumb svg{width:65px;height:88px}.info{flex:1;min-width:0}.info h3{font-size:18.08px;font-weight:500;margin:0 0 7px}.info p{font-size:12.43px;color:var(--muted);margin:0}.price-line{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.price{font-size:20.34px;font-variant-numeric:tabular-nums}.price small{font-size:12.43px;margin-right:3px}.add{width:44px;height:44px;background:var(--olive);border:0;border-radius:100%;color:white;font-size:27.12px;font-weight:300}.footnote{text-align:center;font-size:11.3px;color:var(--muted);letter-spacing:1px;margin:30px 0}.cart{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);width:min(928px,calc(100% - 40px));background:var(--ink);border-radius:8px;padding:12px 14px 12px 22px;display:flex;align-items:center;justify-content:space-between;color:white;z-index:3;box-shadow:0 8px 30px #3d2a1e14}.cart small{font-size:12.43px;color:#ded0c1}.cart strong{font-size:22.6px;font-weight:500;margin-left:13px}.cart button{background:#e8d2bc;color:#442e20;border:0;padding:13px 20px;border-radius:4px;font-size:14.69px}.cart button:disabled{background:#735c4b;color:#ded0c1}.preview{font-size:11.3px;color:#7a7e70;letter-spacing:.5px;text-align:center;padding-top:14px}dialog{border:0;padding:28px;border-radius:12px;width:min(430px,calc(100% - 28px));color:var(--ink)}dialog::backdrop{background:#1b201a66}dialog h2{font-size:25.99px;font-weight:500;margin:12px 0 6px}dialog p{font-size:13.56px;color:var(--muted);line-height:1.8}.close{float:right;border:0;background:var(--tint);border-radius:100%;width:44px;height:44px;font-size:24.86px}fieldset{border:0;padding:0;margin:22px 0}legend{font-size:14.69px;margin-bottom:12px}.choices{display:flex;gap:9px}.choices label{flex:1}.choices input{position:absolute;opacity:0}.choices span{display:block;padding:13px;text-align:center;background:#f5f5f0;border:1px solid var(--line);border-radius:4px;font-size:14.69px}.choices input:checked+span{border-color:var(--olive);background:var(--tint)}.choices input:focus-visible+span{outline:2px solid var(--olive)}.confirm{width:100%;padding:16px;border:0;background:var(--olive);color:white;border-radius:5px;margin-top:14px}#notice{min-height:18px}.skip{position:absolute;left:-1000px}.skip:focus{left:20px;z-index:5;background:white;padding:10px}@media(max-width:650px){.wrap{padding:0 22px 112px}header{padding:23px 0}.brand{gap:9px}h1{font-size:19.21px;letter-spacing:2px}.brand small{font-size:9.04px;letter-spacing:1px}.seal{width:38px;height:38px;font-size:13.56px}.order{font-size:12.43px;padding:10px 13px;min-height:44px}.hero{min-height:236px;padding:27px 24px}.hero h2{font-size:32.77px;letter-spacing:2px;margin:20px 0 16px}.hero p{font-size:11.3px;letter-spacing:1px}.hero-art{width:208px;height:215px;right:-46px;bottom:-16px}.eyebrow{font-size:9.04px;letter-spacing:1.4px}.welcome{padding:23px 0 18px}.welcome strong{font-size:18.08px}.welcome p{font-size:12.43px}.status{font-size:11.3px}.mode{padding:17px 14px;gap:11px}.mode svg{width:25px;height:25px}.mode b{font-size:15.82px}.mode small{font-size:10.17px}.mode em{font-size:13.56px}.menu-head{margin-top:29px}.menu-head h2{font-size:21.47px}.tabs{gap:26px;margin-top:10px}.tabs button{font-size:13.56px}.menu{grid-template-columns:1fr}.product{padding:21px 0}.thumb{width:87px;height:102px}.info h3{font-size:18.08px}.cart{bottom:max(14px,env(safe-area-inset-bottom))}.cart strong{font-size:20.34px}.cart button{padding:13px 17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.cart:has(button:disabled){display:none}.hero{min-height:245px}.hero h2{margin-top:0}.hero-art{height:260px}.welcome{padding:23px 0 18px}.menu-head{margin-top:28px}#summary-items button{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:4px;background:var(--tint);margin-left:8px}dialog{max-height:85dvh;overflow:auto;overscroll-behavior:contain}@media(max-width:650px){.hero{min-height:205px}.hero-art{height:205px;right:-33px}.hero h2{font-size:31.64px;margin:0 0 16px}.welcome{padding:20px 0 16px}.menu-head{margin-top:25px}.mode{padding:15px 12px}.thumb{height:94px}.product{padding:18px 0}.hero p{max-width:160px;line-height:1.8}}
/* Smaller type and more breathing room — 2026-09-17 revision. */
h1{font-size:18.08px;font-weight:500;letter-spacing:2.5px}
.hero h2{font-size:38.42px;font-weight:400;line-height:1.65;letter-spacing:3px}
.welcome strong{font-size:15.82px;font-weight:400}.welcome p{font-size:12.43px;margin-top:10px}
.welcome{padding:30px 0 24px}.mode b{font-size:14.69px;font-weight:400}.mode{padding:24px}
.menu-head{margin-top:40px}.menu-head h2{font-size:18.08px;font-weight:400}
.tabs{gap:32px;margin-top:20px}.tabs button{font-size:13.56px;padding:16px 0}
.product{padding:30px 0;gap:22px}.info h3{font-size:15.82px;font-weight:400;margin-bottom:10px}
.info p{font-size:12.43px;line-height:1.8}.price{font-size:18.08px}.price-line{margin-top:20px}
.add{font-size:23.73px}.brand small{font-size:9.04px}dialog h2{font-size:21.47px}
@media(max-width:650px){
.wrap{padding-left:26px;padding-right:26px}header{padding:28px 0}
h1{font-size:15.82px;letter-spacing:2px}.brand{gap:10px}.brand small{font-size:7.91px;letter-spacing:1px;margin-top:7px}
.seal{width:33px;height:33px;font-size:11.3px;line-height:12px}.order{font-size:11.3px;padding:10px 12px}
.hero{min-height:222px;padding:30px 24px}.hero h2{font-size:25.99px;line-height:1.7;font-weight:400;letter-spacing:2px;margin:0 0 22px}
.hero p{font-size:10.17px;letter-spacing:.7px;max-width:155px}.hero-art{height:184px;width:190px;right:-28px;bottom:-12px}
.welcome{padding:28px 0 23px}.welcome strong{font-size:14.69px;font-weight:400}.welcome p{font-size:11.3px;margin-top:10px}.status{font-size:10.17px}
.modes{gap:14px}.mode{padding:20px 12px;gap:10px}.mode b{font-size:13.56px;font-weight:400}.mode small{font-size:10.17px;margin-top:7px}.mode svg{width:22px;height:22px}
.menu-head{margin-top:36px}.menu-head h2{font-size:16.95px;font-weight:400}.menu-head small{font-size:9.04px}
.tabs{gap:26px;margin-top:19px}.tabs button{font-size:12.43px;padding:16px 0}
.product{padding:27px 0;gap:21px}.thumb{width:76px;height:88px}.thumb svg{width:55px;height:76px}
.info h3{font-size:14.69px;font-weight:400;margin-bottom:9px}.info p{font-size:11.3px;line-height:1.8}.price{font-size:16.95px}.price small{font-size:11.3px}
.price-line{margin-top:16px}.add{font-size:22.6px;width:44px;height:44px;background:transparent;color:var(--olive);border:1px solid #af927a}
.footnote{font-size:10.17px;margin:36px 0}.preview{font-size:10.17px;line-height:1.8}
}


/* Further typography reduction requested by the user. */
@media(max-width:650px){
h1{font-size:14.69px}.hero h2{font-size:22.6px;line-height:1.8}
.welcome strong{font-size:13.56px}.mode b{font-size:12.43px}
.menu-head h2{font-size:14.69px}.tabs button{font-size:11.3px}
.info h3{font-size:13.56px}.price{font-size:14.69px}
}

@media(max-width:650px){
h1{font-size:13.56px}.hero h2{font-size:20.34px}.welcome strong{font-size:12.43px}.menu-head h2{font-size:13.56px}.info h3{font-size:12.43px}.price{font-size:13.56px}
}
#picker{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,520px);max-width:100%;max-height:88dvh;border-radius:18px 18px 0 0;padding:16px 24px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
#picker[open]{animation:sheet-in .24s ease-out}
#picker:before{content:'';display:block;width:32px;height:3px;background:#d9dcd1;border-radius:4px;margin:0 auto 20px}
#picker h2{font-size:18.08px;font-weight:400;margin-top:4px}#picker p{font-size:11.3px}
#picker legend{font-size:12.43px}#picker fieldset{margin:22px 0}#picker .choices span{font-size:12.43px;padding:14px 8px}
#picker .close{width:44px;height:44px;font-size:20.34px;background:none;margin-top:-10px}
#picker .confirm{font-size:13.56px;position:sticky;bottom:0;min-height:48px}
@keyframes sheet-in{from{transform:translateY(100%);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#picker[open]{animation:none}}

#product-picker{
  position:fixed;
  inset:auto 0 0;
  margin:0 auto;
  border:0;
  border-radius:16px 16px 0 0;
  padding:0;
  background:#fff;
  color:#1f1c19;
  width:min(580px,100%);
  max-width:100%;
  max-height:88dvh;
  overflow:hidden;
}
#product-picker[open]{animation:sheet-up .2s ease-out}
#product-picker::backdrop{background:#1f1c1966}
#pick-form{display:flex;flex-direction:column;max-height:88dvh}
.pick-heading{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px 12px;
}
.pick-heading h2{font-size:22.6px;line-height:1.35;margin:0;font-weight:600}
.pick-heading p{font-size:14.69px;color:#8a847c;line-height:1.6;margin:8px 0 0}
#pick-cancel{
  border:0;
  background:none;
  color:#8a847c;
  font-size:31.64px;
  width:44px;
  height:44px;
  flex-shrink:0;
  cursor:pointer;
}
#pick-options{overflow-y:auto;padding:0 24px 24px}
#pick-options fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}
#pick-options legend{font-size:14.69px;color:#8a847c;margin-bottom:12px}
.pick-choices{display:flex;flex-wrap:wrap;gap:8px}
.pick-chip{position:relative;cursor:pointer}
.pick-chip input{position:absolute;opacity:0;width:1px;height:1px}
.pick-chip span{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:8px 14px;
  border:1px solid #e8e4dc;
  background:#fff;
}
.pick-chip b{font-size:15.82px;font-weight:500}
.pick-chip small{font-size:12.43px;color:#8a847c;white-space:nowrap}
.pick-chip input:checked+span{
  border-color:#1f1c19;
  background:#1f1c19;
  color:#fff;
}
.pick-chip input:checked+span small{color:#c4b8ae}
.pick-chip input:focus-visible+span{outline:2px solid #6b4a32;outline-offset:2px}
.pick-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 24px max(20px,env(safe-area-inset-bottom));
  background:#1f1c19;
  color:#fff;
}
.pick-bottom>div{min-width:0}
#pick-summary{font-size:13.56px;color:#c4b8ae;margin:0 0 6px;line-height:1.5}
.pick-total{font-size:18.08px}
.pick-total strong{
  font:24px/1 inherit;
  font-variant-numeric:tabular-nums;
}
.pick-bottom button{
  border:0;
  background:#6b4a32;
  color:#fff;
  padding:14px 20px;
  font:inherit;
  white-space:nowrap;
  cursor:pointer;
}
@keyframes sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){
  #product-picker[open]{animation:none}
}
@media (max-width:400px){
  .page{padding-left:18px;padding-right:18px}
  .pick-heading{padding:22px 18px 12px}
  #pick-options{padding:0 18px 20px}
  .pick-bottom{padding-left:18px;padding-right:18px}
}
body:has(#product-picker[open]){overflow:hidden}

[hidden]{display:none!important}.tabs button.active{border-color:var(--olive);color:var(--ink)}
#menu{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.product-open{display:flex;align-items:center;gap:20px;border:0;border-bottom:1px solid var(--line);background:none;width:100%;text-align:left;padding:27px 0;font:inherit}.product-open:disabled{opacity:.45;cursor:default}
.meta{flex:1;min-width:0}.name{display:block;font-size:14.69px;font-weight:400}.name small{display:block;margin-top:10px;color:var(--muted);font-size:11.3px;line-height:1.8}.price-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:8px}.price{font-size:15.82px}.plus{width:44px;height:44px;display:grid;place-items:center;border:1px solid #af927a;border-radius:50%;color:var(--olive);font-size:22.6px;flex:none}.art{width:76px;height:88px;flex:none;border-radius:5px;overflow:hidden;background:var(--tint)}.art img{width:100%;height:100%;object-fit:cover}.no-photo{color:var(--olive);font-size:11.3px;letter-spacing:2px;display:grid;place-items:center;background:#eee2d4}
footer.empty{display:none}.cart{margin:0}.cart:has(button:disabled){display:flex}.cart small{font-size:11.3px}#cart-review{padding:8px 0;background:none;color:white;text-align:left;font-size:12.43px;min-height:44px}.cart b{font-size:15.82px;font-weight:400}#count{font-style:normal}.history-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:28px 0}.history-head h2{font-size:18.08px;font-weight:400;flex:1;margin:0}.history-head button{min-height:44px;border:0;background:none;font-size:12.43px}#history-sync{font-size:11.3px;color:var(--muted)}.history-item{border-top:1px solid var(--line);padding:22px 0}.history-item h3{font-size:21.47px;font-weight:400;margin:0 0 12px}.history-item p,.history-item .items{font-size:12.43px;line-height:1.9}.history-item .items{color:var(--muted)}
#product-picker{width:min(440px,100%);max-height:70dvh;border-radius:14px 14px 0 0;color:var(--ink)}#pick-form{max-height:70dvh}#product-picker:before{content:'';display:block;flex:none;width:28px;height:3px;border-radius:3px;background:var(--line);margin:10px auto 0}
.pick-heading{padding:10px 20px 0;gap:12px}.pick-heading h2{font-size:14.69px;font-weight:400;line-height:1.6}.pick-heading p{font-size:11.3px;margin:4px 0 0}.pick-heading>div{padding-top:8px}#pick-cancel{font-size:21.47px}#pick-options{padding:0 20px 14px;overscroll-behavior:contain}#pick-options fieldset{margin:13px 0 0}#pick-options legend{font-size:11.3px;margin-bottom:7px;color:var(--muted)}.pick-choices{gap:7px}.pick-chip{flex:1;min-width:80px}.pick-chip span{padding:6px 10px;min-height:36px;border-radius:4px;justify-content:center;gap:6px}.pick-chip b{font-size:11.3px;font-weight:400}.pick-chip small{font-size:10.17px}.pick-chip input:checked+span{background:var(--tint);color:var(--ink);border-color:#af927a}.pick-chip input:checked+span small{color:var(--muted)}.pick-chip input:focus-visible+span{outline-color:var(--olive)}
.pick-bottom{padding:10px 20px max(14px,env(safe-area-inset-bottom));background:white;color:var(--ink);border-top:1px solid var(--line);gap:10px;flex:none}#pick-summary{font-size:10.17px;color:var(--muted);margin-bottom:4px}.pick-total,.pick-total strong{font-size:14.69px;font-weight:400}.pick-bottom button{font-size:12.43px;min-height:42px;padding:10px 16px;background:var(--olive);border-radius:4px}
#cart-dialog{width:min(440px,calc(100% - 24px));padding:20px;max-height:75dvh;overflow:auto}#cart-dialog h2{font-size:16.95px}#cart-items article{padding:14px 0;border-bottom:1px solid var(--line);font-size:12.43px;line-height:1.8}#cart-items p{margin:4px 0;font-size:11.3px}#cart-items button{min-width:44px;min-height:36px;background:var(--tint);border:1px solid var(--line);border-radius:4px;font-size:11.3px}#cart-total{font-size:14.69px}.inline-message{font-size:12.43px;line-height:1.8;color:var(--muted)}#retry-menu{font-size:12.43px;min-height:44px;background:none;border:1px solid var(--line);border-radius:4px;padding:8px 16px}
@media(max-width:650px){#menu{grid-template-columns:1fr}.name{font-size:12.43px}.price{font-size:13.56px}.product-open{gap:20px}.cart{padding:10px 12px 10px 18px}.cart button{font-size:12.43px}.history-head{gap:8px}}

/* Readable type with a tighter vertical rhythm. */
header{padding:22px 0}.hero{min-height:220px}.welcome{padding:22px 0 18px}.menu-head{margin-top:26px}.tabs{margin-top:12px}.product-open{padding:20px 0}.name{font-size:15.82px}.name small{font-size:12.43px;margin-top:7px}.price-row{margin-top:10px}.price{font-size:16.95px}
.pick-heading h2{font-size:15.82px}.pick-heading p{font-size:12.43px}#pick-options legend{font-size:12.43px}.pick-chip b{font-size:13.56px}.pick-chip small{font-size:11.3px}#pick-summary{font-size:11.3px}.pick-total,.pick-total strong{font-size:16.95px}.pick-bottom button{font-size:13.56px}
@media(max-width:650px){
.wrap{padding-left:22px;padding-right:22px}header{padding:20px 0}h1{font-size:15.82px}.brand small{font-size:9.04px}.order{font-size:12.43px}
.hero{min-height:186px;padding:23px}.hero h2{font-size:24.86px;line-height:1.6;margin-bottom:14px}.hero p{font-size:11.3px}.hero-art{height:174px}
.welcome{padding:20px 0 16px}.welcome strong{font-size:14.69px}.welcome p{font-size:12.43px;margin-top:7px}.status{font-size:11.3px}
.mode{padding:15px 12px}.mode b{font-size:14.69px}.mode small{font-size:11.3px;margin-top:5px}.modes{gap:12px}
.menu-head{margin-top:25px}.menu-head h2{font-size:15.82px}.tabs{margin-top:10px;gap:26px}.tabs button{font-size:13.56px;padding:13px 0}
.product-open{padding:19px 0;gap:17px}.name{font-size:15.82px}.name small{font-size:12.43px;margin-top:7px}.price{font-size:16.95px}.price-row{margin-top:8px}.art{height:84px}
.cart button,#cart-review{font-size:13.56px}.cart b{font-size:16.95px}.footnote{margin:24px 0}
}

/* Warm coffee palette. */
.hero{background:#e7d8c4}.no-photo{color:#8b654b;background:#eee2d4}.pick-chip input:checked+span{border-color:#af927a}.plus{border-color:#af927a}#product-picker::backdrop,dialog::backdrop{background:#35231666}.mode.on{background:#eadac8;border-color:#b09279}
