/* Alquimia, V1: logo, fixed scene and navigation. */
@font-face{font-family:Alquimia Display;src:url('assets/fonts/bodoni-moda.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Alquimia Text;src:url('assets/fonts/cormorant-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Alquimia UI;src:url('assets/fonts/source-sans-3.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
.table-option .option-name,.table-option .option-number{display:inline;font:inherit;color:inherit;margin:0}
.table-option .option-name:after{content:' '}
body:is([data-section=reservations],[data-section=place]){--wall:#151c2b;--shadow:#151c2b;--ivory:#f4e4c8;--teal:#3a6869;--teal-light:#5a8a8b;--muted:#c5c6c1;--amber:#5a8a8b;--line:#3a686980;--display:'Alquimia Display',Georgia,serif;--serif:'Alquimia Text',Georgia,serif;--ui:'Alquimia UI','Segoe UI',sans-serif;font-family:var(--ui);background:var(--shadow);color:var(--ivory)}
body:is([data-section=reservations],[data-section=place]) .scene-heading{display:none}
body:is([data-section=reservations],[data-section=place]) .scene-shade{background:linear-gradient(180deg,#151c2b10,transparent 45%,#151c2b88)}
body:is([data-section=reservations],[data-section=place]) .table-target{color:var(--ivory);min-height:44px}
body:is([data-section=reservations],[data-section=place]) .table-target .marker{font:400 24px var(--display);width:46px;height:46px;border:1px solid var(--ivory);color:var(--ivory);background:#151c2bcc;box-shadow:0 3px 12px #0005}
body:is([data-section=reservations],[data-section=place]) .table-target:hover .marker,body:is([data-section=reservations],[data-section=place]) .table-target[aria-pressed=true] .marker{background:var(--teal);transform:none;border-color:var(--ivory)}
body:is([data-section=reservations],[data-section=place]) .table-target:hover:before,body:is([data-section=reservations],[data-section=place]) .table-target:focus-visible:before,body:is([data-section=reservations],[data-section=place]) .table-target[aria-pressed=true]:before{border-color:var(--teal-light);background:#3a68691a;box-shadow:none}
body:is([data-section=reservations],[data-section=place]) .table-target .target-label{font-family:var(--ui);font-size:12px;background:var(--shadow)}
body:is([data-section=reservations],[data-section=place]) .booking-dialog{width:430px;inset:24px 24px 24px auto;padding:30px 32px;background:var(--shadow);border:1px solid var(--teal-light);border-radius:0;max-height:calc(100svh - 48px);box-shadow:0 30px 100px #0009;font-family:var(--ui)}
body:is([data-section=reservations],[data-section=place]) .booking-dialog::backdrop{background:#0b101cc2;backdrop-filter:blur(5px)}
body:is([data-section=reservations],[data-section=place]) .booking-header .eyebrow{font-family:var(--serif);font-size:12px;letter-spacing:.18em;color:var(--ivory)}
body:is([data-section=reservations],[data-section=place]) .icon-button{border-color:var(--teal);border-radius:0}
body:is([data-section=reservations],[data-section=place]) .table-number{font:400 110px/1 var(--display);letter-spacing:-.05em;color:var(--ivory);margin:15px 0 6px}
body:is([data-section=reservations],[data-section=place]) .booking-dialog h2{font:600 32px/1.1 var(--serif);text-transform:uppercase;letter-spacing:.05em}
body:is([data-section=reservations],[data-section=place]) .booking-rule{background:var(--teal);height:2px;clip-path:polygon(0 50%,50% 0,100% 50%,50% 100%);margin:22px 0}
body:is([data-section=reservations],[data-section=place]) .booking-dialog form label{font-size:13px}
body:is([data-section=reservations],[data-section=place]) .booking-dialog input{background:#0f1620;border:1px solid #5a8a8b99;color:var(--ivory);border-radius:0;min-height:48px;font-size:16px}
body:is([data-section=reservations],[data-section=place]) .submit-button{background:var(--teal);color:var(--ivory);border:1px solid var(--teal-light);font:600 14px var(--serif);letter-spacing:.035em;border-radius:0;min-height:52px}
body:is([data-section=reservations],[data-section=place]) .submit-button:hover{background:#335d5f}
body:is([data-section=reservations],[data-section=place]) .text-button{font-size:13px}
body:is([data-section=reservations],[data-section=place]) .booking-summary{border-color:var(--teal-light);border-radius:0;font-size:13px}
body:is([data-section=reservations],[data-section=place]) .booking-summary strong{color:var(--ivory)}
body:is([data-section=reservations],[data-section=place]) :focus-visible{outline:2px solid var(--ivory);outline-offset:5px}
body:is([data-section=reservations],[data-section=place]){min-height:100svh}
.scene-layer{will-change:auto;transform:none}
.table-target:before,.table-target .marker{transition:none}
.table-target:hover .marker,.table-target[aria-pressed=true] .marker{transform:none}
body:is([data-section=reservations],[data-section=place]) #room-section{max-width:1740px;margin:0 auto;padding:12px 4vw 0}
body:is([data-section=reservations],[data-section=place]) .scene{height:clamp(420px,calc(100svh - 280px),760px);min-height:0;max-height:none;width:100%;border:1px solid var(--line)}
body:is([data-section=reservations],[data-section=place]) .load-status{left:14px;bottom:14px}
body:is([data-section=reservations],[data-section=place]) .reservation-strip{padding:16px 0;background:transparent;border:0;min-height:0}
body:is([data-section=reservations],[data-section=place]) .table-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body:is([data-section=reservations],[data-section=place]) .table-option{max-width:none;min-height:60px;white-space:normal}
body:is([data-section=reservations],[data-section=place]) .booking-disclaimer{font-size:12px;color:var(--muted)}
body:is([data-section=reservations],[data-section=place]) .submit-button{margin-top:20px}


@media(max-width:760px){
body:is([data-section=reservations],[data-section=place]) #room-section{padding:20px 20px 0}
body:is([data-section=reservations],[data-section=place]) .scene{height:auto!important;min-height:0;max-height:none;aspect-ratio:1/1.05}
body:is([data-section=reservations],[data-section=place]) .table-target .marker{width:44px;height:44px;font-size:24px}
body:is([data-section=reservations],[data-section=place]) .booking-dialog{inset:auto 0 0;width:100%;max-width:100%;max-height:88svh;border-bottom:0;padding:20px 24px calc(22px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0}
body:is([data-section=reservations],[data-section=place]) .table-number{font-size:70px;margin:8px 18px 14px 0;float:left;min-width:70px}
body:is([data-section=reservations],[data-section=place]) .booking-dialog h2{margin-top:13px;font-size:27px}
body:is([data-section=reservations],[data-section=place]) .table-description{font-size:12px}
}
@media(max-width:380px){body:is([data-section=reservations],[data-section=place]) #room-section{padding-left:12px;padding-right:12px}}
body[data-section=reservations] .table-target{min-width:44px}
body[data-section=reservations] .table-target .marker{width:36px;height:36px;font-size:18px}
@media(max-width:850px){body[data-section=reservations] .table-target[data-table=demo-m02] .marker{position:relative;left:20px}body[data-section=reservations] .table-target[data-table=demo-m03] .marker{position:relative;left:-20px}}
@media(max-width:650px){body[data-section=reservations] .scene .table-target .marker{width:32px;height:32px;font-size:17px}body[data-section=reservations] .table-target[data-table=demo-m02] .marker{left:26px}body[data-section=reservations] .table-target[data-table=demo-m03] .marker{left:-26px}body[data-section=reservations] .table-target[data-table=demo-m05] .marker{position:relative;left:-9px}body[data-section=reservations] .table-target[data-table=demo-m06] .marker{position:relative;left:9px}}
.place-hero{margin-top:22px}
.place-hero-tabs{grid-template-columns:1fr 1fr;width:min(calc(100% - 48px),620px);margin-bottom:2px}
.place-hero-tabs .hero-tab{min-height:76px}
#place{display:block;scroll-margin-top:20px}
#room-section{max-width:none!important;width:100%;margin:0;padding:0!important}

/* Booking introduction: shared brand type, grouped facts, quiet navigation. */
.reservation-sign{width:min(calc(100% - 80px),1240px);margin:0 auto;padding:20px 0 28px;scroll-margin-top:0}
.reservation-sign-links{display:flex;align-items:center;gap:24px;padding-bottom:12px;border-bottom:1px solid #b7966f55}
.reservation-sign-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--ivory);font:600 19px/1.2 var(--serif);text-decoration:none;text-underline-offset:6px}
.reservation-sign-links a:hover,.reservation-sign-links a:focus-visible{text-decoration:underline;text-decoration-color:#b7966f}
.reservation-sign .reservation-sign-language{position:static;inset:auto;transform:none;margin:0 0 0 auto;display:flex;align-items:center;gap:0;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.reservation-sign .reservation-sign-language button{min-width:44px;min-height:44px;border:0;border-radius:0;background:transparent;color:#b8b4ac;font:600 16px var(--serif)}
.reservation-sign .reservation-sign-language button[aria-pressed=true]{color:var(--ivory);text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b7966f}
.reservation-sign .reservation-sign-language span{color:#b7966f66}
.reservation-sign-copy{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:0 64px;padding-top:28px;align-items:start}
.reservation-sign-copy h1{margin:0;font:400 clamp(32px,3.2vw,46px)/1.15 var(--display);letter-spacing:-.02em;color:var(--ivory)}
.reservation-policies{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding:0;list-style:none}
.reservation-policies li{margin:0;padding:0;color:#d4cfbf;font:400 15px/1.5 var(--ui)}
.reservation-policies li:nth-child(-n+2){padding-bottom:12px;margin-bottom:2px;border-bottom:1px solid #b7966f44;font:600 22px/1.25 var(--serif);color:var(--ivory)}
.reservation-policies li:nth-child(n+3){grid-column:1/-1}
.reservation-demo{grid-column:2;margin:18px 0 0;color:#aaa99f;font:400 12px/1.5 var(--ui)}
body[data-section=reservations] .scene{position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1672/941;margin-inline:0;border:0;background:#151c2b}
body[data-section=reservations] .scene-world{inset:0}
body[data-section=reservations] .scene-layer>img{object-fit:contain}
body[data-section=reservations] .reservation-strip{width:min(calc(100% - 64px),1400px);margin:0 auto;padding:24px 0 34px}
.embedded-menu{max-width:none;width:100%;margin:0;padding:24px 0 30px;border:0;scroll-margin-top:20px}
.embedded-menu>.filters,.embedded-menu>.flavor-filters{width:min(calc(100% - 64px),1400px);margin-inline:auto}
.embedded-menu>.menu-footnote{margin-bottom:48px}
@media(max-width:760px){
.place-hero{margin-top:16px}.place-hero-tabs{grid-template-columns:1fr 1fr;width:calc(100% - 20px)}.place-hero-tabs .hero-tab{min-height:70px}
.reservation-sign{width:calc(100% - 40px);padding:8px 0 24px}
.reservation-sign-links{gap:20px;padding-bottom:6px}
.reservation-sign-copy{grid-template-columns:1fr;gap:18px;padding-top:22px}
.reservation-sign-copy h1{font-size:34px}
.reservation-policies{gap:10px 16px}
.reservation-policies li{font-size:14px}
.reservation-policies li:nth-child(-n+2){font-size:19px}
.reservation-demo{grid-column:1;margin:0}
body[data-section=reservations] .scene{height:auto;aspect-ratio:1672/941}
body[data-section=reservations] .reservation-strip{width:calc(100% - 32px);padding:18px 0 26px}
.embedded-menu{padding-top:16px}.embedded-menu>.filters,.embedded-menu>.flavor-filters{width:calc(100% - 32px)}
}

/* A small suspended plaque while online booking is paused. */
.booking-pause{position:relative;width:min(100%,490px);margin:38px auto 4px;padding:26px 28px 22px;text-align:center;color:var(--ivory);border:1px solid #a48a646b;border-radius:2px;background:radial-gradient(circle at 18% 12px,#0b1516 0 3px,#ab9570 3px 4px,transparent 5px),radial-gradient(circle at 82% 12px,#0b1516 0 3px,#ab9570 3px 4px,transparent 5px),linear-gradient(125deg,#14262b,#101c21);box-shadow:0 10px 24px #0005,inset 0 0 0 5px #101c21,inset 0 0 0 6px #b7966f40;transform:rotate(-.6deg)}
.booking-pause::before,.booking-pause::after{content:"";position:absolute;top:-33px;width:2px;height:45px;background:linear-gradient(90deg,#7d705d,#c3b18e,#6b6254);box-shadow:1px 0 2px #0006;pointer-events:none}
.booking-pause::before{left:18%;transform:rotate(7deg);transform-origin:bottom}.booking-pause::after{right:18%;transform:rotate(-7deg);transform-origin:bottom}
.booking-pause h1{margin:0;font:600 clamp(19px,2vw,23px)/1.25 var(--serif);text-transform:uppercase;letter-spacing:.075em;color:var(--ivory)}
.booking-pause>p{max-width:39ch;margin:12px auto 15px;font:600 20px/1.35 var(--serif);color:var(--ivory)}
.booking-pause-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.booking-pause-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:112px;padding:8px 10px;border:0;border-bottom:1px solid #b7966f99;border-radius:0;text-decoration:none;color:var(--ivory);font:600 15px/1.2 var(--serif);letter-spacing:.065em;text-transform:uppercase;background:transparent}
.booking-pause-actions a:hover{background:#b7966f15;border-bottom-color:var(--ivory)}.booking-pause-actions a:focus-visible{outline:2px solid var(--ivory);outline-offset:4px}
@media(max-width:760px){.booking-pause{margin-top:36px;padding:25px 18px 18px}.booking-pause>p{font-size:19px}.booking-pause-actions{gap:10px}.booking-pause-actions a{min-width:108px;padding-inline:13px}}
