:root{--cream:#f6f3eb;--ink:#303e32;--muted:#677063;--line:#d8d9cd;--sage:#e9ebdf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,select{font:inherit}a,select,summary{outline-offset:5px}a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #a16435}header{height:104px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{font:46px/.9 Georgia,serif;letter-spacing:-3px}.brand span{font:8px/1.2 Arial,sans-serif;letter-spacing:2px;display:block;margin-top:12px}nav{display:flex;gap:28px;font-size:13px}nav a:hover,.text-link:hover{color:#a16435}.header-actions{display:flex;gap:20px;align-items:center}select{border:0;background:transparent;color:var(--ink);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 26px;background:var(--ink);color:var(--cream);font-size:13px;border:1px solid var(--ink);transition:background .2s}.btn:hover{background:#52604a}.btn.small{padding:12px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{padding:75px 9% 35px 10%}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;text-transform:uppercase;margin:0 0 24px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;margin:0}h1{font-size:clamp(54px,5.6vw,86px);letter-spacing:-3px;max-width:630px}h1 em{font-weight:400;color:#7b876b}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1.5px}h3{font-size:29px;letter-spacing:-.6px}.intro{max-width:380px;margin:26px 0 28px;color:var(--muted);font-size:15px}.actions{display:flex;gap:28px;align-items:center}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid;padding:4px 0}.hero-note{display:flex;align-items:center;gap:16px;margin-top:48px;font-size:11px;max-width:300px;color:var(--muted)}.sun{font-size:45px;font-weight:normal}.hero-photo{position:relative;overflow:hidden;min-height:620px}.hero-photo>img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:52% center}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0008)}.photo-label{position:absolute;bottom:30px;left:32px;right:32px;color:white;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px;z-index:1}.ribbon{padding:24px 5%;display:flex;justify-content:space-around;gap:20px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:2px}.ribbon i{font-style:normal;color:#899178}.section{padding:100px 8%;max-width:1600px;margin:auto}.section-head{display:grid;grid-template-columns:1.3fr 1fr;column-gap:12%;align-items:end}.section-head .eyebrow{grid-column:1/-1}.section-head>p:last-child{color:var(--muted);font-size:15px;max-width:400px;margin:0}.food-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:52px}.food-feature{margin:0}.food-feature img{width:100%;height:350px;object-fit:cover}.food-feature>div{padding-top:26px}.food-feature .eyebrow{margin-bottom:12px}.food-feature p,.food-list p,.menus p,.house-copy>p:not(.eyebrow),.visit>div>p:not(.eyebrow){font-size:15px;color:var(--muted)}.food-list article{display:flex;gap:26px;padding:28px 0;border-top:1px solid var(--line)}.food-list article>span{font-size:11px;padding-top:8px}.food-list article:first-child{padding-top:0;border-top:0}.food-list p{margin-bottom:0}.availability{border-top:1px solid var(--line);padding-top:22px;font-size:12px!important}.menus{max-width:none;background:var(--sage);display:grid;grid-template-columns:.85fr 1.6fr;gap:9%}.menus>div>p{max-width:330px}.menu-options{display:grid;grid-template-columns:1fr 1fr;gap:36px}.menu-options article{border-top:1px solid #9ca58c;padding-top:25px}.menu-options .eyebrow{font-size:10px;color:var(--ink);margin:0 0 35px}.menu-options h3{font-size:34px}.menu-options .text-link{margin-top:20px}.house{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.house-photo{position:relative}.house-photo img{width:100%;height:520px;object-fit:cover}.house-photo>span{position:absolute;left:20px;bottom:25px;background:var(--cream);padding:10px 20px;font-size:9px;letter-spacing:2px}.house-copy p{margin-top:25px}.house-copy .text-link{margin-top:10px}.invitation{padding:80px 25px;text-align:center;color:var(--cream);background:var(--ink)}.invitation h2{max-width:700px;margin:0 auto 35px;font-size:clamp(40px,4.8vw,66px)}.light{background:var(--cream);color:var(--ink)}.light:hover{background:var(--sage)}.visit{display:grid;grid-template-columns:1fr 1fr;gap:16%}.visit>div>p{max-width:350px}.visit .btn{margin-top:20px}.contact>div{border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:24px}.contact>div>span{font-size:10px;letter-spacing:1.8px;text-transform:uppercase}.contact p{font-size:14px;margin-bottom:0}.phone{display:block;font:36px Georgia,serif;margin-top:16px}summary{cursor:pointer;font-size:13px}details p{color:var(--muted)}footer{border-top:1px solid var(--line);padding:42px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>span{font-size:11px;color:var(--muted)}footer .brand{font-size:40px}.mobile-bar{display:none}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:14px}.hero-copy{padding:55px 8%}.hero{min-height:580px}.hero-photo{min-height:580px}h1{font-size:61px}.actions{gap:15px}.section{padding:75px 6%}.section-head{gap:35px}.menus{gap:5%}.house{gap:7%}.hero-note{margin-top:28px}}@media(max-width:720px){header{height:85px;padding:15px 6%}.brand{font-size:38px}.brand span{font-size:7px}nav{display:none}.header-actions{gap:10px}.btn.small{font-size:11px;padding:10px 12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 32px}h1{font-size:60px;max-width:430px}.intro{max-width:440px}.hero-note{margin-top:25px}.hero-photo{min-height:390px}.photo-label{left:22px;right:22px;font-size:8px}.ribbon{font-size:8px;gap:10px;letter-spacing:1px;flex-wrap:wrap;padding:19px 12px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:60px 7%}.section-head,.food-grid,.menus,.house,.visit{display:block}.section-head>p:last-child{margin-top:25px}.food-grid{margin-top:30px}.food-feature img{height:300px}.food-list{margin-top:35px}.menu-options{margin-top:35px;gap:25px}.menu-options h3{font-size:29px}.menu-options p{font-size:13px}.menu-options .eyebrow{font-size:8px}.house-photo img{height:400px}.house-copy{margin-top:38px}.invitation{padding:60px 7%}.contact{margin-top:45px}.phone{font-size:32px}footer{padding:35px 7% 100px;flex-wrap:wrap}footer p{max-width:150px}footer>span{width:100%}.mobile-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--ink);color:white;z-index:5;border-top:1px solid #63715d;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{width:50%;text-align:center;padding:15px;font-size:12px}.mobile-bar a+a{border-left:1px solid #63715d}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Photographic edition */
:root{--cream:#f7f3eb;--ink:#263d35;--sage:#e7eadf}header{position:absolute;inset:0 0 auto;z-index:3;color:#fff;border-bottom:1px solid #ffffff35;background:linear-gradient(#07191265,transparent)}header select{color:white}header select option{color:#263d35}header .btn{background:#eee9da;color:#263d35;border-color:#eee9da}header nav a:hover{color:#e1c99c}.hero{position:relative;display:flex;min-height:820px;height:92svh;max-height:1100px;max-width:none;background:#1d251e;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;min-height:0}.hero-photo>img{object-position:65% 55%;width:100%;height:100%}.hero-photo:after{inset:0;background:linear-gradient(90deg,rgba(10,19,14,.88) 0%,rgba(12,21,15,.69) 35%,rgba(8,15,12,.16) 75%),linear-gradient(0deg,#07150d45,transparent 50%)}.hero-copy{position:relative;z-index:1;padding:185px 7% 75px;width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-size:clamp(66px,6.8vw,104px);max-width:850px;letter-spacing:-3.5px;text-shadow:0 2px 30px #0002}.hero h1 em{color:#d4d9b5}.hero .eyebrow{color:#e5d9bf;letter-spacing:3px}.hero .intro{color:#eeeae1;max-width:390px;font-size:16px}.hero .btn{background:#e8dfc6;color:#263d35;border-color:#e8dfc6}.hero .btn:hover{background:white}.hero-note{color:#dedecb;margin-top:28px}.hero-photo .photo-label{bottom:30px;left:auto;right:6%;gap:45px}.ribbon{background:#263d35;color:#eeeadf;padding:26px 6%;border:0}.ribbon i{color:#cbbb8b}.food-feature img{height:420px}.food-feature{position:relative}.menus{background:#263d35;color:#f6f3eb;position:relative}.menus p,.menus .menu-options .eyebrow{color:#d9ddcd}.menu-options article{border-color:#81907b}.menu-options a:hover{color:#d7c799}.spaces{padding-bottom:40px}.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:380px 280px;gap:18px;margin-top:45px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#253d35;cursor:zoom-in;text-align:left;color:white}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.gallery-item span{position:absolute;bottom:24px;left:24px;font:27px Georgia,serif;z-index:1}.gallery-item b{position:absolute;right:24px;bottom:24px;font-weight:400;z-index:1}.g0,.g1{grid-column:span 3}.g2,.g3,.g4{grid-column:span 2}.g3 img{object-position:center 60%}.g4 img{object-position:center 55%}.photo-note{font-size:11px;color:var(--muted);margin-top:18px}.house-photo img{height:620px;object-position:50% 58%}.house{padding-top:70px}.invitation{position:relative;background:linear-gradient(#13251bbb,#13251bc9),url('assets/terrace-editorial.webp') center 55%/cover;padding:110px 25px}.invitation h2{max-width:850px}#photo-dialog{border:0;padding:0;background:#14221c;color:white;width:min(1100px,94vw);max-height:94svh;overflow:auto}#photo-dialog::backdrop{background:#06100ded}#photo-dialog>img{display:block;width:100%;height:78svh;object-fit:contain}#photo-dialog>div{display:flex;align-items:center;justify-content:space-between;padding:10px 25px}#photo-dialog button{cursor:pointer;border:1px solid #ffffff50;color:white;background:#203c31;font-size:23px;width:44px;height:44px}#photo-dialog .close-photo{position:absolute;right:15px;top:15px;border-radius:50%}#photo-caption{font-size:13px}.gallery-item:focus-visible{outline:3px solid #a16435;outline-offset:4px}@media(max-width:1000px){.hero{min-height:760px}.hero-copy{padding-top:155px}.hero h1{font-size:80px}.gallery{grid-template-rows:290px 230px}.gallery-item span{font-size:23px;left:18px}.house-photo img{height:520px}}@media(max-width:720px){header{height:86px}.hero{min-height:760px;height:94svh;max-height:950px}.hero-copy{padding:140px 7% 90px;justify-content:center}.hero h1{font-size:clamp(51px,10.5vw,75px);letter-spacing:-2px;max-width:100%}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero .intro{font-size:14px;max-width:320px}.hero-photo{min-height:0}.hero-photo>img{object-position:64% center}.hero-photo:after{background:linear-gradient(90deg,#0c170cda,#0d170b70),linear-gradient(0deg,#0c170b77,transparent)}.hero-note{max-width:270px;margin-top:28px}.hero-photo .photo-label{right:auto;left:7%;bottom:26px;gap:20px;font-size:8px}.ribbon{padding:22px 10px}.food-feature img{height:310px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 230px 200px;gap:10px;margin-top:30px}.g0{grid-column:1/-1}.g1,.g2,.g3,.g4{grid-column:span 1}.gallery-item span{font-size:21px;bottom:18px;left:13px;max-width:80%}.gallery-item b{right:12px;bottom:18px;font-size:14px}.house-photo img{height:470px}.house{padding-top:40px}.invitation{padding:75px 7%}#photo-dialog>img{height:65svh}#photo-dialog>div{padding:12px}#photo-caption{font-size:12px}}

/* Rice enquiries via WhatsApp */
.actions{flex-wrap:wrap;gap:16px 24px}.hero .rice-order,.rice-order{background:#e8dfc6;color:#263d35;border-color:#e8dfc6}.rice-order:hover{background:#fff;color:#263d35}.order-note{font-size:12px;margin:16px auto 0}.mobile-bar [data-rice-order]{background:#e8dfc6;color:#263d35;font-weight:600}@media(max-width:720px){.hero .actions .rice-order{flex-basis:100%;width:100%;padding:14px 18px}.hero .actions{max-width:360px}.hero-note{margin-top:20px}.mobile-bar a{padding:15px 8px}}

/* Softer Mediterranean shapes and gentle interaction */
.btn{border-radius:999px;min-height:46px;gap:18px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:active{transform:scale(.97)}
header select{border-radius:999px;padding:9px 10px;background:#ffffff14;border:1px solid #ffffff30}
.hero{border-radius:0 0 52px 52px;min-height:850px;height:auto}
.hero-copy{padding-bottom:105px}
.hero .actions>.btn:not(.rice-order){background:#ffffff12;color:white;border-color:#ffffff65;backdrop-filter:blur(8px)}
.hero-note{padding:9px 18px 9px 12px;border:1px solid #ffffff25;border-radius:24px;background:#ffffff08}
.hero-note p{margin:0}.hero-note .sun{font-size:35px}
.ribbon{width:88%;margin:22px auto 0;border-radius:999px;padding:22px 4%}
.food-feature img{display:block;border-radius:110px 30px 30px 30px;box-shadow:0 18px 40px #263d3512}
.food-list article{border:0!important;border-radius:25px;padding:24px!important;margin-bottom:12px;background:#e7eadf70;transition:transform .3s ease,background .3s ease}
.food-list article>span{display:flex;align-items:center;justify-content:center;min-width:33px;height:33px;border-radius:50%;background:#d5ddc9;padding:0}
.menus{margin:10px 3%;border-radius:48px;padding:70px 5%;gap:6%}
.menu-options{gap:20px}.menu-options article{border:1px solid #ffffff25;border-radius:28px;padding:28px;background:#ffffff07;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.menu-options .eyebrow{margin-bottom:24px}
.gallery{gap:22px}.gallery-item{border-radius:28px;box-shadow:0 8px 24px #263d3510;transition:transform .35s ease,box-shadow .35s ease}.gallery-item.g0{border-top-left-radius:90px}.gallery-item.g1{border-bottom-right-radius:90px}
.gallery-item b{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff70;border-radius:50%;background:#ffffff18;backdrop-filter:blur(5px)}
.gallery-item span{max-width:70%}
.house-photo img{display:block;border-radius:160px 160px 32px 32px;box-shadow:0 20px 45px #263d3515}.house-photo>span{border-radius:999px}
.invitation{margin:20px 3%;border-radius:48px 100px 48px 48px;overflow:hidden}
.contact{background:#eceee3;border-radius:32px;padding:32px}.contact>div:last-of-type{border-bottom:0}
#photo-dialog{border-radius:24px}#photo-dialog button{border-radius:50%}
.text-link{transition:color .2s ease,transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0002}
.food-list article:hover{transform:translateX(5px);background:#e7eadf}
.menu-options article:hover{transform:translateY(-6px);background:#ffffff10;box-shadow:0 16px 28px #0002}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 16px 30px #263d3525}
.text-link:hover{transform:translateX(3px)}
}
@media(prefers-reduced-motion:no-preference){
.hero-photo>img{animation:hero-settle 2.8s ease-out both}
.hero-copy>h1{animation:soft-arrival .9s .1s ease-out both}
.hero-copy>.intro{animation:soft-arrival .9s .22s ease-out both}
.hero-copy>.actions{animation:soft-arrival .9s .34s ease-out both}
@keyframes hero-settle{from{transform:scale(1.055)}to{transform:scale(1)}}
@keyframes soft-arrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:1000px){.menus{gap:4%;padding:60px 4%}.menu-options article{padding:22px}.menu-options h3{font-size:29px}}
@media(max-width:720px){
.hero{min-height:800px;height:auto;max-height:none;border-radius:0 0 32px 32px}.hero-copy{padding:145px 7% 95px}.hero-note{margin-top:25px}.hero-photo .photo-label{bottom:22px}
.ribbon{width:92%;border-radius:24px;padding:18px 12px;gap:8px;font-size:7px}
.food-feature img{border-radius:70px 24px 24px 24px}.food-list article{padding:22px 18px!important;gap:16px}
.menus{margin:0 4%;border-radius:32px;padding:42px 6%}.menu-options{grid-template-columns:1fr;gap:16px}.menu-options article{padding:24px}.menu-options .eyebrow{font-size:9px;margin-bottom:16px}.menu-options .text-link{margin-top:10px}
.gallery{gap:12px}.gallery-item{border-radius:22px}.gallery-item.g0{border-top-left-radius:60px}.gallery-item.g1{border-bottom-right-radius:50px}.gallery-item span{font-size:18px;max-width:65%}.gallery-item b{width:28px;height:28px;right:10px;bottom:14px}
.house-photo img{border-radius:120px 120px 26px 26px}.house-photo>span{font-size:8px;padding:10px 14px}
.invitation{margin:10px 4%;border-radius:32px 65px 32px 32px;padding:65px 7%}.invitation .btn{padding:15px 20px;font-size:12px}
.contact{padding:26px 22px}.phone{font-size:29px}
.mobile-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:6px;border:1px solid #ffffff30;border-radius:999px;gap:5px;box-shadow:0 8px 30px #0004}.mobile-bar a{border-radius:999px;min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 6px;font-size:11px}.mobile-bar a+a{border-left:0}
footer{padding-bottom:120px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.btn:active{transform:none}}


#booking-dialog{position:relative;border:0;border-radius:28px;padding:42px 36px 34px;width:min(520px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;background:var(--cream);color:var(--ink);box-shadow:0 24px 90px #07150b55}
#booking-dialog::backdrop{background:#07150bd9;backdrop-filter:blur(4px)}
#booking-dialog .close-booking{position:absolute;right:16px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:30px;line-height:1;cursor:pointer}
#booking-dialog .eyebrow{margin:0 0 15px}
#booking-dialog h2{font-size:clamp(34px,6vw,48px);margin:0 36px 12px 0}
#booking-dialog .booking-intro{color:var(--muted);margin:0 0 24px}
#booking-dialog .booking-options{display:grid;gap:12px}
#booking-dialog .booking-option{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border-radius:18px;background:var(--ink);color:var(--cream);transition:transform .2s,background .2s}
#booking-dialog .booking-option:hover{transform:translateY(-2px);background:#52604a}
#booking-dialog .booking-option.whatsapp{background:#27664c}
#booking-dialog .booking-option.whatsapp:hover{background:#1f7652}
#booking-dialog .booking-option strong{font:22px Georgia,'Times New Roman',serif}
#booking-dialog .booking-option small{font-size:12px;line-height:1.5;opacity:.9}
#booking-dialog a:focus-visible,#booking-dialog button:focus-visible{outline:2px solid #a16435;outline-offset:4px}
@media(max-width:520px){#booking-dialog{padding:38px 22px 24px;border-radius:22px}#booking-dialog .booking-option{padding:16px}#booking-dialog .booking-option strong{font-size:20px}}
