:root{--forest:#123b2a;--forest-2:#1b5239;--leaf:#2f7d4f;--mint:#e7f3e6;--mint-2:#f3f8ef;--cream:#fbf8f1;--orange:#ee6a1f;--orange-d:#d2560f;--marigold:#f7a823;--ink:#1c2a23;--muted:#5d6d64;--line:#e3e7dc;--white:#fff;--r:20px;--shadow:0 14px 34px -18px rgba(18,59,42,.35);--display:'Fraunces',Georgia,serif;--body:'Manrope',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;background:var(--cream);color:var(--ink);font:500 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}a{color:inherit}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;letter-spacing:-.015em;color:var(--forest);margin:0 0 .5em}
h1{font-size:clamp(2.1rem,4.6vw,3.3rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--marigold);outline-offset:2px;border-radius:6px}
.wrap{max-width:1200px;margin:auto;padding:0 20px}.narrow{max-width:460px;padding-top:56px;padding-bottom:56px}.narrow-l{max-width:760px;padding-top:32px;padding-bottom:56px}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.preview-bar{background:var(--marigold);color:#3a2600;text-align:center;font-size:.82rem;font-weight:700;padding:6px 14px}
.top{position:sticky;top:0;z-index:40;background:rgba(251,248,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-in{display:flex;align-items:center;gap:26px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--leaf)}.logo span{display:flex;flex-direction:column;line-height:1.05}.logo b{font:700 1.45rem var(--display);color:var(--forest)}.logo small{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}
.nav{display:flex;gap:24px;margin-left:14px}.nav a{text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a.on{color:var(--orange-d);border-color:var(--orange)}
.top-act{margin-left:auto;display:flex;align-items:center;gap:12px}.ghost{text-decoration:none;font-weight:600;font-size:.95rem}
.cart-btn{display:inline-flex;align-items:center;gap:8px;background:var(--forest);color:#fff;border:0;border-radius:99px;padding:10px 16px;font:700 .92rem var(--body);cursor:pointer}.cart-btn b{background:var(--marigold);color:#2e1e00;border-radius:99px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:.76rem;padding:0 5px}.cart-btn:hover{background:var(--forest-2)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;padding:9px}.burger i{display:block;height:2px;background:var(--forest);margin:6px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;border-radius:99px;padding:13px 26px;font:700 .98rem var(--body);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.wide{width:100%}
.btn-o{background:var(--orange);color:#fff}.btn-o:hover{background:var(--orange-d)}.btn-g{background:var(--forest);color:#fff}.btn-g:hover{background:var(--forest-2)}.btn-line{border-color:rgba(255,255,255,.55);color:#fff}.btn-line:hover{background:rgba(255,255,255,.1)}.btn-line-d{border-color:var(--forest);color:var(--forest);background:transparent}.btn-line-d:hover{background:var(--mint)}
.link{background:none;border:0;color:var(--orange-d);font:700 .92rem var(--body);cursor:pointer;padding:8px 0;text-decoration:underline}
.hero{background:radial-gradient(1000px 500px at 85% -10%,#2a6b48 0,transparent 65%),var(--forest);color:#eef6ea;overflow:hidden}.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:72px}
.hero h1{color:#fff;font-size:clamp(2.7rem,6.2vw,5rem);font-weight:600;margin-bottom:.35em}.hero h1 em{font-style:italic;color:var(--marigold)}.lead{font-size:1.14rem;max-width:34em;color:#d8e7d9}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#cfe5cc;margin-bottom:18px}
.hero-c{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.hero-p{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:26px 0 0;font-size:.9rem;font-weight:600;color:#cfe5cc}.hero-p li::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--marigold);margin-right:8px;vertical-align:2px}
.hero-v{position:relative;display:flex;justify-content:center}.hero-blob{width:min(490px,100%);aspect-ratio:1;overflow:hidden;border-radius:58% 42% 46% 54%/48% 56% 44% 52%;border:7px solid rgba(255,255,255,.12);box-shadow:0 30px 70px -20px rgba(0,0,0,.55)}.hero-blob img{width:100%;height:100%;object-fit:cover}
.hero-card{position:absolute;left:2%;bottom:7%;background:#fff;color:var(--forest);border-radius:16px;padding:12px 18px;text-decoration:none;box-shadow:var(--shadow);display:flex;flex-direction:column}.hero-card span{font-size:.72rem;color:var(--orange-d);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hero-card b{font:600 1.1rem var(--display)}
.veg{display:inline-grid;place-items:center;width:15px;height:15px;border:1.6px solid #1f8a3c;border-radius:3px;flex:none;background:#fff}.veg::after{content:'';width:7px;height:7px;background:#1f8a3c;border-radius:50%}.veg-b{width:20px;height:20px;margin-right:10px;vertical-align:1px}.veg-b::after{width:10px;height:10px}
.sec{padding:64px 0}.sec-tint{background:var(--mint-2)}.sec-h{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;flex-wrap:wrap}.sec-h h2{margin:0}.kick{display:block;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--orange-d);margin-bottom:8px}.kick-l{color:var(--marigold)}.more{font-weight:700;color:var(--orange-d);text-decoration:none}.more:hover{text-decoration:underline}
.cats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.cat{position:relative;aspect-ratio:1/1.12;border-radius:var(--r);overflow:hidden;text-decoration:none;background:var(--forest-2);display:flex;align-items:flex-end}.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.cat:hover img{transform:scale(1.06)}.cat::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(10,30,20,.82))}.cat span{position:relative;z-index:1;color:#fff;font:600 1.06rem var(--display);padding:14px;line-height:1.2}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px}.card{background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card-img{position:relative;display:block;aspect-ratio:4/3;background:var(--mint);overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}.noimg{height:100%;display:grid;place-items:center;color:#a9cda9;background:linear-gradient(135deg,var(--mint),#fbf1dd)}.tag{position:absolute;left:12px;top:12px;border-radius:99px;padding:3px 11px;font-size:.72rem;font-weight:800}.tag-o{background:var(--orange);color:#fff}.tag-g{background:var(--forest);color:#fff}
.card-b{padding:16px;display:flex;flex-direction:column;flex:1}.card h3{font:600 1.08rem var(--display);display:flex;gap:8px;align-items:baseline;margin-bottom:6px}.card h3 .veg{align-self:center}.card h3 a{text-decoration:none}.card p{font-size:.88rem;color:var(--muted);margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-f{margin-top:auto;display:flex;align-items:center;justify-content:space-between}
.price{font-weight:800;font-size:1.06rem;color:var(--forest)}.price small{font-weight:600;color:var(--muted);font-size:.74rem}.price.big{font-size:1.7rem}.add{background:var(--mint);color:var(--forest);border:1.5px solid #c5dec3;border-radius:99px;padding:7px 22px;font:800 .88rem var(--body);cursor:pointer;transition:.15s}.add:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.sold{color:var(--muted);font-size:.85rem;font-weight:700}
.story{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.story-img{border-radius:28px;overflow:hidden;aspect-ratio:4/3}.story-img img{width:100%;height:100%;object-fit:cover}
.band{background:linear-gradient(115deg,var(--forest),#1f5f40);color:#dcebdb;padding:52px 0}.band h2{color:#fff}.band-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}.band-in p{margin:0;max-width:38em}
.visit{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.addr{font-size:1.14rem}.hours{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}.hours h3{font-size:1.25rem}.row{display:flex;justify-content:space-between;gap:14px;padding:6px 0}.row.today{font-weight:800;color:var(--orange-d)}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}blockquote{margin:0;background:#fff;padding:22px;border-radius:var(--r);border:1px solid var(--line)}cite{font-style:normal;font-weight:800;font-size:.9rem;color:var(--forest)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.gallery img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;width:100%}
.foot{background:#0c2a1e;color:#b7ccb9;padding:52px 0 24px;font-size:.92rem}.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1fr;gap:32px}.foot h4{color:#fff;margin:0 0 12px;font-size:.92rem}.foot a{display:block;text-decoration:none;padding:3px 0}.foot a:hover{color:var(--marigold)}.foot-brand{font:700 1.7rem var(--display);color:#fff;margin-bottom:6px}.veg-note{display:flex;gap:8px;align-items:center;font-weight:700;color:#e3efe2}.foot-end{border-top:1px solid #234a38;margin-top:36px;padding-top:18px;font-size:.82rem}
.page-h{background:var(--forest);color:#d8e7d9;padding:48px 0}.page-h h1{color:#fff}.page-h p{margin:0;max-width:40em}
.menu-bar{position:sticky;top:72px;z-index:30;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 0}.menu-bar-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.search input{width:260px;max-width:100%}.check{display:flex;align-items:center;gap:7px;font-weight:700;font-size:.9rem;cursor:pointer;margin:0}.check input{width:auto;accent-color:var(--orange);margin:0}.pills{display:flex;gap:7px;overflow-x:auto;flex:1;min-width:100%;scrollbar-width:none}.pills a{white-space:nowrap;text-decoration:none;font-size:.84rem;font-weight:700;padding:6px 14px;border-radius:99px;background:#fff;border:1px solid var(--line)}.pills a.on,.pills a:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.menu-wrap{padding-top:32px;padding-bottom:64px}.menu-sec{margin-bottom:44px}.empty{text-align:center;color:var(--muted);padding:40px}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:40px;padding-bottom:64px;align-items:start}.detail-img{border-radius:28px;overflow:hidden;background:var(--mint);aspect-ratio:4/3}.detail-img img{width:100%;height:100%;object-fit:cover}.back{display:inline-block;margin-bottom:14px}.back::before{content:'← '}.facts{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.facts li{background:var(--mint);border-radius:99px;padding:4px 14px;font-size:.85rem;font-weight:700;color:var(--forest)}.lead-d{font-size:1.1rem;color:var(--muted)}
label{display:block;font-size:.86rem;font-weight:700;margin-bottom:12px;color:var(--forest)}input,textarea,select{width:100%;margin-top:5px;padding:11px 14px;border-radius:12px;border:1.5px solid #d6dccd;background:#fff;font:500 1rem var(--body);color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 3px rgba(47,125,79,.15)}.search input{margin:0;border-radius:99px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-bottom:18px}.panel h2{font-size:1.28rem}.auth h1{font-size:1.9rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.phone{display:flex;align-items:center;gap:8px}.phone span{font-weight:800;margin-top:5px}.code{letter-spacing:.42em;text-align:center;font-size:1.3rem;font-weight:800}.err{color:#b42318;font-weight:600;font-size:.92rem;margin-top:10px}.ok{color:var(--leaf);font-weight:700;margin-top:10px}.notice{background:#fff3df;border:1px solid #f3d29b;padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:600}.hp{position:absolute;left:-9999px}
.checkout{padding-top:32px;padding-bottom:64px}.co-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}.summary{position:sticky;top:90px}
.seg{display:flex;background:var(--mint-2);border-radius:99px;padding:4px;margin-bottom:16px}.seg label{flex:1;margin:0;cursor:pointer}.seg input{position:absolute;opacity:0;width:0}.seg span{display:block;text-align:center;padding:9px;border-radius:99px;font-weight:700}.seg input:checked+span{background:var(--forest);color:#fff}.seg input:focus-visible+span{outline:3px solid var(--marigold)}
.addr-list,.pay-list{display:grid;gap:8px;margin-bottom:12px}.opt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:12px;margin:0;cursor:pointer;font-weight:500;color:var(--ink)}.opt input{width:auto;margin:4px 0 0;accent-color:var(--orange)}.opt:has(input:checked){border-color:var(--leaf);background:var(--mint-2)}.addr-form{margin-top:10px}
.sum-line{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.92rem}.sum-line small{display:block;color:var(--muted)}.coupon{display:flex;gap:8px;margin:14px 0 4px}.coupon input{margin:0}.coupon .btn{padding:8px 16px}.row.total{border-top:1.5px dashed var(--line);margin-top:8px;padding-top:12px;font-weight:800;font-size:1.15rem;color:var(--forest)}#sumTotals{margin:12px 0 16px}
.scrim{position:fixed;inset:0;background:rgba(10,30,20,.45);z-index:50}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--cream);z-index:60;transform:translateX(102%);transition:transform .25s;display:flex;flex-direction:column;visibility:hidden}.drawer.open{transform:none;visibility:visible}.drawer-h{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.drawer-h h3{margin:0}.x{background:none;border:0;font-size:1.8rem;cursor:pointer;line-height:1;color:var(--forest)}.drawer-b{flex:1;overflow:auto;padding:14px 20px}.drawer-f{border-top:1px solid var(--line);padding:16px 20px;background:#fff}.drawer-f small{display:block;color:var(--muted);margin-bottom:12px}
.ci{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.ci img,.ci .ph{width:60px;height:60px;border-radius:12px;object-fit:cover;background:var(--mint)}.ci b{display:block;font-size:.94rem;line-height:1.25}.ci small{color:var(--muted);display:block}.qty{display:inline-flex;align-items:center;border:1.5px solid #c5dec3;border-radius:99px;overflow:hidden;background:#fff}.qty button{border:0;background:none;width:30px;height:30px;font-weight:800;cursor:pointer;color:var(--forest);font-size:1rem}.qty span{min-width:20px;text-align:center;font-weight:800;font-size:.88rem}
.modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:rgba(10,30,20,.5)}.modal[hidden]{display:none}.modal-c{background:#fff;border-radius:var(--r);padding:24px;width:min(430px,100%);max-height:88vh;overflow:auto}.modal-c h3{font-size:1.35rem}.modal-c fieldset{border:0;padding:0;margin:0 0 14px}.modal-c legend{font-weight:800;margin-bottom:8px;color:var(--forest)}.opt-sp{margin-left:auto;font-weight:700}.modal-f{display:flex;gap:10px}.modal-f .btn{flex:1;padding:11px}
.cart-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:flex;justify-content:space-between;background:var(--forest);color:#fff;border:0;border-radius:16px;padding:14px 18px;font:700 .95rem var(--body);box-shadow:var(--shadow);cursor:pointer}.cart-bar[hidden]{display:none}
.steps{list-style:none;display:flex;padding:0;margin:22px 0;gap:4px}.steps li{flex:1;font-size:.76rem;font-weight:700;color:var(--muted);text-align:center;border-top:4px solid var(--line);padding-top:8px}.steps li.done{border-color:var(--leaf);color:var(--leaf)}.steps li.now{border-color:var(--orange);color:var(--orange-d)}
.order-h{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.order-h h1{font-size:1.7rem;margin:0 0 4px}.acct .order-h{margin-bottom:18px}.status{padding:4px 12px;border-radius:99px;font-size:.78rem;font-weight:800;background:var(--mint);color:var(--forest);white-space:nowrap}.s-cancelled,.s-rejected{background:#fde8e6;color:#b42318}.s-placed{background:#fff3df;color:#8a5200}
.lines{width:100%;border-collapse:collapse;margin-bottom:14px}.lines td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.94rem}.lines small{display:block;color:var(--muted)}.r{text-align:right;white-space:nowrap}.order-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.order-row small{display:block;color:var(--muted)}.order-row:hover b:first-child{color:var(--orange-d)}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.prose h2{font-size:1.3rem;margin-top:1.4em}
@media(max-width:940px){.hero-in,.story,.detail,.visit,.co-grid,.contact{grid-template-columns:1fr}.hero-in{padding-top:36px;padding-bottom:48px}.summary{position:static}.foot-grid{grid-template-columns:1fr 1fr}
.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);flex-direction:column;gap:0;margin:0;padding:8px 20px 16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.nav.open{display:flex}.burger{display:block}.cart-btn span{display:none}.ghost{font-size:.88rem}}
@media(max-width:560px){.wrap{padding-left:16px;padding-right:16px}.two{grid-template-columns:1fr}.sec{padding:44px 0}.grid{grid-template-columns:1fr 1fr;gap:12px}.card p{display:none}.card-b{padding:12px}.card h3{font-size:.96rem}.add{padding:6px 14px}.foot-grid{grid-template-columns:1fr}.top-in{gap:8px;height:64px}.logo small{display:none}.nav{top:64px}.menu-bar{top:64px}.search{flex:1}.search input{width:100%}.hero-card{left:0}.steps li{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
