:root{--cream:#e8e1c7;--paper:#f4f1e8;--ink:#1f1c2d;--muted:#756e60;--line:rgba(31,28,45,.16);--font:'IBM Plex Sans Arabic',Tahoma,sans-serif;--latin:Manrope,Arial,sans-serif;--pad:clamp(24px,5.5vw,100px);--ease:cubic-bezier(.22,1,.36,1);--radius:32px;--gutter:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}
body.has-dialog{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:5px}
::selection{background:#c7b98f;color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:fixed;top:12px;right:22px;padding:12px 20px;border-radius:99px;background:var(--paper);z-index:200;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.arrival{height:760svh;position:relative;padding:var(--gutter) var(--gutter) 0}
.arrival-stage{position:sticky;top:var(--gutter);height:calc(100svh - 2*var(--gutter));min-height:560px;overflow:hidden;border-radius:var(--radius);color:var(--paper);background:#22251f;isolation:isolate}
.sequence-poster,#sequence{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:43% 45%}
.sequence-poster{opacity:1}
.sequence-ready .sequence-poster{opacity:0}
#sequence{opacity:0;transition:opacity .45s}
.sequence-ready #sequence{opacity:1}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,21,15,.06),rgba(16,21,15,.08) 35%,rgba(16,21,15,.42)),linear-gradient(0deg,rgba(16,21,15,.55),transparent 70%,rgba(16,21,15,.12));pointer-events:none}
.scene-warmth{display:none}
.arrival-intro{position:absolute;right:calc(var(--pad) - var(--gutter));bottom:22%;width:58%;max-width:900px;will-change:transform,opacity}
.arrival-intro h1{font-size:clamp(70px,7.4vw,116px);font-weight:300;line-height:1.35;letter-spacing:-.05em;margin:0 0 25px}
.arrival-intro .headline-last{color:var(--cream)}
.arrival-intro p{font-size:clamp(17px,1.4vw,22px);line-height:2;font-weight:300;margin:0;max-width:540px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:46px;border-radius:99px;font-size:13px;line-height:1.8;padding:9px 18px;transition:background .4s,transform .4s}
.text-link span,.dark-button span{font:21px Arial;transition:transform .4s var(--ease)}
.text-link:hover span,.dark-button:hover span{transform:translate(-3px,-3px)}
.story-layer{position:absolute;top:50%;transform:translateY(-35%);width:43%;max-width:650px;opacity:0;pointer-events:none;will-change:transform,opacity}
.story-layer--right{right:calc(var(--pad) - var(--gutter))}
.story-layer--left{left:calc(var(--pad) - var(--gutter));width:42%;max-width:620px}
.story-layer h2{font-size:clamp(46px,4.9vw,80px);line-height:1.45;font-weight:300;letter-spacing:-.04em;margin:0 0 24px}
.story-layer p{font-size:clamp(17px,1.3vw,21px);font-weight:300;line-height:2;margin:0 0 24px}
.story-layer.is-visible{pointer-events:auto}
.section-pad{padding:85px var(--pad) 100px}
.section-topline{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:20px}
.section-topline [dir=ltr]{font:9px var(--latin);letter-spacing:.12em}
.experience-layout{display:grid;grid-template-columns:1.07fr 1fr;gap:10%;align-items:center;margin-top:60px}
.experience-copy h2,.table-heading h2,.visit-title h2{font-size:clamp(36px,4.3vw,66px);line-height:1.5;font-weight:400;letter-spacing:-.04em;margin:0 0 30px}
.experience-copy h2 span,.visit-title h2 span{color:#8a806c}
.experience-copy p{font-size:16px;line-height:2.1;max-width:430px;color:#6c665b;margin:0 0 28px}
.text-link{border:1px solid var(--line);font-size:12px;padding:10px 20px;gap:35px}
.text-link:hover{background:rgba(31,28,45,.05)}
.interior-figure{margin:0;position:relative}
.interior-figure>img{width:100%;height:570px;object-fit:cover;object-position:center 40%;border-radius:160px 160px 32px 32px}
.interior-figure figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:18px;color:var(--muted);font-size:10px;padding:0 8px}
.interior-figure figcaption [dir=ltr]{font:9px var(--latin);letter-spacing:.06em}
.place-details{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;gap:18px}
.place-details>div{display:flex;flex-direction:column;gap:8px;background:#eae6da;border-radius:26px;padding:28px 30px}
.place-details b{font-size:16px;font-weight:500}
.place-details span{font-size:12px;color:var(--muted)}
.table-section{background:var(--cream);margin:0 var(--gutter);border-radius:52px;padding-left:calc(var(--pad) - var(--gutter));padding-right:calc(var(--pad) - var(--gutter))}
.table-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:50px 0 55px}
.table-heading h2{margin:0;font-size:clamp(37px,4vw,63px)}
.table-heading>div{max-width:400px;padding-bottom:6px}
.table-heading p{font-size:16px;line-height:2;color:#6c665b;margin:0 0 22px}
.dish-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;align-items:start;gap:28px}
.dish{text-align:right;padding:0;width:100%;border-radius:30px}
.dish:nth-child(2){margin-top:85px}
.dish:nth-child(3){margin-top:35px}
.dish-photo{overflow:hidden;position:relative;border-radius:34px;background:#d8d0b9}
.dish-photo>img{width:100%;aspect-ratio:.77;object-fit:cover;transition:transform 1.1s var(--ease)}
.dish--large .dish-photo{border-radius:150px 150px 34px 34px}
.dish--large .dish-photo>img{aspect-ratio:.78}
.dish:hover .dish-photo>img{transform:scale(1.035)}
.dish-arrow{position:absolute;bottom:18px;left:18px;width:42px;height:42px;background:var(--paper);display:grid;place-items:center;border-radius:50%;font:22px Arial;transition:transform .6s var(--ease)}
.dish:hover .dish-arrow{transform:rotate(-10deg)}
.dish-caption{padding:20px 8px 0}
.dish-caption h3{font-size:24px;font-weight:400;margin:0 0 6px;letter-spacing:-.02em}
.dish-caption>span{font-size:12px;color:var(--muted)}
.menu-invitation{border-top:1px solid var(--line);padding-top:32px;margin-top:60px;display:flex;justify-content:space-between;align-items:center}
.menu-invitation>span{font-size:21px}
.dark-button{display:inline-flex;justify-content:space-between;align-items:center;gap:50px;border-radius:99px;background:var(--ink);color:var(--paper);padding:15px 25px;font-size:13px;line-height:1.8;min-height:54px;transition:background .35s,transform .5s var(--ease)}
.dark-button:hover{background:#403a46;transform:translateY(-2px)}
.breakfast-section{display:grid;grid-template-columns:1fr 1fr;margin:var(--gutter);border-radius:52px;overflow:hidden;background:#272b23;color:var(--paper)}
.breakfast-image{min-height:620px;overflow:hidden;padding:20px}
.breakfast-image>img{width:100%;height:100%;max-height:720px;object-fit:cover;object-position:center;border-radius:36px}
.breakfast-copy{padding:80px 11%;align-self:center}
.small-label{font-size:12px;opacity:.65;display:block}
.breakfast-copy h2{font-size:clamp(32px,3.4vw,51px);line-height:1.5;font-weight:300;letter-spacing:-.035em;margin:24px 0}
.breakfast-copy p{font-size:16px;line-height:2;font-weight:300;color:#cdcec1;max-width:350px;margin:0 0 35px}
.breakfast-price{display:flex;align-items:center;gap:22px;margin-bottom:26px}
.breakfast-price strong{font:400 34px var(--latin)}
.breakfast-price>span{font-size:12px;color:#cdcec1;max-width:80px;line-height:1.8}
.breakfast-copy .text-link{border-color:#66695e}
.breakfast-copy .text-link:hover{background:rgba(255,255,255,.06)}
.visit-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;margin-top:60px}
.visit-title h2{font-size:clamp(40px,4.8vw,76px);margin-bottom:38px}
.visit-info{display:grid;grid-template-columns:1fr;gap:18px}
.visit-info-row{background:#eae6da;border-radius:28px;padding:28px 30px;display:flex;flex-direction:column;align-items:start;gap:8px}
.visit-info-row>span{font-size:11px;color:var(--muted);margin-bottom:8px}
.visit-info-row p{font-size:16px;line-height:2;margin:0 0 8px}
.visit-info-row .phone{font:400 22px/1.7 var(--latin);border-radius:99px}
.visit-info-row .text-link{font-size:11px;margin-top:8px;padding:8px 16px}
.site-footer{background:var(--cream);margin:0 var(--gutter) var(--gutter);border-radius:52px;padding:55px calc(var(--pad) - var(--gutter)) 28px}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:60px;padding-bottom:45px}
.footer-brand{width:fit-content;border-radius:30px}
.footer-brand img{width:155px;height:145px;object-fit:contain}
.footer-top>p{font-size:28px;font-weight:300;line-height:1.7;margin:0;justify-self:center}
.social-links{justify-self:end;display:flex;flex-direction:column;gap:12px;direction:ltr;font:12px var(--latin);min-width:110px}
.social-links a{display:flex;justify-content:space-between;gap:35px;border-radius:99px;padding:7px 12px}
.social-links a:hover{background:rgba(31,28,45,.05)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;font-size:10px;color:#6e685e}
.footer-bottom a{font:10px var(--latin);border-radius:99px}
.footer-bottom button{font-size:10px;display:flex;gap:18px;border-radius:99px;padding:8px 0}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform 1.2s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
dialog{border:1px solid rgba(255,255,255,.6);background:var(--paper);color:var(--ink);padding:32px;border-radius:36px;max-height:90svh;max-width:calc(100vw - 32px);overscroll-behavior:contain;box-shadow:0 30px 100px rgba(0,0,0,.2)}
dialog::backdrop{background:rgba(16,18,12,.72);backdrop-filter:blur(7px)}
dialog[open]{animation:dialog-in .5s var(--ease)}
.menu-dialog{width:1060px}
.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:20px}
.dialog-header h2{font-size:33px;font-weight:400;letter-spacing:-.03em;line-height:1.5;margin:5px 0 0}
.close-dialog{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font:300 29px Arial;display:grid;place-items:center;flex-shrink:0}
.close-dialog:hover{background:var(--cream)}
.menu-controls{display:grid;grid-template-columns:1fr .7fr;gap:15px;margin:10px 0 16px}
.search-field,.category-field{position:relative;display:flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:#eae6da;height:53px}
.search-field>span{font:28px Arial;position:absolute;right:18px}
.search-field input{width:100%;padding:13px 48px 13px 14px;background:transparent;border:0;border-radius:99px;color:var(--ink);font-size:14px;outline-offset:1px}
.category-field select{width:100%;height:100%;appearance:none;background:transparent;border:0;border-radius:99px;padding:10px 18px 10px 35px;font-size:14px;color:var(--ink)}
.category-field>span:last-child{position:absolute;left:18px;pointer-events:none}
.menu-meta{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding-bottom:20px}
.menu-meta a{border-radius:99px;text-decoration:underline;text-underline-offset:4px}
.menu-results{min-height:180px;max-height:52svh;overflow:auto;scrollbar-width:thin;scrollbar-color:#b8ae97 transparent;padding-left:10px;border-radius:20px}
.menu-group{margin-bottom:26px}
.menu-group h3{font-size:19px;margin:0 0 14px;font-weight:500;padding:9px 17px;background:var(--cream);border-radius:99px;width:fit-content}
.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.menu-item{padding:18px 20px;background:#ebe7dc;border-radius:22px}
.menu-item-top{display:flex;justify-content:space-between;gap:22px;align-items:baseline}
.menu-item h4{font-size:16px;margin:0;font-weight:400}
.menu-item-price{font:500 13px var(--latin);white-space:nowrap}
.menu-item-price.is-inquiry{font-family:var(--font);font-size:12px}
.menu-item p{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 0;max-width:95%}
.menu-footnote{font-size:10px;color:var(--muted);margin:20px 0 0;line-height:1.9}
.menu-empty{padding:45px 10px;text-align:center;color:var(--muted);font-size:16px}
.booking-dialog{width:560px}
.booking-intro{font-size:14px;color:var(--muted);line-height:2;margin:8px 0 22px}
.booking-dialog form{display:grid;gap:16px}
.booking-dialog label{display:flex;flex-direction:column;gap:8px;font-size:12px}
.booking-dialog input,.booking-dialog select,.booking-dialog textarea{border:1px solid var(--line);background:#eae6da;padding:12px 16px;color:var(--ink);border-radius:16px;width:100%;font-size:14px;min-height:48px}
.booking-dialog input[type=date],.booking-dialog input[type=time]{direction:ltr;text-align:right}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.booking-dialog textarea{resize:vertical}
.optional{opacity:.6;font-size:11px;display:inline;margin-top:-25px;align-self:end}
.booking-submit{width:100%;margin-top:6px}
.booking-note{font-size:10px;color:var(--muted);line-height:1.8;margin:0}
.noscript-note{padding:20px;background:var(--cream);position:relative;z-index:50;border-radius:30px}
.menu-dialog[open]{display:flex;flex-direction:column;height:min(820px,90svh);overflow:hidden}
.menu-dialog .dialog-header,.menu-dialog .menu-controls,.menu-dialog .menu-meta,.menu-dialog .menu-footnote{flex-shrink:0}
.menu-dialog .menu-results{flex:1;min-height:0;max-height:none}
@keyframes dialog-in{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:1700px){.experience-layout,.dish-grid{max-width:1500px;margin-left:auto;margin-right:auto}
.arrival-intro{bottom:24%}
}
@media(max-width:1100px){.experience-layout{gap:6%}
.interior-figure>img{height:510px}
.dish-grid{gap:20px}
.dish-caption h3{font-size:21px}
.breakfast-copy{padding:60px 9%}
.breakfast-image{min-height:550px}
}
@media(max-width:800px){:root{--pad:32px;--radius:28px;--gutter:10px}
.arrival{height:690svh}
.arrival-intro{right:30px;width:calc(100% - 60px);bottom:22%}
.arrival-intro h1{font-size:clamp(60px,10vw,87px);margin-bottom:20px}
.arrival-intro p{font-size:18px}
.story-layer,.story-layer--left{right:30px;left:auto;width:calc(100% - 60px);max-width:580px;top:49%}
.story-layer h2{font-size:clamp(46px,8vw,64px)}
.story-layer p{font-size:17px}
.section-pad{padding-top:65px;padding-bottom:75px}
.experience-layout{grid-template-columns:1fr;gap:40px;margin-top:42px}
.experience-copy h2{font-size:42px}
.experience-copy p{max-width:540px;font-size:16px}
.interior-figure>img{height:550px;border-radius:170px 170px 30px 30px}
.place-details{margin-top:40px;gap:12px}
.place-details>div{padding:22px 20px;border-radius:24px}
.place-details b{font-size:14px}
.place-details span{font-size:11px}
.table-heading{gap:25px;align-items:start;flex-direction:column;margin:40px 0}
.table-heading h2{font-size:43px}
.table-heading p{font-size:15px}
.dish-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
.dish--large{grid-column:1/-1}
.dish--large .dish-photo>img{aspect-ratio:1.1;object-position:center 50%}
.dish--large .dish-photo{border-radius:90px 90px 30px 30px}
.dish:nth-child(2),.dish:nth-child(3){margin-top:0}
.dish-caption h3{font-size:21px}
.menu-invitation{margin-top:42px;gap:20px}
.menu-invitation>span{font-size:17px}
.dark-button{gap:30px}
.breakfast-image{min-height:510px;padding:14px}
.breakfast-copy{padding:50px 9%}
.breakfast-copy h2{font-size:33px}
.breakfast-copy p{font-size:14px}
.breakfast-price{gap:15px}
.breakfast-price strong{font-size:28px}
.visit-layout{grid-template-columns:1fr;gap:42px;margin-top:42px}
.visit-title h2{font-size:49px}
.visit-info{grid-template-columns:1fr 1fr;gap:18px}
.visit-info-row{padding:24px}
.visit-info-row p{font-size:14px}
.visit-info-row .phone{font-size:19px}
.footer-top{gap:28px}
.footer-top>p{font-size:24px}
.footer-brand img{width:130px;height:125px}
.footer-bottom{flex-wrap:wrap}
.footer-bottom a{order:3;width:100%;padding-top:8px}
}
@media(max-width:540px){:root{--pad:28px;--radius:25px;--gutter:8px}
.arrival{height:650svh}
.arrival-stage{min-height:550px}
.arrival-intro{bottom:24%;right:24px;width:calc(100% - 48px)}
.arrival-intro h1{font-size:62px;line-height:1.45;max-width:320px}
.arrival-intro h1>span{display:block}
.arrival-intro p{font-size:16px;line-height:2}
.story-layer,.story-layer--left{right:24px;width:calc(100% - 48px);top:47%}
.story-layer h2{font-size:clamp(35px,10vw,48px);margin-bottom:20px}
.story-layer p{font-size:15px}
.scene-shade{background:linear-gradient(0deg,rgba(16,21,15,.65),rgba(16,21,15,.22) 60%,rgba(16,21,15,.12)),linear-gradient(270deg,rgba(16,21,15,.16),transparent)}
.section-topline{font-size:10px}
.section-topline [dir=ltr]{font-size:8px;letter-spacing:.06em}
.experience-copy h2{font-size:33px}
.experience-copy p{font-size:15px}
.interior-figure>img{height:430px;border-radius:140px 140px 26px 26px}
.interior-figure figcaption{font-size:9px}
.interior-figure figcaption [dir=ltr]{font-size:7px}
.place-details{grid-template-columns:1fr;gap:10px;margin-top:30px}
.place-details>div{padding:20px 22px;flex-direction:row;justify-content:space-between;align-items:center;border-radius:22px}
.place-details span{font-size:11px}
.table-section,.breakfast-section,.site-footer{border-radius:32px}
.table-heading h2{font-size:35px}
.table-heading p{font-size:14px}
.dish-grid{gap:24px 14px}
.dish--large .dish-photo>img{aspect-ratio:.93}
.dish--large .dish-photo{border-radius:90px 90px 25px 25px}
.dish-photo{border-radius:23px}
.dish-caption{padding:14px 3px 0}
.dish-caption h3{font-size:17px;line-height:1.7;margin-bottom:3px}
.dish-caption>span{font-size:10px}
.dish-arrow{width:32px;height:32px;bottom:12px;left:12px;font-size:19px}
.menu-invitation{align-items:start;flex-direction:column;gap:20px;padding-top:24px}
.menu-invitation .dark-button{width:100%}
.breakfast-section{grid-template-columns:1fr}
.breakfast-image{min-height:0;height:430px;order:2;padding:0 14px 14px}
.breakfast-image img{border-radius:24px}
.breakfast-copy{padding:50px 24px;order:1}
.breakfast-copy h2{font-size:34px;margin-top:22px}
.breakfast-copy p{max-width:310px;font-size:15px}
.breakfast-price strong{font-size:32px}
.breakfast-price>span{max-width:none}
.visit-title h2{font-size:39px;line-height:1.6}
.visit-title .dark-button{width:100%}
.visit-info{grid-template-columns:1fr;gap:14px}
.visit-info-row{padding:25px;border-radius:25px}
.visit-info-row p{font-size:15px}
.visit-info-row .phone{font-size:23px}
.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:30px}
.footer-brand img{width:125px;height:125px}
.footer-top>p{font-size:22px;justify-self:end}
.social-links{grid-column:1/-1;flex-direction:row;justify-content:space-between;width:100%;gap:10px;font-size:10px}
.social-links a{gap:10px;padding:8px 5px}
.footer-bottom{font-size:9px}
.footer-bottom button{font-size:9px;gap:10px}
.site-footer{padding-top:38px}
.menu-dialog,.booking-dialog{padding:23px 18px;max-width:calc(100vw - 20px);max-height:92svh;border-radius:28px}
.dialog-header h2{font-size:28px}
.close-dialog{width:36px;height:36px;font-size:26px}
.menu-controls{grid-template-columns:1fr;gap:10px;margin-top:4px}
.menu-items{grid-template-columns:1fr;gap:10px}
.menu-item{border-radius:20px;padding:16px 18px}
.menu-item h4{font-size:15px}
.menu-item-price{font-size:12px}
.menu-meta{font-size:9px;gap:12px}
.menu-footnote{font-size:9px}
.form-row{gap:12px}
.booking-intro{font-size:13px}
.booking-dialog form{gap:14px}
.booking-dialog input,.booking-dialog select,.booking-dialog textarea{font-size:16px}
.booking-submit{font-size:11px;gap:15px}
.booking-note{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.arrival{height:100svh}
.story-layer{display:none}
.reveal{opacity:1;transform:none}
.arrival-intro{opacity:1!important;transform:none!important}
}


/* The opening scene extends to every edge of the viewport. */
.arrival{padding:0}.arrival .arrival-stage{top:0;height:100svh;min-height:0;border-radius:0}.arrival-intro,.story-layer--right{right:var(--pad)}.story-layer--left{left:var(--pad)}
@media(max-width:800px){.arrival-intro,.story-layer,.story-layer--left{right:var(--pad);left:auto;width:calc(100% - 2*var(--pad))}}

html{scroll-padding-top:32px;scrollbar-width:none}html::-webkit-scrollbar{display:none}

/* Display the original video using the native decoder at its source resolution. */
video#sequence{pointer-events:none;object-position:50% 50%}
