:root{--green-950:#053f1d;--green-800:#0b5a28;--green-500:#399b35;--ink:#121713;--paper:#fff;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;background:#eef2e9;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden}button,a{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{-webkit-user-select:none;user-select:none}html[data-smooth-scroll=lenis]{scroll-behavior:auto}.hero{isolation:isolate;background:radial-gradient(circle at 51% 42%,#fff 0 32%,#fefefd 53%,#fafbf8 100%);min-height:100svh;position:relative;overflow:hidden}.site-header{z-index:20;justify-content:space-between;align-items:center;padding:clamp(28px,4vw,56px) clamp(28px,4.5vw,72px);display:flex;position:absolute;inset:0 0 auto}.brand{color:var(--green-950);letter-spacing:-.035em;font:800 clamp(24px,2vw,34px)/1 League Spartan,sans-serif;text-decoration:none}.menu-button{cursor:pointer;background:0 0;border:0;gap:6px;width:42px;padding:6px;display:grid}.menu-button span{background:var(--green-950);border-radius:999px;width:100%;height:4px;transition:transform .25s,opacity .2s;display:block}.menu-button.is-open span:first-child{transform:translateY(10px)rotate(45deg)}.menu-button.is-open span:nth-child(2){opacity:0}.menu-button.is-open span:last-child{transform:translateY(-10px)rotate(-45deg)}.hero-content{z-index:5;grid-template-columns:30% 42% 28%;align-items:center;display:grid;position:absolute;inset:13% 2.7% 23%}.intro{align-self:center;padding-bottom:3vh}.intro h1{color:var(--green-950);letter-spacing:-.045em;margin:0;font:800 clamp(48px,4.45vw,72px)/.96 League Spartan,sans-serif}.fold-text{perspective:700px}.fold-text-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fold-text-visual{display:inline}.fold-text-segment{line-height:inherit;perspective:700px;transform-style:preserve-3d;vertical-align:baseline;display:inline-block}.fold-text-piece{line-height:inherit;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden;display:inline-block;position:relative}.fold-text-piece:after{content:"";pointer-events:none;opacity:0;mix-blend-mode:multiply;background:linear-gradient(#00000094,#00000038 42%,#ffffff42);border-radius:.08em;position:absolute;inset:-.08em -.02em}.fold-text.is-folding-in .fold-text-piece{animation:fold-piece-in .65s cubic-bezier(.22, 1, .36, 1) var(--fold-delay) both}.fold-text.is-folding-in .fold-text-piece:after{animation:fold-crease-in .65s cubic-bezier(.22, 1, .36, 1) var(--fold-delay) both}.title-rule{background:var(--green-800);width:70px;height:5px;margin:clamp(28px,4vh,48px) 0 30px;display:block}.intro p,.booking-copy p{margin:0;font-size:clamp(17px,1.45vw,24px);line-height:1.5}.intro p{max-width:390px}.dish-stage{aspect-ratio:1;justify-self:center;width:min(37.8vw,585px);position:relative}.main-dish{z-index:2;object-fit:cover;image-rendering:auto;backface-visibility:hidden;width:96%;height:96%;position:absolute;inset:2%}.dish-stage:after{content:"";z-index:0;opacity:0;pointer-events:none;border-radius:50%;transition:opacity .28s;position:absolute;inset:16% 10% 7%;box-shadow:0 28px 22px #0d291233}.dish-stage.is-hero-animating:after,.dish-stage.is-hero-arrived:after{opacity:1}.main-dish.is-hero-pending{transform:translateY(-145%)}.main-dish.is-hero-entering{will-change:transform;animation:.78s cubic-bezier(.22,1,.36,1) both hero-dish-enter-desktop}@keyframes hero-dish-enter-desktop{0%{transform:translateY(-145%)}to{transform:translate(0,0)}}@keyframes hero-dish-enter-mobile{0%{transform:translate(-135%)}to{transform:translate(0,0)}}.dish-ring{z-index:1;border:1.5px solid #309130cc;border-radius:50%;position:absolute}.dish-ring--outer{inset:-2% 0 2% -1%}.dish-ring--inner{opacity:.55;inset:0 3% 0 -3%}.accent-leaf{z-index:4;object-fit:contain;filter:saturate(1.05);width:8%;position:absolute}.accent-leaf--one{opacity:.95;top:6%;right:-5%;transform:rotate(38deg)}.accent-leaf--two{opacity:.55;bottom:8%;left:-6%;transform:rotate(-145deg)}.booking-copy{align-self:center;padding:3vh 0 0 clamp(28px,4vw,76px)}.booking-copy p{max-width:360px}.book-button{color:#fff;text-transform:uppercase;background:linear-gradient(110deg,#063e1c,#075c28);border-radius:20px;justify-content:space-between;align-items:center;width:min(235px,100%);margin-top:clamp(32px,5vh,56px);padding:19px 22px 18px 34px;font-size:20px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 12px 28px #03441d21}.book-button svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:30px}.book-button:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 16px 32px #03441d33}.book-button:focus-visible,.menu-button:focus-visible{outline-offset:5px;outline:3px solid #74b96f}.food-loop{z-index:4;pointer-events:none;height:17%;position:absolute;bottom:2.5%;left:0;right:0}.food-loop-track{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.food-loop-track path{fill:none;stroke:#379d39;stroke-width:2px;stroke-dasharray:9 12;vector-effect:non-scaling-stroke}.food-loop-dish{aspect-ratio:1;will-change:transform;width:clamp(100px,9vw,138px);margin:0;position:absolute;top:0;left:0}.food-loop-dish img{object-fit:contain;filter:drop-shadow(0 12px 9px #1a411238);width:100%;height:100%}.corner-leaf{z-index:3;opacity:.82;filter:drop-shadow(0 15px 8px #13411029);pointer-events:none;width:clamp(170px,17vw,270px);position:absolute}.corner-leaf--right{top:12%;right:-6%;transform:rotate(48deg)}.corner-leaf--left{opacity:.65;bottom:18%;left:-7%;transform:rotate(-45deg)}.bottom-wave{z-index:1;background:#edf1e3;border-radius:52% 48% 0 0/38% 40% 0 0;height:18%;position:absolute;bottom:-9%;left:-3%;right:-3%}body.booking-open{overflow:hidden}.booking-overlay{z-index:200;visibility:hidden;pointer-events:none;position:fixed;inset:0}.booking-overlay.is-active{visibility:visible;pointer-events:auto}.booking-transition{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.booking-page{z-index:3;visibility:hidden;opacity:1;background:#0b4d2b;position:absolute;inset:0}.booking-overlay.is-open .booking-page{visibility:visible}.booking-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff8c;border-radius:50%;place-items:center;width:60px;height:60px;padding:0;transition:color .25s,background .25s,transform .25s;display:grid;position:absolute;top:clamp(22px,3vw,42px);right:clamp(22px,3vw,42px)}.booking-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:28px}.booking-close:hover{color:var(--green-950);background:#fff;transform:rotate(4deg)scale(1.04)}.booking-close:focus-visible{outline-offset:4px;outline:3px solid #fff}body.nav-open{overflow:hidden}.nav-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-overlay{z-index:100;visibility:hidden;pointer-events:none;transition:visibility 0s linear .45s;position:fixed;inset:0}.nav-overlay.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}.nav-backdrop{opacity:0;cursor:pointer;background:#03190c94;border:0;width:100%;padding:0;transition:opacity .4s;position:absolute;inset:0}.nav-overlay.is-open .nav-backdrop{opacity:1}.nav-panel{background:#fff;border:1px solid #e8ebe6;border-radius:38px;flex-direction:column;width:min(620px,100% - 32px);padding:28px 38px 34px;transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow:hidden;transform:translate(calc(100% + 32px));box-shadow:-22px 16px 60px #0423102e}.nav-overlay.is-open .nav-panel{transform:translate(0,0)}.nav-leaf{z-index:0;opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(290px,46%);position:absolute;bottom:-55px;right:-72px;transform:rotate(28deg)}.nav-panel-header,.nav-list{z-index:1;position:relative}.nav-panel-header{flex:none;justify-content:space-between;align-items:center;min-height:74px;padding-bottom:10px;display:flex}.nav-panel-brand{color:var(--green-950);letter-spacing:-.035em;font:800 25px/1 League Spartan,sans-serif}.nav-close{width:62px;height:62px;color:var(--green-950);cursor:pointer;background:#f8faf7;border:1px solid #dfe5de;border-radius:50%;place-items:center;padding:0;transition:color .25s,background .25s,transform .25s;display:grid}.nav-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:29px}.nav-close:hover{color:#fff;background:var(--green-950);transform:rotate(4deg)scale(1.04)}.nav-close:focus-visible,.nav-link:focus-visible{outline-offset:3px;outline:3px solid #74b96f}.nav-list{border-bottom:1px solid #e3e6e1;flex:auto;grid-template-rows:repeat(6,minmax(0,1fr));min-height:0;margin-top:12px;display:grid}.nav-link{color:#151a16;border-top:1px solid #e3e6e1;grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:17px;min-height:0;padding:0 10px;font-size:clamp(18px,1.45vw,23px);font-weight:500;line-height:1.23;text-decoration:none;transition:color .25s,background .25s,padding .25s;display:grid}.nav-icon,.nav-arrow{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.nav-icon{width:31px;height:31px;color:var(--green-950)}.nav-arrow{width:27px;color:var(--green-950);justify-self:end;transition:transform .25s}.nav-link:hover{color:var(--green-800);background:#f3f8f1;padding-left:16px}.nav-link:hover .nav-arrow{transform:translate(4px)}.text-loop-transition{z-index:6;background:#fff;height:170px;margin-top:0;position:relative;overflow:hidden}.text-loop-transition--footer{z-index:7;background:#f4f5f1}.text-loop{width:100%;height:100%;position:relative;overflow:hidden}.text-loop-svg{width:100%;height:100%;display:block}.text-loop-text{-webkit-user-select:none;user-select:none;fill:#fff}.text-loop-measure{visibility:hidden;pointer-events:none}.about-section{background:#fff;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(42px,6vw,100px);min-height:82svh;padding:clamp(78px,8vw,128px) clamp(28px,7vw,108px);display:grid;position:relative;overflow:hidden}.about-copy,.staff-showcase{z-index:1;position:relative}.about-palm{z-index:0;opacity:.8;--palm-drop:0px;width:clamp(230px,27vw,410px);transform:translate3d(-38%, calc(-48% + var(--palm-drop)), 0);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute;top:0;left:0}.about-section h2{color:var(--green-950);letter-spacing:-.045em;text-transform:uppercase;margin:0;font:800 clamp(52px,8vw,118px)/.9 League Spartan,sans-serif}.about-copy p{color:#252b26;max-width:590px;margin:clamp(28px,4vw,52px) 0 0;font-size:clamp(17px,1.4vw,22px);line-height:1.7}.about-reveal.is-splitting{opacity:0}.about-reveal-line{display:block;overflow:hidden}.about-reveal-line-inner{opacity:0;will-change:transform, opacity;transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .48s;transition-delay:calc(var(--line-index) * 90ms);display:inline-block;transform:translateY(112%)}.about-reveal.is-visible .about-reveal-line-inner{opacity:1;transform:translateY(0)}.about-reveal-word{display:inline-block}.staff-showcase{text-align:center;min-width:0}.staff-composition{isolation:isolate;justify-content:center;align-items:center;height:clamp(320px,33vw,470px);padding:clamp(26px,3vw,44px) 0 18px;display:flex;position:relative;overflow:visible}.staff-card{--staff-y:14px;--staff-rotate:0deg;--staff-scale:1;aspect-ratio:.7;width:clamp(135px,14vw,205px);transform:translateY(var(--staff-y)) rotate(var(--staff-rotate)) scale(var(--staff-scale));transform-origin:50% 72%;flex:none;margin:0;position:relative}.staff-card+.staff-card{margin-left:clamp(-20px,-1.2vw,-10px)}.staff-card--left{--staff-rotate:-5deg}.staff-card--center{--staff-y:-22px;--staff-scale:1.05;z-index:3}.staff-card--right{--staff-rotate:5deg;z-index:2}.staff-card-frame{backface-visibility:hidden;background:#fff;border:1px solid #dfe7de;border-radius:clamp(22px,2vw,30px);width:100%;height:100%;overflow:hidden;box-shadow:0 18px 36px #0b4d2b24}.staff-card-frame img,.staff-card-frame video{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.staff-card-frame--empty{background:#f1f4ee}.staff-label{width:fit-content;color:var(--green-950);align-items:center;gap:13px;margin:24px auto 0;font:700 clamp(21px,2vw,30px)/1.2 DM Sans,sans-serif;display:inline-flex}.staff-label img{object-fit:contain;flex:none;width:clamp(42px,4vw,56px);height:clamp(50px,5vw,68px)}.experience-section{isolation:isolate;background:#f4f5f1;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(70px,7vw,110px) clamp(20px,5vw,78px);display:flex;position:relative;overflow:hidden}.experience-leaf,.experience-edge-dish{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.experience-leaf{opacity:.09;width:clamp(160px,17vw,275px)}.experience-leaf-top{top:18%;right:-5%;transform:rotate(40deg)}.experience-leaf-bottom{opacity:.07;bottom:5%;left:-5%;transform:rotate(-42deg)}.experience-edge-dish{filter:drop-shadow(0 16px 12px #0b4d2b29);opacity:0;width:clamp(115px,12vw,185px);transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .7s}.experience-edge-dish-left{top:-3%;left:-3%;transform:translate(-125%,-8%)rotate(-18deg)}.experience-edge-dish-right{transition-delay:.12s;bottom:-3%;right:-3%;transform:translate(125%,8%)rotate(18deg)}.experience-section.is-in-view .experience-edge-dish{opacity:.82}.experience-section.is-in-view .experience-edge-dish-left{transform:translate(0,0)rotate(-18deg)}.experience-section.is-in-view .experience-edge-dish-right{transform:translate(0,0)rotate(18deg)}.experience-header,.experience-carousel{z-index:1;position:relative}.experience-header{z-index:2;text-align:center;max-width:1120px;margin:0 auto;position:relative}.experience-header h2{max-width:1040px;color:var(--green-950);letter-spacing:-.045em;text-transform:uppercase;margin:0 auto;font:800 clamp(42px,5.8vw,88px)/.9 League Spartan,sans-serif}.experience-header p{color:#333934;max-width:680px;margin:clamp(20px,2.3vw,30px) auto 0;font-size:clamp(16px,1.4vw,21px);line-height:1.6}.experience-carousel{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;perspective:1200px;outline:none;width:min(1180px,100%);height:clamp(330px,36vw,490px);margin:clamp(34px,4vw,56px) auto 0;position:relative;overflow:hidden}.experience-carousel.is-dragging{cursor:grabbing}.experience-carousel:focus-visible{outline-offset:8px;border-radius:28px;outline:3px solid #74b96f}.experience-cards{transform-style:preserve-3d;place-items:center;display:grid;position:absolute;inset:0}.experience-card{aspect-ratio:4/3;pointer-events:none;transform-origin:50%;will-change:transform, opacity, filter;backface-visibility:hidden;background:#dfe5dc;border:1px solid #ffffffb8;border-radius:20px;width:min(37vw,470px);margin:0;position:absolute;overflow:hidden;box-shadow:0 24px 52px #132f1b29}.experience-card img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.contact-testimonials-section{background:#fff;padding:clamp(80px,8vw,130px) 0 clamp(90px,9vw,145px);overflow:clip}.contact-location{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(48px,7vw,110px);width:min(1320px,100% - 56px);margin:0 auto;display:grid}.section-kicker{color:var(--green-800);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:14px;font-weight:700}.contact-details h2,.testimonials-block>h2{color:var(--green-950);letter-spacing:-.045em;text-transform:uppercase;margin:0;font:800 clamp(48px,6vw,92px)/.9 League Spartan,sans-serif}.contact-lines{border-bottom:1px solid #dfe5de;gap:0;margin-top:clamp(34px,4vw,52px);display:grid}.contact-lines p{border-top:1px solid #dfe5de;grid-template-columns:100px 1fr;gap:18px;margin:0;padding:18px 0;display:grid}.contact-lines span{color:#718073;font-size:14px}.contact-lines strong,.contact-lines a{color:#171c18;font-size:clamp(16px,1.3vw,20px);font-weight:600;text-decoration:none}.contact-lines a:hover{color:var(--green-800)}.location-gallery{background:#eef1ea;border-radius:30px;height:clamp(390px,39vw,580px);margin:0;position:relative;overflow:hidden;box-shadow:0 24px 55px #0b4d2b21}.location-image{object-fit:cover;display:block;position:absolute}.location-image-main{width:100%;height:100%;inset:0}.location-image-secondary{aspect-ratio:4/3;border:7px solid #fff;border-radius:20px;width:36%;bottom:26px;right:26px;box-shadow:0 15px 35px #07281340}.testimonials-block{margin-top:clamp(110px,12vw,190px)}.testimonials-block>h2{text-align:center;max-width:900px;margin:0 auto clamp(48px,6vw,82px);padding:0 28px}.testimonials-stack{width:min(900px,100% - 56px);margin:0 auto;position:relative}.testimonials-stack-inner{position:relative}.testimonial-card{top:var(--stack-top);width:100%;min-height:310px;transform:scale(var(--stack-scale,1));transform-origin:top;will-change:transform;backface-visibility:hidden;background:#fff;border:1px solid #dce5db;border-radius:30px;flex-direction:column;justify-content:space-between;margin:0 0 clamp(90px,13vh,140px);padding:clamp(30px,4vw,50px);display:flex;position:sticky;box-shadow:0 22px 48px #0b4d2b1f}.testimonial-card-footer{justify-content:space-between;align-items:end;gap:24px;display:flex}.testimonial-card-footer span{color:#b9c8ba;font:800 clamp(42px,6vw,72px)/.8 League Spartan,sans-serif}.testimonial-stars{color:#b4811f;letter-spacing:.08em;margin:0;font-size:18px}.testimonial-review{color:#303731;max-width:720px;margin:28px 0 42px;font-size:clamp(18px,1.6vw,23px);line-height:1.6}.testimonial-card h3{color:var(--green-950);margin:0;font-size:clamp(18px,1.6vw,22px)}.testimonials-stack-end{height:34vh}@keyframes fold-piece-in{0%{opacity:0;transform:rotateX(-92deg)}to{opacity:1;transform:rotateX(0)}}@keyframes fold-crease-in{0%{opacity:.55}70%,to{opacity:0}}.video-modal-overlay{z-index:99999;visibility:hidden;opacity:0;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.video-modal-overlay.is-active{visibility:visible;opacity:1}.video-modal-backdrop{cursor:pointer;background:#000000d9;position:absolute;inset:0}.video-modal-content{z-index:1;aspect-ratio:16/9;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;transition:transform .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;transform:scale(.95);box-shadow:0 25px 50px -12px #00000080}.video-modal-overlay.is-active .video-modal-content{transform:scale(1)}.video-modal-player{object-fit:cover;width:100%;height:100%;display:block}.about-video-trigger{cursor:pointer}@media (width<=900px){.hero{border:1px solid #e4e8e0;border-radius:32px;min-height:100svh}.site-header{padding:30px 28px}.nav-panel{border-radius:30px;width:calc(100% - 16px);padding:20px 20px 24px;top:8px;bottom:8px;right:8px}.nav-leaf{opacity:.09;width:230px;bottom:-38px;right:-58px}.nav-panel-header{min-height:66px}.nav-panel-brand{font-size:23px}.nav-close{width:54px;height:54px}.nav-close svg{width:26px}.nav-list{margin-top:8px}.nav-link{grid-template-columns:38px minmax(0,1fr) 27px;gap:12px;padding:0 8px;font-size:clamp(16px,4.4vw,20px)}.nav-icon{width:27px;height:27px}.nav-arrow{width:24px}.brand{font-size:25px}.menu-button{gap:5px;width:38px}.menu-button span{height:3px}.menu-button.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.menu-button.is-open span:last-child{transform:translateY(-8px)rotate(-45deg)}.hero-content{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;align-items:center;gap:clamp(8px,1.5vh,16px);min-height:0;padding:0;display:grid;position:absolute;inset:14% 0 22%}.intro{width:min(74%,510px);margin-left:14.5%;padding:0}.intro h1{font-size:clamp(40px,9.8vw,64px)}.title-rule{width:52px;height:4px;margin:clamp(12px,2vh,20px) 0}.intro p{font-size:clamp(14px,3.55vw,20px);line-height:1.42}.dish-stage{align-self:center;width:min(55.8vw,28.8svh,432px);margin:0 auto}.main-dish.is-hero-pending{transform:translate(-135%)}.main-dish.is-hero-entering{animation-name:hero-dish-enter-mobile}.accent-leaf--one{top:1%;right:-7%}.accent-leaf--two{bottom:17%;left:-8%}.booking-copy{text-align:center;align-self:center;padding:0}.booking-copy p{font-size:clamp(14px,3.55vw,20px);line-height:1.42}.book-button{border-radius:16px;width:200px;margin:clamp(12px,1.8vh,20px) auto 0;padding:14px 18px 13px 26px;font-size:17px}.food-loop{height:12%;bottom:2%}.food-loop-dish{width:clamp(64px,16vw,86px)}.corner-leaf{width:150px}.corner-leaf--right{top:12%;right:-13%}.corner-leaf--left{width:125px;bottom:35%;left:-12%}.bottom-wave{height:12%;bottom:-5%}.text-loop-transition{height:118px}.about-section{flex-direction:column;align-items:stretch;gap:42px;min-height:0;padding:72px 22px 84px;display:flex}.about-copy{text-align:center}.about-section h2{font-size:clamp(50px,16vw,78px)}.about-copy p{margin:24px auto 0;font-size:17px;line-height:1.65}.staff-composition{height:min(92vw,370px);padding:22px 0 12px}.staff-card{--staff-y:12px;width:clamp(92px,29vw,132px)}.staff-card+.staff-card{margin-left:-13px}.staff-card--left{--staff-rotate:-4.5deg}.staff-card--center{--staff-y:-16px;--staff-scale:1.04}.staff-card--right{--staff-rotate:4.5deg}.staff-card-frame{border-radius:20px;box-shadow:0 14px 28px #0b4d2b21}.staff-label{margin-top:20px;font-size:22px}.staff-label img{width:40px;height:50px}.about-palm{width:245px;transform:translate3d(-46%, calc(-52% + var(--palm-drop)), 0)}.experience-section{min-height:100svh;padding:68px 16px 72px}.experience-leaf{opacity:.075;width:145px}.experience-leaf-top{top:20%;right:-18%}.experience-leaf-bottom{bottom:8%;left:-18%}.experience-edge-dish{width:92px}.experience-edge-dish-left{top:-2%;left:-7%}.experience-edge-dish-right{bottom:-2%;right:-7%}.experience-header h2{font-size:clamp(38px,11.5vw,58px);line-height:.95}.experience-header p{max-width:370px;margin-top:20px;font-size:16px}.experience-carousel{height:clamp(270px,76vw,350px);margin-top:34px}.experience-card{border-radius:18px;width:min(68vw,335px)}.contact-testimonials-section{padding:78px 0 92px}.contact-location{flex-direction:column;align-items:stretch;gap:42px;width:calc(100% - 36px);display:flex}.contact-details h2,.testimonials-block>h2{font-size:clamp(46px,14vw,68px)}.contact-lines p{grid-template-columns:78px 1fr;gap:12px}.location-gallery{border-radius:24px;height:min(78vw,410px)}.location-image-secondary{border-width:4px;border-radius:14px;width:42%;bottom:14px;right:14px}.testimonials-block{margin-top:105px}.testimonials-block>h2{margin-bottom:50px;padding:0 20px}.testimonials-stack{width:calc(100% - 32px)}.testimonial-card{border-radius:24px;min-height:285px;margin-bottom:82px;padding:26px}.testimonial-review{margin:24px 0 34px;font-size:17px}.testimonial-card-footer span{font-size:44px}.testimonials-stack-end{height:28vh}}@media (width<=480px) and (height<=820px){.hero-content{inset:14% 0 23%}.intro h1{font-size:clamp(38px,9vw,52px)}.dish-stage{width:min(50.4vw,26.1svh,351px)}}@media (prefers-reduced-motion:reduce){.site-footer{min-height:100vh}.footer-thank-you{text-align:center;white-space:normal;width:auto;padding:0 8vw;transform:none!important}.footer-thank-you .footer-char{transform:none!important}.booking-page,.booking-close{transition:none}.about-reveal-line-inner{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}.book-button,.menu-button span,.nav-overlay,.nav-backdrop,.nav-panel,.nav-link,.nav-close,.nav-arrow{transition:none}.fold-text.is-folding-in .fold-text-piece{animation-duration:.2s;transform:none}.fold-text.is-folding-in .fold-text-piece:after{animation:none}.testimonial-card{margin-bottom:18px;position:relative;top:auto!important;transform:none!important}.testimonials-stack-end{display:none}}.social-media-section{background:#f4f5f1;padding:clamp(82px,9vw,140px) 0;overflow:hidden}.social-media-shell{width:min(1320px,100% - 56px);margin:0 auto}.social-pop-title{max-width:920px;color:var(--green-950);letter-spacing:-.045em;text-align:center;text-transform:uppercase;will-change:transform, opacity;margin:0 auto clamp(46px,6vw,78px);font:800 clamp(48px,6vw,92px)/.9 League Spartan,sans-serif}.social-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,30px);display:grid}.social-media-card{aspect-ratio:4/3;background:#dfe5dc;border:1px solid #ffffffb8;border-radius:20px;transition:transform .22s,box-shadow .22s;display:block;overflow:hidden;box-shadow:0 24px 52px #132f1b29}.social-media-card img{object-fit:cover;width:100%;height:100%;transition:transform .22s;display:block}.social-media-card:hover{transform:translateY(-4px);box-shadow:0 28px 58px #132f1b33}.social-media-card:hover img{transform:scale(1.035)}.social-media-card:focus-visible{outline-offset:5px;outline:3px solid #287140}.site-footer{color:#fff;isolation:isolate;background:#0b4d2b;padding:clamp(92px,10vw,150px) 0 28px;position:relative;overflow:hidden}.footer-clouds{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.footer-cloud{--cloud-scale:1;--cloud-duration:34s;opacity:.6;filter:blur(.2px);width:190px;height:56px;transform:translate3d(-340px, 0, 0) scale(var(--cloud-scale));animation:footer-cloud-drift var(--cloud-duration) linear infinite;will-change:transform;background:#fff;border-radius:999px;position:absolute;left:0}.footer-cloud:before,.footer-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute;bottom:16px}.footer-cloud:before{width:78px;height:78px;left:34px}.footer-cloud:after{width:98px;height:98px;right:30px}.footer-cloud--one{--cloud-scale:.72;--cloud-duration:31s;animation-delay:-7s;top:10%}.footer-cloud--two{--cloud-scale:1.08;--cloud-duration:43s;animation-delay:-29s;top:36%}.footer-cloud--three{--cloud-scale:.58;--cloud-duration:28s;animation-delay:-14s;top:67%}.footer-cloud--four{--cloud-scale:.86;--cloud-duration:39s;animation-delay:-34s;top:82%}@keyframes footer-cloud-drift{0%{transform:translate3d(-340px, 0, 0) scale(var(--cloud-scale))}to{transform:translate3d(calc(100vw + 340px), 0, 0) scale(var(--cloud-scale))}}.footer-shell{z-index:1;grid-template-columns:1.35fr .7fr 1fr .7fr;gap:clamp(36px,5vw,82px);width:min(1320px,100% - 72px);margin:0 auto;display:grid;position:relative}.footer-brand{color:#fff;letter-spacing:-.035em;font:800 clamp(34px,4vw,58px)/.9 League Spartan,sans-serif;text-decoration:none;display:inline-block}.footer-brand-block>p{color:#ffffffd1;max-width:390px;margin:24px 0 30px;font-size:16px;line-height:1.7}.footer-reservation{color:#0b4d2b;letter-spacing:.06em;cursor:pointer;background:#fff;border:1px solid #ffffffa6;border-radius:999px;min-height:50px;padding:0 24px;font-weight:800;transition:transform .2s,background .2s}.footer-reservation:hover{background:#f1f6ef;transform:translateY(-2px)}.footer-column{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.footer-column h2{color:#fff;letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;font:800 14px/1 League Spartan,sans-serif}.footer-column a{color:#ffffffe0;line-height:1.5;text-decoration:none;transition:color .2s,transform .2s}.footer-column a:hover{color:#fff;transform:translate(3px)}.footer-column p{color:#ffffffb8;margin:0;font-size:14px;line-height:1.6}.footer-bottom{z-index:1;border-top:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:24px;width:min(1320px,100% - 72px);margin:clamp(70px,8vw,110px) auto 0;padding-top:24px;display:flex;position:relative}.footer-bottom p{color:#ffffffa8;margin:0;font-size:13px}.footer-bottom a{color:#fff;font-size:13px;font-weight:700;text-decoration:none}@media (width<=700px){.social-media-section{padding:78px 0 92px}.social-media-shell{width:calc(100% - 36px)}.social-pop-title{margin-bottom:44px;font-size:clamp(46px,14vw,68px)}.social-media-grid{grid-template-columns:1fr;gap:20px}.social-media-card{border-radius:18px}.site-footer{padding:84px 0 24px}.footer-shell{grid-template-columns:1fr;gap:44px;width:calc(100% - 40px)}.footer-brand-block>p{margin:20px 0 26px}.footer-bottom{flex-direction:column;align-items:flex-start;width:calc(100% - 40px);margin-top:64px}.footer-cloud{width:150px;height:44px}.footer-cloud:before{width:60px;height:60px;left:28px}.footer-cloud:after{width:76px;height:76px;right:24px}}@media (prefers-reduced-motion:reduce){.footer-cloud{animation:none;transform:none}.footer-cloud--one{left:6%}.footer-cloud--two{left:62%}.footer-cloud--three{left:18%}.footer-cloud--four{left:72%}.social-media-card,.social-media-card img{transition:none}.social-media-card:hover,.social-media-card:hover img{transform:none}}.preloader{z-index:999999;background-color:#fff;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .8s ease-out,visibility .8s ease-out;display:flex;position:fixed;top:0;left:0}.preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-content{z-index:2;flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.preloader-logo{width:clamp(100px,15vw,150px);height:auto;animation:2s ease-in-out infinite preloader-pulse}.preloader-percentage{color:var(--green-800,#0b5a28);letter-spacing:2px;font-family:League Spartan,sans-serif;font-size:clamp(32px,5vw,48px);font-weight:800}.preloader-leaf{opacity:.6;z-index:1;width:clamp(80px,12vw,120px);position:absolute;top:5%;right:5%;transform:rotate(15deg)}.preloader-dish{opacity:.4;z-index:1;width:clamp(150px,25vw,250px);position:absolute;bottom:-5%;right:-5%;transform:rotate(-25deg)}@keyframes preloader-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.booking-page{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;color:#151b16;background:#f7f8f4;overflow:hidden auto}.reservation-shell{z-index:4;width:min(1040px,100% - 48px);margin:0 auto;padding:clamp(88px,10vh,120px) 0 clamp(60px,8vh,92px);position:relative}.reservation-heading{text-align:center;max-width:760px;margin:0 auto clamp(34px,5vw,58px)}.reservation-heading p{color:#287140;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:700}.reservation-heading h2{color:#073d1e;letter-spacing:-.045em;text-transform:uppercase;margin:0;font:800 clamp(54px,8vw,106px)/.86 League Spartan,sans-serif}.reservation-heading span{color:#4d5750;max-width:590px;margin:24px auto 0;font-size:clamp(16px,1.6vw,20px);line-height:1.55;display:block}.reservation-card{background:#fffffff5;border:1px solid #0b4d2b1f;border-radius:32px;padding:clamp(28px,5vw,58px);position:relative;box-shadow:0 28px 70px #0b4d2b1f}.reservation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;display:grid}.reservation-field{gap:9px;display:grid}.reservation-field>span{color:#193821;letter-spacing:.045em;font-size:13px;font-weight:700}.reservation-field-wide{grid-column:1/-1}.reservation-field input,.reservation-field textarea{color:#172019;width:100%;font:inherit;background:#fbfcfa;border:1px solid #d8e1d7;border-radius:14px;outline:0;transition:border-color .2s,box-shadow .2s,background .2s}.reservation-field input{min-height:56px;padding:0 17px}.reservation-field textarea{resize:vertical;min-height:130px;padding:16px 17px}.reservation-field input::placeholder,.reservation-field textarea::placeholder{color:#899289}.reservation-field input:focus,.reservation-field textarea:focus{background:#fff;border-color:#287140;box-shadow:0 0 0 4px #2871401c}.reservation-submit{color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0b4d2b;border:0;border-radius:16px;justify-content:center;align-items:center;gap:22px;width:100%;min-height:62px;margin-top:30px;font:700 15px/1 DM Sans,sans-serif;transition:background .22s,transform .22s;display:flex}.reservation-submit span:last-child{font-size:24px;transition:transform .22s}.reservation-submit:hover{background:#073d1e;transform:translateY(-2px)}.reservation-submit:hover span:last-child{transform:translate(5px)}.reservation-submit:focus-visible{outline-offset:4px;outline:3px solid #287140}.reservation-submit:disabled{cursor:wait;opacity:.72;transform:none}.reservation-submit.is-loading span:first-child{font-size:0}.reservation-submit.is-loading span:first-child:after{content:"Saving reservation…";font-size:15px}.reservation-status{color:#4c6552;text-align:center;min-height:22px;margin:14px 0 0;font-size:13px;line-height:1.5}.reservation-status[data-state=success]{color:#17642f}.reservation-status[data-state=error]{color:#a32c2c}.commitment-overlay{z-index:30;visibility:hidden;opacity:0;pointer-events:none;background:#061f119e;place-items:center;padding:20px;transition:opacity .22s,visibility .22s;display:grid;position:fixed;inset:0}.commitment-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto}.commitment-modal{background:#fff;border:1px solid #0b4d2b24;border-radius:28px;width:min(510px,100%);max-height:calc(100svh - 32px);padding:clamp(26px,5vw,42px);transition:transform .24s cubic-bezier(.22,1,.36,1);overflow-y:auto;transform:translateY(18px)scale(.975);box-shadow:0 28px 72px #041f103d}.commitment-overlay.is-open .commitment-modal{transform:translateY(0)scale(1)}.commitment-eyebrow{color:#287140;letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.commitment-modal h3{color:#073d1e;letter-spacing:-.035em;margin:0;font:800 clamp(34px,7vw,50px)/.95 League Spartan,sans-serif}.commitment-modal>p:not(.commitment-eyebrow){color:#4d5750;margin:18px 0 0;font-size:15px;line-height:1.6}.commitment-summary{border-top:1px solid #e0e7df;gap:0;margin:26px 0 0;display:grid}.commitment-summary div{border-bottom:1px solid #e0e7df;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.commitment-summary dt,.commitment-summary dd{margin:0;font-size:14px}.commitment-summary dt{color:#657068}.commitment-summary dd{color:#173820;text-align:right;font-weight:700}.commitment-total{background:#eef4ea;border-radius:18px;margin-top:22px;padding:20px}.commitment-total span{color:#526057;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700;display:block}.commitment-total strong{color:#073d1e;letter-spacing:-.025em;margin-top:8px;font:800 clamp(30px,7vw,44px)/1 League Spartan,sans-serif;display:block}.commitment-actions{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:24px;display:grid}.commitment-actions button{letter-spacing:.055em;text-transform:uppercase;cursor:pointer;border-radius:14px;min-height:52px;padding:0 20px;font:700 12px/1 DM Sans,sans-serif;transition:color .2s,background .2s,border-color .2s,transform .2s}.commitment-primary{color:#fff;background:#0b4d2b;border:1px solid #0b4d2b}.commitment-primary:hover{background:#073d1e;transform:translateY(-1px)}.commitment-secondary{color:#173820;background:#fff;border:1px solid #ccd8cc}.commitment-secondary:hover{background:#f3f7f1;border-color:#287140}.commitment-actions button:focus-visible{outline-offset:3px;outline:3px solid #2871403d}.reservation-food{z-index:0;opacity:.7;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.reservation-food-left{width:clamp(300px,33vw,530px);top:-150px;left:-170px}.reservation-food-right{width:clamp(180px,21vw,330px);top:70px;right:-100px}.reservation-food-bottom{opacity:.55;width:clamp(150px,17vw,260px);bottom:-90px;right:4%}.booking-page .booking-close{z-index:8;color:#0b4d2b;background:#ffffffe0;border-color:#0b4d2b59;position:fixed}.booking-page .booking-close:hover{color:#fff;background:#0b4d2b}@media (width<=700px){.reservation-shell{width:calc(100% - 28px);padding:100px 0 42px}.reservation-heading{margin-bottom:30px}.reservation-heading h2{font-size:clamp(48px,16vw,72px)}.reservation-heading span{margin-top:18px;padding:0 14px;font-size:15px}.reservation-card{border-radius:24px;padding:24px 18px}.reservation-grid{grid-template-columns:1fr;gap:19px}.reservation-field-wide{grid-column:auto}.reservation-food-left{opacity:.46;width:230px;top:-62px;left:-100px}.reservation-food-right{opacity:.48;width:150px;top:110px;right:-66px}.reservation-food-bottom{opacity:.4;width:130px;bottom:-34px;right:-42px}.booking-page .booking-close{width:52px;height:52px}.commitment-overlay{padding:14px}.commitment-modal{border-radius:23px;padding:26px 20px}.commitment-actions{grid-template-columns:1fr}.commitment-secondary{order:2}}@media (prefers-reduced-motion:reduce){.reservation-submit,.reservation-submit span:last-child,.reservation-field input,.reservation-field textarea,.commitment-overlay,.commitment-modal,.commitment-actions button{transition:none}}.site-header{grid-template-columns:1fr auto 1fr;display:grid}.brand{grid-column:1;justify-self:start}.menu-button{grid-column:3;justify-self:end}.top-navigation{justify-content:center;align-items:center;gap:clamp(18px,3vw,46px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.top-navigation-link{color:#133d21;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:7px 0;font:700 12px/1 DM Sans,sans-serif;text-decoration:none}.top-navigation-link:after{content:"";background:#0b4d2b;width:0;height:1px;margin-top:7px;transition:width .22s;display:block}.top-navigation-link:hover:after,.top-navigation-link:focus-visible:after{width:100%}.top-navigation-link:focus-visible{outline-offset:4px;outline:2px solid #287140}.floating-navigation{z-index:80;position:fixed;bottom:clamp(16px,2.5vw,30px);left:clamp(16px,2.5vw,34px)}.floating-navigation-actions{align-items:center;gap:10px;display:flex}.floating-navigation-button{color:#fff;cursor:pointer;background:#0b4d2b;border:1px solid #0b4d2b2e;border-radius:50%;place-items:center;width:50px;height:50px;padding:0;text-decoration:none;transition:color .22s,background .22s,transform .22s;display:grid;position:relative;box-shadow:0 10px 25px #052d142e}.floating-navigation-button:hover{color:#0b4d2b;background:#fff;transform:translateY(-2px)}.floating-navigation-button:focus-visible{outline-offset:3px;outline:3px solid #72b779}.whatsapp-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:25px}.quick-navigation-toggle span{font:300 34px/1 DM Sans,sans-serif;transition:transform .32s cubic-bezier(.22,1,.36,1)}.floating-navigation.is-open .quick-navigation-toggle span{transform:rotate(45deg)}.floating-tooltip{color:#fff;pointer-events:none;opacity:0;background:#153d22;border-radius:9px;width:max-content;padding:8px 11px;font-size:12px;transition:opacity .18s,transform .18s;position:absolute;left:calc(100% + 10px);transform:translate(-5px)}.whatsapp-button:hover .floating-tooltip,.whatsapp-button:focus-visible .floating-tooltip{opacity:1;transform:translate(0)}.quick-navigation-card{visibility:hidden;opacity:0;pointer-events:none;transform-origin:0 100%;background:#fffffffa;border:1px solid #e0e7df;border-radius:20px;width:min(310px,100vw - 32px);padding:18px;transition:opacity .25s,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s;position:absolute;bottom:64px;left:0;transform:translateY(18px)scale(.96);box-shadow:0 20px 48px #0732172e}.floating-navigation.is-open .quick-navigation-card{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.quick-navigation-card>p{color:#6d796f;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.quick-navigation-card nav{display:grid}.quick-navigation-card a{color:#182019;border-top:1px solid #e7ebe5;padding:11px 5px;font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;transition:color .18s,padding .18s}.quick-navigation-card a:hover,.quick-navigation-card a:focus-visible{color:#287140;outline:none;padding-left:10px}@media (width<=700px){.site-header{grid-template-columns:1fr auto 1fr;gap:16px}.brand{white-space:nowrap;font-size:clamp(20px,5.7vw,25px)}.top-navigation{display:none}.top-navigation-link{letter-spacing:.09em;font-size:9px}.floating-navigation-button{width:46px;height:46px}.quick-navigation-card{bottom:58px}}@media (width<=390px){.site-header{gap:10px;padding-inline:20px}.top-navigation{gap:9px}.top-navigation-link{font-size:8px}}@media (width<=350px){.site-header{padding-inline:14px}.brand{font-size:18px}.top-navigation{gap:7px}.top-navigation-link{letter-spacing:.06em;font-size:7.5px}}@media (prefers-reduced-motion:reduce){.top-navigation-link:after,.floating-navigation-button,.quick-navigation-toggle span,.floating-tooltip,.quick-navigation-card,.quick-navigation-card a{transition:none}}.food-showcase{color:#fff;isolation:isolate;contain:paint;background:#07170c;width:100%;height:100vh;min-height:100svh;position:relative;overflow:hidden}.food-showcase-slide{visibility:hidden;will-change:transform, opacity;position:absolute;inset:0}.food-showcase-outer,.food-showcase-inner,.food-showcase-media{width:100%;height:100%;overflow:hidden}.food-showcase-media{will-change:transform;place-items:center;display:grid;position:relative}.food-showcase-media>img{object-fit:cover;object-position:center;image-rendering:auto;width:100%;height:100%;position:absolute;inset:0}.food-showcase-shade{z-index:1;background:linear-gradient(#00000061,#0000001f 48%,#0000006b);position:absolute;inset:0}.food-showcase-heading{z-index:2;color:#fff;letter-spacing:-.045em;text-align:center;text-shadow:0 4px 24px #0000004d;text-transform:uppercase;width:min(1180px,90vw);margin:0;font:800 clamp(44px,7.7vw,126px)/.86 League Spartan,sans-serif;position:relative}.food-showcase-clip-text{overflow:hidden}.food-showcase-instruction{z-index:4;color:#fff;letter-spacing:.13em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04190a3d;border:1px solid #ffffff73;border-radius:999px;margin:0;padding:10px 14px;font-size:11px;font-weight:700;position:absolute;bottom:clamp(18px,3vw,38px);right:clamp(18px,3vw,44px)}.food-showcase:not(.is-ready) .food-showcase-slide:first-child,.food-showcase.is-static .food-showcase-slide:first-child{visibility:visible;opacity:1}@media (width<=700px){.food-showcase-heading{width:calc(100% - 34px);font-size:clamp(38px,14vw,66px);line-height:.9}.food-showcase-media>img{object-position:50% 50%}.food-showcase-instruction{font-size:9px;bottom:18px;right:16px}}@media (prefers-reduced-motion:reduce){.food-showcase-instruction{-webkit-backdrop-filter:none;backdrop-filter:none}}
