@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#194c2d;--lime:#c6df89;--soft:#f4f6ef;--muted:#6c7769}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--green);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:12px 5%;position:absolute;z-index:20;top:0;width:100%;border-bottom:1px solid #194c2d14;background:#ffffffd9}.brand img{width:83px;height:78px;object-fit:contain}nav{display:flex;gap:38px;font-size:13px}nav a:hover,.textlink:hover{text-decoration:underline;text-underline-offset:6px}.pill{display:inline-flex;background:var(--green);color:white;padding:16px 24px;border-radius:50px;font-size:13px;gap:28px;align-items:center}.small{padding:13px 20px}.scroll-story{height:510vh}.stage{height:100svh;min-height:680px;max-height:1100px;position:sticky;top:0;overflow:hidden;display:grid;grid-template-columns:30% 45% 25%;align-items:center;padding:105px 5% 85px;background:radial-gradient(ellipse at 54% 52%,#f0f5e8 0%,#fff 60%)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.6}.topnote{position:absolute;top:128px;left:5%;display:flex;align-items:center;gap:11px}.spark{font-size:23px}.intro{z-index:3;margin-top:-10px}h1{font-family:'Manrope',Arial,sans-serif;line-height:1.08;font-size:clamp(46px,5vw,84px);letter-spacing:-4px;font-weight:500;margin:0 0 25px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#709340}p{line-height:1.7}.intro p{font-size:13px;color:var(--muted);margin:0 0 26px}.textlink{font-size:12px;border-bottom:1px solid;padding-bottom:8px;display:inline-flex;gap:25px}.visual{height:100%;position:relative;display:flex;align-items:center;justify-content:center}.orbit{border:1px solid #194c2d15;border-radius:50%;width:118%;aspect-ratio:1;position:absolute}.second{width:143%;border-style:dashed;opacity:.5}.round-label{position:absolute;top:10%;font-size:9px;letter-spacing:3px;transform:rotate(-9deg)}#plates{position:relative;width:110%;aspect-ratio:1;flex-shrink:0;filter:drop-shadow(0 30px 24px #23472026)}.plate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;will-change:transform,opacity;opacity:0}.leaf{position:absolute;display:block;width:65px;height:120px;background:radial-gradient(ellipse at 30% 40%,#89a54c,#3b722d 55%,#194d28);border-radius:4% 90% 6% 90%;box-shadow:inset 2px 1px 8px #a8c479,0 15px 18px #194c2d20;pointer-events:none}.leaf:after{content:"";position:absolute;left:50%;top:5%;height:90%;width:1px;background:#d3e5ac80;transform:rotate(-25deg)}.l1{left:-5%;top:10%;transform:rotate(-38deg);filter:blur(3px);width:50px;height:96px}.l2{right:-12%;bottom:4%;transform:rotate(65deg);filter:blur(6px);width:110px;height:170px}.l3{left:-15%;bottom:0%;transform:rotate(42deg);filter:blur(8px);width:85px;height:130px}.l4{right:0;top:1%;transform:rotate(130deg);filter:blur(1.5px);width:32px;height:70px}.l5{left:15%;bottom:4%;transform:rotate(85deg);filter:blur(2px);width:30px;height:55px}.details{z-index:4;padding-left:32px;max-width:290px;margin-top:65px}.details .eyebrow{font-size:9px;color:#789152;letter-spacing:1.8px}.details h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(26px,2.6vw,42px);letter-spacing:-1.4px;font-weight:500;line-height:1.15;margin:16px 0}.details p{font-size:12px;color:var(--muted);min-height:62px}.price{display:flex;gap:6px;align-items:baseline;margin:15px 0}.price span{font-size:32px;letter-spacing:-1px}.price small{font-size:10px}.tags{display:flex;gap:5px;flex-wrap:wrap;min-height:30px}.tags span{font-size:9px;padding:6px 8px;border:1px solid #194c2d23;border-radius:20px}.arrows{display:flex;gap:18px;align-items:center;margin-top:30px}.arrows button{border:1px solid #194c2d35;border-radius:50%;width:34px;height:34px;background:transparent;color:var(--green)}.arrows button:hover{background:var(--green);color:white}.arrows span{font-size:10px;letter-spacing:1px}.stage-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between}.scrollhint{font-size:8px;letter-spacing:1.6px}.bottomnote{font-size:10px;color:var(--muted)}.dots{display:flex;gap:9px}.dots button{width:27px;height:3px;background:#d7dfd1;border:0;padding:0;position:relative}.dots button:after{content:"";position:absolute;inset:-10px 0}.dots button.active{background:var(--green)}.statement{background:var(--soft);padding:100px 8%;display:grid;grid-template-columns:2fr 1fr;gap:20px}.statement>.eyebrow{grid-column:1/-1}.statement h2{font-size:clamp(40px,5vw,70px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:15px 0}.statement>div{align-self:center;max-width:290px}.statement p{font-size:14px;color:var(--muted)}.mini-flower{font-size:50px;color:#8bac55}.menu{padding:90px 5%}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.sectionhead h2{font-size:36px;font-weight:500;letter-spacing:-1.5px;margin-bottom:0}.menugrid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.foodcard{background:var(--soft);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;border:0;padding:0;text-align:left;color:var(--green)}.foodcard img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .4s}.foodcard:hover img{transform:scale(1.045)}.foodcard .cardtext{padding:18px;flex:1;display:flex;flex-direction:column}.foodcard h3{font-size:16px;line-height:1.3;font-weight:500;margin:0 0 15px}.foodcard p{font-size:12px;margin:auto 0 0}.fine{font-size:10px;color:var(--muted);margin-top:25px}.visit{background:var(--green);color:white;padding:75px 8%;display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.visit h2{font-size:46px;font-weight:400;line-height:1.15;letter-spacing:-1.5px}.visit h3{font-size:23px;font-weight:500}.visit p{font-size:13px;color:#d4dfd1}.light{background:var(--lime);color:var(--green)}.networks{padding-top:16px;font-size:11px!important}footer{padding:28px 5%;display:flex;justify-content:space-between;font-size:11px}footer>span:first-child{font-weight:700}a:focus-visible,button:focus-visible{outline:3px solid #94ba61;outline-offset:6px}
@media(min-width:1700px){.stage{max-height:none}.details{max-width:360px}.details p{font-size:15px}}
@media(max-width:950px){h1{letter-spacing:-2px;font-size:47px}.stage{grid-template-columns:29% 43% 28%;padding-left:4%;padding-right:4%}.details{padding-left:24px}.details h2{font-size:28px}.menugrid{grid-template-columns:repeat(3,1fr)}.bottomnote{display:none}}
@media(max-width:640px){header{height:78px;padding:8px 6%}.brand img{height:61px;width:64px}nav{gap:18px;font-size:11px}nav a:nth-child(2){display:none}.small{font-size:10px;padding:10px 14px;gap:12px}.scroll-story{height:450svh}.stage{min-height:740px;max-height:none;height:100svh;display:block;padding:0 6%;background:radial-gradient(ellipse at 40% 48%,#eff5e7,#fff 65%)}.topnote{top:96px;left:6%;font-size:8px;letter-spacing:1.4px}.spark{font-size:18px}.intro{position:absolute;top:135px;left:6%;margin:0}.intro h1{font-size:43px;line-height:1.06;margin:0;letter-spacing:-2px}.intro h1 br:nth-child(2){display:none}.intro p,.intro .textlink{display:none}.visual{position:absolute;width:67%;height:320px;top:265px;left:-5%}#plates{width:110%}.orbit{width:120%}.round-label{display:none}.details{position:absolute;top:325px;right:6%;width:36%;padding:0;margin:0;max-width:none}.details .eyebrow{font-size:7px;letter-spacing:1px}.details h2{font-size:25px;letter-spacing:-1px;margin:12px 0}.details p{font-size:10px;min-height:60px;line-height:1.5}.price{margin:10px 0}.price span{font-size:26px}.tags span{font-size:7px;padding:4px 6px}.arrows{gap:10px;margin-top:15px}.arrows button{height:29px;width:29px}.arrows span{font-size:8px}.l1{top:5%;left:34%}.l2{right:-25%;bottom:0;width:55px;height:90px}.l3{left:8%;bottom:0}.stage-bottom{bottom:30px;left:6%;right:6%;align-items:start;gap:22px;flex-direction:column}.scrollhint{font-size:7px}.statement{padding:65px 7%;grid-template-columns:1fr;gap:0}.statement h2{font-size:42px}.statement>div{max-width:none;display:flex;align-items:center;gap:25px;margin-top:20px}.statement p{font-size:12px}.menu{padding:60px 6%}.sectionhead{display:block}.sectionhead h2{font-size:31px;margin:12px 0 22px}.sectionhead .eyebrow{font-size:8px}.menugrid{grid-template-columns:repeat(2,1fr);gap:12px}.foodcard h3{font-size:14px}.foodcard .cardtext{padding:14px}.visit{padding:55px 7%;grid-template-columns:1fr;gap:0}.visit h2{font-size:39px;margin-bottom:15px}footer{font-size:9px;gap:15px;flex-wrap:wrap}footer>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.leaf{transform:none!important}}
/* Editorial story and scroll-driven bowl choreography. */
#plates{perspective:1000px}.plate{will-change:transform,opacity;backface-visibility:hidden;transform-origin:50% 50%}.details{position:relative}.detailbody{min-height:240px}.leaf{will-change:translate}.statement .story-copy{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:24px 65px;margin-top:22px;border-top:1px solid #194c2d22;padding-top:28px}.story-copy p{font-size:15px;margin:0;max-width:500px}.story-copy .story-signoff{grid-column:1/-1;max-width:none;font-size:24px;line-height:1.5;color:var(--green);margin-top:15px;letter-spacing:-.5px}.story-signoff em{font-size:32px}.story-chapters{padding:64px 8%;display:grid;grid-template-columns:repeat(3,1fr);gap:7%;border-bottom:1px solid #194c2d15}.story-chapters article>span{font-size:9px;font-weight:700;letter-spacing:2px;color:#789152}.story-chapters h3{font-size:25px;font-weight:500;letter-spacing:-.8px;margin:20px 0 12px}.story-chapters p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:640px){.details{position:absolute}.detailbody{min-height:210px}.statement .story-copy{display:block;padding-top:25px;margin-top:25px}.story-copy p{font-size:13px;margin-bottom:20px}.story-copy .story-signoff{font-size:20px;margin-bottom:0}.story-signoff em{font-size:27px}.story-chapters{padding:45px 7%;grid-template-columns:1fr;gap:32px}.story-chapters h3{font-size:24px;margin:12px 0 8px}}

/* True alpha cutouts: shadows trace the dish, with no image mask or rings. */
#plates{filter:none;width:105%}
.plate{border-radius:0;object-fit:contain;will-change:transform,opacity,filter;padding:3%;background:transparent}
.foodcard img{object-fit:contain;padding:16px;filter:drop-shadow(0 12px 9px #194c2d20)}
.orbit,.round-label{display:none}
@media(max-width:640px){#plates{width:110%}}

.membership{padding:85px 5%;background:var(--soft);scroll-margin-top:20px}
.membership .sectionhead{gap:40px;align-items:center}
.membership-intro{font-size:14px;color:var(--muted);max-width:550px;margin:20px 0 0}
.membership .textlink{white-space:nowrap}
.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.membership-card{padding:34px;background:#fff;border:1px solid #194c2d16;border-radius:12px;display:flex;flex-direction:column}
.plan-index{font-size:9px;letter-spacing:2px;color:#789152;font-weight:700}
.membership-card h3{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:15px 0 12px}
.membership-card>p{font-size:13px;color:var(--muted);max-width:450px;min-height:46px;margin:0 0 24px}
.membership-card table{width:100%;border-collapse:collapse;font-size:13px;margin-top:auto;font-variant-numeric:tabular-nums}
.membership-card caption{caption-side:bottom;text-align:left;font-size:10px;color:var(--muted);padding-top:12px}
.membership-card th,.membership-card td{padding:14px 8px;border-bottom:1px solid #194c2d14;text-align:right}
.membership-card th:first-child{text-align:left;padding-left:0}
.membership-card thead th{font-size:10px;font-weight:500;color:var(--muted);white-space:nowrap}
.membership-card tbody th{font-weight:400}
.membership-card tbody td{font-weight:600}
.plan-enquire{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-top:1px solid #194c2d16;margin-top:24px;padding-top:20px}
.plan-enquire:hover{text-decoration:underline;text-underline-offset:5px}
.membership-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:10px;color:var(--muted)}
.membership-footnote a{color:var(--green);white-space:nowrap;margin-left:10px}
@media(max-width:850px){.membership-card{padding:25px}.membership-card h3{font-size:23px}header nav{gap:20px}}
@media(max-width:640px){.membership{padding:55px 6%}.membership-grid{grid-template-columns:1fr;gap:18px}.membership .sectionhead{display:block}.membership-intro{font-size:13px;margin:0 0 24px}.membership-card>p{min-height:0}.membership-footnote{display:block;line-height:1.8}.membership-footnote a{display:block;margin-left:0}.membership-card th,.membership-card td{padding:13px 5px}header nav{gap:14px}header nav a[href="#visit"]{display:none}}

.store-network{align-self:center}.store-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.store-list li{font-size:25px;letter-spacing:-.5px;border-bottom:1px solid #ffffff30;padding-bottom:18px}.store-list span{display:block;margin-top:8px;font-size:10px;letter-spacing:1.5px;color:#d4dfd1}@media(max-width:640px){.store-network{margin-top:25px}.store-list{gap:24px}.store-list li{font-size:23px}}

/* Horizontally scrollable menu with touch, keyboard and mouse controls. */
.menugrid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/5);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;padding:5px 0 20px;scrollbar-width:thin;scrollbar-color:#799260 #edf1e8;cursor:grab}
.menugrid .foodcard{scroll-snap-align:start;min-width:0;user-select:none}
.menugrid .foodcard img{height:auto;aspect-ratio:1;pointer-events:none}
.menugrid .foodcard h3{min-height:42px}
.menugrid.dragging{scroll-snap-type:none;cursor:grabbing}
.menugrid.dragging *{cursor:grabbing}
.menu-slider-controls{display:flex;align-items:center;justify-content:space-between;margin:-10px 0 16px}
.menu-slider-controls>span{font-size:10px;letter-spacing:.8px;color:var(--muted)}
.menu-slider-controls>div{display:flex;gap:10px}
.menu-slider-controls button{height:40px;width:40px;border-radius:50%;background:#fff;border:1px solid #194c2d50;color:var(--green);font-size:19px}
.menu-slider-controls button:hover:not(:disabled){color:#fff;background:var(--green)}
.menu-slider-controls button:disabled{opacity:.3;cursor:default}
@media(max-width:1100px){.menugrid{grid-template-columns:none;grid-auto-columns:calc((100% - 54px)/4)}}
@media(max-width:850px){.menugrid{grid-template-columns:none;grid-auto-columns:calc((100% - 36px)/3)}}
@media(max-width:640px){.menugrid{grid-template-columns:none;grid-auto-columns:72%;gap:14px}.menu-slider-controls{margin-top:0}.menu-slider-controls>span{font-size:9px}.menugrid .foodcard h3{min-height:36px}}

.plan-options{display:flex;flex-direction:column;gap:12px;padding:20px 0;border-top:1px solid #194c2d14;margin-top:auto;font-size:12px;color:var(--green)}
.plan-options span:last-child{font-size:11px;color:var(--muted)}
.menugrid .foodcard{cursor:grab}.menugrid.dragging .foodcard{cursor:grabbing}
.details .detailbody{min-height:195px}
