:root{--beige:#e7dac8;--cream:#f7f2ea;--ink:#2d2823;--brown:#6f4e35;--gold:#765336}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}.nav{position:absolute;z-index:10;top:0;left:0;right:0;height:106px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff70;text-shadow:0 1px 4px #000}.logo{display:flex;align-items:center}.logo img{width:235px;height:auto;object-fit:contain}.nav .logo img,footer .logo img{filter:invert(1)}.nav nav{display:flex;gap:32px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.15em}.book,.button{display:inline-block;padding:14px 25px;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}.nav .book{background:#fff;color:var(--ink);text-shadow:none}.hero{position:relative;min-height:100vh;background:url('images/hero.jpg') center/cover;display:grid;place-items:center;color:#fff;text-align:center}.veil{position:absolute;inset:0;background:#17130f94}.heroText{position:relative;max-width:960px;padding:140px 25px}.heroText>p,.kicker{text-transform:uppercase;letter-spacing:.32em;font-size:11px;font-weight:800;color:var(--gold)}.heroText>p{color:#f4ddc2}.hero h1{font:clamp(50px,6.6vw,90px)/.94 Georgia,serif;text-transform:uppercase;letter-spacing:.015em;margin:25px 0;text-shadow:0 3px 14px #000}.heroText>span{font-size:18px;font-weight:600;text-shadow:0 2px 7px #000}.heroText>div{display:flex;justify-content:center;gap:20px;margin-top:38px}.button.light{background:var(--beige);color:var(--ink);text-shadow:none}.ghost{border-bottom:2px solid #fff;padding:13px 3px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700}.hours{position:absolute;bottom:0;left:0;right:0;background:var(--beige);color:#251f1a;padding:22px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.hours i{display:inline-block;border-left:1px solid #6d5c4b;height:18px;margin:0 30px;vertical-align:middle}.statement{padding:110px 8vw;text-align:center;max-width:1100px;margin:auto}.statement h2,.sectionTitle h2,.split h2,.reviews h2,.contact h2{font:clamp(38px,5vw,66px)/1.04 Georgia,serif;text-transform:uppercase;margin:20px 0 35px}.statement>p:last-child{font:19px/1.9 Georgia,serif;max-width:720px;margin:auto}.split{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#fff}.splitImage img{height:100%;object-fit:cover}.splitCopy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.splitCopy p:not(.kicker){font-size:18px;line-height:1.8;color:#403831}.underline{align-self:flex-start;margin-top:20px;border-bottom:2px solid;padding-bottom:6px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700}.beige,.dark{padding:120px 4vw}.sectionTitle{text-align:center;max-width:750px;margin:0 auto 60px}.sectionTitle h2{margin-bottom:15px}.sectionTitle>span{font-size:16px;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards article{background:#fff;box-shadow:0 7px 24px #5a463014}.cards img{height:400px;object-fit:cover;object-position:top}.cards article div{padding:22px}.cards article p,.events article p{text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:var(--brown);font-weight:800}.cards h3,.events h3{font:24px Georgia,serif;margin:5px 0 10px}.cards span{font-size:14px;line-height:1.55;color:#4d443c}.dark{background:var(--ink);color:#fff}.dark .kicker,.events article p{color:#e7c9a5}.events{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.events img{height:360px;object-fit:cover}.events article p{margin-top:18px}.reviews{padding:130px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:#fff}.score{font:70px Georgia,serif}.score span{font:18px Arial;color:#765336;margin-left:15px}.score small{display:block;font:11px Arial;color:#4f463e;text-transform:uppercase;letter-spacing:.18em;margin-left:110px}.reviews blockquote{margin:0;background:var(--beige);padding:60px;color:#251f1a;font:clamp(25px,3vw,40px)/1.4 Georgia,serif}.reviews blockquote>span{display:block;font:15px Arial;color:#68472f;margin-bottom:25px}.reviews blockquote small{display:block;font:11px Arial;text-transform:uppercase;letter-spacing:.17em;margin-top:25px;font-weight:700}.reviews blockquote a{display:block;font:11px Arial;margin-top:30px}.contact{background:#b9a58e;color:#241e19;padding:110px 8vw;display:grid;grid-template-columns:1.2fr .8fr;gap:80px}.contact>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;font-size:19px}.contact .button{margin-top:20px}footer{background:#211d19;color:#fff;padding:55px 5vw;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}footer .logo img{width:245px}footer>div:nth-child(2){display:flex;gap:25px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}footer>small{grid-column:1/-1;color:#d5cbc2}
@media(max-width:900px){.nav nav{display:none}.hero{min-height:800px}.cards{grid-template-columns:repeat(2,1fr)}.split,.reviews,.contact{grid-template-columns:1fr}.splitImage{height:650px}.events{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.nav{height:78px}.logo img{width:48px;height:48px}.logo span{font-size:12px}.nav .book{padding:11px 14px}.hero h1{font-size:50px}.heroText>span{font-size:15px}.heroText>div{flex-direction:column;align-items:center}.hours{font-size:9px}.hours i{margin:0 8px}.statement,.beige,.dark,.reviews,.contact{padding:75px 22px}.splitImage{height:520px}.splitCopy{padding:75px 25px}.cards,.events{grid-template-columns:1fr}.cards img,.events img{height:auto}.reviews blockquote{padding:35px 26px}footer{grid-template-columns:1fr}footer>div:nth-child(2){flex-wrap:wrap}footer>small{grid-column:auto}}

.foodGallery{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);padding:5vw;gap:24px}.foodGallery figure{margin:0;position:relative;overflow:hidden}.foodGallery img{height:740px;object-fit:cover;transition:transform .7s}.foodGallery figure:hover img{transform:scale(1.02)}.foodGallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:80px 34px 32px;color:#fff;background:linear-gradient(transparent,#211c18cc)}.foodGallery figcaption span{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:10px}.foodGallery figcaption b{display:block;font:34px Georgia,serif;text-transform:uppercase;margin-top:6px}@media(max-width:900px){.foodGallery img{height:580px}}@media(max-width:560px){.foodGallery{grid-template-columns:1fr;padding:14px}.foodGallery img{height:auto}}

.foodGallery.single{grid-template-columns:minmax(280px,760px);justify-content:center}

@media(min-width:1280px){.events{grid-template-columns:repeat(5,1fr);gap:24px}.events img{height:270px}.events h3{font-size:20px}}
@media(min-width:901px) and (max-width:1279px){.events{grid-template-columns:repeat(4,1fr);gap:24px}.events img{height:290px}}

.kitchenGallery{padding:110px 4vw;background:var(--cream)}.kitchenGallery .sectionTitle{margin-bottom:42px}.dishGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dishGrid figure{margin:0;position:relative;overflow:hidden;background:#d8c8b4;aspect-ratio:4/3}.dishGrid img{height:100%;object-fit:cover;transition:transform .6s ease}.dishGrid figure:hover img{transform:scale(1.025)}.dishGrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;color:#fff;background:linear-gradient(transparent,#211d19c7);font:18px Georgia,serif;text-transform:uppercase;letter-spacing:.04em}.surcharge{margin-top:14px;max-width:430px;padding-top:18px;border-top:1px solid #6f604f55;color:#4f463e;font-size:12px!important;line-height:1.55;text-transform:uppercase;letter-spacing:.08em}@media(max-width:900px){.kitchenGallery{padding:80px 4vw}.dishGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.kitchenGallery{padding:65px 14px}.dishGrid{gap:10px}.dishGrid figcaption{font-size:13px;padding:36px 12px 12px}}

.bookingPolicy{width:100%;max-width:510px;margin-top:18px;padding:17px 19px;border:1px solid #6f604f66;background:#f7f2ea66}.bookingPolicy summary{cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:bold}.bookingPolicy p,.bookingPolicy li{font-size:13px!important;line-height:1.55}.bookingPolicy p{margin:16px 0 8px}.bookingPolicy ul{margin:0 0 12px;padding-left:19px}.bookingPolicy li+li{margin-top:7px}.bookingPolicy a{display:inline-block;border-bottom:1px solid;font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding-bottom:4px}

@media(max-width:560px){.nav .logo img{width:168px;height:auto}.nav{height:82px;padding:0 18px}.nav .book{font-size:10px;padding:11px 13px}footer .logo img{width:220px;height:auto}.heroText{padding-top:120px}.heroText>p{line-height:1.6}.cards article div{padding:20px}.cards span{font-size:14px}.contact>div:last-child{font-size:17px}}

.reviewSummary{display:flex;align-items:center;gap:18px}.reviewSummary strong{font:70px Georgia,serif}.reviewSummary span{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.reviewSummary small{display:block;margin-top:6px;color:#5f554c;font-size:10px;letter-spacing:.13em}.reviewCarousel{background:var(--beige);padding:55px 60px;color:#251f1a;min-height:430px;display:flex;flex-direction:column;justify-content:center}.reviewSource{display:flex;align-items:center;justify-content:space-between;gap:20px}.reviewSource span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.reviewSource b{color:#68472f;letter-spacing:.08em}.reviewCarousel blockquote{margin:24px 0;font:clamp(25px,3vw,40px)/1.4 Georgia,serif}.reviewCarousel>p{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.reviewControls{display:flex;align-items:center;gap:18px;margin-top:28px}.reviewControls button{width:42px;height:42px;border:1px solid #5f5042;background:transparent;color:#251f1a;font-size:20px;cursor:pointer}.reviewControls button:hover,.reviewControls button:focus-visible{background:#251f1a;color:#fff}.reviewControls span{font-size:11px;font-weight:800;letter-spacing:.12em}.reviewLinks{display:flex;gap:22px;margin-top:24px;flex-wrap:wrap}.reviewLinks a{border-bottom:1px solid;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;padding-bottom:4px}@media(max-width:560px){.reviewCarousel{padding:36px 26px;min-height:430px}.reviewSummary strong{font-size:56px}.reviewSummary span{font-size:12px}.reviewCarousel blockquote{font-size:27px}}

.foodCarousel{position:relative;overflow:hidden;max-width:1180px;margin:auto}.foodTrack{--food-step:calc(33.333% + 4px);display:flex;gap:12px;transition:transform .55s ease}.foodTrack figure{position:relative;flex:0 0 calc(33.333% - 8px);margin:0;aspect-ratio:4/3;overflow:hidden;background:#d8c8b4}.foodTrack img{height:100%;object-fit:cover}.foodTrack figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;color:#fff;background:linear-gradient(transparent,#211d19d4);font:18px Georgia,serif;text-transform:uppercase}.foodControls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:22px}.foodControls button{width:42px;height:42px;border:1px solid #5f5042;background:transparent;font-size:20px;cursor:pointer}.foodControls button:hover,.foodControls button:focus-visible{background:var(--ink);color:#fff}.foodControls span{font-size:11px;font-weight:800;letter-spacing:.12em}

.menuPage{background:var(--cream)}.menuNav{height:105px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff}.menuNav img{width:230px;filter:invert(1)}.menuNav nav{display:flex;gap:28px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.14em}.menuHero{text-align:center;padding:105px 24px 75px;background:var(--beige)}.menuHero h1{font:clamp(58px,9vw,112px)/.9 Georgia,serif;text-transform:uppercase;margin:18px 0}.menuHero>p:not(.kicker){font:18px/1.7 Georgia,serif}.menuNotice{display:flex;gap:18px;align-items:center;max-width:780px;margin:38px auto 0;padding:17px 20px;border:1px solid #76634f66;background:#f7f2ea88;text-align:left}.menuNotice b{min-width:150px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.menuNotice span{font-size:12px;line-height:1.55}.menuJump{position:sticky;top:0;z-index:8;display:flex;justify-content:center;gap:30px;padding:18px;background:#fff;border-bottom:1px solid #cdbda9;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.menuContent{max-width:1180px;margin:auto;padding:100px 5vw}.menuLead{font:clamp(46px,7vw,80px)/1 Georgia,serif;text-transform:uppercase;margin:15px 0 65px}.drinksMenu{background:#fff;max-width:none;padding-left:max(5vw,calc((100vw - 1180px)/2 + 5vw));padding-right:max(5vw,calc((100vw - 1180px)/2 + 5vw))}.menuSection{padding:48px 0;border-top:1px solid #b9a58e}.menuSection>h2{font:32px Georgia,serif;text-transform:uppercase;margin:0 0 30px}.menuGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px}.menuGrid article{padding:15px 0;border-bottom:1px solid #d8cbbd}.menuGrid article>div{display:flex;justify-content:space-between;gap:22px}.menuGrid h3{font:17px Georgia,serif;margin:0}.menuGrid strong{white-space:nowrap;font-size:12px}.menuGrid p{margin:8px 0 0;color:#65594e;font-size:12px;line-height:1.5}.happyStrip{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center;background:var(--ink);color:#fff;padding:20px 24px;margin-bottom:55px}.happyStrip b{text-transform:uppercase;letter-spacing:.12em}.happyStrip span{color:#e7c9a5;font-weight:800}.happyStrip small{justify-self:end}.menuContact{text-align:center;padding:100px 25px;background:var(--beige)}.menuContact h2{font:48px Georgia,serif;text-transform:uppercase;margin:0 0 18px}.menuContact>p{margin-bottom:28px}.menuActions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.button.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}

@media(max-width:700px){.foodTrack figure{flex-basis:100%}.foodTrack{--food-step:100%;gap:0}.menuNav{height:85px;padding:0 18px}.menuNav img{width:175px}.menuNav nav a:not(:last-child){display:none}.menuHero{padding:75px 20px 55px}.menuNotice{display:block}.menuNotice b{display:block;margin-bottom:8px}.menuJump{gap:15px;overflow-x:auto;justify-content:flex-start}.menuJump a{white-space:nowrap}.menuContent{padding:75px 22px}.menuGrid{grid-template-columns:1fr}.happyStrip{grid-template-columns:1fr}.happyStrip small{justify-self:start}.menuActions{flex-direction:column;align-items:center}}

.enquirySection{padding:105px 8vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;background:#fff}.enquirySection h2{font:clamp(38px,5vw,66px)/1 Georgia,serif;text-transform:uppercase;margin:18px 0 24px}.enquirySection>div>p:last-child{line-height:1.7;color:#5a5047}.enquiryForm{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiryForm .field{display:flex;flex-direction:column;gap:8px}.enquiryForm .full{grid-column:1/-1}.enquiryForm label{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800}.enquiryForm input,.enquiryForm textarea{width:100%;border:1px solid #a9947d;background:var(--cream);color:var(--ink);padding:14px;font:15px Arial;border-radius:0}.enquiryForm textarea{resize:vertical}.enquiryForm input:focus,.enquiryForm textarea:focus{outline:2px solid var(--brown);outline-offset:2px}.enquiryForm button{border:0;cursor:pointer;justify-self:start}.enquiryForm>p{align-self:center;margin:0;color:#6a5d51;font-size:10px;line-height:1.5}
@media(max-width:800px){.enquirySection{grid-template-columns:1fr;padding:75px 22px;gap:40px}.enquiryForm{grid-template-columns:1fr}.enquiryForm .full{grid-column:auto}}

.heroCarousel{background:#19140f;overflow:hidden}.heroSlides{position:absolute;inset:0}.heroSlides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity 1.1s ease,transform 6s ease}.heroSlides img.active{opacity:1;transform:scale(1)}.heroControls{position:absolute;z-index:3;right:4vw;bottom:82px;display:flex;align-items:center;gap:12px}.heroControls button{width:38px;height:38px;border:1px solid #ffffffaa;background:#211d1966;color:#fff;font-size:18px;cursor:pointer}.heroControls button:hover,.heroControls button:focus-visible{background:#fff;color:var(--ink)}.heroControls span{font-size:10px;font-weight:800;letter-spacing:.12em;text-shadow:0 1px 4px #000}
@media(max-width:560px){.heroControls{right:18px;bottom:70px}.heroControls button{width:34px;height:34px}}

.fijiInfo{min-height:38px;padding:9px 4vw;background:#102c2b;color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:30}.fijiInfo span+span{border-left:1px solid rgba(255,255,255,.32);padding-left:18px}.fijiInfo b{color:#dfc38e;letter-spacing:.18em}.fijiWeather{white-space:nowrap}@media(max-width:700px){.fijiInfo{gap:8px;flex-wrap:wrap;padding:8px 14px;font-size:10px}.fijiInfo span+span{padding-left:8px}.fijiInfo .fijiClock{border-left:0;padding-left:0}.fijiWeather{width:100%;text-align:center;border-left:0!important;padding-left:0!important}}
