@font-face{font-family:Fraunces;src:url(/fonts/fraunces-latin-400-normal.woff2)}
@font-face{font-family:Fraunces;src:url(/fonts/fraunces-latin-400-italic.woff2);font-style:italic}
@font-face{font-family:DM;src:url(/fonts/dm-sans-latin-400-normal.woff2)}
@font-face{font-family:DM;src:url(/fonts/dm-sans-latin-600-normal.woff2);font-weight:600}
:root{--cream:#f7f3e8;--paper:#fcfaf4;--ink:#543c2f;--green:#4d673a;--line:#ded6c1;--muted:#786455}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px DM,system-ui,sans-serif}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{display:block;width:100%;object-fit:cover}button,input,select{font:inherit;color:inherit}
button{cursor:pointer}button:disabled{opacity:.55;cursor:default}fieldset{min-width:0;border:0;padding:0;margin:0}legend{padding:0}
h1,h2,h3{font:400 1em Fraunces,Georgia,serif;margin:0}h1{font-size:clamp(2.9rem,6vw,4.6rem);line-height:1.08}h2{font-size:clamp(2.3rem,5vw,3rem)}h3{font-size:1.4rem}em,.subtitle{color:var(--green);font-family:Fraunces,Georgia,serif;font-style:italic}
header{display:flex;align-items:center;justify-content:space-between;padding:10px max(2vw,14px);min-height:74px;border-bottom:1px solid var(--line);gap:12px}header img,footer img{width:106px;object-fit:contain}nav{display:flex;gap:14px;align-items:center;font-size:.9rem}
.wrap{width:min(1104px,calc(100% - 32px));margin-inline:auto}.wide{width:min(1300px,calc(100% - 68px));margin-inline:auto}.hero,.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.hero{gap:32px;align-items:center;padding:55px 0}.hero>img{aspect-ratio:1.08;border-radius:25px;box-shadow:0 16px 35px #543c2f24}.hero .logo{width:min(295px,80%);margin-bottom:24px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.pill{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;border:1px solid var(--green);border-radius:100px;padding:13px 21px;font-weight:600}.pill.outline{background:transparent;color:var(--ink);border-color:var(--line)}.pill.small{padding:8px 14px}.actions .pill{padding:16px 27px}
.center{text-align:center}.section{padding:52px 0}.subtitle{font-size:1.3rem;margin:5px 0 20px}.section h2{margin-bottom:4px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden}.panel{padding:16px}.card img{aspect-ratio:1.58}.card span,.card strong{display:block;padding:0 11px}.card strong{font-family:Fraunces,Georgia,serif;font-weight:400;margin-top:8px}.card small{display:block;color:var(--muted);padding:3px 11px 12px}.gallery{margin:20px 0}.gallery img{border-radius:22px;aspect-ratio:1.6}.values{padding:24px;text-align:center;background:#e9e9d9}footer{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center;padding:26px;border-top:1px solid var(--line);color:var(--muted);font-size:.87rem}
.order-title{font-size:3.25rem;margin-top:26px}.order-title+.subtitle{font-size:1.75rem}.step{display:inline-grid;place-items:center;background:var(--green);color:white;border-radius:50%;width:28px;height:28px;font:600 .9rem DM;margin-right:8px;vertical-align:middle}.setup h3{margin-bottom:14px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0}.choice:has(input:checked){outline:2px solid var(--green);outline-offset:-2px;background:white}.choice:focus-within{outline:2px solid var(--green)}.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:99px;background:#ede6d5;margin-bottom:14px}.seg label{text-align:center;border-radius:99px;padding:10px;font-weight:600}.seg label:has(input:checked){outline:none;color:var(--green)}
.field{display:block;font-size:.78rem;font-weight:600;letter-spacing:.04em;margin:10px 0 12px}.field input,.field select{display:block;width:100%;padding:10px 12px;margin-top:5px;border:1px solid var(--line);border-radius:12px;background:white;font-size:1rem;letter-spacing:0}.field[hidden]{display:none}
.chips{display:flex;gap:8px;overflow:auto;position:sticky;top:0;z-index:1;padding:10px 0;background:var(--cream);border-block:1px solid var(--line)}.chips a{flex:none;border:1px solid var(--line);border-radius:99px;background:var(--paper);padding:8px 13px;font-size:.9rem}.chips a:first-child{background:var(--green);color:white}
.catalog section{scroll-margin-top:60px;margin:24px 0}.catalog h3{margin-bottom:12px}.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dish{display:flex;align-items:center;gap:8px;padding:7px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.dish .detail{display:flex;flex:1;align-items:center;gap:10px;text-align:left;border:0;background:none;padding:0;min-width:0}.dish img{width:65px;height:65px;border-radius:10px}.dish small{display:block;color:var(--muted);margin:2px 0}.plus{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:var(--green);color:white;font-size:1.3rem}
.checkout{max-width:650px;margin:32px auto}.line,.amount{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.line small{display:block}.controls{display:flex;gap:6px;align-items:center}.controls button{border:1px solid var(--line);border-radius:99px;background:white;min-width:30px;min-height:30px}.note{color:var(--muted);font-size:.87rem}.skip{position:absolute;left:8px;top:-80px}.skip:focus{top:8px;background:white;padding:8px;z-index:3}
dialog{width:min(450px,calc(100% - 24px));max-height:90vh;border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);padding:20px}dialog::backdrop{background:#20160d82}dialog img{max-height:175px;border-radius:12px}dialog fieldset{margin:12px 0}dialog label{display:inline-block;padding:5px 8px}dialog .close{float:right;margin:0 0 10px 10px}.cart-jump{position:fixed;z-index:2;bottom:14px;right:14px;box-shadow:0 3px 16px #0003}
[hidden]{display:none!important}#result{margin:12px 0;overflow-wrap:anywhere}#admin-list article{margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){.hero,.two,.menu-items{grid-template-columns:1fr}.wide{width:calc(100% - 32px)}.hero{padding:30px 0}.hero>img{aspect-ratio:1.35}.section{padding:34px 0}nav{gap:8px}.dish img{width:52px;height:52px}}
.teaser {
  max-width: 1120px;
  margin: auto;
  padding: clamp(28px, 6vw, 70px) 20px 42px;
  text-align: center;
}
.teaser-copy img { display: block; width: min(340px, 68vw); height: auto; margin: 0 auto 18px; }
.teaser-tagline { margin: 0 0 12px; font-family: Fraunces, Georgia, serif; font-size: clamp(19px, 3vw, 34px); }
.teaser-tagline em { white-space: nowrap; }
.teaser h1 { margin: 0; font-size: clamp(54px, 9vw, 120px); line-height: .98; letter-spacing: -.065em; }
.teaser-gallery { position: relative; width: min(100%, 940px); margin: clamp(28px, 5vw, 56px) auto 0; padding: 0 11% 4%; }
.teaser-lounge { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 28px; }
.teaser-food {
  position: absolute;
  width: clamp(68px, 17vw, 155px);
  aspect-ratio: 1;
  object-fit: cover;
  border: clamp(3px, .5vw, 6px) solid #fffaf0;
  border-radius: 22%;
  box-shadow: 0 14px 34px #422b202f;
  animation: teaser-float 6s ease-in-out infinite alternate;
  transform: rotate(var(--tilt));
}
.teaser-toast { left: 1%; top: 6%; --tilt: -12deg; }
.teaser-coffee { right: 1%; top: 3%; --tilt: 13deg; animation-delay: -2s; }
.teaser-waffle { left: 8%; bottom: 0; --tilt: 8deg; animation-delay: -3s; }
.teaser-smoothie { right: 8%; bottom: 0; --tilt: -9deg; animation-delay: -1s; }
@keyframes teaser-float { to { transform: translateY(-9px) rotate(var(--tilt)); } }
@media (prefers-reduced-motion: reduce) { .teaser-food { animation: none; } }
